From c31b324bd31c23f8f43fe3feb1aac3c93e1f9197 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Mon, 23 Sep 2024 12:25:15 -0400 Subject: [PATCH] feat: add automated production release workflow --- .cz.toml | 2 +- .envrc | 7 + .github/workflows/buf-publish.yml | 2 +- .github/workflows/pr-merged.yml | 29 + .github/workflows/sync-branches.yml | 45 + .gitignore | 1 + CHANGELOG.md | 78 +- Dockerfile | 8 +- Makefile | 32 +- api/did/v1/accounts.pulsar.go | 70 - api/did/v1/enums.pulsar.go | 209 - api/did/v1/genesis.pulsar.go | 6267 +++++----- api/did/v1/models.pulsar.go | 10267 ---------------- api/did/v1/query.pulsar.go | 3567 ++---- api/did/v1/query_grpc.pb.go | 247 +- api/did/v1/state.cosmos_orm.go | 1021 +- api/did/v1/state.pulsar.go | 4522 ++----- api/did/v1/tx.pulsar.go | 9858 +++------------ api/did/v1/tx_grpc.pb.go | 111 - api/did/v1/types.pulsar.go | 9390 -------------- app/ante.go | 4 +- cmd/sonrd/main.go | 4 +- config/caddy/Caddyfile | 33 + config/caddy/caddy.json | 0 config/dwn/Config.pkl.go | 12 + config/dwn/Dwn.pkl.go | 36 + config/dwn/IPFS.pkl.go | 8 + config/dwn/Motr.pkl.go | 10 + config/dwn/Schema.pkl.go | 24 + config/dwn/Sonr.pkl.go | 14 + config/dwn/init.pkl.go | 13 + config/pkl/dwn.pkl | 97 + config/pkl/orm.pkl | 276 + config/pkl/txns.pkl | 174 + config/pkl/web.pkl | 72 + deploy/air.toml | 50 + deploy/docker-compose.yaml | 30 + deploy/process-compose.dev.yaml | 25 + deploy/process-compose.yaml | 17 + devbox.json | 49 +- go.mod | 13 +- go.sum | 22 +- internal/cli/dexmodel/dexmodel.go | 165 + internal/cli/tui.go | 49 + internal/cli/txmodel/txmodel.go | 322 + internal/dwn/handlers/auth.go | 43 + internal/dwn/handlers/manifest.go | 1 + internal/dwn/handlers/openid.go | 23 + internal/dwn/handlers/routes.go | 22 + internal/dwn/handlers/views.go | 1 + internal/dwn/handlers/wellknown.go | 1 + internal/dwn/main.go | 141 + internal/dwn/middleware/headers.go | 55 + internal/dwn/middleware/middleware.go | 63 + internal/dwn/middleware/session.go | 51 + internal/dwn/middleware/token.go | 51 + internal/gui/elements/alert_templ.go | 5 +- internal/gui/elements/animation_templ.go | 5 +- internal/gui/elements/badge_templ.go | 5 +- internal/gui/elements/breadcrumbs_templ.go | 11 +- internal/gui/elements/button_templ.go | 11 +- internal/gui/elements/card_templ.go | 8 +- internal/gui/elements/fonts_templ.go | 17 +- internal/gui/elements/global_templ.go | 20 +- internal/gui/elements/icons_templ.go | 8 +- internal/gui/elements/inputs_templ.go | 5 +- internal/gui/elements/radios_templ.go | 5 +- internal/gui/elements/sizes_templ.go | 2 +- internal/gui/elements/tabs_templ.go | 8 +- internal/gui/forms/register_templ.go | 11 +- internal/gui/views/home_templ.go | 5 +- internal/gui/views/login_templ.go | 5 +- internal/gui/views/openid_templ.go | 5 +- internal/gui/views/profile_templ.go | 5 +- internal/gui/views/register_templ.go | 5 +- internal/orm/Account.pkl.go | 20 + internal/orm/Asset.pkl.go | 16 + internal/orm/Chain.pkl.go | 14 + internal/orm/Credential.pkl.go | 40 + internal/orm/Grant.pkl.go | 20 + internal/orm/JWK.pkl.go | 16 + internal/orm/Keyshare.pkl.go | 14 + internal/orm/Orm.pkl.go | 39 + internal/orm/Profile.pkl.go | 20 + internal/orm/PublicKey.pkl.go | 26 + internal/orm/assettype/AssetType.pkl.go | 46 + internal/orm/bip44.go | 116 + .../AuthenticatorSelectionCriteria.pkl.go | 10 + internal/orm/browser/Browser.pkl.go | 36 + .../PublicKeyCredentialCreationOptions.pkl.go | 22 + .../PublicKeyCredentialDescriptor.pkl.go | 10 + .../PublicKeyCredentialParameters.pkl.go | 8 + .../PublicKeyCredentialRequestOptions.pkl.go | 16 + internal/orm/browser/RpEntity.pkl.go | 10 + internal/orm/browser/SWT.pkl.go | 16 + internal/orm/browser/UserEntity.pkl.go | 10 + internal/orm/browser/init.pkl.go | 16 + internal/orm/constants.go | 334 + internal/orm/credential.go | 56 + internal/orm/didmethod/DIDMethod.pkl.go | 52 + internal/orm/init.pkl.go | 17 + internal/orm/jwk.go | 111 + internal/orm/keyalg.go | 22 + internal/orm/keyalgorithm/KeyAlgorithm.pkl.go | 46 + internal/orm/keycurve/KeyCurve.pkl.go | 58 + internal/orm/keyencoding/KeyEncoding.pkl.go | 37 + internal/orm/keyrole/KeyRole.pkl.go | 40 + internal/orm/keysharerole/KeyShareRole.pkl.go | 34 + internal/orm/keytype/KeyType.pkl.go | 55 + .../permissiongrant/PermissionGrant.pkl.go | 46 + .../permissionscope/PermissionScope.pkl.go | 49 + internal/orm/publickey.go | 26 + internal/orm/transactions/Msg.pkl.go | 6 + .../transactions/MsgDidAllocateVault.pkl.go | 44 + .../orm/transactions/MsgDidAuthorize.pkl.go | 60 + .../transactions/MsgDidProveWitness.pkl.go | 52 + .../MsgDidRegisterController.pkl.go | 60 + .../transactions/MsgDidRegisterService.pkl.go | 76 + .../orm/transactions/MsgDidSyncVault.pkl.go | 36 + .../transactions/MsgDidUpdateParams.pkl.go | 44 + .../orm/transactions/MsgGovDeposit.pkl.go | 44 + .../transactions/MsgGovSubmitProposal.pkl.go | 45 + internal/orm/transactions/MsgGovVote.pkl.go | 42 + .../transactions/MsgGroupCreateGroup.pkl.go | 45 + .../MsgGroupSubmitProposal.pkl.go | 60 + internal/orm/transactions/MsgGroupVote.pkl.go | 58 + .../MsgStakingBeginRedelegate.pkl.go | 52 + .../MsgStakingCreateValidator.pkl.go | 77 + .../transactions/MsgStakingDelegate.pkl.go | 44 + .../transactions/MsgStakingUndelegate.pkl.go | 44 + internal/orm/transactions/Proposal.pkl.go | 11 + internal/orm/transactions/Transactions.pkl.go | 36 + internal/orm/transactions/TxBody.pkl.go | 17 + internal/orm/transactions/init.pkl.go | 27 + pkg/nebula/blocks/alert.templ | 67 + pkg/nebula/blocks/alert_templ.go | 140 + pkg/nebula/blocks/badge.templ | 59 + pkg/nebula/blocks/badge_templ.go | 40 + pkg/nebula/blocks/blocks.go | 47 + pkg/nebula/blocks/button.templ | 218 + pkg/nebula/blocks/button_templ.go | 449 + pkg/nebula/blocks/card.templ | 47 + pkg/nebula/blocks/card_templ.go | 102 + pkg/nebula/blocks/fonts.templ | 62 + pkg/nebula/blocks/fonts_templ.go | 326 + pkg/nebula/blocks/global.templ | 40 + pkg/nebula/blocks/global_templ.go | 182 + pkg/nebula/blocks/icons.templ | 31 + pkg/nebula/blocks/icons_templ.go | 100 + pkg/nebula/blocks/inputs.templ | 29 + pkg/nebula/blocks/inputs_templ.go | 100 + pkg/nebula/blocks/panel.templ | 39 + pkg/nebula/blocks/panel_templ.go | 190 + pkg/nebula/blocks/radios.templ | 37 + pkg/nebula/blocks/radios_templ.go | 40 + pkg/nebula/blocks/sizes.templ | 61 + pkg/nebula/blocks/sizes_templ.go | 71 + pkg/nebula/blocks/tabs.templ | 109 + pkg/nebula/blocks/tabs_templ.go | 77 + pkg/nebula/islands/forms.go | 41 + pkg/nebula/islands/register.templ | 25 + pkg/nebula/islands/register_templ.go | 95 + pkg/nebula/pages/home.templ | 23 + pkg/nebula/pages/home_templ.go | 135 + pkg/nebula/pages/login.templ | 19 + pkg/nebula/pages/login_templ.go | 121 + pkg/nebula/pages/openid.templ | 13 + pkg/nebula/pages/openid_templ.go | 71 + pkg/nebula/pages/profile.templ | 13 + pkg/nebula/pages/profile_templ.go | 71 + pkg/nebula/pages/register.templ | 20 + pkg/nebula/pages/register_templ.go | 122 + pkg/nebula/router.go | 15 + pkg/nebula/routes/routes.go | 37 + pkg/nebula/view/view.go | 29 + pkg/proxy/README.md | 18 + pkg/proxy/main.go | 25 + pkg/proxy/routes/allocate.templ | 18 + pkg/proxy/routes/allocate_templ.go | 75 + pkg/proxy/routes/home.templ | 28 + pkg/proxy/routes/home_templ.go | 139 + pkg/proxy/routes/pages.go | 27 + pkg/proxy/wrangler.toml | 10 + pkg/vault/app.wasm | Bin 0 -> 9705240 bytes pkg/vault/embed.go | 113 + pkg/vault/index.templ | 111 + pkg/vault/index_templ.go | 197 + pkg/vault/motr.mjs | 253 + pkg/vault/sw.js | 16 + pkg/vault/vault.go | 61 + proto/did/v1/accounts.proto | 4 - proto/did/v1/enums.proto | 24 - proto/did/v1/genesis.proto | 193 +- proto/did/v1/models.proto | 114 - proto/did/v1/query.proto | 144 +- proto/did/v1/state.proto | 189 +- proto/did/v1/tx.proto | 191 +- proto/did/v1/types.proto | 114 - x/did/keeper/context.go | 149 +- x/did/keeper/genesis.go | 29 +- x/did/keeper/keeper.go | 38 - x/did/keeper/querier.go | 80 +- x/did/keeper/server.go | 119 +- x/did/module.go | 1 - x/did/types/address.go | 1 + x/did/types/codec.go | 164 +- x/did/types/enums.pb.go | 120 - x/did/types/genesis.go | 119 +- x/did/types/genesis.pb.go | 4147 ++++--- x/did/types/msgs.go | 64 +- x/did/types/perms.go | 36 - x/did/types/query.pb.go | 2677 +--- x/did/types/query.pb.gw.go | 894 +- x/did/types/state.pb.go | 2260 +--- x/did/types/tx.pb.go | 4726 ++----- x/did/types/types.go | 15 - x/did/types/types.pb.go | 4548 ------- 217 files changed, 19760 insertions(+), 56358 deletions(-) create mode 100644 .envrc create mode 100644 .github/workflows/pr-merged.yml create mode 100644 .github/workflows/sync-branches.yml delete mode 100644 api/did/v1/accounts.pulsar.go delete mode 100644 api/did/v1/enums.pulsar.go delete mode 100644 api/did/v1/models.pulsar.go delete mode 100644 api/did/v1/types.pulsar.go create mode 100644 config/caddy/Caddyfile create mode 100644 config/caddy/caddy.json create mode 100644 config/dwn/Config.pkl.go create mode 100644 config/dwn/Dwn.pkl.go create mode 100644 config/dwn/IPFS.pkl.go create mode 100644 config/dwn/Motr.pkl.go create mode 100644 config/dwn/Schema.pkl.go create mode 100644 config/dwn/Sonr.pkl.go create mode 100644 config/dwn/init.pkl.go create mode 100644 config/pkl/dwn.pkl create mode 100644 config/pkl/orm.pkl create mode 100644 config/pkl/txns.pkl create mode 100644 config/pkl/web.pkl create mode 100644 deploy/air.toml create mode 100644 deploy/docker-compose.yaml create mode 100644 deploy/process-compose.dev.yaml create mode 100644 deploy/process-compose.yaml create mode 100644 internal/cli/dexmodel/dexmodel.go create mode 100644 internal/cli/tui.go create mode 100644 internal/cli/txmodel/txmodel.go create mode 100644 internal/dwn/handlers/auth.go create mode 100644 internal/dwn/handlers/manifest.go create mode 100644 internal/dwn/handlers/openid.go create mode 100644 internal/dwn/handlers/routes.go create mode 100644 internal/dwn/handlers/views.go create mode 100644 internal/dwn/handlers/wellknown.go create mode 100644 internal/dwn/main.go create mode 100644 internal/dwn/middleware/headers.go create mode 100644 internal/dwn/middleware/middleware.go create mode 100644 internal/dwn/middleware/session.go create mode 100644 internal/dwn/middleware/token.go create mode 100644 internal/orm/Account.pkl.go create mode 100644 internal/orm/Asset.pkl.go create mode 100644 internal/orm/Chain.pkl.go create mode 100644 internal/orm/Credential.pkl.go create mode 100644 internal/orm/Grant.pkl.go create mode 100644 internal/orm/JWK.pkl.go create mode 100644 internal/orm/Keyshare.pkl.go create mode 100644 internal/orm/Orm.pkl.go create mode 100644 internal/orm/Profile.pkl.go create mode 100644 internal/orm/PublicKey.pkl.go create mode 100644 internal/orm/assettype/AssetType.pkl.go create mode 100644 internal/orm/bip44.go create mode 100644 internal/orm/browser/AuthenticatorSelectionCriteria.pkl.go create mode 100644 internal/orm/browser/Browser.pkl.go create mode 100644 internal/orm/browser/PublicKeyCredentialCreationOptions.pkl.go create mode 100644 internal/orm/browser/PublicKeyCredentialDescriptor.pkl.go create mode 100644 internal/orm/browser/PublicKeyCredentialParameters.pkl.go create mode 100644 internal/orm/browser/PublicKeyCredentialRequestOptions.pkl.go create mode 100644 internal/orm/browser/RpEntity.pkl.go create mode 100644 internal/orm/browser/SWT.pkl.go create mode 100644 internal/orm/browser/UserEntity.pkl.go create mode 100644 internal/orm/browser/init.pkl.go create mode 100644 internal/orm/constants.go create mode 100644 internal/orm/credential.go create mode 100644 internal/orm/didmethod/DIDMethod.pkl.go create mode 100644 internal/orm/init.pkl.go create mode 100644 internal/orm/jwk.go create mode 100644 internal/orm/keyalg.go create mode 100644 internal/orm/keyalgorithm/KeyAlgorithm.pkl.go create mode 100644 internal/orm/keycurve/KeyCurve.pkl.go create mode 100644 internal/orm/keyencoding/KeyEncoding.pkl.go create mode 100644 internal/orm/keyrole/KeyRole.pkl.go create mode 100644 internal/orm/keysharerole/KeyShareRole.pkl.go create mode 100644 internal/orm/keytype/KeyType.pkl.go create mode 100644 internal/orm/permissiongrant/PermissionGrant.pkl.go create mode 100644 internal/orm/permissionscope/PermissionScope.pkl.go create mode 100644 internal/orm/publickey.go create mode 100644 internal/orm/transactions/Msg.pkl.go create mode 100644 internal/orm/transactions/MsgDidAllocateVault.pkl.go create mode 100644 internal/orm/transactions/MsgDidAuthorize.pkl.go create mode 100644 internal/orm/transactions/MsgDidProveWitness.pkl.go create mode 100644 internal/orm/transactions/MsgDidRegisterController.pkl.go create mode 100644 internal/orm/transactions/MsgDidRegisterService.pkl.go create mode 100644 internal/orm/transactions/MsgDidSyncVault.pkl.go create mode 100644 internal/orm/transactions/MsgDidUpdateParams.pkl.go create mode 100644 internal/orm/transactions/MsgGovDeposit.pkl.go create mode 100644 internal/orm/transactions/MsgGovSubmitProposal.pkl.go create mode 100644 internal/orm/transactions/MsgGovVote.pkl.go create mode 100644 internal/orm/transactions/MsgGroupCreateGroup.pkl.go create mode 100644 internal/orm/transactions/MsgGroupSubmitProposal.pkl.go create mode 100644 internal/orm/transactions/MsgGroupVote.pkl.go create mode 100644 internal/orm/transactions/MsgStakingBeginRedelegate.pkl.go create mode 100644 internal/orm/transactions/MsgStakingCreateValidator.pkl.go create mode 100644 internal/orm/transactions/MsgStakingDelegate.pkl.go create mode 100644 internal/orm/transactions/MsgStakingUndelegate.pkl.go create mode 100644 internal/orm/transactions/Proposal.pkl.go create mode 100644 internal/orm/transactions/Transactions.pkl.go create mode 100644 internal/orm/transactions/TxBody.pkl.go create mode 100644 internal/orm/transactions/init.pkl.go create mode 100644 pkg/nebula/blocks/alert.templ create mode 100644 pkg/nebula/blocks/alert_templ.go create mode 100644 pkg/nebula/blocks/badge.templ create mode 100644 pkg/nebula/blocks/badge_templ.go create mode 100644 pkg/nebula/blocks/blocks.go create mode 100644 pkg/nebula/blocks/button.templ create mode 100644 pkg/nebula/blocks/button_templ.go create mode 100644 pkg/nebula/blocks/card.templ create mode 100644 pkg/nebula/blocks/card_templ.go create mode 100644 pkg/nebula/blocks/fonts.templ create mode 100644 pkg/nebula/blocks/fonts_templ.go create mode 100644 pkg/nebula/blocks/global.templ create mode 100644 pkg/nebula/blocks/global_templ.go create mode 100644 pkg/nebula/blocks/icons.templ create mode 100644 pkg/nebula/blocks/icons_templ.go create mode 100644 pkg/nebula/blocks/inputs.templ create mode 100644 pkg/nebula/blocks/inputs_templ.go create mode 100644 pkg/nebula/blocks/panel.templ create mode 100644 pkg/nebula/blocks/panel_templ.go create mode 100644 pkg/nebula/blocks/radios.templ create mode 100644 pkg/nebula/blocks/radios_templ.go create mode 100644 pkg/nebula/blocks/sizes.templ create mode 100644 pkg/nebula/blocks/sizes_templ.go create mode 100644 pkg/nebula/blocks/tabs.templ create mode 100644 pkg/nebula/blocks/tabs_templ.go create mode 100644 pkg/nebula/islands/forms.go create mode 100644 pkg/nebula/islands/register.templ create mode 100644 pkg/nebula/islands/register_templ.go create mode 100644 pkg/nebula/pages/home.templ create mode 100644 pkg/nebula/pages/home_templ.go create mode 100644 pkg/nebula/pages/login.templ create mode 100644 pkg/nebula/pages/login_templ.go create mode 100644 pkg/nebula/pages/openid.templ create mode 100644 pkg/nebula/pages/openid_templ.go create mode 100644 pkg/nebula/pages/profile.templ create mode 100644 pkg/nebula/pages/profile_templ.go create mode 100644 pkg/nebula/pages/register.templ create mode 100644 pkg/nebula/pages/register_templ.go create mode 100644 pkg/nebula/router.go create mode 100644 pkg/nebula/routes/routes.go create mode 100644 pkg/nebula/view/view.go create mode 100644 pkg/proxy/README.md create mode 100644 pkg/proxy/main.go create mode 100644 pkg/proxy/routes/allocate.templ create mode 100644 pkg/proxy/routes/allocate_templ.go create mode 100644 pkg/proxy/routes/home.templ create mode 100644 pkg/proxy/routes/home_templ.go create mode 100644 pkg/proxy/routes/pages.go create mode 100644 pkg/proxy/wrangler.toml create mode 100755 pkg/vault/app.wasm create mode 100644 pkg/vault/embed.go create mode 100644 pkg/vault/index.templ create mode 100644 pkg/vault/index_templ.go create mode 100644 pkg/vault/motr.mjs create mode 100644 pkg/vault/sw.js create mode 100644 pkg/vault/vault.go delete mode 100644 proto/did/v1/accounts.proto delete mode 100644 proto/did/v1/enums.proto delete mode 100644 proto/did/v1/models.proto delete mode 100644 proto/did/v1/types.proto create mode 100644 x/did/types/address.go delete mode 100644 x/did/types/enums.pb.go delete mode 100644 x/did/types/perms.go delete mode 100644 x/did/types/types.go delete mode 100644 x/did/types/types.pb.go diff --git a/.cz.toml b/.cz.toml index 6a3f5e1cd..7873cb0a9 100644 --- a/.cz.toml +++ b/.cz.toml @@ -2,6 +2,6 @@ name = "cz_conventional_commits" tag_format = "v$version" version_scheme = "semver" -version = "0.1.1" +version = "0.2.0" update_changelog_on_bump = true major_version_zero = true diff --git a/.envrc b/.envrc new file mode 100644 index 000000000..84fc8e536 --- /dev/null +++ b/.envrc @@ -0,0 +1,7 @@ +# Automatically sets up your devbox environment whenever you cd into this +# directory via our direnv integration: + +eval "$(devbox generate direnv --print-envrc)" + +# check out https://www.jetpack.io/devbox/docs/ide_configuration/direnv/ +# for more details diff --git a/.github/workflows/buf-publish.yml b/.github/workflows/buf-publish.yml index 6c14104fc..1c7fe2d07 100644 --- a/.github/workflows/buf-publish.yml +++ b/.github/workflows/buf-publish.yml @@ -32,5 +32,5 @@ jobs: r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} r2-bucket: pkljar - source-dir: pkl + source-dir: config/pkl destination-dir: . diff --git a/.github/workflows/pr-merged.yml b/.github/workflows/pr-merged.yml new file mode 100644 index 000000000..07ccc0a85 --- /dev/null +++ b/.github/workflows/pr-merged.yml @@ -0,0 +1,29 @@ +name: PR Merged - Bump Version and Tag + +on: + pull_request: + types: + - closed + branches: + - develop + +permissions: + contents: write + +jobs: + bump-version-and-tag: + if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'feature/') + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Bump version and update changelog + uses: commitizen-tools/commitizen-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Push changes and tag + run: git push && git push --tags diff --git a/.github/workflows/sync-branches.yml b/.github/workflows/sync-branches.yml new file mode 100644 index 000000000..a06b683eb --- /dev/null +++ b/.github/workflows/sync-branches.yml @@ -0,0 +1,45 @@ +name: Sync Branches + +on: + push: + tags: + - "*" + +permissions: + contents: write + +jobs: + sync-branches: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Check if tag is on develop or master + id: check-branch + run: | + if git branch -r --contains ${{ github.ref }} | grep -q 'origin/develop\|origin/master'; then + echo "SYNC_NEEDED=true" >> $GITHUB_OUTPUT + else + echo "SYNC_NEEDED=false" >> $GITHUB_OUTPUT + fi + + - name: Sync develop to master + if: steps.check-branch.outputs.SYNC_NEEDED == 'true' + uses: devmasx/merge-branch@master + with: + type: now + from_branch: develop + target_branch: master + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Sync master back to develop + if: steps.check-branch.outputs.SYNC_NEEDED == 'true' + uses: devmasx/merge-branch@master + with: + type: now + from_branch: master + target_branch: develop + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 888347d22..bb0c6a236 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,4 @@ x/.DS_Store !motr/build +buildenv* diff --git a/CHANGELOG.md b/CHANGELOG.md index 519ea2303..fe2ffd8d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,54 +1,35 @@ -## v0.1.1 (2024-09-05) +## v0.2.0 (2024-09-21) + +### Feat + +- add automated production release workflow +- **did**: remove unused proto files +- add enums.pulsar.go file for PermissionScope enum (#4) +- add initial DID implementation +- remove builder interface +- add basic UI for block explorer +- add Usage: pkl [OPTIONS] COMMAND [ARGS]... +- use SQLite embedded driver ### Fix +- Update proc_list_width in mprocs.yaml +- Add service to database when registering +- pin added did documents to local ipfs node +- remove extra spaces in typeUrl - **release**: remove unnecessary quotes in tag pattern ### Refactor +- simplify verification method structure +- use staking keeper in DID keeper +- remove unused dependencies - remove unused image building workflow -## 0.1.0 (2024-09-05) +## v0.1.0 (2024-09-05) ### Feat -- add SQLite database support -- Add targets for templ and vault in Makefile and use only make in devbox.json -- Add models.go file with database table structs -- Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements -- Simplify db.go implementation -- Update the db implementation to use the provided go library -- Add DBConfig and DBOption types -- Add DIDNamespace and PermissionScope enums -- Add database enum types -- Update `createPermissionsTable` to match Permissions struct -- Add createKeysharesTable to internal/db/db.go -- Add constant SQL queries to queries.go and use prepared statements in db.go -- Update createProfilesTable and add createPropertiesTable -- Update the `createCredentialsTable` method to match the proper Credential struct -- Add keyshares table -- Implement database layer for Vault node -- introduce database layer -- Add method to initialize SQLite database -- add persistent SQLite database support in WASM -- **orm**: remove unused ORM models -- implement API endpoints for profile management -- Merge zkgate.go and zkprop.go logic -- Uncomment and modify zkgate code to work with Property struct -- Add zkgate.go file -- add WASM build step to devbox.json -- add KeyCurve and KeyType to KeyInfo in genesis -- Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods -- add basic vault command operations -- add initial wasm entrypoint -- Implement IPFS file, location, and filesystem abstractions -- add IPFS file system abstraction -- Add AddFile and AddFolder methods -- Update GetCID and GetIPNS functions to read data from IPFS node -- Add local filesystem check for IPFS and IPNS -- Improve IPFS client initialization and mount checking -- Update `EncodePublicKey` to be the inverse of `DecodePublicKey` -- add DID model definitions - add DID method for each coin - Expand KeyType enum and update KeyInfo message in genesis.proto - Add whitelisted key types to genesis params @@ -60,18 +41,6 @@ ### Fix -- update Makefile to use sonrd instead of wasmd -- Remove unused statement map and prepare statements -- Refactor database connection and statement handling -- update db implementation to use go-sqlite3 v0.18.2 -- Reorder the SQL statements in the tables.go file -- update go-sqlite3 dependency to version 1.14.23 -- Update module names in protobuf files -- Ensure IPFS client is initialized before pinning CID -- Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval -- Initialize IPFS client and check for mounted directories -- update default assets with correct asset types -- Fix EncodePublicKey method in KeyInfo struct - remove unused imports and simplify KeyInfo message - bind node ports to localhost - Update docker-compose network name to dokploy-network @@ -84,12 +53,7 @@ ### Refactor -- remove unused template file -- Replace PrimaryKey with Property struct in zkprop.go -- remove unused FileSystem interface -- remove unused functions and types -- update AssetInfo protobuf definition -- add field to +- add field to - Update KeyKind Enum to have proper naming conventions - Update `DIDNamespace` to have proper naming convention - expose ports directly in docker-compose diff --git a/Dockerfile b/Dockerfile index 3f927f3de..19afcdb8c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ RUN mkdir -p /code && chown ${DEVBOX_USER}:${DEVBOX_USER} /code USER ${DEVBOX_USER}:${DEVBOX_USER} COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} devbox.json devbox.json -COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} process-compose.yaml process-compose.yaml +COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} deploy/process-compose.yaml process-compose.yaml RUN devbox run -- echo "Installed Packages." @@ -26,7 +26,7 @@ RUN mkdir -p /code && chown ${DEVBOX_USER}:${DEVBOX_USER} /code USER ${DEVBOX_USER}:${DEVBOX_USER} COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} devbox.json devbox.json -COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} process-compose.yaml process-compose.yaml +COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} deploy/process-compose.yaml process-compose.yaml COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} . . RUN devbox run -- echo "Installed Packages." @@ -86,8 +86,4 @@ WORKDIR /opt # rest server, tendermint p2p, tendermint rpc EXPOSE 1317 26656 26657 6060 -<<<<<<< HEAD -CMD ["test_node.sh"] -======= ENTRYPOINT ["/usr/bin/sonrd"] ->>>>>>> master diff --git a/Makefile b/Makefile index 03fc8475f..e08652cd6 100644 --- a/Makefile +++ b/Makefile @@ -293,21 +293,41 @@ sh-testnet: mod-tidy .PHONY: setup-testnet set-testnet-configs testnet testnet-basic sh-testnet - - ############################################################################### ### templ & vault ### ############################################################################### -.PHONY: dwn motr +.PHONY: dwn motr xcaddy ipfs-cluster-start dwn: @echo "(dwn) Building dwn.wasm -> IPFS Vault" - GOOS=js GOARCH=wasm go build -o ./internal/vfs/dwn.wasm ./cmd/dwn + GOOS=js GOARCH=wasm go build -o ./pkg/vault/app.wasm ./internal/dwn/main.go motr: - @echo "(motr) Building app.wasm -> Deploy to Cloudflare Workers" - GOOS=js GOARCH=wasm go build -o ./cmd/motr/build/app.wasm ./cmd/motr/main.go + @echo "(web) Building app.wasm -> Deploy to Cloudflare Workers" + GOOS=js GOARCH=wasm go build -o ./web/build/app.wasm ./web/src/main.go + +templ: + @echo "(templ) Generating templ files" + go install github.com/a-h/templ/cmd/templ@latest + templ generate + +pkl: + @echo "(pkl) Building PKL" + go run github.com/apple/pkl-go/cmd/pkl-gen-go ./config/pkl/dwn.pkl + go run github.com/apple/pkl-go/cmd/pkl-gen-go ./config/pkl/orm.pkl + go run github.com/apple/pkl-go/cmd/pkl-gen-go ./config/pkl/web.pkl + go run github.com/apple/pkl-go/cmd/pkl-gen-go ./config/pkl/txns.pkl + +air: + @echo "(air) Building air" + go install github.com/air-verse/air@latest + air -c ./deploy/air.toml + +ipfs-cluster-start: + @echo "(ipfs) Starting ipfs-cluster" + ipfs-cluster-service init --consensus crdt + ipfs-cluster-service daemon ############################################################################### ### help ### diff --git a/api/did/v1/accounts.pulsar.go b/api/did/v1/accounts.pulsar.go deleted file mode 100644 index b808919bb..000000000 --- a/api/did/v1/accounts.pulsar.go +++ /dev/null @@ -1,70 +0,0 @@ -// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. -package didv1 - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" -) - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: did/v1/accounts.proto - -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) -) - -var File_did_v1_accounts_proto protoreflect.FileDescriptor - -var file_did_v1_accounts_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, - 0x7d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, - 0x72, 0x2f, 0x68, 0x77, 0x61, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, - 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, - 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_did_v1_accounts_proto_goTypes = []interface{}{} -var file_did_v1_accounts_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_did_v1_accounts_proto_init() } -func file_did_v1_accounts_proto_init() { - if File_did_v1_accounts_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_did_v1_accounts_proto_rawDesc, - NumEnums: 0, - NumMessages: 0, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_did_v1_accounts_proto_goTypes, - DependencyIndexes: file_did_v1_accounts_proto_depIdxs, - }.Build() - File_did_v1_accounts_proto = out.File - file_did_v1_accounts_proto_rawDesc = nil - file_did_v1_accounts_proto_goTypes = nil - file_did_v1_accounts_proto_depIdxs = nil -} diff --git a/api/did/v1/enums.pulsar.go b/api/did/v1/enums.pulsar.go deleted file mode 100644 index 2d54b74b4..000000000 --- a/api/did/v1/enums.pulsar.go +++ /dev/null @@ -1,209 +0,0 @@ -// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. -package didv1 - -import ( - _ "cosmossdk.io/api/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: did/v1/enums.proto - -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) -) - -// PermissionScope define the Capabilities Controllers can grant for Services -type PermissionScope int32 - -const ( - PermissionScope_PERMISSION_SCOPE_UNSPECIFIED PermissionScope = 0 - PermissionScope_PERMISSION_SCOPE_PROFILE_NAME PermissionScope = 1 - PermissionScope_PERMISSION_SCOPE_IDENTIFIERS_EMAIL PermissionScope = 2 - PermissionScope_PERMISSION_SCOPE_IDENTIFIERS_PHONE PermissionScope = 3 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_READ PermissionScope = 4 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_WRITE PermissionScope = 5 - PermissionScope_PERMISSION_SCOPE_WALLETS_READ PermissionScope = 6 - PermissionScope_PERMISSION_SCOPE_WALLETS_CREATE PermissionScope = 7 - PermissionScope_PERMISSION_SCOPE_WALLETS_SUBSCRIBE PermissionScope = 8 - PermissionScope_PERMISSION_SCOPE_WALLETS_UPDATE PermissionScope = 9 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_VERIFY PermissionScope = 10 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_BROADCAST PermissionScope = 11 - PermissionScope_PERMISSION_SCOPE_ADMIN_USER PermissionScope = 12 - PermissionScope_PERMISSION_SCOPE_ADMIN_VALIDATOR PermissionScope = 13 -) - -// Enum value maps for PermissionScope. -var ( - PermissionScope_name = map[int32]string{ - 0: "PERMISSION_SCOPE_UNSPECIFIED", - 1: "PERMISSION_SCOPE_PROFILE_NAME", - 2: "PERMISSION_SCOPE_IDENTIFIERS_EMAIL", - 3: "PERMISSION_SCOPE_IDENTIFIERS_PHONE", - 4: "PERMISSION_SCOPE_TRANSACTIONS_READ", - 5: "PERMISSION_SCOPE_TRANSACTIONS_WRITE", - 6: "PERMISSION_SCOPE_WALLETS_READ", - 7: "PERMISSION_SCOPE_WALLETS_CREATE", - 8: "PERMISSION_SCOPE_WALLETS_SUBSCRIBE", - 9: "PERMISSION_SCOPE_WALLETS_UPDATE", - 10: "PERMISSION_SCOPE_TRANSACTIONS_VERIFY", - 11: "PERMISSION_SCOPE_TRANSACTIONS_BROADCAST", - 12: "PERMISSION_SCOPE_ADMIN_USER", - 13: "PERMISSION_SCOPE_ADMIN_VALIDATOR", - } - PermissionScope_value = map[string]int32{ - "PERMISSION_SCOPE_UNSPECIFIED": 0, - "PERMISSION_SCOPE_PROFILE_NAME": 1, - "PERMISSION_SCOPE_IDENTIFIERS_EMAIL": 2, - "PERMISSION_SCOPE_IDENTIFIERS_PHONE": 3, - "PERMISSION_SCOPE_TRANSACTIONS_READ": 4, - "PERMISSION_SCOPE_TRANSACTIONS_WRITE": 5, - "PERMISSION_SCOPE_WALLETS_READ": 6, - "PERMISSION_SCOPE_WALLETS_CREATE": 7, - "PERMISSION_SCOPE_WALLETS_SUBSCRIBE": 8, - "PERMISSION_SCOPE_WALLETS_UPDATE": 9, - "PERMISSION_SCOPE_TRANSACTIONS_VERIFY": 10, - "PERMISSION_SCOPE_TRANSACTIONS_BROADCAST": 11, - "PERMISSION_SCOPE_ADMIN_USER": 12, - "PERMISSION_SCOPE_ADMIN_VALIDATOR": 13, - } -) - -func (x PermissionScope) Enum() *PermissionScope { - p := new(PermissionScope) - *p = x - return p -} - -func (x PermissionScope) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PermissionScope) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_enums_proto_enumTypes[0].Descriptor() -} - -func (PermissionScope) Type() protoreflect.EnumType { - return &file_did_v1_enums_proto_enumTypes[0] -} - -func (x PermissionScope) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PermissionScope.Descriptor instead. -func (PermissionScope) EnumDescriptor() ([]byte, []int) { - return file_did_v1_enums_proto_rawDescGZIP(), []int{0} -} - -var File_did_v1_enums_proto protoreflect.FileDescriptor - -var file_did_v1_enums_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x14, 0x67, 0x6f, - 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xaa, 0x04, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x45, 0x52, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, - 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x26, - 0x0a, 0x22, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, - 0x50, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x53, 0x5f, 0x45, - 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, - 0x49, 0x46, 0x49, 0x45, 0x52, 0x53, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x26, - 0x0a, 0x22, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, - 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, - 0x52, 0x45, 0x41, 0x44, 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x05, 0x12, - 0x21, 0x0a, 0x1d, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, - 0x4f, 0x50, 0x45, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, - 0x10, 0x06, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x53, 0x5f, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x07, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x45, 0x52, 0x4d, 0x49, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x57, 0x41, 0x4c, 0x4c, - 0x45, 0x54, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x10, 0x08, 0x12, - 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, - 0x4f, 0x50, 0x45, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x10, 0x09, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x10, 0x0a, 0x12, 0x2b, - 0x0a, 0x27, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, - 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, - 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x0b, 0x12, 0x1f, 0x0a, 0x1b, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, - 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0c, 0x12, 0x24, 0x0a, 0x20, - 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, - 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, - 0x10, 0x0d, 0x42, 0x7a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x42, 0x0a, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, - 0x72, 0x2f, 0x68, 0x77, 0x61, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, - 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, - 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_did_v1_enums_proto_rawDescOnce sync.Once - file_did_v1_enums_proto_rawDescData = file_did_v1_enums_proto_rawDesc -) - -func file_did_v1_enums_proto_rawDescGZIP() []byte { - file_did_v1_enums_proto_rawDescOnce.Do(func() { - file_did_v1_enums_proto_rawDescData = protoimpl.X.CompressGZIP(file_did_v1_enums_proto_rawDescData) - }) - return file_did_v1_enums_proto_rawDescData -} - -var file_did_v1_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_did_v1_enums_proto_goTypes = []interface{}{ - (PermissionScope)(0), // 0: did.v1.PermissionScope -} -var file_did_v1_enums_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_did_v1_enums_proto_init() } -func file_did_v1_enums_proto_init() { - if File_did_v1_enums_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_did_v1_enums_proto_rawDesc, - NumEnums: 1, - NumMessages: 0, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_did_v1_enums_proto_goTypes, - DependencyIndexes: file_did_v1_enums_proto_depIdxs, - EnumInfos: file_did_v1_enums_proto_enumTypes, - }.Build() - File_did_v1_enums_proto = out.File - file_did_v1_enums_proto_rawDesc = nil - file_did_v1_enums_proto_goTypes = nil - file_did_v1_enums_proto_depIdxs = nil -} diff --git a/api/did/v1/genesis.pulsar.go b/api/did/v1/genesis.pulsar.go index 19e83d410..eadcf5c25 100644 --- a/api/did/v1/genesis.pulsar.go +++ b/api/did/v1/genesis.pulsar.go @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" io "io" reflect "reflect" + sort "sort" sync "sync" ) @@ -2346,8 +2347,8 @@ func (x *fastReflection_AssetInfo) Range(f func(protoreflect.FieldDescriptor, pr return } } - if x.AssetType != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.AssetType)) + if x.AssetType != "" { + value := protoreflect.ValueOfString(x.AssetType) if !f(fd_AssetInfo_asset_type, value) { return } @@ -2386,7 +2387,7 @@ func (x *fastReflection_AssetInfo) Has(fd protoreflect.FieldDescriptor) bool { case "did.v1.AssetInfo.symbol": return x.Symbol != "" case "did.v1.AssetInfo.asset_type": - return x.AssetType != 0 + return x.AssetType != "" case "did.v1.AssetInfo.name": return x.Name != "" case "did.v1.AssetInfo.icon_url": @@ -2414,7 +2415,7 @@ func (x *fastReflection_AssetInfo) Clear(fd protoreflect.FieldDescriptor) { case "did.v1.AssetInfo.symbol": x.Symbol = "" case "did.v1.AssetInfo.asset_type": - x.AssetType = 0 + x.AssetType = "" case "did.v1.AssetInfo.name": x.Name = "" case "did.v1.AssetInfo.icon_url": @@ -2446,7 +2447,7 @@ func (x *fastReflection_AssetInfo) Get(descriptor protoreflect.FieldDescriptor) return protoreflect.ValueOfString(value) case "did.v1.AssetInfo.asset_type": value := x.AssetType - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + return protoreflect.ValueOfString(value) case "did.v1.AssetInfo.name": value := x.Name return protoreflect.ValueOfString(value) @@ -2480,7 +2481,7 @@ func (x *fastReflection_AssetInfo) Set(fd protoreflect.FieldDescriptor, value pr case "did.v1.AssetInfo.symbol": x.Symbol = value.Interface().(string) case "did.v1.AssetInfo.asset_type": - x.AssetType = (AssetType)(value.Enum()) + x.AssetType = value.Interface().(string) case "did.v1.AssetInfo.name": x.Name = value.Interface().(string) case "did.v1.AssetInfo.icon_url": @@ -2537,7 +2538,7 @@ func (x *fastReflection_AssetInfo) NewField(fd protoreflect.FieldDescriptor) pro case "did.v1.AssetInfo.symbol": return protoreflect.ValueOfString("") case "did.v1.AssetInfo.asset_type": - return protoreflect.ValueOfEnum(0) + return protoreflect.ValueOfString("") case "did.v1.AssetInfo.name": return protoreflect.ValueOfString("") case "did.v1.AssetInfo.icon_url": @@ -2622,8 +2623,9 @@ func (x *fastReflection_AssetInfo) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.AssetType != 0 { - n += 1 + runtime.Sov(uint64(x.AssetType)) + l = len(x.AssetType) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } l = len(x.Name) if l > 0 { @@ -2676,10 +2678,12 @@ func (x *fastReflection_AssetInfo) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x2a } - if x.AssetType != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.AssetType)) + if len(x.AssetType) > 0 { + i -= len(x.AssetType) + copy(dAtA[i:], x.AssetType) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AssetType))) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x22 } if len(x.Symbol) > 0 { i -= len(x.Symbol) @@ -2833,10 +2837,10 @@ func (x *fastReflection_AssetInfo) ProtoMethods() *protoiface.Methods { x.Symbol = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 0 { + if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AssetType", wireType) } - x.AssetType = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -2846,11 +2850,24 @@ func (x *fastReflection_AssetInfo) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.AssetType |= AssetType(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.AssetType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 5: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) @@ -2950,6 +2967,1110 @@ func (x *fastReflection_AssetInfo) ProtoMethods() *protoiface.Methods { } } +var _ protoreflect.List = (*_Document_3_list)(nil) + +type _Document_3_list struct { + list *[]string +} + +func (x *_Document_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Document_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Document_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Document_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Document_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Document at list field Authentication as it is not of Message kind")) +} + +func (x *_Document_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Document_3_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Document_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Document_4_list)(nil) + +type _Document_4_list struct { + list *[]string +} + +func (x *_Document_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Document_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Document_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Document_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Document_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Document at list field AssertionMethod as it is not of Message kind")) +} + +func (x *_Document_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Document_4_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Document_4_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Document_5_list)(nil) + +type _Document_5_list struct { + list *[]string +} + +func (x *_Document_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Document_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Document_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Document_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Document_5_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Document at list field CapabilityDelegation as it is not of Message kind")) +} + +func (x *_Document_5_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Document_5_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Document_5_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Document_6_list)(nil) + +type _Document_6_list struct { + list *[]string +} + +func (x *_Document_6_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Document_6_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Document_6_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Document_6_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Document_6_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Document at list field CapabilityInvocation as it is not of Message kind")) +} + +func (x *_Document_6_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Document_6_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Document_6_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Document_7_list)(nil) + +type _Document_7_list struct { + list *[]string +} + +func (x *_Document_7_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Document_7_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Document_7_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Document_7_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Document_7_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Document at list field Service as it is not of Message kind")) +} + +func (x *_Document_7_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Document_7_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Document_7_list) IsValid() bool { + return x.list != nil +} + +var ( + md_Document protoreflect.MessageDescriptor + fd_Document_id protoreflect.FieldDescriptor + fd_Document_controller protoreflect.FieldDescriptor + fd_Document_authentication protoreflect.FieldDescriptor + fd_Document_assertion_method protoreflect.FieldDescriptor + fd_Document_capability_delegation protoreflect.FieldDescriptor + fd_Document_capability_invocation protoreflect.FieldDescriptor + fd_Document_service protoreflect.FieldDescriptor +) + +func init() { + file_did_v1_genesis_proto_init() + md_Document = File_did_v1_genesis_proto.Messages().ByName("Document") + fd_Document_id = md_Document.Fields().ByName("id") + fd_Document_controller = md_Document.Fields().ByName("controller") + fd_Document_authentication = md_Document.Fields().ByName("authentication") + fd_Document_assertion_method = md_Document.Fields().ByName("assertion_method") + fd_Document_capability_delegation = md_Document.Fields().ByName("capability_delegation") + fd_Document_capability_invocation = md_Document.Fields().ByName("capability_invocation") + fd_Document_service = md_Document.Fields().ByName("service") +} + +var _ protoreflect.Message = (*fastReflection_Document)(nil) + +type fastReflection_Document Document + +func (x *Document) ProtoReflect() protoreflect.Message { + return (*fastReflection_Document)(x) +} + +func (x *Document) slowProtoReflect() protoreflect.Message { + mi := &file_did_v1_genesis_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) +} + +var _fastReflection_Document_messageType fastReflection_Document_messageType +var _ protoreflect.MessageType = fastReflection_Document_messageType{} + +type fastReflection_Document_messageType struct{} + +func (x fastReflection_Document_messageType) Zero() protoreflect.Message { + return (*fastReflection_Document)(nil) +} +func (x fastReflection_Document_messageType) New() protoreflect.Message { + return new(fastReflection_Document) +} +func (x fastReflection_Document_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Document +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Document) Descriptor() protoreflect.MessageDescriptor { + return md_Document +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Document) Type() protoreflect.MessageType { + return _fastReflection_Document_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Document) New() protoreflect.Message { + return new(fastReflection_Document) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Document) Interface() protoreflect.ProtoMessage { + return (*Document)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Document) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != "" { + value := protoreflect.ValueOfString(x.Id) + if !f(fd_Document_id, value) { + return + } + } + if x.Controller != "" { + value := protoreflect.ValueOfString(x.Controller) + if !f(fd_Document_controller, value) { + return + } + } + if len(x.Authentication) != 0 { + value := protoreflect.ValueOfList(&_Document_3_list{list: &x.Authentication}) + if !f(fd_Document_authentication, value) { + return + } + } + if len(x.AssertionMethod) != 0 { + value := protoreflect.ValueOfList(&_Document_4_list{list: &x.AssertionMethod}) + if !f(fd_Document_assertion_method, value) { + return + } + } + if len(x.CapabilityDelegation) != 0 { + value := protoreflect.ValueOfList(&_Document_5_list{list: &x.CapabilityDelegation}) + if !f(fd_Document_capability_delegation, value) { + return + } + } + if len(x.CapabilityInvocation) != 0 { + value := protoreflect.ValueOfList(&_Document_6_list{list: &x.CapabilityInvocation}) + if !f(fd_Document_capability_invocation, value) { + return + } + } + if len(x.Service) != 0 { + value := protoreflect.ValueOfList(&_Document_7_list{list: &x.Service}) + if !f(fd_Document_service, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Document) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "did.v1.Document.id": + return x.Id != "" + case "did.v1.Document.controller": + return x.Controller != "" + case "did.v1.Document.authentication": + return len(x.Authentication) != 0 + case "did.v1.Document.assertion_method": + return len(x.AssertionMethod) != 0 + case "did.v1.Document.capability_delegation": + return len(x.CapabilityDelegation) != 0 + case "did.v1.Document.capability_invocation": + return len(x.CapabilityInvocation) != 0 + case "did.v1.Document.service": + return len(x.Service) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) + } + panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Document) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "did.v1.Document.id": + x.Id = "" + case "did.v1.Document.controller": + x.Controller = "" + case "did.v1.Document.authentication": + x.Authentication = nil + case "did.v1.Document.assertion_method": + x.AssertionMethod = nil + case "did.v1.Document.capability_delegation": + x.CapabilityDelegation = nil + case "did.v1.Document.capability_invocation": + x.CapabilityInvocation = nil + case "did.v1.Document.service": + x.Service = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) + } + panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Document) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "did.v1.Document.id": + value := x.Id + return protoreflect.ValueOfString(value) + case "did.v1.Document.controller": + value := x.Controller + return protoreflect.ValueOfString(value) + case "did.v1.Document.authentication": + if len(x.Authentication) == 0 { + return protoreflect.ValueOfList(&_Document_3_list{}) + } + listValue := &_Document_3_list{list: &x.Authentication} + return protoreflect.ValueOfList(listValue) + case "did.v1.Document.assertion_method": + if len(x.AssertionMethod) == 0 { + return protoreflect.ValueOfList(&_Document_4_list{}) + } + listValue := &_Document_4_list{list: &x.AssertionMethod} + return protoreflect.ValueOfList(listValue) + case "did.v1.Document.capability_delegation": + if len(x.CapabilityDelegation) == 0 { + return protoreflect.ValueOfList(&_Document_5_list{}) + } + listValue := &_Document_5_list{list: &x.CapabilityDelegation} + return protoreflect.ValueOfList(listValue) + case "did.v1.Document.capability_invocation": + if len(x.CapabilityInvocation) == 0 { + return protoreflect.ValueOfList(&_Document_6_list{}) + } + listValue := &_Document_6_list{list: &x.CapabilityInvocation} + return protoreflect.ValueOfList(listValue) + case "did.v1.Document.service": + if len(x.Service) == 0 { + return protoreflect.ValueOfList(&_Document_7_list{}) + } + listValue := &_Document_7_list{list: &x.Service} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) + } + panic(fmt.Errorf("message did.v1.Document does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Document) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "did.v1.Document.id": + x.Id = value.Interface().(string) + case "did.v1.Document.controller": + x.Controller = value.Interface().(string) + case "did.v1.Document.authentication": + lv := value.List() + clv := lv.(*_Document_3_list) + x.Authentication = *clv.list + case "did.v1.Document.assertion_method": + lv := value.List() + clv := lv.(*_Document_4_list) + x.AssertionMethod = *clv.list + case "did.v1.Document.capability_delegation": + lv := value.List() + clv := lv.(*_Document_5_list) + x.CapabilityDelegation = *clv.list + case "did.v1.Document.capability_invocation": + lv := value.List() + clv := lv.(*_Document_6_list) + x.CapabilityInvocation = *clv.list + case "did.v1.Document.service": + lv := value.List() + clv := lv.(*_Document_7_list) + x.Service = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) + } + panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Document) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "did.v1.Document.authentication": + if x.Authentication == nil { + x.Authentication = []string{} + } + value := &_Document_3_list{list: &x.Authentication} + return protoreflect.ValueOfList(value) + case "did.v1.Document.assertion_method": + if x.AssertionMethod == nil { + x.AssertionMethod = []string{} + } + value := &_Document_4_list{list: &x.AssertionMethod} + return protoreflect.ValueOfList(value) + case "did.v1.Document.capability_delegation": + if x.CapabilityDelegation == nil { + x.CapabilityDelegation = []string{} + } + value := &_Document_5_list{list: &x.CapabilityDelegation} + return protoreflect.ValueOfList(value) + case "did.v1.Document.capability_invocation": + if x.CapabilityInvocation == nil { + x.CapabilityInvocation = []string{} + } + value := &_Document_6_list{list: &x.CapabilityInvocation} + return protoreflect.ValueOfList(value) + case "did.v1.Document.service": + if x.Service == nil { + x.Service = []string{} + } + value := &_Document_7_list{list: &x.Service} + return protoreflect.ValueOfList(value) + case "did.v1.Document.id": + panic(fmt.Errorf("field id of message did.v1.Document is not mutable")) + case "did.v1.Document.controller": + panic(fmt.Errorf("field controller of message did.v1.Document is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) + } + panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Document) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "did.v1.Document.id": + return protoreflect.ValueOfString("") + case "did.v1.Document.controller": + return protoreflect.ValueOfString("") + case "did.v1.Document.authentication": + list := []string{} + return protoreflect.ValueOfList(&_Document_3_list{list: &list}) + case "did.v1.Document.assertion_method": + list := []string{} + return protoreflect.ValueOfList(&_Document_4_list{list: &list}) + case "did.v1.Document.capability_delegation": + list := []string{} + return protoreflect.ValueOfList(&_Document_5_list{list: &list}) + case "did.v1.Document.capability_invocation": + list := []string{} + return protoreflect.ValueOfList(&_Document_6_list{list: &list}) + case "did.v1.Document.service": + list := []string{} + return protoreflect.ValueOfList(&_Document_7_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) + } + panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Document) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in did.v1.Document", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Document) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Document) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Document) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Document) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Document) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Id) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Controller) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Authentication) > 0 { + for _, s := range x.Authentication { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.AssertionMethod) > 0 { + for _, s := range x.AssertionMethod { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.CapabilityDelegation) > 0 { + for _, s := range x.CapabilityDelegation { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.CapabilityInvocation) > 0 { + for _, s := range x.CapabilityInvocation { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Service) > 0 { + for _, s := range x.Service { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Document) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Service) > 0 { + for iNdEx := len(x.Service) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Service[iNdEx]) + copy(dAtA[i:], x.Service[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Service[iNdEx]))) + i-- + dAtA[i] = 0x3a + } + } + if len(x.CapabilityInvocation) > 0 { + for iNdEx := len(x.CapabilityInvocation) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.CapabilityInvocation[iNdEx]) + copy(dAtA[i:], x.CapabilityInvocation[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CapabilityInvocation[iNdEx]))) + i-- + dAtA[i] = 0x32 + } + } + if len(x.CapabilityDelegation) > 0 { + for iNdEx := len(x.CapabilityDelegation) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.CapabilityDelegation[iNdEx]) + copy(dAtA[i:], x.CapabilityDelegation[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CapabilityDelegation[iNdEx]))) + i-- + dAtA[i] = 0x2a + } + } + if len(x.AssertionMethod) > 0 { + for iNdEx := len(x.AssertionMethod) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.AssertionMethod[iNdEx]) + copy(dAtA[i:], x.AssertionMethod[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AssertionMethod[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(x.Authentication) > 0 { + for iNdEx := len(x.Authentication) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Authentication[iNdEx]) + copy(dAtA[i:], x.Authentication[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authentication[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.Controller) > 0 { + i -= len(x.Controller) + copy(dAtA[i:], x.Controller) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) + i-- + dAtA[i] = 0x12 + } + if len(x.Id) > 0 { + i -= len(x.Id) + copy(dAtA[i:], x.Id) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Document) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Document: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Document: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Controller = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authentication", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authentication = append(x.Authentication, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AssertionMethod", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.AssertionMethod = append(x.AssertionMethod, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CapabilityDelegation", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.CapabilityDelegation = append(x.CapabilityDelegation, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CapabilityInvocation", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.CapabilityInvocation = append(x.CapabilityInvocation, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Service = append(x.Service, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + var ( md_KeyInfo protoreflect.MessageDescriptor fd_KeyInfo_role protoreflect.FieldDescriptor @@ -2978,7 +4099,7 @@ func (x *KeyInfo) ProtoReflect() protoreflect.Message { } func (x *KeyInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_genesis_proto_msgTypes[4] + mi := &file_did_v1_genesis_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3034,32 +4155,32 @@ func (x *fastReflection_KeyInfo) Interface() protoreflect.ProtoMessage { // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_KeyInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Role != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Role)) + if x.Role != "" { + value := protoreflect.ValueOfString(x.Role) if !f(fd_KeyInfo_role, value) { return } } - if x.Algorithm != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Algorithm)) + if x.Algorithm != "" { + value := protoreflect.ValueOfString(x.Algorithm) if !f(fd_KeyInfo_algorithm, value) { return } } - if x.Encoding != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Encoding)) + if x.Encoding != "" { + value := protoreflect.ValueOfString(x.Encoding) if !f(fd_KeyInfo_encoding, value) { return } } - if x.Curve != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Curve)) + if x.Curve != "" { + value := protoreflect.ValueOfString(x.Curve) if !f(fd_KeyInfo_curve, value) { return } } - if x.Type_ != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Type_)) + if x.Type_ != "" { + value := protoreflect.ValueOfString(x.Type_) if !f(fd_KeyInfo_type, value) { return } @@ -3080,15 +4201,15 @@ func (x *fastReflection_KeyInfo) Range(f func(protoreflect.FieldDescriptor, prot func (x *fastReflection_KeyInfo) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { case "did.v1.KeyInfo.role": - return x.Role != 0 + return x.Role != "" case "did.v1.KeyInfo.algorithm": - return x.Algorithm != 0 + return x.Algorithm != "" case "did.v1.KeyInfo.encoding": - return x.Encoding != 0 + return x.Encoding != "" case "did.v1.KeyInfo.curve": - return x.Curve != 0 + return x.Curve != "" case "did.v1.KeyInfo.type": - return x.Type_ != 0 + return x.Type_ != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.KeyInfo")) @@ -3106,15 +4227,15 @@ func (x *fastReflection_KeyInfo) Has(fd protoreflect.FieldDescriptor) bool { func (x *fastReflection_KeyInfo) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "did.v1.KeyInfo.role": - x.Role = 0 + x.Role = "" case "did.v1.KeyInfo.algorithm": - x.Algorithm = 0 + x.Algorithm = "" case "did.v1.KeyInfo.encoding": - x.Encoding = 0 + x.Encoding = "" case "did.v1.KeyInfo.curve": - x.Curve = 0 + x.Curve = "" case "did.v1.KeyInfo.type": - x.Type_ = 0 + x.Type_ = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.KeyInfo")) @@ -3133,19 +4254,19 @@ func (x *fastReflection_KeyInfo) Get(descriptor protoreflect.FieldDescriptor) pr switch descriptor.FullName() { case "did.v1.KeyInfo.role": value := x.Role - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + return protoreflect.ValueOfString(value) case "did.v1.KeyInfo.algorithm": value := x.Algorithm - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + return protoreflect.ValueOfString(value) case "did.v1.KeyInfo.encoding": value := x.Encoding - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + return protoreflect.ValueOfString(value) case "did.v1.KeyInfo.curve": value := x.Curve - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + return protoreflect.ValueOfString(value) case "did.v1.KeyInfo.type": value := x.Type_ - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.KeyInfo")) @@ -3167,15 +4288,15 @@ func (x *fastReflection_KeyInfo) Get(descriptor protoreflect.FieldDescriptor) pr func (x *fastReflection_KeyInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { case "did.v1.KeyInfo.role": - x.Role = (KeyRole)(value.Enum()) + x.Role = value.Interface().(string) case "did.v1.KeyInfo.algorithm": - x.Algorithm = (KeyAlgorithm)(value.Enum()) + x.Algorithm = value.Interface().(string) case "did.v1.KeyInfo.encoding": - x.Encoding = (KeyEncoding)(value.Enum()) + x.Encoding = value.Interface().(string) case "did.v1.KeyInfo.curve": - x.Curve = (KeyCurve)(value.Enum()) + x.Curve = value.Interface().(string) case "did.v1.KeyInfo.type": - x.Type_ = (KeyType)(value.Enum()) + x.Type_ = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.KeyInfo")) @@ -3220,15 +4341,15 @@ func (x *fastReflection_KeyInfo) Mutable(fd protoreflect.FieldDescriptor) protor func (x *fastReflection_KeyInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "did.v1.KeyInfo.role": - return protoreflect.ValueOfEnum(0) + return protoreflect.ValueOfString("") case "did.v1.KeyInfo.algorithm": - return protoreflect.ValueOfEnum(0) + return protoreflect.ValueOfString("") case "did.v1.KeyInfo.encoding": - return protoreflect.ValueOfEnum(0) + return protoreflect.ValueOfString("") case "did.v1.KeyInfo.curve": - return protoreflect.ValueOfEnum(0) + return protoreflect.ValueOfString("") case "did.v1.KeyInfo.type": - return protoreflect.ValueOfEnum(0) + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.KeyInfo")) @@ -3298,20 +4419,25 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - if x.Role != 0 { - n += 1 + runtime.Sov(uint64(x.Role)) + l = len(x.Role) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.Algorithm != 0 { - n += 1 + runtime.Sov(uint64(x.Algorithm)) + l = len(x.Algorithm) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.Encoding != 0 { - n += 1 + runtime.Sov(uint64(x.Encoding)) + l = len(x.Encoding) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.Curve != 0 { - n += 1 + runtime.Sov(uint64(x.Curve)) + l = len(x.Curve) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.Type_ != 0 { - n += 1 + runtime.Sov(uint64(x.Type_)) + l = len(x.Type_) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -3342,30 +4468,40 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Type_ != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Type_)) + if len(x.Type_) > 0 { + i -= len(x.Type_) + copy(dAtA[i:], x.Type_) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Type_))) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x2a } - if x.Curve != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Curve)) + if len(x.Curve) > 0 { + i -= len(x.Curve) + copy(dAtA[i:], x.Curve) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Curve))) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x22 } - if x.Encoding != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Encoding)) + if len(x.Encoding) > 0 { + i -= len(x.Encoding) + copy(dAtA[i:], x.Encoding) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Encoding))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if x.Algorithm != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Algorithm)) + if len(x.Algorithm) > 0 { + i -= len(x.Algorithm) + copy(dAtA[i:], x.Algorithm) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Algorithm))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if x.Role != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Role)) + if len(x.Role) > 0 { + i -= len(x.Role) + copy(dAtA[i:], x.Role) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Role))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) @@ -3417,10 +4553,10 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { } switch fieldNum { case 1: - if wireType != 0 { + if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) } - x.Role = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3430,16 +4566,29 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Role |= KeyRole(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Role = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 2: - if wireType != 0 { + if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Algorithm", wireType) } - x.Algorithm = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3449,16 +4598,29 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Algorithm |= KeyAlgorithm(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Algorithm = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 3: - if wireType != 0 { + if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encoding", wireType) } - x.Encoding = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3468,16 +4630,29 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Encoding |= KeyEncoding(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Encoding = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 4: - if wireType != 0 { + if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Curve", wireType) } - x.Curve = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3487,16 +4662,29 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Curve |= KeyCurve(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Curve = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 5: - if wireType != 0 { + if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Type_", wireType) } - x.Type_ = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3506,11 +4694,24 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Type_ |= KeyType(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Type_ = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -3546,139 +4747,39 @@ func (x *fastReflection_KeyInfo) ProtoMethods() *protoiface.Methods { } } -var _ protoreflect.List = (*_ValidatorInfo_2_list)(nil) - -type _ValidatorInfo_2_list struct { - list *[]*ValidatorInfo_Endpoint -} - -func (x *_ValidatorInfo_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_ValidatorInfo_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_ValidatorInfo_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ValidatorInfo_Endpoint) - (*x.list)[i] = concreteValue -} - -func (x *_ValidatorInfo_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ValidatorInfo_Endpoint) - *x.list = append(*x.list, concreteValue) -} - -func (x *_ValidatorInfo_2_list) AppendMutable() protoreflect.Value { - v := new(ValidatorInfo_Endpoint) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ValidatorInfo_2_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_ValidatorInfo_2_list) NewElement() protoreflect.Value { - v := new(ValidatorInfo_Endpoint) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ValidatorInfo_2_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_ValidatorInfo_3_list)(nil) - -type _ValidatorInfo_3_list struct { - list *[]*ValidatorInfo_Endpoint -} - -func (x *_ValidatorInfo_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_ValidatorInfo_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_ValidatorInfo_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ValidatorInfo_Endpoint) - (*x.list)[i] = concreteValue -} - -func (x *_ValidatorInfo_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ValidatorInfo_Endpoint) - *x.list = append(*x.list, concreteValue) -} - -func (x *_ValidatorInfo_3_list) AppendMutable() protoreflect.Value { - v := new(ValidatorInfo_Endpoint) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ValidatorInfo_3_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_ValidatorInfo_3_list) NewElement() protoreflect.Value { - v := new(ValidatorInfo_Endpoint) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ValidatorInfo_3_list) IsValid() bool { - return x.list != nil -} - var ( - md_ValidatorInfo protoreflect.MessageDescriptor - fd_ValidatorInfo_moniker protoreflect.FieldDescriptor - fd_ValidatorInfo_grpc_endpoints protoreflect.FieldDescriptor - fd_ValidatorInfo_rest_endpoints protoreflect.FieldDescriptor - fd_ValidatorInfo_explorer protoreflect.FieldDescriptor - fd_ValidatorInfo_fee_info protoreflect.FieldDescriptor - fd_ValidatorInfo_ibc_channel protoreflect.FieldDescriptor + md_PubKey protoreflect.MessageDescriptor + fd_PubKey_role protoreflect.FieldDescriptor + fd_PubKey_algorithm protoreflect.FieldDescriptor + fd_PubKey_encoding protoreflect.FieldDescriptor + fd_PubKey_curve protoreflect.FieldDescriptor + fd_PubKey_key_type protoreflect.FieldDescriptor + fd_PubKey_raw protoreflect.FieldDescriptor + fd_PubKey_jwk protoreflect.FieldDescriptor ) func init() { file_did_v1_genesis_proto_init() - md_ValidatorInfo = File_did_v1_genesis_proto.Messages().ByName("ValidatorInfo") - fd_ValidatorInfo_moniker = md_ValidatorInfo.Fields().ByName("moniker") - fd_ValidatorInfo_grpc_endpoints = md_ValidatorInfo.Fields().ByName("grpc_endpoints") - fd_ValidatorInfo_rest_endpoints = md_ValidatorInfo.Fields().ByName("rest_endpoints") - fd_ValidatorInfo_explorer = md_ValidatorInfo.Fields().ByName("explorer") - fd_ValidatorInfo_fee_info = md_ValidatorInfo.Fields().ByName("fee_info") - fd_ValidatorInfo_ibc_channel = md_ValidatorInfo.Fields().ByName("ibc_channel") + md_PubKey = File_did_v1_genesis_proto.Messages().ByName("PubKey") + fd_PubKey_role = md_PubKey.Fields().ByName("role") + fd_PubKey_algorithm = md_PubKey.Fields().ByName("algorithm") + fd_PubKey_encoding = md_PubKey.Fields().ByName("encoding") + fd_PubKey_curve = md_PubKey.Fields().ByName("curve") + fd_PubKey_key_type = md_PubKey.Fields().ByName("key_type") + fd_PubKey_raw = md_PubKey.Fields().ByName("raw") + fd_PubKey_jwk = md_PubKey.Fields().ByName("jwk") } -var _ protoreflect.Message = (*fastReflection_ValidatorInfo)(nil) +var _ protoreflect.Message = (*fastReflection_PubKey)(nil) -type fastReflection_ValidatorInfo ValidatorInfo +type fastReflection_PubKey PubKey -func (x *ValidatorInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_ValidatorInfo)(x) +func (x *PubKey) ProtoReflect() protoreflect.Message { + return (*fastReflection_PubKey)(x) } -func (x *ValidatorInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_genesis_proto_msgTypes[5] +func (x *PubKey) slowProtoReflect() protoreflect.Message { + mi := &file_did_v1_genesis_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3689,43 +4790,43 @@ func (x *ValidatorInfo) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_ValidatorInfo_messageType fastReflection_ValidatorInfo_messageType -var _ protoreflect.MessageType = fastReflection_ValidatorInfo_messageType{} +var _fastReflection_PubKey_messageType fastReflection_PubKey_messageType +var _ protoreflect.MessageType = fastReflection_PubKey_messageType{} -type fastReflection_ValidatorInfo_messageType struct{} +type fastReflection_PubKey_messageType struct{} -func (x fastReflection_ValidatorInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_ValidatorInfo)(nil) +func (x fastReflection_PubKey_messageType) Zero() protoreflect.Message { + return (*fastReflection_PubKey)(nil) } -func (x fastReflection_ValidatorInfo_messageType) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo) +func (x fastReflection_PubKey_messageType) New() protoreflect.Message { + return new(fastReflection_PubKey) } -func (x fastReflection_ValidatorInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo +func (x fastReflection_PubKey_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_PubKey } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_ValidatorInfo) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo +func (x *fastReflection_PubKey) Descriptor() protoreflect.MessageDescriptor { + return md_PubKey } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_ValidatorInfo) Type() protoreflect.MessageType { - return _fastReflection_ValidatorInfo_messageType +func (x *fastReflection_PubKey) Type() protoreflect.MessageType { + return _fastReflection_PubKey_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_ValidatorInfo) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo) +func (x *fastReflection_PubKey) New() protoreflect.Message { + return new(fastReflection_PubKey) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_ValidatorInfo) Interface() protoreflect.ProtoMessage { - return (*ValidatorInfo)(x) +func (x *fastReflection_PubKey) Interface() protoreflect.ProtoMessage { + return (*PubKey)(x) } // Range iterates over every populated field in an undefined order, @@ -3733,40 +4834,46 @@ func (x *fastReflection_ValidatorInfo) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_ValidatorInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Moniker != "" { - value := protoreflect.ValueOfString(x.Moniker) - if !f(fd_ValidatorInfo_moniker, value) { +func (x *fastReflection_PubKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Role != "" { + value := protoreflect.ValueOfString(x.Role) + if !f(fd_PubKey_role, value) { return } } - if len(x.GrpcEndpoints) != 0 { - value := protoreflect.ValueOfList(&_ValidatorInfo_2_list{list: &x.GrpcEndpoints}) - if !f(fd_ValidatorInfo_grpc_endpoints, value) { + if x.Algorithm != "" { + value := protoreflect.ValueOfString(x.Algorithm) + if !f(fd_PubKey_algorithm, value) { return } } - if len(x.RestEndpoints) != 0 { - value := protoreflect.ValueOfList(&_ValidatorInfo_3_list{list: &x.RestEndpoints}) - if !f(fd_ValidatorInfo_rest_endpoints, value) { + if x.Encoding != "" { + value := protoreflect.ValueOfString(x.Encoding) + if !f(fd_PubKey_encoding, value) { return } } - if x.Explorer != nil { - value := protoreflect.ValueOfMessage(x.Explorer.ProtoReflect()) - if !f(fd_ValidatorInfo_explorer, value) { + if x.Curve != "" { + value := protoreflect.ValueOfString(x.Curve) + if !f(fd_PubKey_curve, value) { return } } - if x.FeeInfo != nil { - value := protoreflect.ValueOfMessage(x.FeeInfo.ProtoReflect()) - if !f(fd_ValidatorInfo_fee_info, value) { + if x.KeyType != "" { + value := protoreflect.ValueOfString(x.KeyType) + if !f(fd_PubKey_key_type, value) { return } } - if x.IbcChannel != nil { - value := protoreflect.ValueOfMessage(x.IbcChannel.ProtoReflect()) - if !f(fd_ValidatorInfo_ibc_channel, value) { + if len(x.Raw) != 0 { + value := protoreflect.ValueOfBytes(x.Raw) + if !f(fd_PubKey_raw, value) { + return + } + } + if x.Jwk != nil { + value := protoreflect.ValueOfMessage(x.Jwk.ProtoReflect()) + if !f(fd_PubKey_jwk, value) { return } } @@ -3783,25 +4890,27 @@ func (x *fastReflection_ValidatorInfo) Range(f func(protoreflect.FieldDescriptor // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_ValidatorInfo) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_PubKey) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.ValidatorInfo.moniker": - return x.Moniker != "" - case "did.v1.ValidatorInfo.grpc_endpoints": - return len(x.GrpcEndpoints) != 0 - case "did.v1.ValidatorInfo.rest_endpoints": - return len(x.RestEndpoints) != 0 - case "did.v1.ValidatorInfo.explorer": - return x.Explorer != nil - case "did.v1.ValidatorInfo.fee_info": - return x.FeeInfo != nil - case "did.v1.ValidatorInfo.ibc_channel": - return x.IbcChannel != nil + case "did.v1.PubKey.role": + return x.Role != "" + case "did.v1.PubKey.algorithm": + return x.Algorithm != "" + case "did.v1.PubKey.encoding": + return x.Encoding != "" + case "did.v1.PubKey.curve": + return x.Curve != "" + case "did.v1.PubKey.key_type": + return x.KeyType != "" + case "did.v1.PubKey.raw": + return len(x.Raw) != 0 + case "did.v1.PubKey.jwk": + return x.Jwk != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) } } @@ -3811,25 +4920,27 @@ func (x *fastReflection_ValidatorInfo) Has(fd protoreflect.FieldDescriptor) bool // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_PubKey) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.ValidatorInfo.moniker": - x.Moniker = "" - case "did.v1.ValidatorInfo.grpc_endpoints": - x.GrpcEndpoints = nil - case "did.v1.ValidatorInfo.rest_endpoints": - x.RestEndpoints = nil - case "did.v1.ValidatorInfo.explorer": - x.Explorer = nil - case "did.v1.ValidatorInfo.fee_info": - x.FeeInfo = nil - case "did.v1.ValidatorInfo.ibc_channel": - x.IbcChannel = nil + case "did.v1.PubKey.role": + x.Role = "" + case "did.v1.PubKey.algorithm": + x.Algorithm = "" + case "did.v1.PubKey.encoding": + x.Encoding = "" + case "did.v1.PubKey.curve": + x.Curve = "" + case "did.v1.PubKey.key_type": + x.KeyType = "" + case "did.v1.PubKey.raw": + x.Raw = nil + case "did.v1.PubKey.jwk": + x.Jwk = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) } } @@ -3839,37 +4950,34 @@ func (x *fastReflection_ValidatorInfo) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ValidatorInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_PubKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.ValidatorInfo.moniker": - value := x.Moniker + case "did.v1.PubKey.role": + value := x.Role return protoreflect.ValueOfString(value) - case "did.v1.ValidatorInfo.grpc_endpoints": - if len(x.GrpcEndpoints) == 0 { - return protoreflect.ValueOfList(&_ValidatorInfo_2_list{}) - } - listValue := &_ValidatorInfo_2_list{list: &x.GrpcEndpoints} - return protoreflect.ValueOfList(listValue) - case "did.v1.ValidatorInfo.rest_endpoints": - if len(x.RestEndpoints) == 0 { - return protoreflect.ValueOfList(&_ValidatorInfo_3_list{}) - } - listValue := &_ValidatorInfo_3_list{list: &x.RestEndpoints} - return protoreflect.ValueOfList(listValue) - case "did.v1.ValidatorInfo.explorer": - value := x.Explorer - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.ValidatorInfo.fee_info": - value := x.FeeInfo - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.ValidatorInfo.ibc_channel": - value := x.IbcChannel + case "did.v1.PubKey.algorithm": + value := x.Algorithm + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.encoding": + value := x.Encoding + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.curve": + value := x.Curve + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.key_type": + value := x.KeyType + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.raw": + value := x.Raw + return protoreflect.ValueOfBytes(value) + case "did.v1.PubKey.jwk": + value := x.Jwk return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", descriptor.FullName())) } } @@ -3883,29 +4991,27 @@ func (x *fastReflection_ValidatorInfo) Get(descriptor protoreflect.FieldDescript // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_PubKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.ValidatorInfo.moniker": - x.Moniker = value.Interface().(string) - case "did.v1.ValidatorInfo.grpc_endpoints": - lv := value.List() - clv := lv.(*_ValidatorInfo_2_list) - x.GrpcEndpoints = *clv.list - case "did.v1.ValidatorInfo.rest_endpoints": - lv := value.List() - clv := lv.(*_ValidatorInfo_3_list) - x.RestEndpoints = *clv.list - case "did.v1.ValidatorInfo.explorer": - x.Explorer = value.Message().Interface().(*ValidatorInfo_ExplorerInfo) - case "did.v1.ValidatorInfo.fee_info": - x.FeeInfo = value.Message().Interface().(*ValidatorInfo_FeeInfo) - case "did.v1.ValidatorInfo.ibc_channel": - x.IbcChannel = value.Message().Interface().(*ValidatorInfo_IBCChannel) + case "did.v1.PubKey.role": + x.Role = value.Interface().(string) + case "did.v1.PubKey.algorithm": + x.Algorithm = value.Interface().(string) + case "did.v1.PubKey.encoding": + x.Encoding = value.Interface().(string) + case "did.v1.PubKey.curve": + x.Curve = value.Interface().(string) + case "did.v1.PubKey.key_type": + x.KeyType = value.Interface().(string) + case "did.v1.PubKey.raw": + x.Raw = value.Bytes() + case "did.v1.PubKey.jwk": + x.Jwk = value.Message().Interface().(*PubKey_JWK) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) } } @@ -3919,82 +5025,68 @@ func (x *fastReflection_ValidatorInfo) Set(fd protoreflect.FieldDescriptor, valu // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_PubKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.ValidatorInfo.grpc_endpoints": - if x.GrpcEndpoints == nil { - x.GrpcEndpoints = []*ValidatorInfo_Endpoint{} + case "did.v1.PubKey.jwk": + if x.Jwk == nil { + x.Jwk = new(PubKey_JWK) } - value := &_ValidatorInfo_2_list{list: &x.GrpcEndpoints} - return protoreflect.ValueOfList(value) - case "did.v1.ValidatorInfo.rest_endpoints": - if x.RestEndpoints == nil { - x.RestEndpoints = []*ValidatorInfo_Endpoint{} - } - value := &_ValidatorInfo_3_list{list: &x.RestEndpoints} - return protoreflect.ValueOfList(value) - case "did.v1.ValidatorInfo.explorer": - if x.Explorer == nil { - x.Explorer = new(ValidatorInfo_ExplorerInfo) - } - return protoreflect.ValueOfMessage(x.Explorer.ProtoReflect()) - case "did.v1.ValidatorInfo.fee_info": - if x.FeeInfo == nil { - x.FeeInfo = new(ValidatorInfo_FeeInfo) - } - return protoreflect.ValueOfMessage(x.FeeInfo.ProtoReflect()) - case "did.v1.ValidatorInfo.ibc_channel": - if x.IbcChannel == nil { - x.IbcChannel = new(ValidatorInfo_IBCChannel) - } - return protoreflect.ValueOfMessage(x.IbcChannel.ProtoReflect()) - case "did.v1.ValidatorInfo.moniker": - panic(fmt.Errorf("field moniker of message did.v1.ValidatorInfo is not mutable")) + return protoreflect.ValueOfMessage(x.Jwk.ProtoReflect()) + case "did.v1.PubKey.role": + panic(fmt.Errorf("field role of message did.v1.PubKey is not mutable")) + case "did.v1.PubKey.algorithm": + panic(fmt.Errorf("field algorithm of message did.v1.PubKey is not mutable")) + case "did.v1.PubKey.encoding": + panic(fmt.Errorf("field encoding of message did.v1.PubKey is not mutable")) + case "did.v1.PubKey.curve": + panic(fmt.Errorf("field curve of message did.v1.PubKey is not mutable")) + case "did.v1.PubKey.key_type": + panic(fmt.Errorf("field key_type of message did.v1.PubKey is not mutable")) + case "did.v1.PubKey.raw": + panic(fmt.Errorf("field raw of message did.v1.PubKey is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ValidatorInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_PubKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.ValidatorInfo.moniker": + case "did.v1.PubKey.role": return protoreflect.ValueOfString("") - case "did.v1.ValidatorInfo.grpc_endpoints": - list := []*ValidatorInfo_Endpoint{} - return protoreflect.ValueOfList(&_ValidatorInfo_2_list{list: &list}) - case "did.v1.ValidatorInfo.rest_endpoints": - list := []*ValidatorInfo_Endpoint{} - return protoreflect.ValueOfList(&_ValidatorInfo_3_list{list: &list}) - case "did.v1.ValidatorInfo.explorer": - m := new(ValidatorInfo_ExplorerInfo) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.ValidatorInfo.fee_info": - m := new(ValidatorInfo_FeeInfo) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.ValidatorInfo.ibc_channel": - m := new(ValidatorInfo_IBCChannel) + case "did.v1.PubKey.algorithm": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.encoding": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.curve": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.key_type": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.raw": + return protoreflect.ValueOfBytes(nil) + case "did.v1.PubKey.jwk": + m := new(PubKey_JWK) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ValidatorInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_PubKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ValidatorInfo", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.PubKey", d.FullName())) } panic("unreachable") } @@ -4002,7 +5094,7 @@ func (x *fastReflection_ValidatorInfo) WhichOneof(d protoreflect.OneofDescriptor // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ValidatorInfo) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_PubKey) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4013,7 +5105,7 @@ func (x *fastReflection_ValidatorInfo) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_PubKey) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4025,7 +5117,7 @@ func (x *fastReflection_ValidatorInfo) SetUnknown(fields protoreflect.RawFields) // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_ValidatorInfo) IsValid() bool { +func (x *fastReflection_PubKey) IsValid() bool { return x != nil } @@ -4035,9 +5127,9 @@ func (x *fastReflection_ValidatorInfo) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_ValidatorInfo) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_PubKey) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ValidatorInfo) + x := input.Message.Interface().(*PubKey) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4049,32 +5141,32 @@ func (x *fastReflection_ValidatorInfo) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Moniker) + l = len(x.Role) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.GrpcEndpoints) > 0 { - for _, e := range x.GrpcEndpoints { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.RestEndpoints) > 0 { - for _, e := range x.RestEndpoints { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.Explorer != nil { - l = options.Size(x.Explorer) + l = len(x.Algorithm) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.FeeInfo != nil { - l = options.Size(x.FeeInfo) + l = len(x.Encoding) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.IbcChannel != nil { - l = options.Size(x.IbcChannel) + l = len(x.Curve) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.KeyType) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Raw) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Jwk != nil { + l = options.Size(x.Jwk) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -4087,7 +5179,7 @@ func (x *fastReflection_ValidatorInfo) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo) + x := input.Message.Interface().(*PubKey) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4106,8 +5198,8 @@ func (x *fastReflection_ValidatorInfo) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.IbcChannel != nil { - encoded, err := options.Marshal(x.IbcChannel) + if x.Jwk != nil { + encoded, err := options.Marshal(x.Jwk) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4118,1174 +5210,47 @@ func (x *fastReflection_ValidatorInfo) ProtoMethods() *protoiface.Methods { copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- + dAtA[i] = 0x3a + } + if len(x.Raw) > 0 { + i -= len(x.Raw) + copy(dAtA[i:], x.Raw) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Raw))) + i-- dAtA[i] = 0x32 } - if x.FeeInfo != nil { - encoded, err := options.Marshal(x.FeeInfo) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + if len(x.KeyType) > 0 { + i -= len(x.KeyType) + copy(dAtA[i:], x.KeyType) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.KeyType))) i-- dAtA[i] = 0x2a } - if x.Explorer != nil { - encoded, err := options.Marshal(x.Explorer) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + if len(x.Curve) > 0 { + i -= len(x.Curve) + copy(dAtA[i:], x.Curve) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Curve))) i-- dAtA[i] = 0x22 } - if len(x.RestEndpoints) > 0 { - for iNdEx := len(x.RestEndpoints) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.RestEndpoints[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a - } - } - if len(x.GrpcEndpoints) > 0 { - for iNdEx := len(x.GrpcEndpoints) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.GrpcEndpoints[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - } - if len(x.Moniker) > 0 { - i -= len(x.Moniker) - copy(dAtA[i:], x.Moniker) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Moniker))) + if len(x.Encoding) > 0 { + i -= len(x.Encoding) + copy(dAtA[i:], x.Encoding) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Encoding))) i-- - dAtA[i] = 0xa + dAtA[i] = 0x1a } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Moniker", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Moniker = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GrpcEndpoints", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.GrpcEndpoints = append(x.GrpcEndpoints, &ValidatorInfo_Endpoint{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.GrpcEndpoints[len(x.GrpcEndpoints)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RestEndpoints", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.RestEndpoints = append(x.RestEndpoints, &ValidatorInfo_Endpoint{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.RestEndpoints[len(x.RestEndpoints)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Explorer", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Explorer == nil { - x.Explorer = &ValidatorInfo_ExplorerInfo{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Explorer); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FeeInfo", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.FeeInfo == nil { - x.FeeInfo = &ValidatorInfo_FeeInfo{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.FeeInfo); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IbcChannel", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.IbcChannel == nil { - x.IbcChannel = &ValidatorInfo_IBCChannel{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.IbcChannel); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_ValidatorInfo_Endpoint protoreflect.MessageDescriptor - fd_ValidatorInfo_Endpoint_url protoreflect.FieldDescriptor - fd_ValidatorInfo_Endpoint_is_primary protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_genesis_proto_init() - md_ValidatorInfo_Endpoint = File_did_v1_genesis_proto.Messages().ByName("ValidatorInfo").Messages().ByName("Endpoint") - fd_ValidatorInfo_Endpoint_url = md_ValidatorInfo_Endpoint.Fields().ByName("url") - fd_ValidatorInfo_Endpoint_is_primary = md_ValidatorInfo_Endpoint.Fields().ByName("is_primary") -} - -var _ protoreflect.Message = (*fastReflection_ValidatorInfo_Endpoint)(nil) - -type fastReflection_ValidatorInfo_Endpoint ValidatorInfo_Endpoint - -func (x *ValidatorInfo_Endpoint) ProtoReflect() protoreflect.Message { - return (*fastReflection_ValidatorInfo_Endpoint)(x) -} - -func (x *ValidatorInfo_Endpoint) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_genesis_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) -} - -var _fastReflection_ValidatorInfo_Endpoint_messageType fastReflection_ValidatorInfo_Endpoint_messageType -var _ protoreflect.MessageType = fastReflection_ValidatorInfo_Endpoint_messageType{} - -type fastReflection_ValidatorInfo_Endpoint_messageType struct{} - -func (x fastReflection_ValidatorInfo_Endpoint_messageType) Zero() protoreflect.Message { - return (*fastReflection_ValidatorInfo_Endpoint)(nil) -} -func (x fastReflection_ValidatorInfo_Endpoint_messageType) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_Endpoint) -} -func (x fastReflection_ValidatorInfo_Endpoint_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_Endpoint -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ValidatorInfo_Endpoint) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_Endpoint -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ValidatorInfo_Endpoint) Type() protoreflect.MessageType { - return _fastReflection_ValidatorInfo_Endpoint_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ValidatorInfo_Endpoint) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_Endpoint) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ValidatorInfo_Endpoint) Interface() protoreflect.ProtoMessage { - return (*ValidatorInfo_Endpoint)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ValidatorInfo_Endpoint) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Url != "" { - value := protoreflect.ValueOfString(x.Url) - if !f(fd_ValidatorInfo_Endpoint_url, value) { - return - } - } - if x.IsPrimary != false { - value := protoreflect.ValueOfBool(x.IsPrimary) - if !f(fd_ValidatorInfo_Endpoint_is_primary, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ValidatorInfo_Endpoint) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.ValidatorInfo.Endpoint.url": - return x.Url != "" - case "did.v1.ValidatorInfo.Endpoint.is_primary": - return x.IsPrimary != false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.Endpoint")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.Endpoint does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_Endpoint) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.ValidatorInfo.Endpoint.url": - x.Url = "" - case "did.v1.ValidatorInfo.Endpoint.is_primary": - x.IsPrimary = false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.Endpoint")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.Endpoint does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ValidatorInfo_Endpoint) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.ValidatorInfo.Endpoint.url": - value := x.Url - return protoreflect.ValueOfString(value) - case "did.v1.ValidatorInfo.Endpoint.is_primary": - value := x.IsPrimary - return protoreflect.ValueOfBool(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.Endpoint")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.Endpoint does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_Endpoint) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.ValidatorInfo.Endpoint.url": - x.Url = value.Interface().(string) - case "did.v1.ValidatorInfo.Endpoint.is_primary": - x.IsPrimary = value.Bool() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.Endpoint")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.Endpoint does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_Endpoint) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ValidatorInfo.Endpoint.url": - panic(fmt.Errorf("field url of message did.v1.ValidatorInfo.Endpoint is not mutable")) - case "did.v1.ValidatorInfo.Endpoint.is_primary": - panic(fmt.Errorf("field is_primary of message did.v1.ValidatorInfo.Endpoint is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.Endpoint")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.Endpoint does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ValidatorInfo_Endpoint) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ValidatorInfo.Endpoint.url": - return protoreflect.ValueOfString("") - case "did.v1.ValidatorInfo.Endpoint.is_primary": - return protoreflect.ValueOfBool(false) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.Endpoint")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.Endpoint does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ValidatorInfo_Endpoint) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ValidatorInfo.Endpoint", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ValidatorInfo_Endpoint) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_Endpoint) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ValidatorInfo_Endpoint) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ValidatorInfo_Endpoint) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ValidatorInfo_Endpoint) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Url) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.IsPrimary { - n += 2 - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_Endpoint) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.IsPrimary { - i-- - if x.IsPrimary { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if len(x.Url) > 0 { - i -= len(x.Url) - copy(dAtA[i:], x.Url) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Url))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_Endpoint) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_Endpoint: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_Endpoint: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Url = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IsPrimary", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.IsPrimary = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_ValidatorInfo_ExplorerInfo protoreflect.MessageDescriptor - fd_ValidatorInfo_ExplorerInfo_name protoreflect.FieldDescriptor - fd_ValidatorInfo_ExplorerInfo_url protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_genesis_proto_init() - md_ValidatorInfo_ExplorerInfo = File_did_v1_genesis_proto.Messages().ByName("ValidatorInfo").Messages().ByName("ExplorerInfo") - fd_ValidatorInfo_ExplorerInfo_name = md_ValidatorInfo_ExplorerInfo.Fields().ByName("name") - fd_ValidatorInfo_ExplorerInfo_url = md_ValidatorInfo_ExplorerInfo.Fields().ByName("url") -} - -var _ protoreflect.Message = (*fastReflection_ValidatorInfo_ExplorerInfo)(nil) - -type fastReflection_ValidatorInfo_ExplorerInfo ValidatorInfo_ExplorerInfo - -func (x *ValidatorInfo_ExplorerInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_ValidatorInfo_ExplorerInfo)(x) -} - -func (x *ValidatorInfo_ExplorerInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_genesis_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) -} - -var _fastReflection_ValidatorInfo_ExplorerInfo_messageType fastReflection_ValidatorInfo_ExplorerInfo_messageType -var _ protoreflect.MessageType = fastReflection_ValidatorInfo_ExplorerInfo_messageType{} - -type fastReflection_ValidatorInfo_ExplorerInfo_messageType struct{} - -func (x fastReflection_ValidatorInfo_ExplorerInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_ValidatorInfo_ExplorerInfo)(nil) -} -func (x fastReflection_ValidatorInfo_ExplorerInfo_messageType) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_ExplorerInfo) -} -func (x fastReflection_ValidatorInfo_ExplorerInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_ExplorerInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_ExplorerInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Type() protoreflect.MessageType { - return _fastReflection_ValidatorInfo_ExplorerInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_ExplorerInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Interface() protoreflect.ProtoMessage { - return (*ValidatorInfo_ExplorerInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Name != "" { - value := protoreflect.ValueOfString(x.Name) - if !f(fd_ValidatorInfo_ExplorerInfo_name, value) { - return - } - } - if x.Url != "" { - value := protoreflect.ValueOfString(x.Url) - if !f(fd_ValidatorInfo_ExplorerInfo_url, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.ValidatorInfo.ExplorerInfo.name": - return x.Name != "" - case "did.v1.ValidatorInfo.ExplorerInfo.url": - return x.Url != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.ValidatorInfo.ExplorerInfo.name": - x.Name = "" - case "did.v1.ValidatorInfo.ExplorerInfo.url": - x.Url = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.ValidatorInfo.ExplorerInfo.name": - value := x.Name - return protoreflect.ValueOfString(value) - case "did.v1.ValidatorInfo.ExplorerInfo.url": - value := x.Url - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.ExplorerInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.ValidatorInfo.ExplorerInfo.name": - x.Name = value.Interface().(string) - case "did.v1.ValidatorInfo.ExplorerInfo.url": - x.Url = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ValidatorInfo.ExplorerInfo.name": - panic(fmt.Errorf("field name of message did.v1.ValidatorInfo.ExplorerInfo is not mutable")) - case "did.v1.ValidatorInfo.ExplorerInfo.url": - panic(fmt.Errorf("field url of message did.v1.ValidatorInfo.ExplorerInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ValidatorInfo.ExplorerInfo.name": - return protoreflect.ValueOfString("") - case "did.v1.ValidatorInfo.ExplorerInfo.url": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ValidatorInfo.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ValidatorInfo.ExplorerInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ValidatorInfo_ExplorerInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ValidatorInfo_ExplorerInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Name) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Url) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_ExplorerInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Url) > 0 { - i -= len(x.Url) - copy(dAtA[i:], x.Url) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Url))) + if len(x.Algorithm) > 0 { + i -= len(x.Algorithm) + copy(dAtA[i:], x.Algorithm) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Algorithm))) i-- dAtA[i] = 0x12 } - if len(x.Name) > 0 { - i -= len(x.Name) - copy(dAtA[i:], x.Name) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + if len(x.Role) > 0 { + i -= len(x.Role) + copy(dAtA[i:], x.Role) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Role))) i-- dAtA[i] = 0xa } @@ -5300,7 +5265,7 @@ func (x *fastReflection_ValidatorInfo_ExplorerInfo) ProtoMethods() *protoiface.M }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_ExplorerInfo) + x := input.Message.Interface().(*PubKey) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5332,15 +5297,15 @@ func (x *fastReflection_ValidatorInfo_ExplorerInfo) ProtoMethods() *protoiface.M fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_ExplorerInfo: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_ExplorerInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5368,11 +5333,11 @@ func (x *fastReflection_ValidatorInfo_ExplorerInfo) ProtoMethods() *protoiface.M if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Name = string(dAtA[iNdEx:postIndex]) + x.Role = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Algorithm", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5400,7 +5365,173 @@ func (x *fastReflection_ValidatorInfo_ExplorerInfo) ProtoMethods() *protoiface.M if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Url = string(dAtA[iNdEx:postIndex]) + x.Algorithm = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encoding", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Encoding = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Curve", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Curve = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field KeyType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.KeyType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Raw", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Raw = append(x.Raw[:0], dAtA[iNdEx:postIndex]...) + if x.Raw == nil { + x.Raw = []byte{} + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Jwk", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Jwk == nil { + x.Jwk = &PubKey_JWK{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Jwk); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } iNdEx = postIndex default: iNdEx = preIndex @@ -5437,80 +5568,36 @@ func (x *fastReflection_ValidatorInfo_ExplorerInfo) ProtoMethods() *protoiface.M } } -var _ protoreflect.List = (*_ValidatorInfo_FeeInfo_2_list)(nil) - -type _ValidatorInfo_FeeInfo_2_list struct { - list *[]string -} - -func (x *_ValidatorInfo_FeeInfo_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_ValidatorInfo_FeeInfo_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_ValidatorInfo_FeeInfo_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_ValidatorInfo_FeeInfo_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_ValidatorInfo_FeeInfo_2_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message ValidatorInfo_FeeInfo at list field FeeRates as it is not of Message kind")) -} - -func (x *_ValidatorInfo_FeeInfo_2_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_ValidatorInfo_FeeInfo_2_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_ValidatorInfo_FeeInfo_2_list) IsValid() bool { - return x.list != nil -} - var ( - md_ValidatorInfo_FeeInfo protoreflect.MessageDescriptor - fd_ValidatorInfo_FeeInfo_base_denom protoreflect.FieldDescriptor - fd_ValidatorInfo_FeeInfo_fee_rates protoreflect.FieldDescriptor - fd_ValidatorInfo_FeeInfo_init_gas_limit protoreflect.FieldDescriptor - fd_ValidatorInfo_FeeInfo_is_simulable protoreflect.FieldDescriptor - fd_ValidatorInfo_FeeInfo_gas_multiply protoreflect.FieldDescriptor + md_PubKey_JWK protoreflect.MessageDescriptor + fd_PubKey_JWK_kty protoreflect.FieldDescriptor + fd_PubKey_JWK_crv protoreflect.FieldDescriptor + fd_PubKey_JWK_x protoreflect.FieldDescriptor + fd_PubKey_JWK_y protoreflect.FieldDescriptor + fd_PubKey_JWK_n protoreflect.FieldDescriptor + fd_PubKey_JWK_e protoreflect.FieldDescriptor ) func init() { file_did_v1_genesis_proto_init() - md_ValidatorInfo_FeeInfo = File_did_v1_genesis_proto.Messages().ByName("ValidatorInfo").Messages().ByName("FeeInfo") - fd_ValidatorInfo_FeeInfo_base_denom = md_ValidatorInfo_FeeInfo.Fields().ByName("base_denom") - fd_ValidatorInfo_FeeInfo_fee_rates = md_ValidatorInfo_FeeInfo.Fields().ByName("fee_rates") - fd_ValidatorInfo_FeeInfo_init_gas_limit = md_ValidatorInfo_FeeInfo.Fields().ByName("init_gas_limit") - fd_ValidatorInfo_FeeInfo_is_simulable = md_ValidatorInfo_FeeInfo.Fields().ByName("is_simulable") - fd_ValidatorInfo_FeeInfo_gas_multiply = md_ValidatorInfo_FeeInfo.Fields().ByName("gas_multiply") + md_PubKey_JWK = File_did_v1_genesis_proto.Messages().ByName("PubKey").Messages().ByName("JWK") + fd_PubKey_JWK_kty = md_PubKey_JWK.Fields().ByName("kty") + fd_PubKey_JWK_crv = md_PubKey_JWK.Fields().ByName("crv") + fd_PubKey_JWK_x = md_PubKey_JWK.Fields().ByName("x") + fd_PubKey_JWK_y = md_PubKey_JWK.Fields().ByName("y") + fd_PubKey_JWK_n = md_PubKey_JWK.Fields().ByName("n") + fd_PubKey_JWK_e = md_PubKey_JWK.Fields().ByName("e") } -var _ protoreflect.Message = (*fastReflection_ValidatorInfo_FeeInfo)(nil) +var _ protoreflect.Message = (*fastReflection_PubKey_JWK)(nil) -type fastReflection_ValidatorInfo_FeeInfo ValidatorInfo_FeeInfo +type fastReflection_PubKey_JWK PubKey_JWK -func (x *ValidatorInfo_FeeInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_ValidatorInfo_FeeInfo)(x) +func (x *PubKey_JWK) ProtoReflect() protoreflect.Message { + return (*fastReflection_PubKey_JWK)(x) } -func (x *ValidatorInfo_FeeInfo) slowProtoReflect() protoreflect.Message { +func (x *PubKey_JWK) slowProtoReflect() protoreflect.Message { mi := &file_did_v1_genesis_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5522,43 +5609,43 @@ func (x *ValidatorInfo_FeeInfo) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_ValidatorInfo_FeeInfo_messageType fastReflection_ValidatorInfo_FeeInfo_messageType -var _ protoreflect.MessageType = fastReflection_ValidatorInfo_FeeInfo_messageType{} +var _fastReflection_PubKey_JWK_messageType fastReflection_PubKey_JWK_messageType +var _ protoreflect.MessageType = fastReflection_PubKey_JWK_messageType{} -type fastReflection_ValidatorInfo_FeeInfo_messageType struct{} +type fastReflection_PubKey_JWK_messageType struct{} -func (x fastReflection_ValidatorInfo_FeeInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_ValidatorInfo_FeeInfo)(nil) +func (x fastReflection_PubKey_JWK_messageType) Zero() protoreflect.Message { + return (*fastReflection_PubKey_JWK)(nil) } -func (x fastReflection_ValidatorInfo_FeeInfo_messageType) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_FeeInfo) +func (x fastReflection_PubKey_JWK_messageType) New() protoreflect.Message { + return new(fastReflection_PubKey_JWK) } -func (x fastReflection_ValidatorInfo_FeeInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_FeeInfo +func (x fastReflection_PubKey_JWK_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_PubKey_JWK } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_ValidatorInfo_FeeInfo) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_FeeInfo +func (x *fastReflection_PubKey_JWK) Descriptor() protoreflect.MessageDescriptor { + return md_PubKey_JWK } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_ValidatorInfo_FeeInfo) Type() protoreflect.MessageType { - return _fastReflection_ValidatorInfo_FeeInfo_messageType +func (x *fastReflection_PubKey_JWK) Type() protoreflect.MessageType { + return _fastReflection_PubKey_JWK_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_ValidatorInfo_FeeInfo) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_FeeInfo) +func (x *fastReflection_PubKey_JWK) New() protoreflect.Message { + return new(fastReflection_PubKey_JWK) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_ValidatorInfo_FeeInfo) Interface() protoreflect.ProtoMessage { - return (*ValidatorInfo_FeeInfo)(x) +func (x *fastReflection_PubKey_JWK) Interface() protoreflect.ProtoMessage { + return (*PubKey_JWK)(x) } // Range iterates over every populated field in an undefined order, @@ -5566,34 +5653,40 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) Interface() protoreflect.ProtoMes // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_ValidatorInfo_FeeInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.BaseDenom != "" { - value := protoreflect.ValueOfString(x.BaseDenom) - if !f(fd_ValidatorInfo_FeeInfo_base_denom, value) { +func (x *fastReflection_PubKey_JWK) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Kty != "" { + value := protoreflect.ValueOfString(x.Kty) + if !f(fd_PubKey_JWK_kty, value) { return } } - if len(x.FeeRates) != 0 { - value := protoreflect.ValueOfList(&_ValidatorInfo_FeeInfo_2_list{list: &x.FeeRates}) - if !f(fd_ValidatorInfo_FeeInfo_fee_rates, value) { + if x.Crv != "" { + value := protoreflect.ValueOfString(x.Crv) + if !f(fd_PubKey_JWK_crv, value) { return } } - if x.InitGasLimit != int32(0) { - value := protoreflect.ValueOfInt32(x.InitGasLimit) - if !f(fd_ValidatorInfo_FeeInfo_init_gas_limit, value) { + if x.X != "" { + value := protoreflect.ValueOfString(x.X) + if !f(fd_PubKey_JWK_x, value) { return } } - if x.IsSimulable != false { - value := protoreflect.ValueOfBool(x.IsSimulable) - if !f(fd_ValidatorInfo_FeeInfo_is_simulable, value) { + if x.Y != "" { + value := protoreflect.ValueOfString(x.Y) + if !f(fd_PubKey_JWK_y, value) { return } } - if x.GasMultiply != float64(0) || math.Signbit(x.GasMultiply) { - value := protoreflect.ValueOfFloat64(x.GasMultiply) - if !f(fd_ValidatorInfo_FeeInfo_gas_multiply, value) { + if x.N != "" { + value := protoreflect.ValueOfString(x.N) + if !f(fd_PubKey_JWK_n, value) { + return + } + } + if x.E != "" { + value := protoreflect.ValueOfString(x.E) + if !f(fd_PubKey_JWK_e, value) { return } } @@ -5610,23 +5703,25 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) Range(f func(protoreflect.FieldDe // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_ValidatorInfo_FeeInfo) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_PubKey_JWK) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.ValidatorInfo.FeeInfo.base_denom": - return x.BaseDenom != "" - case "did.v1.ValidatorInfo.FeeInfo.fee_rates": - return len(x.FeeRates) != 0 - case "did.v1.ValidatorInfo.FeeInfo.init_gas_limit": - return x.InitGasLimit != int32(0) - case "did.v1.ValidatorInfo.FeeInfo.is_simulable": - return x.IsSimulable != false - case "did.v1.ValidatorInfo.FeeInfo.gas_multiply": - return x.GasMultiply != float64(0) || math.Signbit(x.GasMultiply) + case "did.v1.PubKey.JWK.kty": + return x.Kty != "" + case "did.v1.PubKey.JWK.crv": + return x.Crv != "" + case "did.v1.PubKey.JWK.x": + return x.X != "" + case "did.v1.PubKey.JWK.y": + return x.Y != "" + case "did.v1.PubKey.JWK.n": + return x.N != "" + case "did.v1.PubKey.JWK.e": + return x.E != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.FeeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.FeeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) } } @@ -5636,23 +5731,25 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) Has(fd protoreflect.FieldDescript // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_FeeInfo) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_PubKey_JWK) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.ValidatorInfo.FeeInfo.base_denom": - x.BaseDenom = "" - case "did.v1.ValidatorInfo.FeeInfo.fee_rates": - x.FeeRates = nil - case "did.v1.ValidatorInfo.FeeInfo.init_gas_limit": - x.InitGasLimit = int32(0) - case "did.v1.ValidatorInfo.FeeInfo.is_simulable": - x.IsSimulable = false - case "did.v1.ValidatorInfo.FeeInfo.gas_multiply": - x.GasMultiply = float64(0) + case "did.v1.PubKey.JWK.kty": + x.Kty = "" + case "did.v1.PubKey.JWK.crv": + x.Crv = "" + case "did.v1.PubKey.JWK.x": + x.X = "" + case "did.v1.PubKey.JWK.y": + x.Y = "" + case "did.v1.PubKey.JWK.n": + x.N = "" + case "did.v1.PubKey.JWK.e": + x.E = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.FeeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.FeeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) } } @@ -5662,31 +5759,31 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) Clear(fd protoreflect.FieldDescri // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ValidatorInfo_FeeInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_PubKey_JWK) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.ValidatorInfo.FeeInfo.base_denom": - value := x.BaseDenom + case "did.v1.PubKey.JWK.kty": + value := x.Kty + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.JWK.crv": + value := x.Crv + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.JWK.x": + value := x.X + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.JWK.y": + value := x.Y + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.JWK.n": + value := x.N + return protoreflect.ValueOfString(value) + case "did.v1.PubKey.JWK.e": + value := x.E return protoreflect.ValueOfString(value) - case "did.v1.ValidatorInfo.FeeInfo.fee_rates": - if len(x.FeeRates) == 0 { - return protoreflect.ValueOfList(&_ValidatorInfo_FeeInfo_2_list{}) - } - listValue := &_ValidatorInfo_FeeInfo_2_list{list: &x.FeeRates} - return protoreflect.ValueOfList(listValue) - case "did.v1.ValidatorInfo.FeeInfo.init_gas_limit": - value := x.InitGasLimit - return protoreflect.ValueOfInt32(value) - case "did.v1.ValidatorInfo.FeeInfo.is_simulable": - value := x.IsSimulable - return protoreflect.ValueOfBool(value) - case "did.v1.ValidatorInfo.FeeInfo.gas_multiply": - value := x.GasMultiply - return protoreflect.ValueOfFloat64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.FeeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.FeeInfo does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", descriptor.FullName())) } } @@ -5700,25 +5797,25 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) Get(descriptor protoreflect.Field // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_FeeInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_PubKey_JWK) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.ValidatorInfo.FeeInfo.base_denom": - x.BaseDenom = value.Interface().(string) - case "did.v1.ValidatorInfo.FeeInfo.fee_rates": - lv := value.List() - clv := lv.(*_ValidatorInfo_FeeInfo_2_list) - x.FeeRates = *clv.list - case "did.v1.ValidatorInfo.FeeInfo.init_gas_limit": - x.InitGasLimit = int32(value.Int()) - case "did.v1.ValidatorInfo.FeeInfo.is_simulable": - x.IsSimulable = value.Bool() - case "did.v1.ValidatorInfo.FeeInfo.gas_multiply": - x.GasMultiply = value.Float() + case "did.v1.PubKey.JWK.kty": + x.Kty = value.Interface().(string) + case "did.v1.PubKey.JWK.crv": + x.Crv = value.Interface().(string) + case "did.v1.PubKey.JWK.x": + x.X = value.Interface().(string) + case "did.v1.PubKey.JWK.y": + x.Y = value.Interface().(string) + case "did.v1.PubKey.JWK.n": + x.N = value.Interface().(string) + case "did.v1.PubKey.JWK.e": + x.E = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.FeeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.FeeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) } } @@ -5732,61 +5829,60 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) Set(fd protoreflect.FieldDescript // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_FeeInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_PubKey_JWK) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.ValidatorInfo.FeeInfo.fee_rates": - if x.FeeRates == nil { - x.FeeRates = []string{} - } - value := &_ValidatorInfo_FeeInfo_2_list{list: &x.FeeRates} - return protoreflect.ValueOfList(value) - case "did.v1.ValidatorInfo.FeeInfo.base_denom": - panic(fmt.Errorf("field base_denom of message did.v1.ValidatorInfo.FeeInfo is not mutable")) - case "did.v1.ValidatorInfo.FeeInfo.init_gas_limit": - panic(fmt.Errorf("field init_gas_limit of message did.v1.ValidatorInfo.FeeInfo is not mutable")) - case "did.v1.ValidatorInfo.FeeInfo.is_simulable": - panic(fmt.Errorf("field is_simulable of message did.v1.ValidatorInfo.FeeInfo is not mutable")) - case "did.v1.ValidatorInfo.FeeInfo.gas_multiply": - panic(fmt.Errorf("field gas_multiply of message did.v1.ValidatorInfo.FeeInfo is not mutable")) + case "did.v1.PubKey.JWK.kty": + panic(fmt.Errorf("field kty of message did.v1.PubKey.JWK is not mutable")) + case "did.v1.PubKey.JWK.crv": + panic(fmt.Errorf("field crv of message did.v1.PubKey.JWK is not mutable")) + case "did.v1.PubKey.JWK.x": + panic(fmt.Errorf("field x of message did.v1.PubKey.JWK is not mutable")) + case "did.v1.PubKey.JWK.y": + panic(fmt.Errorf("field y of message did.v1.PubKey.JWK is not mutable")) + case "did.v1.PubKey.JWK.n": + panic(fmt.Errorf("field n of message did.v1.PubKey.JWK is not mutable")) + case "did.v1.PubKey.JWK.e": + panic(fmt.Errorf("field e of message did.v1.PubKey.JWK is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.FeeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.FeeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ValidatorInfo_FeeInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_PubKey_JWK) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.ValidatorInfo.FeeInfo.base_denom": + case "did.v1.PubKey.JWK.kty": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.JWK.crv": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.JWK.x": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.JWK.y": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.JWK.n": + return protoreflect.ValueOfString("") + case "did.v1.PubKey.JWK.e": return protoreflect.ValueOfString("") - case "did.v1.ValidatorInfo.FeeInfo.fee_rates": - list := []string{} - return protoreflect.ValueOfList(&_ValidatorInfo_FeeInfo_2_list{list: &list}) - case "did.v1.ValidatorInfo.FeeInfo.init_gas_limit": - return protoreflect.ValueOfInt32(int32(0)) - case "did.v1.ValidatorInfo.FeeInfo.is_simulable": - return protoreflect.ValueOfBool(false) - case "did.v1.ValidatorInfo.FeeInfo.gas_multiply": - return protoreflect.ValueOfFloat64(float64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.FeeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.FeeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ValidatorInfo_FeeInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_PubKey_JWK) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ValidatorInfo.FeeInfo", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.PubKey.JWK", d.FullName())) } panic("unreachable") } @@ -5794,7 +5890,7 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) WhichOneof(d protoreflect.OneofDe // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ValidatorInfo_FeeInfo) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_PubKey_JWK) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5805,7 +5901,7 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) GetUnknown() protoreflect.RawFiel // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_FeeInfo) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_PubKey_JWK) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5817,7 +5913,7 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) SetUnknown(fields protoreflect.Ra // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_ValidatorInfo_FeeInfo) IsValid() bool { +func (x *fastReflection_PubKey_JWK) IsValid() bool { return x != nil } @@ -5827,9 +5923,9 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_PubKey_JWK) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ValidatorInfo_FeeInfo) + x := input.Message.Interface().(*PubKey_JWK) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5841,24 +5937,29 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method var n int var l int _ = l - l = len(x.BaseDenom) + l = len(x.Kty) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.FeeRates) > 0 { - for _, s := range x.FeeRates { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } + l = len(x.Crv) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.InitGasLimit != 0 { - n += 1 + runtime.Sov(uint64(x.InitGasLimit)) + l = len(x.X) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.IsSimulable { - n += 2 + l = len(x.Y) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.GasMultiply != 0 || math.Signbit(x.GasMultiply) { - n += 9 + l = len(x.N) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.E) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -5870,7 +5971,7 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_FeeInfo) + x := input.Message.Interface().(*PubKey_JWK) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5889,40 +5990,45 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.GasMultiply != 0 || math.Signbit(x.GasMultiply) { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(x.GasMultiply)))) + if len(x.E) > 0 { + i -= len(x.E) + copy(dAtA[i:], x.E) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.E))) i-- - dAtA[i] = 0x29 + dAtA[i] = 0x32 } - if x.IsSimulable { + if len(x.N) > 0 { + i -= len(x.N) + copy(dAtA[i:], x.N) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.N))) i-- - if x.IsSimulable { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } + dAtA[i] = 0x2a + } + if len(x.Y) > 0 { + i -= len(x.Y) + copy(dAtA[i:], x.Y) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Y))) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x22 } - if x.InitGasLimit != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.InitGasLimit)) + if len(x.X) > 0 { + i -= len(x.X) + copy(dAtA[i:], x.X) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.X))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if len(x.FeeRates) > 0 { - for iNdEx := len(x.FeeRates) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.FeeRates[iNdEx]) - copy(dAtA[i:], x.FeeRates[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.FeeRates[iNdEx]))) - i-- - dAtA[i] = 0x12 - } + if len(x.Crv) > 0 { + i -= len(x.Crv) + copy(dAtA[i:], x.Crv) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Crv))) + i-- + dAtA[i] = 0x12 } - if len(x.BaseDenom) > 0 { - i -= len(x.BaseDenom) - copy(dAtA[i:], x.BaseDenom) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BaseDenom))) + if len(x.Kty) > 0 { + i -= len(x.Kty) + copy(dAtA[i:], x.Kty) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Kty))) i-- dAtA[i] = 0xa } @@ -5937,7 +6043,7 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_FeeInfo) + x := input.Message.Interface().(*PubKey_JWK) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5969,15 +6075,15 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_FeeInfo: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey_JWK: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_FeeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey_JWK: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BaseDenom", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Kty", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6005,11 +6111,11 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.BaseDenom = string(dAtA[iNdEx:postIndex]) + x.Kty = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FeeRates", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Crv", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6037,13 +6143,13 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.FeeRates = append(x.FeeRates, string(dAtA[iNdEx:postIndex])) + x.Crv = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InitGasLimit", wireType) + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType) } - x.InitGasLimit = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -6053,42 +6159,120 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method } b := dAtA[iNdEx] iNdEx++ - x.InitGasLimit |= int32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 4: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IsSimulable", wireType) + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - x.IsSimulable = bool(v != 0) - case 5: - if wireType != 1 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GasMultiply", wireType) - } - var v uint64 - if (iNdEx + 8) > l { + if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - x.GasMultiply = float64(math.Float64frombits(v)) + x.X = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Y", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Y = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field N", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.N = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.E = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -6124,29 +6308,203 @@ func (x *fastReflection_ValidatorInfo_FeeInfo) ProtoMethods() *protoiface.Method } } +var _ protoreflect.Map = (*_Service_6_map)(nil) + +type _Service_6_map struct { + m *map[string]string +} + +func (x *_Service_6_map) Len() int { + if x.m == nil { + return 0 + } + return len(*x.m) +} + +func (x *_Service_6_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + if x.m == nil { + return + } + for k, v := range *x.m { + mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) + mapValue := protoreflect.ValueOfString(v) + if !f(mapKey, mapValue) { + break + } + } +} + +func (x *_Service_6_map) Has(key protoreflect.MapKey) bool { + if x.m == nil { + return false + } + keyUnwrapped := key.String() + concreteValue := keyUnwrapped + _, ok := (*x.m)[concreteValue] + return ok +} + +func (x *_Service_6_map) Clear(key protoreflect.MapKey) { + if x.m == nil { + return + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + delete(*x.m, concreteKey) +} + +func (x *_Service_6_map) Get(key protoreflect.MapKey) protoreflect.Value { + if x.m == nil { + return protoreflect.Value{} + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + v, ok := (*x.m)[concreteKey] + if !ok { + return protoreflect.Value{} + } + return protoreflect.ValueOfString(v) +} + +func (x *_Service_6_map) Set(key protoreflect.MapKey, value protoreflect.Value) { + if !key.IsValid() || !value.IsValid() { + panic("invalid key or value provided") + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.m)[concreteKey] = concreteValue +} + +func (x *_Service_6_map) Mutable(key protoreflect.MapKey) protoreflect.Value { + panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") +} + +func (x *_Service_6_map) NewValue() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Service_6_map) IsValid() bool { + return x.m != nil +} + +var _ protoreflect.Map = (*_Service_7_map)(nil) + +type _Service_7_map struct { + m *map[string]string +} + +func (x *_Service_7_map) Len() int { + if x.m == nil { + return 0 + } + return len(*x.m) +} + +func (x *_Service_7_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + if x.m == nil { + return + } + for k, v := range *x.m { + mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) + mapValue := protoreflect.ValueOfString(v) + if !f(mapKey, mapValue) { + break + } + } +} + +func (x *_Service_7_map) Has(key protoreflect.MapKey) bool { + if x.m == nil { + return false + } + keyUnwrapped := key.String() + concreteValue := keyUnwrapped + _, ok := (*x.m)[concreteValue] + return ok +} + +func (x *_Service_7_map) Clear(key protoreflect.MapKey) { + if x.m == nil { + return + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + delete(*x.m, concreteKey) +} + +func (x *_Service_7_map) Get(key protoreflect.MapKey) protoreflect.Value { + if x.m == nil { + return protoreflect.Value{} + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + v, ok := (*x.m)[concreteKey] + if !ok { + return protoreflect.Value{} + } + return protoreflect.ValueOfString(v) +} + +func (x *_Service_7_map) Set(key protoreflect.MapKey, value protoreflect.Value) { + if !key.IsValid() || !value.IsValid() { + panic("invalid key or value provided") + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.m)[concreteKey] = concreteValue +} + +func (x *_Service_7_map) Mutable(key protoreflect.MapKey) protoreflect.Value { + panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") +} + +func (x *_Service_7_map) NewValue() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Service_7_map) IsValid() bool { + return x.m != nil +} + var ( - md_ValidatorInfo_IBCChannel protoreflect.MessageDescriptor - fd_ValidatorInfo_IBCChannel_id protoreflect.FieldDescriptor - fd_ValidatorInfo_IBCChannel_port protoreflect.FieldDescriptor + md_Service protoreflect.MessageDescriptor + fd_Service_id protoreflect.FieldDescriptor + fd_Service_service_type protoreflect.FieldDescriptor + fd_Service_authority protoreflect.FieldDescriptor + fd_Service_origin protoreflect.FieldDescriptor + fd_Service_description protoreflect.FieldDescriptor + fd_Service_service_endpoints protoreflect.FieldDescriptor + fd_Service_permissions protoreflect.FieldDescriptor ) func init() { file_did_v1_genesis_proto_init() - md_ValidatorInfo_IBCChannel = File_did_v1_genesis_proto.Messages().ByName("ValidatorInfo").Messages().ByName("IBCChannel") - fd_ValidatorInfo_IBCChannel_id = md_ValidatorInfo_IBCChannel.Fields().ByName("id") - fd_ValidatorInfo_IBCChannel_port = md_ValidatorInfo_IBCChannel.Fields().ByName("port") + md_Service = File_did_v1_genesis_proto.Messages().ByName("Service") + fd_Service_id = md_Service.Fields().ByName("id") + fd_Service_service_type = md_Service.Fields().ByName("service_type") + fd_Service_authority = md_Service.Fields().ByName("authority") + fd_Service_origin = md_Service.Fields().ByName("origin") + fd_Service_description = md_Service.Fields().ByName("description") + fd_Service_service_endpoints = md_Service.Fields().ByName("service_endpoints") + fd_Service_permissions = md_Service.Fields().ByName("permissions") } -var _ protoreflect.Message = (*fastReflection_ValidatorInfo_IBCChannel)(nil) +var _ protoreflect.Message = (*fastReflection_Service)(nil) -type fastReflection_ValidatorInfo_IBCChannel ValidatorInfo_IBCChannel +type fastReflection_Service Service -func (x *ValidatorInfo_IBCChannel) ProtoReflect() protoreflect.Message { - return (*fastReflection_ValidatorInfo_IBCChannel)(x) +func (x *Service) ProtoReflect() protoreflect.Message { + return (*fastReflection_Service)(x) } -func (x *ValidatorInfo_IBCChannel) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_genesis_proto_msgTypes[10] +func (x *Service) slowProtoReflect() protoreflect.Message { + mi := &file_did_v1_genesis_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6157,43 +6515,43 @@ func (x *ValidatorInfo_IBCChannel) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_ValidatorInfo_IBCChannel_messageType fastReflection_ValidatorInfo_IBCChannel_messageType -var _ protoreflect.MessageType = fastReflection_ValidatorInfo_IBCChannel_messageType{} +var _fastReflection_Service_messageType fastReflection_Service_messageType +var _ protoreflect.MessageType = fastReflection_Service_messageType{} -type fastReflection_ValidatorInfo_IBCChannel_messageType struct{} +type fastReflection_Service_messageType struct{} -func (x fastReflection_ValidatorInfo_IBCChannel_messageType) Zero() protoreflect.Message { - return (*fastReflection_ValidatorInfo_IBCChannel)(nil) +func (x fastReflection_Service_messageType) Zero() protoreflect.Message { + return (*fastReflection_Service)(nil) } -func (x fastReflection_ValidatorInfo_IBCChannel_messageType) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_IBCChannel) +func (x fastReflection_Service_messageType) New() protoreflect.Message { + return new(fastReflection_Service) } -func (x fastReflection_ValidatorInfo_IBCChannel_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_IBCChannel +func (x fastReflection_Service_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Service } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_ValidatorInfo_IBCChannel) Descriptor() protoreflect.MessageDescriptor { - return md_ValidatorInfo_IBCChannel +func (x *fastReflection_Service) Descriptor() protoreflect.MessageDescriptor { + return md_Service } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_ValidatorInfo_IBCChannel) Type() protoreflect.MessageType { - return _fastReflection_ValidatorInfo_IBCChannel_messageType +func (x *fastReflection_Service) Type() protoreflect.MessageType { + return _fastReflection_Service_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_ValidatorInfo_IBCChannel) New() protoreflect.Message { - return new(fastReflection_ValidatorInfo_IBCChannel) +func (x *fastReflection_Service) New() protoreflect.Message { + return new(fastReflection_Service) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_ValidatorInfo_IBCChannel) Interface() protoreflect.ProtoMessage { - return (*ValidatorInfo_IBCChannel)(x) +func (x *fastReflection_Service) Interface() protoreflect.ProtoMessage { + return (*Service)(x) } // Range iterates over every populated field in an undefined order, @@ -6201,16 +6559,46 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_ValidatorInfo_IBCChannel) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_Service) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Id != "" { value := protoreflect.ValueOfString(x.Id) - if !f(fd_ValidatorInfo_IBCChannel_id, value) { + if !f(fd_Service_id, value) { return } } - if x.Port != "" { - value := protoreflect.ValueOfString(x.Port) - if !f(fd_ValidatorInfo_IBCChannel_port, value) { + if x.ServiceType != "" { + value := protoreflect.ValueOfString(x.ServiceType) + if !f(fd_Service_service_type, value) { + return + } + } + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_Service_authority, value) { + return + } + } + if x.Origin != "" { + value := protoreflect.ValueOfString(x.Origin) + if !f(fd_Service_origin, value) { + return + } + } + if x.Description != "" { + value := protoreflect.ValueOfString(x.Description) + if !f(fd_Service_description, value) { + return + } + } + if len(x.ServiceEndpoints) != 0 { + value := protoreflect.ValueOfMap(&_Service_6_map{m: &x.ServiceEndpoints}) + if !f(fd_Service_service_endpoints, value) { + return + } + } + if len(x.Permissions) != 0 { + value := protoreflect.ValueOfMap(&_Service_7_map{m: &x.Permissions}) + if !f(fd_Service_permissions, value) { return } } @@ -6227,17 +6615,27 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) Range(f func(protoreflect.Fiel // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_ValidatorInfo_IBCChannel) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_Service) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.ValidatorInfo.IBCChannel.id": + case "did.v1.Service.id": return x.Id != "" - case "did.v1.ValidatorInfo.IBCChannel.port": - return x.Port != "" + case "did.v1.Service.service_type": + return x.ServiceType != "" + case "did.v1.Service.authority": + return x.Authority != "" + case "did.v1.Service.origin": + return x.Origin != "" + case "did.v1.Service.description": + return x.Description != "" + case "did.v1.Service.service_endpoints": + return len(x.ServiceEndpoints) != 0 + case "did.v1.Service.permissions": + return len(x.Permissions) != 0 default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.IBCChannel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.IBCChannel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) } } @@ -6247,17 +6645,27 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_IBCChannel) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_Service) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.ValidatorInfo.IBCChannel.id": + case "did.v1.Service.id": x.Id = "" - case "did.v1.ValidatorInfo.IBCChannel.port": - x.Port = "" + case "did.v1.Service.service_type": + x.ServiceType = "" + case "did.v1.Service.authority": + x.Authority = "" + case "did.v1.Service.origin": + x.Origin = "" + case "did.v1.Service.description": + x.Description = "" + case "did.v1.Service.service_endpoints": + x.ServiceEndpoints = nil + case "did.v1.Service.permissions": + x.Permissions = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.IBCChannel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.IBCChannel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) } } @@ -6267,19 +6675,40 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) Clear(fd protoreflect.FieldDes // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ValidatorInfo_IBCChannel) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Service) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.ValidatorInfo.IBCChannel.id": + case "did.v1.Service.id": value := x.Id return protoreflect.ValueOfString(value) - case "did.v1.ValidatorInfo.IBCChannel.port": - value := x.Port + case "did.v1.Service.service_type": + value := x.ServiceType return protoreflect.ValueOfString(value) + case "did.v1.Service.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "did.v1.Service.origin": + value := x.Origin + return protoreflect.ValueOfString(value) + case "did.v1.Service.description": + value := x.Description + return protoreflect.ValueOfString(value) + case "did.v1.Service.service_endpoints": + if len(x.ServiceEndpoints) == 0 { + return protoreflect.ValueOfMap(&_Service_6_map{}) + } + mapValue := &_Service_6_map{m: &x.ServiceEndpoints} + return protoreflect.ValueOfMap(mapValue) + case "did.v1.Service.permissions": + if len(x.Permissions) == 0 { + return protoreflect.ValueOfMap(&_Service_7_map{}) + } + mapValue := &_Service_7_map{m: &x.Permissions} + return protoreflect.ValueOfMap(mapValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.IBCChannel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.IBCChannel does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.Service does not contain field %s", descriptor.FullName())) } } @@ -6293,17 +6722,31 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_IBCChannel) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_Service) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.ValidatorInfo.IBCChannel.id": + case "did.v1.Service.id": x.Id = value.Interface().(string) - case "did.v1.ValidatorInfo.IBCChannel.port": - x.Port = value.Interface().(string) + case "did.v1.Service.service_type": + x.ServiceType = value.Interface().(string) + case "did.v1.Service.authority": + x.Authority = value.Interface().(string) + case "did.v1.Service.origin": + x.Origin = value.Interface().(string) + case "did.v1.Service.description": + x.Description = value.Interface().(string) + case "did.v1.Service.service_endpoints": + mv := value.Map() + cmv := mv.(*_Service_6_map) + x.ServiceEndpoints = *cmv.m + case "did.v1.Service.permissions": + mv := value.Map() + cmv := mv.(*_Service_7_map) + x.Permissions = *cmv.m default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.IBCChannel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.IBCChannel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) } } @@ -6317,44 +6760,74 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_IBCChannel) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Service) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.ValidatorInfo.IBCChannel.id": - panic(fmt.Errorf("field id of message did.v1.ValidatorInfo.IBCChannel is not mutable")) - case "did.v1.ValidatorInfo.IBCChannel.port": - panic(fmt.Errorf("field port of message did.v1.ValidatorInfo.IBCChannel is not mutable")) + case "did.v1.Service.service_endpoints": + if x.ServiceEndpoints == nil { + x.ServiceEndpoints = make(map[string]string) + } + value := &_Service_6_map{m: &x.ServiceEndpoints} + return protoreflect.ValueOfMap(value) + case "did.v1.Service.permissions": + if x.Permissions == nil { + x.Permissions = make(map[string]string) + } + value := &_Service_7_map{m: &x.Permissions} + return protoreflect.ValueOfMap(value) + case "did.v1.Service.id": + panic(fmt.Errorf("field id of message did.v1.Service is not mutable")) + case "did.v1.Service.service_type": + panic(fmt.Errorf("field service_type of message did.v1.Service is not mutable")) + case "did.v1.Service.authority": + panic(fmt.Errorf("field authority of message did.v1.Service is not mutable")) + case "did.v1.Service.origin": + panic(fmt.Errorf("field origin of message did.v1.Service is not mutable")) + case "did.v1.Service.description": + panic(fmt.Errorf("field description of message did.v1.Service is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.IBCChannel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.IBCChannel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ValidatorInfo_IBCChannel) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Service) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.ValidatorInfo.IBCChannel.id": + case "did.v1.Service.id": return protoreflect.ValueOfString("") - case "did.v1.ValidatorInfo.IBCChannel.port": + case "did.v1.Service.service_type": return protoreflect.ValueOfString("") + case "did.v1.Service.authority": + return protoreflect.ValueOfString("") + case "did.v1.Service.origin": + return protoreflect.ValueOfString("") + case "did.v1.Service.description": + return protoreflect.ValueOfString("") + case "did.v1.Service.service_endpoints": + m := make(map[string]string) + return protoreflect.ValueOfMap(&_Service_6_map{m: &m}) + case "did.v1.Service.permissions": + m := make(map[string]string) + return protoreflect.ValueOfMap(&_Service_7_map{m: &m}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ValidatorInfo.IBCChannel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) } - panic(fmt.Errorf("message did.v1.ValidatorInfo.IBCChannel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ValidatorInfo_IBCChannel) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_Service) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ValidatorInfo.IBCChannel", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.Service", d.FullName())) } panic("unreachable") } @@ -6362,7 +6835,7 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) WhichOneof(d protoreflect.Oneo // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ValidatorInfo_IBCChannel) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_Service) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6373,7 +6846,7 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ValidatorInfo_IBCChannel) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_Service) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6385,7 +6858,7 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) SetUnknown(fields protoreflect // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_ValidatorInfo_IBCChannel) IsValid() bool { +func (x *fastReflection_Service) IsValid() bool { return x != nil } @@ -6395,9 +6868,9 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_Service) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ValidatorInfo_IBCChannel) + x := input.Message.Interface().(*Service) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6413,10 +6886,64 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Met if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Port) + l = len(x.ServiceType) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Origin) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Description) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.ServiceEndpoints) > 0 { + SiZeMaP := func(k string, v string) { + mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) + n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) + } + if options.Deterministic { + sortme := make([]string, 0, len(x.ServiceEndpoints)) + for k := range x.ServiceEndpoints { + sortme = append(sortme, k) + } + sort.Strings(sortme) + for _, k := range sortme { + v := x.ServiceEndpoints[k] + SiZeMaP(k, v) + } + } else { + for k, v := range x.ServiceEndpoints { + SiZeMaP(k, v) + } + } + } + if len(x.Permissions) > 0 { + SiZeMaP := func(k string, v string) { + mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) + n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) + } + if options.Deterministic { + sortme := make([]string, 0, len(x.Permissions)) + for k := range x.Permissions { + sortme = append(sortme, k) + } + sort.Strings(sortme) + for _, k := range sortme { + v := x.Permissions[k] + SiZeMaP(k, v) + } + } else { + for k, v := range x.Permissions { + SiZeMaP(k, v) + } + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -6427,7 +6954,7 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_IBCChannel) + x := input.Message.Interface().(*Service) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6446,10 +6973,117 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Met i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Port) > 0 { - i -= len(x.Port) - copy(dAtA[i:], x.Port) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Port))) + if len(x.Permissions) > 0 { + MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x3a + return protoiface.MarshalOutput{}, nil + } + if options.Deterministic { + keysForPermissions := make([]string, 0, len(x.Permissions)) + for k := range x.Permissions { + keysForPermissions = append(keysForPermissions, string(k)) + } + sort.Slice(keysForPermissions, func(i, j int) bool { + return keysForPermissions[i] < keysForPermissions[j] + }) + for iNdEx := len(keysForPermissions) - 1; iNdEx >= 0; iNdEx-- { + v := x.Permissions[string(keysForPermissions[iNdEx])] + out, err := MaRsHaLmAp(keysForPermissions[iNdEx], v) + if err != nil { + return out, err + } + } + } else { + for k := range x.Permissions { + v := x.Permissions[k] + out, err := MaRsHaLmAp(k, v) + if err != nil { + return out, err + } + } + } + } + if len(x.ServiceEndpoints) > 0 { + MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x32 + return protoiface.MarshalOutput{}, nil + } + if options.Deterministic { + keysForServiceEndpoints := make([]string, 0, len(x.ServiceEndpoints)) + for k := range x.ServiceEndpoints { + keysForServiceEndpoints = append(keysForServiceEndpoints, string(k)) + } + sort.Slice(keysForServiceEndpoints, func(i, j int) bool { + return keysForServiceEndpoints[i] < keysForServiceEndpoints[j] + }) + for iNdEx := len(keysForServiceEndpoints) - 1; iNdEx >= 0; iNdEx-- { + v := x.ServiceEndpoints[string(keysForServiceEndpoints[iNdEx])] + out, err := MaRsHaLmAp(keysForServiceEndpoints[iNdEx], v) + if err != nil { + return out, err + } + } + } else { + for k := range x.ServiceEndpoints { + v := x.ServiceEndpoints[k] + out, err := MaRsHaLmAp(k, v) + if err != nil { + return out, err + } + } + } + } + if len(x.Description) > 0 { + i -= len(x.Description) + copy(dAtA[i:], x.Description) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Description))) + i-- + dAtA[i] = 0x2a + } + if len(x.Origin) > 0 { + i -= len(x.Origin) + copy(dAtA[i:], x.Origin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) + i-- + dAtA[i] = 0x22 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0x1a + } + if len(x.ServiceType) > 0 { + i -= len(x.ServiceType) + copy(dAtA[i:], x.ServiceType) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ServiceType))) i-- dAtA[i] = 0x12 } @@ -6471,7 +7105,7 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ValidatorInfo_IBCChannel) + x := input.Message.Interface().(*Service) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6503,10 +7137,10 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_IBCChannel: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Service: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValidatorInfo_IBCChannel: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Service: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6543,7 +7177,7 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Met iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Port", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServiceType", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6571,7 +7205,357 @@ func (x *fastReflection_ValidatorInfo_IBCChannel) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Port = string(dAtA[iNdEx:postIndex]) + x.ServiceType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Origin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServiceEndpoints", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.ServiceEndpoints == nil { + x.ServiceEndpoints = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapkey > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + x.ServiceEndpoints[mapkey] = mapvalue + iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Permissions == nil { + x.Permissions = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapkey > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + x.Permissions[mapkey] = mapvalue iNdEx = postIndex default: iNdEx = preIndex @@ -6621,584 +7605,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// AssetType defines the type of asset: native, wrapped, staking, pool, or unspecified -type AssetType int32 - -const ( - AssetType_ASSET_TYPE_UNSPECIFIED AssetType = 0 - AssetType_ASSET_TYPE_NATIVE AssetType = 1 - AssetType_ASSET_TYPE_WRAPPED AssetType = 2 - AssetType_ASSET_TYPE_STAKING AssetType = 3 - AssetType_ASSET_TYPE_POOL AssetType = 4 - AssetType_ASSET_TYPE_IBC AssetType = 5 - AssetType_ASSET_TYPE_CW20 AssetType = 6 -) - -// Enum value maps for AssetType. -var ( - AssetType_name = map[int32]string{ - 0: "ASSET_TYPE_UNSPECIFIED", - 1: "ASSET_TYPE_NATIVE", - 2: "ASSET_TYPE_WRAPPED", - 3: "ASSET_TYPE_STAKING", - 4: "ASSET_TYPE_POOL", - 5: "ASSET_TYPE_IBC", - 6: "ASSET_TYPE_CW20", - } - AssetType_value = map[string]int32{ - "ASSET_TYPE_UNSPECIFIED": 0, - "ASSET_TYPE_NATIVE": 1, - "ASSET_TYPE_WRAPPED": 2, - "ASSET_TYPE_STAKING": 3, - "ASSET_TYPE_POOL": 4, - "ASSET_TYPE_IBC": 5, - "ASSET_TYPE_CW20": 6, - } -) - -func (x AssetType) Enum() *AssetType { - p := new(AssetType) - *p = x - return p -} - -func (x AssetType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (AssetType) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[0].Descriptor() -} - -func (AssetType) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[0] -} - -func (x AssetType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use AssetType.Descriptor instead. -func (AssetType) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{0} -} - -// DIDNamespace define the different namespaces of DID -type DIDNamespace int32 - -const ( - DIDNamespace_DID_NAMESPACE_UNSPECIFIED DIDNamespace = 0 - DIDNamespace_DID_NAMESPACE_IPFS DIDNamespace = 1 - DIDNamespace_DID_NAMESPACE_SONR DIDNamespace = 2 - DIDNamespace_DID_NAMESPACE_BITCOIN DIDNamespace = 3 - DIDNamespace_DID_NAMESPACE_ETHEREUM DIDNamespace = 4 - DIDNamespace_DID_NAMESPACE_IBC DIDNamespace = 5 - DIDNamespace_DID_NAMESPACE_WEBAUTHN DIDNamespace = 6 - DIDNamespace_DID_NAMESPACE_DWN DIDNamespace = 7 - DIDNamespace_DID_NAMESPACE_SERVICE DIDNamespace = 8 -) - -// Enum value maps for DIDNamespace. -var ( - DIDNamespace_name = map[int32]string{ - 0: "DID_NAMESPACE_UNSPECIFIED", - 1: "DID_NAMESPACE_IPFS", - 2: "DID_NAMESPACE_SONR", - 3: "DID_NAMESPACE_BITCOIN", - 4: "DID_NAMESPACE_ETHEREUM", - 5: "DID_NAMESPACE_IBC", - 6: "DID_NAMESPACE_WEBAUTHN", - 7: "DID_NAMESPACE_DWN", - 8: "DID_NAMESPACE_SERVICE", - } - DIDNamespace_value = map[string]int32{ - "DID_NAMESPACE_UNSPECIFIED": 0, - "DID_NAMESPACE_IPFS": 1, - "DID_NAMESPACE_SONR": 2, - "DID_NAMESPACE_BITCOIN": 3, - "DID_NAMESPACE_ETHEREUM": 4, - "DID_NAMESPACE_IBC": 5, - "DID_NAMESPACE_WEBAUTHN": 6, - "DID_NAMESPACE_DWN": 7, - "DID_NAMESPACE_SERVICE": 8, - } -) - -func (x DIDNamespace) Enum() *DIDNamespace { - p := new(DIDNamespace) - *p = x - return p -} - -func (x DIDNamespace) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DIDNamespace) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[1].Descriptor() -} - -func (DIDNamespace) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[1] -} - -func (x DIDNamespace) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DIDNamespace.Descriptor instead. -func (DIDNamespace) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{1} -} - -// KeyAlgorithm defines the key algorithm -type KeyAlgorithm int32 - -const ( - KeyAlgorithm_KEY_ALGORITHM_UNSPECIFIED KeyAlgorithm = 0 - KeyAlgorithm_KEY_ALGORITHM_ES256 KeyAlgorithm = 1 - KeyAlgorithm_KEY_ALGORITHM_ES384 KeyAlgorithm = 2 - KeyAlgorithm_KEY_ALGORITHM_ES512 KeyAlgorithm = 3 - KeyAlgorithm_KEY_ALGORITHM_EDDSA KeyAlgorithm = 4 - KeyAlgorithm_KEY_ALGORITHM_ES256K KeyAlgorithm = 5 - KeyAlgorithm_KEY_ALGORITHM_ECDSA KeyAlgorithm = 6 // Fixed typo from EDCSA to ECDSA -) - -// Enum value maps for KeyAlgorithm. -var ( - KeyAlgorithm_name = map[int32]string{ - 0: "KEY_ALGORITHM_UNSPECIFIED", - 1: "KEY_ALGORITHM_ES256", - 2: "KEY_ALGORITHM_ES384", - 3: "KEY_ALGORITHM_ES512", - 4: "KEY_ALGORITHM_EDDSA", - 5: "KEY_ALGORITHM_ES256K", - 6: "KEY_ALGORITHM_ECDSA", - } - KeyAlgorithm_value = map[string]int32{ - "KEY_ALGORITHM_UNSPECIFIED": 0, - "KEY_ALGORITHM_ES256": 1, - "KEY_ALGORITHM_ES384": 2, - "KEY_ALGORITHM_ES512": 3, - "KEY_ALGORITHM_EDDSA": 4, - "KEY_ALGORITHM_ES256K": 5, - "KEY_ALGORITHM_ECDSA": 6, - } -) - -func (x KeyAlgorithm) Enum() *KeyAlgorithm { - p := new(KeyAlgorithm) - *p = x - return p -} - -func (x KeyAlgorithm) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (KeyAlgorithm) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[2].Descriptor() -} - -func (KeyAlgorithm) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[2] -} - -func (x KeyAlgorithm) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use KeyAlgorithm.Descriptor instead. -func (KeyAlgorithm) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{2} -} - -// KeyCurve defines the key curve -type KeyCurve int32 - -const ( - KeyCurve_KEY_CURVE_UNSPECIFIED KeyCurve = 0 - KeyCurve_KEY_CURVE_P256 KeyCurve = 1 // NIST P-256 - KeyCurve_KEY_CURVE_P384 KeyCurve = 2 - KeyCurve_KEY_CURVE_P521 KeyCurve = 3 - KeyCurve_KEY_CURVE_X25519 KeyCurve = 4 - KeyCurve_KEY_CURVE_X448 KeyCurve = 5 - KeyCurve_KEY_CURVE_ED25519 KeyCurve = 6 - KeyCurve_KEY_CURVE_ED448 KeyCurve = 7 - KeyCurve_KEY_CURVE_SECP256K1 KeyCurve = 8 - KeyCurve_KEY_CURVE_BLS12381 KeyCurve = 9 - KeyCurve_KEY_CURVE_KECCAK256 KeyCurve = 10 -) - -// Enum value maps for KeyCurve. -var ( - KeyCurve_name = map[int32]string{ - 0: "KEY_CURVE_UNSPECIFIED", - 1: "KEY_CURVE_P256", - 2: "KEY_CURVE_P384", - 3: "KEY_CURVE_P521", - 4: "KEY_CURVE_X25519", - 5: "KEY_CURVE_X448", - 6: "KEY_CURVE_ED25519", - 7: "KEY_CURVE_ED448", - 8: "KEY_CURVE_SECP256K1", - 9: "KEY_CURVE_BLS12381", - 10: "KEY_CURVE_KECCAK256", - } - KeyCurve_value = map[string]int32{ - "KEY_CURVE_UNSPECIFIED": 0, - "KEY_CURVE_P256": 1, - "KEY_CURVE_P384": 2, - "KEY_CURVE_P521": 3, - "KEY_CURVE_X25519": 4, - "KEY_CURVE_X448": 5, - "KEY_CURVE_ED25519": 6, - "KEY_CURVE_ED448": 7, - "KEY_CURVE_SECP256K1": 8, - "KEY_CURVE_BLS12381": 9, - "KEY_CURVE_KECCAK256": 10, - } -) - -func (x KeyCurve) Enum() *KeyCurve { - p := new(KeyCurve) - *p = x - return p -} - -func (x KeyCurve) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (KeyCurve) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[3].Descriptor() -} - -func (KeyCurve) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[3] -} - -func (x KeyCurve) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use KeyCurve.Descriptor instead. -func (KeyCurve) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{3} -} - -// KeyEncoding defines the key encoding -type KeyEncoding int32 - -const ( - KeyEncoding_KEY_ENCODING_UNSPECIFIED KeyEncoding = 0 - KeyEncoding_KEY_ENCODING_RAW KeyEncoding = 1 - KeyEncoding_KEY_ENCODING_HEX KeyEncoding = 2 - KeyEncoding_KEY_ENCODING_MULTIBASE KeyEncoding = 3 -) - -// Enum value maps for KeyEncoding. -var ( - KeyEncoding_name = map[int32]string{ - 0: "KEY_ENCODING_UNSPECIFIED", - 1: "KEY_ENCODING_RAW", - 2: "KEY_ENCODING_HEX", - 3: "KEY_ENCODING_MULTIBASE", - } - KeyEncoding_value = map[string]int32{ - "KEY_ENCODING_UNSPECIFIED": 0, - "KEY_ENCODING_RAW": 1, - "KEY_ENCODING_HEX": 2, - "KEY_ENCODING_MULTIBASE": 3, - } -) - -func (x KeyEncoding) Enum() *KeyEncoding { - p := new(KeyEncoding) - *p = x - return p -} - -func (x KeyEncoding) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (KeyEncoding) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[4].Descriptor() -} - -func (KeyEncoding) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[4] -} - -func (x KeyEncoding) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use KeyEncoding.Descriptor instead. -func (KeyEncoding) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{4} -} - -// KeyRole defines the kind of key -type KeyRole int32 - -const ( - KeyRole_KEY_ROLE_UNSPECIFIED KeyRole = 0 - KeyRole_KEY_ROLE_AUTHENTICATION KeyRole = 1 // Passkeys and FIDO - KeyRole_KEY_ROLE_ASSERTION KeyRole = 2 // Zk Identifiers - KeyRole_KEY_ROLE_DELEGATION KeyRole = 3 // ETH,BTC,IBC addresses - KeyRole_KEY_ROLE_INVOCATION KeyRole = 4 // DWN Controllers -) - -// Enum value maps for KeyRole. -var ( - KeyRole_name = map[int32]string{ - 0: "KEY_ROLE_UNSPECIFIED", - 1: "KEY_ROLE_AUTHENTICATION", - 2: "KEY_ROLE_ASSERTION", - 3: "KEY_ROLE_DELEGATION", - 4: "KEY_ROLE_INVOCATION", - } - KeyRole_value = map[string]int32{ - "KEY_ROLE_UNSPECIFIED": 0, - "KEY_ROLE_AUTHENTICATION": 1, - "KEY_ROLE_ASSERTION": 2, - "KEY_ROLE_DELEGATION": 3, - "KEY_ROLE_INVOCATION": 4, - } -) - -func (x KeyRole) Enum() *KeyRole { - p := new(KeyRole) - *p = x - return p -} - -func (x KeyRole) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (KeyRole) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[5].Descriptor() -} - -func (KeyRole) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[5] -} - -func (x KeyRole) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use KeyRole.Descriptor instead. -func (KeyRole) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{5} -} - -// KeyType defines the key type -type KeyType int32 - -const ( - KeyType_KEY_TYPE_UNSPECIFIED KeyType = 0 - KeyType_KEY_TYPE_OCTET KeyType = 1 - KeyType_KEY_TYPE_ELLIPTIC KeyType = 2 - KeyType_KEY_TYPE_RSA KeyType = 3 - KeyType_KEY_TYPE_SYMMETRIC KeyType = 4 - KeyType_KEY_TYPE_HMAC KeyType = 5 - KeyType_KEY_TYPE_MPC KeyType = 6 - KeyType_KEY_TYPE_ZK KeyType = 7 - KeyType_KEY_TYPE_WEBAUTHN KeyType = 8 - KeyType_KEY_TYPE_BIP32 KeyType = 9 -) - -// Enum value maps for KeyType. -var ( - KeyType_name = map[int32]string{ - 0: "KEY_TYPE_UNSPECIFIED", - 1: "KEY_TYPE_OCTET", - 2: "KEY_TYPE_ELLIPTIC", - 3: "KEY_TYPE_RSA", - 4: "KEY_TYPE_SYMMETRIC", - 5: "KEY_TYPE_HMAC", - 6: "KEY_TYPE_MPC", - 7: "KEY_TYPE_ZK", - 8: "KEY_TYPE_WEBAUTHN", - 9: "KEY_TYPE_BIP32", - } - KeyType_value = map[string]int32{ - "KEY_TYPE_UNSPECIFIED": 0, - "KEY_TYPE_OCTET": 1, - "KEY_TYPE_ELLIPTIC": 2, - "KEY_TYPE_RSA": 3, - "KEY_TYPE_SYMMETRIC": 4, - "KEY_TYPE_HMAC": 5, - "KEY_TYPE_MPC": 6, - "KEY_TYPE_ZK": 7, - "KEY_TYPE_WEBAUTHN": 8, - "KEY_TYPE_BIP32": 9, - } -) - -func (x KeyType) Enum() *KeyType { - p := new(KeyType) - *p = x - return p -} - -func (x KeyType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (KeyType) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[6].Descriptor() -} - -func (KeyType) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[6] -} - -func (x KeyType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use KeyType.Descriptor instead. -func (KeyType) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{6} -} - -type KeyshareRole int32 - -const ( - KeyshareRole_KEYSHARE_ROLE_UNSPECIFIED KeyshareRole = 0 - KeyshareRole_KEYSHARE_ROLE_USER KeyshareRole = 1 - KeyshareRole_KEYSHARE_ROLE_VALIDATOR KeyshareRole = 2 -) - -// Enum value maps for KeyshareRole. -var ( - KeyshareRole_name = map[int32]string{ - 0: "KEYSHARE_ROLE_UNSPECIFIED", - 1: "KEYSHARE_ROLE_USER", - 2: "KEYSHARE_ROLE_VALIDATOR", - } - KeyshareRole_value = map[string]int32{ - "KEYSHARE_ROLE_UNSPECIFIED": 0, - "KEYSHARE_ROLE_USER": 1, - "KEYSHARE_ROLE_VALIDATOR": 2, - } -) - -func (x KeyshareRole) Enum() *KeyshareRole { - p := new(KeyshareRole) - *p = x - return p -} - -func (x KeyshareRole) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (KeyshareRole) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[7].Descriptor() -} - -func (KeyshareRole) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[7] -} - -func (x KeyshareRole) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use KeyshareRole.Descriptor instead. -func (KeyshareRole) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{7} -} - -// PermissionScope define the Capabilities Controllers can grant for Services -type PermissionScope int32 - -const ( - PermissionScope_PERMISSION_SCOPE_UNSPECIFIED PermissionScope = 0 - PermissionScope_PERMISSION_SCOPE_BASIC_INFO PermissionScope = 1 - PermissionScope_PERMISSION_SCOPE_PERMISSIONS_READ PermissionScope = 2 - PermissionScope_PERMISSION_SCOPE_PERMISSIONS_WRITE PermissionScope = 3 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_READ PermissionScope = 4 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_WRITE PermissionScope = 5 - PermissionScope_PERMISSION_SCOPE_WALLETS_READ PermissionScope = 6 - PermissionScope_PERMISSION_SCOPE_WALLETS_CREATE PermissionScope = 7 - PermissionScope_PERMISSION_SCOPE_WALLETS_SUBSCRIBE PermissionScope = 8 - PermissionScope_PERMISSION_SCOPE_WALLETS_UPDATE PermissionScope = 9 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_VERIFY PermissionScope = 10 - PermissionScope_PERMISSION_SCOPE_TRANSACTIONS_BROADCAST PermissionScope = 11 - PermissionScope_PERMISSION_SCOPE_ADMIN_USER PermissionScope = 12 - PermissionScope_PERMISSION_SCOPE_ADMIN_VALIDATOR PermissionScope = 13 -) - -// Enum value maps for PermissionScope. -var ( - PermissionScope_name = map[int32]string{ - 0: "PERMISSION_SCOPE_UNSPECIFIED", - 1: "PERMISSION_SCOPE_BASIC_INFO", - 2: "PERMISSION_SCOPE_PERMISSIONS_READ", - 3: "PERMISSION_SCOPE_PERMISSIONS_WRITE", - 4: "PERMISSION_SCOPE_TRANSACTIONS_READ", - 5: "PERMISSION_SCOPE_TRANSACTIONS_WRITE", - 6: "PERMISSION_SCOPE_WALLETS_READ", - 7: "PERMISSION_SCOPE_WALLETS_CREATE", - 8: "PERMISSION_SCOPE_WALLETS_SUBSCRIBE", - 9: "PERMISSION_SCOPE_WALLETS_UPDATE", - 10: "PERMISSION_SCOPE_TRANSACTIONS_VERIFY", - 11: "PERMISSION_SCOPE_TRANSACTIONS_BROADCAST", - 12: "PERMISSION_SCOPE_ADMIN_USER", - 13: "PERMISSION_SCOPE_ADMIN_VALIDATOR", - } - PermissionScope_value = map[string]int32{ - "PERMISSION_SCOPE_UNSPECIFIED": 0, - "PERMISSION_SCOPE_BASIC_INFO": 1, - "PERMISSION_SCOPE_PERMISSIONS_READ": 2, - "PERMISSION_SCOPE_PERMISSIONS_WRITE": 3, - "PERMISSION_SCOPE_TRANSACTIONS_READ": 4, - "PERMISSION_SCOPE_TRANSACTIONS_WRITE": 5, - "PERMISSION_SCOPE_WALLETS_READ": 6, - "PERMISSION_SCOPE_WALLETS_CREATE": 7, - "PERMISSION_SCOPE_WALLETS_SUBSCRIBE": 8, - "PERMISSION_SCOPE_WALLETS_UPDATE": 9, - "PERMISSION_SCOPE_TRANSACTIONS_VERIFY": 10, - "PERMISSION_SCOPE_TRANSACTIONS_BROADCAST": 11, - "PERMISSION_SCOPE_ADMIN_USER": 12, - "PERMISSION_SCOPE_ADMIN_VALIDATOR": 13, - } -) - -func (x PermissionScope) Enum() *PermissionScope { - p := new(PermissionScope) - *p = x - return p -} - -func (x PermissionScope) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PermissionScope) Descriptor() protoreflect.EnumDescriptor { - return file_did_v1_genesis_proto_enumTypes[8].Descriptor() -} - -func (PermissionScope) Type() protoreflect.EnumType { - return &file_did_v1_genesis_proto_enumTypes[8] -} - -func (x PermissionScope) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PermissionScope.Descriptor instead. -func (PermissionScope) EnumDescriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{8} -} - // GenesisState defines the module genesis state type GenesisState struct { state protoimpl.MessageState @@ -7400,7 +7806,7 @@ type AssetInfo struct { // The coin symbol Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` // The coin name - AssetType AssetType `protobuf:"varint,4,opt,name=asset_type,json=assetType,proto3,enum=did.v1.AssetType" json:"asset_type,omitempty"` + AssetType string `protobuf:"bytes,4,opt,name=asset_type,json=assetType,proto3" json:"asset_type,omitempty"` // The name of the asset Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // The icon url @@ -7448,11 +7854,11 @@ func (x *AssetInfo) GetSymbol() string { return "" } -func (x *AssetInfo) GetAssetType() AssetType { +func (x *AssetInfo) GetAssetType() string { if x != nil { return x.AssetType } - return AssetType_ASSET_TYPE_UNSPECIFIED + return "" } func (x *AssetInfo) GetName() string { @@ -7469,23 +7875,107 @@ func (x *AssetInfo) GetIconUrl() string { return "" } +// Document defines a DID document +type Document struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` // The DID of the controller + Authentication []string `protobuf:"bytes,3,rep,name=authentication,proto3" json:"authentication,omitempty"` + AssertionMethod []string `protobuf:"bytes,4,rep,name=assertion_method,json=assertionMethod,proto3" json:"assertion_method,omitempty"` + CapabilityDelegation []string `protobuf:"bytes,5,rep,name=capability_delegation,json=capabilityDelegation,proto3" json:"capability_delegation,omitempty"` + CapabilityInvocation []string `protobuf:"bytes,6,rep,name=capability_invocation,json=capabilityInvocation,proto3" json:"capability_invocation,omitempty"` + Service []string `protobuf:"bytes,7,rep,name=service,proto3" json:"service,omitempty"` +} + +func (x *Document) Reset() { + *x = Document{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_genesis_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Document) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Document) ProtoMessage() {} + +// Deprecated: Use Document.ProtoReflect.Descriptor instead. +func (*Document) Descriptor() ([]byte, []int) { + return file_did_v1_genesis_proto_rawDescGZIP(), []int{4} +} + +func (x *Document) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Document) GetController() string { + if x != nil { + return x.Controller + } + return "" +} + +func (x *Document) GetAuthentication() []string { + if x != nil { + return x.Authentication + } + return nil +} + +func (x *Document) GetAssertionMethod() []string { + if x != nil { + return x.AssertionMethod + } + return nil +} + +func (x *Document) GetCapabilityDelegation() []string { + if x != nil { + return x.CapabilityDelegation + } + return nil +} + +func (x *Document) GetCapabilityInvocation() []string { + if x != nil { + return x.CapabilityInvocation + } + return nil +} + +func (x *Document) GetService() []string { + if x != nil { + return x.Service + } + return nil +} + // KeyInfo defines information for accepted PubKey types type KeyInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Role KeyRole `protobuf:"varint,1,opt,name=role,proto3,enum=did.v1.KeyRole" json:"role,omitempty"` - Algorithm KeyAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=did.v1.KeyAlgorithm" json:"algorithm,omitempty"` // e.g., "ES256", "EdDSA", "ES256K" - Encoding KeyEncoding `protobuf:"varint,3,opt,name=encoding,proto3,enum=did.v1.KeyEncoding" json:"encoding,omitempty"` // e.g., "hex", "base64", "multibase" - Curve KeyCurve `protobuf:"varint,4,opt,name=curve,proto3,enum=did.v1.KeyCurve" json:"curve,omitempty"` // e.g., "P256", "P384", "P521", "X25519", "X448", "Ed25519", "Ed448", "secp256k1" - Type_ KeyType `protobuf:"varint,5,opt,name=type,proto3,enum=did.v1.KeyType" json:"type,omitempty"` // e.g., "Octet", "Elliptic", "RSA", "Symmetric", "HMAC" + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Algorithm string `protobuf:"bytes,2,opt,name=algorithm,proto3" json:"algorithm,omitempty"` // e.g., "ES256", "EdDSA", "ES256K" + Encoding string `protobuf:"bytes,3,opt,name=encoding,proto3" json:"encoding,omitempty"` // e.g., "hex", "base64", "multibase" + Curve string `protobuf:"bytes,4,opt,name=curve,proto3" json:"curve,omitempty"` // e.g., "P256", "P384", "P521", "X25519", "X448", "Ed25519", "Ed448", "secp256k1" + Type_ string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` // e.g., "Octet", "Elliptic", "RSA", "Symmetric", "HMAC" } func (x *KeyInfo) Reset() { *x = KeyInfo{} if protoimpl.UnsafeEnabled { - mi := &file_did_v1_genesis_proto_msgTypes[4] + mi := &file_did_v1_genesis_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7499,132 +7989,145 @@ func (*KeyInfo) ProtoMessage() {} // Deprecated: Use KeyInfo.ProtoReflect.Descriptor instead. func (*KeyInfo) Descriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{4} + return file_did_v1_genesis_proto_rawDescGZIP(), []int{5} } -func (x *KeyInfo) GetRole() KeyRole { +func (x *KeyInfo) GetRole() string { if x != nil { return x.Role } - return KeyRole_KEY_ROLE_UNSPECIFIED + return "" } -func (x *KeyInfo) GetAlgorithm() KeyAlgorithm { +func (x *KeyInfo) GetAlgorithm() string { if x != nil { return x.Algorithm } - return KeyAlgorithm_KEY_ALGORITHM_UNSPECIFIED + return "" } -func (x *KeyInfo) GetEncoding() KeyEncoding { +func (x *KeyInfo) GetEncoding() string { if x != nil { return x.Encoding } - return KeyEncoding_KEY_ENCODING_UNSPECIFIED + return "" } -func (x *KeyInfo) GetCurve() KeyCurve { +func (x *KeyInfo) GetCurve() string { if x != nil { return x.Curve } - return KeyCurve_KEY_CURVE_UNSPECIFIED + return "" } -func (x *KeyInfo) GetType_() KeyType { +func (x *KeyInfo) GetType_() string { if x != nil { return x.Type_ } - return KeyType_KEY_TYPE_UNSPECIFIED + return "" } -// ValidatorInfo defines information for accepted Validator nodes -type ValidatorInfo struct { +// PubKey defines a public key for a did +type PubKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Moniker string `protobuf:"bytes,1,opt,name=moniker,proto3" json:"moniker,omitempty"` - GrpcEndpoints []*ValidatorInfo_Endpoint `protobuf:"bytes,2,rep,name=grpc_endpoints,json=grpcEndpoints,proto3" json:"grpc_endpoints,omitempty"` - RestEndpoints []*ValidatorInfo_Endpoint `protobuf:"bytes,3,rep,name=rest_endpoints,json=restEndpoints,proto3" json:"rest_endpoints,omitempty"` - Explorer *ValidatorInfo_ExplorerInfo `protobuf:"bytes,4,opt,name=explorer,proto3" json:"explorer,omitempty"` - FeeInfo *ValidatorInfo_FeeInfo `protobuf:"bytes,5,opt,name=fee_info,json=feeInfo,proto3" json:"fee_info,omitempty"` - IbcChannel *ValidatorInfo_IBCChannel `protobuf:"bytes,6,opt,name=ibc_channel,json=ibcChannel,proto3" json:"ibc_channel,omitempty"` + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Algorithm string `protobuf:"bytes,2,opt,name=algorithm,proto3" json:"algorithm,omitempty"` + Encoding string `protobuf:"bytes,3,opt,name=encoding,proto3" json:"encoding,omitempty"` + Curve string `protobuf:"bytes,4,opt,name=curve,proto3" json:"curve,omitempty"` + KeyType string `protobuf:"bytes,5,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` + Raw []byte `protobuf:"bytes,6,opt,name=raw,proto3" json:"raw,omitempty"` + Jwk *PubKey_JWK `protobuf:"bytes,7,opt,name=jwk,proto3" json:"jwk,omitempty"` } -func (x *ValidatorInfo) Reset() { - *x = ValidatorInfo{} +func (x *PubKey) Reset() { + *x = PubKey{} if protoimpl.UnsafeEnabled { - mi := &file_did_v1_genesis_proto_msgTypes[5] + mi := &file_did_v1_genesis_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ValidatorInfo) String() string { +func (x *PubKey) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ValidatorInfo) ProtoMessage() {} +func (*PubKey) ProtoMessage() {} -// Deprecated: Use ValidatorInfo.ProtoReflect.Descriptor instead. -func (*ValidatorInfo) Descriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{5} +// Deprecated: Use PubKey.ProtoReflect.Descriptor instead. +func (*PubKey) Descriptor() ([]byte, []int) { + return file_did_v1_genesis_proto_rawDescGZIP(), []int{6} } -func (x *ValidatorInfo) GetMoniker() string { +func (x *PubKey) GetRole() string { if x != nil { - return x.Moniker + return x.Role } return "" } -func (x *ValidatorInfo) GetGrpcEndpoints() []*ValidatorInfo_Endpoint { +func (x *PubKey) GetAlgorithm() string { if x != nil { - return x.GrpcEndpoints + return x.Algorithm + } + return "" +} + +func (x *PubKey) GetEncoding() string { + if x != nil { + return x.Encoding + } + return "" +} + +func (x *PubKey) GetCurve() string { + if x != nil { + return x.Curve + } + return "" +} + +func (x *PubKey) GetKeyType() string { + if x != nil { + return x.KeyType + } + return "" +} + +func (x *PubKey) GetRaw() []byte { + if x != nil { + return x.Raw } return nil } -func (x *ValidatorInfo) GetRestEndpoints() []*ValidatorInfo_Endpoint { +func (x *PubKey) GetJwk() *PubKey_JWK { if x != nil { - return x.RestEndpoints + return x.Jwk } return nil } -func (x *ValidatorInfo) GetExplorer() *ValidatorInfo_ExplorerInfo { - if x != nil { - return x.Explorer - } - return nil -} - -func (x *ValidatorInfo) GetFeeInfo() *ValidatorInfo_FeeInfo { - if x != nil { - return x.FeeInfo - } - return nil -} - -func (x *ValidatorInfo) GetIbcChannel() *ValidatorInfo_IBCChannel { - if x != nil { - return x.IbcChannel - } - return nil -} - -// Endpoint defines an endpoint -type ValidatorInfo_Endpoint struct { +// Service defines a Decentralized Service on the Sonr Blockchain +type Service struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - IsPrimary bool `protobuf:"varint,2,opt,name=is_primary,json=isPrimary,proto3" json:"is_primary,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ServiceType string `protobuf:"bytes,2,opt,name=service_type,json=serviceType,proto3" json:"service_type,omitempty"` + Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` + Origin string `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + ServiceEndpoints map[string]string `protobuf:"bytes,6,rep,name=service_endpoints,json=serviceEndpoints,proto3" json:"service_endpoints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Permissions map[string]string `protobuf:"bytes,7,rep,name=permissions,proto3" json:"permissions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *ValidatorInfo_Endpoint) Reset() { - *x = ValidatorInfo_Endpoint{} +func (x *Service) Reset() { + *x = Service{} if protoimpl.UnsafeEnabled { mi := &file_did_v1_genesis_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7632,90 +8135,82 @@ func (x *ValidatorInfo_Endpoint) Reset() { } } -func (x *ValidatorInfo_Endpoint) String() string { +func (x *Service) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ValidatorInfo_Endpoint) ProtoMessage() {} +func (*Service) ProtoMessage() {} -// Deprecated: Use ValidatorInfo_Endpoint.ProtoReflect.Descriptor instead. -func (*ValidatorInfo_Endpoint) Descriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{5, 0} +// Deprecated: Use Service.ProtoReflect.Descriptor instead. +func (*Service) Descriptor() ([]byte, []int) { + return file_did_v1_genesis_proto_rawDescGZIP(), []int{7} } -func (x *ValidatorInfo_Endpoint) GetUrl() string { +func (x *Service) GetId() string { if x != nil { - return x.Url + return x.Id } return "" } -func (x *ValidatorInfo_Endpoint) GetIsPrimary() bool { +func (x *Service) GetServiceType() string { if x != nil { - return x.IsPrimary + return x.ServiceType } - return false + return "" } -// ExplorerInfo defines the explorer info -type ValidatorInfo_ExplorerInfo struct { +func (x *Service) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *Service) GetOrigin() string { + if x != nil { + return x.Origin + } + return "" +} + +func (x *Service) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Service) GetServiceEndpoints() map[string]string { + if x != nil { + return x.ServiceEndpoints + } + return nil +} + +func (x *Service) GetPermissions() map[string]string { + if x != nil { + return x.Permissions + } + return nil +} + +// JWK represents a JSON Web Key +type PubKey_JWK struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + Kty string `protobuf:"bytes,1,opt,name=kty,proto3" json:"kty,omitempty"` // Key Type + Crv string `protobuf:"bytes,2,opt,name=crv,proto3" json:"crv,omitempty"` // Curve (for EC and OKP keys) + X string `protobuf:"bytes,3,opt,name=x,proto3" json:"x,omitempty"` // X coordinate (for EC and OKP keys) + Y string `protobuf:"bytes,4,opt,name=y,proto3" json:"y,omitempty"` // Y coordinate (for EC keys) + N string `protobuf:"bytes,5,opt,name=n,proto3" json:"n,omitempty"` // Modulus (for RSA keys) + E string `protobuf:"bytes,6,opt,name=e,proto3" json:"e,omitempty"` // Exponent (for RSA keys) } -func (x *ValidatorInfo_ExplorerInfo) Reset() { - *x = ValidatorInfo_ExplorerInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_genesis_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ValidatorInfo_ExplorerInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidatorInfo_ExplorerInfo) ProtoMessage() {} - -// Deprecated: Use ValidatorInfo_ExplorerInfo.ProtoReflect.Descriptor instead. -func (*ValidatorInfo_ExplorerInfo) Descriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{5, 1} -} - -func (x *ValidatorInfo_ExplorerInfo) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ValidatorInfo_ExplorerInfo) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -// FeeInfo defines a fee info -type ValidatorInfo_FeeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BaseDenom string `protobuf:"bytes,1,opt,name=base_denom,json=baseDenom,proto3" json:"base_denom,omitempty"` - FeeRates []string `protobuf:"bytes,2,rep,name=fee_rates,json=feeRates,proto3" json:"fee_rates,omitempty"` - InitGasLimit int32 `protobuf:"varint,3,opt,name=init_gas_limit,json=initGasLimit,proto3" json:"init_gas_limit,omitempty"` - IsSimulable bool `protobuf:"varint,4,opt,name=is_simulable,json=isSimulable,proto3" json:"is_simulable,omitempty"` - GasMultiply float64 `protobuf:"fixed64,5,opt,name=gas_multiply,json=gasMultiply,proto3" json:"gas_multiply,omitempty"` -} - -func (x *ValidatorInfo_FeeInfo) Reset() { - *x = ValidatorInfo_FeeInfo{} +func (x *PubKey_JWK) Reset() { + *x = PubKey_JWK{} if protoimpl.UnsafeEnabled { mi := &file_did_v1_genesis_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7723,92 +8218,55 @@ func (x *ValidatorInfo_FeeInfo) Reset() { } } -func (x *ValidatorInfo_FeeInfo) String() string { +func (x *PubKey_JWK) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ValidatorInfo_FeeInfo) ProtoMessage() {} +func (*PubKey_JWK) ProtoMessage() {} -// Deprecated: Use ValidatorInfo_FeeInfo.ProtoReflect.Descriptor instead. -func (*ValidatorInfo_FeeInfo) Descriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{5, 2} +// Deprecated: Use PubKey_JWK.ProtoReflect.Descriptor instead. +func (*PubKey_JWK) Descriptor() ([]byte, []int) { + return file_did_v1_genesis_proto_rawDescGZIP(), []int{6, 0} } -func (x *ValidatorInfo_FeeInfo) GetBaseDenom() string { +func (x *PubKey_JWK) GetKty() string { if x != nil { - return x.BaseDenom + return x.Kty } return "" } -func (x *ValidatorInfo_FeeInfo) GetFeeRates() []string { +func (x *PubKey_JWK) GetCrv() string { if x != nil { - return x.FeeRates - } - return nil -} - -func (x *ValidatorInfo_FeeInfo) GetInitGasLimit() int32 { - if x != nil { - return x.InitGasLimit - } - return 0 -} - -func (x *ValidatorInfo_FeeInfo) GetIsSimulable() bool { - if x != nil { - return x.IsSimulable - } - return false -} - -func (x *ValidatorInfo_FeeInfo) GetGasMultiply() float64 { - if x != nil { - return x.GasMultiply - } - return 0 -} - -// IBCChannel defines the IBC channel info -type ValidatorInfo_IBCChannel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Port string `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` -} - -func (x *ValidatorInfo_IBCChannel) Reset() { - *x = ValidatorInfo_IBCChannel{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_genesis_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ValidatorInfo_IBCChannel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidatorInfo_IBCChannel) ProtoMessage() {} - -// Deprecated: Use ValidatorInfo_IBCChannel.ProtoReflect.Descriptor instead. -func (*ValidatorInfo_IBCChannel) Descriptor() ([]byte, []int) { - return file_did_v1_genesis_proto_rawDescGZIP(), []int{5, 3} -} - -func (x *ValidatorInfo_IBCChannel) GetId() string { - if x != nil { - return x.Id + return x.Crv } return "" } -func (x *ValidatorInfo_IBCChannel) GetPort() string { +func (x *PubKey_JWK) GetX() string { if x != nil { - return x.Port + return x.X + } + return "" +} + +func (x *PubKey_JWK) GetY() string { + if x != nil { + return x.Y + } + return "" +} + +func (x *PubKey_JWK) GetN() string { + if x != nil { + return x.N + } + return "" +} + +func (x *PubKey_JWK) GetE() string { + if x != nil { + return x.E } return "" } @@ -7866,212 +8324,96 @@ var file_did_v1_genesis_proto_rawDesc = []byte{ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x17, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0a, - 0x64, 0x69, 0x64, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x09, 0x41, + 0x64, 0x69, 0x64, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x09, 0x41, 0x73, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x72, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x30, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xe0, 0x01, 0x0a, 0x07, 0x4b, 0x65, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x2f, - 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x13, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, - 0x26, 0x0a, 0x05, 0x63, 0x75, 0x72, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, - 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x43, 0x75, 0x72, 0x76, 0x65, - 0x52, 0x05, 0x63, 0x75, 0x72, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, - 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcd, 0x05, 0x0a, - 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0e, 0x67, 0x72, 0x70, 0x63, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x45, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, - 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x65, 0x78, - 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, - 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x66, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x41, 0x0a, 0x0b, 0x69, 0x62, 0x63, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x42, 0x43, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0a, 0x69, 0x62, 0x63, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x1a, 0x3b, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, - 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x1a, 0x34, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 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, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x1a, 0xb1, 0x01, 0x0a, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, - 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x24, - 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x47, 0x61, 0x73, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x69, - 0x6d, 0x75, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x67, - 0x61, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x1a, 0x30, 0x0a, 0x0a, 0x49, 0x42, - 0x43, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x2a, 0xac, 0x01, 0x0a, - 0x09, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x53, - 0x53, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, - 0x12, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x52, 0x41, 0x50, - 0x50, 0x45, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4b, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x13, 0x0a, - 0x0f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, - 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x49, 0x42, 0x43, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x57, 0x32, 0x30, 0x10, 0x06, 0x2a, 0xf9, 0x01, 0x0a, 0x0c, - 0x44, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x19, - 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, - 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x46, - 0x53, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, - 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x4f, 0x4e, 0x52, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, - 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, - 0x43, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x45, 0x55, 0x4d, - 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, - 0x41, 0x43, 0x45, 0x5f, 0x49, 0x42, 0x43, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x49, 0x44, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x41, 0x55, - 0x54, 0x48, 0x4e, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x57, 0x4e, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, - 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, - 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x08, 0x2a, 0xc4, 0x01, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x41, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x0a, 0x19, 0x4b, 0x45, 0x59, 0x5f, - 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, 0x41, - 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x53, 0x32, 0x35, 0x36, 0x10, 0x01, - 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, - 0x4d, 0x5f, 0x45, 0x53, 0x33, 0x38, 0x34, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, - 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x53, 0x35, 0x31, 0x32, - 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, - 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x44, 0x44, 0x53, 0x41, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x4b, - 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x53, 0x32, - 0x35, 0x36, 0x4b, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, - 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x43, 0x44, 0x53, 0x41, 0x10, 0x06, 0x2a, 0x81, - 0x02, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x43, 0x75, 0x72, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4b, - 0x45, 0x59, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x55, - 0x52, 0x56, 0x45, 0x5f, 0x50, 0x32, 0x35, 0x36, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, - 0x59, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x50, 0x33, 0x38, 0x34, 0x10, 0x02, 0x12, 0x12, - 0x0a, 0x0e, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x50, 0x35, 0x32, 0x31, - 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, - 0x58, 0x32, 0x35, 0x35, 0x31, 0x39, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, 0x59, 0x5f, - 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x58, 0x34, 0x34, 0x38, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, - 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x45, 0x44, 0x32, 0x35, 0x35, 0x31, - 0x39, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, - 0x5f, 0x45, 0x44, 0x34, 0x34, 0x38, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, - 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x50, 0x32, 0x35, 0x36, 0x4b, 0x31, 0x10, - 0x08, 0x12, 0x16, 0x0a, 0x12, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x42, - 0x4c, 0x53, 0x31, 0x32, 0x33, 0x38, 0x31, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, - 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x5f, 0x4b, 0x45, 0x43, 0x43, 0x41, 0x4b, 0x32, 0x35, 0x36, - 0x10, 0x0a, 0x2a, 0x73, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, - 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, - 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x14, 0x0a, 0x10, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, - 0x52, 0x41, 0x57, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4e, 0x43, - 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x45, 0x58, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4b, - 0x45, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x55, 0x4c, 0x54, - 0x49, 0x42, 0x41, 0x53, 0x45, 0x10, 0x03, 0x2a, 0x8a, 0x01, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x52, - 0x6f, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, - 0x17, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, - 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4b, 0x45, - 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x4b, - 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0xd9, 0x01, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, - 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x43, 0x54, 0x45, 0x54, 0x10, 0x01, 0x12, 0x15, - 0x0a, 0x11, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4c, 0x4c, 0x49, 0x50, - 0x54, 0x49, 0x43, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x53, 0x41, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4b, 0x45, 0x59, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x04, 0x12, - 0x11, 0x0a, 0x0d, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x4d, 0x41, 0x43, - 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, - 0x50, 0x43, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x5a, 0x4b, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x57, 0x45, 0x42, 0x41, 0x55, 0x54, 0x48, 0x4e, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, - 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x49, 0x50, 0x33, 0x32, 0x10, 0x09, - 0x2a, 0x62, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, - 0x12, 0x1d, 0x0a, 0x19, 0x4b, 0x45, 0x59, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x4f, 0x4c, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x16, 0x0a, 0x12, 0x4b, 0x45, 0x59, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x45, - 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4b, 0x45, 0x59, 0x53, 0x48, - 0x41, 0x52, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, - 0x4f, 0x52, 0x10, 0x02, 0x2a, 0xa7, 0x04, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x45, 0x52, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x45, - 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x42, - 0x41, 0x53, 0x49, 0x43, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, - 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, - 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x53, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x45, - 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, - 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x53, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x05, 0x12, 0x21, 0x0a, 0x1d, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, - 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x12, 0x23, - 0x0a, 0x1f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, - 0x50, 0x45, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x45, 0x10, 0x07, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x53, 0x5f, - 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x10, 0x08, 0x12, 0x23, 0x0a, 0x1f, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, - 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x09, - 0x12, 0x28, 0x0a, 0x24, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x53, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x10, 0x0a, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x45, - 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x42, 0x52, 0x4f, 0x41, - 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x0b, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x45, 0x52, 0x4d, 0x49, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, - 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0c, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x45, 0x52, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x0d, 0x42, 0x7c, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x47, 0x65, - 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, - 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, - 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, - 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, - 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, + 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, + 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0x91, 0x02, 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, + 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, + 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x15, 0x63, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x07, 0x4b, + 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x75, 0x72, 0x76, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x75, 0x72, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa2, + 0x02, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x75, 0x72, 0x76, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x75, 0x72, 0x76, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x77, + 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x2e, 0x4a, 0x57, 0x4b, 0x52, 0x03, 0x6a, 0x77, 0x6b, + 0x1a, 0x61, 0x0a, 0x03, 0x4a, 0x57, 0x4b, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x76, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x72, 0x76, 0x12, 0x0c, 0x0a, 0x01, 0x78, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x01, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x01, 0x65, 0x22, 0xb1, 0x03, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 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, 0x52, 0x0a, 0x11, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x42, + 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x7c, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, + 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, + 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, + 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, + 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -8086,52 +8428,35 @@ func file_did_v1_genesis_proto_rawDescGZIP() []byte { return file_did_v1_genesis_proto_rawDescData } -var file_did_v1_genesis_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_did_v1_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_did_v1_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_did_v1_genesis_proto_goTypes = []interface{}{ - (AssetType)(0), // 0: did.v1.AssetType - (DIDNamespace)(0), // 1: did.v1.DIDNamespace - (KeyAlgorithm)(0), // 2: did.v1.KeyAlgorithm - (KeyCurve)(0), // 3: did.v1.KeyCurve - (KeyEncoding)(0), // 4: did.v1.KeyEncoding - (KeyRole)(0), // 5: did.v1.KeyRole - (KeyType)(0), // 6: did.v1.KeyType - (KeyshareRole)(0), // 7: did.v1.KeyshareRole - (PermissionScope)(0), // 8: did.v1.PermissionScope - (*GenesisState)(nil), // 9: did.v1.GenesisState - (*GlobalIntegrity)(nil), // 10: did.v1.GlobalIntegrity - (*Params)(nil), // 11: did.v1.Params - (*AssetInfo)(nil), // 12: did.v1.AssetInfo - (*KeyInfo)(nil), // 13: did.v1.KeyInfo - (*ValidatorInfo)(nil), // 14: did.v1.ValidatorInfo - nil, // 15: did.v1.Params.AllowedPublicKeysEntry - (*ValidatorInfo_Endpoint)(nil), // 16: did.v1.ValidatorInfo.Endpoint - (*ValidatorInfo_ExplorerInfo)(nil), // 17: did.v1.ValidatorInfo.ExplorerInfo - (*ValidatorInfo_FeeInfo)(nil), // 18: did.v1.ValidatorInfo.FeeInfo - (*ValidatorInfo_IBCChannel)(nil), // 19: did.v1.ValidatorInfo.IBCChannel + (*GenesisState)(nil), // 0: did.v1.GenesisState + (*GlobalIntegrity)(nil), // 1: did.v1.GlobalIntegrity + (*Params)(nil), // 2: did.v1.Params + (*AssetInfo)(nil), // 3: did.v1.AssetInfo + (*Document)(nil), // 4: did.v1.Document + (*KeyInfo)(nil), // 5: did.v1.KeyInfo + (*PubKey)(nil), // 6: did.v1.PubKey + (*Service)(nil), // 7: did.v1.Service + nil, // 8: did.v1.Params.AllowedPublicKeysEntry + (*PubKey_JWK)(nil), // 9: did.v1.PubKey.JWK + nil, // 10: did.v1.Service.ServiceEndpointsEntry + nil, // 11: did.v1.Service.PermissionsEntry } var file_did_v1_genesis_proto_depIdxs = []int32{ - 11, // 0: did.v1.GenesisState.params:type_name -> did.v1.Params - 10, // 1: did.v1.GenesisState.global_integrity:type_name -> did.v1.GlobalIntegrity - 12, // 2: did.v1.Params.whitelisted_assets:type_name -> did.v1.AssetInfo - 15, // 3: did.v1.Params.allowed_public_keys:type_name -> did.v1.Params.AllowedPublicKeysEntry - 0, // 4: did.v1.AssetInfo.asset_type:type_name -> did.v1.AssetType - 5, // 5: did.v1.KeyInfo.role:type_name -> did.v1.KeyRole - 2, // 6: did.v1.KeyInfo.algorithm:type_name -> did.v1.KeyAlgorithm - 4, // 7: did.v1.KeyInfo.encoding:type_name -> did.v1.KeyEncoding - 3, // 8: did.v1.KeyInfo.curve:type_name -> did.v1.KeyCurve - 6, // 9: did.v1.KeyInfo.type:type_name -> did.v1.KeyType - 16, // 10: did.v1.ValidatorInfo.grpc_endpoints:type_name -> did.v1.ValidatorInfo.Endpoint - 16, // 11: did.v1.ValidatorInfo.rest_endpoints:type_name -> did.v1.ValidatorInfo.Endpoint - 17, // 12: did.v1.ValidatorInfo.explorer:type_name -> did.v1.ValidatorInfo.ExplorerInfo - 18, // 13: did.v1.ValidatorInfo.fee_info:type_name -> did.v1.ValidatorInfo.FeeInfo - 19, // 14: did.v1.ValidatorInfo.ibc_channel:type_name -> did.v1.ValidatorInfo.IBCChannel - 13, // 15: did.v1.Params.AllowedPublicKeysEntry.value:type_name -> did.v1.KeyInfo - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 2, // 0: did.v1.GenesisState.params:type_name -> did.v1.Params + 1, // 1: did.v1.GenesisState.global_integrity:type_name -> did.v1.GlobalIntegrity + 3, // 2: did.v1.Params.whitelisted_assets:type_name -> did.v1.AssetInfo + 8, // 3: did.v1.Params.allowed_public_keys:type_name -> did.v1.Params.AllowedPublicKeysEntry + 9, // 4: did.v1.PubKey.jwk:type_name -> did.v1.PubKey.JWK + 10, // 5: did.v1.Service.service_endpoints:type_name -> did.v1.Service.ServiceEndpointsEntry + 11, // 6: did.v1.Service.permissions:type_name -> did.v1.Service.PermissionsEntry + 5, // 7: did.v1.Params.AllowedPublicKeysEntry.value:type_name -> did.v1.KeyInfo + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_did_v1_genesis_proto_init() } @@ -8139,7 +8464,6 @@ func file_did_v1_genesis_proto_init() { if File_did_v1_genesis_proto != nil { return } - file_did_v1_types_proto_init() if !protoimpl.UnsafeEnabled { file_did_v1_genesis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenesisState); i { @@ -8190,7 +8514,7 @@ func file_did_v1_genesis_proto_init() { } } file_did_v1_genesis_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyInfo); i { + switch v := v.(*Document); i { case 0: return &v.state case 1: @@ -8202,7 +8526,19 @@ func file_did_v1_genesis_proto_init() { } } file_did_v1_genesis_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidatorInfo); i { + switch v := v.(*KeyInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_did_v1_genesis_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PubKey); i { case 0: return &v.state case 1: @@ -8214,19 +8550,7 @@ func file_did_v1_genesis_proto_init() { } } file_did_v1_genesis_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidatorInfo_Endpoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_genesis_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidatorInfo_ExplorerInfo); i { + switch v := v.(*Service); i { case 0: return &v.state case 1: @@ -8238,19 +8562,7 @@ func file_did_v1_genesis_proto_init() { } } file_did_v1_genesis_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidatorInfo_FeeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_genesis_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidatorInfo_IBCChannel); i { + switch v := v.(*PubKey_JWK); i { case 0: return &v.state case 1: @@ -8267,14 +8579,13 @@ func file_did_v1_genesis_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_did_v1_genesis_proto_rawDesc, - NumEnums: 9, - NumMessages: 11, + NumEnums: 0, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, GoTypes: file_did_v1_genesis_proto_goTypes, DependencyIndexes: file_did_v1_genesis_proto_depIdxs, - EnumInfos: file_did_v1_genesis_proto_enumTypes, MessageInfos: file_did_v1_genesis_proto_msgTypes, }.Build() File_did_v1_genesis_proto = out.File diff --git a/api/did/v1/models.pulsar.go b/api/did/v1/models.pulsar.go deleted file mode 100644 index 4cea413c9..000000000 --- a/api/did/v1/models.pulsar.go +++ /dev/null @@ -1,10267 +0,0 @@ -// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. -package didv1 - -import ( - fmt "fmt" - runtime "github.com/cosmos/cosmos-proto/runtime" - _ "github.com/cosmos/gogoproto/gogoproto" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoiface "google.golang.org/protobuf/runtime/protoiface" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" -) - -var ( - md_Alias protoreflect.MessageDescriptor - fd_Alias_subject protoreflect.FieldDescriptor - fd_Alias_origin protoreflect.FieldDescriptor - fd_Alias_controller protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_Alias = File_did_v1_models_proto.Messages().ByName("Alias") - fd_Alias_subject = md_Alias.Fields().ByName("subject") - fd_Alias_origin = md_Alias.Fields().ByName("origin") - fd_Alias_controller = md_Alias.Fields().ByName("controller") -} - -var _ protoreflect.Message = (*fastReflection_Alias)(nil) - -type fastReflection_Alias Alias - -func (x *Alias) ProtoReflect() protoreflect.Message { - return (*fastReflection_Alias)(x) -} - -func (x *Alias) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_Alias_messageType fastReflection_Alias_messageType -var _ protoreflect.MessageType = fastReflection_Alias_messageType{} - -type fastReflection_Alias_messageType struct{} - -func (x fastReflection_Alias_messageType) Zero() protoreflect.Message { - return (*fastReflection_Alias)(nil) -} -func (x fastReflection_Alias_messageType) New() protoreflect.Message { - return new(fastReflection_Alias) -} -func (x fastReflection_Alias_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Alias -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Alias) Descriptor() protoreflect.MessageDescriptor { - return md_Alias -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Alias) Type() protoreflect.MessageType { - return _fastReflection_Alias_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Alias) New() protoreflect.Message { - return new(fastReflection_Alias) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Alias) Interface() protoreflect.ProtoMessage { - return (*Alias)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Alias) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Subject != "" { - value := protoreflect.ValueOfString(x.Subject) - if !f(fd_Alias_subject, value) { - return - } - } - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_Alias_origin, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_Alias_controller, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Alias) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Alias.subject": - return x.Subject != "" - case "did.v1.Alias.origin": - return x.Origin != "" - case "did.v1.Alias.controller": - return x.Controller != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) - } - panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Alias) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Alias.subject": - x.Subject = "" - case "did.v1.Alias.origin": - x.Origin = "" - case "did.v1.Alias.controller": - x.Controller = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) - } - panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Alias) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Alias.subject": - value := x.Subject - return protoreflect.ValueOfString(value) - case "did.v1.Alias.origin": - value := x.Origin - return protoreflect.ValueOfString(value) - case "did.v1.Alias.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) - } - panic(fmt.Errorf("message did.v1.Alias does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Alias) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Alias.subject": - x.Subject = value.Interface().(string) - case "did.v1.Alias.origin": - x.Origin = value.Interface().(string) - case "did.v1.Alias.controller": - x.Controller = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) - } - panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Alias) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Alias.subject": - panic(fmt.Errorf("field subject of message did.v1.Alias is not mutable")) - case "did.v1.Alias.origin": - panic(fmt.Errorf("field origin of message did.v1.Alias is not mutable")) - case "did.v1.Alias.controller": - panic(fmt.Errorf("field controller of message did.v1.Alias is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) - } - panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Alias) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Alias.subject": - return protoreflect.ValueOfString("") - case "did.v1.Alias.origin": - return protoreflect.ValueOfString("") - case "did.v1.Alias.controller": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) - } - panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Alias) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Alias", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Alias) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Alias) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Alias) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Alias) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Alias) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Subject) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Origin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Alias) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x1a - } - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) - i-- - dAtA[i] = 0x12 - } - if len(x.Subject) > 0 { - i -= len(x.Subject) - copy(dAtA[i:], x.Subject) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Subject))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Alias) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Alias: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Alias: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Subject", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Subject = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Origin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_Credential_6_list)(nil) - -type _Credential_6_list struct { - list *[]string -} - -func (x *_Credential_6_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Credential_6_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Credential_6_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Credential_6_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Credential_6_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Credential at list field Transport as it is not of Message kind")) -} - -func (x *_Credential_6_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Credential_6_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Credential_6_list) IsValid() bool { - return x.list != nil -} - -var ( - md_Credential protoreflect.MessageDescriptor - fd_Credential_subject protoreflect.FieldDescriptor - fd_Credential_attestation_type protoreflect.FieldDescriptor - fd_Credential_origin protoreflect.FieldDescriptor - fd_Credential_credential_id protoreflect.FieldDescriptor - fd_Credential_public_key protoreflect.FieldDescriptor - fd_Credential_transport protoreflect.FieldDescriptor - fd_Credential_sign_count protoreflect.FieldDescriptor - fd_Credential_user_present protoreflect.FieldDescriptor - fd_Credential_user_verified protoreflect.FieldDescriptor - fd_Credential_backup_eligible protoreflect.FieldDescriptor - fd_Credential_backup_state protoreflect.FieldDescriptor - fd_Credential_clone_warning protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_Credential = File_did_v1_models_proto.Messages().ByName("Credential") - fd_Credential_subject = md_Credential.Fields().ByName("subject") - fd_Credential_attestation_type = md_Credential.Fields().ByName("attestation_type") - fd_Credential_origin = md_Credential.Fields().ByName("origin") - fd_Credential_credential_id = md_Credential.Fields().ByName("credential_id") - fd_Credential_public_key = md_Credential.Fields().ByName("public_key") - fd_Credential_transport = md_Credential.Fields().ByName("transport") - fd_Credential_sign_count = md_Credential.Fields().ByName("sign_count") - fd_Credential_user_present = md_Credential.Fields().ByName("user_present") - fd_Credential_user_verified = md_Credential.Fields().ByName("user_verified") - fd_Credential_backup_eligible = md_Credential.Fields().ByName("backup_eligible") - fd_Credential_backup_state = md_Credential.Fields().ByName("backup_state") - fd_Credential_clone_warning = md_Credential.Fields().ByName("clone_warning") -} - -var _ protoreflect.Message = (*fastReflection_Credential)(nil) - -type fastReflection_Credential Credential - -func (x *Credential) ProtoReflect() protoreflect.Message { - return (*fastReflection_Credential)(x) -} - -func (x *Credential) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_Credential_messageType fastReflection_Credential_messageType -var _ protoreflect.MessageType = fastReflection_Credential_messageType{} - -type fastReflection_Credential_messageType struct{} - -func (x fastReflection_Credential_messageType) Zero() protoreflect.Message { - return (*fastReflection_Credential)(nil) -} -func (x fastReflection_Credential_messageType) New() protoreflect.Message { - return new(fastReflection_Credential) -} -func (x fastReflection_Credential_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Credential -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Credential) Descriptor() protoreflect.MessageDescriptor { - return md_Credential -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Credential) Type() protoreflect.MessageType { - return _fastReflection_Credential_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Credential) New() protoreflect.Message { - return new(fastReflection_Credential) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Credential) Interface() protoreflect.ProtoMessage { - return (*Credential)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Credential) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Subject != "" { - value := protoreflect.ValueOfString(x.Subject) - if !f(fd_Credential_subject, value) { - return - } - } - if x.AttestationType != "" { - value := protoreflect.ValueOfString(x.AttestationType) - if !f(fd_Credential_attestation_type, value) { - return - } - } - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_Credential_origin, value) { - return - } - } - if len(x.CredentialId) != 0 { - value := protoreflect.ValueOfBytes(x.CredentialId) - if !f(fd_Credential_credential_id, value) { - return - } - } - if len(x.PublicKey) != 0 { - value := protoreflect.ValueOfBytes(x.PublicKey) - if !f(fd_Credential_public_key, value) { - return - } - } - if len(x.Transport) != 0 { - value := protoreflect.ValueOfList(&_Credential_6_list{list: &x.Transport}) - if !f(fd_Credential_transport, value) { - return - } - } - if x.SignCount != uint32(0) { - value := protoreflect.ValueOfUint32(x.SignCount) - if !f(fd_Credential_sign_count, value) { - return - } - } - if x.UserPresent != false { - value := protoreflect.ValueOfBool(x.UserPresent) - if !f(fd_Credential_user_present, value) { - return - } - } - if x.UserVerified != false { - value := protoreflect.ValueOfBool(x.UserVerified) - if !f(fd_Credential_user_verified, value) { - return - } - } - if x.BackupEligible != false { - value := protoreflect.ValueOfBool(x.BackupEligible) - if !f(fd_Credential_backup_eligible, value) { - return - } - } - if x.BackupState != false { - value := protoreflect.ValueOfBool(x.BackupState) - if !f(fd_Credential_backup_state, value) { - return - } - } - if x.CloneWarning != false { - value := protoreflect.ValueOfBool(x.CloneWarning) - if !f(fd_Credential_clone_warning, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Credential) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Credential.subject": - return x.Subject != "" - case "did.v1.Credential.attestation_type": - return x.AttestationType != "" - case "did.v1.Credential.origin": - return x.Origin != "" - case "did.v1.Credential.credential_id": - return len(x.CredentialId) != 0 - case "did.v1.Credential.public_key": - return len(x.PublicKey) != 0 - case "did.v1.Credential.transport": - return len(x.Transport) != 0 - case "did.v1.Credential.sign_count": - return x.SignCount != uint32(0) - case "did.v1.Credential.user_present": - return x.UserPresent != false - case "did.v1.Credential.user_verified": - return x.UserVerified != false - case "did.v1.Credential.backup_eligible": - return x.BackupEligible != false - case "did.v1.Credential.backup_state": - return x.BackupState != false - case "did.v1.Credential.clone_warning": - return x.CloneWarning != false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Credential.subject": - x.Subject = "" - case "did.v1.Credential.attestation_type": - x.AttestationType = "" - case "did.v1.Credential.origin": - x.Origin = "" - case "did.v1.Credential.credential_id": - x.CredentialId = nil - case "did.v1.Credential.public_key": - x.PublicKey = nil - case "did.v1.Credential.transport": - x.Transport = nil - case "did.v1.Credential.sign_count": - x.SignCount = uint32(0) - case "did.v1.Credential.user_present": - x.UserPresent = false - case "did.v1.Credential.user_verified": - x.UserVerified = false - case "did.v1.Credential.backup_eligible": - x.BackupEligible = false - case "did.v1.Credential.backup_state": - x.BackupState = false - case "did.v1.Credential.clone_warning": - x.CloneWarning = false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Credential) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Credential.subject": - value := x.Subject - return protoreflect.ValueOfString(value) - case "did.v1.Credential.attestation_type": - value := x.AttestationType - return protoreflect.ValueOfString(value) - case "did.v1.Credential.origin": - value := x.Origin - return protoreflect.ValueOfString(value) - case "did.v1.Credential.credential_id": - value := x.CredentialId - return protoreflect.ValueOfBytes(value) - case "did.v1.Credential.public_key": - value := x.PublicKey - return protoreflect.ValueOfBytes(value) - case "did.v1.Credential.transport": - if len(x.Transport) == 0 { - return protoreflect.ValueOfList(&_Credential_6_list{}) - } - listValue := &_Credential_6_list{list: &x.Transport} - return protoreflect.ValueOfList(listValue) - case "did.v1.Credential.sign_count": - value := x.SignCount - return protoreflect.ValueOfUint32(value) - case "did.v1.Credential.user_present": - value := x.UserPresent - return protoreflect.ValueOfBool(value) - case "did.v1.Credential.user_verified": - value := x.UserVerified - return protoreflect.ValueOfBool(value) - case "did.v1.Credential.backup_eligible": - value := x.BackupEligible - return protoreflect.ValueOfBool(value) - case "did.v1.Credential.backup_state": - value := x.BackupState - return protoreflect.ValueOfBool(value) - case "did.v1.Credential.clone_warning": - value := x.CloneWarning - return protoreflect.ValueOfBool(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Credential.subject": - x.Subject = value.Interface().(string) - case "did.v1.Credential.attestation_type": - x.AttestationType = value.Interface().(string) - case "did.v1.Credential.origin": - x.Origin = value.Interface().(string) - case "did.v1.Credential.credential_id": - x.CredentialId = value.Bytes() - case "did.v1.Credential.public_key": - x.PublicKey = value.Bytes() - case "did.v1.Credential.transport": - lv := value.List() - clv := lv.(*_Credential_6_list) - x.Transport = *clv.list - case "did.v1.Credential.sign_count": - x.SignCount = uint32(value.Uint()) - case "did.v1.Credential.user_present": - x.UserPresent = value.Bool() - case "did.v1.Credential.user_verified": - x.UserVerified = value.Bool() - case "did.v1.Credential.backup_eligible": - x.BackupEligible = value.Bool() - case "did.v1.Credential.backup_state": - x.BackupState = value.Bool() - case "did.v1.Credential.clone_warning": - x.CloneWarning = value.Bool() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Credential.transport": - if x.Transport == nil { - x.Transport = []string{} - } - value := &_Credential_6_list{list: &x.Transport} - return protoreflect.ValueOfList(value) - case "did.v1.Credential.subject": - panic(fmt.Errorf("field subject of message did.v1.Credential is not mutable")) - case "did.v1.Credential.attestation_type": - panic(fmt.Errorf("field attestation_type of message did.v1.Credential is not mutable")) - case "did.v1.Credential.origin": - panic(fmt.Errorf("field origin of message did.v1.Credential is not mutable")) - case "did.v1.Credential.credential_id": - panic(fmt.Errorf("field credential_id of message did.v1.Credential is not mutable")) - case "did.v1.Credential.public_key": - panic(fmt.Errorf("field public_key of message did.v1.Credential is not mutable")) - case "did.v1.Credential.sign_count": - panic(fmt.Errorf("field sign_count of message did.v1.Credential is not mutable")) - case "did.v1.Credential.user_present": - panic(fmt.Errorf("field user_present of message did.v1.Credential is not mutable")) - case "did.v1.Credential.user_verified": - panic(fmt.Errorf("field user_verified of message did.v1.Credential is not mutable")) - case "did.v1.Credential.backup_eligible": - panic(fmt.Errorf("field backup_eligible of message did.v1.Credential is not mutable")) - case "did.v1.Credential.backup_state": - panic(fmt.Errorf("field backup_state of message did.v1.Credential is not mutable")) - case "did.v1.Credential.clone_warning": - panic(fmt.Errorf("field clone_warning of message did.v1.Credential is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Credential) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Credential.subject": - return protoreflect.ValueOfString("") - case "did.v1.Credential.attestation_type": - return protoreflect.ValueOfString("") - case "did.v1.Credential.origin": - return protoreflect.ValueOfString("") - case "did.v1.Credential.credential_id": - return protoreflect.ValueOfBytes(nil) - case "did.v1.Credential.public_key": - return protoreflect.ValueOfBytes(nil) - case "did.v1.Credential.transport": - list := []string{} - return protoreflect.ValueOfList(&_Credential_6_list{list: &list}) - case "did.v1.Credential.sign_count": - return protoreflect.ValueOfUint32(uint32(0)) - case "did.v1.Credential.user_present": - return protoreflect.ValueOfBool(false) - case "did.v1.Credential.user_verified": - return protoreflect.ValueOfBool(false) - case "did.v1.Credential.backup_eligible": - return protoreflect.ValueOfBool(false) - case "did.v1.Credential.backup_state": - return protoreflect.ValueOfBool(false) - case "did.v1.Credential.clone_warning": - return protoreflect.ValueOfBool(false) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Credential) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Credential", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Credential) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Credential) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Credential) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Credential) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Subject) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.AttestationType) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Origin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.CredentialId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.PublicKey) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Transport) > 0 { - for _, s := range x.Transport { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.SignCount != 0 { - n += 1 + runtime.Sov(uint64(x.SignCount)) - } - if x.UserPresent { - n += 2 - } - if x.UserVerified { - n += 2 - } - if x.BackupEligible { - n += 2 - } - if x.BackupState { - n += 2 - } - if x.CloneWarning { - n += 2 - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Credential) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.CloneWarning { - i-- - if x.CloneWarning { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x60 - } - if x.BackupState { - i-- - if x.BackupState { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x58 - } - if x.BackupEligible { - i-- - if x.BackupEligible { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x50 - } - if x.UserVerified { - i-- - if x.UserVerified { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x48 - } - if x.UserPresent { - i-- - if x.UserPresent { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x40 - } - if x.SignCount != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.SignCount)) - i-- - dAtA[i] = 0x38 - } - if len(x.Transport) > 0 { - for iNdEx := len(x.Transport) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Transport[iNdEx]) - copy(dAtA[i:], x.Transport[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Transport[iNdEx]))) - i-- - dAtA[i] = 0x32 - } - } - if len(x.PublicKey) > 0 { - i -= len(x.PublicKey) - copy(dAtA[i:], x.PublicKey) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PublicKey))) - i-- - dAtA[i] = 0x2a - } - if len(x.CredentialId) > 0 { - i -= len(x.CredentialId) - copy(dAtA[i:], x.CredentialId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CredentialId))) - i-- - dAtA[i] = 0x22 - } - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) - i-- - dAtA[i] = 0x1a - } - if len(x.AttestationType) > 0 { - i -= len(x.AttestationType) - copy(dAtA[i:], x.AttestationType) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AttestationType))) - i-- - dAtA[i] = 0x12 - } - if len(x.Subject) > 0 { - i -= len(x.Subject) - copy(dAtA[i:], x.Subject) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Subject))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Credential) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Credential: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Credential: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Subject", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Subject = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AttestationType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.AttestationType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Origin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CredentialId", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CredentialId = append(x.CredentialId[:0], dAtA[iNdEx:postIndex]...) - if x.CredentialId == nil { - x.CredentialId = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.PublicKey = append(x.PublicKey[:0], dAtA[iNdEx:postIndex]...) - if x.PublicKey == nil { - x.PublicKey = []byte{} - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Transport", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Transport = append(x.Transport, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 7: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SignCount", wireType) - } - x.SignCount = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.SignCount |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UserPresent", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.UserPresent = bool(v != 0) - case 9: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UserVerified", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.UserVerified = bool(v != 0) - case 10: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BackupEligible", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.BackupEligible = bool(v != 0) - case 11: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BackupState", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.BackupState = bool(v != 0) - case 12: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CloneWarning", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.CloneWarning = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_Document_3_list)(nil) - -type _Document_3_list struct { - list *[]string -} - -func (x *_Document_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_3_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field Authentication as it is not of Message kind")) -} - -func (x *_Document_3_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_3_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_3_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_4_list)(nil) - -type _Document_4_list struct { - list *[]string -} - -func (x *_Document_4_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_4_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_4_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_4_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_4_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field AssertionMethod as it is not of Message kind")) -} - -func (x *_Document_4_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_4_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_4_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_5_list)(nil) - -type _Document_5_list struct { - list *[]string -} - -func (x *_Document_5_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_5_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_5_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_5_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_5_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field CapabilityDelegation as it is not of Message kind")) -} - -func (x *_Document_5_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_5_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_5_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_6_list)(nil) - -type _Document_6_list struct { - list *[]string -} - -func (x *_Document_6_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_6_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_6_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_6_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_6_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field CapabilityInvocation as it is not of Message kind")) -} - -func (x *_Document_6_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_6_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_6_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_7_list)(nil) - -type _Document_7_list struct { - list *[]string -} - -func (x *_Document_7_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_7_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_7_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_7_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_7_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field Service as it is not of Message kind")) -} - -func (x *_Document_7_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_7_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_7_list) IsValid() bool { - return x.list != nil -} - -var ( - md_Document protoreflect.MessageDescriptor - fd_Document_id protoreflect.FieldDescriptor - fd_Document_controller protoreflect.FieldDescriptor - fd_Document_authentication protoreflect.FieldDescriptor - fd_Document_assertion_method protoreflect.FieldDescriptor - fd_Document_capability_delegation protoreflect.FieldDescriptor - fd_Document_capability_invocation protoreflect.FieldDescriptor - fd_Document_service protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_Document = File_did_v1_models_proto.Messages().ByName("Document") - fd_Document_id = md_Document.Fields().ByName("id") - fd_Document_controller = md_Document.Fields().ByName("controller") - fd_Document_authentication = md_Document.Fields().ByName("authentication") - fd_Document_assertion_method = md_Document.Fields().ByName("assertion_method") - fd_Document_capability_delegation = md_Document.Fields().ByName("capability_delegation") - fd_Document_capability_invocation = md_Document.Fields().ByName("capability_invocation") - fd_Document_service = md_Document.Fields().ByName("service") -} - -var _ protoreflect.Message = (*fastReflection_Document)(nil) - -type fastReflection_Document Document - -func (x *Document) ProtoReflect() protoreflect.Message { - return (*fastReflection_Document)(x) -} - -func (x *Document) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_Document_messageType fastReflection_Document_messageType -var _ protoreflect.MessageType = fastReflection_Document_messageType{} - -type fastReflection_Document_messageType struct{} - -func (x fastReflection_Document_messageType) Zero() protoreflect.Message { - return (*fastReflection_Document)(nil) -} -func (x fastReflection_Document_messageType) New() protoreflect.Message { - return new(fastReflection_Document) -} -func (x fastReflection_Document_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Document -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Document) Descriptor() protoreflect.MessageDescriptor { - return md_Document -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Document) Type() protoreflect.MessageType { - return _fastReflection_Document_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Document) New() protoreflect.Message { - return new(fastReflection_Document) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Document) Interface() protoreflect.ProtoMessage { - return (*Document)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Document) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_Document_id, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_Document_controller, value) { - return - } - } - if len(x.Authentication) != 0 { - value := protoreflect.ValueOfList(&_Document_3_list{list: &x.Authentication}) - if !f(fd_Document_authentication, value) { - return - } - } - if len(x.AssertionMethod) != 0 { - value := protoreflect.ValueOfList(&_Document_4_list{list: &x.AssertionMethod}) - if !f(fd_Document_assertion_method, value) { - return - } - } - if len(x.CapabilityDelegation) != 0 { - value := protoreflect.ValueOfList(&_Document_5_list{list: &x.CapabilityDelegation}) - if !f(fd_Document_capability_delegation, value) { - return - } - } - if len(x.CapabilityInvocation) != 0 { - value := protoreflect.ValueOfList(&_Document_6_list{list: &x.CapabilityInvocation}) - if !f(fd_Document_capability_invocation, value) { - return - } - } - if len(x.Service) != 0 { - value := protoreflect.ValueOfList(&_Document_7_list{list: &x.Service}) - if !f(fd_Document_service, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Document) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Document.id": - return x.Id != "" - case "did.v1.Document.controller": - return x.Controller != "" - case "did.v1.Document.authentication": - return len(x.Authentication) != 0 - case "did.v1.Document.assertion_method": - return len(x.AssertionMethod) != 0 - case "did.v1.Document.capability_delegation": - return len(x.CapabilityDelegation) != 0 - case "did.v1.Document.capability_invocation": - return len(x.CapabilityInvocation) != 0 - case "did.v1.Document.service": - return len(x.Service) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Document.id": - x.Id = "" - case "did.v1.Document.controller": - x.Controller = "" - case "did.v1.Document.authentication": - x.Authentication = nil - case "did.v1.Document.assertion_method": - x.AssertionMethod = nil - case "did.v1.Document.capability_delegation": - x.CapabilityDelegation = nil - case "did.v1.Document.capability_invocation": - x.CapabilityInvocation = nil - case "did.v1.Document.service": - x.Service = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Document) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Document.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.Document.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.Document.authentication": - if len(x.Authentication) == 0 { - return protoreflect.ValueOfList(&_Document_3_list{}) - } - listValue := &_Document_3_list{list: &x.Authentication} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.assertion_method": - if len(x.AssertionMethod) == 0 { - return protoreflect.ValueOfList(&_Document_4_list{}) - } - listValue := &_Document_4_list{list: &x.AssertionMethod} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.capability_delegation": - if len(x.CapabilityDelegation) == 0 { - return protoreflect.ValueOfList(&_Document_5_list{}) - } - listValue := &_Document_5_list{list: &x.CapabilityDelegation} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.capability_invocation": - if len(x.CapabilityInvocation) == 0 { - return protoreflect.ValueOfList(&_Document_6_list{}) - } - listValue := &_Document_6_list{list: &x.CapabilityInvocation} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.service": - if len(x.Service) == 0 { - return protoreflect.ValueOfList(&_Document_7_list{}) - } - listValue := &_Document_7_list{list: &x.Service} - return protoreflect.ValueOfList(listValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Document.id": - x.Id = value.Interface().(string) - case "did.v1.Document.controller": - x.Controller = value.Interface().(string) - case "did.v1.Document.authentication": - lv := value.List() - clv := lv.(*_Document_3_list) - x.Authentication = *clv.list - case "did.v1.Document.assertion_method": - lv := value.List() - clv := lv.(*_Document_4_list) - x.AssertionMethod = *clv.list - case "did.v1.Document.capability_delegation": - lv := value.List() - clv := lv.(*_Document_5_list) - x.CapabilityDelegation = *clv.list - case "did.v1.Document.capability_invocation": - lv := value.List() - clv := lv.(*_Document_6_list) - x.CapabilityInvocation = *clv.list - case "did.v1.Document.service": - lv := value.List() - clv := lv.(*_Document_7_list) - x.Service = *clv.list - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Document.authentication": - if x.Authentication == nil { - x.Authentication = []string{} - } - value := &_Document_3_list{list: &x.Authentication} - return protoreflect.ValueOfList(value) - case "did.v1.Document.assertion_method": - if x.AssertionMethod == nil { - x.AssertionMethod = []string{} - } - value := &_Document_4_list{list: &x.AssertionMethod} - return protoreflect.ValueOfList(value) - case "did.v1.Document.capability_delegation": - if x.CapabilityDelegation == nil { - x.CapabilityDelegation = []string{} - } - value := &_Document_5_list{list: &x.CapabilityDelegation} - return protoreflect.ValueOfList(value) - case "did.v1.Document.capability_invocation": - if x.CapabilityInvocation == nil { - x.CapabilityInvocation = []string{} - } - value := &_Document_6_list{list: &x.CapabilityInvocation} - return protoreflect.ValueOfList(value) - case "did.v1.Document.service": - if x.Service == nil { - x.Service = []string{} - } - value := &_Document_7_list{list: &x.Service} - return protoreflect.ValueOfList(value) - case "did.v1.Document.id": - panic(fmt.Errorf("field id of message did.v1.Document is not mutable")) - case "did.v1.Document.controller": - panic(fmt.Errorf("field controller of message did.v1.Document is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Document) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Document.id": - return protoreflect.ValueOfString("") - case "did.v1.Document.controller": - return protoreflect.ValueOfString("") - case "did.v1.Document.authentication": - list := []string{} - return protoreflect.ValueOfList(&_Document_3_list{list: &list}) - case "did.v1.Document.assertion_method": - list := []string{} - return protoreflect.ValueOfList(&_Document_4_list{list: &list}) - case "did.v1.Document.capability_delegation": - list := []string{} - return protoreflect.ValueOfList(&_Document_5_list{list: &list}) - case "did.v1.Document.capability_invocation": - list := []string{} - return protoreflect.ValueOfList(&_Document_6_list{list: &list}) - case "did.v1.Document.service": - list := []string{} - return protoreflect.ValueOfList(&_Document_7_list{list: &list}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Document) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Document", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Document) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Document) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Document) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Document) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Authentication) > 0 { - for _, s := range x.Authentication { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.AssertionMethod) > 0 { - for _, s := range x.AssertionMethod { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.CapabilityDelegation) > 0 { - for _, s := range x.CapabilityDelegation { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.CapabilityInvocation) > 0 { - for _, s := range x.CapabilityInvocation { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.Service) > 0 { - for _, s := range x.Service { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Document) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Service) > 0 { - for iNdEx := len(x.Service) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Service[iNdEx]) - copy(dAtA[i:], x.Service[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Service[iNdEx]))) - i-- - dAtA[i] = 0x3a - } - } - if len(x.CapabilityInvocation) > 0 { - for iNdEx := len(x.CapabilityInvocation) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.CapabilityInvocation[iNdEx]) - copy(dAtA[i:], x.CapabilityInvocation[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CapabilityInvocation[iNdEx]))) - i-- - dAtA[i] = 0x32 - } - } - if len(x.CapabilityDelegation) > 0 { - for iNdEx := len(x.CapabilityDelegation) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.CapabilityDelegation[iNdEx]) - copy(dAtA[i:], x.CapabilityDelegation[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CapabilityDelegation[iNdEx]))) - i-- - dAtA[i] = 0x2a - } - } - if len(x.AssertionMethod) > 0 { - for iNdEx := len(x.AssertionMethod) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.AssertionMethod[iNdEx]) - copy(dAtA[i:], x.AssertionMethod[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AssertionMethod[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(x.Authentication) > 0 { - for iNdEx := len(x.Authentication) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Authentication[iNdEx]) - copy(dAtA[i:], x.Authentication[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authentication[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Document) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Document: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Document: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authentication", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authentication = append(x.Authentication, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AssertionMethod", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.AssertionMethod = append(x.AssertionMethod, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CapabilityDelegation", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CapabilityDelegation = append(x.CapabilityDelegation, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CapabilityInvocation", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CapabilityInvocation = append(x.CapabilityInvocation, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Service = append(x.Service, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.Map = (*_Keyshare_1_map)(nil) - -type _Keyshare_1_map struct { - m *map[string]string -} - -func (x *_Keyshare_1_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_Keyshare_1_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfString(v) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_Keyshare_1_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_Keyshare_1_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_Keyshare_1_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfString(v) -} - -func (x *_Keyshare_1_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.m)[concreteKey] = concreteValue -} - -func (x *_Keyshare_1_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") -} - -func (x *_Keyshare_1_map) NewValue() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Keyshare_1_map) IsValid() bool { - return x.m != nil -} - -var _ protoreflect.Map = (*_Keyshare_2_map)(nil) - -type _Keyshare_2_map struct { - m *map[string][]byte -} - -func (x *_Keyshare_2_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_Keyshare_2_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfBytes(v) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_Keyshare_2_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_Keyshare_2_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_Keyshare_2_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfBytes(v) -} - -func (x *_Keyshare_2_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.Bytes() - concreteValue := valueUnwrapped - (*x.m)[concreteKey] = concreteValue -} - -func (x *_Keyshare_2_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") -} - -func (x *_Keyshare_2_map) NewValue() protoreflect.Value { - var v []byte - return protoreflect.ValueOfBytes(v) -} - -func (x *_Keyshare_2_map) IsValid() bool { - return x.m != nil -} - -var ( - md_Keyshare protoreflect.MessageDescriptor - fd_Keyshare_metadata protoreflect.FieldDescriptor - fd_Keyshare_payloads protoreflect.FieldDescriptor - fd_Keyshare_protocol protoreflect.FieldDescriptor - fd_Keyshare_public_key protoreflect.FieldDescriptor - fd_Keyshare_version protoreflect.FieldDescriptor - fd_Keyshare_role protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_Keyshare = File_did_v1_models_proto.Messages().ByName("Keyshare") - fd_Keyshare_metadata = md_Keyshare.Fields().ByName("metadata") - fd_Keyshare_payloads = md_Keyshare.Fields().ByName("payloads") - fd_Keyshare_protocol = md_Keyshare.Fields().ByName("protocol") - fd_Keyshare_public_key = md_Keyshare.Fields().ByName("public_key") - fd_Keyshare_version = md_Keyshare.Fields().ByName("version") - fd_Keyshare_role = md_Keyshare.Fields().ByName("role") -} - -var _ protoreflect.Message = (*fastReflection_Keyshare)(nil) - -type fastReflection_Keyshare Keyshare - -func (x *Keyshare) ProtoReflect() protoreflect.Message { - return (*fastReflection_Keyshare)(x) -} - -func (x *Keyshare) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_Keyshare_messageType fastReflection_Keyshare_messageType -var _ protoreflect.MessageType = fastReflection_Keyshare_messageType{} - -type fastReflection_Keyshare_messageType struct{} - -func (x fastReflection_Keyshare_messageType) Zero() protoreflect.Message { - return (*fastReflection_Keyshare)(nil) -} -func (x fastReflection_Keyshare_messageType) New() protoreflect.Message { - return new(fastReflection_Keyshare) -} -func (x fastReflection_Keyshare_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Keyshare -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Keyshare) Descriptor() protoreflect.MessageDescriptor { - return md_Keyshare -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Keyshare) Type() protoreflect.MessageType { - return _fastReflection_Keyshare_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Keyshare) New() protoreflect.Message { - return new(fastReflection_Keyshare) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Keyshare) Interface() protoreflect.ProtoMessage { - return (*Keyshare)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Keyshare) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.Metadata) != 0 { - value := protoreflect.ValueOfMap(&_Keyshare_1_map{m: &x.Metadata}) - if !f(fd_Keyshare_metadata, value) { - return - } - } - if len(x.Payloads) != 0 { - value := protoreflect.ValueOfMap(&_Keyshare_2_map{m: &x.Payloads}) - if !f(fd_Keyshare_payloads, value) { - return - } - } - if x.Protocol != "" { - value := protoreflect.ValueOfString(x.Protocol) - if !f(fd_Keyshare_protocol, value) { - return - } - } - if len(x.PublicKey) != 0 { - value := protoreflect.ValueOfBytes(x.PublicKey) - if !f(fd_Keyshare_public_key, value) { - return - } - } - if x.Version != uint32(0) { - value := protoreflect.ValueOfUint32(x.Version) - if !f(fd_Keyshare_version, value) { - return - } - } - if x.Role != int32(0) { - value := protoreflect.ValueOfInt32(x.Role) - if !f(fd_Keyshare_role, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Keyshare) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Keyshare.metadata": - return len(x.Metadata) != 0 - case "did.v1.Keyshare.payloads": - return len(x.Payloads) != 0 - case "did.v1.Keyshare.protocol": - return x.Protocol != "" - case "did.v1.Keyshare.public_key": - return len(x.PublicKey) != 0 - case "did.v1.Keyshare.version": - return x.Version != uint32(0) - case "did.v1.Keyshare.role": - return x.Role != int32(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Keyshare")) - } - panic(fmt.Errorf("message did.v1.Keyshare does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Keyshare) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Keyshare.metadata": - x.Metadata = nil - case "did.v1.Keyshare.payloads": - x.Payloads = nil - case "did.v1.Keyshare.protocol": - x.Protocol = "" - case "did.v1.Keyshare.public_key": - x.PublicKey = nil - case "did.v1.Keyshare.version": - x.Version = uint32(0) - case "did.v1.Keyshare.role": - x.Role = int32(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Keyshare")) - } - panic(fmt.Errorf("message did.v1.Keyshare does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Keyshare) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Keyshare.metadata": - if len(x.Metadata) == 0 { - return protoreflect.ValueOfMap(&_Keyshare_1_map{}) - } - mapValue := &_Keyshare_1_map{m: &x.Metadata} - return protoreflect.ValueOfMap(mapValue) - case "did.v1.Keyshare.payloads": - if len(x.Payloads) == 0 { - return protoreflect.ValueOfMap(&_Keyshare_2_map{}) - } - mapValue := &_Keyshare_2_map{m: &x.Payloads} - return protoreflect.ValueOfMap(mapValue) - case "did.v1.Keyshare.protocol": - value := x.Protocol - return protoreflect.ValueOfString(value) - case "did.v1.Keyshare.public_key": - value := x.PublicKey - return protoreflect.ValueOfBytes(value) - case "did.v1.Keyshare.version": - value := x.Version - return protoreflect.ValueOfUint32(value) - case "did.v1.Keyshare.role": - value := x.Role - return protoreflect.ValueOfInt32(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Keyshare")) - } - panic(fmt.Errorf("message did.v1.Keyshare does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Keyshare) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Keyshare.metadata": - mv := value.Map() - cmv := mv.(*_Keyshare_1_map) - x.Metadata = *cmv.m - case "did.v1.Keyshare.payloads": - mv := value.Map() - cmv := mv.(*_Keyshare_2_map) - x.Payloads = *cmv.m - case "did.v1.Keyshare.protocol": - x.Protocol = value.Interface().(string) - case "did.v1.Keyshare.public_key": - x.PublicKey = value.Bytes() - case "did.v1.Keyshare.version": - x.Version = uint32(value.Uint()) - case "did.v1.Keyshare.role": - x.Role = int32(value.Int()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Keyshare")) - } - panic(fmt.Errorf("message did.v1.Keyshare does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Keyshare) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Keyshare.metadata": - if x.Metadata == nil { - x.Metadata = make(map[string]string) - } - value := &_Keyshare_1_map{m: &x.Metadata} - return protoreflect.ValueOfMap(value) - case "did.v1.Keyshare.payloads": - if x.Payloads == nil { - x.Payloads = make(map[string][]byte) - } - value := &_Keyshare_2_map{m: &x.Payloads} - return protoreflect.ValueOfMap(value) - case "did.v1.Keyshare.protocol": - panic(fmt.Errorf("field protocol of message did.v1.Keyshare is not mutable")) - case "did.v1.Keyshare.public_key": - panic(fmt.Errorf("field public_key of message did.v1.Keyshare is not mutable")) - case "did.v1.Keyshare.version": - panic(fmt.Errorf("field version of message did.v1.Keyshare is not mutable")) - case "did.v1.Keyshare.role": - panic(fmt.Errorf("field role of message did.v1.Keyshare is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Keyshare")) - } - panic(fmt.Errorf("message did.v1.Keyshare does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Keyshare) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Keyshare.metadata": - m := make(map[string]string) - return protoreflect.ValueOfMap(&_Keyshare_1_map{m: &m}) - case "did.v1.Keyshare.payloads": - m := make(map[string][]byte) - return protoreflect.ValueOfMap(&_Keyshare_2_map{m: &m}) - case "did.v1.Keyshare.protocol": - return protoreflect.ValueOfString("") - case "did.v1.Keyshare.public_key": - return protoreflect.ValueOfBytes(nil) - case "did.v1.Keyshare.version": - return protoreflect.ValueOfUint32(uint32(0)) - case "did.v1.Keyshare.role": - return protoreflect.ValueOfInt32(int32(0)) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Keyshare")) - } - panic(fmt.Errorf("message did.v1.Keyshare does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Keyshare) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Keyshare", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Keyshare) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Keyshare) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Keyshare) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Keyshare) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Keyshare) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if len(x.Metadata) > 0 { - SiZeMaP := func(k string, v string) { - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.Metadata)) - for k := range x.Metadata { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.Metadata[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.Metadata { - SiZeMaP(k, v) - } - } - } - if len(x.Payloads) > 0 { - SiZeMaP := func(k string, v []byte) { - l = 1 + len(v) + runtime.Sov(uint64(len(v))) - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + l - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.Payloads)) - for k := range x.Payloads { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.Payloads[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.Payloads { - SiZeMaP(k, v) - } - } - } - l = len(x.Protocol) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.PublicKey) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Version != 0 { - n += 1 + runtime.Sov(uint64(x.Version)) - } - if x.Role != 0 { - n += 1 + runtime.Sov(uint64(x.Role)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Keyshare) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Role != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Role)) - i-- - dAtA[i] = 0x30 - } - if x.Version != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Version)) - i-- - dAtA[i] = 0x28 - } - if len(x.PublicKey) > 0 { - i -= len(x.PublicKey) - copy(dAtA[i:], x.PublicKey) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PublicKey))) - i-- - dAtA[i] = 0x22 - } - if len(x.Protocol) > 0 { - i -= len(x.Protocol) - copy(dAtA[i:], x.Protocol) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Protocol))) - i-- - dAtA[i] = 0x1a - } - if len(x.Payloads) > 0 { - MaRsHaLmAp := func(k string, v []byte) (protoiface.MarshalOutput, error) { - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x12 - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForPayloads := make([]string, 0, len(x.Payloads)) - for k := range x.Payloads { - keysForPayloads = append(keysForPayloads, string(k)) - } - sort.Slice(keysForPayloads, func(i, j int) bool { - return keysForPayloads[i] < keysForPayloads[j] - }) - for iNdEx := len(keysForPayloads) - 1; iNdEx >= 0; iNdEx-- { - v := x.Payloads[string(keysForPayloads[iNdEx])] - out, err := MaRsHaLmAp(keysForPayloads[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.Payloads { - v := x.Payloads[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if len(x.Metadata) > 0 { - MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0xa - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForMetadata := make([]string, 0, len(x.Metadata)) - for k := range x.Metadata { - keysForMetadata = append(keysForMetadata, string(k)) - } - sort.Slice(keysForMetadata, func(i, j int) bool { - return keysForMetadata[i] < keysForMetadata[j] - }) - for iNdEx := len(keysForMetadata) - 1; iNdEx >= 0; iNdEx-- { - v := x.Metadata[string(keysForMetadata[iNdEx])] - out, err := MaRsHaLmAp(keysForMetadata[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.Metadata { - v := x.Metadata[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Keyshare) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Keyshare: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Keyshare: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Metadata == nil { - x.Metadata = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapvalue > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.Metadata[mapkey] = mapvalue - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Payloads", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Payloads == nil { - x.Payloads = make(map[string][]byte) - } - var mapkey string - var mapvalue []byte - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var mapbyteLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapbyteLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intMapbyteLen := int(mapbyteLen) - if intMapbyteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postbytesIndex := iNdEx + intMapbyteLen - if postbytesIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postbytesIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = make([]byte, mapbyteLen) - copy(mapvalue, dAtA[iNdEx:postbytesIndex]) - iNdEx = postbytesIndex - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.Payloads[mapkey] = mapvalue - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Protocol", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Protocol = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.PublicKey = append(x.PublicKey[:0], dAtA[iNdEx:postIndex]...) - if x.PublicKey == nil { - x.PublicKey = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - x.Version = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Version |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) - } - x.Role = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Role |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_Permissions_1_list)(nil) - -type _Permissions_1_list struct { - list *[]DIDNamespace -} - -func (x *_Permissions_1_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Permissions_1_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) -} - -func (x *_Permissions_1_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (DIDNamespace)(valueUnwrapped) - (*x.list)[i] = concreteValue -} - -func (x *_Permissions_1_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (DIDNamespace)(valueUnwrapped) - *x.list = append(*x.list, concreteValue) -} - -func (x *_Permissions_1_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Permissions at list field Grants as it is not of Message kind")) -} - -func (x *_Permissions_1_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Permissions_1_list) NewElement() protoreflect.Value { - v := 0 - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) -} - -func (x *_Permissions_1_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Permissions_2_list)(nil) - -type _Permissions_2_list struct { - list *[]PermissionScope -} - -func (x *_Permissions_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Permissions_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) -} - -func (x *_Permissions_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (PermissionScope)(valueUnwrapped) - (*x.list)[i] = concreteValue -} - -func (x *_Permissions_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (PermissionScope)(valueUnwrapped) - *x.list = append(*x.list, concreteValue) -} - -func (x *_Permissions_2_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Permissions at list field Scopes as it is not of Message kind")) -} - -func (x *_Permissions_2_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Permissions_2_list) NewElement() protoreflect.Value { - v := 0 - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) -} - -func (x *_Permissions_2_list) IsValid() bool { - return x.list != nil -} - -var ( - md_Permissions protoreflect.MessageDescriptor - fd_Permissions_grants protoreflect.FieldDescriptor - fd_Permissions_scopes protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_Permissions = File_did_v1_models_proto.Messages().ByName("Permissions") - fd_Permissions_grants = md_Permissions.Fields().ByName("grants") - fd_Permissions_scopes = md_Permissions.Fields().ByName("scopes") -} - -var _ protoreflect.Message = (*fastReflection_Permissions)(nil) - -type fastReflection_Permissions Permissions - -func (x *Permissions) ProtoReflect() protoreflect.Message { - return (*fastReflection_Permissions)(x) -} - -func (x *Permissions) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_Permissions_messageType fastReflection_Permissions_messageType -var _ protoreflect.MessageType = fastReflection_Permissions_messageType{} - -type fastReflection_Permissions_messageType struct{} - -func (x fastReflection_Permissions_messageType) Zero() protoreflect.Message { - return (*fastReflection_Permissions)(nil) -} -func (x fastReflection_Permissions_messageType) New() protoreflect.Message { - return new(fastReflection_Permissions) -} -func (x fastReflection_Permissions_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Permissions -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Permissions) Descriptor() protoreflect.MessageDescriptor { - return md_Permissions -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Permissions) Type() protoreflect.MessageType { - return _fastReflection_Permissions_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Permissions) New() protoreflect.Message { - return new(fastReflection_Permissions) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Permissions) Interface() protoreflect.ProtoMessage { - return (*Permissions)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Permissions) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.Grants) != 0 { - value := protoreflect.ValueOfList(&_Permissions_1_list{list: &x.Grants}) - if !f(fd_Permissions_grants, value) { - return - } - } - if len(x.Scopes) != 0 { - value := protoreflect.ValueOfList(&_Permissions_2_list{list: &x.Scopes}) - if !f(fd_Permissions_scopes, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Permissions) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Permissions.grants": - return len(x.Grants) != 0 - case "did.v1.Permissions.scopes": - return len(x.Scopes) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Permissions")) - } - panic(fmt.Errorf("message did.v1.Permissions does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Permissions) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Permissions.grants": - x.Grants = nil - case "did.v1.Permissions.scopes": - x.Scopes = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Permissions")) - } - panic(fmt.Errorf("message did.v1.Permissions does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Permissions) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Permissions.grants": - if len(x.Grants) == 0 { - return protoreflect.ValueOfList(&_Permissions_1_list{}) - } - listValue := &_Permissions_1_list{list: &x.Grants} - return protoreflect.ValueOfList(listValue) - case "did.v1.Permissions.scopes": - if len(x.Scopes) == 0 { - return protoreflect.ValueOfList(&_Permissions_2_list{}) - } - listValue := &_Permissions_2_list{list: &x.Scopes} - return protoreflect.ValueOfList(listValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Permissions")) - } - panic(fmt.Errorf("message did.v1.Permissions does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Permissions) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Permissions.grants": - lv := value.List() - clv := lv.(*_Permissions_1_list) - x.Grants = *clv.list - case "did.v1.Permissions.scopes": - lv := value.List() - clv := lv.(*_Permissions_2_list) - x.Scopes = *clv.list - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Permissions")) - } - panic(fmt.Errorf("message did.v1.Permissions does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Permissions) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Permissions.grants": - if x.Grants == nil { - x.Grants = []DIDNamespace{} - } - value := &_Permissions_1_list{list: &x.Grants} - return protoreflect.ValueOfList(value) - case "did.v1.Permissions.scopes": - if x.Scopes == nil { - x.Scopes = []PermissionScope{} - } - value := &_Permissions_2_list{list: &x.Scopes} - return protoreflect.ValueOfList(value) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Permissions")) - } - panic(fmt.Errorf("message did.v1.Permissions does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Permissions) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Permissions.grants": - list := []DIDNamespace{} - return protoreflect.ValueOfList(&_Permissions_1_list{list: &list}) - case "did.v1.Permissions.scopes": - list := []PermissionScope{} - return protoreflect.ValueOfList(&_Permissions_2_list{list: &list}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Permissions")) - } - panic(fmt.Errorf("message did.v1.Permissions does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Permissions) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Permissions", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Permissions) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Permissions) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Permissions) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Permissions) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Permissions) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if len(x.Grants) > 0 { - l = 0 - for _, e := range x.Grants { - l += runtime.Sov(uint64(e)) - } - n += 1 + runtime.Sov(uint64(l)) + l - } - if len(x.Scopes) > 0 { - l = 0 - for _, e := range x.Scopes { - l += runtime.Sov(uint64(e)) - } - n += 1 + runtime.Sov(uint64(l)) + l - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Permissions) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Scopes) > 0 { - var pksize2 int - for _, num := range x.Scopes { - pksize2 += runtime.Sov(uint64(num)) - } - i -= pksize2 - j1 := i - for _, num1 := range x.Scopes { - num := uint64(num1) - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA[j1] = uint8(num) - j1++ - } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) - i-- - dAtA[i] = 0x12 - } - if len(x.Grants) > 0 { - var pksize4 int - for _, num := range x.Grants { - pksize4 += runtime.Sov(uint64(num)) - } - i -= pksize4 - j3 := i - for _, num1 := range x.Grants { - num := uint64(num1) - for num >= 1<<7 { - dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j3++ - } - dAtA[j3] = uint8(num) - j3++ - } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Permissions) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Permissions: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Permissions: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 0 { - var v DIDNamespace - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= DIDNamespace(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Grants = append(x.Grants, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - var elementCount int - if elementCount != 0 && len(x.Grants) == 0 { - x.Grants = make([]DIDNamespace, 0, elementCount) - } - for iNdEx < postIndex { - var v DIDNamespace - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= DIDNamespace(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Grants = append(x.Grants, v) - } - } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Grants", wireType) - } - case 2: - if wireType == 0 { - var v PermissionScope - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= PermissionScope(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Scopes = append(x.Scopes, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - var elementCount int - if elementCount != 0 && len(x.Scopes) == 0 { - x.Scopes = make([]PermissionScope, 0, elementCount) - } - for iNdEx < postIndex { - var v PermissionScope - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= PermissionScope(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Scopes = append(x.Scopes, v) - } - } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) - } - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_PubKey protoreflect.MessageDescriptor - fd_PubKey_role protoreflect.FieldDescriptor - fd_PubKey_algorithm protoreflect.FieldDescriptor - fd_PubKey_encoding protoreflect.FieldDescriptor - fd_PubKey_curve protoreflect.FieldDescriptor - fd_PubKey_key_type protoreflect.FieldDescriptor - fd_PubKey_raw protoreflect.FieldDescriptor - fd_PubKey_jwk protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_PubKey = File_did_v1_models_proto.Messages().ByName("PubKey") - fd_PubKey_role = md_PubKey.Fields().ByName("role") - fd_PubKey_algorithm = md_PubKey.Fields().ByName("algorithm") - fd_PubKey_encoding = md_PubKey.Fields().ByName("encoding") - fd_PubKey_curve = md_PubKey.Fields().ByName("curve") - fd_PubKey_key_type = md_PubKey.Fields().ByName("key_type") - fd_PubKey_raw = md_PubKey.Fields().ByName("raw") - fd_PubKey_jwk = md_PubKey.Fields().ByName("jwk") -} - -var _ protoreflect.Message = (*fastReflection_PubKey)(nil) - -type fastReflection_PubKey PubKey - -func (x *PubKey) ProtoReflect() protoreflect.Message { - return (*fastReflection_PubKey)(x) -} - -func (x *PubKey) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_PubKey_messageType fastReflection_PubKey_messageType -var _ protoreflect.MessageType = fastReflection_PubKey_messageType{} - -type fastReflection_PubKey_messageType struct{} - -func (x fastReflection_PubKey_messageType) Zero() protoreflect.Message { - return (*fastReflection_PubKey)(nil) -} -func (x fastReflection_PubKey_messageType) New() protoreflect.Message { - return new(fastReflection_PubKey) -} -func (x fastReflection_PubKey_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_PubKey -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_PubKey) Descriptor() protoreflect.MessageDescriptor { - return md_PubKey -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_PubKey) Type() protoreflect.MessageType { - return _fastReflection_PubKey_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_PubKey) New() protoreflect.Message { - return new(fastReflection_PubKey) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_PubKey) Interface() protoreflect.ProtoMessage { - return (*PubKey)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_PubKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Role != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Role)) - if !f(fd_PubKey_role, value) { - return - } - } - if x.Algorithm != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Algorithm)) - if !f(fd_PubKey_algorithm, value) { - return - } - } - if x.Encoding != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Encoding)) - if !f(fd_PubKey_encoding, value) { - return - } - } - if x.Curve != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Curve)) - if !f(fd_PubKey_curve, value) { - return - } - } - if x.KeyType != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.KeyType)) - if !f(fd_PubKey_key_type, value) { - return - } - } - if len(x.Raw) != 0 { - value := protoreflect.ValueOfBytes(x.Raw) - if !f(fd_PubKey_raw, value) { - return - } - } - if x.Jwk != nil { - value := protoreflect.ValueOfMessage(x.Jwk.ProtoReflect()) - if !f(fd_PubKey_jwk, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_PubKey) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.PubKey.role": - return x.Role != 0 - case "did.v1.PubKey.algorithm": - return x.Algorithm != 0 - case "did.v1.PubKey.encoding": - return x.Encoding != 0 - case "did.v1.PubKey.curve": - return x.Curve != 0 - case "did.v1.PubKey.key_type": - return x.KeyType != 0 - case "did.v1.PubKey.raw": - return len(x.Raw) != 0 - case "did.v1.PubKey.jwk": - return x.Jwk != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.PubKey.role": - x.Role = 0 - case "did.v1.PubKey.algorithm": - x.Algorithm = 0 - case "did.v1.PubKey.encoding": - x.Encoding = 0 - case "did.v1.PubKey.curve": - x.Curve = 0 - case "did.v1.PubKey.key_type": - x.KeyType = 0 - case "did.v1.PubKey.raw": - x.Raw = nil - case "did.v1.PubKey.jwk": - x.Jwk = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_PubKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.PubKey.role": - value := x.Role - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "did.v1.PubKey.algorithm": - value := x.Algorithm - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "did.v1.PubKey.encoding": - value := x.Encoding - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "did.v1.PubKey.curve": - value := x.Curve - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "did.v1.PubKey.key_type": - value := x.KeyType - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "did.v1.PubKey.raw": - value := x.Raw - return protoreflect.ValueOfBytes(value) - case "did.v1.PubKey.jwk": - value := x.Jwk - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.PubKey.role": - x.Role = (KeyRole)(value.Enum()) - case "did.v1.PubKey.algorithm": - x.Algorithm = (KeyAlgorithm)(value.Enum()) - case "did.v1.PubKey.encoding": - x.Encoding = (KeyEncoding)(value.Enum()) - case "did.v1.PubKey.curve": - x.Curve = (KeyCurve)(value.Enum()) - case "did.v1.PubKey.key_type": - x.KeyType = (KeyType)(value.Enum()) - case "did.v1.PubKey.raw": - x.Raw = value.Bytes() - case "did.v1.PubKey.jwk": - x.Jwk = value.Message().Interface().(*PubKey_JWK) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.PubKey.jwk": - if x.Jwk == nil { - x.Jwk = new(PubKey_JWK) - } - return protoreflect.ValueOfMessage(x.Jwk.ProtoReflect()) - case "did.v1.PubKey.role": - panic(fmt.Errorf("field role of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.algorithm": - panic(fmt.Errorf("field algorithm of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.encoding": - panic(fmt.Errorf("field encoding of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.curve": - panic(fmt.Errorf("field curve of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.key_type": - panic(fmt.Errorf("field key_type of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.raw": - panic(fmt.Errorf("field raw of message did.v1.PubKey is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_PubKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.PubKey.role": - return protoreflect.ValueOfEnum(0) - case "did.v1.PubKey.algorithm": - return protoreflect.ValueOfEnum(0) - case "did.v1.PubKey.encoding": - return protoreflect.ValueOfEnum(0) - case "did.v1.PubKey.curve": - return protoreflect.ValueOfEnum(0) - case "did.v1.PubKey.key_type": - return protoreflect.ValueOfEnum(0) - case "did.v1.PubKey.raw": - return protoreflect.ValueOfBytes(nil) - case "did.v1.PubKey.jwk": - m := new(PubKey_JWK) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_PubKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.PubKey", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_PubKey) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_PubKey) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_PubKey) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*PubKey) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Role != 0 { - n += 1 + runtime.Sov(uint64(x.Role)) - } - if x.Algorithm != 0 { - n += 1 + runtime.Sov(uint64(x.Algorithm)) - } - if x.Encoding != 0 { - n += 1 + runtime.Sov(uint64(x.Encoding)) - } - if x.Curve != 0 { - n += 1 + runtime.Sov(uint64(x.Curve)) - } - if x.KeyType != 0 { - n += 1 + runtime.Sov(uint64(x.KeyType)) - } - l = len(x.Raw) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Jwk != nil { - l = options.Size(x.Jwk) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*PubKey) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Jwk != nil { - encoded, err := options.Marshal(x.Jwk) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x3a - } - if len(x.Raw) > 0 { - i -= len(x.Raw) - copy(dAtA[i:], x.Raw) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Raw))) - i-- - dAtA[i] = 0x32 - } - if x.KeyType != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.KeyType)) - i-- - dAtA[i] = 0x28 - } - if x.Curve != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Curve)) - i-- - dAtA[i] = 0x20 - } - if x.Encoding != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Encoding)) - i-- - dAtA[i] = 0x18 - } - if x.Algorithm != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Algorithm)) - i-- - dAtA[i] = 0x10 - } - if x.Role != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Role)) - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*PubKey) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) - } - x.Role = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Role |= KeyRole(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Algorithm", wireType) - } - x.Algorithm = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Algorithm |= KeyAlgorithm(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encoding", wireType) - } - x.Encoding = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Encoding |= KeyEncoding(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Curve", wireType) - } - x.Curve = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Curve |= KeyCurve(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field KeyType", wireType) - } - x.KeyType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.KeyType |= KeyType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Raw", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Raw = append(x.Raw[:0], dAtA[iNdEx:postIndex]...) - if x.Raw == nil { - x.Raw = []byte{} - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Jwk", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Jwk == nil { - x.Jwk = &PubKey_JWK{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Jwk); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_PubKey_JWK protoreflect.MessageDescriptor - fd_PubKey_JWK_kty protoreflect.FieldDescriptor - fd_PubKey_JWK_crv protoreflect.FieldDescriptor - fd_PubKey_JWK_x protoreflect.FieldDescriptor - fd_PubKey_JWK_y protoreflect.FieldDescriptor - fd_PubKey_JWK_n protoreflect.FieldDescriptor - fd_PubKey_JWK_e protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_PubKey_JWK = File_did_v1_models_proto.Messages().ByName("PubKey").Messages().ByName("JWK") - fd_PubKey_JWK_kty = md_PubKey_JWK.Fields().ByName("kty") - fd_PubKey_JWK_crv = md_PubKey_JWK.Fields().ByName("crv") - fd_PubKey_JWK_x = md_PubKey_JWK.Fields().ByName("x") - fd_PubKey_JWK_y = md_PubKey_JWK.Fields().ByName("y") - fd_PubKey_JWK_n = md_PubKey_JWK.Fields().ByName("n") - fd_PubKey_JWK_e = md_PubKey_JWK.Fields().ByName("e") -} - -var _ protoreflect.Message = (*fastReflection_PubKey_JWK)(nil) - -type fastReflection_PubKey_JWK PubKey_JWK - -func (x *PubKey_JWK) ProtoReflect() protoreflect.Message { - return (*fastReflection_PubKey_JWK)(x) -} - -func (x *PubKey_JWK) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_PubKey_JWK_messageType fastReflection_PubKey_JWK_messageType -var _ protoreflect.MessageType = fastReflection_PubKey_JWK_messageType{} - -type fastReflection_PubKey_JWK_messageType struct{} - -func (x fastReflection_PubKey_JWK_messageType) Zero() protoreflect.Message { - return (*fastReflection_PubKey_JWK)(nil) -} -func (x fastReflection_PubKey_JWK_messageType) New() protoreflect.Message { - return new(fastReflection_PubKey_JWK) -} -func (x fastReflection_PubKey_JWK_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_PubKey_JWK -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_PubKey_JWK) Descriptor() protoreflect.MessageDescriptor { - return md_PubKey_JWK -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_PubKey_JWK) Type() protoreflect.MessageType { - return _fastReflection_PubKey_JWK_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_PubKey_JWK) New() protoreflect.Message { - return new(fastReflection_PubKey_JWK) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_PubKey_JWK) Interface() protoreflect.ProtoMessage { - return (*PubKey_JWK)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_PubKey_JWK) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Kty != "" { - value := protoreflect.ValueOfString(x.Kty) - if !f(fd_PubKey_JWK_kty, value) { - return - } - } - if x.Crv != "" { - value := protoreflect.ValueOfString(x.Crv) - if !f(fd_PubKey_JWK_crv, value) { - return - } - } - if x.X != "" { - value := protoreflect.ValueOfString(x.X) - if !f(fd_PubKey_JWK_x, value) { - return - } - } - if x.Y != "" { - value := protoreflect.ValueOfString(x.Y) - if !f(fd_PubKey_JWK_y, value) { - return - } - } - if x.N != "" { - value := protoreflect.ValueOfString(x.N) - if !f(fd_PubKey_JWK_n, value) { - return - } - } - if x.E != "" { - value := protoreflect.ValueOfString(x.E) - if !f(fd_PubKey_JWK_e, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_PubKey_JWK) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.PubKey.JWK.kty": - return x.Kty != "" - case "did.v1.PubKey.JWK.crv": - return x.Crv != "" - case "did.v1.PubKey.JWK.x": - return x.X != "" - case "did.v1.PubKey.JWK.y": - return x.Y != "" - case "did.v1.PubKey.JWK.n": - return x.N != "" - case "did.v1.PubKey.JWK.e": - return x.E != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) - } - panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey_JWK) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.PubKey.JWK.kty": - x.Kty = "" - case "did.v1.PubKey.JWK.crv": - x.Crv = "" - case "did.v1.PubKey.JWK.x": - x.X = "" - case "did.v1.PubKey.JWK.y": - x.Y = "" - case "did.v1.PubKey.JWK.n": - x.N = "" - case "did.v1.PubKey.JWK.e": - x.E = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) - } - panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_PubKey_JWK) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.PubKey.JWK.kty": - value := x.Kty - return protoreflect.ValueOfString(value) - case "did.v1.PubKey.JWK.crv": - value := x.Crv - return protoreflect.ValueOfString(value) - case "did.v1.PubKey.JWK.x": - value := x.X - return protoreflect.ValueOfString(value) - case "did.v1.PubKey.JWK.y": - value := x.Y - return protoreflect.ValueOfString(value) - case "did.v1.PubKey.JWK.n": - value := x.N - return protoreflect.ValueOfString(value) - case "did.v1.PubKey.JWK.e": - value := x.E - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) - } - panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey_JWK) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.PubKey.JWK.kty": - x.Kty = value.Interface().(string) - case "did.v1.PubKey.JWK.crv": - x.Crv = value.Interface().(string) - case "did.v1.PubKey.JWK.x": - x.X = value.Interface().(string) - case "did.v1.PubKey.JWK.y": - x.Y = value.Interface().(string) - case "did.v1.PubKey.JWK.n": - x.N = value.Interface().(string) - case "did.v1.PubKey.JWK.e": - x.E = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) - } - panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey_JWK) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.PubKey.JWK.kty": - panic(fmt.Errorf("field kty of message did.v1.PubKey.JWK is not mutable")) - case "did.v1.PubKey.JWK.crv": - panic(fmt.Errorf("field crv of message did.v1.PubKey.JWK is not mutable")) - case "did.v1.PubKey.JWK.x": - panic(fmt.Errorf("field x of message did.v1.PubKey.JWK is not mutable")) - case "did.v1.PubKey.JWK.y": - panic(fmt.Errorf("field y of message did.v1.PubKey.JWK is not mutable")) - case "did.v1.PubKey.JWK.n": - panic(fmt.Errorf("field n of message did.v1.PubKey.JWK is not mutable")) - case "did.v1.PubKey.JWK.e": - panic(fmt.Errorf("field e of message did.v1.PubKey.JWK is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) - } - panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_PubKey_JWK) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.PubKey.JWK.kty": - return protoreflect.ValueOfString("") - case "did.v1.PubKey.JWK.crv": - return protoreflect.ValueOfString("") - case "did.v1.PubKey.JWK.x": - return protoreflect.ValueOfString("") - case "did.v1.PubKey.JWK.y": - return protoreflect.ValueOfString("") - case "did.v1.PubKey.JWK.n": - return protoreflect.ValueOfString("") - case "did.v1.PubKey.JWK.e": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey.JWK")) - } - panic(fmt.Errorf("message did.v1.PubKey.JWK does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_PubKey_JWK) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.PubKey.JWK", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_PubKey_JWK) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey_JWK) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_PubKey_JWK) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_PubKey_JWK) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*PubKey_JWK) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Kty) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Crv) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.X) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Y) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.N) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.E) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*PubKey_JWK) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.E) > 0 { - i -= len(x.E) - copy(dAtA[i:], x.E) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.E))) - i-- - dAtA[i] = 0x32 - } - if len(x.N) > 0 { - i -= len(x.N) - copy(dAtA[i:], x.N) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.N))) - i-- - dAtA[i] = 0x2a - } - if len(x.Y) > 0 { - i -= len(x.Y) - copy(dAtA[i:], x.Y) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Y))) - i-- - dAtA[i] = 0x22 - } - if len(x.X) > 0 { - i -= len(x.X) - copy(dAtA[i:], x.X) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.X))) - i-- - dAtA[i] = 0x1a - } - if len(x.Crv) > 0 { - i -= len(x.Crv) - copy(dAtA[i:], x.Crv) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Crv))) - i-- - dAtA[i] = 0x12 - } - if len(x.Kty) > 0 { - i -= len(x.Kty) - copy(dAtA[i:], x.Kty) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Kty))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*PubKey_JWK) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey_JWK: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey_JWK: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Kty", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Kty = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Crv", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Crv = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.X = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Y", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Y = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field N", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.N = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.E = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.Map = (*_Service_6_map)(nil) - -type _Service_6_map struct { - m *map[string]string -} - -func (x *_Service_6_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_Service_6_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfString(v) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_Service_6_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_Service_6_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_Service_6_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfString(v) -} - -func (x *_Service_6_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.m)[concreteKey] = concreteValue -} - -func (x *_Service_6_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") -} - -func (x *_Service_6_map) NewValue() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Service_6_map) IsValid() bool { - return x.m != nil -} - -var ( - md_Service protoreflect.MessageDescriptor - fd_Service_id protoreflect.FieldDescriptor - fd_Service_service_type protoreflect.FieldDescriptor - fd_Service_authority protoreflect.FieldDescriptor - fd_Service_origin protoreflect.FieldDescriptor - fd_Service_description protoreflect.FieldDescriptor - fd_Service_service_endpoints protoreflect.FieldDescriptor - fd_Service_permissions protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_Service = File_did_v1_models_proto.Messages().ByName("Service") - fd_Service_id = md_Service.Fields().ByName("id") - fd_Service_service_type = md_Service.Fields().ByName("service_type") - fd_Service_authority = md_Service.Fields().ByName("authority") - fd_Service_origin = md_Service.Fields().ByName("origin") - fd_Service_description = md_Service.Fields().ByName("description") - fd_Service_service_endpoints = md_Service.Fields().ByName("service_endpoints") - fd_Service_permissions = md_Service.Fields().ByName("permissions") -} - -var _ protoreflect.Message = (*fastReflection_Service)(nil) - -type fastReflection_Service Service - -func (x *Service) ProtoReflect() protoreflect.Message { - return (*fastReflection_Service)(x) -} - -func (x *Service) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_Service_messageType fastReflection_Service_messageType -var _ protoreflect.MessageType = fastReflection_Service_messageType{} - -type fastReflection_Service_messageType struct{} - -func (x fastReflection_Service_messageType) Zero() protoreflect.Message { - return (*fastReflection_Service)(nil) -} -func (x fastReflection_Service_messageType) New() protoreflect.Message { - return new(fastReflection_Service) -} -func (x fastReflection_Service_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Service -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Service) Descriptor() protoreflect.MessageDescriptor { - return md_Service -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Service) Type() protoreflect.MessageType { - return _fastReflection_Service_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Service) New() protoreflect.Message { - return new(fastReflection_Service) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Service) Interface() protoreflect.ProtoMessage { - return (*Service)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Service) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_Service_id, value) { - return - } - } - if x.ServiceType != "" { - value := protoreflect.ValueOfString(x.ServiceType) - if !f(fd_Service_service_type, value) { - return - } - } - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_Service_authority, value) { - return - } - } - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_Service_origin, value) { - return - } - } - if x.Description != "" { - value := protoreflect.ValueOfString(x.Description) - if !f(fd_Service_description, value) { - return - } - } - if len(x.ServiceEndpoints) != 0 { - value := protoreflect.ValueOfMap(&_Service_6_map{m: &x.ServiceEndpoints}) - if !f(fd_Service_service_endpoints, value) { - return - } - } - if x.Permissions != nil { - value := protoreflect.ValueOfMessage(x.Permissions.ProtoReflect()) - if !f(fd_Service_permissions, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Service) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Service.id": - return x.Id != "" - case "did.v1.Service.service_type": - return x.ServiceType != "" - case "did.v1.Service.authority": - return x.Authority != "" - case "did.v1.Service.origin": - return x.Origin != "" - case "did.v1.Service.description": - return x.Description != "" - case "did.v1.Service.service_endpoints": - return len(x.ServiceEndpoints) != 0 - case "did.v1.Service.permissions": - return x.Permissions != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) - } - panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Service) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Service.id": - x.Id = "" - case "did.v1.Service.service_type": - x.ServiceType = "" - case "did.v1.Service.authority": - x.Authority = "" - case "did.v1.Service.origin": - x.Origin = "" - case "did.v1.Service.description": - x.Description = "" - case "did.v1.Service.service_endpoints": - x.ServiceEndpoints = nil - case "did.v1.Service.permissions": - x.Permissions = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) - } - panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Service) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Service.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.Service.service_type": - value := x.ServiceType - return protoreflect.ValueOfString(value) - case "did.v1.Service.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "did.v1.Service.origin": - value := x.Origin - return protoreflect.ValueOfString(value) - case "did.v1.Service.description": - value := x.Description - return protoreflect.ValueOfString(value) - case "did.v1.Service.service_endpoints": - if len(x.ServiceEndpoints) == 0 { - return protoreflect.ValueOfMap(&_Service_6_map{}) - } - mapValue := &_Service_6_map{m: &x.ServiceEndpoints} - return protoreflect.ValueOfMap(mapValue) - case "did.v1.Service.permissions": - value := x.Permissions - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) - } - panic(fmt.Errorf("message did.v1.Service does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Service) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Service.id": - x.Id = value.Interface().(string) - case "did.v1.Service.service_type": - x.ServiceType = value.Interface().(string) - case "did.v1.Service.authority": - x.Authority = value.Interface().(string) - case "did.v1.Service.origin": - x.Origin = value.Interface().(string) - case "did.v1.Service.description": - x.Description = value.Interface().(string) - case "did.v1.Service.service_endpoints": - mv := value.Map() - cmv := mv.(*_Service_6_map) - x.ServiceEndpoints = *cmv.m - case "did.v1.Service.permissions": - x.Permissions = value.Message().Interface().(*Permissions) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) - } - panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Service) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Service.service_endpoints": - if x.ServiceEndpoints == nil { - x.ServiceEndpoints = make(map[string]string) - } - value := &_Service_6_map{m: &x.ServiceEndpoints} - return protoreflect.ValueOfMap(value) - case "did.v1.Service.permissions": - if x.Permissions == nil { - x.Permissions = new(Permissions) - } - return protoreflect.ValueOfMessage(x.Permissions.ProtoReflect()) - case "did.v1.Service.id": - panic(fmt.Errorf("field id of message did.v1.Service is not mutable")) - case "did.v1.Service.service_type": - panic(fmt.Errorf("field service_type of message did.v1.Service is not mutable")) - case "did.v1.Service.authority": - panic(fmt.Errorf("field authority of message did.v1.Service is not mutable")) - case "did.v1.Service.origin": - panic(fmt.Errorf("field origin of message did.v1.Service is not mutable")) - case "did.v1.Service.description": - panic(fmt.Errorf("field description of message did.v1.Service is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) - } - panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Service) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Service.id": - return protoreflect.ValueOfString("") - case "did.v1.Service.service_type": - return protoreflect.ValueOfString("") - case "did.v1.Service.authority": - return protoreflect.ValueOfString("") - case "did.v1.Service.origin": - return protoreflect.ValueOfString("") - case "did.v1.Service.description": - return protoreflect.ValueOfString("") - case "did.v1.Service.service_endpoints": - m := make(map[string]string) - return protoreflect.ValueOfMap(&_Service_6_map{m: &m}) - case "did.v1.Service.permissions": - m := new(Permissions) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Service")) - } - panic(fmt.Errorf("message did.v1.Service does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Service) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Service", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Service) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Service) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Service) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Service) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Service) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ServiceType) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Authority) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Origin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Description) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.ServiceEndpoints) > 0 { - SiZeMaP := func(k string, v string) { - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.ServiceEndpoints)) - for k := range x.ServiceEndpoints { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.ServiceEndpoints[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.ServiceEndpoints { - SiZeMaP(k, v) - } - } - } - if x.Permissions != nil { - l = options.Size(x.Permissions) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Service) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Permissions != nil { - encoded, err := options.Marshal(x.Permissions) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x3a - } - if len(x.ServiceEndpoints) > 0 { - MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x32 - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForServiceEndpoints := make([]string, 0, len(x.ServiceEndpoints)) - for k := range x.ServiceEndpoints { - keysForServiceEndpoints = append(keysForServiceEndpoints, string(k)) - } - sort.Slice(keysForServiceEndpoints, func(i, j int) bool { - return keysForServiceEndpoints[i] < keysForServiceEndpoints[j] - }) - for iNdEx := len(keysForServiceEndpoints) - 1; iNdEx >= 0; iNdEx-- { - v := x.ServiceEndpoints[string(keysForServiceEndpoints[iNdEx])] - out, err := MaRsHaLmAp(keysForServiceEndpoints[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.ServiceEndpoints { - v := x.ServiceEndpoints[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if len(x.Description) > 0 { - i -= len(x.Description) - copy(dAtA[i:], x.Description) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Description))) - i-- - dAtA[i] = 0x2a - } - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) - i-- - dAtA[i] = 0x22 - } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) - i-- - dAtA[i] = 0x1a - } - if len(x.ServiceType) > 0 { - i -= len(x.ServiceType) - copy(dAtA[i:], x.ServiceType) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ServiceType))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Service) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Service: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Service: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServiceType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.ServiceType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Origin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServiceEndpoints", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.ServiceEndpoints == nil { - x.ServiceEndpoints = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapvalue > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.ServiceEndpoints[mapkey] = mapvalue - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Permissions == nil { - x.Permissions = &Permissions{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Permissions); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_ServiceInfo protoreflect.MessageDescriptor - fd_ServiceInfo_exists protoreflect.FieldDescriptor - fd_ServiceInfo_origin protoreflect.FieldDescriptor - fd_ServiceInfo_fingerprint protoreflect.FieldDescriptor - fd_ServiceInfo_service protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_ServiceInfo = File_did_v1_models_proto.Messages().ByName("ServiceInfo") - fd_ServiceInfo_exists = md_ServiceInfo.Fields().ByName("exists") - fd_ServiceInfo_origin = md_ServiceInfo.Fields().ByName("origin") - fd_ServiceInfo_fingerprint = md_ServiceInfo.Fields().ByName("fingerprint") - fd_ServiceInfo_service = md_ServiceInfo.Fields().ByName("service") -} - -var _ protoreflect.Message = (*fastReflection_ServiceInfo)(nil) - -type fastReflection_ServiceInfo ServiceInfo - -func (x *ServiceInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_ServiceInfo)(x) -} - -func (x *ServiceInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_ServiceInfo_messageType fastReflection_ServiceInfo_messageType -var _ protoreflect.MessageType = fastReflection_ServiceInfo_messageType{} - -type fastReflection_ServiceInfo_messageType struct{} - -func (x fastReflection_ServiceInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_ServiceInfo)(nil) -} -func (x fastReflection_ServiceInfo_messageType) New() protoreflect.Message { - return new(fastReflection_ServiceInfo) -} -func (x fastReflection_ServiceInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ServiceInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ServiceInfo) Descriptor() protoreflect.MessageDescriptor { - return md_ServiceInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ServiceInfo) Type() protoreflect.MessageType { - return _fastReflection_ServiceInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ServiceInfo) New() protoreflect.Message { - return new(fastReflection_ServiceInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ServiceInfo) Interface() protoreflect.ProtoMessage { - return (*ServiceInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ServiceInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Exists != false { - value := protoreflect.ValueOfBool(x.Exists) - if !f(fd_ServiceInfo_exists, value) { - return - } - } - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_ServiceInfo_origin, value) { - return - } - } - if x.Fingerprint != "" { - value := protoreflect.ValueOfString(x.Fingerprint) - if !f(fd_ServiceInfo_fingerprint, value) { - return - } - } - if x.Service != nil { - value := protoreflect.ValueOfMessage(x.Service.ProtoReflect()) - if !f(fd_ServiceInfo_service, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ServiceInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.ServiceInfo.exists": - return x.Exists != false - case "did.v1.ServiceInfo.origin": - return x.Origin != "" - case "did.v1.ServiceInfo.fingerprint": - return x.Fingerprint != "" - case "did.v1.ServiceInfo.service": - return x.Service != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceInfo")) - } - panic(fmt.Errorf("message did.v1.ServiceInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.ServiceInfo.exists": - x.Exists = false - case "did.v1.ServiceInfo.origin": - x.Origin = "" - case "did.v1.ServiceInfo.fingerprint": - x.Fingerprint = "" - case "did.v1.ServiceInfo.service": - x.Service = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceInfo")) - } - panic(fmt.Errorf("message did.v1.ServiceInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ServiceInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.ServiceInfo.exists": - value := x.Exists - return protoreflect.ValueOfBool(value) - case "did.v1.ServiceInfo.origin": - value := x.Origin - return protoreflect.ValueOfString(value) - case "did.v1.ServiceInfo.fingerprint": - value := x.Fingerprint - return protoreflect.ValueOfString(value) - case "did.v1.ServiceInfo.service": - value := x.Service - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceInfo")) - } - panic(fmt.Errorf("message did.v1.ServiceInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.ServiceInfo.exists": - x.Exists = value.Bool() - case "did.v1.ServiceInfo.origin": - x.Origin = value.Interface().(string) - case "did.v1.ServiceInfo.fingerprint": - x.Fingerprint = value.Interface().(string) - case "did.v1.ServiceInfo.service": - x.Service = value.Message().Interface().(*Service) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceInfo")) - } - panic(fmt.Errorf("message did.v1.ServiceInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ServiceInfo.service": - if x.Service == nil { - x.Service = new(Service) - } - return protoreflect.ValueOfMessage(x.Service.ProtoReflect()) - case "did.v1.ServiceInfo.exists": - panic(fmt.Errorf("field exists of message did.v1.ServiceInfo is not mutable")) - case "did.v1.ServiceInfo.origin": - panic(fmt.Errorf("field origin of message did.v1.ServiceInfo is not mutable")) - case "did.v1.ServiceInfo.fingerprint": - panic(fmt.Errorf("field fingerprint of message did.v1.ServiceInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceInfo")) - } - panic(fmt.Errorf("message did.v1.ServiceInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ServiceInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ServiceInfo.exists": - return protoreflect.ValueOfBool(false) - case "did.v1.ServiceInfo.origin": - return protoreflect.ValueOfString("") - case "did.v1.ServiceInfo.fingerprint": - return protoreflect.ValueOfString("") - case "did.v1.ServiceInfo.service": - m := new(Service) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceInfo")) - } - panic(fmt.Errorf("message did.v1.ServiceInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ServiceInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ServiceInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ServiceInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ServiceInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ServiceInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ServiceInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Exists { - n += 2 - } - l = len(x.Origin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Fingerprint) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Service != nil { - l = options.Size(x.Service) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ServiceInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Service != nil { - encoded, err := options.Marshal(x.Service) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x22 - } - if len(x.Fingerprint) > 0 { - i -= len(x.Fingerprint) - copy(dAtA[i:], x.Fingerprint) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Fingerprint))) - i-- - dAtA[i] = 0x1a - } - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) - i-- - dAtA[i] = 0x12 - } - if x.Exists { - i-- - if x.Exists { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ServiceInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ServiceInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ServiceInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Exists", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Exists = bool(v != 0) - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Origin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fingerprint", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Fingerprint = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Service == nil { - x.Service = &Service{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Service); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_FirstPartyCaveat protoreflect.MessageDescriptor - fd_FirstPartyCaveat_scope protoreflect.FieldDescriptor - fd_FirstPartyCaveat_exp protoreflect.FieldDescriptor - fd_FirstPartyCaveat_cnf protoreflect.FieldDescriptor - fd_FirstPartyCaveat_aud protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_FirstPartyCaveat = File_did_v1_models_proto.Messages().ByName("FirstPartyCaveat") - fd_FirstPartyCaveat_scope = md_FirstPartyCaveat.Fields().ByName("scope") - fd_FirstPartyCaveat_exp = md_FirstPartyCaveat.Fields().ByName("exp") - fd_FirstPartyCaveat_cnf = md_FirstPartyCaveat.Fields().ByName("cnf") - fd_FirstPartyCaveat_aud = md_FirstPartyCaveat.Fields().ByName("aud") -} - -var _ protoreflect.Message = (*fastReflection_FirstPartyCaveat)(nil) - -type fastReflection_FirstPartyCaveat FirstPartyCaveat - -func (x *FirstPartyCaveat) ProtoReflect() protoreflect.Message { - return (*fastReflection_FirstPartyCaveat)(x) -} - -func (x *FirstPartyCaveat) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_FirstPartyCaveat_messageType fastReflection_FirstPartyCaveat_messageType -var _ protoreflect.MessageType = fastReflection_FirstPartyCaveat_messageType{} - -type fastReflection_FirstPartyCaveat_messageType struct{} - -func (x fastReflection_FirstPartyCaveat_messageType) Zero() protoreflect.Message { - return (*fastReflection_FirstPartyCaveat)(nil) -} -func (x fastReflection_FirstPartyCaveat_messageType) New() protoreflect.Message { - return new(fastReflection_FirstPartyCaveat) -} -func (x fastReflection_FirstPartyCaveat_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_FirstPartyCaveat -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_FirstPartyCaveat) Descriptor() protoreflect.MessageDescriptor { - return md_FirstPartyCaveat -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_FirstPartyCaveat) Type() protoreflect.MessageType { - return _fastReflection_FirstPartyCaveat_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_FirstPartyCaveat) New() protoreflect.Message { - return new(fastReflection_FirstPartyCaveat) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_FirstPartyCaveat) Interface() protoreflect.ProtoMessage { - return (*FirstPartyCaveat)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_FirstPartyCaveat) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Scope != nil { - value := protoreflect.ValueOfMessage(x.Scope.ProtoReflect()) - if !f(fd_FirstPartyCaveat_scope, value) { - return - } - } - if x.Exp != int64(0) { - value := protoreflect.ValueOfInt64(x.Exp) - if !f(fd_FirstPartyCaveat_exp, value) { - return - } - } - if x.Cnf != "" { - value := protoreflect.ValueOfString(x.Cnf) - if !f(fd_FirstPartyCaveat_cnf, value) { - return - } - } - if x.Aud != "" { - value := protoreflect.ValueOfString(x.Aud) - if !f(fd_FirstPartyCaveat_aud, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_FirstPartyCaveat) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.FirstPartyCaveat.scope": - return x.Scope != nil - case "did.v1.FirstPartyCaveat.exp": - return x.Exp != int64(0) - case "did.v1.FirstPartyCaveat.cnf": - return x.Cnf != "" - case "did.v1.FirstPartyCaveat.aud": - return x.Aud != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FirstPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.FirstPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FirstPartyCaveat) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.FirstPartyCaveat.scope": - x.Scope = nil - case "did.v1.FirstPartyCaveat.exp": - x.Exp = int64(0) - case "did.v1.FirstPartyCaveat.cnf": - x.Cnf = "" - case "did.v1.FirstPartyCaveat.aud": - x.Aud = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FirstPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.FirstPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_FirstPartyCaveat) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.FirstPartyCaveat.scope": - value := x.Scope - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.FirstPartyCaveat.exp": - value := x.Exp - return protoreflect.ValueOfInt64(value) - case "did.v1.FirstPartyCaveat.cnf": - value := x.Cnf - return protoreflect.ValueOfString(value) - case "did.v1.FirstPartyCaveat.aud": - value := x.Aud - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FirstPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.FirstPartyCaveat does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FirstPartyCaveat) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.FirstPartyCaveat.scope": - x.Scope = value.Message().Interface().(*Permissions) - case "did.v1.FirstPartyCaveat.exp": - x.Exp = value.Int() - case "did.v1.FirstPartyCaveat.cnf": - x.Cnf = value.Interface().(string) - case "did.v1.FirstPartyCaveat.aud": - x.Aud = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FirstPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.FirstPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FirstPartyCaveat) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.FirstPartyCaveat.scope": - if x.Scope == nil { - x.Scope = new(Permissions) - } - return protoreflect.ValueOfMessage(x.Scope.ProtoReflect()) - case "did.v1.FirstPartyCaveat.exp": - panic(fmt.Errorf("field exp of message did.v1.FirstPartyCaveat is not mutable")) - case "did.v1.FirstPartyCaveat.cnf": - panic(fmt.Errorf("field cnf of message did.v1.FirstPartyCaveat is not mutable")) - case "did.v1.FirstPartyCaveat.aud": - panic(fmt.Errorf("field aud of message did.v1.FirstPartyCaveat is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FirstPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.FirstPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_FirstPartyCaveat) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.FirstPartyCaveat.scope": - m := new(Permissions) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.FirstPartyCaveat.exp": - return protoreflect.ValueOfInt64(int64(0)) - case "did.v1.FirstPartyCaveat.cnf": - return protoreflect.ValueOfString("") - case "did.v1.FirstPartyCaveat.aud": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FirstPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.FirstPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_FirstPartyCaveat) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.FirstPartyCaveat", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_FirstPartyCaveat) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FirstPartyCaveat) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_FirstPartyCaveat) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_FirstPartyCaveat) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*FirstPartyCaveat) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Scope != nil { - l = options.Size(x.Scope) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Exp != 0 { - n += 1 + runtime.Sov(uint64(x.Exp)) - } - l = len(x.Cnf) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Aud) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*FirstPartyCaveat) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Aud) > 0 { - i -= len(x.Aud) - copy(dAtA[i:], x.Aud) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Aud))) - i-- - dAtA[i] = 0x22 - } - if len(x.Cnf) > 0 { - i -= len(x.Cnf) - copy(dAtA[i:], x.Cnf) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Cnf))) - i-- - dAtA[i] = 0x1a - } - if x.Exp != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Exp)) - i-- - dAtA[i] = 0x10 - } - if x.Scope != nil { - encoded, err := options.Marshal(x.Scope) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*FirstPartyCaveat) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: FirstPartyCaveat: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: FirstPartyCaveat: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Scope == nil { - x.Scope = &Permissions{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scope); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Exp", wireType) - } - x.Exp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Exp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Cnf", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Cnf = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Aud", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Aud = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_ThirdPartyCaveat protoreflect.MessageDescriptor - fd_ThirdPartyCaveat_scope protoreflect.FieldDescriptor - fd_ThirdPartyCaveat_exp protoreflect.FieldDescriptor - fd_ThirdPartyCaveat_cnf protoreflect.FieldDescriptor - fd_ThirdPartyCaveat_aud protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_models_proto_init() - md_ThirdPartyCaveat = File_did_v1_models_proto.Messages().ByName("ThirdPartyCaveat") - fd_ThirdPartyCaveat_scope = md_ThirdPartyCaveat.Fields().ByName("scope") - fd_ThirdPartyCaveat_exp = md_ThirdPartyCaveat.Fields().ByName("exp") - fd_ThirdPartyCaveat_cnf = md_ThirdPartyCaveat.Fields().ByName("cnf") - fd_ThirdPartyCaveat_aud = md_ThirdPartyCaveat.Fields().ByName("aud") -} - -var _ protoreflect.Message = (*fastReflection_ThirdPartyCaveat)(nil) - -type fastReflection_ThirdPartyCaveat ThirdPartyCaveat - -func (x *ThirdPartyCaveat) ProtoReflect() protoreflect.Message { - return (*fastReflection_ThirdPartyCaveat)(x) -} - -func (x *ThirdPartyCaveat) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_models_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) -} - -var _fastReflection_ThirdPartyCaveat_messageType fastReflection_ThirdPartyCaveat_messageType -var _ protoreflect.MessageType = fastReflection_ThirdPartyCaveat_messageType{} - -type fastReflection_ThirdPartyCaveat_messageType struct{} - -func (x fastReflection_ThirdPartyCaveat_messageType) Zero() protoreflect.Message { - return (*fastReflection_ThirdPartyCaveat)(nil) -} -func (x fastReflection_ThirdPartyCaveat_messageType) New() protoreflect.Message { - return new(fastReflection_ThirdPartyCaveat) -} -func (x fastReflection_ThirdPartyCaveat_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ThirdPartyCaveat -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ThirdPartyCaveat) Descriptor() protoreflect.MessageDescriptor { - return md_ThirdPartyCaveat -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ThirdPartyCaveat) Type() protoreflect.MessageType { - return _fastReflection_ThirdPartyCaveat_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ThirdPartyCaveat) New() protoreflect.Message { - return new(fastReflection_ThirdPartyCaveat) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ThirdPartyCaveat) Interface() protoreflect.ProtoMessage { - return (*ThirdPartyCaveat)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ThirdPartyCaveat) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Scope != nil { - value := protoreflect.ValueOfMessage(x.Scope.ProtoReflect()) - if !f(fd_ThirdPartyCaveat_scope, value) { - return - } - } - if x.Exp != int64(0) { - value := protoreflect.ValueOfInt64(x.Exp) - if !f(fd_ThirdPartyCaveat_exp, value) { - return - } - } - if x.Cnf != "" { - value := protoreflect.ValueOfString(x.Cnf) - if !f(fd_ThirdPartyCaveat_cnf, value) { - return - } - } - if x.Aud != "" { - value := protoreflect.ValueOfString(x.Aud) - if !f(fd_ThirdPartyCaveat_aud, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ThirdPartyCaveat) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.ThirdPartyCaveat.scope": - return x.Scope != nil - case "did.v1.ThirdPartyCaveat.exp": - return x.Exp != int64(0) - case "did.v1.ThirdPartyCaveat.cnf": - return x.Cnf != "" - case "did.v1.ThirdPartyCaveat.aud": - return x.Aud != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ThirdPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.ThirdPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ThirdPartyCaveat) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.ThirdPartyCaveat.scope": - x.Scope = nil - case "did.v1.ThirdPartyCaveat.exp": - x.Exp = int64(0) - case "did.v1.ThirdPartyCaveat.cnf": - x.Cnf = "" - case "did.v1.ThirdPartyCaveat.aud": - x.Aud = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ThirdPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.ThirdPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ThirdPartyCaveat) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.ThirdPartyCaveat.scope": - value := x.Scope - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.ThirdPartyCaveat.exp": - value := x.Exp - return protoreflect.ValueOfInt64(value) - case "did.v1.ThirdPartyCaveat.cnf": - value := x.Cnf - return protoreflect.ValueOfString(value) - case "did.v1.ThirdPartyCaveat.aud": - value := x.Aud - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ThirdPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.ThirdPartyCaveat does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ThirdPartyCaveat) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.ThirdPartyCaveat.scope": - x.Scope = value.Message().Interface().(*Permissions) - case "did.v1.ThirdPartyCaveat.exp": - x.Exp = value.Int() - case "did.v1.ThirdPartyCaveat.cnf": - x.Cnf = value.Interface().(string) - case "did.v1.ThirdPartyCaveat.aud": - x.Aud = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ThirdPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.ThirdPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ThirdPartyCaveat) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ThirdPartyCaveat.scope": - if x.Scope == nil { - x.Scope = new(Permissions) - } - return protoreflect.ValueOfMessage(x.Scope.ProtoReflect()) - case "did.v1.ThirdPartyCaveat.exp": - panic(fmt.Errorf("field exp of message did.v1.ThirdPartyCaveat is not mutable")) - case "did.v1.ThirdPartyCaveat.cnf": - panic(fmt.Errorf("field cnf of message did.v1.ThirdPartyCaveat is not mutable")) - case "did.v1.ThirdPartyCaveat.aud": - panic(fmt.Errorf("field aud of message did.v1.ThirdPartyCaveat is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ThirdPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.ThirdPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ThirdPartyCaveat) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ThirdPartyCaveat.scope": - m := new(Permissions) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.ThirdPartyCaveat.exp": - return protoreflect.ValueOfInt64(int64(0)) - case "did.v1.ThirdPartyCaveat.cnf": - return protoreflect.ValueOfString("") - case "did.v1.ThirdPartyCaveat.aud": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ThirdPartyCaveat")) - } - panic(fmt.Errorf("message did.v1.ThirdPartyCaveat does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ThirdPartyCaveat) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ThirdPartyCaveat", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ThirdPartyCaveat) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ThirdPartyCaveat) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ThirdPartyCaveat) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ThirdPartyCaveat) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ThirdPartyCaveat) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Scope != nil { - l = options.Size(x.Scope) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Exp != 0 { - n += 1 + runtime.Sov(uint64(x.Exp)) - } - l = len(x.Cnf) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Aud) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ThirdPartyCaveat) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Aud) > 0 { - i -= len(x.Aud) - copy(dAtA[i:], x.Aud) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Aud))) - i-- - dAtA[i] = 0x22 - } - if len(x.Cnf) > 0 { - i -= len(x.Cnf) - copy(dAtA[i:], x.Cnf) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Cnf))) - i-- - dAtA[i] = 0x1a - } - if x.Exp != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Exp)) - i-- - dAtA[i] = 0x10 - } - if x.Scope != nil { - encoded, err := options.Marshal(x.Scope) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ThirdPartyCaveat) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ThirdPartyCaveat: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ThirdPartyCaveat: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Scope == nil { - x.Scope = &Permissions{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scope); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Exp", wireType) - } - x.Exp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Exp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Cnf", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Cnf = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Aud", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Aud = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: did/v1/models.proto - -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) -) - -// Alias defines a subject/origin pair -type Alias struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` - Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` - Controller string `protobuf:"bytes,3,opt,name=controller,proto3" json:"controller,omitempty"` -} - -func (x *Alias) Reset() { - *x = Alias{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Alias) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Alias) ProtoMessage() {} - -// Deprecated: Use Alias.ProtoReflect.Descriptor instead. -func (*Alias) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{0} -} - -func (x *Alias) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -func (x *Alias) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *Alias) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -type Credential struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` - AttestationType string `protobuf:"bytes,2,opt,name=attestation_type,json=attestationType,proto3" json:"attestation_type,omitempty"` - Origin string `protobuf:"bytes,3,opt,name=origin,proto3" json:"origin,omitempty"` - CredentialId []byte `protobuf:"bytes,4,opt,name=credential_id,json=credentialId,proto3" json:"credential_id,omitempty"` - PublicKey []byte `protobuf:"bytes,5,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` - Transport []string `protobuf:"bytes,6,rep,name=transport,proto3" json:"transport,omitempty"` - SignCount uint32 `protobuf:"varint,7,opt,name=sign_count,json=signCount,proto3" json:"sign_count,omitempty"` - UserPresent bool `protobuf:"varint,8,opt,name=user_present,json=userPresent,proto3" json:"user_present,omitempty"` - UserVerified bool `protobuf:"varint,9,opt,name=user_verified,json=userVerified,proto3" json:"user_verified,omitempty"` - BackupEligible bool `protobuf:"varint,10,opt,name=backup_eligible,json=backupEligible,proto3" json:"backup_eligible,omitempty"` - BackupState bool `protobuf:"varint,11,opt,name=backup_state,json=backupState,proto3" json:"backup_state,omitempty"` - CloneWarning bool `protobuf:"varint,12,opt,name=clone_warning,json=cloneWarning,proto3" json:"clone_warning,omitempty"` -} - -func (x *Credential) Reset() { - *x = Credential{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Credential) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Credential) ProtoMessage() {} - -// Deprecated: Use Credential.ProtoReflect.Descriptor instead. -func (*Credential) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{1} -} - -func (x *Credential) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -func (x *Credential) GetAttestationType() string { - if x != nil { - return x.AttestationType - } - return "" -} - -func (x *Credential) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *Credential) GetCredentialId() []byte { - if x != nil { - return x.CredentialId - } - return nil -} - -func (x *Credential) GetPublicKey() []byte { - if x != nil { - return x.PublicKey - } - return nil -} - -func (x *Credential) GetTransport() []string { - if x != nil { - return x.Transport - } - return nil -} - -func (x *Credential) GetSignCount() uint32 { - if x != nil { - return x.SignCount - } - return 0 -} - -func (x *Credential) GetUserPresent() bool { - if x != nil { - return x.UserPresent - } - return false -} - -func (x *Credential) GetUserVerified() bool { - if x != nil { - return x.UserVerified - } - return false -} - -func (x *Credential) GetBackupEligible() bool { - if x != nil { - return x.BackupEligible - } - return false -} - -func (x *Credential) GetBackupState() bool { - if x != nil { - return x.BackupState - } - return false -} - -func (x *Credential) GetCloneWarning() bool { - if x != nil { - return x.CloneWarning - } - return false -} - -// Document defines a DID document -type Document struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` // The DID of the controller - Authentication []string `protobuf:"bytes,3,rep,name=authentication,proto3" json:"authentication,omitempty"` - AssertionMethod []string `protobuf:"bytes,4,rep,name=assertion_method,json=assertionMethod,proto3" json:"assertion_method,omitempty"` - CapabilityDelegation []string `protobuf:"bytes,5,rep,name=capability_delegation,json=capabilityDelegation,proto3" json:"capability_delegation,omitempty"` - CapabilityInvocation []string `protobuf:"bytes,6,rep,name=capability_invocation,json=capabilityInvocation,proto3" json:"capability_invocation,omitempty"` - Service []string `protobuf:"bytes,7,rep,name=service,proto3" json:"service,omitempty"` -} - -func (x *Document) Reset() { - *x = Document{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Document) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Document) ProtoMessage() {} - -// Deprecated: Use Document.ProtoReflect.Descriptor instead. -func (*Document) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{2} -} - -func (x *Document) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Document) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *Document) GetAuthentication() []string { - if x != nil { - return x.Authentication - } - return nil -} - -func (x *Document) GetAssertionMethod() []string { - if x != nil { - return x.AssertionMethod - } - return nil -} - -func (x *Document) GetCapabilityDelegation() []string { - if x != nil { - return x.CapabilityDelegation - } - return nil -} - -func (x *Document) GetCapabilityInvocation() []string { - if x != nil { - return x.CapabilityInvocation - } - return nil -} - -func (x *Document) GetService() []string { - if x != nil { - return x.Service - } - return nil -} - -// Keyshare defines a keyshare from the MPC protocol -type Keyshare struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata map[string]string `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Payloads map[string][]byte `protobuf:"bytes,2,rep,name=payloads,proto3" json:"payloads,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Protocol string `protobuf:"bytes,3,opt,name=protocol,proto3" json:"protocol,omitempty"` - PublicKey []byte `protobuf:"bytes,4,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` - Version uint32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"` - Role int32 `protobuf:"varint,6,opt,name=role,proto3" json:"role,omitempty"` // 0 =none, 1 = validator, 2 = user -} - -func (x *Keyshare) Reset() { - *x = Keyshare{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Keyshare) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Keyshare) ProtoMessage() {} - -// Deprecated: Use Keyshare.ProtoReflect.Descriptor instead. -func (*Keyshare) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{3} -} - -func (x *Keyshare) GetMetadata() map[string]string { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *Keyshare) GetPayloads() map[string][]byte { - if x != nil { - return x.Payloads - } - return nil -} - -func (x *Keyshare) GetProtocol() string { - if x != nil { - return x.Protocol - } - return "" -} - -func (x *Keyshare) GetPublicKey() []byte { - if x != nil { - return x.PublicKey - } - return nil -} - -func (x *Keyshare) GetVersion() uint32 { - if x != nil { - return x.Version - } - return 0 -} - -func (x *Keyshare) GetRole() int32 { - if x != nil { - return x.Role - } - return 0 -} - -// Permissions contains a list of grants and access control rules for -// a Service. -type Permissions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Grants []DIDNamespace `protobuf:"varint,1,rep,packed,name=grants,proto3,enum=did.v1.DIDNamespace" json:"grants,omitempty"` - Scopes []PermissionScope `protobuf:"varint,2,rep,packed,name=scopes,proto3,enum=did.v1.PermissionScope" json:"scopes,omitempty"` -} - -func (x *Permissions) Reset() { - *x = Permissions{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Permissions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Permissions) ProtoMessage() {} - -// Deprecated: Use Permissions.ProtoReflect.Descriptor instead. -func (*Permissions) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{4} -} - -func (x *Permissions) GetGrants() []DIDNamespace { - if x != nil { - return x.Grants - } - return nil -} - -func (x *Permissions) GetScopes() []PermissionScope { - if x != nil { - return x.Scopes - } - return nil -} - -// PubKey defines a public key for a did -type PubKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Role KeyRole `protobuf:"varint,1,opt,name=role,proto3,enum=did.v1.KeyRole" json:"role,omitempty"` - Algorithm KeyAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=did.v1.KeyAlgorithm" json:"algorithm,omitempty"` - Encoding KeyEncoding `protobuf:"varint,3,opt,name=encoding,proto3,enum=did.v1.KeyEncoding" json:"encoding,omitempty"` - Curve KeyCurve `protobuf:"varint,4,opt,name=curve,proto3,enum=did.v1.KeyCurve" json:"curve,omitempty"` - KeyType KeyType `protobuf:"varint,5,opt,name=key_type,json=keyType,proto3,enum=did.v1.KeyType" json:"key_type,omitempty"` - Raw []byte `protobuf:"bytes,6,opt,name=raw,proto3" json:"raw,omitempty"` - Jwk *PubKey_JWK `protobuf:"bytes,7,opt,name=jwk,proto3" json:"jwk,omitempty"` -} - -func (x *PubKey) Reset() { - *x = PubKey{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PubKey) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PubKey) ProtoMessage() {} - -// Deprecated: Use PubKey.ProtoReflect.Descriptor instead. -func (*PubKey) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{5} -} - -func (x *PubKey) GetRole() KeyRole { - if x != nil { - return x.Role - } - return KeyRole_KEY_ROLE_UNSPECIFIED -} - -func (x *PubKey) GetAlgorithm() KeyAlgorithm { - if x != nil { - return x.Algorithm - } - return KeyAlgorithm_KEY_ALGORITHM_UNSPECIFIED -} - -func (x *PubKey) GetEncoding() KeyEncoding { - if x != nil { - return x.Encoding - } - return KeyEncoding_KEY_ENCODING_UNSPECIFIED -} - -func (x *PubKey) GetCurve() KeyCurve { - if x != nil { - return x.Curve - } - return KeyCurve_KEY_CURVE_UNSPECIFIED -} - -func (x *PubKey) GetKeyType() KeyType { - if x != nil { - return x.KeyType - } - return KeyType_KEY_TYPE_UNSPECIFIED -} - -func (x *PubKey) GetRaw() []byte { - if x != nil { - return x.Raw - } - return nil -} - -func (x *PubKey) GetJwk() *PubKey_JWK { - if x != nil { - return x.Jwk - } - return nil -} - -// Service defines a Decentralized Service on the Sonr Blockchain -type Service struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ServiceType string `protobuf:"bytes,2,opt,name=service_type,json=serviceType,proto3" json:"service_type,omitempty"` - Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` - Origin string `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"` - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` - ServiceEndpoints map[string]string `protobuf:"bytes,6,rep,name=service_endpoints,json=serviceEndpoints,proto3" json:"service_endpoints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Permissions *Permissions `protobuf:"bytes,7,opt,name=permissions,proto3" json:"permissions,omitempty"` -} - -func (x *Service) Reset() { - *x = Service{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Service) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Service) ProtoMessage() {} - -// Deprecated: Use Service.ProtoReflect.Descriptor instead. -func (*Service) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{6} -} - -func (x *Service) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Service) GetServiceType() string { - if x != nil { - return x.ServiceType - } - return "" -} - -func (x *Service) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" -} - -func (x *Service) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *Service) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *Service) GetServiceEndpoints() map[string]string { - if x != nil { - return x.ServiceEndpoints - } - return nil -} - -func (x *Service) GetPermissions() *Permissions { - if x != nil { - return x.Permissions - } - return nil -} - -// ServicceInfo defines a Decentralized Service on the Sonr Blockchain -type ServiceInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` - Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` - Fingerprint string `protobuf:"bytes,3,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"` - Service *Service `protobuf:"bytes,4,opt,name=service,proto3" json:"service,omitempty"` -} - -func (x *ServiceInfo) Reset() { - *x = ServiceInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ServiceInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ServiceInfo) ProtoMessage() {} - -// Deprecated: Use ServiceInfo.ProtoReflect.Descriptor instead. -func (*ServiceInfo) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{7} -} - -func (x *ServiceInfo) GetExists() bool { - if x != nil { - return x.Exists - } - return false -} - -func (x *ServiceInfo) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *ServiceInfo) GetFingerprint() string { - if x != nil { - return x.Fingerprint - } - return "" -} - -func (x *ServiceInfo) GetService() *Service { - if x != nil { - return x.Service - } - return nil -} - -// FirstPartyCaveat defines a first party caveat -type FirstPartyCaveat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Scope *Permissions `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` - Exp int64 `protobuf:"varint,2,opt,name=exp,proto3" json:"exp,omitempty"` - Cnf string `protobuf:"bytes,3,opt,name=cnf,proto3" json:"cnf,omitempty"` - Aud string `protobuf:"bytes,4,opt,name=aud,proto3" json:"aud,omitempty"` -} - -func (x *FirstPartyCaveat) Reset() { - *x = FirstPartyCaveat{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FirstPartyCaveat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FirstPartyCaveat) ProtoMessage() {} - -// Deprecated: Use FirstPartyCaveat.ProtoReflect.Descriptor instead. -func (*FirstPartyCaveat) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{8} -} - -func (x *FirstPartyCaveat) GetScope() *Permissions { - if x != nil { - return x.Scope - } - return nil -} - -func (x *FirstPartyCaveat) GetExp() int64 { - if x != nil { - return x.Exp - } - return 0 -} - -func (x *FirstPartyCaveat) GetCnf() string { - if x != nil { - return x.Cnf - } - return "" -} - -func (x *FirstPartyCaveat) GetAud() string { - if x != nil { - return x.Aud - } - return "" -} - -// ThirdPartyCaveat defines a third party caveat -type ThirdPartyCaveat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Scope *Permissions `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` - Exp int64 `protobuf:"varint,2,opt,name=exp,proto3" json:"exp,omitempty"` - Cnf string `protobuf:"bytes,3,opt,name=cnf,proto3" json:"cnf,omitempty"` - Aud string `protobuf:"bytes,4,opt,name=aud,proto3" json:"aud,omitempty"` -} - -func (x *ThirdPartyCaveat) Reset() { - *x = ThirdPartyCaveat{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ThirdPartyCaveat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ThirdPartyCaveat) ProtoMessage() {} - -// Deprecated: Use ThirdPartyCaveat.ProtoReflect.Descriptor instead. -func (*ThirdPartyCaveat) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{9} -} - -func (x *ThirdPartyCaveat) GetScope() *Permissions { - if x != nil { - return x.Scope - } - return nil -} - -func (x *ThirdPartyCaveat) GetExp() int64 { - if x != nil { - return x.Exp - } - return 0 -} - -func (x *ThirdPartyCaveat) GetCnf() string { - if x != nil { - return x.Cnf - } - return "" -} - -func (x *ThirdPartyCaveat) GetAud() string { - if x != nil { - return x.Aud - } - return "" -} - -// JWK represents a JSON Web Key -type PubKey_JWK struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kty string `protobuf:"bytes,1,opt,name=kty,proto3" json:"kty,omitempty"` // Key Type - Crv string `protobuf:"bytes,2,opt,name=crv,proto3" json:"crv,omitempty"` // Curve (for EC and OKP keys) - X string `protobuf:"bytes,3,opt,name=x,proto3" json:"x,omitempty"` // X coordinate (for EC and OKP keys) - Y string `protobuf:"bytes,4,opt,name=y,proto3" json:"y,omitempty"` // Y coordinate (for EC keys) - N string `protobuf:"bytes,5,opt,name=n,proto3" json:"n,omitempty"` // Modulus (for RSA keys) - E string `protobuf:"bytes,6,opt,name=e,proto3" json:"e,omitempty"` // Exponent (for RSA keys) -} - -func (x *PubKey_JWK) Reset() { - *x = PubKey_JWK{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_models_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PubKey_JWK) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PubKey_JWK) ProtoMessage() {} - -// Deprecated: Use PubKey_JWK.ProtoReflect.Descriptor instead. -func (*PubKey_JWK) Descriptor() ([]byte, []int) { - return file_did_v1_models_proto_rawDescGZIP(), []int{5, 0} -} - -func (x *PubKey_JWK) GetKty() string { - if x != nil { - return x.Kty - } - return "" -} - -func (x *PubKey_JWK) GetCrv() string { - if x != nil { - return x.Crv - } - return "" -} - -func (x *PubKey_JWK) GetX() string { - if x != nil { - return x.X - } - return "" -} - -func (x *PubKey_JWK) GetY() string { - if x != nil { - return x.Y - } - return "" -} - -func (x *PubKey_JWK) GetN() string { - if x != nil { - return x.N - } - return "" -} - -func (x *PubKey_JWK) GetE() string { - if x != nil { - return x.E - } - return "" -} - -var File_did_v1_models_proto protoreflect.FileDescriptor - -var file_did_v1_models_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x14, 0x64, - 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x05, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x22, 0xa3, 0x03, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x0a, - 0x10, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65, - 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x5f, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, - 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6c, - 0x6f, 0x6e, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x91, 0x02, 0x0a, 0x08, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, - 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x29, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x65, 0x72, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, - 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, - 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, - 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xe5, - 0x02, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x06, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x06, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x22, 0x81, 0x03, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, - 0x23, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x09, 0x61, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x2f, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, - 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x05, 0x63, 0x75, 0x72, - 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x43, 0x75, 0x72, 0x76, 0x65, 0x52, 0x05, 0x63, 0x75, 0x72, 0x76, - 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x72, 0x61, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, - 0x24, 0x0a, 0x03, 0x6a, 0x77, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x2e, 0x4a, 0x57, 0x4b, - 0x52, 0x03, 0x6a, 0x77, 0x6b, 0x1a, 0x61, 0x0a, 0x03, 0x4a, 0x57, 0x4b, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x74, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x63, 0x72, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x72, 0x76, - 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x78, 0x12, 0x0c, - 0x0a, 0x01, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x65, 0x22, 0xe4, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 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, - 0x52, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x15, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x8a, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, - 0x74, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x73, 0x0a, 0x10, - 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, - 0x12, 0x29, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, - 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6e, 0x66, 0x12, - 0x10, 0x0a, 0x03, 0x61, 0x75, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x75, - 0x64, 0x22, 0x73, 0x0a, 0x10, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x43, - 0x61, 0x76, 0x65, 0x61, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, - 0x78, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x63, 0x6e, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x75, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x61, 0x75, 0x64, 0x42, 0x7b, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, - 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, - 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_did_v1_models_proto_rawDescOnce sync.Once - file_did_v1_models_proto_rawDescData = file_did_v1_models_proto_rawDesc -) - -func file_did_v1_models_proto_rawDescGZIP() []byte { - file_did_v1_models_proto_rawDescOnce.Do(func() { - file_did_v1_models_proto_rawDescData = protoimpl.X.CompressGZIP(file_did_v1_models_proto_rawDescData) - }) - return file_did_v1_models_proto_rawDescData -} - -var file_did_v1_models_proto_msgTypes = make([]protoimpl.MessageInfo, 14) -var file_did_v1_models_proto_goTypes = []interface{}{ - (*Alias)(nil), // 0: did.v1.Alias - (*Credential)(nil), // 1: did.v1.Credential - (*Document)(nil), // 2: did.v1.Document - (*Keyshare)(nil), // 3: did.v1.Keyshare - (*Permissions)(nil), // 4: did.v1.Permissions - (*PubKey)(nil), // 5: did.v1.PubKey - (*Service)(nil), // 6: did.v1.Service - (*ServiceInfo)(nil), // 7: did.v1.ServiceInfo - (*FirstPartyCaveat)(nil), // 8: did.v1.FirstPartyCaveat - (*ThirdPartyCaveat)(nil), // 9: did.v1.ThirdPartyCaveat - nil, // 10: did.v1.Keyshare.MetadataEntry - nil, // 11: did.v1.Keyshare.PayloadsEntry - (*PubKey_JWK)(nil), // 12: did.v1.PubKey.JWK - nil, // 13: did.v1.Service.ServiceEndpointsEntry - (DIDNamespace)(0), // 14: did.v1.DIDNamespace - (PermissionScope)(0), // 15: did.v1.PermissionScope - (KeyRole)(0), // 16: did.v1.KeyRole - (KeyAlgorithm)(0), // 17: did.v1.KeyAlgorithm - (KeyEncoding)(0), // 18: did.v1.KeyEncoding - (KeyCurve)(0), // 19: did.v1.KeyCurve - (KeyType)(0), // 20: did.v1.KeyType -} -var file_did_v1_models_proto_depIdxs = []int32{ - 10, // 0: did.v1.Keyshare.metadata:type_name -> did.v1.Keyshare.MetadataEntry - 11, // 1: did.v1.Keyshare.payloads:type_name -> did.v1.Keyshare.PayloadsEntry - 14, // 2: did.v1.Permissions.grants:type_name -> did.v1.DIDNamespace - 15, // 3: did.v1.Permissions.scopes:type_name -> did.v1.PermissionScope - 16, // 4: did.v1.PubKey.role:type_name -> did.v1.KeyRole - 17, // 5: did.v1.PubKey.algorithm:type_name -> did.v1.KeyAlgorithm - 18, // 6: did.v1.PubKey.encoding:type_name -> did.v1.KeyEncoding - 19, // 7: did.v1.PubKey.curve:type_name -> did.v1.KeyCurve - 20, // 8: did.v1.PubKey.key_type:type_name -> did.v1.KeyType - 12, // 9: did.v1.PubKey.jwk:type_name -> did.v1.PubKey.JWK - 13, // 10: did.v1.Service.service_endpoints:type_name -> did.v1.Service.ServiceEndpointsEntry - 4, // 11: did.v1.Service.permissions:type_name -> did.v1.Permissions - 6, // 12: did.v1.ServiceInfo.service:type_name -> did.v1.Service - 4, // 13: did.v1.FirstPartyCaveat.scope:type_name -> did.v1.Permissions - 4, // 14: did.v1.ThirdPartyCaveat.scope:type_name -> did.v1.Permissions - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name -} - -func init() { file_did_v1_models_proto_init() } -func file_did_v1_models_proto_init() { - if File_did_v1_models_proto != nil { - return - } - file_did_v1_genesis_proto_init() - if !protoimpl.UnsafeEnabled { - file_did_v1_models_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Alias); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Credential); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Document); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Keyshare); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Permissions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Service); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FirstPartyCaveat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ThirdPartyCaveat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_models_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubKey_JWK); 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_did_v1_models_proto_rawDesc, - NumEnums: 0, - NumMessages: 14, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_did_v1_models_proto_goTypes, - DependencyIndexes: file_did_v1_models_proto_depIdxs, - MessageInfos: file_did_v1_models_proto_msgTypes, - }.Build() - File_did_v1_models_proto = out.File - file_did_v1_models_proto_rawDesc = nil - file_did_v1_models_proto_goTypes = nil - file_did_v1_models_proto_depIdxs = nil -} diff --git a/api/did/v1/query.pulsar.go b/api/did/v1/query.pulsar.go index f3ca4e4e9..1a3a88011 100644 --- a/api/did/v1/query.pulsar.go +++ b/api/did/v1/query.pulsar.go @@ -10,7 +10,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" io "io" reflect "reflect" - sort "sort" sync "sync" ) @@ -631,7 +630,6 @@ var ( fd_QueryResponse_success protoreflect.FieldDescriptor fd_QueryResponse_query protoreflect.FieldDescriptor fd_QueryResponse_document protoreflect.FieldDescriptor - fd_QueryResponse_service protoreflect.FieldDescriptor fd_QueryResponse_params protoreflect.FieldDescriptor ) @@ -641,7 +639,6 @@ func init() { fd_QueryResponse_success = md_QueryResponse.Fields().ByName("success") fd_QueryResponse_query = md_QueryResponse.Fields().ByName("query") fd_QueryResponse_document = md_QueryResponse.Fields().ByName("document") - fd_QueryResponse_service = md_QueryResponse.Fields().ByName("service") fd_QueryResponse_params = md_QueryResponse.Fields().ByName("params") } @@ -728,12 +725,6 @@ func (x *fastReflection_QueryResponse) Range(f func(protoreflect.FieldDescriptor return } } - if x.Service != nil { - value := protoreflect.ValueOfMessage(x.Service.ProtoReflect()) - if !f(fd_QueryResponse_service, value) { - return - } - } if x.Params != nil { value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) if !f(fd_QueryResponse_params, value) { @@ -761,8 +752,6 @@ func (x *fastReflection_QueryResponse) Has(fd protoreflect.FieldDescriptor) bool return x.Query != "" case "did.v1.QueryResponse.document": return x.Document != nil - case "did.v1.QueryResponse.service": - return x.Service != nil case "did.v1.QueryResponse.params": return x.Params != nil default: @@ -787,8 +776,6 @@ func (x *fastReflection_QueryResponse) Clear(fd protoreflect.FieldDescriptor) { x.Query = "" case "did.v1.QueryResponse.document": x.Document = nil - case "did.v1.QueryResponse.service": - x.Service = nil case "did.v1.QueryResponse.params": x.Params = nil default: @@ -816,9 +803,6 @@ func (x *fastReflection_QueryResponse) Get(descriptor protoreflect.FieldDescript case "did.v1.QueryResponse.document": value := x.Document return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.QueryResponse.service": - value := x.Service - return protoreflect.ValueOfMessage(value.ProtoReflect()) case "did.v1.QueryResponse.params": value := x.Params return protoreflect.ValueOfMessage(value.ProtoReflect()) @@ -848,8 +832,6 @@ func (x *fastReflection_QueryResponse) Set(fd protoreflect.FieldDescriptor, valu x.Query = value.Interface().(string) case "did.v1.QueryResponse.document": x.Document = value.Message().Interface().(*Document) - case "did.v1.QueryResponse.service": - x.Service = value.Message().Interface().(*ServiceInfo) case "did.v1.QueryResponse.params": x.Params = value.Message().Interface().(*Params) default: @@ -877,11 +859,6 @@ func (x *fastReflection_QueryResponse) Mutable(fd protoreflect.FieldDescriptor) x.Document = new(Document) } return protoreflect.ValueOfMessage(x.Document.ProtoReflect()) - case "did.v1.QueryResponse.service": - if x.Service == nil { - x.Service = new(ServiceInfo) - } - return protoreflect.ValueOfMessage(x.Service.ProtoReflect()) case "did.v1.QueryResponse.params": if x.Params == nil { x.Params = new(Params) @@ -911,9 +888,6 @@ func (x *fastReflection_QueryResponse) NewField(fd protoreflect.FieldDescriptor) case "did.v1.QueryResponse.document": m := new(Document) return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.QueryResponse.service": - m := new(ServiceInfo) - return protoreflect.ValueOfMessage(m.ProtoReflect()) case "did.v1.QueryResponse.params": m := new(Params) return protoreflect.ValueOfMessage(m.ProtoReflect()) @@ -997,10 +971,6 @@ func (x *fastReflection_QueryResponse) ProtoMethods() *protoiface.Methods { l = options.Size(x.Document) n += 1 + l + runtime.Sov(uint64(l)) } - if x.Service != nil { - l = options.Size(x.Service) - n += 1 + l + runtime.Sov(uint64(l)) - } if x.Params != nil { l = options.Size(x.Params) n += 1 + l + runtime.Sov(uint64(l)) @@ -1048,20 +1018,6 @@ func (x *fastReflection_QueryResponse) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x2a } - if x.Service != nil { - encoded, err := options.Marshal(x.Service) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x22 - } if x.Document != nil { encoded, err := options.Marshal(x.Document) if err != nil { @@ -1230,42 +1186,6 @@ func (x *fastReflection_QueryResponse) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Service == nil { - x.Service = &ServiceInfo{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Service); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex case 5: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) @@ -1772,77 +1692,26 @@ func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods } } -var _ protoreflect.List = (*_QueryParamsAssetsResponse_1_list)(nil) - -type _QueryParamsAssetsResponse_1_list struct { - list *[]*AssetInfo -} - -func (x *_QueryParamsAssetsResponse_1_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_QueryParamsAssetsResponse_1_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_QueryParamsAssetsResponse_1_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*AssetInfo) - (*x.list)[i] = concreteValue -} - -func (x *_QueryParamsAssetsResponse_1_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*AssetInfo) - *x.list = append(*x.list, concreteValue) -} - -func (x *_QueryParamsAssetsResponse_1_list) AppendMutable() protoreflect.Value { - v := new(AssetInfo) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryParamsAssetsResponse_1_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_QueryParamsAssetsResponse_1_list) NewElement() protoreflect.Value { - v := new(AssetInfo) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryParamsAssetsResponse_1_list) IsValid() bool { - return x.list != nil -} - var ( - md_QueryParamsAssetsResponse protoreflect.MessageDescriptor - fd_QueryParamsAssetsResponse_assets protoreflect.FieldDescriptor + md_QueryResolveResponse protoreflect.MessageDescriptor + fd_QueryResolveResponse_document protoreflect.FieldDescriptor ) func init() { file_did_v1_query_proto_init() - md_QueryParamsAssetsResponse = File_did_v1_query_proto.Messages().ByName("QueryParamsAssetsResponse") - fd_QueryParamsAssetsResponse_assets = md_QueryParamsAssetsResponse.Fields().ByName("assets") + md_QueryResolveResponse = File_did_v1_query_proto.Messages().ByName("QueryResolveResponse") + fd_QueryResolveResponse_document = md_QueryResolveResponse.Fields().ByName("document") } -var _ protoreflect.Message = (*fastReflection_QueryParamsAssetsResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryResolveResponse)(nil) -type fastReflection_QueryParamsAssetsResponse QueryParamsAssetsResponse +type fastReflection_QueryResolveResponse QueryResolveResponse -func (x *QueryParamsAssetsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryParamsAssetsResponse)(x) +func (x *QueryResolveResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryResolveResponse)(x) } -func (x *QueryParamsAssetsResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryResolveResponse) slowProtoReflect() protoreflect.Message { mi := &file_did_v1_query_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1854,43 +1723,43 @@ func (x *QueryParamsAssetsResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_QueryParamsAssetsResponse_messageType fastReflection_QueryParamsAssetsResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryParamsAssetsResponse_messageType{} +var _fastReflection_QueryResolveResponse_messageType fastReflection_QueryResolveResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryResolveResponse_messageType{} -type fastReflection_QueryParamsAssetsResponse_messageType struct{} +type fastReflection_QueryResolveResponse_messageType struct{} -func (x fastReflection_QueryParamsAssetsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryParamsAssetsResponse)(nil) +func (x fastReflection_QueryResolveResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryResolveResponse)(nil) } -func (x fastReflection_QueryParamsAssetsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryParamsAssetsResponse) +func (x fastReflection_QueryResolveResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryResolveResponse) } -func (x fastReflection_QueryParamsAssetsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsAssetsResponse +func (x fastReflection_QueryResolveResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryResolveResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryParamsAssetsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsAssetsResponse +func (x *fastReflection_QueryResolveResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryResolveResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryParamsAssetsResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryParamsAssetsResponse_messageType +func (x *fastReflection_QueryResolveResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryResolveResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryParamsAssetsResponse) New() protoreflect.Message { - return new(fastReflection_QueryParamsAssetsResponse) +func (x *fastReflection_QueryResolveResponse) New() protoreflect.Message { + return new(fastReflection_QueryResolveResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryParamsAssetsResponse) Interface() protoreflect.ProtoMessage { - return (*QueryParamsAssetsResponse)(x) +func (x *fastReflection_QueryResolveResponse) Interface() protoreflect.ProtoMessage { + return (*QueryResolveResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -1898,10 +1767,10 @@ func (x *fastReflection_QueryParamsAssetsResponse) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryParamsAssetsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.Assets) != 0 { - value := protoreflect.ValueOfList(&_QueryParamsAssetsResponse_1_list{list: &x.Assets}) - if !f(fd_QueryParamsAssetsResponse_assets, value) { +func (x *fastReflection_QueryResolveResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Document != nil { + value := protoreflect.ValueOfMessage(x.Document.ProtoReflect()) + if !f(fd_QueryResolveResponse_document, value) { return } } @@ -1918,15 +1787,15 @@ func (x *fastReflection_QueryParamsAssetsResponse) Range(f func(protoreflect.Fie // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryParamsAssetsResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryResolveResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.QueryParamsAssetsResponse.assets": - return len(x.Assets) != 0 + case "did.v1.QueryResolveResponse.document": + return x.Document != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsAssetsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryResolveResponse")) } - panic(fmt.Errorf("message did.v1.QueryParamsAssetsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.QueryResolveResponse does not contain field %s", fd.FullName())) } } @@ -1936,15 +1805,15 @@ func (x *fastReflection_QueryParamsAssetsResponse) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsAssetsResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryResolveResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.QueryParamsAssetsResponse.assets": - x.Assets = nil + case "did.v1.QueryResolveResponse.document": + x.Document = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsAssetsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryResolveResponse")) } - panic(fmt.Errorf("message did.v1.QueryParamsAssetsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.QueryResolveResponse does not contain field %s", fd.FullName())) } } @@ -1954,1141 +1823,16 @@ func (x *fastReflection_QueryParamsAssetsResponse) Clear(fd protoreflect.FieldDe // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryParamsAssetsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryResolveResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.QueryParamsAssetsResponse.assets": - if len(x.Assets) == 0 { - return protoreflect.ValueOfList(&_QueryParamsAssetsResponse_1_list{}) - } - listValue := &_QueryParamsAssetsResponse_1_list{list: &x.Assets} - return protoreflect.ValueOfList(listValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsAssetsResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsAssetsResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsAssetsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.QueryParamsAssetsResponse.assets": - lv := value.List() - clv := lv.(*_QueryParamsAssetsResponse_1_list) - x.Assets = *clv.list - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsAssetsResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsAssetsResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsAssetsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryParamsAssetsResponse.assets": - if x.Assets == nil { - x.Assets = []*AssetInfo{} - } - value := &_QueryParamsAssetsResponse_1_list{list: &x.Assets} - return protoreflect.ValueOfList(value) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsAssetsResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsAssetsResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryParamsAssetsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryParamsAssetsResponse.assets": - list := []*AssetInfo{} - return protoreflect.ValueOfList(&_QueryParamsAssetsResponse_1_list{list: &list}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsAssetsResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsAssetsResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryParamsAssetsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryParamsAssetsResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryParamsAssetsResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsAssetsResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_QueryParamsAssetsResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_QueryParamsAssetsResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryParamsAssetsResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if len(x.Assets) > 0 { - for _, e := range x.Assets { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsAssetsResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Assets) > 0 { - for iNdEx := len(x.Assets) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Assets[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsAssetsResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsAssetsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsAssetsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Assets", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Assets = append(x.Assets, &AssetInfo{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Assets[len(x.Assets)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.Map = (*_QueryParamsKeysResponse_1_map)(nil) - -type _QueryParamsKeysResponse_1_map struct { - m *map[string]*KeyInfo -} - -func (x *_QueryParamsKeysResponse_1_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_QueryParamsKeysResponse_1_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfMessage(v.ProtoReflect()) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_QueryParamsKeysResponse_1_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_QueryParamsKeysResponse_1_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_QueryParamsKeysResponse_1_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryParamsKeysResponse_1_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*KeyInfo) - (*x.m)[concreteKey] = concreteValue -} - -func (x *_QueryParamsKeysResponse_1_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if ok { - return protoreflect.ValueOfMessage(v.ProtoReflect()) - } - newValue := new(KeyInfo) - (*x.m)[concreteKey] = newValue - return protoreflect.ValueOfMessage(newValue.ProtoReflect()) -} - -func (x *_QueryParamsKeysResponse_1_map) NewValue() protoreflect.Value { - v := new(KeyInfo) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryParamsKeysResponse_1_map) IsValid() bool { - return x.m != nil -} - -var ( - md_QueryParamsKeysResponse protoreflect.MessageDescriptor - fd_QueryParamsKeysResponse_keys protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_query_proto_init() - md_QueryParamsKeysResponse = File_did_v1_query_proto.Messages().ByName("QueryParamsKeysResponse") - fd_QueryParamsKeysResponse_keys = md_QueryParamsKeysResponse.Fields().ByName("keys") -} - -var _ protoreflect.Message = (*fastReflection_QueryParamsKeysResponse)(nil) - -type fastReflection_QueryParamsKeysResponse QueryParamsKeysResponse - -func (x *QueryParamsKeysResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryParamsKeysResponse)(x) -} - -func (x *QueryParamsKeysResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_query_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) -} - -var _fastReflection_QueryParamsKeysResponse_messageType fastReflection_QueryParamsKeysResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryParamsKeysResponse_messageType{} - -type fastReflection_QueryParamsKeysResponse_messageType struct{} - -func (x fastReflection_QueryParamsKeysResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryParamsKeysResponse)(nil) -} -func (x fastReflection_QueryParamsKeysResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryParamsKeysResponse) -} -func (x fastReflection_QueryParamsKeysResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsKeysResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_QueryParamsKeysResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsKeysResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryParamsKeysResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryParamsKeysResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryParamsKeysResponse) New() protoreflect.Message { - return new(fastReflection_QueryParamsKeysResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryParamsKeysResponse) Interface() protoreflect.ProtoMessage { - return (*QueryParamsKeysResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_QueryParamsKeysResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.Keys) != 0 { - value := protoreflect.ValueOfMap(&_QueryParamsKeysResponse_1_map{m: &x.Keys}) - if !f(fd_QueryParamsKeysResponse_keys, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryParamsKeysResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.QueryParamsKeysResponse.keys": - return len(x.Keys) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsKeysResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsKeysResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsKeysResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.QueryParamsKeysResponse.keys": - x.Keys = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsKeysResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsKeysResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryParamsKeysResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.QueryParamsKeysResponse.keys": - if len(x.Keys) == 0 { - return protoreflect.ValueOfMap(&_QueryParamsKeysResponse_1_map{}) - } - mapValue := &_QueryParamsKeysResponse_1_map{m: &x.Keys} - return protoreflect.ValueOfMap(mapValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsKeysResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsKeysResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsKeysResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.QueryParamsKeysResponse.keys": - mv := value.Map() - cmv := mv.(*_QueryParamsKeysResponse_1_map) - x.Keys = *cmv.m - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsKeysResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsKeysResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsKeysResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryParamsKeysResponse.keys": - if x.Keys == nil { - x.Keys = make(map[string]*KeyInfo) - } - value := &_QueryParamsKeysResponse_1_map{m: &x.Keys} - return protoreflect.ValueOfMap(value) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsKeysResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsKeysResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryParamsKeysResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryParamsKeysResponse.keys": - m := make(map[string]*KeyInfo) - return protoreflect.ValueOfMap(&_QueryParamsKeysResponse_1_map{m: &m}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsKeysResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsKeysResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryParamsKeysResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryParamsKeysResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryParamsKeysResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsKeysResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_QueryParamsKeysResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_QueryParamsKeysResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryParamsKeysResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if len(x.Keys) > 0 { - SiZeMaP := func(k string, v *KeyInfo) { - l := 0 - if v != nil { - l = options.Size(v) - } - l += 1 + runtime.Sov(uint64(l)) - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + l - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.Keys)) - for k := range x.Keys { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.Keys[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.Keys { - SiZeMaP(k, v) - } - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsKeysResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Keys) > 0 { - MaRsHaLmAp := func(k string, v *KeyInfo) (protoiface.MarshalOutput, error) { - baseI := i - encoded, err := options.Marshal(v) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0xa - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForKeys := make([]string, 0, len(x.Keys)) - for k := range x.Keys { - keysForKeys = append(keysForKeys, string(k)) - } - sort.Slice(keysForKeys, func(i, j int) bool { - return keysForKeys[i] < keysForKeys[j] - }) - for iNdEx := len(keysForKeys) - 1; iNdEx >= 0; iNdEx-- { - v := x.Keys[string(keysForKeys[iNdEx])] - out, err := MaRsHaLmAp(keysForKeys[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.Keys { - v := x.Keys[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsKeysResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Keys", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Keys == nil { - x.Keys = make(map[string]*KeyInfo) - } - var mapkey string - var mapvalue *KeyInfo - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var mapmsglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapmsglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if mapmsglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postmsgIndex := iNdEx + mapmsglen - if postmsgIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postmsgIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = &KeyInfo{} - if err := options.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postmsgIndex - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.Keys[mapkey] = mapvalue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_QueryParamsByKeyResponse protoreflect.MessageDescriptor - fd_QueryParamsByKeyResponse_key protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_query_proto_init() - md_QueryParamsByKeyResponse = File_did_v1_query_proto.Messages().ByName("QueryParamsByKeyResponse") - fd_QueryParamsByKeyResponse_key = md_QueryParamsByKeyResponse.Fields().ByName("key") -} - -var _ protoreflect.Message = (*fastReflection_QueryParamsByKeyResponse)(nil) - -type fastReflection_QueryParamsByKeyResponse QueryParamsByKeyResponse - -func (x *QueryParamsByKeyResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryParamsByKeyResponse)(x) -} - -func (x *QueryParamsByKeyResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_query_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) -} - -var _fastReflection_QueryParamsByKeyResponse_messageType fastReflection_QueryParamsByKeyResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryParamsByKeyResponse_messageType{} - -type fastReflection_QueryParamsByKeyResponse_messageType struct{} - -func (x fastReflection_QueryParamsByKeyResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryParamsByKeyResponse)(nil) -} -func (x fastReflection_QueryParamsByKeyResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryParamsByKeyResponse) -} -func (x fastReflection_QueryParamsByKeyResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsByKeyResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_QueryParamsByKeyResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsByKeyResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryParamsByKeyResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryParamsByKeyResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryParamsByKeyResponse) New() protoreflect.Message { - return new(fastReflection_QueryParamsByKeyResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryParamsByKeyResponse) Interface() protoreflect.ProtoMessage { - return (*QueryParamsByKeyResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_QueryParamsByKeyResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Key != nil { - value := protoreflect.ValueOfMessage(x.Key.ProtoReflect()) - if !f(fd_QueryParamsByKeyResponse_key, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryParamsByKeyResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.QueryParamsByKeyResponse.key": - return x.Key != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsByKeyResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByKeyResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.QueryParamsByKeyResponse.key": - x.Key = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsByKeyResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryParamsByKeyResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.QueryParamsByKeyResponse.key": - value := x.Key + case "did.v1.QueryResolveResponse.document": + value := x.Document return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByKeyResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryResolveResponse")) } - panic(fmt.Errorf("message did.v1.QueryParamsByKeyResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.QueryResolveResponse does not contain field %s", descriptor.FullName())) } } @@ -3102,15 +1846,15 @@ func (x *fastReflection_QueryParamsByKeyResponse) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByKeyResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryResolveResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.QueryParamsByKeyResponse.key": - x.Key = value.Message().Interface().(*KeyInfo) + case "did.v1.QueryResolveResponse.document": + x.Document = value.Message().Interface().(*Document) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByKeyResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryResolveResponse")) } - panic(fmt.Errorf("message did.v1.QueryParamsByKeyResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.QueryResolveResponse does not contain field %s", fd.FullName())) } } @@ -3124,44 +1868,44 @@ func (x *fastReflection_QueryParamsByKeyResponse) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByKeyResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryResolveResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.QueryParamsByKeyResponse.key": - if x.Key == nil { - x.Key = new(KeyInfo) + case "did.v1.QueryResolveResponse.document": + if x.Document == nil { + x.Document = new(Document) } - return protoreflect.ValueOfMessage(x.Key.ProtoReflect()) + return protoreflect.ValueOfMessage(x.Document.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByKeyResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryResolveResponse")) } - panic(fmt.Errorf("message did.v1.QueryParamsByKeyResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.QueryResolveResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryParamsByKeyResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryResolveResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.QueryParamsByKeyResponse.key": - m := new(KeyInfo) + case "did.v1.QueryResolveResponse.document": + m := new(Document) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByKeyResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryResolveResponse")) } - panic(fmt.Errorf("message did.v1.QueryParamsByKeyResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.QueryResolveResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryParamsByKeyResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryResolveResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryParamsByKeyResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryResolveResponse", d.FullName())) } panic("unreachable") } @@ -3169,7 +1913,7 @@ func (x *fastReflection_QueryParamsByKeyResponse) WhichOneof(d protoreflect.Oneo // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryParamsByKeyResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryResolveResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -3180,7 +1924,7 @@ func (x *fastReflection_QueryParamsByKeyResponse) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByKeyResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryResolveResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -3192,7 +1936,7 @@ func (x *fastReflection_QueryParamsByKeyResponse) SetUnknown(fields protoreflect // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryParamsByKeyResponse) IsValid() bool { +func (x *fastReflection_QueryResolveResponse) IsValid() bool { return x != nil } @@ -3202,9 +1946,9 @@ func (x *fastReflection_QueryParamsByKeyResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryResolveResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryParamsByKeyResponse) + x := input.Message.Interface().(*QueryResolveResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3216,8 +1960,8 @@ func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Met var n int var l int _ = l - if x.Key != nil { - l = options.Size(x.Key) + if x.Document != nil { + l = options.Size(x.Document) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -3230,7 +1974,7 @@ func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsByKeyResponse) + x := input.Message.Interface().(*QueryResolveResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3249,8 +1993,8 @@ func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Met i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Key != nil { - encoded, err := options.Marshal(x.Key) + if x.Document != nil { + encoded, err := options.Marshal(x.Document) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3274,7 +2018,7 @@ func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsByKeyResponse) + x := input.Message.Interface().(*QueryResolveResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3306,15 +2050,15 @@ func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsByKeyResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryResolveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsByKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryResolveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Document", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3341,10 +2085,10 @@ func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Key == nil { - x.Key = &KeyInfo{} + if x.Document == nil { + x.Document = &Document{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Key); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Document); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -3384,26 +2128,26 @@ func (x *fastReflection_QueryParamsByKeyResponse) ProtoMethods() *protoiface.Met } var ( - md_QueryParamsByAssetResponse protoreflect.MessageDescriptor - fd_QueryParamsByAssetResponse_asset protoreflect.FieldDescriptor + md_SyncRequest protoreflect.MessageDescriptor + fd_SyncRequest_did protoreflect.FieldDescriptor ) func init() { file_did_v1_query_proto_init() - md_QueryParamsByAssetResponse = File_did_v1_query_proto.Messages().ByName("QueryParamsByAssetResponse") - fd_QueryParamsByAssetResponse_asset = md_QueryParamsByAssetResponse.Fields().ByName("asset") + md_SyncRequest = File_did_v1_query_proto.Messages().ByName("SyncRequest") + fd_SyncRequest_did = md_SyncRequest.Fields().ByName("did") } -var _ protoreflect.Message = (*fastReflection_QueryParamsByAssetResponse)(nil) +var _ protoreflect.Message = (*fastReflection_SyncRequest)(nil) -type fastReflection_QueryParamsByAssetResponse QueryParamsByAssetResponse +type fastReflection_SyncRequest SyncRequest -func (x *QueryParamsByAssetResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryParamsByAssetResponse)(x) +func (x *SyncRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_SyncRequest)(x) } -func (x *QueryParamsByAssetResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_query_proto_msgTypes[6] +func (x *SyncRequest) slowProtoReflect() protoreflect.Message { + mi := &file_did_v1_query_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3414,52 +2158,43 @@ func (x *QueryParamsByAssetResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_QueryParamsByAssetResponse_messageType fastReflection_QueryParamsByAssetResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryParamsByAssetResponse_messageType{} +var _fastReflection_SyncRequest_messageType fastReflection_SyncRequest_messageType +var _ protoreflect.MessageType = fastReflection_SyncRequest_messageType{} -type fastReflection_QueryParamsByAssetResponse_messageType struct{} +type fastReflection_SyncRequest_messageType struct{} -func (x fastReflection_QueryParamsByAssetResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryParamsByAssetResponse)(nil) +func (x fastReflection_SyncRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_SyncRequest)(nil) } -func (x fastReflection_QueryParamsByAssetResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryParamsByAssetResponse) +func (x fastReflection_SyncRequest_messageType) New() protoreflect.Message { + return new(fastReflection_SyncRequest) } -func (x fastReflection_QueryParamsByAssetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsByAssetResponse +func (x fastReflection_SyncRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_SyncRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryParamsByAssetResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryParamsByAssetResponse +func (x *fastReflection_SyncRequest) Descriptor() protoreflect.MessageDescriptor { + return md_SyncRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryParamsByAssetResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryParamsByAssetResponse_messageType +func (x *fastReflection_SyncRequest) Type() protoreflect.MessageType { + return _fastReflection_SyncRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryParamsByAssetResponse) New() protoreflect.Message { - return new(fastReflection_QueryParamsByAssetResponse) -func (x *fastReflection_QueryServiceRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryServiceRequest_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryServiceRequest) New() protoreflect.Message { - return new(fastReflection_QueryServiceRequest) +func (x *fastReflection_SyncRequest) New() protoreflect.Message { + return new(fastReflection_SyncRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryParamsByAssetResponse) Interface() protoreflect.ProtoMessage { - return (*QueryParamsByAssetResponse)(x) -func (x *fastReflection_QueryServiceRequest) Interface() protoreflect.ProtoMessage { - return (*QueryServiceRequest)(x) +func (x *fastReflection_SyncRequest) Interface() protoreflect.ProtoMessage { + return (*SyncRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -3467,14 +2202,10 @@ func (x *fastReflection_QueryServiceRequest) Interface() protoreflect.ProtoMessa // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryParamsByAssetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Asset != nil { - value := protoreflect.ValueOfMessage(x.Asset.ProtoReflect()) - if !f(fd_QueryParamsByAssetResponse_asset, value) { -func (x *fastReflection_QueryServiceRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_QueryServiceRequest_origin, value) { +func (x *fastReflection_SyncRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Did != "" { + value := protoreflect.ValueOfString(x.Did) + if !f(fd_SyncRequest_did, value) { return } } @@ -3491,24 +2222,15 @@ func (x *fastReflection_QueryServiceRequest) Range(f func(protoreflect.FieldDesc // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryParamsByAssetResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_SyncRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.QueryParamsByAssetResponse.asset": - return x.Asset != nil + case "did.v1.SyncRequest.did": + return x.Did != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByAssetResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncRequest")) } - panic(fmt.Errorf("message did.v1.QueryParamsByAssetResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceRequest) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.QueryServiceRequest.origin": - return x.Origin != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceRequest")) - } - panic(fmt.Errorf("message did.v1.QueryServiceRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.SyncRequest does not contain field %s", fd.FullName())) } } @@ -3518,24 +2240,15 @@ func (x *fastReflection_QueryServiceRequest) Has(fd protoreflect.FieldDescriptor // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByAssetResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_SyncRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.QueryParamsByAssetResponse.asset": - x.Asset = nil + case "did.v1.SyncRequest.did": + x.Did = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByAssetResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncRequest")) } - panic(fmt.Errorf("message did.v1.QueryParamsByAssetResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceRequest) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.QueryServiceRequest.origin": - x.Origin = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceRequest")) - } - panic(fmt.Errorf("message did.v1.QueryServiceRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.SyncRequest does not contain field %s", fd.FullName())) } } @@ -3545,26 +2258,16 @@ func (x *fastReflection_QueryServiceRequest) Clear(fd protoreflect.FieldDescript // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryParamsByAssetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_SyncRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.QueryParamsByAssetResponse.asset": - value := x.Asset - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByAssetResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsByAssetResponse does not contain field %s", descriptor.FullName())) -func (x *fastReflection_QueryServiceRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.QueryServiceRequest.origin": - value := x.Origin + case "did.v1.SyncRequest.did": + value := x.Did return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncRequest")) } - panic(fmt.Errorf("message did.v1.QueryServiceRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.SyncRequest does not contain field %s", descriptor.FullName())) } } @@ -3578,24 +2281,15 @@ func (x *fastReflection_QueryServiceRequest) Get(descriptor protoreflect.FieldDe // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByAssetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_SyncRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.QueryParamsByAssetResponse.asset": - x.Asset = value.Message().Interface().(*AssetInfo) + case "did.v1.SyncRequest.did": + x.Did = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByAssetResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncRequest")) } - panic(fmt.Errorf("message did.v1.QueryParamsByAssetResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.QueryServiceRequest.origin": - x.Origin = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceRequest")) - } - panic(fmt.Errorf("message did.v1.QueryServiceRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.SyncRequest does not contain field %s", fd.FullName())) } } @@ -3609,66 +2303,40 @@ func (x *fastReflection_QueryServiceRequest) Set(fd protoreflect.FieldDescriptor // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByAssetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_SyncRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.QueryParamsByAssetResponse.asset": - if x.Asset == nil { - x.Asset = new(AssetInfo) - } - return protoreflect.ValueOfMessage(x.Asset.ProtoReflect()) + case "did.v1.SyncRequest.did": + panic(fmt.Errorf("field did of message did.v1.SyncRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByAssetResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncRequest")) } - panic(fmt.Errorf("message did.v1.QueryParamsByAssetResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryServiceRequest.origin": - panic(fmt.Errorf("field origin of message did.v1.QueryServiceRequest is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceRequest")) - } - panic(fmt.Errorf("message did.v1.QueryServiceRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.SyncRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryParamsByAssetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_SyncRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.QueryParamsByAssetResponse.asset": - m := new(AssetInfo) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryParamsByAssetResponse")) - } - panic(fmt.Errorf("message did.v1.QueryParamsByAssetResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryServiceRequest.origin": + case "did.v1.SyncRequest.did": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncRequest")) } - panic(fmt.Errorf("message did.v1.QueryServiceRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.SyncRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryParamsByAssetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_SyncRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryParamsByAssetResponse", d.FullName())) -func (x *fastReflection_QueryServiceRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryServiceRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.SyncRequest", d.FullName())) } panic("unreachable") } @@ -3676,8 +2344,7 @@ func (x *fastReflection_QueryServiceRequest) WhichOneof(d protoreflect.OneofDesc // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryParamsByAssetResponse) GetUnknown() protoreflect.RawFields { -func (x *fastReflection_QueryServiceRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_SyncRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -3688,8 +2355,7 @@ func (x *fastReflection_QueryServiceRequest) GetUnknown() protoreflect.RawFields // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryParamsByAssetResponse) SetUnknown(fields protoreflect.RawFields) { -func (x *fastReflection_QueryServiceRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_SyncRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -3701,8 +2367,7 @@ func (x *fastReflection_QueryServiceRequest) SetUnknown(fields protoreflect.RawF // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryParamsByAssetResponse) IsValid() bool { -func (x *fastReflection_QueryServiceRequest) IsValid() bool { +func (x *fastReflection_SyncRequest) IsValid() bool { return x != nil } @@ -3712,12 +2377,9 @@ func (x *fastReflection_QueryServiceRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryParamsByAssetResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_SyncRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryParamsByAssetResponse) -func (x *fastReflection_QueryServiceRequest) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryServiceRequest) + x := input.Message.Interface().(*SyncRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3729,9 +2391,7 @@ func (x *fastReflection_QueryServiceRequest) ProtoMethods() *protoiface.Methods var n int var l int _ = l - if x.Asset != nil { - l = options.Size(x.Asset) - l = len(x.Origin) + l = len(x.Did) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -3745,8 +2405,7 @@ func (x *fastReflection_QueryServiceRequest) ProtoMethods() *protoiface.Methods } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsByAssetResponse) - x := input.Message.Interface().(*QueryServiceRequest) + x := input.Message.Interface().(*SyncRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3765,21 +2424,10 @@ func (x *fastReflection_QueryServiceRequest) ProtoMethods() *protoiface.Methods i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Asset != nil { - encoded, err := options.Marshal(x.Asset) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) + if len(x.Did) > 0 { + i -= len(x.Did) + copy(dAtA[i:], x.Did) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Did))) i-- dAtA[i] = 0xa } @@ -3794,8 +2442,7 @@ func (x *fastReflection_QueryServiceRequest) ProtoMethods() *protoiface.Methods }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryParamsByAssetResponse) - x := input.Message.Interface().(*QueryServiceRequest) + x := input.Message.Interface().(*SyncRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3827,620 +2474,15 @@ func (x *fastReflection_QueryServiceRequest) ProtoMethods() *protoiface.Methods fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsByAssetResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SyncRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsByAssetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServiceRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServiceRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SyncRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Asset", wireType) - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Asset == nil { - x.Asset = &AssetInfo{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Asset); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - x.Origin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_QueryRegistrationOptionsByKeyResponse_1_list)(nil) - -type _QueryRegistrationOptionsByKeyResponse_1_list struct { - list *[]string -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message QueryRegistrationOptionsByKeyResponse at list field RegistrationOptions as it is not of Message kind")) -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_QueryRegistrationOptionsByKeyResponse_1_list) IsValid() bool { - return x.list != nil -} - -var ( - md_QueryRegistrationOptionsByKeyResponse protoreflect.MessageDescriptor - fd_QueryRegistrationOptionsByKeyResponse_registration_options protoreflect.FieldDescriptor - md_QueryServiceResponse protoreflect.MessageDescriptor - fd_QueryServiceResponse_options protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_query_proto_init() - md_QueryRegistrationOptionsByKeyResponse = File_did_v1_query_proto.Messages().ByName("QueryRegistrationOptionsByKeyResponse") - fd_QueryRegistrationOptionsByKeyResponse_registration_options = md_QueryRegistrationOptionsByKeyResponse.Fields().ByName("registration_options") -} - -var _ protoreflect.Message = (*fastReflection_QueryRegistrationOptionsByKeyResponse)(nil) - -type fastReflection_QueryRegistrationOptionsByKeyResponse QueryRegistrationOptionsByKeyResponse - -func (x *QueryRegistrationOptionsByKeyResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryRegistrationOptionsByKeyResponse)(x) -} - -func (x *QueryRegistrationOptionsByKeyResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_query_proto_msgTypes[7] - md_QueryServiceResponse = File_did_v1_query_proto.Messages().ByName("QueryServiceResponse") - fd_QueryServiceResponse_options = md_QueryServiceResponse.Fields().ByName("options") -} - -var _ protoreflect.Message = (*fastReflection_QueryServiceResponse)(nil) - -type fastReflection_QueryServiceResponse QueryServiceResponse - -func (x *QueryServiceResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryServiceResponse)(x) -} - -func (x *QueryServiceResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_query_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) -} - -var _fastReflection_QueryRegistrationOptionsByKeyResponse_messageType fastReflection_QueryRegistrationOptionsByKeyResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryRegistrationOptionsByKeyResponse_messageType{} - -type fastReflection_QueryRegistrationOptionsByKeyResponse_messageType struct{} - -func (x fastReflection_QueryRegistrationOptionsByKeyResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryRegistrationOptionsByKeyResponse)(nil) -} -func (x fastReflection_QueryRegistrationOptionsByKeyResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryRegistrationOptionsByKeyResponse) -} -func (x fastReflection_QueryRegistrationOptionsByKeyResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryRegistrationOptionsByKeyResponse -var _fastReflection_QueryServiceResponse_messageType fastReflection_QueryServiceResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryServiceResponse_messageType{} - -type fastReflection_QueryServiceResponse_messageType struct{} - -func (x fastReflection_QueryServiceResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryServiceResponse)(nil) -} -func (x fastReflection_QueryServiceResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryServiceResponse) -} -func (x fastReflection_QueryServiceResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryServiceResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryRegistrationOptionsByKeyResponse -func (x *fastReflection_QueryServiceResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryServiceResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryRegistrationOptionsByKeyResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) New() protoreflect.Message { - return new(fastReflection_QueryRegistrationOptionsByKeyResponse) -func (x *fastReflection_QueryServiceResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryServiceResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryServiceResponse) New() protoreflect.Message { - return new(fastReflection_QueryServiceResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Interface() protoreflect.ProtoMessage { - return (*QueryRegistrationOptionsByKeyResponse)(x) -func (x *fastReflection_QueryServiceResponse) Interface() protoreflect.ProtoMessage { - return (*QueryServiceResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.RegistrationOptions) != 0 { - value := protoreflect.ValueOfList(&_QueryRegistrationOptionsByKeyResponse_1_list{list: &x.RegistrationOptions}) - if !f(fd_QueryRegistrationOptionsByKeyResponse_registration_options, value) { -func (x *fastReflection_QueryServiceResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Options != "" { - value := protoreflect.ValueOfString(x.Options) - if !f(fd_QueryServiceResponse_options, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.QueryRegistrationOptionsByKeyResponse.registration_options": - return len(x.RegistrationOptions) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryRegistrationOptionsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryRegistrationOptionsByKeyResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.QueryServiceResponse.options": - return x.Options != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceResponse")) - } - panic(fmt.Errorf("message did.v1.QueryServiceResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.QueryRegistrationOptionsByKeyResponse.registration_options": - x.RegistrationOptions = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryRegistrationOptionsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryRegistrationOptionsByKeyResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.QueryServiceResponse.options": - x.Options = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceResponse")) - } - panic(fmt.Errorf("message did.v1.QueryServiceResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.QueryRegistrationOptionsByKeyResponse.registration_options": - if len(x.RegistrationOptions) == 0 { - return protoreflect.ValueOfList(&_QueryRegistrationOptionsByKeyResponse_1_list{}) - } - listValue := &_QueryRegistrationOptionsByKeyResponse_1_list{list: &x.RegistrationOptions} - return protoreflect.ValueOfList(listValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryRegistrationOptionsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryRegistrationOptionsByKeyResponse does not contain field %s", descriptor.FullName())) -func (x *fastReflection_QueryServiceResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.QueryServiceResponse.options": - value := x.Options - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceResponse")) - } - panic(fmt.Errorf("message did.v1.QueryServiceResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.QueryRegistrationOptionsByKeyResponse.registration_options": - lv := value.List() - clv := lv.(*_QueryRegistrationOptionsByKeyResponse_1_list) - x.RegistrationOptions = *clv.list - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryRegistrationOptionsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryRegistrationOptionsByKeyResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.QueryServiceResponse.options": - x.Options = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceResponse")) - } - panic(fmt.Errorf("message did.v1.QueryServiceResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryRegistrationOptionsByKeyResponse.registration_options": - if x.RegistrationOptions == nil { - x.RegistrationOptions = []string{} - } - value := &_QueryRegistrationOptionsByKeyResponse_1_list{list: &x.RegistrationOptions} - return protoreflect.ValueOfList(value) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryRegistrationOptionsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryRegistrationOptionsByKeyResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryServiceResponse.options": - panic(fmt.Errorf("field options of message did.v1.QueryServiceResponse is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceResponse")) - } - panic(fmt.Errorf("message did.v1.QueryServiceResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryRegistrationOptionsByKeyResponse.registration_options": - list := []string{} - return protoreflect.ValueOfList(&_QueryRegistrationOptionsByKeyResponse_1_list{list: &list}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryRegistrationOptionsByKeyResponse")) - } - panic(fmt.Errorf("message did.v1.QueryRegistrationOptionsByKeyResponse does not contain field %s", fd.FullName())) -func (x *fastReflection_QueryServiceResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.QueryServiceResponse.options": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.QueryServiceResponse")) - } - panic(fmt.Errorf("message did.v1.QueryServiceResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryRegistrationOptionsByKeyResponse", d.FullName())) -func (x *fastReflection_QueryServiceResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.QueryServiceResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) GetUnknown() protoreflect.RawFields { -func (x *fastReflection_QueryServiceResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) SetUnknown(fields protoreflect.RawFields) { -func (x *fastReflection_QueryServiceResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) IsValid() bool { -func (x *fastReflection_QueryServiceResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_QueryRegistrationOptionsByKeyResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryRegistrationOptionsByKeyResponse) -func (x *fastReflection_QueryServiceResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryServiceResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if len(x.RegistrationOptions) > 0 { - for _, s := range x.RegistrationOptions { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryRegistrationOptionsByKeyResponse) - x := input.Message.Interface().(*QueryServiceResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.RegistrationOptions) > 0 { - for iNdEx := len(x.RegistrationOptions) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.RegistrationOptions[iNdEx]) - copy(dAtA[i:], x.RegistrationOptions[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RegistrationOptions[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryRegistrationOptionsByKeyResponse) - x := input.Message.Interface().(*QueryServiceResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryRegistrationOptionsByKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryRegistrationOptionsByKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServiceResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServiceResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RegistrationOptions", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Did", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4468,7 +2510,7 @@ func (x *fastReflection_QueryServiceResponse) ProtoMethods() *protoiface.Methods if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.RegistrationOptions = append(x.RegistrationOptions, string(dAtA[iNdEx:postIndex])) + x.Did = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -4505,6 +2547,416 @@ func (x *fastReflection_QueryServiceResponse) ProtoMethods() *protoiface.Methods } } +var ( + md_SyncResponse protoreflect.MessageDescriptor + fd_SyncResponse_success protoreflect.FieldDescriptor +) + +func init() { + file_did_v1_query_proto_init() + md_SyncResponse = File_did_v1_query_proto.Messages().ByName("SyncResponse") + fd_SyncResponse_success = md_SyncResponse.Fields().ByName("success") +} + +var _ protoreflect.Message = (*fastReflection_SyncResponse)(nil) + +type fastReflection_SyncResponse SyncResponse + +func (x *SyncResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_SyncResponse)(x) +} + +func (x *SyncResponse) slowProtoReflect() protoreflect.Message { + mi := &file_did_v1_query_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) +} + +var _fastReflection_SyncResponse_messageType fastReflection_SyncResponse_messageType +var _ protoreflect.MessageType = fastReflection_SyncResponse_messageType{} + +type fastReflection_SyncResponse_messageType struct{} + +func (x fastReflection_SyncResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_SyncResponse)(nil) +} +func (x fastReflection_SyncResponse_messageType) New() protoreflect.Message { + return new(fastReflection_SyncResponse) +} +func (x fastReflection_SyncResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_SyncResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_SyncResponse) Descriptor() protoreflect.MessageDescriptor { + return md_SyncResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_SyncResponse) Type() protoreflect.MessageType { + return _fastReflection_SyncResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_SyncResponse) New() protoreflect.Message { + return new(fastReflection_SyncResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_SyncResponse) Interface() protoreflect.ProtoMessage { + return (*SyncResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_SyncResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Success != false { + value := protoreflect.ValueOfBool(x.Success) + if !f(fd_SyncResponse_success, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_SyncResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "did.v1.SyncResponse.success": + return x.Success != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncResponse")) + } + panic(fmt.Errorf("message did.v1.SyncResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SyncResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "did.v1.SyncResponse.success": + x.Success = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncResponse")) + } + panic(fmt.Errorf("message did.v1.SyncResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_SyncResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "did.v1.SyncResponse.success": + value := x.Success + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncResponse")) + } + panic(fmt.Errorf("message did.v1.SyncResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SyncResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "did.v1.SyncResponse.success": + x.Success = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncResponse")) + } + panic(fmt.Errorf("message did.v1.SyncResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SyncResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "did.v1.SyncResponse.success": + panic(fmt.Errorf("field success of message did.v1.SyncResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncResponse")) + } + panic(fmt.Errorf("message did.v1.SyncResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_SyncResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "did.v1.SyncResponse.success": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.SyncResponse")) + } + panic(fmt.Errorf("message did.v1.SyncResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_SyncResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in did.v1.SyncResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_SyncResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SyncResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_SyncResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_SyncResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*SyncResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Success { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*SyncResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Success { + i-- + if x.Success { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*SyncResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SyncResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SyncResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Success = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -4584,11 +3036,10 @@ type QueryResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` - Document *Document `protobuf:"bytes,3,opt,name=document,proto3" json:"document,omitempty"` - Service *ServiceInfo `protobuf:"bytes,4,opt,name=service,proto3" json:"service,omitempty"` - Params *Params `protobuf:"bytes,5,opt,name=params,proto3" json:"params,omitempty"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + Document *Document `protobuf:"bytes,3,opt,name=document,proto3" json:"document,omitempty"` + Params *Params `protobuf:"bytes,5,opt,name=params,proto3" json:"params,omitempty"` } func (x *QueryResponse) Reset() { @@ -4632,13 +3083,6 @@ func (x *QueryResponse) GetDocument() *Document { return nil } -func (x *QueryResponse) GetService() *ServiceInfo { - if x != nil { - return x.Service - } - return nil -} - func (x *QueryResponse) GetParams() *Params { if x != nil { return x.Params @@ -4652,6 +3096,7 @@ type QueryParamsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // params defines the parameters of the module. Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` } @@ -4682,59 +3127,18 @@ func (x *QueryParamsResponse) GetParams() *Params { return nil } -type QueryParamsAssetsResponse struct { -// QueryAccountsRequest is the request type for the Query/Exists RPC method. -type QueryAccountsRequest struct { +// QueryResolveResponse is the response type for the Query/Resolve RPC method. +type QueryResolveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Assets []*AssetInfo `protobuf:"bytes,1,rep,name=assets,proto3" json:"assets,omitempty"` + // document is the DID document + Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"` } -func (x *QueryParamsAssetsResponse) Reset() { - *x = QueryParamsAssetsResponse{} - Did string `protobuf:"bytes,1,opt,name=did,proto3" json:"did,omitempty"` -} - -func (x *QueryAccountsRequest) Reset() { - *x = QueryAccountsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_query_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryAccountsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryAccountsRequest) ProtoMessage() {} - -// Deprecated: Use QueryAccountsRequest.ProtoReflect.Descriptor instead. -func (*QueryAccountsRequest) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{2} -} - -func (x *QueryAccountsRequest) GetDid() string { - if x != nil { - return x.Did - } - return "" -} - -// QueryAccountsResponse is the response type for the Query/Exists RPC method. -type QueryAccountsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` -} - -func (x *QueryAccountsResponse) Reset() { - *x = QueryAccountsResponse{} +func (x *QueryResolveResponse) Reset() { + *x = QueryResolveResponse{} if protoimpl.UnsafeEnabled { mi := &file_did_v1_query_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4742,49 +3146,35 @@ func (x *QueryAccountsResponse) Reset() { } } -func (x *QueryParamsAssetsResponse) String() string { +func (x *QueryResolveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryParamsAssetsResponse) ProtoMessage() {} +func (*QueryResolveResponse) ProtoMessage() {} -// Deprecated: Use QueryParamsAssetsResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsAssetsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use QueryResolveResponse.ProtoReflect.Descriptor instead. +func (*QueryResolveResponse) Descriptor() ([]byte, []int) { return file_did_v1_query_proto_rawDescGZIP(), []int{3} } -func (x *QueryParamsAssetsResponse) GetAssets() []*AssetInfo { -func (x *QueryAccountsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryAccountsResponse) ProtoMessage() {} - -// Deprecated: Use QueryAccountsResponse.ProtoReflect.Descriptor instead. -func (*QueryAccountsResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{3} -} - -func (x *QueryAccountsResponse) GetExists() bool { +func (x *QueryResolveResponse) GetDocument() *Document { if x != nil { - return x.Assets + return x.Document } return nil } -type QueryParamsKeysResponse struct { -// QueryCredentialsRequest is the request type for the Query/Exists RPC method. -type QueryCredentialsRequest struct { +// SyncRequest is the request type for the Sync RPC method. +type SyncRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Did string `protobuf:"bytes,1,opt,name=did,proto3" json:"did,omitempty"` - Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` + Did string `protobuf:"bytes,1,opt,name=did,proto3" json:"did,omitempty"` } -func (x *QueryCredentialsRequest) Reset() { - *x = QueryCredentialsRequest{} +func (x *SyncRequest) Reset() { + *x = SyncRequest{} if protoimpl.UnsafeEnabled { mi := &file_did_v1_query_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4792,42 +3182,35 @@ func (x *QueryCredentialsRequest) Reset() { } } -func (x *QueryCredentialsRequest) String() string { +func (x *SyncRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryCredentialsRequest) ProtoMessage() {} +func (*SyncRequest) ProtoMessage() {} -// Deprecated: Use QueryCredentialsRequest.ProtoReflect.Descriptor instead. -func (*QueryCredentialsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SyncRequest.ProtoReflect.Descriptor instead. +func (*SyncRequest) Descriptor() ([]byte, []int) { return file_did_v1_query_proto_rawDescGZIP(), []int{4} } -func (x *QueryCredentialsRequest) GetDid() string { +func (x *SyncRequest) GetDid() string { if x != nil { return x.Did } return "" } -func (x *QueryCredentialsRequest) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -// QueryCredentialsResponse is the response type for the Query/Exists RPC method. -type QueryCredentialsResponse struct { +// SyncResponse is the response type for the Sync RPC method. +type SyncResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Credentials map[string][]byte `protobuf:"bytes,1,rep,name=credentials,proto3" json:"credentials,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` } -func (x *QueryCredentialsResponse) Reset() { - *x = QueryCredentialsResponse{} +func (x *SyncResponse) Reset() { + *x = SyncResponse{} if protoimpl.UnsafeEnabled { mi := &file_did_v1_query_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4835,517 +3218,84 @@ func (x *QueryCredentialsResponse) Reset() { } } -func (x *QueryCredentialsResponse) String() string { +func (x *SyncResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryCredentialsResponse) ProtoMessage() {} +func (*SyncResponse) ProtoMessage() {} -// Deprecated: Use QueryCredentialsResponse.ProtoReflect.Descriptor instead. -func (*QueryCredentialsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use SyncResponse.ProtoReflect.Descriptor instead. +func (*SyncResponse) Descriptor() ([]byte, []int) { return file_did_v1_query_proto_rawDescGZIP(), []int{5} } -func (x *QueryCredentialsResponse) GetCredentials() map[string][]byte { +func (x *SyncResponse) GetSuccess() bool { if x != nil { - return x.Credentials - } - return nil -} - -// QueryIdentitiesRequest is the request type for the Query/Exists RPC method. -type QueryIdentitiesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Did string `protobuf:"bytes,1,opt,name=did,proto3" json:"did,omitempty"` -} - -func (x *QueryIdentitiesRequest) Reset() { - *x = QueryIdentitiesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_query_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryIdentitiesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryIdentitiesRequest) ProtoMessage() {} - -// Deprecated: Use QueryIdentitiesRequest.ProtoReflect.Descriptor instead. -func (*QueryIdentitiesRequest) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{6} -} - -func (x *QueryIdentitiesRequest) GetDid() string { - if x != nil { - return x.Did - } - return "" -} - -// QueryIdentitiesResponse is the response type for the Query/Exists RPC method. -type QueryIdentitiesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` - VerificationMethod []*VerificationMethod `protobuf:"bytes,2,rep,name=verificationMethod,proto3" json:"verificationMethod,omitempty"` -} - -func (x *QueryIdentitiesResponse) Reset() { - *x = QueryIdentitiesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_query_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryIdentitiesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryIdentitiesResponse) ProtoMessage() {} - -// Deprecated: Use QueryIdentitiesResponse.ProtoReflect.Descriptor instead. -func (*QueryIdentitiesResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{7} -} - -func (x *QueryIdentitiesResponse) GetExists() bool { - if x != nil { - return x.Exists + return x.Success } return false } -func (x *QueryIdentitiesResponse) GetVerificationMethod() []*VerificationMethod { - if x != nil { - return x.VerificationMethod - } - return nil -} - -// QueryResolveRequest is the request type for the Query/Resolve RPC method. -type QueryResolveRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Keys map[string]*KeyInfo `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Did string `protobuf:"bytes,1,opt,name=did,proto3" json:"did,omitempty"` -} - -func (x *QueryParamsKeysResponse) Reset() { - *x = QueryParamsKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_query_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryParamsKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryParamsKeysResponse) ProtoMessage() {} - -// Deprecated: Use QueryParamsKeysResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsKeysResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{4} -} - -func (x *QueryParamsKeysResponse) GetKeys() map[string]*KeyInfo { - if x != nil { - return x.Keys -// Deprecated: Use QueryResolveRequest.ProtoReflect.Descriptor instead. -func (*QueryResolveRequest) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{8} -} - -func (x *QueryResolveRequest) GetDid() string { - if x != nil { - return x.Did - } - return nil -} - -type QueryParamsByKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *KeyInfo `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // document is the DID document - Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"` -} - -func (x *QueryParamsByKeyResponse) Reset() { - *x = QueryParamsByKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_query_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryParamsByKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryParamsByKeyResponse) ProtoMessage() {} - -// Deprecated: Use QueryParamsByKeyResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsByKeyResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{5} -} - -func (x *QueryParamsByKeyResponse) GetKey() *KeyInfo { -// Deprecated: Use QueryResolveResponse.ProtoReflect.Descriptor instead. -func (*QueryResolveResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{9} -} - -func (x *QueryResolveResponse) GetDocument() *Document { - if x != nil { - return x.Key - } - return nil -} - -type QueryParamsByAssetResponse struct { -// QueryServiceRequest is the request type for the Query/LoginOptions RPC method. -type QueryServiceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Asset *AssetInfo `protobuf:"bytes,1,opt,name=asset,proto3" json:"asset,omitempty"` -} - -func (x *QueryParamsByAssetResponse) Reset() { - *x = QueryParamsByAssetResponse{} - Origin string `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"` -} - -func (x *QueryServiceRequest) Reset() { - *x = QueryServiceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_query_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryParamsByAssetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryParamsByAssetResponse) ProtoMessage() {} - -// Deprecated: Use QueryParamsByAssetResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsByAssetResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{6} -} - -func (x *QueryParamsByAssetResponse) GetAsset() *AssetInfo { - if x != nil { - return x.Asset -func (x *QueryServiceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryServiceRequest) ProtoMessage() {} - -// Deprecated: Use QueryServiceRequest.ProtoReflect.Descriptor instead. -func (*QueryServiceRequest) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{10} -} - -func (x *QueryServiceRequest) GetOrigin() string { - if x != nil { - return x.Origin - } - return nil -} - -type QueryRegistrationOptionsByKeyResponse struct { -// QueryLoginOptionsResponse is the response type for the Query/LoginOptions RPC method. -type QueryServiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RegistrationOptions []string `protobuf:"bytes,1,rep,name=registration_options,json=registrationOptions,proto3" json:"registration_options,omitempty"` -} - -func (x *QueryRegistrationOptionsByKeyResponse) Reset() { - *x = QueryRegistrationOptionsByKeyResponse{} -func (x *QueryServiceResponse) Reset() { - *x = QueryServiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_query_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryRegistrationOptionsByKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryRegistrationOptionsByKeyResponse) ProtoMessage() {} - -// Deprecated: Use QueryRegistrationOptionsByKeyResponse.ProtoReflect.Descriptor instead. -func (*QueryRegistrationOptionsByKeyResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{7} -} - -func (x *QueryRegistrationOptionsByKeyResponse) GetRegistrationOptions() []string { -func (x *QueryServiceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryServiceResponse) ProtoMessage() {} - -// Deprecated: Use QueryServiceResponse.ProtoReflect.Descriptor instead. -func (*QueryServiceResponse) Descriptor() ([]byte, []int) { - return file_did_v1_query_proto_rawDescGZIP(), []int{11} -} - -func (x *QueryServiceResponse) GetOptions() string { - if x != nil { - return x.RegistrationOptions - } - return nil -} - var File_did_v1_query_proto protoreflect.FileDescriptor var file_did_v1_query_proto_rawDesc = []byte{ 0x0a, 0x12, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x14, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x13, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x3d, - 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x46, 0x0a, - 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, - 0x1a, 0x48, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x18, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x45, 0x0a, 0x1a, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x22, 0x5a, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0xc2, 0x05, 0x0a, - 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x0f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x09, 0x12, 0x07, 0x2f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0x53, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x12, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x0d, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x14, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, - 0x16, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, - 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x7d, 0x12, 0x4f, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x56, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, - 0x12, 0x70, 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x21, 0x12, 0x1f, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, - 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x12, 0x14, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x7b, 0x64, 0x69, 0x64, 0x7d, 0x12, 0x51, - 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x15, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, - 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x7b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x7d, 0x42, 0x7a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, - 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, - 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, - 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, - 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, - 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x64, 0x69, 0x64, 0x2f, - 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x12, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x13, 0x51, 0x75, + 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x60, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x3d, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x28, 0x0a, 0x14, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x64, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x22, 0x43, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xaf, 0x01, 0x0a, 0x18, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x0c, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2a, 0x0a, 0x16, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x76, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, 0x22, - 0x44, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x22, 0x30, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0xf5, 0x04, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x56, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x64, 0x69, - 0x64, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x64, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x64, 0x69, 0x64, 0x2f, - 0x7b, 0x64, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x79, - 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1f, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x7b, - 0x64, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x7d, 0x2f, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x6c, 0x0a, 0x0a, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, - 0x12, 0x15, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x7b, 0x64, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x12, 0x1b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x2f, 0x7b, 0x64, 0x69, 0x64, 0x7d, 0x12, 0x63, 0x0a, 0x07, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x7b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x7d, 0x42, 0x7a, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x68, 0x77, - 0x61, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, - 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, - 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0x1f, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, + 0x22, 0x28, 0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x32, 0xea, 0x01, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x14, + 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x0f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x09, 0x12, 0x07, 0x2f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x51, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x12, 0x14, 0x2e, + 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x64, 0x69, 0x64, 0x2f, + 0x7b, 0x64, 0x69, 0x64, 0x7d, 0x12, 0x40, 0x0a, 0x04, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x13, 0x2e, + 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x07, + 0x22, 0x05, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x7a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, + 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, + 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, + 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5360,95 +3310,33 @@ func file_did_v1_query_proto_rawDescGZIP() []byte { return file_did_v1_query_proto_rawDescData } -var file_did_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_did_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_did_v1_query_proto_goTypes = []interface{}{ - (*QueryRequest)(nil), // 0: did.v1.QueryRequest - (*QueryResponse)(nil), // 1: did.v1.QueryResponse - (*QueryParamsResponse)(nil), // 2: did.v1.QueryParamsResponse - (*QueryParamsAssetsResponse)(nil), // 3: did.v1.QueryParamsAssetsResponse - (*QueryParamsKeysResponse)(nil), // 4: did.v1.QueryParamsKeysResponse - (*QueryParamsByKeyResponse)(nil), // 5: did.v1.QueryParamsByKeyResponse - (*QueryParamsByAssetResponse)(nil), // 6: did.v1.QueryParamsByAssetResponse - (*QueryRegistrationOptionsByKeyResponse)(nil), // 7: did.v1.QueryRegistrationOptionsByKeyResponse - nil, // 8: did.v1.QueryParamsKeysResponse.KeysEntry - (*Document)(nil), // 9: did.v1.Document - (*ServiceInfo)(nil), // 10: did.v1.ServiceInfo - (*Params)(nil), // 11: did.v1.Params - (*AssetInfo)(nil), // 12: did.v1.AssetInfo - (*KeyInfo)(nil), // 13: did.v1.KeyInfo + (*QueryRequest)(nil), // 0: did.v1.QueryRequest + (*QueryResponse)(nil), // 1: did.v1.QueryResponse + (*QueryParamsResponse)(nil), // 2: did.v1.QueryParamsResponse + (*QueryResolveResponse)(nil), // 3: did.v1.QueryResolveResponse + (*SyncRequest)(nil), // 4: did.v1.SyncRequest + (*SyncResponse)(nil), // 5: did.v1.SyncResponse + (*Document)(nil), // 6: did.v1.Document + (*Params)(nil), // 7: did.v1.Params } var file_did_v1_query_proto_depIdxs = []int32{ - 9, // 0: did.v1.QueryResponse.document:type_name -> did.v1.Document - 10, // 1: did.v1.QueryResponse.service:type_name -> did.v1.ServiceInfo - 11, // 2: did.v1.QueryResponse.params:type_name -> did.v1.Params - 11, // 3: did.v1.QueryParamsResponse.params:type_name -> did.v1.Params - 12, // 4: did.v1.QueryParamsAssetsResponse.assets:type_name -> did.v1.AssetInfo - 8, // 5: did.v1.QueryParamsKeysResponse.keys:type_name -> did.v1.QueryParamsKeysResponse.KeysEntry - 13, // 6: did.v1.QueryParamsByKeyResponse.key:type_name -> did.v1.KeyInfo - 12, // 7: did.v1.QueryParamsByAssetResponse.asset:type_name -> did.v1.AssetInfo - 13, // 8: did.v1.QueryParamsKeysResponse.KeysEntry.value:type_name -> did.v1.KeyInfo - 0, // 9: did.v1.Query.Params:input_type -> did.v1.QueryRequest - 0, // 10: did.v1.Query.ParamsAssets:input_type -> did.v1.QueryRequest - 0, // 11: did.v1.Query.ParamsByAsset:input_type -> did.v1.QueryRequest - 0, // 12: did.v1.Query.ParamsKeys:input_type -> did.v1.QueryRequest - 0, // 13: did.v1.Query.ParamsByKey:input_type -> did.v1.QueryRequest - 0, // 14: did.v1.Query.RegistrationOptionsByKey:input_type -> did.v1.QueryRequest - 0, // 15: did.v1.Query.Resolve:input_type -> did.v1.QueryRequest - 0, // 16: did.v1.Query.Service:input_type -> did.v1.QueryRequest - 2, // 17: did.v1.Query.Params:output_type -> did.v1.QueryParamsResponse - 1, // 18: did.v1.Query.ParamsAssets:output_type -> did.v1.QueryResponse - 1, // 19: did.v1.Query.ParamsByAsset:output_type -> did.v1.QueryResponse - 1, // 20: did.v1.Query.ParamsKeys:output_type -> did.v1.QueryResponse - 1, // 21: did.v1.Query.ParamsByKey:output_type -> did.v1.QueryResponse - 1, // 22: did.v1.Query.RegistrationOptionsByKey:output_type -> did.v1.QueryResponse - 1, // 23: did.v1.Query.Resolve:output_type -> did.v1.QueryResponse - 1, // 24: did.v1.Query.Service:output_type -> did.v1.QueryResponse - 17, // [17:25] is the sub-list for method output_type - 9, // [9:17] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name -var file_did_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_did_v1_query_proto_goTypes = []interface{}{ - (*QueryParamsRequest)(nil), // 0: did.v1.QueryParamsRequest - (*QueryParamsResponse)(nil), // 1: did.v1.QueryParamsResponse - (*QueryAccountsRequest)(nil), // 2: did.v1.QueryAccountsRequest - (*QueryAccountsResponse)(nil), // 3: did.v1.QueryAccountsResponse - (*QueryCredentialsRequest)(nil), // 4: did.v1.QueryCredentialsRequest - (*QueryCredentialsResponse)(nil), // 5: did.v1.QueryCredentialsResponse - (*QueryIdentitiesRequest)(nil), // 6: did.v1.QueryIdentitiesRequest - (*QueryIdentitiesResponse)(nil), // 7: did.v1.QueryIdentitiesResponse - (*QueryResolveRequest)(nil), // 8: did.v1.QueryResolveRequest - (*QueryResolveResponse)(nil), // 9: did.v1.QueryResolveResponse - (*QueryServiceRequest)(nil), // 10: did.v1.QueryServiceRequest - (*QueryServiceResponse)(nil), // 11: did.v1.QueryServiceResponse - nil, // 12: did.v1.QueryCredentialsResponse.CredentialsEntry - (*Params)(nil), // 13: did.v1.Params - (*VerificationMethod)(nil), // 14: did.v1.VerificationMethod - (*Document)(nil), // 15: did.v1.Document -} -var file_did_v1_query_proto_depIdxs = []int32{ - 13, // 0: did.v1.QueryParamsResponse.params:type_name -> did.v1.Params - 12, // 1: did.v1.QueryCredentialsResponse.credentials:type_name -> did.v1.QueryCredentialsResponse.CredentialsEntry - 14, // 2: did.v1.QueryIdentitiesResponse.verificationMethod:type_name -> did.v1.VerificationMethod - 15, // 3: did.v1.QueryResolveResponse.document:type_name -> did.v1.Document - 0, // 4: did.v1.Query.Params:input_type -> did.v1.QueryParamsRequest - 2, // 5: did.v1.Query.Accounts:input_type -> did.v1.QueryAccountsRequest - 4, // 6: did.v1.Query.Credentials:input_type -> did.v1.QueryCredentialsRequest - 6, // 7: did.v1.Query.Identities:input_type -> did.v1.QueryIdentitiesRequest - 8, // 8: did.v1.Query.Resolve:input_type -> did.v1.QueryResolveRequest - 10, // 9: did.v1.Query.Service:input_type -> did.v1.QueryServiceRequest - 1, // 10: did.v1.Query.Params:output_type -> did.v1.QueryParamsResponse - 3, // 11: did.v1.Query.Accounts:output_type -> did.v1.QueryAccountsResponse - 5, // 12: did.v1.Query.Credentials:output_type -> did.v1.QueryCredentialsResponse - 7, // 13: did.v1.Query.Identities:output_type -> did.v1.QueryIdentitiesResponse - 9, // 14: did.v1.Query.Resolve:output_type -> did.v1.QueryResolveResponse - 11, // 15: did.v1.Query.Service:output_type -> did.v1.QueryServiceResponse - 10, // [10:16] is the sub-list for method output_type - 4, // [4:10] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 6, // 0: did.v1.QueryResponse.document:type_name -> did.v1.Document + 7, // 1: did.v1.QueryResponse.params:type_name -> did.v1.Params + 7, // 2: did.v1.QueryParamsResponse.params:type_name -> did.v1.Params + 6, // 3: did.v1.QueryResolveResponse.document:type_name -> did.v1.Document + 0, // 4: did.v1.Query.Params:input_type -> did.v1.QueryRequest + 0, // 5: did.v1.Query.Resolve:input_type -> did.v1.QueryRequest + 4, // 6: did.v1.Query.Sync:input_type -> did.v1.SyncRequest + 2, // 7: did.v1.Query.Params:output_type -> did.v1.QueryParamsResponse + 3, // 8: did.v1.Query.Resolve:output_type -> did.v1.QueryResolveResponse + 5, // 9: did.v1.Query.Sync:output_type -> did.v1.SyncResponse + 7, // [7:10] is the sub-list for method output_type + 4, // [4:7] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_did_v1_query_proto_init() } @@ -5457,8 +3345,6 @@ func file_did_v1_query_proto_init() { return } file_did_v1_genesis_proto_init() - file_did_v1_models_proto_init() - file_did_v1_types_proto_init() if !protoimpl.UnsafeEnabled { file_did_v1_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryRequest); i { @@ -5486,7 +3372,6 @@ func file_did_v1_query_proto_init() { } file_did_v1_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsResponse); i { - switch v := v.(*QueryAccountsRequest); i { case 0: return &v.state case 1: @@ -5498,83 +3383,6 @@ func file_did_v1_query_proto_init() { } } file_did_v1_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryParamsAssetsResponse); i { - switch v := v.(*QueryAccountsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryParamsKeysResponse); i { - switch v := v.(*QueryCredentialsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryParamsByKeyResponse); i { - switch v := v.(*QueryCredentialsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryParamsByAssetResponse); i { - switch v := v.(*QueryIdentitiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryRegistrationOptionsByKeyResponse); i { - switch v := v.(*QueryIdentitiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryResolveRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryResolveResponse); i { case 0: return &v.state @@ -5586,8 +3394,8 @@ func file_did_v1_query_proto_init() { return nil } } - file_did_v1_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryServiceRequest); i { + file_did_v1_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncRequest); i { case 0: return &v.state case 1: @@ -5598,8 +3406,8 @@ func file_did_v1_query_proto_init() { return nil } } - file_did_v1_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryServiceResponse); i { + file_did_v1_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncResponse); i { case 0: return &v.state case 1: @@ -5617,8 +3425,7 @@ func file_did_v1_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_did_v1_query_proto_rawDesc, NumEnums: 0, - NumMessages: 9, - NumMessages: 13, + NumMessages: 6, NumExtensions: 0, NumServices: 1, }, diff --git a/api/did/v1/query_grpc.pb.go b/api/did/v1/query_grpc.pb.go index 553f71c68..77258f332 100644 --- a/api/did/v1/query_grpc.pb.go +++ b/api/did/v1/query_grpc.pb.go @@ -19,14 +19,9 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Query_Params_FullMethodName = "/did.v1.Query/Params" - Query_ParamsAssets_FullMethodName = "/did.v1.Query/ParamsAssets" - Query_ParamsByAsset_FullMethodName = "/did.v1.Query/ParamsByAsset" - Query_ParamsKeys_FullMethodName = "/did.v1.Query/ParamsKeys" - Query_ParamsByKey_FullMethodName = "/did.v1.Query/ParamsByKey" - Query_RegistrationOptionsByKey_FullMethodName = "/did.v1.Query/RegistrationOptionsByKey" - Query_Resolve_FullMethodName = "/did.v1.Query/Resolve" - Query_Service_FullMethodName = "/did.v1.Query/Service" + Query_Params_FullMethodName = "/did.v1.Query/Params" + Query_Resolve_FullMethodName = "/did.v1.Query/Resolve" + Query_Sync_FullMethodName = "/did.v1.Query/Sync" ) // QueryClient is the client API for Query service. @@ -35,22 +30,10 @@ const ( type QueryClient interface { // Params queries all parameters of the module. Params(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) - // ParamsAssets queries all parameters of the module. - ParamsAssets(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) - // Params queries all parameters of the module. - ParamsByAsset(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) - // ParamsKeys queries all parameters of the module. - ParamsKeys(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) - // Params queries all parameters of the module. - ParamsByKey(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) - // Params queries all parameters of the module. - RegistrationOptionsByKey(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) // Resolve queries the DID document by its id. - Resolve(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) - // Service returns associated ServiceInfo for a given Origin - // if the servie is not found, a fingerprint is generated to be used - // as a TXT record in DNS. v=sonr, o=origin, p=protocol - Service(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) + Resolve(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResolveResponse, error) + // Sync queries the DID document by its id. And returns the required PKL information + Sync(ctx context.Context, in *SyncRequest, opts ...grpc.CallOption) (*SyncResponse, error) } type queryClient struct { @@ -70,53 +53,8 @@ func (c *queryClient) Params(ctx context.Context, in *QueryRequest, opts ...grpc return out, nil } -func (c *queryClient) ParamsAssets(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) { - out := new(QueryResponse) - err := c.cc.Invoke(ctx, Query_ParamsAssets_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) ParamsByAsset(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) { - out := new(QueryResponse) - err := c.cc.Invoke(ctx, Query_ParamsByAsset_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) ParamsKeys(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) { - out := new(QueryResponse) - err := c.cc.Invoke(ctx, Query_ParamsKeys_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) ParamsByKey(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) { - out := new(QueryResponse) - err := c.cc.Invoke(ctx, Query_ParamsByKey_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) RegistrationOptionsByKey(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) { - out := new(QueryResponse) - err := c.cc.Invoke(ctx, Query_RegistrationOptionsByKey_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) Resolve(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) { - out := new(QueryResponse) +func (c *queryClient) Resolve(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResolveResponse, error) { + out := new(QueryResolveResponse) err := c.cc.Invoke(ctx, Query_Resolve_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -124,9 +62,9 @@ func (c *queryClient) Resolve(ctx context.Context, in *QueryRequest, opts ...grp return out, nil } -func (c *queryClient) Service(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) { - out := new(QueryResponse) - err := c.cc.Invoke(ctx, Query_Service_FullMethodName, in, out, opts...) +func (c *queryClient) Sync(ctx context.Context, in *SyncRequest, opts ...grpc.CallOption) (*SyncResponse, error) { + out := new(SyncResponse) + err := c.cc.Invoke(ctx, Query_Sync_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -139,22 +77,10 @@ func (c *queryClient) Service(ctx context.Context, in *QueryRequest, opts ...grp type QueryServer interface { // Params queries all parameters of the module. Params(context.Context, *QueryRequest) (*QueryParamsResponse, error) - // ParamsAssets queries all parameters of the module. - ParamsAssets(context.Context, *QueryRequest) (*QueryResponse, error) - // Params queries all parameters of the module. - ParamsByAsset(context.Context, *QueryRequest) (*QueryResponse, error) - // ParamsKeys queries all parameters of the module. - ParamsKeys(context.Context, *QueryRequest) (*QueryResponse, error) - // Params queries all parameters of the module. - ParamsByKey(context.Context, *QueryRequest) (*QueryResponse, error) - // Params queries all parameters of the module. - RegistrationOptionsByKey(context.Context, *QueryRequest) (*QueryResponse, error) // Resolve queries the DID document by its id. - Resolve(context.Context, *QueryRequest) (*QueryResponse, error) - // Service returns associated ServiceInfo for a given Origin - // if the servie is not found, a fingerprint is generated to be used - // as a TXT record in DNS. v=sonr, o=origin, p=protocol - Service(context.Context, *QueryRequest) (*QueryResponse, error) + Resolve(context.Context, *QueryRequest) (*QueryResolveResponse, error) + // Sync queries the DID document by its id. And returns the required PKL information + Sync(context.Context, *SyncRequest) (*SyncResponse, error) mustEmbedUnimplementedQueryServer() } @@ -165,26 +91,11 @@ type UnimplementedQueryServer struct { func (UnimplementedQueryServer) Params(context.Context, *QueryRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } -func (UnimplementedQueryServer) ParamsAssets(context.Context, *QueryRequest) (*QueryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ParamsAssets not implemented") -} -func (UnimplementedQueryServer) ParamsByAsset(context.Context, *QueryRequest) (*QueryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ParamsByAsset not implemented") -} -func (UnimplementedQueryServer) ParamsKeys(context.Context, *QueryRequest) (*QueryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ParamsKeys not implemented") -} -func (UnimplementedQueryServer) ParamsByKey(context.Context, *QueryRequest) (*QueryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ParamsByKey not implemented") -} -func (UnimplementedQueryServer) RegistrationOptionsByKey(context.Context, *QueryRequest) (*QueryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RegistrationOptionsByKey not implemented") -} -func (UnimplementedQueryServer) Resolve(context.Context, *QueryRequest) (*QueryResponse, error) { +func (UnimplementedQueryServer) Resolve(context.Context, *QueryRequest) (*QueryResolveResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Resolve not implemented") } -func (UnimplementedQueryServer) Service(context.Context, *QueryRequest) (*QueryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Service not implemented") +func (UnimplementedQueryServer) Sync(context.Context, *SyncRequest) (*SyncResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Sync not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} @@ -217,96 +128,6 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } -func _Query_ParamsAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ParamsAssets(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Query_ParamsAssets_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ParamsAssets(ctx, req.(*QueryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_ParamsByAsset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ParamsByAsset(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Query_ParamsByAsset_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ParamsByAsset(ctx, req.(*QueryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_ParamsKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ParamsKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Query_ParamsKeys_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ParamsKeys(ctx, req.(*QueryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_ParamsByKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ParamsByKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Query_ParamsByKey_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ParamsByKey(ctx, req.(*QueryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_RegistrationOptionsByKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).RegistrationOptionsByKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Query_RegistrationOptionsByKey_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).RegistrationOptionsByKey(ctx, req.(*QueryRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Query_Resolve_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryRequest) if err := dec(in); err != nil { @@ -325,20 +146,20 @@ func _Query_Resolve_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } -func _Query_Service_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRequest) +func _Query_Sync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SyncRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).Service(ctx, in) + return srv.(QueryServer).Sync(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Query_Service_FullMethodName, + FullMethod: Query_Sync_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Service(ctx, req.(*QueryRequest)) + return srv.(QueryServer).Sync(ctx, req.(*SyncRequest)) } return interceptor(ctx, in, info, handler) } @@ -354,33 +175,13 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, - { - MethodName: "ParamsAssets", - Handler: _Query_ParamsAssets_Handler, - }, - { - MethodName: "ParamsByAsset", - Handler: _Query_ParamsByAsset_Handler, - }, - { - MethodName: "ParamsKeys", - Handler: _Query_ParamsKeys_Handler, - }, - { - MethodName: "ParamsByKey", - Handler: _Query_ParamsByKey_Handler, - }, - { - MethodName: "RegistrationOptionsByKey", - Handler: _Query_RegistrationOptionsByKey_Handler, - }, { MethodName: "Resolve", Handler: _Query_Resolve_Handler, }, { - MethodName: "Service", - Handler: _Query_Service_Handler, + MethodName: "Sync", + Handler: _Query_Sync_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/api/did/v1/state.cosmos_orm.go b/api/did/v1/state.cosmos_orm.go index 1c83123cd..e7589f1e8 100644 --- a/api/did/v1/state.cosmos_orm.go +++ b/api/did/v1/state.cosmos_orm.go @@ -9,198 +9,123 @@ import ( ormerrors "cosmossdk.io/orm/types/ormerrors" ) -type AccountTable interface { - Insert(ctx context.Context, account *Account) error - Update(ctx context.Context, account *Account) error - Save(ctx context.Context, account *Account) error - Delete(ctx context.Context, account *Account) error +type AliasTable interface { + Insert(ctx context.Context, alias *Alias) error + Update(ctx context.Context, alias *Alias) error + Save(ctx context.Context, alias *Alias) error + Delete(ctx context.Context, alias *Alias) error Has(ctx context.Context, id string) (found bool, err error) // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - Get(ctx context.Context, id string) (*Account, error) - HasByControllerLabel(ctx context.Context, controller string, label string) (found bool, err error) - // GetByControllerLabel returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByControllerLabel(ctx context.Context, controller string, label string) (*Account, error) - HasByControllerAddress(ctx context.Context, controller string, address string) (found bool, err error) - // GetByControllerAddress returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByControllerAddress(ctx context.Context, controller string, address string) (*Account, error) - HasByControllerChainCodeIndex(ctx context.Context, controller string, chain_code uint32, index uint32) (found bool, err error) - // GetByControllerChainCodeIndex returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByControllerChainCodeIndex(ctx context.Context, controller string, chain_code uint32, index uint32) (*Account, error) - List(ctx context.Context, prefixKey AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) - ListRange(ctx context.Context, from, to AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) - DeleteBy(ctx context.Context, prefixKey AccountIndexKey) error - DeleteRange(ctx context.Context, from, to AccountIndexKey) error - Get(ctx context.Context, id string) (*Aliases, error) - HasBySubject(ctx context.Context, subject string) (found bool, err error) - // GetBySubject returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetBySubject(ctx context.Context, subject string) (*Aliases, error) - List(ctx context.Context, prefixKey AliasesIndexKey, opts ...ormlist.Option) (AliasesIterator, error) - ListRange(ctx context.Context, from, to AliasesIndexKey, opts ...ormlist.Option) (AliasesIterator, error) - DeleteBy(ctx context.Context, prefixKey AliasesIndexKey) error - DeleteRange(ctx context.Context, from, to AliasesIndexKey) error + Get(ctx context.Context, id string) (*Alias, error) + HasBySubjectOrigin(ctx context.Context, subject string, origin string) (found bool, err error) + // GetBySubjectOrigin returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetBySubjectOrigin(ctx context.Context, subject string, origin string) (*Alias, error) + List(ctx context.Context, prefixKey AliasIndexKey, opts ...ormlist.Option) (AliasIterator, error) + ListRange(ctx context.Context, from, to AliasIndexKey, opts ...ormlist.Option) (AliasIterator, error) + DeleteBy(ctx context.Context, prefixKey AliasIndexKey) error + DeleteRange(ctx context.Context, from, to AliasIndexKey) error doNotImplement() } -type AccountIterator struct { +type AliasIterator struct { ormtable.Iterator } -func (i AccountIterator) Value() (*Account, error) { - var account Account - err := i.UnmarshalMessage(&account) - return &account, err +func (i AliasIterator) Value() (*Alias, error) { + var alias Alias + err := i.UnmarshalMessage(&alias) + return &alias, err } -type AccountIndexKey interface { +type AliasIndexKey interface { id() uint32 values() []interface{} - accountIndexKey() + aliasIndexKey() } // primary key starting index.. -type AccountPrimaryKey = AccountIdIndexKey +type AliasPrimaryKey = AliasIdIndexKey -type AccountIdIndexKey struct { +type AliasIdIndexKey struct { vs []interface{} } -func (x AccountIdIndexKey) id() uint32 { return 0 } -func (x AccountIdIndexKey) values() []interface{} { return x.vs } -func (x AccountIdIndexKey) accountIndexKey() {} +func (x AliasIdIndexKey) id() uint32 { return 0 } +func (x AliasIdIndexKey) values() []interface{} { return x.vs } +func (x AliasIdIndexKey) aliasIndexKey() {} -func (this AccountIdIndexKey) WithId(id string) AccountIdIndexKey { +func (this AliasIdIndexKey) WithId(id string) AliasIdIndexKey { this.vs = []interface{}{id} return this } -type AccountControllerLabelIndexKey struct { +type AliasSubjectOriginIndexKey struct { vs []interface{} } -func (x AccountControllerLabelIndexKey) id() uint32 { return 1 } -func (x AccountControllerLabelIndexKey) values() []interface{} { return x.vs } -func (x AccountControllerLabelIndexKey) accountIndexKey() {} +func (x AliasSubjectOriginIndexKey) id() uint32 { return 1 } +func (x AliasSubjectOriginIndexKey) values() []interface{} { return x.vs } +func (x AliasSubjectOriginIndexKey) aliasIndexKey() {} -func (this AccountControllerLabelIndexKey) WithController(controller string) AccountControllerLabelIndexKey { - this.vs = []interface{}{controller} -type AliasesSubjectIndexKey struct { - vs []interface{} -} - -func (x AliasesSubjectIndexKey) id() uint32 { return 1 } -func (x AliasesSubjectIndexKey) values() []interface{} { return x.vs } -func (x AliasesSubjectIndexKey) aliasesIndexKey() {} - -func (this AliasesSubjectIndexKey) WithSubject(subject string) AliasesSubjectIndexKey { +func (this AliasSubjectOriginIndexKey) WithSubject(subject string) AliasSubjectOriginIndexKey { this.vs = []interface{}{subject} return this } -func (this AccountControllerLabelIndexKey) WithControllerLabel(controller string, label string) AccountControllerLabelIndexKey { - this.vs = []interface{}{controller, label} +func (this AliasSubjectOriginIndexKey) WithSubjectOrigin(subject string, origin string) AliasSubjectOriginIndexKey { + this.vs = []interface{}{subject, origin} return this } -type AccountControllerAddressIndexKey struct { - vs []interface{} -} - -func (x AccountControllerAddressIndexKey) id() uint32 { return 2 } -func (x AccountControllerAddressIndexKey) values() []interface{} { return x.vs } -func (x AccountControllerAddressIndexKey) accountIndexKey() {} - -func (this AccountControllerAddressIndexKey) WithController(controller string) AccountControllerAddressIndexKey { - this.vs = []interface{}{controller} - return this -} - -func (this AccountControllerAddressIndexKey) WithControllerAddress(controller string, address string) AccountControllerAddressIndexKey { - this.vs = []interface{}{controller, address} - return this -} - -type AccountControllerChainCodeIndexIndexKey struct { - vs []interface{} -} - -func (x AccountControllerChainCodeIndexIndexKey) id() uint32 { return 3 } -func (x AccountControllerChainCodeIndexIndexKey) values() []interface{} { return x.vs } -func (x AccountControllerChainCodeIndexIndexKey) accountIndexKey() {} - -func (this AccountControllerChainCodeIndexIndexKey) WithController(controller string) AccountControllerChainCodeIndexIndexKey { - this.vs = []interface{}{controller} - return this -} - -func (this AccountControllerChainCodeIndexIndexKey) WithControllerChainCode(controller string, chain_code uint32) AccountControllerChainCodeIndexIndexKey { - this.vs = []interface{}{controller, chain_code} - return this -} - -func (this AccountControllerChainCodeIndexIndexKey) WithControllerChainCodeIndex(controller string, chain_code uint32, index uint32) AccountControllerChainCodeIndexIndexKey { - this.vs = []interface{}{controller, chain_code, index} - return this -} - -type accountTable struct { +type aliasTable struct { table ormtable.Table } -func (this accountTable) Insert(ctx context.Context, account *Account) error { - return this.table.Insert(ctx, account) +func (this aliasTable) Insert(ctx context.Context, alias *Alias) error { + return this.table.Insert(ctx, alias) } -func (this accountTable) Update(ctx context.Context, account *Account) error { - return this.table.Update(ctx, account) +func (this aliasTable) Update(ctx context.Context, alias *Alias) error { + return this.table.Update(ctx, alias) } -func (this accountTable) Save(ctx context.Context, account *Account) error { - return this.table.Save(ctx, account) +func (this aliasTable) Save(ctx context.Context, alias *Alias) error { + return this.table.Save(ctx, alias) } -func (this accountTable) Delete(ctx context.Context, account *Account) error { - return this.table.Delete(ctx, account) +func (this aliasTable) Delete(ctx context.Context, alias *Alias) error { + return this.table.Delete(ctx, alias) } -func (this accountTable) Has(ctx context.Context, id string) (found bool, err error) { +func (this aliasTable) Has(ctx context.Context, id string) (found bool, err error) { return this.table.PrimaryKey().Has(ctx, id) } -func (this accountTable) Get(ctx context.Context, id string) (*Account, error) { - var account Account - found, err := this.table.PrimaryKey().Get(ctx, &account, id) +func (this aliasTable) Get(ctx context.Context, id string) (*Alias, error) { + var alias Alias + found, err := this.table.PrimaryKey().Get(ctx, &alias, id) if err != nil { return nil, err } if !found { return nil, ormerrors.NotFound } - return &account, nil + return &alias, nil } -func (this accountTable) HasByControllerLabel(ctx context.Context, controller string, label string) (found bool, err error) { - return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, - controller, - label, - ) -} - -func (this accountTable) GetByControllerLabel(ctx context.Context, controller string, label string) (*Account, error) { - var account Account - found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &account, - controller, - label, -func (this aliasesTable) HasBySubject(ctx context.Context, subject string) (found bool, err error) { +func (this aliasTable) HasBySubjectOrigin(ctx context.Context, subject string, origin string) (found bool, err error) { return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, subject, + origin, ) } -func (this aliasesTable) GetBySubject(ctx context.Context, subject string) (*Aliases, error) { - var aliases Aliases - found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &aliases, +func (this aliasTable) GetBySubjectOrigin(ctx context.Context, subject string, origin string) (*Alias, error) { + var alias Alias + found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &alias, subject, + origin, ) if err != nil { return nil, err @@ -208,83 +133,37 @@ func (this aliasesTable) GetBySubject(ctx context.Context, subject string) (*Ali if !found { return nil, ormerrors.NotFound } - return &account, nil + return &alias, nil } -func (this accountTable) HasByControllerAddress(ctx context.Context, controller string, address string) (found bool, err error) { - return this.table.GetIndexByID(2).(ormtable.UniqueIndex).Has(ctx, - controller, - address, - ) -} - -func (this accountTable) GetByControllerAddress(ctx context.Context, controller string, address string) (*Account, error) { - var account Account - found, err := this.table.GetIndexByID(2).(ormtable.UniqueIndex).Get(ctx, &account, - controller, - address, - ) - if err != nil { - return nil, err - } - if !found { - return nil, ormerrors.NotFound - } - return &account, nil -} - -func (this accountTable) HasByControllerChainCodeIndex(ctx context.Context, controller string, chain_code uint32, index uint32) (found bool, err error) { - return this.table.GetIndexByID(3).(ormtable.UniqueIndex).Has(ctx, - controller, - chain_code, - index, - ) -} - -func (this accountTable) GetByControllerChainCodeIndex(ctx context.Context, controller string, chain_code uint32, index uint32) (*Account, error) { - var account Account - found, err := this.table.GetIndexByID(3).(ormtable.UniqueIndex).Get(ctx, &account, - controller, - chain_code, - index, - ) - if err != nil { - return nil, err - } - if !found { - return nil, ormerrors.NotFound - } - return &account, nil -} - -func (this accountTable) List(ctx context.Context, prefixKey AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) { +func (this aliasTable) List(ctx context.Context, prefixKey AliasIndexKey, opts ...ormlist.Option) (AliasIterator, error) { it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) - return AccountIterator{it}, err + return AliasIterator{it}, err } -func (this accountTable) ListRange(ctx context.Context, from, to AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) { +func (this aliasTable) ListRange(ctx context.Context, from, to AliasIndexKey, opts ...ormlist.Option) (AliasIterator, error) { it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) - return AccountIterator{it}, err + return AliasIterator{it}, err } -func (this accountTable) DeleteBy(ctx context.Context, prefixKey AccountIndexKey) error { +func (this aliasTable) DeleteBy(ctx context.Context, prefixKey AliasIndexKey) error { return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) } -func (this accountTable) DeleteRange(ctx context.Context, from, to AccountIndexKey) error { +func (this aliasTable) DeleteRange(ctx context.Context, from, to AliasIndexKey) error { return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) } -func (this accountTable) doNotImplement() {} +func (this aliasTable) doNotImplement() {} -var _ AccountTable = accountTable{} +var _ AliasTable = aliasTable{} -func NewAccountTable(db ormtable.Schema) (AccountTable, error) { - table := db.GetTable(&Account{}) +func NewAliasTable(db ormtable.Schema) (AliasTable, error) { + table := db.GetTable(&Alias{}) if table == nil { - return nil, ormerrors.TableNotFound.Wrap(string((&Account{}).ProtoReflect().Descriptor().FullName())) + return nil, ormerrors.TableNotFound.Wrap(string((&Alias{}).ProtoReflect().Descriptor().FullName())) } - return accountTable{table}, nil + return aliasTable{table}, nil } type ControllerTable interface { @@ -295,12 +174,21 @@ type ControllerTable interface { Has(ctx context.Context, id string) (found bool, err error) // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. Get(ctx context.Context, id string) (*Controller, error) - HasByAddress(ctx context.Context, address string) (found bool, err error) - // GetByAddress returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByAddress(ctx context.Context, address string) (*Controller, error) + HasBySonrAddress(ctx context.Context, sonr_address string) (found bool, err error) + // GetBySonrAddress returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetBySonrAddress(ctx context.Context, sonr_address string) (*Controller, error) + HasByEthAddress(ctx context.Context, eth_address string) (found bool, err error) + // GetByEthAddress returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetByEthAddress(ctx context.Context, eth_address string) (*Controller, error) + HasByBtcAddress(ctx context.Context, btc_address string) (found bool, err error) + // GetByBtcAddress returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetByBtcAddress(ctx context.Context, btc_address string) (*Controller, error) HasByVaultCid(ctx context.Context, vault_cid string) (found bool, err error) // GetByVaultCid returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. GetByVaultCid(ctx context.Context, vault_cid string) (*Controller, error) + HasByStatusVaultCid(ctx context.Context, status string, vault_cid string) (found bool, err error) + // GetByStatusVaultCid returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetByStatusVaultCid(ctx context.Context, status string, vault_cid string) (*Controller, error) List(ctx context.Context, prefixKey ControllerIndexKey, opts ...ormlist.Option) (ControllerIterator, error) ListRange(ctx context.Context, from, to ControllerIndexKey, opts ...ormlist.Option) (ControllerIterator, error) DeleteBy(ctx context.Context, prefixKey ControllerIndexKey) error @@ -341,16 +229,42 @@ func (this ControllerIdIndexKey) WithId(id string) ControllerIdIndexKey { return this } -type ControllerAddressIndexKey struct { +type ControllerSonrAddressIndexKey struct { vs []interface{} } -func (x ControllerAddressIndexKey) id() uint32 { return 1 } -func (x ControllerAddressIndexKey) values() []interface{} { return x.vs } -func (x ControllerAddressIndexKey) controllerIndexKey() {} +func (x ControllerSonrAddressIndexKey) id() uint32 { return 1 } +func (x ControllerSonrAddressIndexKey) values() []interface{} { return x.vs } +func (x ControllerSonrAddressIndexKey) controllerIndexKey() {} -func (this ControllerAddressIndexKey) WithAddress(address string) ControllerAddressIndexKey { - this.vs = []interface{}{address} +func (this ControllerSonrAddressIndexKey) WithSonrAddress(sonr_address string) ControllerSonrAddressIndexKey { + this.vs = []interface{}{sonr_address} + return this +} + +type ControllerEthAddressIndexKey struct { + vs []interface{} +} + +func (x ControllerEthAddressIndexKey) id() uint32 { return 2 } +func (x ControllerEthAddressIndexKey) values() []interface{} { return x.vs } +func (x ControllerEthAddressIndexKey) controllerIndexKey() {} + +func (this ControllerEthAddressIndexKey) WithEthAddress(eth_address string) ControllerEthAddressIndexKey { + this.vs = []interface{}{eth_address} + return this +} + +type ControllerBtcAddressIndexKey struct { + vs []interface{} +} + +func (x ControllerBtcAddressIndexKey) id() uint32 { return 3 } +func (x ControllerBtcAddressIndexKey) values() []interface{} { return x.vs } +func (x ControllerBtcAddressIndexKey) controllerIndexKey() {} + +func (this ControllerBtcAddressIndexKey) WithBtcAddress(btc_address string) ControllerBtcAddressIndexKey { + this.vs = []interface{}{btc_address} return this } @@ -358,7 +272,7 @@ type ControllerVaultCidIndexKey struct { vs []interface{} } -func (x ControllerVaultCidIndexKey) id() uint32 { return 2 } +func (x ControllerVaultCidIndexKey) id() uint32 { return 4 } func (x ControllerVaultCidIndexKey) values() []interface{} { return x.vs } func (x ControllerVaultCidIndexKey) controllerIndexKey() {} @@ -367,6 +281,24 @@ func (this ControllerVaultCidIndexKey) WithVaultCid(vault_cid string) Controller return this } +type ControllerStatusVaultCidIndexKey struct { + vs []interface{} +} + +func (x ControllerStatusVaultCidIndexKey) id() uint32 { return 5 } +func (x ControllerStatusVaultCidIndexKey) values() []interface{} { return x.vs } +func (x ControllerStatusVaultCidIndexKey) controllerIndexKey() {} + +func (this ControllerStatusVaultCidIndexKey) WithStatus(status string) ControllerStatusVaultCidIndexKey { + this.vs = []interface{}{status} + return this +} + +func (this ControllerStatusVaultCidIndexKey) WithStatusVaultCid(status string, vault_cid string) ControllerStatusVaultCidIndexKey { + this.vs = []interface{}{status, vault_cid} + return this +} + type controllerTable struct { table ormtable.Table } @@ -403,16 +335,56 @@ func (this controllerTable) Get(ctx context.Context, id string) (*Controller, er return &controller, nil } -func (this controllerTable) HasByAddress(ctx context.Context, address string) (found bool, err error) { +func (this controllerTable) HasBySonrAddress(ctx context.Context, sonr_address string) (found bool, err error) { return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, - address, + sonr_address, ) } -func (this controllerTable) GetByAddress(ctx context.Context, address string) (*Controller, error) { +func (this controllerTable) GetBySonrAddress(ctx context.Context, sonr_address string) (*Controller, error) { var controller Controller found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &controller, - address, + sonr_address, + ) + if err != nil { + return nil, err + } + if !found { + return nil, ormerrors.NotFound + } + return &controller, nil +} + +func (this controllerTable) HasByEthAddress(ctx context.Context, eth_address string) (found bool, err error) { + return this.table.GetIndexByID(2).(ormtable.UniqueIndex).Has(ctx, + eth_address, + ) +} + +func (this controllerTable) GetByEthAddress(ctx context.Context, eth_address string) (*Controller, error) { + var controller Controller + found, err := this.table.GetIndexByID(2).(ormtable.UniqueIndex).Get(ctx, &controller, + eth_address, + ) + if err != nil { + return nil, err + } + if !found { + return nil, ormerrors.NotFound + } + return &controller, nil +} + +func (this controllerTable) HasByBtcAddress(ctx context.Context, btc_address string) (found bool, err error) { + return this.table.GetIndexByID(3).(ormtable.UniqueIndex).Has(ctx, + btc_address, + ) +} + +func (this controllerTable) GetByBtcAddress(ctx context.Context, btc_address string) (*Controller, error) { + var controller Controller + found, err := this.table.GetIndexByID(3).(ormtable.UniqueIndex).Get(ctx, &controller, + btc_address, ) if err != nil { return nil, err @@ -424,14 +396,36 @@ func (this controllerTable) GetByAddress(ctx context.Context, address string) (* } func (this controllerTable) HasByVaultCid(ctx context.Context, vault_cid string) (found bool, err error) { - return this.table.GetIndexByID(2).(ormtable.UniqueIndex).Has(ctx, + return this.table.GetIndexByID(4).(ormtable.UniqueIndex).Has(ctx, vault_cid, ) } func (this controllerTable) GetByVaultCid(ctx context.Context, vault_cid string) (*Controller, error) { var controller Controller - found, err := this.table.GetIndexByID(2).(ormtable.UniqueIndex).Get(ctx, &controller, + found, err := this.table.GetIndexByID(4).(ormtable.UniqueIndex).Get(ctx, &controller, + vault_cid, + ) + if err != nil { + return nil, err + } + if !found { + return nil, ormerrors.NotFound + } + return &controller, nil +} + +func (this controllerTable) HasByStatusVaultCid(ctx context.Context, status string, vault_cid string) (found bool, err error) { + return this.table.GetIndexByID(5).(ormtable.UniqueIndex).Has(ctx, + status, + vault_cid, + ) +} + +func (this controllerTable) GetByStatusVaultCid(ctx context.Context, status string, vault_cid string) (*Controller, error) { + var controller Controller + found, err := this.table.GetIndexByID(5).(ormtable.UniqueIndex).Get(ctx, &controller, + status, vault_cid, ) if err != nil { @@ -473,130 +467,175 @@ func NewControllerTable(db ormtable.Schema) (ControllerTable, error) { return controllerTable{table}, nil } -type ProofTable interface { - Insert(ctx context.Context, proof *Proof) error - Update(ctx context.Context, proof *Proof) error - Save(ctx context.Context, proof *Proof) error - Delete(ctx context.Context, proof *Proof) error +type VerificationTable interface { + Insert(ctx context.Context, verification *Verification) error + Update(ctx context.Context, verification *Verification) error + Save(ctx context.Context, verification *Verification) error + Delete(ctx context.Context, verification *Verification) error Has(ctx context.Context, id string) (found bool, err error) // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - Get(ctx context.Context, id string) (*Proof, error) - HasByControllerIssuerProperty(ctx context.Context, controller string, issuer string, property string) (found bool, err error) - // GetByControllerIssuerProperty returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByControllerIssuerProperty(ctx context.Context, controller string, issuer string, property string) (*Proof, error) - List(ctx context.Context, prefixKey ProofIndexKey, opts ...ormlist.Option) (ProofIterator, error) - ListRange(ctx context.Context, from, to ProofIndexKey, opts ...ormlist.Option) (ProofIterator, error) - DeleteBy(ctx context.Context, prefixKey ProofIndexKey) error - DeleteRange(ctx context.Context, from, to ProofIndexKey) error + Get(ctx context.Context, id string) (*Verification, error) + HasByIssuerSubject(ctx context.Context, issuer string, subject string) (found bool, err error) + // GetByIssuerSubject returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetByIssuerSubject(ctx context.Context, issuer string, subject string) (*Verification, error) + HasByControllerDidMethodIssuer(ctx context.Context, controller string, did_method string, issuer string) (found bool, err error) + // GetByControllerDidMethodIssuer returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetByControllerDidMethodIssuer(ctx context.Context, controller string, did_method string, issuer string) (*Verification, error) + HasByVerificationTypeSubjectIssuer(ctx context.Context, verification_type string, subject string, issuer string) (found bool, err error) + // GetByVerificationTypeSubjectIssuer returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetByVerificationTypeSubjectIssuer(ctx context.Context, verification_type string, subject string, issuer string) (*Verification, error) + List(ctx context.Context, prefixKey VerificationIndexKey, opts ...ormlist.Option) (VerificationIterator, error) + ListRange(ctx context.Context, from, to VerificationIndexKey, opts ...ormlist.Option) (VerificationIterator, error) + DeleteBy(ctx context.Context, prefixKey VerificationIndexKey) error + DeleteRange(ctx context.Context, from, to VerificationIndexKey) error doNotImplement() } -type ProofIterator struct { +type VerificationIterator struct { ormtable.Iterator } -func (i ProofIterator) Value() (*Proof, error) { - var proof Proof - err := i.UnmarshalMessage(&proof) - return &proof, err +func (i VerificationIterator) Value() (*Verification, error) { + var verification Verification + err := i.UnmarshalMessage(&verification) + return &verification, err } -type ProofIndexKey interface { +type VerificationIndexKey interface { id() uint32 values() []interface{} - proofIndexKey() + verificationIndexKey() } // primary key starting index.. -type ProofPrimaryKey = ProofIdIndexKey +type VerificationPrimaryKey = VerificationIdIndexKey -type ProofIdIndexKey struct { +type VerificationIdIndexKey struct { vs []interface{} } -func (x ProofIdIndexKey) id() uint32 { return 0 } -func (x ProofIdIndexKey) values() []interface{} { return x.vs } -func (x ProofIdIndexKey) proofIndexKey() {} +func (x VerificationIdIndexKey) id() uint32 { return 0 } +func (x VerificationIdIndexKey) values() []interface{} { return x.vs } +func (x VerificationIdIndexKey) verificationIndexKey() {} -func (this ProofIdIndexKey) WithId(id string) ProofIdIndexKey { +func (this VerificationIdIndexKey) WithId(id string) VerificationIdIndexKey { this.vs = []interface{}{id} return this } -type ProofControllerIssuerPropertyIndexKey struct { +type VerificationIssuerSubjectIndexKey struct { vs []interface{} } -func (x ProofControllerIssuerPropertyIndexKey) id() uint32 { return 1 } -func (x ProofControllerIssuerPropertyIndexKey) values() []interface{} { return x.vs } -func (x ProofControllerIssuerPropertyIndexKey) proofIndexKey() {} +func (x VerificationIssuerSubjectIndexKey) id() uint32 { return 1 } +func (x VerificationIssuerSubjectIndexKey) values() []interface{} { return x.vs } +func (x VerificationIssuerSubjectIndexKey) verificationIndexKey() {} -func (this ProofControllerIssuerPropertyIndexKey) WithController(controller string) ProofControllerIssuerPropertyIndexKey { +func (this VerificationIssuerSubjectIndexKey) WithIssuer(issuer string) VerificationIssuerSubjectIndexKey { + this.vs = []interface{}{issuer} + return this +} + +func (this VerificationIssuerSubjectIndexKey) WithIssuerSubject(issuer string, subject string) VerificationIssuerSubjectIndexKey { + this.vs = []interface{}{issuer, subject} + return this +} + +type VerificationControllerDidMethodIssuerIndexKey struct { + vs []interface{} +} + +func (x VerificationControllerDidMethodIssuerIndexKey) id() uint32 { return 2 } +func (x VerificationControllerDidMethodIssuerIndexKey) values() []interface{} { return x.vs } +func (x VerificationControllerDidMethodIssuerIndexKey) verificationIndexKey() {} + +func (this VerificationControllerDidMethodIssuerIndexKey) WithController(controller string) VerificationControllerDidMethodIssuerIndexKey { this.vs = []interface{}{controller} return this } -func (this ProofControllerIssuerPropertyIndexKey) WithControllerIssuer(controller string, issuer string) ProofControllerIssuerPropertyIndexKey { - this.vs = []interface{}{controller, issuer} +func (this VerificationControllerDidMethodIssuerIndexKey) WithControllerDidMethod(controller string, did_method string) VerificationControllerDidMethodIssuerIndexKey { + this.vs = []interface{}{controller, did_method} return this } -func (this ProofControllerIssuerPropertyIndexKey) WithControllerIssuerProperty(controller string, issuer string, property string) ProofControllerIssuerPropertyIndexKey { - this.vs = []interface{}{controller, issuer, property} +func (this VerificationControllerDidMethodIssuerIndexKey) WithControllerDidMethodIssuer(controller string, did_method string, issuer string) VerificationControllerDidMethodIssuerIndexKey { + this.vs = []interface{}{controller, did_method, issuer} return this } -type proofTable struct { +type VerificationVerificationTypeSubjectIssuerIndexKey struct { + vs []interface{} +} + +func (x VerificationVerificationTypeSubjectIssuerIndexKey) id() uint32 { return 3 } +func (x VerificationVerificationTypeSubjectIssuerIndexKey) values() []interface{} { return x.vs } +func (x VerificationVerificationTypeSubjectIssuerIndexKey) verificationIndexKey() {} + +func (this VerificationVerificationTypeSubjectIssuerIndexKey) WithVerificationType(verification_type string) VerificationVerificationTypeSubjectIssuerIndexKey { + this.vs = []interface{}{verification_type} + return this +} + +func (this VerificationVerificationTypeSubjectIssuerIndexKey) WithVerificationTypeSubject(verification_type string, subject string) VerificationVerificationTypeSubjectIssuerIndexKey { + this.vs = []interface{}{verification_type, subject} + return this +} + +func (this VerificationVerificationTypeSubjectIssuerIndexKey) WithVerificationTypeSubjectIssuer(verification_type string, subject string, issuer string) VerificationVerificationTypeSubjectIssuerIndexKey { + this.vs = []interface{}{verification_type, subject, issuer} + return this +} + +type verificationTable struct { table ormtable.Table } -func (this proofTable) Insert(ctx context.Context, proof *Proof) error { - return this.table.Insert(ctx, proof) +func (this verificationTable) Insert(ctx context.Context, verification *Verification) error { + return this.table.Insert(ctx, verification) } -func (this proofTable) Update(ctx context.Context, proof *Proof) error { - return this.table.Update(ctx, proof) +func (this verificationTable) Update(ctx context.Context, verification *Verification) error { + return this.table.Update(ctx, verification) } -func (this proofTable) Save(ctx context.Context, proof *Proof) error { - return this.table.Save(ctx, proof) +func (this verificationTable) Save(ctx context.Context, verification *Verification) error { + return this.table.Save(ctx, verification) } -func (this proofTable) Delete(ctx context.Context, proof *Proof) error { - return this.table.Delete(ctx, proof) +func (this verificationTable) Delete(ctx context.Context, verification *Verification) error { + return this.table.Delete(ctx, verification) } -func (this proofTable) Has(ctx context.Context, id string) (found bool, err error) { +func (this verificationTable) Has(ctx context.Context, id string) (found bool, err error) { return this.table.PrimaryKey().Has(ctx, id) } -func (this proofTable) Get(ctx context.Context, id string) (*Proof, error) { - var proof Proof - found, err := this.table.PrimaryKey().Get(ctx, &proof, id) +func (this verificationTable) Get(ctx context.Context, id string) (*Verification, error) { + var verification Verification + found, err := this.table.PrimaryKey().Get(ctx, &verification, id) if err != nil { return nil, err } if !found { return nil, ormerrors.NotFound } - return &proof, nil + return &verification, nil } -func (this proofTable) HasByControllerIssuerProperty(ctx context.Context, controller string, issuer string, property string) (found bool, err error) { +func (this verificationTable) HasByIssuerSubject(ctx context.Context, issuer string, subject string) (found bool, err error) { return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, - controller, issuer, - property, + subject, ) } -func (this proofTable) GetByControllerIssuerProperty(ctx context.Context, controller string, issuer string, property string) (*Proof, error) { - var proof Proof - found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &proof, - controller, +func (this verificationTable) GetByIssuerSubject(ctx context.Context, issuer string, subject string) (*Verification, error) { + var verification Verification + found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &verification, issuer, - property, + subject, ) if err != nil { return nil, err @@ -604,192 +643,23 @@ func (this proofTable) GetByControllerIssuerProperty(ctx context.Context, contro if !found { return nil, ormerrors.NotFound } - return &proof, nil + return &verification, nil } -func (this proofTable) List(ctx context.Context, prefixKey ProofIndexKey, opts ...ormlist.Option) (ProofIterator, error) { - it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) - return ProofIterator{it}, err -} - -func (this proofTable) ListRange(ctx context.Context, from, to ProofIndexKey, opts ...ormlist.Option) (ProofIterator, error) { - it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) - return ProofIterator{it}, err -} - -func (this proofTable) DeleteBy(ctx context.Context, prefixKey ProofIndexKey) error { - return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) -} - -func (this proofTable) DeleteRange(ctx context.Context, from, to ProofIndexKey) error { - return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) -} - -func (this proofTable) doNotImplement() {} - -var _ ProofTable = proofTable{} - -func NewProofTable(db ormtable.Schema) (ProofTable, error) { - table := db.GetTable(&Proof{}) - if table == nil { - return nil, ormerrors.TableNotFound.Wrap(string((&Proof{}).ProtoReflect().Descriptor().FullName())) - } - return proofTable{table}, nil -} - -type ServiceRecordTable interface { - Insert(ctx context.Context, serviceRecord *ServiceRecord) error - Update(ctx context.Context, serviceRecord *ServiceRecord) error - Save(ctx context.Context, serviceRecord *ServiceRecord) error - Delete(ctx context.Context, serviceRecord *ServiceRecord) error - Has(ctx context.Context, id string) (found bool, err error) - // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - Get(ctx context.Context, id string) (*ServiceRecord, error) - HasByOrigin(ctx context.Context, origin string) (found bool, err error) - // GetByOrigin returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByOrigin(ctx context.Context, origin string) (*ServiceRecord, error) - HasByAuthorityOrigin(ctx context.Context, authority string, origin string) (found bool, err error) - // GetByAuthorityOrigin returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByAuthorityOrigin(ctx context.Context, authority string, origin string) (*ServiceRecord, error) - List(ctx context.Context, prefixKey ServiceRecordIndexKey, opts ...ormlist.Option) (ServiceRecordIterator, error) - ListRange(ctx context.Context, from, to ServiceRecordIndexKey, opts ...ormlist.Option) (ServiceRecordIterator, error) - DeleteBy(ctx context.Context, prefixKey ServiceRecordIndexKey) error - DeleteRange(ctx context.Context, from, to ServiceRecordIndexKey) error - - doNotImplement() -} - -type ServiceRecordIterator struct { - ormtable.Iterator -} - -func (i ServiceRecordIterator) Value() (*ServiceRecord, error) { - var serviceRecord ServiceRecord - err := i.UnmarshalMessage(&serviceRecord) - return &serviceRecord, err -} - -type ServiceRecordIndexKey interface { - id() uint32 - values() []interface{} - serviceRecordIndexKey() -} - -// primary key starting index.. -type ServiceRecordPrimaryKey = ServiceRecordIdIndexKey - -type ServiceRecordIdIndexKey struct { - vs []interface{} -} - -func (x ServiceRecordIdIndexKey) id() uint32 { return 0 } -func (x ServiceRecordIdIndexKey) values() []interface{} { return x.vs } -func (x ServiceRecordIdIndexKey) serviceRecordIndexKey() {} - -func (this ServiceRecordIdIndexKey) WithId(id string) ServiceRecordIdIndexKey { - this.vs = []interface{}{id} - return this -} - -type ServiceRecordOriginIndexKey struct { - vs []interface{} -} - -func (x ServiceRecordOriginIndexKey) id() uint32 { return 1 } -func (x ServiceRecordOriginIndexKey) values() []interface{} { return x.vs } -func (x ServiceRecordOriginIndexKey) serviceRecordIndexKey() {} - -func (this ServiceRecordOriginIndexKey) WithOrigin(origin string) ServiceRecordOriginIndexKey { - this.vs = []interface{}{origin} - return this -} - -type ServiceRecordAuthorityOriginIndexKey struct { - vs []interface{} -} - -func (x ServiceRecordAuthorityOriginIndexKey) id() uint32 { return 2 } -func (x ServiceRecordAuthorityOriginIndexKey) values() []interface{} { return x.vs } -func (x ServiceRecordAuthorityOriginIndexKey) serviceRecordIndexKey() {} - -func (this ServiceRecordAuthorityOriginIndexKey) WithAuthority(authority string) ServiceRecordAuthorityOriginIndexKey { - this.vs = []interface{}{authority} - return this -} - -func (this ServiceRecordAuthorityOriginIndexKey) WithAuthorityOrigin(authority string, origin string) ServiceRecordAuthorityOriginIndexKey { - this.vs = []interface{}{authority, origin} - return this -} - -type serviceRecordTable struct { - table ormtable.Table -} - -func (this serviceRecordTable) Insert(ctx context.Context, serviceRecord *ServiceRecord) error { - return this.table.Insert(ctx, serviceRecord) -} - -func (this serviceRecordTable) Update(ctx context.Context, serviceRecord *ServiceRecord) error { - return this.table.Update(ctx, serviceRecord) -} - -func (this serviceRecordTable) Save(ctx context.Context, serviceRecord *ServiceRecord) error { - return this.table.Save(ctx, serviceRecord) -} - -func (this serviceRecordTable) Delete(ctx context.Context, serviceRecord *ServiceRecord) error { - return this.table.Delete(ctx, serviceRecord) -} - -func (this serviceRecordTable) Has(ctx context.Context, id string) (found bool, err error) { - return this.table.PrimaryKey().Has(ctx, id) -} - -func (this serviceRecordTable) Get(ctx context.Context, id string) (*ServiceRecord, error) { - var serviceRecord ServiceRecord - found, err := this.table.PrimaryKey().Get(ctx, &serviceRecord, id) - if err != nil { - return nil, err - } - if !found { - return nil, ormerrors.NotFound - } - return &serviceRecord, nil -} - -func (this serviceRecordTable) HasByOrigin(ctx context.Context, origin string) (found bool, err error) { - return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, - origin, - ) -} - -func (this serviceRecordTable) GetByOrigin(ctx context.Context, origin string) (*ServiceRecord, error) { - var serviceRecord ServiceRecord - found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &serviceRecord, - origin, - ) - if err != nil { - return nil, err - } - if !found { - return nil, ormerrors.NotFound - } - return &serviceRecord, nil -} - -func (this serviceRecordTable) HasByAuthorityOrigin(ctx context.Context, authority string, origin string) (found bool, err error) { +func (this verificationTable) HasByControllerDidMethodIssuer(ctx context.Context, controller string, did_method string, issuer string) (found bool, err error) { return this.table.GetIndexByID(2).(ormtable.UniqueIndex).Has(ctx, - authority, - origin, + controller, + did_method, + issuer, ) } -func (this serviceRecordTable) GetByAuthorityOrigin(ctx context.Context, authority string, origin string) (*ServiceRecord, error) { - var serviceRecord ServiceRecord - found, err := this.table.GetIndexByID(2).(ormtable.UniqueIndex).Get(ctx, &serviceRecord, - authority, - origin, +func (this verificationTable) GetByControllerDidMethodIssuer(ctx context.Context, controller string, did_method string, issuer string) (*Verification, error) { + var verification Verification + found, err := this.table.GetIndexByID(2).(ormtable.UniqueIndex).Get(ctx, &verification, + controller, + did_method, + issuer, ) if err != nil { return nil, err @@ -797,246 +667,87 @@ func (this serviceRecordTable) GetByAuthorityOrigin(ctx context.Context, authori if !found { return nil, ormerrors.NotFound } - return &serviceRecord, nil + return &verification, nil } -func (this serviceRecordTable) List(ctx context.Context, prefixKey ServiceRecordIndexKey, opts ...ormlist.Option) (ServiceRecordIterator, error) { +func (this verificationTable) HasByVerificationTypeSubjectIssuer(ctx context.Context, verification_type string, subject string, issuer string) (found bool, err error) { + return this.table.GetIndexByID(3).(ormtable.UniqueIndex).Has(ctx, + verification_type, + subject, + issuer, + ) +} + +func (this verificationTable) GetByVerificationTypeSubjectIssuer(ctx context.Context, verification_type string, subject string, issuer string) (*Verification, error) { + var verification Verification + found, err := this.table.GetIndexByID(3).(ormtable.UniqueIndex).Get(ctx, &verification, + verification_type, + subject, + issuer, + ) + if err != nil { + return nil, err + } + if !found { + return nil, ormerrors.NotFound + } + return &verification, nil +} + +func (this verificationTable) List(ctx context.Context, prefixKey VerificationIndexKey, opts ...ormlist.Option) (VerificationIterator, error) { it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) - return ServiceRecordIterator{it}, err + return VerificationIterator{it}, err } -func (this serviceRecordTable) ListRange(ctx context.Context, from, to ServiceRecordIndexKey, opts ...ormlist.Option) (ServiceRecordIterator, error) { +func (this verificationTable) ListRange(ctx context.Context, from, to VerificationIndexKey, opts ...ormlist.Option) (VerificationIterator, error) { it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) - return ServiceRecordIterator{it}, err + return VerificationIterator{it}, err } -func (this serviceRecordTable) DeleteBy(ctx context.Context, prefixKey ServiceRecordIndexKey) error { +func (this verificationTable) DeleteBy(ctx context.Context, prefixKey VerificationIndexKey) error { return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) } -func (this serviceRecordTable) DeleteRange(ctx context.Context, from, to ServiceRecordIndexKey) error { +func (this verificationTable) DeleteRange(ctx context.Context, from, to VerificationIndexKey) error { return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) } -func (this serviceRecordTable) doNotImplement() {} +func (this verificationTable) doNotImplement() {} -var _ ServiceRecordTable = serviceRecordTable{} +var _ VerificationTable = verificationTable{} -func NewServiceRecordTable(db ormtable.Schema) (ServiceRecordTable, error) { - table := db.GetTable(&ServiceRecord{}) +func NewVerificationTable(db ormtable.Schema) (VerificationTable, error) { + table := db.GetTable(&Verification{}) if table == nil { - return nil, ormerrors.TableNotFound.Wrap(string((&ServiceRecord{}).ProtoReflect().Descriptor().FullName())) + return nil, ormerrors.TableNotFound.Wrap(string((&Verification{}).ProtoReflect().Descriptor().FullName())) } - return serviceRecordTable{table}, nil -} - -type VerificationMethodTable interface { - Insert(ctx context.Context, verificationMethod *VerificationMethod) error - Update(ctx context.Context, verificationMethod *VerificationMethod) error - Save(ctx context.Context, verificationMethod *VerificationMethod) error - Delete(ctx context.Context, verificationMethod *VerificationMethod) error - Has(ctx context.Context, id string) (found bool, err error) - // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - Get(ctx context.Context, id string) (*VerificationMethod, error) - HasByControllerMethodIssuerSubject(ctx context.Context, controller string, method DIDNamespace, issuer string, subject string) (found bool, err error) - // GetByControllerMethodIssuerSubject returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByControllerMethodIssuerSubject(ctx context.Context, controller string, method DIDNamespace, issuer string, subject string) (*VerificationMethod, error) - List(ctx context.Context, prefixKey VerificationMethodIndexKey, opts ...ormlist.Option) (VerificationMethodIterator, error) - ListRange(ctx context.Context, from, to VerificationMethodIndexKey, opts ...ormlist.Option) (VerificationMethodIterator, error) - DeleteBy(ctx context.Context, prefixKey VerificationMethodIndexKey) error - DeleteRange(ctx context.Context, from, to VerificationMethodIndexKey) error - - doNotImplement() -} - -type VerificationMethodIterator struct { - ormtable.Iterator -} - -func (i VerificationMethodIterator) Value() (*VerificationMethod, error) { - var verificationMethod VerificationMethod - err := i.UnmarshalMessage(&verificationMethod) - return &verificationMethod, err -} - -type VerificationMethodIndexKey interface { - id() uint32 - values() []interface{} - verificationMethodIndexKey() -} - -// primary key starting index.. -type VerificationMethodPrimaryKey = VerificationMethodIdIndexKey - -type VerificationMethodIdIndexKey struct { - vs []interface{} -} - -func (x VerificationMethodIdIndexKey) id() uint32 { return 0 } -func (x VerificationMethodIdIndexKey) values() []interface{} { return x.vs } -func (x VerificationMethodIdIndexKey) verificationMethodIndexKey() {} - -func (this VerificationMethodIdIndexKey) WithId(id string) VerificationMethodIdIndexKey { - this.vs = []interface{}{id} - return this -} - -type VerificationMethodControllerMethodIssuerSubjectIndexKey struct { - vs []interface{} -} - -func (x VerificationMethodControllerMethodIssuerSubjectIndexKey) id() uint32 { return 1 } -func (x VerificationMethodControllerMethodIssuerSubjectIndexKey) values() []interface{} { return x.vs } -func (x VerificationMethodControllerMethodIssuerSubjectIndexKey) verificationMethodIndexKey() {} - -func (this VerificationMethodControllerMethodIssuerSubjectIndexKey) WithController(controller string) VerificationMethodControllerMethodIssuerSubjectIndexKey { - this.vs = []interface{}{controller} - return this -} - -func (this VerificationMethodControllerMethodIssuerSubjectIndexKey) WithControllerMethod(controller string, method DIDNamespace) VerificationMethodControllerMethodIssuerSubjectIndexKey { - this.vs = []interface{}{controller, method} - return this -} - -func (this VerificationMethodControllerMethodIssuerSubjectIndexKey) WithControllerMethodIssuer(controller string, method DIDNamespace, issuer string) VerificationMethodControllerMethodIssuerSubjectIndexKey { - this.vs = []interface{}{controller, method, issuer} - return this -} - -func (this VerificationMethodControllerMethodIssuerSubjectIndexKey) WithControllerMethodIssuerSubject(controller string, method DIDNamespace, issuer string, subject string) VerificationMethodControllerMethodIssuerSubjectIndexKey { - this.vs = []interface{}{controller, method, issuer, subject} - return this -} - -type verificationMethodTable struct { - table ormtable.Table -} - -func (this verificationMethodTable) Insert(ctx context.Context, verificationMethod *VerificationMethod) error { - return this.table.Insert(ctx, verificationMethod) -} - -func (this verificationMethodTable) Update(ctx context.Context, verificationMethod *VerificationMethod) error { - return this.table.Update(ctx, verificationMethod) -} - -func (this verificationMethodTable) Save(ctx context.Context, verificationMethod *VerificationMethod) error { - return this.table.Save(ctx, verificationMethod) -} - -func (this verificationMethodTable) Delete(ctx context.Context, verificationMethod *VerificationMethod) error { - return this.table.Delete(ctx, verificationMethod) -} - -func (this verificationMethodTable) Has(ctx context.Context, id string) (found bool, err error) { - return this.table.PrimaryKey().Has(ctx, id) -} - -func (this verificationMethodTable) Get(ctx context.Context, id string) (*VerificationMethod, error) { - var verificationMethod VerificationMethod - found, err := this.table.PrimaryKey().Get(ctx, &verificationMethod, id) - if err != nil { - return nil, err - } - if !found { - return nil, ormerrors.NotFound - } - return &verificationMethod, nil -} - -func (this verificationMethodTable) HasByControllerMethodIssuerSubject(ctx context.Context, controller string, method DIDNamespace, issuer string, subject string) (found bool, err error) { - return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, - controller, - method, - issuer, - subject, - ) -} - -func (this verificationMethodTable) GetByControllerMethodIssuerSubject(ctx context.Context, controller string, method DIDNamespace, issuer string, subject string) (*VerificationMethod, error) { - var verificationMethod VerificationMethod - found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &verificationMethod, - controller, - method, - issuer, - subject, - ) - if err != nil { - return nil, err - } - if !found { - return nil, ormerrors.NotFound - } - return &verificationMethod, nil -} - -func (this verificationMethodTable) List(ctx context.Context, prefixKey VerificationMethodIndexKey, opts ...ormlist.Option) (VerificationMethodIterator, error) { - it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) - return VerificationMethodIterator{it}, err -} - -func (this verificationMethodTable) ListRange(ctx context.Context, from, to VerificationMethodIndexKey, opts ...ormlist.Option) (VerificationMethodIterator, error) { - it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) - return VerificationMethodIterator{it}, err -} - -func (this verificationMethodTable) DeleteBy(ctx context.Context, prefixKey VerificationMethodIndexKey) error { - return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) -} - -func (this verificationMethodTable) DeleteRange(ctx context.Context, from, to VerificationMethodIndexKey) error { - return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) -} - -func (this verificationMethodTable) doNotImplement() {} - -var _ VerificationMethodTable = verificationMethodTable{} - -func NewVerificationMethodTable(db ormtable.Schema) (VerificationMethodTable, error) { - table := db.GetTable(&VerificationMethod{}) - if table == nil { - return nil, ormerrors.TableNotFound.Wrap(string((&VerificationMethod{}).ProtoReflect().Descriptor().FullName())) - } - return verificationMethodTable{table}, nil + return verificationTable{table}, nil } type StateStore interface { - AccountTable() AccountTable + AliasTable() AliasTable ControllerTable() ControllerTable - ProofTable() ProofTable - ServiceRecordTable() ServiceRecordTable - VerificationMethodTable() VerificationMethodTable + VerificationTable() VerificationTable doNotImplement() } type stateStore struct { - account AccountTable - controller ControllerTable - proof ProofTable - serviceRecord ServiceRecordTable - verificationMethod VerificationMethodTable + alias AliasTable + controller ControllerTable + verification VerificationTable } -func (x stateStore) AccountTable() AccountTable { - return x.account +func (x stateStore) AliasTable() AliasTable { + return x.alias } func (x stateStore) ControllerTable() ControllerTable { return x.controller } -func (x stateStore) ProofTable() ProofTable { - return x.proof -} - -func (x stateStore) ServiceRecordTable() ServiceRecordTable { - return x.serviceRecord -} - -func (x stateStore) VerificationMethodTable() VerificationMethodTable { - return x.verificationMethod +func (x stateStore) VerificationTable() VerificationTable { + return x.verification } func (stateStore) doNotImplement() {} @@ -1044,7 +755,7 @@ func (stateStore) doNotImplement() {} var _ StateStore = stateStore{} func NewStateStore(db ormtable.Schema) (StateStore, error) { - accountTable, err := NewAccountTable(db) + aliasTable, err := NewAliasTable(db) if err != nil { return nil, err } @@ -1054,26 +765,14 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { return nil, err } - proofTable, err := NewProofTable(db) - if err != nil { - return nil, err - } - - serviceRecordTable, err := NewServiceRecordTable(db) - if err != nil { - return nil, err - } - - verificationMethodTable, err := NewVerificationMethodTable(db) + verificationTable, err := NewVerificationTable(db) if err != nil { return nil, err } return stateStore{ - accountTable, + aliasTable, controllerTable, - proofTable, - serviceRecordTable, - verificationMethodTable, + verificationTable, }, nil } diff --git a/api/did/v1/state.pulsar.go b/api/did/v1/state.pulsar.go index c9f92430a..3d0e07460 100644 --- a/api/did/v1/state.pulsar.go +++ b/api/did/v1/state.pulsar.go @@ -10,102 +10,33 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" io "io" reflect "reflect" - sort "sort" sync "sync" ) -var _ protoreflect.List = (*_Account_8_list)(nil) - -type _Account_8_list struct { - list *[]string -} - -func (x *_Account_8_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Account_8_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Account_8_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Account_8_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Account_8_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Account at list field Chains as it is not of Message kind")) -} - -func (x *_Account_8_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Account_8_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Account_8_list) IsValid() bool { - return x.list != nil -} - var ( - md_Account protoreflect.MessageDescriptor - fd_Account_id protoreflect.FieldDescriptor - fd_Account_controller protoreflect.FieldDescriptor - fd_Account_public_key protoreflect.FieldDescriptor - fd_Account_address protoreflect.FieldDescriptor - fd_Account_label protoreflect.FieldDescriptor - fd_Account_chain_code protoreflect.FieldDescriptor - fd_Account_index protoreflect.FieldDescriptor - fd_Account_chains protoreflect.FieldDescriptor - md_Aliases protoreflect.MessageDescriptor - fd_Aliases_id protoreflect.FieldDescriptor - fd_Aliases_origin protoreflect.FieldDescriptor - fd_Aliases_subject protoreflect.FieldDescriptor - fd_Aliases_controller protoreflect.FieldDescriptor - fd_Aliases_expiration protoreflect.FieldDescriptor + md_Alias protoreflect.MessageDescriptor + fd_Alias_id protoreflect.FieldDescriptor + fd_Alias_subject protoreflect.FieldDescriptor + fd_Alias_origin protoreflect.FieldDescriptor ) func init() { file_did_v1_state_proto_init() - md_Account = File_did_v1_state_proto.Messages().ByName("Account") - fd_Account_id = md_Account.Fields().ByName("id") - fd_Account_controller = md_Account.Fields().ByName("controller") - fd_Account_public_key = md_Account.Fields().ByName("public_key") - fd_Account_address = md_Account.Fields().ByName("address") - fd_Account_label = md_Account.Fields().ByName("label") - fd_Account_chain_code = md_Account.Fields().ByName("chain_code") - fd_Account_index = md_Account.Fields().ByName("index") - fd_Account_chains = md_Account.Fields().ByName("chains") - md_Aliases = File_did_v1_state_proto.Messages().ByName("Aliases") - fd_Aliases_id = md_Aliases.Fields().ByName("id") - fd_Aliases_origin = md_Aliases.Fields().ByName("origin") - fd_Aliases_subject = md_Aliases.Fields().ByName("subject") - fd_Aliases_controller = md_Aliases.Fields().ByName("controller") - fd_Aliases_expiration = md_Aliases.Fields().ByName("expiration") + md_Alias = File_did_v1_state_proto.Messages().ByName("Alias") + fd_Alias_id = md_Alias.Fields().ByName("id") + fd_Alias_subject = md_Alias.Fields().ByName("subject") + fd_Alias_origin = md_Alias.Fields().ByName("origin") } -var _ protoreflect.Message = (*fastReflection_Account)(nil) +var _ protoreflect.Message = (*fastReflection_Alias)(nil) -type fastReflection_Account Account +type fastReflection_Alias Alias -func (x *Account) ProtoReflect() protoreflect.Message { - return (*fastReflection_Account)(x) +func (x *Alias) ProtoReflect() protoreflect.Message { + return (*fastReflection_Alias)(x) } -func (x *Account) slowProtoReflect() protoreflect.Message { +func (x *Alias) slowProtoReflect() protoreflect.Message { mi := &file_did_v1_state_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -117,43 +48,43 @@ func (x *Account) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_Account_messageType fastReflection_Account_messageType -var _ protoreflect.MessageType = fastReflection_Account_messageType{} +var _fastReflection_Alias_messageType fastReflection_Alias_messageType +var _ protoreflect.MessageType = fastReflection_Alias_messageType{} -type fastReflection_Account_messageType struct{} +type fastReflection_Alias_messageType struct{} -func (x fastReflection_Account_messageType) Zero() protoreflect.Message { - return (*fastReflection_Account)(nil) +func (x fastReflection_Alias_messageType) Zero() protoreflect.Message { + return (*fastReflection_Alias)(nil) } -func (x fastReflection_Account_messageType) New() protoreflect.Message { - return new(fastReflection_Account) +func (x fastReflection_Alias_messageType) New() protoreflect.Message { + return new(fastReflection_Alias) } -func (x fastReflection_Account_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Account +func (x fastReflection_Alias_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Alias } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_Account) Descriptor() protoreflect.MessageDescriptor { - return md_Account +func (x *fastReflection_Alias) Descriptor() protoreflect.MessageDescriptor { + return md_Alias } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_Account) Type() protoreflect.MessageType { - return _fastReflection_Account_messageType +func (x *fastReflection_Alias) Type() protoreflect.MessageType { + return _fastReflection_Alias_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_Account) New() protoreflect.Message { - return new(fastReflection_Account) +func (x *fastReflection_Alias) New() protoreflect.Message { + return new(fastReflection_Alias) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_Account) Interface() protoreflect.ProtoMessage { - return (*Account)(x) +func (x *fastReflection_Alias) Interface() protoreflect.ProtoMessage { + return (*Alias)(x) } // Range iterates over every populated field in an undefined order, @@ -161,65 +92,22 @@ func (x *fastReflection_Account) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_Account) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_Alias) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Id != "" { value := protoreflect.ValueOfString(x.Id) - if !f(fd_Account_id, value) { - if !f(fd_Aliases_id, value) { - return - } - } - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_Aliases_origin, value) { + if !f(fd_Alias_id, value) { return } } if x.Subject != "" { value := protoreflect.ValueOfString(x.Subject) - if !f(fd_Aliases_subject, value) { + if !f(fd_Alias_subject, value) { return } } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_Account_controller, value) { - return - } - } - if x.PublicKey != nil { - value := protoreflect.ValueOfMessage(x.PublicKey.ProtoReflect()) - if !f(fd_Account_public_key, value) { - return - } - } - if x.Address != "" { - value := protoreflect.ValueOfString(x.Address) - if !f(fd_Account_address, value) { - return - } - } - if x.Label != "" { - value := protoreflect.ValueOfString(x.Label) - if !f(fd_Account_label, value) { - return - } - } - if x.ChainCode != uint32(0) { - value := protoreflect.ValueOfUint32(x.ChainCode) - if !f(fd_Account_chain_code, value) { - return - } - } - if x.Index != uint32(0) { - value := protoreflect.ValueOfUint32(x.Index) - if !f(fd_Account_index, value) { - return - } - } - if len(x.Chains) != 0 { - value := protoreflect.ValueOfList(&_Account_8_list{list: &x.Chains}) - if !f(fd_Account_chains, value) { + if x.Origin != "" { + value := protoreflect.ValueOfString(x.Origin) + if !f(fd_Alias_origin, value) { return } } @@ -236,34 +124,19 @@ func (x *fastReflection_Account) Range(f func(protoreflect.FieldDescriptor, prot // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_Account) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_Alias) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.Account.id": + case "did.v1.Alias.id": return x.Id != "" - case "did.v1.Account.controller": - case "did.v1.Aliases.origin": - return x.Origin != "" - case "did.v1.Aliases.subject": + case "did.v1.Alias.subject": return x.Subject != "" - case "did.v1.Aliases.controller": - return x.Controller != "" - case "did.v1.Account.public_key": - return x.PublicKey != nil - case "did.v1.Account.address": - return x.Address != "" - case "did.v1.Account.label": - return x.Label != "" - case "did.v1.Account.chain_code": - return x.ChainCode != uint32(0) - case "did.v1.Account.index": - return x.Index != uint32(0) - case "did.v1.Account.chains": - return len(x.Chains) != 0 + case "did.v1.Alias.origin": + return x.Origin != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Account")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) } - panic(fmt.Errorf("message did.v1.Account does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) } } @@ -273,34 +146,19 @@ func (x *fastReflection_Account) Has(fd protoreflect.FieldDescriptor) bool { // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Account) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_Alias) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.Account.id": + case "did.v1.Alias.id": x.Id = "" - case "did.v1.Account.controller": - case "did.v1.Aliases.origin": - x.Origin = "" - case "did.v1.Aliases.subject": + case "did.v1.Alias.subject": x.Subject = "" - case "did.v1.Aliases.controller": - x.Controller = "" - case "did.v1.Account.public_key": - x.PublicKey = nil - case "did.v1.Account.address": - x.Address = "" - case "did.v1.Account.label": - x.Label = "" - case "did.v1.Account.chain_code": - x.ChainCode = uint32(0) - case "did.v1.Account.index": - x.Index = uint32(0) - case "did.v1.Account.chains": - x.Chains = nil + case "did.v1.Alias.origin": + x.Origin = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Account")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) } - panic(fmt.Errorf("message did.v1.Account does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) } } @@ -310,47 +168,22 @@ func (x *fastReflection_Account) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Account) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Alias) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.Account.id": + case "did.v1.Alias.id": value := x.Id return protoreflect.ValueOfString(value) - case "did.v1.Account.controller": - case "did.v1.Aliases.origin": - value := x.Origin - return protoreflect.ValueOfString(value) - case "did.v1.Aliases.subject": + case "did.v1.Alias.subject": value := x.Subject return protoreflect.ValueOfString(value) - case "did.v1.Aliases.controller": - value := x.Controller + case "did.v1.Alias.origin": + value := x.Origin return protoreflect.ValueOfString(value) - case "did.v1.Account.public_key": - value := x.PublicKey - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.Account.address": - value := x.Address - return protoreflect.ValueOfString(value) - case "did.v1.Account.label": - value := x.Label - return protoreflect.ValueOfString(value) - case "did.v1.Account.chain_code": - value := x.ChainCode - return protoreflect.ValueOfUint32(value) - case "did.v1.Account.index": - value := x.Index - return protoreflect.ValueOfUint32(value) - case "did.v1.Account.chains": - if len(x.Chains) == 0 { - return protoreflect.ValueOfList(&_Account_8_list{}) - } - listValue := &_Account_8_list{list: &x.Chains} - return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Account")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) } - panic(fmt.Errorf("message did.v1.Account does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.Alias does not contain field %s", descriptor.FullName())) } } @@ -364,36 +197,19 @@ func (x *fastReflection_Account) Get(descriptor protoreflect.FieldDescriptor) pr // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Account) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_Alias) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.Account.id": + case "did.v1.Alias.id": x.Id = value.Interface().(string) - case "did.v1.Account.controller": - case "did.v1.Aliases.origin": - x.Origin = value.Interface().(string) - case "did.v1.Aliases.subject": + case "did.v1.Alias.subject": x.Subject = value.Interface().(string) - case "did.v1.Aliases.controller": - x.Controller = value.Interface().(string) - case "did.v1.Account.public_key": - x.PublicKey = value.Message().Interface().(*PubKey) - case "did.v1.Account.address": - x.Address = value.Interface().(string) - case "did.v1.Account.label": - x.Label = value.Interface().(string) - case "did.v1.Account.chain_code": - x.ChainCode = uint32(value.Uint()) - case "did.v1.Account.index": - x.Index = uint32(value.Uint()) - case "did.v1.Account.chains": - lv := value.List() - clv := lv.(*_Account_8_list) - x.Chains = *clv.list + case "did.v1.Alias.origin": + x.Origin = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Account")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) } - panic(fmt.Errorf("message did.v1.Account does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) } } @@ -407,88 +223,48 @@ func (x *fastReflection_Account) Set(fd protoreflect.FieldDescriptor, value prot // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Account) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Alias) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.Account.public_key": - if x.PublicKey == nil { - x.PublicKey = new(PubKey) - } - return protoreflect.ValueOfMessage(x.PublicKey.ProtoReflect()) - case "did.v1.Account.chains": - if x.Chains == nil { - x.Chains = []string{} - } - value := &_Account_8_list{list: &x.Chains} - return protoreflect.ValueOfList(value) - case "did.v1.Account.id": - panic(fmt.Errorf("field id of message did.v1.Account is not mutable")) - case "did.v1.Account.controller": - panic(fmt.Errorf("field controller of message did.v1.Account is not mutable")) - case "did.v1.Account.address": - panic(fmt.Errorf("field address of message did.v1.Account is not mutable")) - case "did.v1.Account.label": - panic(fmt.Errorf("field label of message did.v1.Account is not mutable")) - case "did.v1.Account.chain_code": - panic(fmt.Errorf("field chain_code of message did.v1.Account is not mutable")) - case "did.v1.Account.index": - panic(fmt.Errorf("field index of message did.v1.Account is not mutable")) - case "did.v1.Aliases.id": - panic(fmt.Errorf("field id of message did.v1.Aliases is not mutable")) - case "did.v1.Aliases.origin": - panic(fmt.Errorf("field origin of message did.v1.Aliases is not mutable")) - case "did.v1.Aliases.subject": - panic(fmt.Errorf("field subject of message did.v1.Aliases is not mutable")) - case "did.v1.Aliases.controller": - panic(fmt.Errorf("field controller of message did.v1.Aliases is not mutable")) - case "did.v1.Aliases.expiration": - panic(fmt.Errorf("field expiration of message did.v1.Aliases is not mutable")) + case "did.v1.Alias.id": + panic(fmt.Errorf("field id of message did.v1.Alias is not mutable")) + case "did.v1.Alias.subject": + panic(fmt.Errorf("field subject of message did.v1.Alias is not mutable")) + case "did.v1.Alias.origin": + panic(fmt.Errorf("field origin of message did.v1.Alias is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Account")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) } - panic(fmt.Errorf("message did.v1.Account does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Account) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Alias) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.Account.id": + case "did.v1.Alias.id": return protoreflect.ValueOfString("") - case "did.v1.Account.controller": + case "did.v1.Alias.subject": return protoreflect.ValueOfString("") - case "did.v1.Account.public_key": - m := new(PubKey) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.Account.address": - case "did.v1.Aliases.subject": + case "did.v1.Alias.origin": return protoreflect.ValueOfString("") - case "did.v1.Account.label": - return protoreflect.ValueOfString("") - case "did.v1.Account.chain_code": - return protoreflect.ValueOfUint32(uint32(0)) - case "did.v1.Account.index": - return protoreflect.ValueOfUint32(uint32(0)) - case "did.v1.Account.chains": - list := []string{} - return protoreflect.ValueOfList(&_Account_8_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Account")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Alias")) } - panic(fmt.Errorf("message did.v1.Account does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Alias does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Account) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_Alias) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Account", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.Alias", d.FullName())) } panic("unreachable") } @@ -496,7 +272,7 @@ func (x *fastReflection_Account) WhichOneof(d protoreflect.OneofDescriptor) prot // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Account) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_Alias) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -507,7 +283,7 @@ func (x *fastReflection_Account) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Account) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_Alias) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -519,7 +295,7 @@ func (x *fastReflection_Account) SetUnknown(fields protoreflect.RawFields) { // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_Account) IsValid() bool { +func (x *fastReflection_Alias) IsValid() bool { return x != nil } @@ -529,9 +305,9 @@ func (x *fastReflection_Account) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_Alias) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Account) + x := input.Message.Interface().(*Alias) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -547,42 +323,14 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Origin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } l = len(x.Subject) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Controller) + l = len(x.Origin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.PublicKey != nil { - l = options.Size(x.PublicKey) - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Address) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Label) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.ChainCode != 0 { - n += 1 + runtime.Sov(uint64(x.ChainCode)) - } - if x.Index != 0 { - n += 1 + runtime.Sov(uint64(x.Index)) - } - if len(x.Chains) > 0 { - for _, s := range x.Chains { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -593,7 +341,7 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Account) + x := input.Message.Interface().(*Alias) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -612,72 +360,18 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Chains) > 0 { - for iNdEx := len(x.Chains) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Chains[iNdEx]) - copy(dAtA[i:], x.Chains[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Chains[iNdEx]))) - i-- - dAtA[i] = 0x42 - } - } - if x.Index != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Index)) - i-- - dAtA[i] = 0x38 - } - if x.ChainCode != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.ChainCode)) - i-- - dAtA[i] = 0x30 - } - if len(x.Label) > 0 { - i -= len(x.Label) - copy(dAtA[i:], x.Label) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Label))) - i-- - dAtA[i] = 0x2a - } - if len(x.Address) > 0 { - i -= len(x.Address) - copy(dAtA[i:], x.Address) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) - i-- - dAtA[i] = 0x22 - } - if x.PublicKey != nil { - encoded, err := options.Marshal(x.PublicKey) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + if len(x.Origin) > 0 { + i -= len(x.Origin) + copy(dAtA[i:], x.Origin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) i-- dAtA[i] = 0x1a } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x22 - } if len(x.Subject) > 0 { i -= len(x.Subject) copy(dAtA[i:], x.Subject) i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Subject))) i-- - dAtA[i] = 0x1a - } - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) - i-- dAtA[i] = 0x12 } if len(x.Id) > 0 { @@ -698,7 +392,7 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Account) + x := input.Message.Interface().(*Alias) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -730,10 +424,10 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Account: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Alias: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Account: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Alias: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -769,38 +463,6 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { x.Id = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Origin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Subject", wireType) } @@ -832,77 +494,9 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { } x.Subject = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.PublicKey == nil { - x.PublicKey = &PubKey{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PublicKey); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -930,109 +524,7 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Label", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Label = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ChainCode", wireType) - } - x.ChainCode = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.ChainCode |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) - } - x.Index = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Index |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Chains", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Chains = append(x.Chains, string(dAtA[iNdEx:postIndex])) + x.Origin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -1069,127 +561,123 @@ func (x *fastReflection_Account) ProtoMethods() *protoiface.Methods { } } -var _ protoreflect.List = (*_Controller_3_list)(nil) +var _ protoreflect.List = (*_Controller_5_list)(nil) -type _Controller_3_list struct { - list *[]*Alias +type _Controller_5_list struct { + list *[]string } -func (x *_Controller_3_list) Len() int { +func (x *_Controller_5_list) Len() int { if x.list == nil { return 0 } return len(*x.list) } -func (x *_Controller_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +func (x *_Controller_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) } -func (x *_Controller_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Alias) +func (x *_Controller_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped (*x.list)[i] = concreteValue } -func (x *_Controller_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Alias) +func (x *_Controller_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped *x.list = append(*x.list, concreteValue) } -func (x *_Controller_3_list) AppendMutable() protoreflect.Value { - v := new(Alias) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) +func (x *_Controller_5_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Controller at list field Aliases as it is not of Message kind")) } -func (x *_Controller_3_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } +func (x *_Controller_5_list) Truncate(n int) { *x.list = (*x.list)[:n] } -func (x *_Controller_3_list) NewElement() protoreflect.Value { - v := new(Alias) - return protoreflect.ValueOfMessage(v.ProtoReflect()) +func (x *_Controller_5_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) } -func (x *_Controller_3_list) IsValid() bool { +func (x *_Controller_5_list) IsValid() bool { return x.list != nil } -var _ protoreflect.List = (*_Controller_6_list)(nil) +var _ protoreflect.List = (*_Controller_8_list)(nil) -type _Controller_6_list struct { - list *[]*Credential +type _Controller_8_list struct { + list *[]string } -func (x *_Controller_6_list) Len() int { +func (x *_Controller_8_list) Len() int { if x.list == nil { return 0 } return len(*x.list) } -func (x *_Controller_6_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +func (x *_Controller_8_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) } -func (x *_Controller_6_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credential) +func (x *_Controller_8_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped (*x.list)[i] = concreteValue } -func (x *_Controller_6_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credential) +func (x *_Controller_8_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped *x.list = append(*x.list, concreteValue) } -func (x *_Controller_6_list) AppendMutable() protoreflect.Value { - v := new(Credential) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) +func (x *_Controller_8_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Controller at list field Authentication as it is not of Message kind")) } -func (x *_Controller_6_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } +func (x *_Controller_8_list) Truncate(n int) { *x.list = (*x.list)[:n] } -func (x *_Controller_6_list) NewElement() protoreflect.Value { - v := new(Credential) - return protoreflect.ValueOfMessage(v.ProtoReflect()) +func (x *_Controller_8_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) } -func (x *_Controller_6_list) IsValid() bool { +func (x *_Controller_8_list) IsValid() bool { return x.list != nil } var ( md_Controller protoreflect.MessageDescriptor fd_Controller_id protoreflect.FieldDescriptor - fd_Controller_address protoreflect.FieldDescriptor + fd_Controller_sonr_address protoreflect.FieldDescriptor + fd_Controller_eth_address protoreflect.FieldDescriptor + fd_Controller_btc_address protoreflect.FieldDescriptor fd_Controller_aliases protoreflect.FieldDescriptor fd_Controller_public_key protoreflect.FieldDescriptor fd_Controller_vault_cid protoreflect.FieldDescriptor fd_Controller_authentication protoreflect.FieldDescriptor + fd_Controller_status protoreflect.FieldDescriptor ) func init() { file_did_v1_state_proto_init() md_Controller = File_did_v1_state_proto.Messages().ByName("Controller") fd_Controller_id = md_Controller.Fields().ByName("id") - fd_Controller_address = md_Controller.Fields().ByName("address") + fd_Controller_sonr_address = md_Controller.Fields().ByName("sonr_address") + fd_Controller_eth_address = md_Controller.Fields().ByName("eth_address") + fd_Controller_btc_address = md_Controller.Fields().ByName("btc_address") fd_Controller_aliases = md_Controller.Fields().ByName("aliases") fd_Controller_public_key = md_Controller.Fields().ByName("public_key") fd_Controller_vault_cid = md_Controller.Fields().ByName("vault_cid") fd_Controller_authentication = md_Controller.Fields().ByName("authentication") + fd_Controller_status = md_Controller.Fields().ByName("status") } var _ protoreflect.Message = (*fastReflection_Controller)(nil) @@ -1263,14 +751,26 @@ func (x *fastReflection_Controller) Range(f func(protoreflect.FieldDescriptor, p return } } - if x.Address != "" { - value := protoreflect.ValueOfString(x.Address) - if !f(fd_Controller_address, value) { + if x.SonrAddress != "" { + value := protoreflect.ValueOfString(x.SonrAddress) + if !f(fd_Controller_sonr_address, value) { + return + } + } + if x.EthAddress != "" { + value := protoreflect.ValueOfString(x.EthAddress) + if !f(fd_Controller_eth_address, value) { + return + } + } + if x.BtcAddress != "" { + value := protoreflect.ValueOfString(x.BtcAddress) + if !f(fd_Controller_btc_address, value) { return } } if len(x.Aliases) != 0 { - value := protoreflect.ValueOfList(&_Controller_3_list{list: &x.Aliases}) + value := protoreflect.ValueOfList(&_Controller_5_list{list: &x.Aliases}) if !f(fd_Controller_aliases, value) { return } @@ -1288,11 +788,17 @@ func (x *fastReflection_Controller) Range(f func(protoreflect.FieldDescriptor, p } } if len(x.Authentication) != 0 { - value := protoreflect.ValueOfList(&_Controller_6_list{list: &x.Authentication}) + value := protoreflect.ValueOfList(&_Controller_8_list{list: &x.Authentication}) if !f(fd_Controller_authentication, value) { return } } + if x.Status != "" { + value := protoreflect.ValueOfString(x.Status) + if !f(fd_Controller_status, value) { + return + } + } } // Has reports whether a field is populated. @@ -1310,8 +816,12 @@ func (x *fastReflection_Controller) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { case "did.v1.Controller.id": return x.Id != "" - case "did.v1.Controller.address": - return x.Address != "" + case "did.v1.Controller.sonr_address": + return x.SonrAddress != "" + case "did.v1.Controller.eth_address": + return x.EthAddress != "" + case "did.v1.Controller.btc_address": + return x.BtcAddress != "" case "did.v1.Controller.aliases": return len(x.Aliases) != 0 case "did.v1.Controller.public_key": @@ -1320,6 +830,8 @@ func (x *fastReflection_Controller) Has(fd protoreflect.FieldDescriptor) bool { return x.VaultCid != "" case "did.v1.Controller.authentication": return len(x.Authentication) != 0 + case "did.v1.Controller.status": + return x.Status != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Controller")) @@ -1338,8 +850,12 @@ func (x *fastReflection_Controller) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "did.v1.Controller.id": x.Id = "" - case "did.v1.Controller.address": - x.Address = "" + case "did.v1.Controller.sonr_address": + x.SonrAddress = "" + case "did.v1.Controller.eth_address": + x.EthAddress = "" + case "did.v1.Controller.btc_address": + x.BtcAddress = "" case "did.v1.Controller.aliases": x.Aliases = nil case "did.v1.Controller.public_key": @@ -1348,6 +864,8 @@ func (x *fastReflection_Controller) Clear(fd protoreflect.FieldDescriptor) { x.VaultCid = "" case "did.v1.Controller.authentication": x.Authentication = nil + case "did.v1.Controller.status": + x.Status = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Controller")) @@ -1367,14 +885,20 @@ func (x *fastReflection_Controller) Get(descriptor protoreflect.FieldDescriptor) case "did.v1.Controller.id": value := x.Id return protoreflect.ValueOfString(value) - case "did.v1.Controller.address": - value := x.Address + case "did.v1.Controller.sonr_address": + value := x.SonrAddress + return protoreflect.ValueOfString(value) + case "did.v1.Controller.eth_address": + value := x.EthAddress + return protoreflect.ValueOfString(value) + case "did.v1.Controller.btc_address": + value := x.BtcAddress return protoreflect.ValueOfString(value) case "did.v1.Controller.aliases": if len(x.Aliases) == 0 { - return protoreflect.ValueOfList(&_Controller_3_list{}) + return protoreflect.ValueOfList(&_Controller_5_list{}) } - listValue := &_Controller_3_list{list: &x.Aliases} + listValue := &_Controller_5_list{list: &x.Aliases} return protoreflect.ValueOfList(listValue) case "did.v1.Controller.public_key": value := x.PublicKey @@ -1384,10 +908,13 @@ func (x *fastReflection_Controller) Get(descriptor protoreflect.FieldDescriptor) return protoreflect.ValueOfString(value) case "did.v1.Controller.authentication": if len(x.Authentication) == 0 { - return protoreflect.ValueOfList(&_Controller_6_list{}) + return protoreflect.ValueOfList(&_Controller_8_list{}) } - listValue := &_Controller_6_list{list: &x.Authentication} + listValue := &_Controller_8_list{list: &x.Authentication} return protoreflect.ValueOfList(listValue) + case "did.v1.Controller.status": + value := x.Status + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Controller")) @@ -1410,11 +937,15 @@ func (x *fastReflection_Controller) Set(fd protoreflect.FieldDescriptor, value p switch fd.FullName() { case "did.v1.Controller.id": x.Id = value.Interface().(string) - case "did.v1.Controller.address": - x.Address = value.Interface().(string) + case "did.v1.Controller.sonr_address": + x.SonrAddress = value.Interface().(string) + case "did.v1.Controller.eth_address": + x.EthAddress = value.Interface().(string) + case "did.v1.Controller.btc_address": + x.BtcAddress = value.Interface().(string) case "did.v1.Controller.aliases": lv := value.List() - clv := lv.(*_Controller_3_list) + clv := lv.(*_Controller_5_list) x.Aliases = *clv.list case "did.v1.Controller.public_key": x.PublicKey = value.Message().Interface().(*PubKey) @@ -1422,8 +953,10 @@ func (x *fastReflection_Controller) Set(fd protoreflect.FieldDescriptor, value p x.VaultCid = value.Interface().(string) case "did.v1.Controller.authentication": lv := value.List() - clv := lv.(*_Controller_6_list) + clv := lv.(*_Controller_8_list) x.Authentication = *clv.list + case "did.v1.Controller.status": + x.Status = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Controller")) @@ -1446,9 +979,9 @@ func (x *fastReflection_Controller) Mutable(fd protoreflect.FieldDescriptor) pro switch fd.FullName() { case "did.v1.Controller.aliases": if x.Aliases == nil { - x.Aliases = []*Alias{} + x.Aliases = []string{} } - value := &_Controller_3_list{list: &x.Aliases} + value := &_Controller_5_list{list: &x.Aliases} return protoreflect.ValueOfList(value) case "did.v1.Controller.public_key": if x.PublicKey == nil { @@ -1457,16 +990,22 @@ func (x *fastReflection_Controller) Mutable(fd protoreflect.FieldDescriptor) pro return protoreflect.ValueOfMessage(x.PublicKey.ProtoReflect()) case "did.v1.Controller.authentication": if x.Authentication == nil { - x.Authentication = []*Credential{} + x.Authentication = []string{} } - value := &_Controller_6_list{list: &x.Authentication} + value := &_Controller_8_list{list: &x.Authentication} return protoreflect.ValueOfList(value) case "did.v1.Controller.id": panic(fmt.Errorf("field id of message did.v1.Controller is not mutable")) - case "did.v1.Controller.address": - panic(fmt.Errorf("field address of message did.v1.Controller is not mutable")) + case "did.v1.Controller.sonr_address": + panic(fmt.Errorf("field sonr_address of message did.v1.Controller is not mutable")) + case "did.v1.Controller.eth_address": + panic(fmt.Errorf("field eth_address of message did.v1.Controller is not mutable")) + case "did.v1.Controller.btc_address": + panic(fmt.Errorf("field btc_address of message did.v1.Controller is not mutable")) case "did.v1.Controller.vault_cid": panic(fmt.Errorf("field vault_cid of message did.v1.Controller is not mutable")) + case "did.v1.Controller.status": + panic(fmt.Errorf("field status of message did.v1.Controller is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Controller")) @@ -1482,19 +1021,25 @@ func (x *fastReflection_Controller) NewField(fd protoreflect.FieldDescriptor) pr switch fd.FullName() { case "did.v1.Controller.id": return protoreflect.ValueOfString("") - case "did.v1.Controller.address": + case "did.v1.Controller.sonr_address": + return protoreflect.ValueOfString("") + case "did.v1.Controller.eth_address": + return protoreflect.ValueOfString("") + case "did.v1.Controller.btc_address": return protoreflect.ValueOfString("") case "did.v1.Controller.aliases": - list := []*Alias{} - return protoreflect.ValueOfList(&_Controller_3_list{list: &list}) + list := []string{} + return protoreflect.ValueOfList(&_Controller_5_list{list: &list}) case "did.v1.Controller.public_key": m := new(PubKey) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "did.v1.Controller.vault_cid": return protoreflect.ValueOfString("") case "did.v1.Controller.authentication": - list := []*Credential{} - return protoreflect.ValueOfList(&_Controller_6_list{list: &list}) + list := []string{} + return protoreflect.ValueOfList(&_Controller_8_list{list: &list}) + case "did.v1.Controller.status": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Controller")) @@ -1568,13 +1113,21 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Address) + l = len(x.SonrAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.EthAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.BtcAddress) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } if len(x.Aliases) > 0 { - for _, e := range x.Aliases { - l = options.Size(e) + for _, s := range x.Aliases { + l = len(s) n += 1 + l + runtime.Sov(uint64(l)) } } @@ -1587,11 +1140,15 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { n += 1 + l + runtime.Sov(uint64(l)) } if len(x.Authentication) > 0 { - for _, e := range x.Authentication { - l = options.Size(e) + for _, s := range x.Authentication { + l = len(s) n += 1 + l + runtime.Sov(uint64(l)) } } + l = len(x.Status) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -1621,20 +1178,20 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Status) > 0 { + i -= len(x.Status) + copy(dAtA[i:], x.Status) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Status))) + i-- + dAtA[i] = 0x4a + } if len(x.Authentication) > 0 { for iNdEx := len(x.Authentication) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Authentication[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i -= len(x.Authentication[iNdEx]) + copy(dAtA[i:], x.Authentication[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authentication[iNdEx]))) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x42 } } if len(x.VaultCid) > 0 { @@ -1642,7 +1199,7 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { copy(dAtA[i:], x.VaultCid) i = runtime.EncodeVarint(dAtA, i, uint64(len(x.VaultCid))) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x3a } if x.PublicKey != nil { encoded, err := options.Marshal(x.PublicKey) @@ -1656,28 +1213,35 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x32 } if len(x.Aliases) > 0 { for iNdEx := len(x.Aliases) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Aliases[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i -= len(x.Aliases[iNdEx]) + copy(dAtA[i:], x.Aliases[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Aliases[iNdEx]))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x2a } } - if len(x.Address) > 0 { - i -= len(x.Address) - copy(dAtA[i:], x.Address) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) + if len(x.BtcAddress) > 0 { + i -= len(x.BtcAddress) + copy(dAtA[i:], x.BtcAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BtcAddress))) + i-- + dAtA[i] = 0x22 + } + if len(x.EthAddress) > 0 { + i -= len(x.EthAddress) + copy(dAtA[i:], x.EthAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EthAddress))) + i-- + dAtA[i] = 0x1a + } + if len(x.SonrAddress) > 0 { + i -= len(x.SonrAddress) + copy(dAtA[i:], x.SonrAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SonrAddress))) i-- dAtA[i] = 0x12 } @@ -1771,7 +1335,7 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SonrAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1799,13 +1363,13 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Address = string(dAtA[iNdEx:postIndex]) + x.SonrAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Aliases", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EthAddress", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -1815,27 +1379,89 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Aliases = append(x.Aliases, &Alias{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Aliases[len(x.Aliases)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.EthAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BtcAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.BtcAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Aliases", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Aliases = append(x.Aliases, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) } @@ -1871,7 +1497,7 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex - case 5: + case 7: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VaultCid", wireType) } @@ -1903,11 +1529,11 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { } x.VaultCid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: + case 8: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authentication", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -1917,25 +1543,55 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Authentication = append(x.Authentication, &Credential{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Authentication[len(x.Authentication)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + x.Authentication = append(x.Authentication, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Status = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -1973,35 +1629,37 @@ func (x *fastReflection_Controller) ProtoMethods() *protoiface.Methods { } var ( - md_Proof protoreflect.MessageDescriptor - fd_Proof_id protoreflect.FieldDescriptor - fd_Proof_controller protoreflect.FieldDescriptor - fd_Proof_issuer protoreflect.FieldDescriptor - fd_Proof_property protoreflect.FieldDescriptor - fd_Proof_accumulator protoreflect.FieldDescriptor - fd_Proof_key protoreflect.FieldDescriptor + md_Verification protoreflect.MessageDescriptor + fd_Verification_id protoreflect.FieldDescriptor + fd_Verification_controller protoreflect.FieldDescriptor + fd_Verification_did_method protoreflect.FieldDescriptor + fd_Verification_issuer protoreflect.FieldDescriptor + fd_Verification_subject protoreflect.FieldDescriptor + fd_Verification_public_key protoreflect.FieldDescriptor + fd_Verification_verification_type protoreflect.FieldDescriptor ) func init() { file_did_v1_state_proto_init() - md_Proof = File_did_v1_state_proto.Messages().ByName("Proof") - fd_Proof_id = md_Proof.Fields().ByName("id") - fd_Proof_controller = md_Proof.Fields().ByName("controller") - fd_Proof_issuer = md_Proof.Fields().ByName("issuer") - fd_Proof_property = md_Proof.Fields().ByName("property") - fd_Proof_accumulator = md_Proof.Fields().ByName("accumulator") - fd_Proof_key = md_Proof.Fields().ByName("key") + md_Verification = File_did_v1_state_proto.Messages().ByName("Verification") + fd_Verification_id = md_Verification.Fields().ByName("id") + fd_Verification_controller = md_Verification.Fields().ByName("controller") + fd_Verification_did_method = md_Verification.Fields().ByName("did_method") + fd_Verification_issuer = md_Verification.Fields().ByName("issuer") + fd_Verification_subject = md_Verification.Fields().ByName("subject") + fd_Verification_public_key = md_Verification.Fields().ByName("public_key") + fd_Verification_verification_type = md_Verification.Fields().ByName("verification_type") } -var _ protoreflect.Message = (*fastReflection_Proof)(nil) +var _ protoreflect.Message = (*fastReflection_Verification)(nil) -type fastReflection_Proof Proof +type fastReflection_Verification Verification -func (x *Proof) ProtoReflect() protoreflect.Message { - return (*fastReflection_Proof)(x) +func (x *Verification) ProtoReflect() protoreflect.Message { + return (*fastReflection_Verification)(x) } -func (x *Proof) slowProtoReflect() protoreflect.Message { +func (x *Verification) slowProtoReflect() protoreflect.Message { mi := &file_did_v1_state_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2013,43 +1671,43 @@ func (x *Proof) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_Proof_messageType fastReflection_Proof_messageType -var _ protoreflect.MessageType = fastReflection_Proof_messageType{} +var _fastReflection_Verification_messageType fastReflection_Verification_messageType +var _ protoreflect.MessageType = fastReflection_Verification_messageType{} -type fastReflection_Proof_messageType struct{} +type fastReflection_Verification_messageType struct{} -func (x fastReflection_Proof_messageType) Zero() protoreflect.Message { - return (*fastReflection_Proof)(nil) +func (x fastReflection_Verification_messageType) Zero() protoreflect.Message { + return (*fastReflection_Verification)(nil) } -func (x fastReflection_Proof_messageType) New() protoreflect.Message { - return new(fastReflection_Proof) +func (x fastReflection_Verification_messageType) New() protoreflect.Message { + return new(fastReflection_Verification) } -func (x fastReflection_Proof_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Proof +func (x fastReflection_Verification_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Verification } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_Proof) Descriptor() protoreflect.MessageDescriptor { - return md_Proof +func (x *fastReflection_Verification) Descriptor() protoreflect.MessageDescriptor { + return md_Verification } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_Proof) Type() protoreflect.MessageType { - return _fastReflection_Proof_messageType +func (x *fastReflection_Verification) Type() protoreflect.MessageType { + return _fastReflection_Verification_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_Proof) New() protoreflect.Message { - return new(fastReflection_Proof) +func (x *fastReflection_Verification) New() protoreflect.Message { + return new(fastReflection_Verification) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_Proof) Interface() protoreflect.ProtoMessage { - return (*Proof)(x) +func (x *fastReflection_Verification) Interface() protoreflect.ProtoMessage { + return (*Verification)(x) } // Range iterates over every populated field in an undefined order, @@ -2057,2006 +1715,46 @@ func (x *fastReflection_Proof) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_Proof) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_Verification) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Id != "" { value := protoreflect.ValueOfString(x.Id) - if !f(fd_Proof_id, value) { + if !f(fd_Verification_id, value) { return } } if x.Controller != "" { value := protoreflect.ValueOfString(x.Controller) - if !f(fd_Proof_controller, value) { + if !f(fd_Verification_controller, value) { + return + } + } + if x.DidMethod != "" { + value := protoreflect.ValueOfString(x.DidMethod) + if !f(fd_Verification_did_method, value) { return } } if x.Issuer != "" { value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_Proof_issuer, value) { - return - } - } - if x.Property != "" { - value := protoreflect.ValueOfString(x.Property) - if !f(fd_Proof_property, value) { - return - } - } - if len(x.Accumulator) != 0 { - value := protoreflect.ValueOfBytes(x.Accumulator) - if !f(fd_Proof_accumulator, value) { - return - } - } - if len(x.Key) != 0 { - value := protoreflect.ValueOfBytes(x.Key) - if !f(fd_Proof_key, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Proof) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Proof.id": - return x.Id != "" - case "did.v1.Proof.controller": - return x.Controller != "" - case "did.v1.Proof.issuer": - return x.Issuer != "" - case "did.v1.Proof.property": - return x.Property != "" - case "did.v1.Proof.accumulator": - return len(x.Accumulator) != 0 - case "did.v1.Proof.key": - return len(x.Key) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Proof")) - } - panic(fmt.Errorf("message did.v1.Proof does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Proof) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Proof.id": - x.Id = "" - case "did.v1.Proof.controller": - x.Controller = "" - case "did.v1.Proof.issuer": - x.Issuer = "" - case "did.v1.Proof.property": - x.Property = "" - case "did.v1.Proof.accumulator": - x.Accumulator = nil - case "did.v1.Proof.key": - x.Key = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Proof")) - } - panic(fmt.Errorf("message did.v1.Proof does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Proof) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Proof.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.Proof.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.Proof.issuer": - value := x.Issuer - return protoreflect.ValueOfString(value) - case "did.v1.Proof.property": - value := x.Property - return protoreflect.ValueOfString(value) - case "did.v1.Proof.accumulator": - value := x.Accumulator - return protoreflect.ValueOfBytes(value) - case "did.v1.Proof.key": - value := x.Key - return protoreflect.ValueOfBytes(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Proof")) - } - panic(fmt.Errorf("message did.v1.Proof does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Proof) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Proof.id": - x.Id = value.Interface().(string) - case "did.v1.Proof.controller": - x.Controller = value.Interface().(string) - case "did.v1.Proof.issuer": - x.Issuer = value.Interface().(string) - case "did.v1.Proof.property": - x.Property = value.Interface().(string) - case "did.v1.Proof.accumulator": - x.Accumulator = value.Bytes() - case "did.v1.Proof.key": - x.Key = value.Bytes() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Proof")) - } - panic(fmt.Errorf("message did.v1.Proof does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Proof) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Proof.id": - panic(fmt.Errorf("field id of message did.v1.Proof is not mutable")) - case "did.v1.Proof.controller": - panic(fmt.Errorf("field controller of message did.v1.Proof is not mutable")) - case "did.v1.Proof.issuer": - panic(fmt.Errorf("field issuer of message did.v1.Proof is not mutable")) - case "did.v1.Proof.property": - panic(fmt.Errorf("field property of message did.v1.Proof is not mutable")) - case "did.v1.Proof.accumulator": - panic(fmt.Errorf("field accumulator of message did.v1.Proof is not mutable")) - case "did.v1.Proof.key": - panic(fmt.Errorf("field key of message did.v1.Proof is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Proof")) - } - panic(fmt.Errorf("message did.v1.Proof does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Proof) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Proof.id": - return protoreflect.ValueOfString("") - case "did.v1.Proof.controller": - return protoreflect.ValueOfString("") - case "did.v1.Proof.issuer": - return protoreflect.ValueOfString("") - case "did.v1.Proof.property": - return protoreflect.ValueOfString("") - case "did.v1.Proof.accumulator": - return protoreflect.ValueOfBytes(nil) - case "did.v1.Proof.key": - return protoreflect.ValueOfBytes(nil) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Proof")) - } - panic(fmt.Errorf("message did.v1.Proof does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Proof) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Proof", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Proof) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Proof) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Proof) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Proof) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Proof) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Issuer) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Property) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Accumulator) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Key) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Proof) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Key) > 0 { - i -= len(x.Key) - copy(dAtA[i:], x.Key) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Key))) - i-- - dAtA[i] = 0x32 - } - if len(x.Accumulator) > 0 { - i -= len(x.Accumulator) - copy(dAtA[i:], x.Accumulator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Accumulator))) - i-- - dAtA[i] = 0x2a - } - if len(x.Property) > 0 { - i -= len(x.Property) - copy(dAtA[i:], x.Property) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Property))) - i-- - dAtA[i] = 0x22 - } - if len(x.Issuer) > 0 { - i -= len(x.Issuer) - copy(dAtA[i:], x.Issuer) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) - i-- - dAtA[i] = 0x1a - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Proof) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Proof: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Proof: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Issuer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Property", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Property = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Accumulator", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Accumulator = append(x.Accumulator[:0], dAtA[iNdEx:postIndex]...) - if x.Accumulator == nil { - x.Accumulator = []byte{} - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Key = append(x.Key[:0], dAtA[iNdEx:postIndex]...) - if x.Key == nil { - x.Key = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.Map = (*_ServiceRecord_6_map)(nil) - -type _ServiceRecord_6_map struct { - m *map[string]string -} - -func (x *_ServiceRecord_6_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_ServiceRecord_6_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfString(v) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_ServiceRecord_6_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_ServiceRecord_6_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_ServiceRecord_6_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfString(v) -} - -func (x *_ServiceRecord_6_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.m)[concreteKey] = concreteValue -} - -func (x *_ServiceRecord_6_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") -} - -func (x *_ServiceRecord_6_map) NewValue() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_ServiceRecord_6_map) IsValid() bool { - return x.m != nil -} - -var ( - md_ServiceRecord protoreflect.MessageDescriptor - fd_ServiceRecord_id protoreflect.FieldDescriptor - fd_ServiceRecord_service_type protoreflect.FieldDescriptor - fd_ServiceRecord_authority protoreflect.FieldDescriptor - fd_ServiceRecord_origin protoreflect.FieldDescriptor - fd_ServiceRecord_description protoreflect.FieldDescriptor - fd_ServiceRecord_service_endpoints protoreflect.FieldDescriptor - fd_ServiceRecord_permissions protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_state_proto_init() - md_ServiceRecord = File_did_v1_state_proto.Messages().ByName("ServiceRecord") - fd_ServiceRecord_id = md_ServiceRecord.Fields().ByName("id") - fd_ServiceRecord_service_type = md_ServiceRecord.Fields().ByName("service_type") - fd_ServiceRecord_authority = md_ServiceRecord.Fields().ByName("authority") - fd_ServiceRecord_origin = md_ServiceRecord.Fields().ByName("origin") - fd_ServiceRecord_description = md_ServiceRecord.Fields().ByName("description") - fd_ServiceRecord_service_endpoints = md_ServiceRecord.Fields().ByName("service_endpoints") - fd_ServiceRecord_permissions = md_ServiceRecord.Fields().ByName("permissions") -} - -var _ protoreflect.Message = (*fastReflection_ServiceRecord)(nil) - -type fastReflection_ServiceRecord ServiceRecord - -func (x *ServiceRecord) ProtoReflect() protoreflect.Message { - return (*fastReflection_ServiceRecord)(x) -} - -func (x *ServiceRecord) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_state_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) -} - -var _fastReflection_ServiceRecord_messageType fastReflection_ServiceRecord_messageType -var _ protoreflect.MessageType = fastReflection_ServiceRecord_messageType{} - -type fastReflection_ServiceRecord_messageType struct{} - -func (x fastReflection_ServiceRecord_messageType) Zero() protoreflect.Message { - return (*fastReflection_ServiceRecord)(nil) -} -func (x fastReflection_ServiceRecord_messageType) New() protoreflect.Message { - return new(fastReflection_ServiceRecord) -} -func (x fastReflection_ServiceRecord_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ServiceRecord -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ServiceRecord) Descriptor() protoreflect.MessageDescriptor { - return md_ServiceRecord -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ServiceRecord) Type() protoreflect.MessageType { - return _fastReflection_ServiceRecord_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ServiceRecord) New() protoreflect.Message { - return new(fastReflection_ServiceRecord) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ServiceRecord) Interface() protoreflect.ProtoMessage { - return (*ServiceRecord)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ServiceRecord) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_ServiceRecord_id, value) { - return - } - } - if x.ServiceType != "" { - value := protoreflect.ValueOfString(x.ServiceType) - if !f(fd_ServiceRecord_service_type, value) { - return - } - } - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_ServiceRecord_authority, value) { - return - } - } - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_ServiceRecord_origin, value) { - return - } - } - if x.Description != "" { - value := protoreflect.ValueOfString(x.Description) - if !f(fd_ServiceRecord_description, value) { - return - } - } - if len(x.ServiceEndpoints) != 0 { - value := protoreflect.ValueOfMap(&_ServiceRecord_6_map{m: &x.ServiceEndpoints}) - if !f(fd_ServiceRecord_service_endpoints, value) { - return - } - } - if x.Permissions != nil { - value := protoreflect.ValueOfMessage(x.Permissions.ProtoReflect()) - if !f(fd_ServiceRecord_permissions, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ServiceRecord) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.ServiceRecord.id": - return x.Id != "" - case "did.v1.ServiceRecord.service_type": - return x.ServiceType != "" - case "did.v1.ServiceRecord.authority": - return x.Authority != "" - case "did.v1.ServiceRecord.origin": - return x.Origin != "" - case "did.v1.ServiceRecord.description": - return x.Description != "" - case "did.v1.ServiceRecord.service_endpoints": - return len(x.ServiceEndpoints) != 0 - case "did.v1.ServiceRecord.permissions": - return x.Permissions != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceRecord")) - } - panic(fmt.Errorf("message did.v1.ServiceRecord does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceRecord) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.ServiceRecord.id": - x.Id = "" - case "did.v1.ServiceRecord.service_type": - x.ServiceType = "" - case "did.v1.ServiceRecord.authority": - x.Authority = "" - case "did.v1.ServiceRecord.origin": - x.Origin = "" - case "did.v1.ServiceRecord.description": - x.Description = "" - case "did.v1.ServiceRecord.service_endpoints": - x.ServiceEndpoints = nil - case "did.v1.ServiceRecord.permissions": - x.Permissions = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceRecord")) - } - panic(fmt.Errorf("message did.v1.ServiceRecord does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ServiceRecord) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.ServiceRecord.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.ServiceRecord.service_type": - value := x.ServiceType - return protoreflect.ValueOfString(value) - case "did.v1.ServiceRecord.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "did.v1.ServiceRecord.origin": - value := x.Origin - return protoreflect.ValueOfString(value) - case "did.v1.ServiceRecord.description": - value := x.Description - return protoreflect.ValueOfString(value) - case "did.v1.ServiceRecord.service_endpoints": - if len(x.ServiceEndpoints) == 0 { - return protoreflect.ValueOfMap(&_ServiceRecord_6_map{}) - } - mapValue := &_ServiceRecord_6_map{m: &x.ServiceEndpoints} - return protoreflect.ValueOfMap(mapValue) - case "did.v1.ServiceRecord.permissions": - value := x.Permissions - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceRecord")) - } - panic(fmt.Errorf("message did.v1.ServiceRecord does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceRecord) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.ServiceRecord.id": - x.Id = value.Interface().(string) - case "did.v1.ServiceRecord.service_type": - x.ServiceType = value.Interface().(string) - case "did.v1.ServiceRecord.authority": - x.Authority = value.Interface().(string) - case "did.v1.ServiceRecord.origin": - x.Origin = value.Interface().(string) - case "did.v1.ServiceRecord.description": - x.Description = value.Interface().(string) - case "did.v1.ServiceRecord.service_endpoints": - mv := value.Map() - cmv := mv.(*_ServiceRecord_6_map) - x.ServiceEndpoints = *cmv.m - case "did.v1.ServiceRecord.permissions": - x.Permissions = value.Message().Interface().(*Permissions) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceRecord")) - } - panic(fmt.Errorf("message did.v1.ServiceRecord does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceRecord) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ServiceRecord.service_endpoints": - if x.ServiceEndpoints == nil { - x.ServiceEndpoints = make(map[string]string) - } - value := &_ServiceRecord_6_map{m: &x.ServiceEndpoints} - return protoreflect.ValueOfMap(value) - case "did.v1.ServiceRecord.permissions": - if x.Permissions == nil { - x.Permissions = new(Permissions) - } - return protoreflect.ValueOfMessage(x.Permissions.ProtoReflect()) - case "did.v1.ServiceRecord.id": - panic(fmt.Errorf("field id of message did.v1.ServiceRecord is not mutable")) - case "did.v1.ServiceRecord.service_type": - panic(fmt.Errorf("field service_type of message did.v1.ServiceRecord is not mutable")) - case "did.v1.ServiceRecord.authority": - panic(fmt.Errorf("field authority of message did.v1.ServiceRecord is not mutable")) - case "did.v1.ServiceRecord.origin": - panic(fmt.Errorf("field origin of message did.v1.ServiceRecord is not mutable")) - case "did.v1.ServiceRecord.description": - panic(fmt.Errorf("field description of message did.v1.ServiceRecord is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceRecord")) - } - panic(fmt.Errorf("message did.v1.ServiceRecord does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ServiceRecord) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ServiceRecord.id": - return protoreflect.ValueOfString("") - case "did.v1.ServiceRecord.service_type": - return protoreflect.ValueOfString("") - case "did.v1.ServiceRecord.authority": - return protoreflect.ValueOfString("") - case "did.v1.ServiceRecord.origin": - return protoreflect.ValueOfString("") - case "did.v1.ServiceRecord.description": - return protoreflect.ValueOfString("") - case "did.v1.ServiceRecord.service_endpoints": - m := make(map[string]string) - return protoreflect.ValueOfMap(&_ServiceRecord_6_map{m: &m}) - case "did.v1.ServiceRecord.permissions": - m := new(Permissions) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ServiceRecord")) - } - panic(fmt.Errorf("message did.v1.ServiceRecord does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ServiceRecord) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ServiceRecord", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ServiceRecord) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ServiceRecord) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ServiceRecord) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ServiceRecord) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ServiceRecord) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ServiceType) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Authority) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Origin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Description) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.ServiceEndpoints) > 0 { - SiZeMaP := func(k string, v string) { - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.ServiceEndpoints)) - for k := range x.ServiceEndpoints { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.ServiceEndpoints[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.ServiceEndpoints { - SiZeMaP(k, v) - } - } - } - if x.Permissions != nil { - l = options.Size(x.Permissions) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ServiceRecord) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Permissions != nil { - encoded, err := options.Marshal(x.Permissions) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x3a - } - if len(x.ServiceEndpoints) > 0 { - MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x32 - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForServiceEndpoints := make([]string, 0, len(x.ServiceEndpoints)) - for k := range x.ServiceEndpoints { - keysForServiceEndpoints = append(keysForServiceEndpoints, string(k)) - } - sort.Slice(keysForServiceEndpoints, func(i, j int) bool { - return keysForServiceEndpoints[i] < keysForServiceEndpoints[j] - }) - for iNdEx := len(keysForServiceEndpoints) - 1; iNdEx >= 0; iNdEx-- { - v := x.ServiceEndpoints[string(keysForServiceEndpoints[iNdEx])] - out, err := MaRsHaLmAp(keysForServiceEndpoints[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.ServiceEndpoints { - v := x.ServiceEndpoints[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if len(x.Description) > 0 { - i -= len(x.Description) - copy(dAtA[i:], x.Description) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Description))) - i-- - dAtA[i] = 0x2a - } - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) - i-- - dAtA[i] = 0x22 - } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) - i-- - dAtA[i] = 0x1a - } - if len(x.ServiceType) > 0 { - i -= len(x.ServiceType) - copy(dAtA[i:], x.ServiceType) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ServiceType))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ServiceRecord) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ServiceRecord: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ServiceRecord: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServiceType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.ServiceType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Origin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServiceEndpoints", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.ServiceEndpoints == nil { - x.ServiceEndpoints = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapvalue > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.ServiceEndpoints[mapkey] = mapvalue - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Permissions == nil { - x.Permissions = &Permissions{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Permissions); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.Map = (*_Service_5_map)(nil) - -type _Service_5_map struct { - m *map[string]string -} - -func (x *_Service_5_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_Service_5_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfString(v) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_Service_5_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_Service_5_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_Service_5_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfString(v) -} - -func (x *_Service_5_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.m)[concreteKey] = concreteValue -} - -func (x *_Service_5_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") -} - -func (x *_Service_5_map) NewValue() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Service_5_map) IsValid() bool { - return x.m != nil -} - -var _ protoreflect.List = (*_Service_6_list)(nil) - -type _Service_6_list struct { - list *[]PermissionScope -} - -func (x *_Service_6_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Service_6_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) -} - -func (x *_Service_6_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (PermissionScope)(valueUnwrapped) - (*x.list)[i] = concreteValue -} - -func (x *_Service_6_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (PermissionScope)(valueUnwrapped) - *x.list = append(*x.list, concreteValue) -} - -func (x *_Service_6_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Service at list field Scopes as it is not of Message kind")) -} - -func (x *_Service_6_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Service_6_list) NewElement() protoreflect.Value { - v := 0 - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) -} - -func (x *_Service_6_list) IsValid() bool { - return x.list != nil -} - -var ( - md_VerificationMethod protoreflect.MessageDescriptor - fd_VerificationMethod_id protoreflect.FieldDescriptor - fd_VerificationMethod_controller protoreflect.FieldDescriptor - fd_VerificationMethod_method protoreflect.FieldDescriptor - fd_VerificationMethod_issuer protoreflect.FieldDescriptor - fd_VerificationMethod_subject protoreflect.FieldDescriptor - fd_VerificationMethod_public_key protoreflect.FieldDescriptor - md_Service protoreflect.MessageDescriptor - fd_Service_id protoreflect.FieldDescriptor - fd_Service_service_type protoreflect.FieldDescriptor - fd_Service_controller_did protoreflect.FieldDescriptor - fd_Service_origin_uri protoreflect.FieldDescriptor - fd_Service_service_endpoints protoreflect.FieldDescriptor - fd_Service_scopes protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_state_proto_init() - md_VerificationMethod = File_did_v1_state_proto.Messages().ByName("VerificationMethod") - fd_VerificationMethod_id = md_VerificationMethod.Fields().ByName("id") - fd_VerificationMethod_controller = md_VerificationMethod.Fields().ByName("controller") - fd_VerificationMethod_method = md_VerificationMethod.Fields().ByName("method") - fd_VerificationMethod_issuer = md_VerificationMethod.Fields().ByName("issuer") - fd_VerificationMethod_subject = md_VerificationMethod.Fields().ByName("subject") - fd_VerificationMethod_public_key = md_VerificationMethod.Fields().ByName("public_key") - md_Service = File_did_v1_state_proto.Messages().ByName("Service") - fd_Service_id = md_Service.Fields().ByName("id") - fd_Service_service_type = md_Service.Fields().ByName("service_type") - fd_Service_controller_did = md_Service.Fields().ByName("controller_did") - fd_Service_origin_uri = md_Service.Fields().ByName("origin_uri") - fd_Service_service_endpoints = md_Service.Fields().ByName("service_endpoints") - fd_Service_scopes = md_Service.Fields().ByName("scopes") -} - -var _ protoreflect.Message = (*fastReflection_VerificationMethod)(nil) - -type fastReflection_VerificationMethod VerificationMethod - -func (x *VerificationMethod) ProtoReflect() protoreflect.Message { - return (*fastReflection_VerificationMethod)(x) -} - -func (x *VerificationMethod) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_state_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) -} - -var _fastReflection_VerificationMethod_messageType fastReflection_VerificationMethod_messageType -var _ protoreflect.MessageType = fastReflection_VerificationMethod_messageType{} - -type fastReflection_VerificationMethod_messageType struct{} - -func (x fastReflection_VerificationMethod_messageType) Zero() protoreflect.Message { - return (*fastReflection_VerificationMethod)(nil) -} -func (x fastReflection_VerificationMethod_messageType) New() protoreflect.Message { - return new(fastReflection_VerificationMethod) -} -func (x fastReflection_VerificationMethod_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_VerificationMethod -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_VerificationMethod) Descriptor() protoreflect.MessageDescriptor { - return md_VerificationMethod -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_VerificationMethod) Type() protoreflect.MessageType { - return _fastReflection_VerificationMethod_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_VerificationMethod) New() protoreflect.Message { - return new(fastReflection_VerificationMethod) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_VerificationMethod) Interface() protoreflect.ProtoMessage { - return (*VerificationMethod)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_VerificationMethod) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_VerificationMethod_id, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_VerificationMethod_controller, value) { - return - } - } - if x.Method != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Method)) - if !f(fd_VerificationMethod_method, value) { - return - } - } - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_VerificationMethod_issuer, value) { + if !f(fd_Verification_issuer, value) { return } } if x.Subject != "" { value := protoreflect.ValueOfString(x.Subject) - if !f(fd_VerificationMethod_subject, value) { + if !f(fd_Verification_subject, value) { return } } if x.PublicKey != nil { value := protoreflect.ValueOfMessage(x.PublicKey.ProtoReflect()) - if !f(fd_VerificationMethod_public_key, value) { - if x.ControllerDid != "" { - value := protoreflect.ValueOfString(x.ControllerDid) - if !f(fd_Service_controller_did, value) { + if !f(fd_Verification_public_key, value) { return } } - if x.OriginUri != "" { - value := protoreflect.ValueOfString(x.OriginUri) - if !f(fd_Service_origin_uri, value) { - return - } - } - if len(x.ServiceEndpoints) != 0 { - value := protoreflect.ValueOfMap(&_Service_5_map{m: &x.ServiceEndpoints}) - if !f(fd_Service_service_endpoints, value) { - return - } - } - if len(x.Scopes) != 0 { - value := protoreflect.ValueOfList(&_Service_6_list{list: &x.Scopes}) - if !f(fd_Service_scopes, value) { + if x.VerificationType != "" { + value := protoreflect.ValueOfString(x.VerificationType) + if !f(fd_Verification_verification_type, value) { return } } @@ -4073,35 +1771,27 @@ func (x *fastReflection_VerificationMethod) Range(f func(protoreflect.FieldDescr // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_VerificationMethod) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_Verification) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.VerificationMethod.id": + case "did.v1.Verification.id": return x.Id != "" - case "did.v1.VerificationMethod.controller": + case "did.v1.Verification.controller": return x.Controller != "" - case "did.v1.VerificationMethod.method": - return x.Method != 0 - case "did.v1.VerificationMethod.issuer": + case "did.v1.Verification.did_method": + return x.DidMethod != "" + case "did.v1.Verification.issuer": return x.Issuer != "" - case "did.v1.VerificationMethod.subject": + case "did.v1.Verification.subject": return x.Subject != "" - case "did.v1.VerificationMethod.public_key": + case "did.v1.Verification.public_key": return x.PublicKey != nil - case "did.v1.Service.service_type": - return x.ServiceType != "" - case "did.v1.Service.controller_did": - return x.ControllerDid != "" - case "did.v1.Service.origin_uri": - return x.OriginUri != "" - case "did.v1.Service.service_endpoints": - return len(x.ServiceEndpoints) != 0 - case "did.v1.Service.scopes": - return len(x.Scopes) != 0 + case "did.v1.Verification.verification_type": + return x.VerificationType != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Verification")) } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Verification does not contain field %s", fd.FullName())) } } @@ -4111,35 +1801,27 @@ func (x *fastReflection_VerificationMethod) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_Verification) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.VerificationMethod.id": + case "did.v1.Verification.id": x.Id = "" - case "did.v1.VerificationMethod.controller": + case "did.v1.Verification.controller": x.Controller = "" - case "did.v1.VerificationMethod.method": - x.Method = 0 - case "did.v1.VerificationMethod.issuer": + case "did.v1.Verification.did_method": + x.DidMethod = "" + case "did.v1.Verification.issuer": x.Issuer = "" - case "did.v1.VerificationMethod.subject": + case "did.v1.Verification.subject": x.Subject = "" - case "did.v1.VerificationMethod.public_key": + case "did.v1.Verification.public_key": x.PublicKey = nil - case "did.v1.Service.service_type": - x.ServiceType = "" - case "did.v1.Service.controller_did": - x.ControllerDid = "" - case "did.v1.Service.origin_uri": - x.OriginUri = "" - case "did.v1.Service.service_endpoints": - x.ServiceEndpoints = nil - case "did.v1.Service.scopes": - x.Scopes = nil + case "did.v1.Verification.verification_type": + x.VerificationType = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Verification")) } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Verification does not contain field %s", fd.FullName())) } } @@ -4149,49 +1831,34 @@ func (x *fastReflection_VerificationMethod) Clear(fd protoreflect.FieldDescripto // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_VerificationMethod) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Verification) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.VerificationMethod.id": + case "did.v1.Verification.id": value := x.Id return protoreflect.ValueOfString(value) - case "did.v1.VerificationMethod.controller": + case "did.v1.Verification.controller": value := x.Controller return protoreflect.ValueOfString(value) - case "did.v1.VerificationMethod.method": - value := x.Method - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "did.v1.VerificationMethod.issuer": + case "did.v1.Verification.did_method": + value := x.DidMethod + return protoreflect.ValueOfString(value) + case "did.v1.Verification.issuer": value := x.Issuer return protoreflect.ValueOfString(value) - case "did.v1.VerificationMethod.subject": + case "did.v1.Verification.subject": value := x.Subject return protoreflect.ValueOfString(value) - case "did.v1.VerificationMethod.public_key": + case "did.v1.Verification.public_key": value := x.PublicKey return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.Service.controller_did": - value := x.ControllerDid + case "did.v1.Verification.verification_type": + value := x.VerificationType return protoreflect.ValueOfString(value) - case "did.v1.Service.origin_uri": - value := x.OriginUri - return protoreflect.ValueOfString(value) - case "did.v1.Service.service_endpoints": - if len(x.ServiceEndpoints) == 0 { - return protoreflect.ValueOfMap(&_Service_5_map{}) - } - mapValue := &_Service_5_map{m: &x.ServiceEndpoints} - return protoreflect.ValueOfMap(mapValue) - case "did.v1.Service.scopes": - if len(x.Scopes) == 0 { - return protoreflect.ValueOfList(&_Service_6_list{}) - } - listValue := &_Service_6_list{list: &x.Scopes} - return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Verification")) } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.Verification does not contain field %s", descriptor.FullName())) } } @@ -4205,39 +1872,27 @@ func (x *fastReflection_VerificationMethod) Get(descriptor protoreflect.FieldDes // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_Verification) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.VerificationMethod.id": + case "did.v1.Verification.id": x.Id = value.Interface().(string) - case "did.v1.VerificationMethod.controller": + case "did.v1.Verification.controller": x.Controller = value.Interface().(string) - case "did.v1.VerificationMethod.method": - x.Method = (DIDNamespace)(value.Enum()) - case "did.v1.VerificationMethod.issuer": + case "did.v1.Verification.did_method": + x.DidMethod = value.Interface().(string) + case "did.v1.Verification.issuer": x.Issuer = value.Interface().(string) - case "did.v1.VerificationMethod.subject": + case "did.v1.Verification.subject": x.Subject = value.Interface().(string) - case "did.v1.VerificationMethod.public_key": + case "did.v1.Verification.public_key": x.PublicKey = value.Message().Interface().(*PubKey) - case "did.v1.Service.service_type": - x.ServiceType = value.Interface().(string) - case "did.v1.Service.controller_did": - x.ControllerDid = value.Interface().(string) - case "did.v1.Service.origin_uri": - x.OriginUri = value.Interface().(string) - case "did.v1.Service.service_endpoints": - mv := value.Map() - cmv := mv.(*_Service_5_map) - x.ServiceEndpoints = *cmv.m - case "did.v1.Service.scopes": - lv := value.List() - clv := lv.(*_Service_6_list) - x.Scopes = *clv.list + case "did.v1.Verification.verification_type": + x.VerificationType = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Verification")) } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Verification does not contain field %s", fd.FullName())) } } @@ -4251,94 +1906,68 @@ func (x *fastReflection_VerificationMethod) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Verification) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.VerificationMethod.public_key": + case "did.v1.Verification.public_key": if x.PublicKey == nil { x.PublicKey = new(PubKey) } return protoreflect.ValueOfMessage(x.PublicKey.ProtoReflect()) - case "did.v1.VerificationMethod.id": - panic(fmt.Errorf("field id of message did.v1.VerificationMethod is not mutable")) - case "did.v1.VerificationMethod.controller": - panic(fmt.Errorf("field controller of message did.v1.VerificationMethod is not mutable")) - case "did.v1.VerificationMethod.method": - panic(fmt.Errorf("field method of message did.v1.VerificationMethod is not mutable")) - case "did.v1.VerificationMethod.issuer": - panic(fmt.Errorf("field issuer of message did.v1.VerificationMethod is not mutable")) - case "did.v1.VerificationMethod.subject": - panic(fmt.Errorf("field subject of message did.v1.VerificationMethod is not mutable")) - case "did.v1.Service.service_endpoints": - if x.ServiceEndpoints == nil { - x.ServiceEndpoints = make(map[string]string) - } - value := &_Service_5_map{m: &x.ServiceEndpoints} - return protoreflect.ValueOfMap(value) - case "did.v1.Service.scopes": - if x.Scopes == nil { - x.Scopes = []PermissionScope{} - } - value := &_Service_6_list{list: &x.Scopes} - return protoreflect.ValueOfList(value) - case "did.v1.Service.id": - panic(fmt.Errorf("field id of message did.v1.Service is not mutable")) - case "did.v1.Service.service_type": - panic(fmt.Errorf("field service_type of message did.v1.Service is not mutable")) - case "did.v1.Service.controller_did": - panic(fmt.Errorf("field controller_did of message did.v1.Service is not mutable")) - case "did.v1.Service.origin_uri": - panic(fmt.Errorf("field origin_uri of message did.v1.Service is not mutable")) + case "did.v1.Verification.id": + panic(fmt.Errorf("field id of message did.v1.Verification is not mutable")) + case "did.v1.Verification.controller": + panic(fmt.Errorf("field controller of message did.v1.Verification is not mutable")) + case "did.v1.Verification.did_method": + panic(fmt.Errorf("field did_method of message did.v1.Verification is not mutable")) + case "did.v1.Verification.issuer": + panic(fmt.Errorf("field issuer of message did.v1.Verification is not mutable")) + case "did.v1.Verification.subject": + panic(fmt.Errorf("field subject of message did.v1.Verification is not mutable")) + case "did.v1.Verification.verification_type": + panic(fmt.Errorf("field verification_type of message did.v1.Verification is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Verification")) } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Verification does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_VerificationMethod) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_Verification) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.VerificationMethod.id": + case "did.v1.Verification.id": return protoreflect.ValueOfString("") - case "did.v1.VerificationMethod.controller": + case "did.v1.Verification.controller": return protoreflect.ValueOfString("") - case "did.v1.VerificationMethod.method": - return protoreflect.ValueOfEnum(0) - case "did.v1.VerificationMethod.issuer": + case "did.v1.Verification.did_method": return protoreflect.ValueOfString("") - case "did.v1.VerificationMethod.subject": + case "did.v1.Verification.issuer": return protoreflect.ValueOfString("") - case "did.v1.VerificationMethod.public_key": + case "did.v1.Verification.subject": + return protoreflect.ValueOfString("") + case "did.v1.Verification.public_key": m := new(PubKey) return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.Service.controller_did": + case "did.v1.Verification.verification_type": return protoreflect.ValueOfString("") - case "did.v1.Service.origin_uri": - return protoreflect.ValueOfString("") - case "did.v1.Service.service_endpoints": - m := make(map[string]string) - return protoreflect.ValueOfMap(&_Service_5_map{m: &m}) - case "did.v1.Service.scopes": - list := []PermissionScope{} - return protoreflect.ValueOfList(&_Service_6_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Verification")) } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.Verification does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_VerificationMethod) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_Verification) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.VerificationMethod", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.Verification", d.FullName())) } panic("unreachable") } @@ -4346,7 +1975,7 @@ func (x *fastReflection_VerificationMethod) WhichOneof(d protoreflect.OneofDescr // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_VerificationMethod) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_Verification) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4357,7 +1986,7 @@ func (x *fastReflection_VerificationMethod) GetUnknown() protoreflect.RawFields // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_Verification) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4369,7 +1998,7 @@ func (x *fastReflection_VerificationMethod) SetUnknown(fields protoreflect.RawFi // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_VerificationMethod) IsValid() bool { +func (x *fastReflection_Verification) IsValid() bool { return x != nil } @@ -4379,9 +2008,9 @@ func (x *fastReflection_VerificationMethod) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_Verification) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*VerificationMethod) + x := input.Message.Interface().(*Verification) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4401,8 +2030,9 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Method != 0 { - n += 1 + runtime.Sov(uint64(x.Method)) + l = len(x.DidMethod) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } l = len(x.Issuer) if l > 0 { @@ -4416,42 +2046,10 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { l = options.Size(x.PublicKey) n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ControllerDid) + l = len(x.VerificationType) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.OriginUri) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.ServiceEndpoints) > 0 { - SiZeMaP := func(k string, v string) { - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.ServiceEndpoints)) - for k := range x.ServiceEndpoints { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.ServiceEndpoints[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.ServiceEndpoints { - SiZeMaP(k, v) - } - } - } - if len(x.Scopes) > 0 { - l = 0 - for _, e := range x.Scopes { - l += runtime.Sov(uint64(e)) - } - n += 1 + runtime.Sov(uint64(l)) + l - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -4462,7 +2060,7 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*VerificationMethod) + x := input.Message.Interface().(*Verification) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4481,6 +2079,13 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.VerificationType) > 0 { + i -= len(x.VerificationType) + copy(dAtA[i:], x.VerificationType) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.VerificationType))) + i-- + dAtA[i] = 0x3a + } if x.PublicKey != nil { encoded, err := options.Marshal(x.PublicKey) if err != nil { @@ -4509,85 +2114,10 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x22 } - if x.Method != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Method)) - i-- - dAtA[i] = 0x18 - if len(x.Scopes) > 0 { - var pksize2 int - for _, num := range x.Scopes { - pksize2 += runtime.Sov(uint64(num)) - } - i -= pksize2 - j1 := i - for _, num1 := range x.Scopes { - num := uint64(num1) - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA[j1] = uint8(num) - j1++ - } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) - i-- - dAtA[i] = 0x32 - } - if len(x.ServiceEndpoints) > 0 { - MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x2a - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForServiceEndpoints := make([]string, 0, len(x.ServiceEndpoints)) - for k := range x.ServiceEndpoints { - keysForServiceEndpoints = append(keysForServiceEndpoints, string(k)) - } - sort.Slice(keysForServiceEndpoints, func(i, j int) bool { - return keysForServiceEndpoints[i] < keysForServiceEndpoints[j] - }) - for iNdEx := len(keysForServiceEndpoints) - 1; iNdEx >= 0; iNdEx-- { - v := x.ServiceEndpoints[string(keysForServiceEndpoints[iNdEx])] - out, err := MaRsHaLmAp(keysForServiceEndpoints[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.ServiceEndpoints { - v := x.ServiceEndpoints[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if len(x.OriginUri) > 0 { - i -= len(x.OriginUri) - copy(dAtA[i:], x.OriginUri) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.OriginUri))) - i-- - dAtA[i] = 0x22 - } - if len(x.ControllerDid) > 0 { - i -= len(x.ControllerDid) - copy(dAtA[i:], x.ControllerDid) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ControllerDid))) + if len(x.DidMethod) > 0 { + i -= len(x.DidMethod) + copy(dAtA[i:], x.DidMethod) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DidMethod))) i-- dAtA[i] = 0x1a } @@ -4616,7 +2146,7 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*VerificationMethod) + x := input.Message.Interface().(*Verification) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4648,10 +2178,10 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VerificationMethod: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Verification: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VerificationMethod: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Verification: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4719,10 +2249,10 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { x.Controller = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Method", wireType) + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DidMethod", wireType) } - x.Method = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -4732,16 +2262,27 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Method |= DIDNamespace(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DidMethod = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 4: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ControllerDid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4839,9 +2380,9 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex - case 4: + case 7: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OriginUri", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VerificationType", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4869,204 +2410,8 @@ func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.OriginUri = string(dAtA[iNdEx:postIndex]) + x.VerificationType = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServiceEndpoints", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.ServiceEndpoints == nil { - x.ServiceEndpoints = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapvalue > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.ServiceEndpoints[mapkey] = mapvalue - iNdEx = postIndex - case 6: - if wireType == 0 { - var v PermissionScope - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= PermissionScope(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Scopes = append(x.Scopes, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - var elementCount int - if elementCount != 0 && len(x.Scopes) == 0 { - x.Scopes = make([]PermissionScope, 0, elementCount) - } - for iNdEx < postIndex { - var v PermissionScope - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= PermissionScope(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Scopes = append(x.Scopes, v) - } - } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -5115,40 +2460,22 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Account represents a wallet account associated with a DID Controller -type Account struct { +// Alias represents a DID alias +type Alias struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The unique identifier of the account + // The unique identifier of the alias Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // The controller of the account - Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` - // The value of the linked identifier - PublicKey *PubKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` - // The address of the account - Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` - // The label of the account - Label string `protobuf:"bytes,5,opt,name=label,proto3" json:"label,omitempty"` - // The bip32 chain code - ChainCode uint32 `protobuf:"varint,6,opt,name=chain_code,json=chainCode,proto3" json:"chain_code,omitempty"` - // The index of the account - Index uint32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"` - // The supported chains of the account - Chains []string `protobuf:"bytes,8,rep,name=chains,proto3" json:"chains,omitempty"` - // Origin is the Alias provider - Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` - // Subject is the user defined alias - Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` - // Controller of the alias - Controller string `protobuf:"bytes,4,opt,name=controller,proto3" json:"controller,omitempty"` - // Expiration of the alias - Expiration uint64 `protobuf:"varint,5,opt,name=expiration,proto3" json:"expiration,omitempty"` + // The alias of the DID + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` + // Origin of the alias + Origin string `protobuf:"bytes,3,opt,name=origin,proto3" json:"origin,omitempty"` } -func (x *Account) Reset() { - *x = Account{} +func (x *Alias) Reset() { + *x = Alias{} if protoimpl.UnsafeEnabled { mi := &file_did_v1_state_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5156,88 +2483,38 @@ func (x *Account) Reset() { } } -func (x *Account) String() string { +func (x *Alias) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Account) ProtoMessage() {} +func (*Alias) ProtoMessage() {} -// Deprecated: Use Account.ProtoReflect.Descriptor instead. -func (*Account) Descriptor() ([]byte, []int) { +// Deprecated: Use Alias.ProtoReflect.Descriptor instead. +func (*Alias) Descriptor() ([]byte, []int) { return file_did_v1_state_proto_rawDescGZIP(), []int{0} } -func (x *Account) GetId() string { +func (x *Alias) GetId() string { if x != nil { return x.Id } return "" } -func (x *Account) GetController() string { -func (x *Aliases) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *Aliases) GetSubject() string { +func (x *Alias) GetSubject() string { if x != nil { return x.Subject } return "" } -func (x *Aliases) GetController() string { +func (x *Alias) GetOrigin() string { if x != nil { - return x.Controller + return x.Origin } return "" } -func (x *Account) GetPublicKey() *PubKey { - if x != nil { - return x.PublicKey - } - return nil -} - -func (x *Account) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *Account) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -func (x *Account) GetChainCode() uint32 { - if x != nil { - return x.ChainCode - } - return 0 -} - -func (x *Account) GetIndex() uint32 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *Account) GetChains() []string { - if x != nil { - return x.Chains - } - return nil -} - // Controller represents a Sonr DWN Vault type Controller struct { state protoimpl.MessageState @@ -5247,15 +2524,21 @@ type Controller struct { // The unique identifier of the controller Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The DID of the controller - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + SonrAddress string `protobuf:"bytes,2,opt,name=sonr_address,json=sonrAddress,proto3" json:"sonr_address,omitempty"` + // The DID of the controller + EthAddress string `protobuf:"bytes,3,opt,name=eth_address,json=ethAddress,proto3" json:"eth_address,omitempty"` + // The DID of the controller + BtcAddress string `protobuf:"bytes,4,opt,name=btc_address,json=btcAddress,proto3" json:"btc_address,omitempty"` // Aliases of the controller - Aliases []*Alias `protobuf:"bytes,3,rep,name=aliases,proto3" json:"aliases,omitempty"` + Aliases []string `protobuf:"bytes,5,rep,name=aliases,proto3" json:"aliases,omitempty"` // PubKey is the verification method - PublicKey *PubKey `protobuf:"bytes,4,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey *PubKey `protobuf:"bytes,6,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` // The vault address or identifier - VaultCid string `protobuf:"bytes,5,opt,name=vault_cid,json=vaultCid,proto3" json:"vault_cid,omitempty"` + VaultCid string `protobuf:"bytes,7,opt,name=vault_cid,json=vaultCid,proto3" json:"vault_cid,omitempty"` // The Authentications of the controller - Authentication []*Credential `protobuf:"bytes,6,rep,name=authentication,proto3" json:"authentication,omitempty"` + Authentication []string `protobuf:"bytes,8,rep,name=authentication,proto3" json:"authentication,omitempty"` + // The Status of the claims for the controller + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` } func (x *Controller) Reset() { @@ -5285,14 +2568,28 @@ func (x *Controller) GetId() string { return "" } -func (x *Controller) GetAddress() string { +func (x *Controller) GetSonrAddress() string { if x != nil { - return x.Address + return x.SonrAddress } return "" } -func (x *Controller) GetAliases() []*Alias { +func (x *Controller) GetEthAddress() string { + if x != nil { + return x.EthAddress + } + return "" +} + +func (x *Controller) GetBtcAddress() string { + if x != nil { + return x.BtcAddress + } + return "" +} + +func (x *Controller) GetAliases() []string { if x != nil { return x.Aliases } @@ -5313,201 +2610,22 @@ func (x *Controller) GetVaultCid() string { return "" } -func (x *Controller) GetAuthentication() []*Credential { +func (x *Controller) GetAuthentication() []string { if x != nil { return x.Authentication } return nil } -// Proof represents a verifiable credential -type Proof struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique identifier of the proof - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // The controller of the proof - Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` - // The value of the linked identifier - Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` - // The property of the proof - Property string `protobuf:"bytes,4,opt,name=property,proto3" json:"property,omitempty"` - // The accumulator of the proof - Accumulator []byte `protobuf:"bytes,5,opt,name=accumulator,proto3" json:"accumulator,omitempty"` - // The secret key of the proof - Key []byte `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"` -} - -func (x *Proof) Reset() { - *x = Proof{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_state_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Proof) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Proof) ProtoMessage() {} - -// Deprecated: Use Proof.ProtoReflect.Descriptor instead. -func (*Proof) Descriptor() ([]byte, []int) { - return file_did_v1_state_proto_rawDescGZIP(), []int{2} -} - -func (x *Proof) GetId() string { +func (x *Controller) GetStatus() string { if x != nil { - return x.Id + return x.Status } return "" } -func (x *Proof) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *Proof) GetIssuer() string { - if x != nil { - return x.Issuer - } - return "" -} - -func (x *Proof) GetProperty() string { - if x != nil { - return x.Property - } - return "" -} - -func (x *Proof) GetAccumulator() []byte { - if x != nil { - return x.Accumulator - } - return nil -} - -func (x *Proof) GetKey() []byte { - if x != nil { - return x.Key - } - return nil -} - -// ServiceRecord represents a decentralized service in a DID Document -type ServiceRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The ID of the service - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // The type of the service - ServiceType string `protobuf:"bytes,2,opt,name=service_type,json=serviceType,proto3" json:"service_type,omitempty"` - // The authority DID of the service - Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` - // The domain name of the service - Origin string `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"` - // The description of the service - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` - // The service endpoint - ServiceEndpoints map[string]string `protobuf:"bytes,6,rep,name=service_endpoints,json=serviceEndpoints,proto3" json:"service_endpoints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Scopes is the Authorization Grants of the service - Permissions *Permissions `protobuf:"bytes,7,opt,name=permissions,proto3" json:"permissions,omitempty"` - // The controller DID of the service - ControllerDid string `protobuf:"bytes,3,opt,name=controller_did,json=controllerDid,proto3" json:"controller_did,omitempty"` - // The domain name of the service - OriginUri string `protobuf:"bytes,4,opt,name=origin_uri,json=originUri,proto3" json:"origin_uri,omitempty"` - // The service endpoint - ServiceEndpoints map[string]string `protobuf:"bytes,5,rep,name=service_endpoints,json=serviceEndpoints,proto3" json:"service_endpoints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Scopes is the Authorization Grants of the service - Scopes []PermissionScope `protobuf:"varint,6,rep,packed,name=scopes,proto3,enum=did.v1.PermissionScope" json:"scopes,omitempty"` -} - -func (x *ServiceRecord) Reset() { - *x = ServiceRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_state_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ServiceRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ServiceRecord) ProtoMessage() {} - -// Deprecated: Use ServiceRecord.ProtoReflect.Descriptor instead. -func (*ServiceRecord) Descriptor() ([]byte, []int) { - return file_did_v1_state_proto_rawDescGZIP(), []int{3} -} - -func (x *ServiceRecord) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *ServiceRecord) GetServiceType() string { - if x != nil { - return x.ServiceType - } - return "" -} - -func (x *ServiceRecord) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" -} - -func (x *ServiceRecord) GetOrigin() string { -func (x *Service) GetControllerDid() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *ServiceRecord) GetDescription() string { - if x != nil { - return x.Description -func (x *Service) GetOriginUri() string { - if x != nil { - return x.OriginUri - } - return "" -} - -func (x *ServiceRecord) GetServiceEndpoints() map[string]string { -func (x *Service) GetServiceEndpoints() map[string]string { - if x != nil { - return x.ServiceEndpoints - } - return nil -} - -func (x *ServiceRecord) GetPermissions() *Permissions { - if x != nil { - return x.Permissions - } - return nil -} - // Verification reprsents a method of verifying membership in a DID -type VerificationMethod struct { +type Verification struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5517,80 +2635,86 @@ type VerificationMethod struct { // The controller of the verification Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` // The DIDNamespace of the verification - Method DIDNamespace `protobuf:"varint,3,opt,name=method,proto3,enum=did.v1.DIDNamespace" json:"method,omitempty"` + DidMethod string `protobuf:"bytes,3,opt,name=did_method,json=didMethod,proto3" json:"did_method,omitempty"` // The value of the linked identifier Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` // The subject of the verification Subject string `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"` // The public key of the verification PublicKey *PubKey `protobuf:"bytes,6,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + // The Verification Type (Authentication, Assertion, CapabilityDelegation, CapabilityInvocation) + VerificationType string `protobuf:"bytes,7,opt,name=verification_type,json=verificationType,proto3" json:"verification_type,omitempty"` } -func (x *VerificationMethod) Reset() { - *x = VerificationMethod{} +func (x *Verification) Reset() { + *x = Verification{} if protoimpl.UnsafeEnabled { - mi := &file_did_v1_state_proto_msgTypes[4] + mi := &file_did_v1_state_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VerificationMethod) String() string { +func (x *Verification) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VerificationMethod) ProtoMessage() {} +func (*Verification) ProtoMessage() {} -// Deprecated: Use VerificationMethod.ProtoReflect.Descriptor instead. -func (*VerificationMethod) Descriptor() ([]byte, []int) { - return file_did_v1_state_proto_rawDescGZIP(), []int{4} +// Deprecated: Use Verification.ProtoReflect.Descriptor instead. +func (*Verification) Descriptor() ([]byte, []int) { + return file_did_v1_state_proto_rawDescGZIP(), []int{2} } -func (x *VerificationMethod) GetId() string { +func (x *Verification) GetId() string { if x != nil { return x.Id } return "" } -func (x *VerificationMethod) GetController() string { +func (x *Verification) GetController() string { if x != nil { return x.Controller } return "" } -func (x *VerificationMethod) GetMethod() DIDNamespace { +func (x *Verification) GetDidMethod() string { if x != nil { - return x.Method + return x.DidMethod } - return DIDNamespace_DID_NAMESPACE_UNSPECIFIED + return "" } -func (x *VerificationMethod) GetIssuer() string { +func (x *Verification) GetIssuer() string { if x != nil { return x.Issuer } return "" } -func (x *VerificationMethod) GetSubject() string { +func (x *Verification) GetSubject() string { if x != nil { return x.Subject } return "" } -func (x *VerificationMethod) GetPublicKey() *PubKey { +func (x *Verification) GetPublicKey() *PubKey { if x != nil { return x.PublicKey -func (x *Service) GetScopes() []PermissionScope { - if x != nil { - return x.Scopes } return nil } +func (x *Verification) GetVerificationType() string { + if x != nil { + return x.VerificationType + } + return "" +} + var File_did_v1_state_proto protoreflect.FileDescriptor var file_did_v1_state_proto_rawDesc = []byte{ @@ -5598,217 +2722,70 @@ var file_did_v1_state_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, - 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x64, 0x69, 0x64, - 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xca, 0x02, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x0a, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, - 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 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, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x3a, 0x63, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x5d, - 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x10, 0x01, 0x18, 0x01, 0x12, 0x18, - 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x10, 0x02, 0x18, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x2c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x03, 0x18, 0x01, 0x18, 0x01, 0x22, 0x97, 0x02, - 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, - 0x2d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1b, - 0x0a, 0x09, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0e, 0x61, - 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x2e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x28, 0x0a, - 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x18, 0x01, 0x12, 0x0f, 0x0a, 0x09, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x69, - 0x64, 0x10, 0x02, 0x18, 0x01, 0x18, 0x02, 0x22, 0xd1, 0x01, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x6f, - 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x75, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x30, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, - 0x2a, 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2c, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x10, 0x01, 0x18, 0x01, 0x18, 0x04, 0x22, 0xa6, 0x03, 0x0a, 0x0d, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 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, 0x58, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x15, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x34, - 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2e, 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x0c, 0x0a, 0x06, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x10, 0x01, 0x18, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x10, 0x02, - 0x18, 0x01, 0x18, 0x03, 0x22, 0x8b, 0x02, 0x0a, 0x12, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, + 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x05, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x3a, 0x24, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1e, 0x0a, 0x04, + 0x0a, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x10, 0x01, 0x18, 0x01, 0x18, 0x01, 0x22, 0x9a, 0x03, 0x0a, + 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x6f, 0x6e, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x6e, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x65, 0x74, 0x68, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x74, 0x68, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x62, 0x74, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x74, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x09, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x63, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, + 0x75, 0x6c, 0x74, 0x43, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x71, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x6b, 0x0a, 0x04, + 0x0a, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x0c, 0x73, 0x6f, 0x6e, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x65, 0x74, 0x68, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x10, 0x02, 0x18, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x62, + 0x74, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x10, 0x03, 0x18, 0x01, 0x12, 0x0f, + 0x0a, 0x09, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x69, 0x64, 0x10, 0x04, 0x18, 0x01, 0x12, + 0x16, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2c, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x63, 0x69, 0x64, 0x10, 0x05, 0x18, 0x01, 0x18, 0x02, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x69, + 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x64, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, - 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x3a, 0x36, 0xf2, 0x9e, 0xd3, 0x8e, - 0x03, 0x30, 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2c, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x2c, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x01, 0x18, 0x01, - 0x18, 0x05, 0x42, 0x7a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, - 0x72, 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, - 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, - 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x64, 0x69, 0x64, - 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xaa, 0x01, 0x0a, 0x07, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x1d, 0xf2, - 0x9e, 0xd3, 0x8e, 0x03, 0x17, 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x07, 0x73, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x01, 0x18, 0x01, 0x18, 0x01, 0x22, 0x80, 0x02, 0x0a, - 0x09, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, - 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x3a, - 0x0e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x08, 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x22, - 0x94, 0x01, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x3a, 0x0e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x08, 0x0a, 0x04, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x22, 0xaf, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x62, 0x61, 0x73, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x63, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, - 0x75, 0x6c, 0x74, 0x43, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x69, 0x6e, - 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x3a, 0x0e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x08, - 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x22, 0x8b, 0x03, 0x0a, 0x0a, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x44, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x62, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x75, 0x6c, - 0x74, 0x69, 0x62, 0x61, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x4a, 0x77, 0x6b, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, - 0x79, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x49, 0x64, 0x1a, 0x40, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, - 0x79, 0x4a, 0x77, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x08, 0x0a, 0x04, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x22, 0xdc, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x44, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x55, 0x72, 0x69, 0x12, 0x52, 0x0a, 0x11, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x2f, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, - 0x17, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x1a, 0x43, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x08, 0x0a, 0x04, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x06, 0x42, 0x7a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, - 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x68, 0x77, 0x61, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, - 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, - 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x70, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x6a, 0x0a, + 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x0e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2c, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x01, 0x18, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x64, 0x69, 0x64, 0x5f, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x2c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x10, 0x02, 0x18, 0x01, 0x12, + 0x26, 0x0a, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x2c, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x10, 0x03, 0x18, 0x01, 0x18, 0x04, 0x42, 0x7a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, + 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, + 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, + 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, + 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5823,57 +2800,21 @@ func file_did_v1_state_proto_rawDescGZIP() []byte { return file_did_v1_state_proto_rawDescData } -var file_did_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_did_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_did_v1_state_proto_goTypes = []interface{}{ - (*Account)(nil), // 0: did.v1.Account - (*Controller)(nil), // 1: did.v1.Controller - (*Proof)(nil), // 2: did.v1.Proof - (*ServiceRecord)(nil), // 3: did.v1.ServiceRecord - (*VerificationMethod)(nil), // 4: did.v1.VerificationMethod - nil, // 5: did.v1.ServiceRecord.ServiceEndpointsEntry - (*PubKey)(nil), // 6: did.v1.PubKey - (*Alias)(nil), // 7: did.v1.Alias - (*Credential)(nil), // 8: did.v1.Credential - (*Permissions)(nil), // 9: did.v1.Permissions - (DIDNamespace)(0), // 10: did.v1.DIDNamespace + (*Alias)(nil), // 0: did.v1.Alias + (*Controller)(nil), // 1: did.v1.Controller + (*Verification)(nil), // 2: did.v1.Verification + (*PubKey)(nil), // 3: did.v1.PubKey } var file_did_v1_state_proto_depIdxs = []int32{ - 6, // 0: did.v1.Account.public_key:type_name -> did.v1.PubKey - 7, // 1: did.v1.Controller.aliases:type_name -> did.v1.Alias - 6, // 2: did.v1.Controller.public_key:type_name -> did.v1.PubKey - 8, // 3: did.v1.Controller.authentication:type_name -> did.v1.Credential - 5, // 4: did.v1.ServiceRecord.service_endpoints:type_name -> did.v1.ServiceRecord.ServiceEndpointsEntry - 9, // 5: did.v1.ServiceRecord.permissions:type_name -> did.v1.Permissions - 10, // 6: did.v1.VerificationMethod.method:type_name -> did.v1.DIDNamespace - 6, // 7: did.v1.VerificationMethod.public_key:type_name -> did.v1.PubKey - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name -var file_did_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_did_v1_state_proto_goTypes = []interface{}{ - (*Aliases)(nil), // 0: did.v1.Aliases - (*Assertion)(nil), // 1: did.v1.Assertion - (*Attestation)(nil), // 2: did.v1.Attestation - (*Controller)(nil), // 3: did.v1.Controller - (*Delegation)(nil), // 4: did.v1.Delegation - (*Service)(nil), // 5: did.v1.Service - nil, // 6: did.v1.Assertion.MetadataEntry - nil, // 7: did.v1.Delegation.PublicKeyJwksEntry - nil, // 8: did.v1.Service.ServiceEndpointsEntry - (PermissionScope)(0), // 9: did.v1.PermissionScope -} -var file_did_v1_state_proto_depIdxs = []int32{ - 6, // 0: did.v1.Assertion.metadata:type_name -> did.v1.Assertion.MetadataEntry - 7, // 1: did.v1.Delegation.public_key_jwks:type_name -> did.v1.Delegation.PublicKeyJwksEntry - 8, // 2: did.v1.Service.service_endpoints:type_name -> did.v1.Service.ServiceEndpointsEntry - 9, // 3: did.v1.Service.scopes:type_name -> did.v1.PermissionScope - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 3, // 0: did.v1.Controller.public_key:type_name -> did.v1.PubKey + 3, // 1: did.v1.Verification.public_key:type_name -> did.v1.PubKey + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name } func init() { file_did_v1_state_proto_init() } @@ -5882,11 +2823,9 @@ func file_did_v1_state_proto_init() { return } file_did_v1_genesis_proto_init() - file_did_v1_models_proto_init() - file_did_v1_enums_proto_init() if !protoimpl.UnsafeEnabled { file_did_v1_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Account); i { + switch v := v.(*Alias); i { case 0: return &v.state case 1: @@ -5910,31 +2849,7 @@ func file_did_v1_state_proto_init() { } } file_did_v1_state_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Proof); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_state_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_state_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerificationMethod); i { + switch v := v.(*Verification); i { case 0: return &v.state case 1: @@ -5952,8 +2867,7 @@ func file_did_v1_state_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_did_v1_state_proto_rawDesc, NumEnums: 0, - NumMessages: 6, - NumMessages: 9, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/api/did/v1/tx.pulsar.go b/api/did/v1/tx.pulsar.go index acc75d754..5e3ac0b2f 100644 --- a/api/did/v1/tx.pulsar.go +++ b/api/did/v1/tx.pulsar.go @@ -16,935 +16,11 @@ import ( sync "sync" ) -var ( - md_MsgUpdateParams protoreflect.MessageDescriptor - fd_MsgUpdateParams_authority protoreflect.FieldDescriptor - fd_MsgUpdateParams_params protoreflect.FieldDescriptor - fd_MsgUpdateParams_token protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgUpdateParams = File_did_v1_tx_proto.Messages().ByName("MsgUpdateParams") - fd_MsgUpdateParams_authority = md_MsgUpdateParams.Fields().ByName("authority") - fd_MsgUpdateParams_params = md_MsgUpdateParams.Fields().ByName("params") - fd_MsgUpdateParams_token = md_MsgUpdateParams.Fields().ByName("token") -} - -var _ protoreflect.Message = (*fastReflection_MsgUpdateParams)(nil) - -type fastReflection_MsgUpdateParams MsgUpdateParams - -func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateParams)(x) -} - -func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgUpdateParams_messageType fastReflection_MsgUpdateParams_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateParams_messageType{} - -type fastReflection_MsgUpdateParams_messageType struct{} - -func (x fastReflection_MsgUpdateParams_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateParams)(nil) -} -func (x fastReflection_MsgUpdateParams_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateParams) -} -func (x fastReflection_MsgUpdateParams_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateParams -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgUpdateParams) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateParams -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgUpdateParams) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateParams_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateParams) New() protoreflect.Message { - return new(fastReflection_MsgUpdateParams) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateParams) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateParams)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgUpdateParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgUpdateParams_authority, value) { - return - } - } - if x.Params != nil { - value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) - if !f(fd_MsgUpdateParams_params, value) { - return - } - } - if x.Token != "" { - value := protoreflect.ValueOfString(x.Token) - if !f(fd_MsgUpdateParams_token, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgUpdateParams) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgUpdateParams.authority": - return x.Authority != "" - case "did.v1.MsgUpdateParams.params": - return x.Params != nil - case "did.v1.MsgUpdateParams.token": - return x.Token != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParams) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgUpdateParams.authority": - x.Authority = "" - case "did.v1.MsgUpdateParams.params": - x.Params = nil - case "did.v1.MsgUpdateParams.token": - x.Token = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgUpdateParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgUpdateParams.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "did.v1.MsgUpdateParams.params": - value := x.Params - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.MsgUpdateParams.token": - value := x.Token - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgUpdateParams.authority": - x.Authority = value.Interface().(string) - case "did.v1.MsgUpdateParams.params": - x.Params = value.Message().Interface().(*Params) - case "did.v1.MsgUpdateParams.token": - x.Token = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgUpdateParams.params": - if x.Params == nil { - x.Params = new(Params) - } - return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) - case "did.v1.MsgUpdateParams.authority": - panic(fmt.Errorf("field authority of message did.v1.MsgUpdateParams is not mutable")) - case "did.v1.MsgUpdateParams.token": - panic(fmt.Errorf("field token of message did.v1.MsgUpdateParams is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgUpdateParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgUpdateParams.authority": - return protoreflect.ValueOfString("") - case "did.v1.MsgUpdateParams.params": - m := new(Params) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.MsgUpdateParams.token": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgUpdateParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgUpdateParams", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgUpdateParams) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParams) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgUpdateParams) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateParams) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateParams) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Authority) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Params != nil { - l = options.Size(x.Params) - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Token) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateParams) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Token) > 0 { - i -= len(x.Token) - copy(dAtA[i:], x.Token) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Token))) - i-- - dAtA[i] = 0x1a - } - if x.Params != nil { - encoded, err := options.Marshal(x.Params) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateParams) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Params == nil { - x.Params = &Params{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Token = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgUpdateParamsResponse protoreflect.MessageDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgUpdateParamsResponse = File_did_v1_tx_proto.Messages().ByName("MsgUpdateParamsResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgUpdateParamsResponse)(nil) - -type fastReflection_MsgUpdateParamsResponse MsgUpdateParamsResponse - -func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateParamsResponse)(x) -} - -func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgUpdateParamsResponse_messageType fastReflection_MsgUpdateParamsResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateParamsResponse_messageType{} - -type fastReflection_MsgUpdateParamsResponse_messageType struct{} - -func (x fastReflection_MsgUpdateParamsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateParamsResponse)(nil) -} -func (x fastReflection_MsgUpdateParamsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateParamsResponse) -} -func (x fastReflection_MsgUpdateParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateParamsResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgUpdateParamsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateParamsResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgUpdateParamsResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateParamsResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateParamsResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateParamsResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateParamsResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateParamsResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgUpdateParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgUpdateParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParamsResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgUpdateParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgUpdateParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) - } - panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgUpdateParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgUpdateParamsResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgUpdateParamsResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateParamsResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgUpdateParamsResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateParamsResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateParamsResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateParamsResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - var ( md_MsgAllocateVault protoreflect.MessageDescriptor fd_MsgAllocateVault_authority protoreflect.FieldDescriptor fd_MsgAllocateVault_subject protoreflect.FieldDescriptor fd_MsgAllocateVault_origin protoreflect.FieldDescriptor - md_MsgAuthenticate protoreflect.MessageDescriptor - fd_MsgAuthenticate_authority protoreflect.FieldDescriptor - fd_MsgAuthenticate_controller protoreflect.FieldDescriptor - fd_MsgAuthenticate_address protoreflect.FieldDescriptor - fd_MsgAuthenticate_origin protoreflect.FieldDescriptor ) func init() { @@ -964,23 +40,7 @@ func (x *MsgAllocateVault) ProtoReflect() protoreflect.Message { } func (x *MsgAllocateVault) slowProtoReflect() protoreflect.Message { - md_MsgAuthenticate = File_did_v1_tx_proto.Messages().ByName("MsgAuthenticate") - fd_MsgAuthenticate_authority = md_MsgAuthenticate.Fields().ByName("authority") - fd_MsgAuthenticate_controller = md_MsgAuthenticate.Fields().ByName("controller") - fd_MsgAuthenticate_address = md_MsgAuthenticate.Fields().ByName("address") - fd_MsgAuthenticate_origin = md_MsgAuthenticate.Fields().ByName("origin") -} - -var _ protoreflect.Message = (*fastReflection_MsgAuthenticate)(nil) - -type fastReflection_MsgAuthenticate MsgAuthenticate - -func (x *MsgAuthenticate) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAuthenticate)(x) -} - -func (x *MsgAuthenticate) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[2] + mi := &file_did_v1_tx_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1004,27 +64,12 @@ func (x fastReflection_MsgAllocateVault_messageType) New() protoreflect.Message } func (x fastReflection_MsgAllocateVault_messageType) Descriptor() protoreflect.MessageDescriptor { return md_MsgAllocateVault -var _fastReflection_MsgAuthenticate_messageType fastReflection_MsgAuthenticate_messageType -var _ protoreflect.MessageType = fastReflection_MsgAuthenticate_messageType{} - -type fastReflection_MsgAuthenticate_messageType struct{} - -func (x fastReflection_MsgAuthenticate_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAuthenticate)(nil) -} -func (x fastReflection_MsgAuthenticate_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAuthenticate) -} -func (x fastReflection_MsgAuthenticate_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAuthenticate } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. func (x *fastReflection_MsgAllocateVault) Descriptor() protoreflect.MessageDescriptor { return md_MsgAllocateVault -func (x *fastReflection_MsgAuthenticate) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAuthenticate } // Type returns the message type, which encapsulates both Go and protobuf @@ -1037,21 +82,12 @@ func (x *fastReflection_MsgAllocateVault) Type() protoreflect.MessageType { // New returns a newly allocated and mutable empty message. func (x *fastReflection_MsgAllocateVault) New() protoreflect.Message { return new(fastReflection_MsgAllocateVault) -func (x *fastReflection_MsgAuthenticate) Type() protoreflect.MessageType { - return _fastReflection_MsgAuthenticate_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAuthenticate) New() protoreflect.Message { - return new(fastReflection_MsgAuthenticate) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. func (x *fastReflection_MsgAllocateVault) Interface() protoreflect.ProtoMessage { return (*MsgAllocateVault)(x) -func (x *fastReflection_MsgAuthenticate) Interface() protoreflect.ProtoMessage { - return (*MsgAuthenticate)(x) } // Range iterates over every populated field in an undefined order, @@ -1069,29 +105,12 @@ func (x *fastReflection_MsgAllocateVault) Range(f func(protoreflect.FieldDescrip if x.Subject != "" { value := protoreflect.ValueOfString(x.Subject) if !f(fd_MsgAllocateVault_subject, value) { -func (x *fastReflection_MsgAuthenticate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgAuthenticate_authority, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_MsgAuthenticate_controller, value) { - return - } - } - if x.Address != "" { - value := protoreflect.ValueOfString(x.Address) - if !f(fd_MsgAuthenticate_address, value) { return } } if x.Origin != "" { value := protoreflect.ValueOfString(x.Origin) if !f(fd_MsgAllocateVault_origin, value) { - if !f(fd_MsgAuthenticate_origin, value) { return } } @@ -1121,21 +140,6 @@ func (x *fastReflection_MsgAllocateVault) Has(fd protoreflect.FieldDescriptor) b panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVault")) } panic(fmt.Errorf("message did.v1.MsgAllocateVault does not contain field %s", fd.FullName())) -func (x *fastReflection_MsgAuthenticate) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgAuthenticate.authority": - return x.Authority != "" - case "did.v1.MsgAuthenticate.controller": - return x.Controller != "" - case "did.v1.MsgAuthenticate.address": - return x.Address != "" - case "did.v1.MsgAuthenticate.origin": - return x.Origin != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticate")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticate does not contain field %s", fd.FullName())) } } @@ -1158,21 +162,6 @@ func (x *fastReflection_MsgAllocateVault) Clear(fd protoreflect.FieldDescriptor) panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVault")) } panic(fmt.Errorf("message did.v1.MsgAllocateVault does not contain field %s", fd.FullName())) -func (x *fastReflection_MsgAuthenticate) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgAuthenticate.authority": - x.Authority = "" - case "did.v1.MsgAuthenticate.controller": - x.Controller = "" - case "did.v1.MsgAuthenticate.address": - x.Address = "" - case "did.v1.MsgAuthenticate.origin": - x.Origin = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticate")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticate does not contain field %s", fd.FullName())) } } @@ -1191,18 +180,6 @@ func (x *fastReflection_MsgAllocateVault) Get(descriptor protoreflect.FieldDescr value := x.Subject return protoreflect.ValueOfString(value) case "did.v1.MsgAllocateVault.origin": -func (x *fastReflection_MsgAuthenticate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgAuthenticate.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "did.v1.MsgAuthenticate.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.MsgAuthenticate.address": - value := x.Address - return protoreflect.ValueOfString(value) - case "did.v1.MsgAuthenticate.origin": value := x.Origin return protoreflect.ValueOfString(value) default: @@ -1210,9 +187,6 @@ func (x *fastReflection_MsgAuthenticate) Get(descriptor protoreflect.FieldDescri panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVault")) } panic(fmt.Errorf("message did.v1.MsgAllocateVault does not contain field %s", descriptor.FullName())) - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticate")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticate does not contain field %s", descriptor.FullName())) } } @@ -1239,21 +213,6 @@ func (x *fastReflection_MsgAllocateVault) Set(fd protoreflect.FieldDescriptor, v panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVault")) } panic(fmt.Errorf("message did.v1.MsgAllocateVault does not contain field %s", fd.FullName())) -func (x *fastReflection_MsgAuthenticate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgAuthenticate.authority": - x.Authority = value.Interface().(string) - case "did.v1.MsgAuthenticate.controller": - x.Controller = value.Interface().(string) - case "did.v1.MsgAuthenticate.address": - x.Address = value.Interface().(string) - case "did.v1.MsgAuthenticate.origin": - x.Origin = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticate")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticate does not contain field %s", fd.FullName())) } } @@ -1280,21 +239,6 @@ func (x *fastReflection_MsgAllocateVault) Mutable(fd protoreflect.FieldDescripto panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVault")) } panic(fmt.Errorf("message did.v1.MsgAllocateVault does not contain field %s", fd.FullName())) -func (x *fastReflection_MsgAuthenticate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgAuthenticate.authority": - panic(fmt.Errorf("field authority of message did.v1.MsgAuthenticate is not mutable")) - case "did.v1.MsgAuthenticate.controller": - panic(fmt.Errorf("field controller of message did.v1.MsgAuthenticate is not mutable")) - case "did.v1.MsgAuthenticate.address": - panic(fmt.Errorf("field address of message did.v1.MsgAuthenticate is not mutable")) - case "did.v1.MsgAuthenticate.origin": - panic(fmt.Errorf("field origin of message did.v1.MsgAuthenticate is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticate")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticate does not contain field %s", fd.FullName())) } } @@ -1314,21 +258,6 @@ func (x *fastReflection_MsgAllocateVault) NewField(fd protoreflect.FieldDescript panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVault")) } panic(fmt.Errorf("message did.v1.MsgAllocateVault does not contain field %s", fd.FullName())) -func (x *fastReflection_MsgAuthenticate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgAuthenticate.authority": - return protoreflect.ValueOfString("") - case "did.v1.MsgAuthenticate.controller": - return protoreflect.ValueOfString("") - case "did.v1.MsgAuthenticate.address": - return protoreflect.ValueOfString("") - case "did.v1.MsgAuthenticate.origin": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticate")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticate does not contain field %s", fd.FullName())) } } @@ -1339,10 +268,6 @@ func (x *fastReflection_MsgAllocateVault) WhichOneof(d protoreflect.OneofDescrip switch d.FullName() { default: panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgAllocateVault", d.FullName())) -func (x *fastReflection_MsgAuthenticate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgAuthenticate", d.FullName())) } panic("unreachable") } @@ -1351,7 +276,6 @@ func (x *fastReflection_MsgAuthenticate) WhichOneof(d protoreflect.OneofDescript // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. func (x *fastReflection_MsgAllocateVault) GetUnknown() protoreflect.RawFields { -func (x *fastReflection_MsgAuthenticate) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -1363,7 +287,6 @@ func (x *fastReflection_MsgAuthenticate) GetUnknown() protoreflect.RawFields { // // SetUnknown is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgAllocateVault) SetUnknown(fields protoreflect.RawFields) { -func (x *fastReflection_MsgAuthenticate) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -1376,7 +299,6 @@ func (x *fastReflection_MsgAuthenticate) SetUnknown(fields protoreflect.RawField // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. func (x *fastReflection_MsgAllocateVault) IsValid() bool { -func (x *fastReflection_MsgAuthenticate) IsValid() bool { return x != nil } @@ -1389,9 +311,6 @@ func (x *fastReflection_MsgAuthenticate) IsValid() bool { func (x *fastReflection_MsgAllocateVault) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { x := input.Message.Interface().(*MsgAllocateVault) -func (x *fastReflection_MsgAuthenticate) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgAuthenticate) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1426,7 +345,6 @@ func (x *fastReflection_MsgAuthenticate) ProtoMethods() *protoiface.Methods { marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { x := input.Message.Interface().(*MsgAllocateVault) - x := input.Message.Interface().(*MsgAuthenticate) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1478,7 +396,6 @@ func (x *fastReflection_MsgAuthenticate) ProtoMethods() *protoiface.Methods { } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { x := input.Message.Interface().(*MsgAllocateVault) - x := input.Message.Interface().(*MsgAuthenticate) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1514,10 +431,6 @@ func (x *fastReflection_MsgAuthenticate) ProtoMethods() *protoiface.Methods { } if fieldNum <= 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAllocateVault: illegal tag %d (wire type %d)", fieldNum, wire) - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthenticate: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthenticate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1652,12 +565,11 @@ func (x *fastReflection_MsgAuthenticate) ProtoMethods() *protoiface.Methods { } var ( - md_MsgAllocateVaultResponse protoreflect.MessageDescriptor - fd_MsgAllocateVaultResponse_cid protoreflect.FieldDescriptor - fd_MsgAllocateVaultResponse_expiry_block protoreflect.FieldDescriptor - fd_MsgAllocateVaultResponse_registration_options protoreflect.FieldDescriptor - fd_MsgAllocateVaultResponse_localhost protoreflect.FieldDescriptor - md_MsgAuthenticateResponse protoreflect.MessageDescriptor + md_MsgAllocateVaultResponse protoreflect.MessageDescriptor + fd_MsgAllocateVaultResponse_cid protoreflect.FieldDescriptor + fd_MsgAllocateVaultResponse_expiry_block protoreflect.FieldDescriptor + fd_MsgAllocateVaultResponse_token protoreflect.FieldDescriptor + fd_MsgAllocateVaultResponse_localhost protoreflect.FieldDescriptor ) func init() { @@ -1665,7 +577,7 @@ func init() { md_MsgAllocateVaultResponse = File_did_v1_tx_proto.Messages().ByName("MsgAllocateVaultResponse") fd_MsgAllocateVaultResponse_cid = md_MsgAllocateVaultResponse.Fields().ByName("cid") fd_MsgAllocateVaultResponse_expiry_block = md_MsgAllocateVaultResponse.Fields().ByName("expiry_block") - fd_MsgAllocateVaultResponse_registration_options = md_MsgAllocateVaultResponse.Fields().ByName("registration_options") + fd_MsgAllocateVaultResponse_token = md_MsgAllocateVaultResponse.Fields().ByName("token") fd_MsgAllocateVaultResponse_localhost = md_MsgAllocateVaultResponse.Fields().ByName("localhost") } @@ -1678,19 +590,7 @@ func (x *MsgAllocateVaultResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAllocateVaultResponse) slowProtoReflect() protoreflect.Message { - md_MsgAuthenticateResponse = File_did_v1_tx_proto.Messages().ByName("MsgAuthenticateResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgAuthenticateResponse)(nil) - -type fastReflection_MsgAuthenticateResponse MsgAuthenticateResponse - -func (x *MsgAuthenticateResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAuthenticateResponse)(x) -} - -func (x *MsgAuthenticateResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[3] + mi := &file_did_v1_tx_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1714,27 +614,12 @@ func (x fastReflection_MsgAllocateVaultResponse_messageType) New() protoreflect. } func (x fastReflection_MsgAllocateVaultResponse_messageType) Descriptor() protoreflect.MessageDescriptor { return md_MsgAllocateVaultResponse -var _fastReflection_MsgAuthenticateResponse_messageType fastReflection_MsgAuthenticateResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgAuthenticateResponse_messageType{} - -type fastReflection_MsgAuthenticateResponse_messageType struct{} - -func (x fastReflection_MsgAuthenticateResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAuthenticateResponse)(nil) -} -func (x fastReflection_MsgAuthenticateResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAuthenticateResponse) -} -func (x fastReflection_MsgAuthenticateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAuthenticateResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. func (x *fastReflection_MsgAllocateVaultResponse) Descriptor() protoreflect.MessageDescriptor { return md_MsgAllocateVaultResponse -func (x *fastReflection_MsgAuthenticateResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAuthenticateResponse } // Type returns the message type, which encapsulates both Go and protobuf @@ -1747,21 +632,12 @@ func (x *fastReflection_MsgAllocateVaultResponse) Type() protoreflect.MessageTyp // New returns a newly allocated and mutable empty message. func (x *fastReflection_MsgAllocateVaultResponse) New() protoreflect.Message { return new(fastReflection_MsgAllocateVaultResponse) -func (x *fastReflection_MsgAuthenticateResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgAuthenticateResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAuthenticateResponse) New() protoreflect.Message { - return new(fastReflection_MsgAuthenticateResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. func (x *fastReflection_MsgAllocateVaultResponse) Interface() protoreflect.ProtoMessage { return (*MsgAllocateVaultResponse)(x) -func (x *fastReflection_MsgAuthenticateResponse) Interface() protoreflect.ProtoMessage { - return (*MsgAuthenticateResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -1782,9 +658,9 @@ func (x *fastReflection_MsgAllocateVaultResponse) Range(f func(protoreflect.Fiel return } } - if x.RegistrationOptions != "" { - value := protoreflect.ValueOfString(x.RegistrationOptions) - if !f(fd_MsgAllocateVaultResponse_registration_options, value) { + if x.Token != "" { + value := protoreflect.ValueOfString(x.Token) + if !f(fd_MsgAllocateVaultResponse_token, value) { return } } @@ -1794,7 +670,6 @@ func (x *fastReflection_MsgAllocateVaultResponse) Range(f func(protoreflect.Fiel return } } -func (x *fastReflection_MsgAuthenticateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -1809,14 +684,13 @@ func (x *fastReflection_MsgAuthenticateResponse) Range(f func(protoreflect.Field // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. func (x *fastReflection_MsgAllocateVaultResponse) Has(fd protoreflect.FieldDescriptor) bool { -func (x *fastReflection_MsgAuthenticateResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { case "did.v1.MsgAllocateVaultResponse.cid": return x.Cid != "" case "did.v1.MsgAllocateVaultResponse.expiry_block": return x.ExpiryBlock != int64(0) - case "did.v1.MsgAllocateVaultResponse.registration_options": - return x.RegistrationOptions != "" + case "did.v1.MsgAllocateVaultResponse.token": + return x.Token != "" case "did.v1.MsgAllocateVaultResponse.localhost": return x.Localhost != false default: @@ -1824,9 +698,6 @@ func (x *fastReflection_MsgAuthenticateResponse) Has(fd protoreflect.FieldDescri panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVaultResponse")) } panic(fmt.Errorf("message did.v1.MsgAllocateVaultResponse does not contain field %s", fd.FullName())) - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticateResponse")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticateResponse does not contain field %s", fd.FullName())) } } @@ -1837,14 +708,13 @@ func (x *fastReflection_MsgAuthenticateResponse) Has(fd protoreflect.FieldDescri // // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgAllocateVaultResponse) Clear(fd protoreflect.FieldDescriptor) { -func (x *fastReflection_MsgAuthenticateResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "did.v1.MsgAllocateVaultResponse.cid": x.Cid = "" case "did.v1.MsgAllocateVaultResponse.expiry_block": x.ExpiryBlock = int64(0) - case "did.v1.MsgAllocateVaultResponse.registration_options": - x.RegistrationOptions = "" + case "did.v1.MsgAllocateVaultResponse.token": + x.Token = "" case "did.v1.MsgAllocateVaultResponse.localhost": x.Localhost = false default: @@ -1852,9 +722,6 @@ func (x *fastReflection_MsgAuthenticateResponse) Clear(fd protoreflect.FieldDesc panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVaultResponse")) } panic(fmt.Errorf("message did.v1.MsgAllocateVaultResponse does not contain field %s", fd.FullName())) - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticateResponse")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticateResponse does not contain field %s", fd.FullName())) } } @@ -1865,7 +732,6 @@ func (x *fastReflection_MsgAuthenticateResponse) Clear(fd protoreflect.FieldDesc // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_MsgAllocateVaultResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { -func (x *fastReflection_MsgAuthenticateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { case "did.v1.MsgAllocateVaultResponse.cid": value := x.Cid @@ -1873,8 +739,8 @@ func (x *fastReflection_MsgAuthenticateResponse) Get(descriptor protoreflect.Fie case "did.v1.MsgAllocateVaultResponse.expiry_block": value := x.ExpiryBlock return protoreflect.ValueOfInt64(value) - case "did.v1.MsgAllocateVaultResponse.registration_options": - value := x.RegistrationOptions + case "did.v1.MsgAllocateVaultResponse.token": + value := x.Token return protoreflect.ValueOfString(value) case "did.v1.MsgAllocateVaultResponse.localhost": value := x.Localhost @@ -1884,9 +750,6 @@ func (x *fastReflection_MsgAuthenticateResponse) Get(descriptor protoreflect.Fie panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVaultResponse")) } panic(fmt.Errorf("message did.v1.MsgAllocateVaultResponse does not contain field %s", descriptor.FullName())) - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticateResponse")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticateResponse does not contain field %s", descriptor.FullName())) } } @@ -1901,14 +764,13 @@ func (x *fastReflection_MsgAuthenticateResponse) Get(descriptor protoreflect.Fie // // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgAllocateVaultResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { -func (x *fastReflection_MsgAuthenticateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { case "did.v1.MsgAllocateVaultResponse.cid": x.Cid = value.Interface().(string) case "did.v1.MsgAllocateVaultResponse.expiry_block": x.ExpiryBlock = value.Int() - case "did.v1.MsgAllocateVaultResponse.registration_options": - x.RegistrationOptions = value.Interface().(string) + case "did.v1.MsgAllocateVaultResponse.token": + x.Token = value.Interface().(string) case "did.v1.MsgAllocateVaultResponse.localhost": x.Localhost = value.Bool() default: @@ -1916,9 +778,6 @@ func (x *fastReflection_MsgAuthenticateResponse) Set(fd protoreflect.FieldDescri panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVaultResponse")) } panic(fmt.Errorf("message did.v1.MsgAllocateVaultResponse does not contain field %s", fd.FullName())) - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticateResponse")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticateResponse does not contain field %s", fd.FullName())) } } @@ -1933,14 +792,13 @@ func (x *fastReflection_MsgAuthenticateResponse) Set(fd protoreflect.FieldDescri // // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgAllocateVaultResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { -func (x *fastReflection_MsgAuthenticateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "did.v1.MsgAllocateVaultResponse.cid": panic(fmt.Errorf("field cid of message did.v1.MsgAllocateVaultResponse is not mutable")) case "did.v1.MsgAllocateVaultResponse.expiry_block": panic(fmt.Errorf("field expiry_block of message did.v1.MsgAllocateVaultResponse is not mutable")) - case "did.v1.MsgAllocateVaultResponse.registration_options": - panic(fmt.Errorf("field registration_options of message did.v1.MsgAllocateVaultResponse is not mutable")) + case "did.v1.MsgAllocateVaultResponse.token": + panic(fmt.Errorf("field token of message did.v1.MsgAllocateVaultResponse is not mutable")) case "did.v1.MsgAllocateVaultResponse.localhost": panic(fmt.Errorf("field localhost of message did.v1.MsgAllocateVaultResponse is not mutable")) default: @@ -1948,9 +806,6 @@ func (x *fastReflection_MsgAuthenticateResponse) Mutable(fd protoreflect.FieldDe panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVaultResponse")) } panic(fmt.Errorf("message did.v1.MsgAllocateVaultResponse does not contain field %s", fd.FullName())) - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticateResponse")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticateResponse does not contain field %s", fd.FullName())) } } @@ -1958,13 +813,12 @@ func (x *fastReflection_MsgAuthenticateResponse) Mutable(fd protoreflect.FieldDe // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_MsgAllocateVaultResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { -func (x *fastReflection_MsgAuthenticateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "did.v1.MsgAllocateVaultResponse.cid": return protoreflect.ValueOfString("") case "did.v1.MsgAllocateVaultResponse.expiry_block": return protoreflect.ValueOfInt64(int64(0)) - case "did.v1.MsgAllocateVaultResponse.registration_options": + case "did.v1.MsgAllocateVaultResponse.token": return protoreflect.ValueOfString("") case "did.v1.MsgAllocateVaultResponse.localhost": return protoreflect.ValueOfBool(false) @@ -1973,9 +827,6 @@ func (x *fastReflection_MsgAuthenticateResponse) NewField(fd protoreflect.FieldD panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAllocateVaultResponse")) } panic(fmt.Errorf("message did.v1.MsgAllocateVaultResponse does not contain field %s", fd.FullName())) - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgAuthenticateResponse")) - } - panic(fmt.Errorf("message did.v1.MsgAuthenticateResponse does not contain field %s", fd.FullName())) } } @@ -1986,10 +837,6 @@ func (x *fastReflection_MsgAllocateVaultResponse) WhichOneof(d protoreflect.Oneo switch d.FullName() { default: panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgAllocateVaultResponse", d.FullName())) -func (x *fastReflection_MsgAuthenticateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgAuthenticateResponse", d.FullName())) } panic("unreachable") } @@ -1998,7 +845,6 @@ func (x *fastReflection_MsgAuthenticateResponse) WhichOneof(d protoreflect.Oneof // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. func (x *fastReflection_MsgAllocateVaultResponse) GetUnknown() protoreflect.RawFields { -func (x *fastReflection_MsgAuthenticateResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -2010,7 +856,6 @@ func (x *fastReflection_MsgAuthenticateResponse) GetUnknown() protoreflect.RawFi // // SetUnknown is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgAllocateVaultResponse) SetUnknown(fields protoreflect.RawFields) { -func (x *fastReflection_MsgAuthenticateResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -2023,7 +868,6 @@ func (x *fastReflection_MsgAuthenticateResponse) SetUnknown(fields protoreflect. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. func (x *fastReflection_MsgAllocateVaultResponse) IsValid() bool { -func (x *fastReflection_MsgAuthenticateResponse) IsValid() bool { return x != nil } @@ -2036,9 +880,6 @@ func (x *fastReflection_MsgAuthenticateResponse) IsValid() bool { func (x *fastReflection_MsgAllocateVaultResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { x := input.Message.Interface().(*MsgAllocateVaultResponse) -func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgAuthenticateResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2057,7 +898,7 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth if x.ExpiryBlock != 0 { n += 1 + runtime.Sov(uint64(x.ExpiryBlock)) } - l = len(x.RegistrationOptions) + l = len(x.Token) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -2075,7 +916,6 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { x := input.Message.Interface().(*MsgAllocateVaultResponse) - x := input.Message.Interface().(*MsgAuthenticateResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2104,10 +944,10 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth i-- dAtA[i] = 0x20 } - if len(x.RegistrationOptions) > 0 { - i -= len(x.RegistrationOptions) - copy(dAtA[i:], x.RegistrationOptions) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RegistrationOptions))) + if len(x.Token) > 0 { + i -= len(x.Token) + copy(dAtA[i:], x.Token) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Token))) i-- dAtA[i] = 0x1a } @@ -2135,7 +975,6 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { x := input.Message.Interface().(*MsgAllocateVaultResponse) - x := input.Message.Interface().(*MsgAuthenticateResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2171,10 +1010,6 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth } if fieldNum <= 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAllocateVaultResponse: illegal tag %d (wire type %d)", fieldNum, wire) - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthenticateResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthenticateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2230,7 +1065,7 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth } case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RegistrationOptions", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2258,7 +1093,7 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.RegistrationOptions = string(dAtA[iNdEx:postIndex]) + x.Token = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 0 { @@ -2315,2003 +1150,159 @@ func (x *fastReflection_MsgAuthenticateResponse) ProtoMethods() *protoiface.Meth } } -var ( - md_MsgProveWitness protoreflect.MessageDescriptor - fd_MsgProveWitness_authority protoreflect.FieldDescriptor - fd_MsgProveWitness_property protoreflect.FieldDescriptor - fd_MsgProveWitness_witness protoreflect.FieldDescriptor - fd_MsgProveWitness_token protoreflect.FieldDescriptor -) +var _ protoreflect.List = (*_MsgRegisterController_2_list)(nil) -func init() { - file_did_v1_tx_proto_init() - md_MsgProveWitness = File_did_v1_tx_proto.Messages().ByName("MsgProveWitness") - fd_MsgProveWitness_authority = md_MsgProveWitness.Fields().ByName("authority") - fd_MsgProveWitness_property = md_MsgProveWitness.Fields().ByName("property") - fd_MsgProveWitness_witness = md_MsgProveWitness.Fields().ByName("witness") - fd_MsgProveWitness_token = md_MsgProveWitness.Fields().ByName("token") +type _MsgRegisterController_2_list struct { + list *[][]byte } -var _ protoreflect.Message = (*fastReflection_MsgProveWitness)(nil) - -type fastReflection_MsgProveWitness MsgProveWitness - -func (x *MsgProveWitness) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgProveWitness)(x) -} - -func (x *MsgProveWitness) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *_MsgRegisterController_2_list) Len() int { + if x.list == nil { + return 0 } - return mi.MessageOf(x) + return len(*x.list) } -var _fastReflection_MsgProveWitness_messageType fastReflection_MsgProveWitness_messageType -var _ protoreflect.MessageType = fastReflection_MsgProveWitness_messageType{} - -type fastReflection_MsgProveWitness_messageType struct{} - -func (x fastReflection_MsgProveWitness_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgProveWitness)(nil) -} -func (x fastReflection_MsgProveWitness_messageType) New() protoreflect.Message { - return new(fastReflection_MsgProveWitness) -} -func (x fastReflection_MsgProveWitness_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitness +func (x *_MsgRegisterController_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfBytes((*x.list)[i]) } -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgProveWitness) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitness +func (x *_MsgRegisterController_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue } -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgProveWitness) Type() protoreflect.MessageType { - return _fastReflection_MsgProveWitness_messageType +func (x *_MsgRegisterController_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) } -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgProveWitness) New() protoreflect.Message { - return new(fastReflection_MsgProveWitness) +func (x *_MsgRegisterController_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgRegisterController at list field Assertions as it is not of Message kind")) } -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgProveWitness) Interface() protoreflect.ProtoMessage { - return (*MsgProveWitness)(x) +func (x *_MsgRegisterController_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] } -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgProveWitness) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgProveWitness_authority, value) { - return - } - } - if x.Property != "" { - value := protoreflect.ValueOfString(x.Property) - if !f(fd_MsgProveWitness_property, value) { - return - } - } - if len(x.Witness) != 0 { - value := protoreflect.ValueOfBytes(x.Witness) - if !f(fd_MsgProveWitness_witness, value) { - return - } - } - if x.Token != "" { - value := protoreflect.ValueOfString(x.Token) - if !f(fd_MsgProveWitness_token, value) { - return - } +func (x *_MsgRegisterController_2_list) NewElement() protoreflect.Value { + var v []byte + return protoreflect.ValueOfBytes(v) +} + +func (x *_MsgRegisterController_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_MsgRegisterController_3_list)(nil) + +type _MsgRegisterController_3_list struct { + list *[][]byte +} + +func (x *_MsgRegisterController_3_list) Len() int { + if x.list == nil { + return 0 } + return len(*x.list) } -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgProveWitness) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - return x.Authority != "" - case "did.v1.MsgProveWitness.property": - return x.Property != "" - case "did.v1.MsgProveWitness.witness": - return len(x.Witness) != 0 - case "did.v1.MsgProveWitness.token": - return x.Token != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } +func (x *_MsgRegisterController_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfBytes((*x.list)[i]) } -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - x.Authority = "" - case "did.v1.MsgProveWitness.property": - x.Property = "" - case "did.v1.MsgProveWitness.witness": - x.Witness = nil - case "did.v1.MsgProveWitness.token": - x.Token = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } +func (x *_MsgRegisterController_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue } -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgProveWitness) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgProveWitness.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "did.v1.MsgProveWitness.property": - value := x.Property - return protoreflect.ValueOfString(value) - case "did.v1.MsgProveWitness.witness": - value := x.Witness - return protoreflect.ValueOfBytes(value) - case "did.v1.MsgProveWitness.token": - value := x.Token - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", descriptor.FullName())) - } +func (x *_MsgRegisterController_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) } -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - x.Authority = value.Interface().(string) - case "did.v1.MsgProveWitness.property": - x.Property = value.Interface().(string) - case "did.v1.MsgProveWitness.witness": - x.Witness = value.Bytes() - case "did.v1.MsgProveWitness.token": - x.Token = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } +func (x *_MsgRegisterController_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgRegisterController at list field Keyshares as it is not of Message kind")) } -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - panic(fmt.Errorf("field authority of message did.v1.MsgProveWitness is not mutable")) - case "did.v1.MsgProveWitness.property": - panic(fmt.Errorf("field property of message did.v1.MsgProveWitness is not mutable")) - case "did.v1.MsgProveWitness.witness": - panic(fmt.Errorf("field witness of message did.v1.MsgProveWitness is not mutable")) - case "did.v1.MsgProveWitness.token": - panic(fmt.Errorf("field token of message did.v1.MsgProveWitness is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } +func (x *_MsgRegisterController_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] } -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgProveWitness) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - return protoreflect.ValueOfString("") - case "did.v1.MsgProveWitness.property": - return protoreflect.ValueOfString("") - case "did.v1.MsgProveWitness.witness": - return protoreflect.ValueOfBytes(nil) - case "did.v1.MsgProveWitness.token": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } +func (x *_MsgRegisterController_3_list) NewElement() protoreflect.Value { + var v []byte + return protoreflect.ValueOfBytes(v) } -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgProveWitness) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgProveWitness", d.FullName())) - } - panic("unreachable") +func (x *_MsgRegisterController_3_list) IsValid() bool { + return x.list != nil } -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgProveWitness) GetUnknown() protoreflect.RawFields { - return x.unknownFields +var _ protoreflect.List = (*_MsgRegisterController_4_list)(nil) + +type _MsgRegisterController_4_list struct { + list *[][]byte } -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields +func (x *_MsgRegisterController_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) } -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgProveWitness) IsValid() bool { - return x != nil +func (x *_MsgRegisterController_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfBytes((*x.list)[i]) } -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgProveWitness) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgProveWitness) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Authority) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Property) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Witness) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Token) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } +func (x *_MsgRegisterController_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitness) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Token) > 0 { - i -= len(x.Token) - copy(dAtA[i:], x.Token) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Token))) - i-- - dAtA[i] = 0x22 - } - if len(x.Witness) > 0 { - i -= len(x.Witness) - copy(dAtA[i:], x.Witness) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Witness))) - i-- - dAtA[i] = 0x1a - } - if len(x.Property) > 0 { - i -= len(x.Property) - copy(dAtA[i:], x.Property) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Property))) - i-- - dAtA[i] = 0x12 - } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitness) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitness: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitness: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Property", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Property = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Witness", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Witness = append(x.Witness[:0], dAtA[iNdEx:postIndex]...) - if x.Witness == nil { - x.Witness = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Token = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } +func (x *_MsgRegisterController_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } +func (x *_MsgRegisterController_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgRegisterController at list field Verifications as it is not of Message kind")) +} + +func (x *_MsgRegisterController_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgRegisterController_4_list) NewElement() protoreflect.Value { + var v []byte + return protoreflect.ValueOfBytes(v) +} + +func (x *_MsgRegisterController_4_list) IsValid() bool { + return x.list != nil } var ( - md_MsgProveWitnessResponse protoreflect.MessageDescriptor - fd_MsgProveWitnessResponse_success protoreflect.FieldDescriptor - fd_MsgProveWitnessResponse_property protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgProveWitnessResponse = File_did_v1_tx_proto.Messages().ByName("MsgProveWitnessResponse") - fd_MsgProveWitnessResponse_success = md_MsgProveWitnessResponse.Fields().ByName("success") - fd_MsgProveWitnessResponse_property = md_MsgProveWitnessResponse.Fields().ByName("property") -} - -var _ protoreflect.Message = (*fastReflection_MsgProveWitnessResponse)(nil) - -type fastReflection_MsgProveWitnessResponse MsgProveWitnessResponse - -func (x *MsgProveWitnessResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgProveWitnessResponse)(x) -} - -func (x *MsgProveWitnessResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgProveWitnessResponse_messageType fastReflection_MsgProveWitnessResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgProveWitnessResponse_messageType{} - -type fastReflection_MsgProveWitnessResponse_messageType struct{} - -func (x fastReflection_MsgProveWitnessResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgProveWitnessResponse)(nil) -} -func (x fastReflection_MsgProveWitnessResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgProveWitnessResponse) -} -func (x fastReflection_MsgProveWitnessResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitnessResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgProveWitnessResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitnessResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgProveWitnessResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgProveWitnessResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgProveWitnessResponse) New() protoreflect.Message { - return new(fastReflection_MsgProveWitnessResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgProveWitnessResponse) Interface() protoreflect.ProtoMessage { - return (*MsgProveWitnessResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgProveWitnessResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Success != false { - value := protoreflect.ValueOfBool(x.Success) - if !f(fd_MsgProveWitnessResponse_success, value) { - return - } - } - if x.Property != "" { - value := protoreflect.ValueOfString(x.Property) - if !f(fd_MsgProveWitnessResponse_property, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgProveWitnessResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - return x.Success != false - case "did.v1.MsgProveWitnessResponse.property": - return x.Property != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - x.Success = false - case "did.v1.MsgProveWitnessResponse.property": - x.Property = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgProveWitnessResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - value := x.Success - return protoreflect.ValueOfBool(value) - case "did.v1.MsgProveWitnessResponse.property": - value := x.Property - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - x.Success = value.Bool() - case "did.v1.MsgProveWitnessResponse.property": - x.Property = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - panic(fmt.Errorf("field success of message did.v1.MsgProveWitnessResponse is not mutable")) - case "did.v1.MsgProveWitnessResponse.property": - panic(fmt.Errorf("field property of message did.v1.MsgProveWitnessResponse is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgProveWitnessResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - return protoreflect.ValueOfBool(false) - case "did.v1.MsgProveWitnessResponse.property": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgProveWitnessResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgProveWitnessResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgProveWitnessResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgProveWitnessResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgProveWitnessResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgProveWitnessResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Success { - n += 2 - } - l = len(x.Property) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitnessResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Property) > 0 { - i -= len(x.Property) - copy(dAtA[i:], x.Property) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Property))) - i-- - dAtA[i] = 0x12 - } - if x.Success { - i-- - if x.Success { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitnessResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitnessResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitnessResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Success = bool(v != 0) - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Property", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Property = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgSyncController protoreflect.MessageDescriptor - fd_MsgSyncController_controller protoreflect.FieldDescriptor - fd_MsgSyncController_token protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgSyncController = File_did_v1_tx_proto.Messages().ByName("MsgSyncController") - fd_MsgSyncController_controller = md_MsgSyncController.Fields().ByName("controller") - fd_MsgSyncController_token = md_MsgSyncController.Fields().ByName("token") -} - -var _ protoreflect.Message = (*fastReflection_MsgSyncController)(nil) - -type fastReflection_MsgSyncController MsgSyncController - -func (x *MsgSyncController) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSyncController)(x) -} - -func (x *MsgSyncController) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgSyncController_messageType fastReflection_MsgSyncController_messageType -var _ protoreflect.MessageType = fastReflection_MsgSyncController_messageType{} - -type fastReflection_MsgSyncController_messageType struct{} - -func (x fastReflection_MsgSyncController_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSyncController)(nil) -} -func (x fastReflection_MsgSyncController_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSyncController) -} -func (x fastReflection_MsgSyncController_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncController -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgSyncController) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncController -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgSyncController) Type() protoreflect.MessageType { - return _fastReflection_MsgSyncController_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSyncController) New() protoreflect.Message { - return new(fastReflection_MsgSyncController) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSyncController) Interface() protoreflect.ProtoMessage { - return (*MsgSyncController)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgSyncController) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_MsgSyncController_controller, value) { - return - } - } - if x.Token != "" { - value := protoreflect.ValueOfString(x.Token) - if !f(fd_MsgSyncController_token, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgSyncController) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgSyncController.controller": - return x.Controller != "" - case "did.v1.MsgSyncController.token": - return x.Token != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncController")) - } - panic(fmt.Errorf("message did.v1.MsgSyncController does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncController) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgSyncController.controller": - x.Controller = "" - case "did.v1.MsgSyncController.token": - x.Token = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncController")) - } - panic(fmt.Errorf("message did.v1.MsgSyncController does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgSyncController) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgSyncController.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.MsgSyncController.token": - value := x.Token - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncController")) - } - panic(fmt.Errorf("message did.v1.MsgSyncController does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncController) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgSyncController.controller": - x.Controller = value.Interface().(string) - case "did.v1.MsgSyncController.token": - x.Token = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncController")) - } - panic(fmt.Errorf("message did.v1.MsgSyncController does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncController) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncController.controller": - panic(fmt.Errorf("field controller of message did.v1.MsgSyncController is not mutable")) - case "did.v1.MsgSyncController.token": - panic(fmt.Errorf("field token of message did.v1.MsgSyncController is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncController")) - } - panic(fmt.Errorf("message did.v1.MsgSyncController does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgSyncController) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncController.controller": - return protoreflect.ValueOfString("") - case "did.v1.MsgSyncController.token": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncController")) - } - panic(fmt.Errorf("message did.v1.MsgSyncController does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgSyncController) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgSyncController", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgSyncController) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncController) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgSyncController) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSyncController) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSyncController) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Token) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncController) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Token) > 0 { - i -= len(x.Token) - copy(dAtA[i:], x.Token) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Token))) - i-- - dAtA[i] = 0x1a - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncController) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncController: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncController: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Token = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgSyncControllerResponse protoreflect.MessageDescriptor - fd_MsgSyncControllerResponse_success protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgSyncControllerResponse = File_did_v1_tx_proto.Messages().ByName("MsgSyncControllerResponse") - fd_MsgSyncControllerResponse_success = md_MsgSyncControllerResponse.Fields().ByName("success") -} - -var _ protoreflect.Message = (*fastReflection_MsgSyncControllerResponse)(nil) - -type fastReflection_MsgSyncControllerResponse MsgSyncControllerResponse - -func (x *MsgSyncControllerResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSyncControllerResponse)(x) -} - -func (x *MsgSyncControllerResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgSyncControllerResponse_messageType fastReflection_MsgSyncControllerResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgSyncControllerResponse_messageType{} - -type fastReflection_MsgSyncControllerResponse_messageType struct{} - -func (x fastReflection_MsgSyncControllerResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSyncControllerResponse)(nil) -} -func (x fastReflection_MsgSyncControllerResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSyncControllerResponse) -} -func (x fastReflection_MsgSyncControllerResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncControllerResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgSyncControllerResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncControllerResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgSyncControllerResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgSyncControllerResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSyncControllerResponse) New() protoreflect.Message { - return new(fastReflection_MsgSyncControllerResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSyncControllerResponse) Interface() protoreflect.ProtoMessage { - return (*MsgSyncControllerResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgSyncControllerResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Success != false { - value := protoreflect.ValueOfBool(x.Success) - if !f(fd_MsgSyncControllerResponse_success, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgSyncControllerResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgSyncControllerResponse.success": - return x.Success != false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncControllerResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncControllerResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgSyncControllerResponse.success": - x.Success = false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncControllerResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgSyncControllerResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgSyncControllerResponse.success": - value := x.Success - return protoreflect.ValueOfBool(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncControllerResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncControllerResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgSyncControllerResponse.success": - x.Success = value.Bool() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncControllerResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncControllerResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncControllerResponse.success": - panic(fmt.Errorf("field success of message did.v1.MsgSyncControllerResponse is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncControllerResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgSyncControllerResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncControllerResponse.success": - return protoreflect.ValueOfBool(false) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncControllerResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgSyncControllerResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgSyncControllerResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgSyncControllerResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncControllerResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgSyncControllerResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSyncControllerResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSyncControllerResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Success { - n += 2 - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncControllerResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Success { - i-- - if x.Success { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncControllerResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncControllerResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncControllerResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Success = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgRegisterController protoreflect.MessageDescriptor - fd_MsgRegisterController_authority protoreflect.FieldDescriptor - fd_MsgRegisterController_cid protoreflect.FieldDescriptor - fd_MsgRegisterController_origin protoreflect.FieldDescriptor - fd_MsgRegisterController_credential_creation_response protoreflect.FieldDescriptor + md_MsgRegisterController protoreflect.MessageDescriptor + fd_MsgRegisterController_authority protoreflect.FieldDescriptor + fd_MsgRegisterController_assertions protoreflect.FieldDescriptor + fd_MsgRegisterController_keyshares protoreflect.FieldDescriptor + fd_MsgRegisterController_verifications protoreflect.FieldDescriptor ) func init() { file_did_v1_tx_proto_init() md_MsgRegisterController = File_did_v1_tx_proto.Messages().ByName("MsgRegisterController") fd_MsgRegisterController_authority = md_MsgRegisterController.Fields().ByName("authority") - fd_MsgRegisterController_cid = md_MsgRegisterController.Fields().ByName("cid") - fd_MsgRegisterController_origin = md_MsgRegisterController.Fields().ByName("origin") - fd_MsgRegisterController_credential_creation_response = md_MsgRegisterController.Fields().ByName("credential_creation_response") + fd_MsgRegisterController_assertions = md_MsgRegisterController.Fields().ByName("assertions") + fd_MsgRegisterController_keyshares = md_MsgRegisterController.Fields().ByName("keyshares") + fd_MsgRegisterController_verifications = md_MsgRegisterController.Fields().ByName("verifications") } var _ protoreflect.Message = (*fastReflection_MsgRegisterController)(nil) @@ -4323,7 +1314,7 @@ func (x *MsgRegisterController) ProtoReflect() protoreflect.Message { } func (x *MsgRegisterController) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[8] + mi := &file_did_v1_tx_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4385,21 +1376,21 @@ func (x *fastReflection_MsgRegisterController) Range(f func(protoreflect.FieldDe return } } - if x.Cid != "" { - value := protoreflect.ValueOfString(x.Cid) - if !f(fd_MsgRegisterController_cid, value) { + if len(x.Assertions) != 0 { + value := protoreflect.ValueOfList(&_MsgRegisterController_2_list{list: &x.Assertions}) + if !f(fd_MsgRegisterController_assertions, value) { return } } - if x.Origin != "" { - value := protoreflect.ValueOfString(x.Origin) - if !f(fd_MsgRegisterController_origin, value) { + if len(x.Keyshares) != 0 { + value := protoreflect.ValueOfList(&_MsgRegisterController_3_list{list: &x.Keyshares}) + if !f(fd_MsgRegisterController_keyshares, value) { return } } - if x.CredentialCreationResponse != "" { - value := protoreflect.ValueOfString(x.CredentialCreationResponse) - if !f(fd_MsgRegisterController_credential_creation_response, value) { + if len(x.Verifications) != 0 { + value := protoreflect.ValueOfList(&_MsgRegisterController_4_list{list: &x.Verifications}) + if !f(fd_MsgRegisterController_verifications, value) { return } } @@ -4420,12 +1411,12 @@ func (x *fastReflection_MsgRegisterController) Has(fd protoreflect.FieldDescript switch fd.FullName() { case "did.v1.MsgRegisterController.authority": return x.Authority != "" - case "did.v1.MsgRegisterController.cid": - return x.Cid != "" - case "did.v1.MsgRegisterController.origin": - return x.Origin != "" - case "did.v1.MsgRegisterController.credential_creation_response": - return x.CredentialCreationResponse != "" + case "did.v1.MsgRegisterController.assertions": + return len(x.Assertions) != 0 + case "did.v1.MsgRegisterController.keyshares": + return len(x.Keyshares) != 0 + case "did.v1.MsgRegisterController.verifications": + return len(x.Verifications) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) @@ -4444,12 +1435,12 @@ func (x *fastReflection_MsgRegisterController) Clear(fd protoreflect.FieldDescri switch fd.FullName() { case "did.v1.MsgRegisterController.authority": x.Authority = "" - case "did.v1.MsgRegisterController.cid": - x.Cid = "" - case "did.v1.MsgRegisterController.origin": - x.Origin = "" - case "did.v1.MsgRegisterController.credential_creation_response": - x.CredentialCreationResponse = "" + case "did.v1.MsgRegisterController.assertions": + x.Assertions = nil + case "did.v1.MsgRegisterController.keyshares": + x.Keyshares = nil + case "did.v1.MsgRegisterController.verifications": + x.Verifications = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) @@ -4469,15 +1460,24 @@ func (x *fastReflection_MsgRegisterController) Get(descriptor protoreflect.Field case "did.v1.MsgRegisterController.authority": value := x.Authority return protoreflect.ValueOfString(value) - case "did.v1.MsgRegisterController.cid": - value := x.Cid - return protoreflect.ValueOfString(value) - case "did.v1.MsgRegisterController.origin": - value := x.Origin - return protoreflect.ValueOfString(value) - case "did.v1.MsgRegisterController.credential_creation_response": - value := x.CredentialCreationResponse - return protoreflect.ValueOfString(value) + case "did.v1.MsgRegisterController.assertions": + if len(x.Assertions) == 0 { + return protoreflect.ValueOfList(&_MsgRegisterController_2_list{}) + } + listValue := &_MsgRegisterController_2_list{list: &x.Assertions} + return protoreflect.ValueOfList(listValue) + case "did.v1.MsgRegisterController.keyshares": + if len(x.Keyshares) == 0 { + return protoreflect.ValueOfList(&_MsgRegisterController_3_list{}) + } + listValue := &_MsgRegisterController_3_list{list: &x.Keyshares} + return protoreflect.ValueOfList(listValue) + case "did.v1.MsgRegisterController.verifications": + if len(x.Verifications) == 0 { + return protoreflect.ValueOfList(&_MsgRegisterController_4_list{}) + } + listValue := &_MsgRegisterController_4_list{list: &x.Verifications} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) @@ -4500,12 +1500,18 @@ func (x *fastReflection_MsgRegisterController) Set(fd protoreflect.FieldDescript switch fd.FullName() { case "did.v1.MsgRegisterController.authority": x.Authority = value.Interface().(string) - case "did.v1.MsgRegisterController.cid": - x.Cid = value.Interface().(string) - case "did.v1.MsgRegisterController.origin": - x.Origin = value.Interface().(string) - case "did.v1.MsgRegisterController.credential_creation_response": - x.CredentialCreationResponse = value.Interface().(string) + case "did.v1.MsgRegisterController.assertions": + lv := value.List() + clv := lv.(*_MsgRegisterController_2_list) + x.Assertions = *clv.list + case "did.v1.MsgRegisterController.keyshares": + lv := value.List() + clv := lv.(*_MsgRegisterController_3_list) + x.Keyshares = *clv.list + case "did.v1.MsgRegisterController.verifications": + lv := value.List() + clv := lv.(*_MsgRegisterController_4_list) + x.Verifications = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) @@ -4526,14 +1532,26 @@ func (x *fastReflection_MsgRegisterController) Set(fd protoreflect.FieldDescript // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgRegisterController) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "did.v1.MsgRegisterController.assertions": + if x.Assertions == nil { + x.Assertions = [][]byte{} + } + value := &_MsgRegisterController_2_list{list: &x.Assertions} + return protoreflect.ValueOfList(value) + case "did.v1.MsgRegisterController.keyshares": + if x.Keyshares == nil { + x.Keyshares = [][]byte{} + } + value := &_MsgRegisterController_3_list{list: &x.Keyshares} + return protoreflect.ValueOfList(value) + case "did.v1.MsgRegisterController.verifications": + if x.Verifications == nil { + x.Verifications = [][]byte{} + } + value := &_MsgRegisterController_4_list{list: &x.Verifications} + return protoreflect.ValueOfList(value) case "did.v1.MsgRegisterController.authority": panic(fmt.Errorf("field authority of message did.v1.MsgRegisterController is not mutable")) - case "did.v1.MsgRegisterController.cid": - panic(fmt.Errorf("field cid of message did.v1.MsgRegisterController is not mutable")) - case "did.v1.MsgRegisterController.origin": - panic(fmt.Errorf("field origin of message did.v1.MsgRegisterController is not mutable")) - case "did.v1.MsgRegisterController.credential_creation_response": - panic(fmt.Errorf("field credential_creation_response of message did.v1.MsgRegisterController is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) @@ -4549,12 +1567,15 @@ func (x *fastReflection_MsgRegisterController) NewField(fd protoreflect.FieldDes switch fd.FullName() { case "did.v1.MsgRegisterController.authority": return protoreflect.ValueOfString("") - case "did.v1.MsgRegisterController.cid": - return protoreflect.ValueOfString("") - case "did.v1.MsgRegisterController.origin": - return protoreflect.ValueOfString("") - case "did.v1.MsgRegisterController.credential_creation_response": - return protoreflect.ValueOfString("") + case "did.v1.MsgRegisterController.assertions": + list := [][]byte{} + return protoreflect.ValueOfList(&_MsgRegisterController_2_list{list: &list}) + case "did.v1.MsgRegisterController.keyshares": + list := [][]byte{} + return protoreflect.ValueOfList(&_MsgRegisterController_3_list{list: &list}) + case "did.v1.MsgRegisterController.verifications": + list := [][]byte{} + return protoreflect.ValueOfList(&_MsgRegisterController_4_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) @@ -4628,17 +1649,23 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Cid) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if len(x.Assertions) > 0 { + for _, b := range x.Assertions { + l = len(b) + n += 1 + l + runtime.Sov(uint64(l)) + } } - l = len(x.Origin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if len(x.Keyshares) > 0 { + for _, b := range x.Keyshares { + l = len(b) + n += 1 + l + runtime.Sov(uint64(l)) + } } - l = len(x.CredentialCreationResponse) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if len(x.Verifications) > 0 { + for _, b := range x.Verifications { + l = len(b) + n += 1 + l + runtime.Sov(uint64(l)) + } } if x.unknownFields != nil { n += len(x.unknownFields) @@ -4669,26 +1696,32 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.CredentialCreationResponse) > 0 { - i -= len(x.CredentialCreationResponse) - copy(dAtA[i:], x.CredentialCreationResponse) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CredentialCreationResponse))) - i-- - dAtA[i] = 0x22 + if len(x.Verifications) > 0 { + for iNdEx := len(x.Verifications) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Verifications[iNdEx]) + copy(dAtA[i:], x.Verifications[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Verifications[iNdEx]))) + i-- + dAtA[i] = 0x22 + } } - if len(x.Origin) > 0 { - i -= len(x.Origin) - copy(dAtA[i:], x.Origin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin))) - i-- - dAtA[i] = 0x1a + if len(x.Keyshares) > 0 { + for iNdEx := len(x.Keyshares) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Keyshares[iNdEx]) + copy(dAtA[i:], x.Keyshares[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Keyshares[iNdEx]))) + i-- + dAtA[i] = 0x1a + } } - if len(x.Cid) > 0 { - i -= len(x.Cid) - copy(dAtA[i:], x.Cid) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Cid))) - i-- - dAtA[i] = 0x12 + if len(x.Assertions) > 0 { + for iNdEx := len(x.Assertions) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Assertions[iNdEx]) + copy(dAtA[i:], x.Assertions[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Assertions[iNdEx]))) + i-- + dAtA[i] = 0x12 + } } if len(x.Authority) > 0 { i -= len(x.Authority) @@ -4780,9 +1813,9 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Assertions", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -4792,29 +1825,29 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Cid = string(dAtA[iNdEx:postIndex]) + x.Assertions = append(x.Assertions, make([]byte, postIndex-iNdEx)) + copy(x.Assertions[len(x.Assertions)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Keyshares", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -4824,29 +1857,29 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Origin = string(dAtA[iNdEx:postIndex]) + x.Keyshares = append(x.Keyshares, make([]byte, postIndex-iNdEx)) + copy(x.Keyshares[len(x.Keyshares)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CredentialCreationResponse", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Verifications", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -4856,23 +1889,23 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.CredentialCreationResponse = string(dAtA[iNdEx:postIndex]) + x.Verifications = append(x.Verifications, make([]byte, postIndex-iNdEx)) + copy(x.Verifications[len(x.Verifications)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -5015,7 +2048,7 @@ func (x *MsgRegisterControllerResponse) ProtoReflect() protoreflect.Message { } func (x *MsgRegisterControllerResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[9] + mi := &file_did_v1_tx_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5687,12 +2720,94 @@ func (x *fastReflection_MsgRegisterControllerResponse) ProtoMethods() *protoifac } } +var _ protoreflect.Map = (*_MsgAuthorizeService_3_map)(nil) + +type _MsgAuthorizeService_3_map struct { + m *map[string]string +} + +func (x *_MsgAuthorizeService_3_map) Len() int { + if x.m == nil { + return 0 + } + return len(*x.m) +} + +func (x *_MsgAuthorizeService_3_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + if x.m == nil { + return + } + for k, v := range *x.m { + mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) + mapValue := protoreflect.ValueOfString(v) + if !f(mapKey, mapValue) { + break + } + } +} + +func (x *_MsgAuthorizeService_3_map) Has(key protoreflect.MapKey) bool { + if x.m == nil { + return false + } + keyUnwrapped := key.String() + concreteValue := keyUnwrapped + _, ok := (*x.m)[concreteValue] + return ok +} + +func (x *_MsgAuthorizeService_3_map) Clear(key protoreflect.MapKey) { + if x.m == nil { + return + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + delete(*x.m, concreteKey) +} + +func (x *_MsgAuthorizeService_3_map) Get(key protoreflect.MapKey) protoreflect.Value { + if x.m == nil { + return protoreflect.Value{} + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + v, ok := (*x.m)[concreteKey] + if !ok { + return protoreflect.Value{} + } + return protoreflect.ValueOfString(v) +} + +func (x *_MsgAuthorizeService_3_map) Set(key protoreflect.MapKey, value protoreflect.Value) { + if !key.IsValid() || !value.IsValid() { + panic("invalid key or value provided") + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.m)[concreteKey] = concreteValue +} + +func (x *_MsgAuthorizeService_3_map) Mutable(key protoreflect.MapKey) protoreflect.Value { + panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") +} + +func (x *_MsgAuthorizeService_3_map) NewValue() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_MsgAuthorizeService_3_map) IsValid() bool { + return x.m != nil +} + var ( - md_MsgAuthorizeService protoreflect.MessageDescriptor - fd_MsgAuthorizeService_controller protoreflect.FieldDescriptor - fd_MsgAuthorizeService_origin protoreflect.FieldDescriptor - fd_MsgAuthorizeService_scopes protoreflect.FieldDescriptor - fd_MsgAuthorizeService_token protoreflect.FieldDescriptor + md_MsgAuthorizeService protoreflect.MessageDescriptor + fd_MsgAuthorizeService_controller protoreflect.FieldDescriptor + fd_MsgAuthorizeService_origin protoreflect.FieldDescriptor + fd_MsgAuthorizeService_permissions protoreflect.FieldDescriptor + fd_MsgAuthorizeService_token protoreflect.FieldDescriptor ) func init() { @@ -5700,7 +2815,7 @@ func init() { md_MsgAuthorizeService = File_did_v1_tx_proto.Messages().ByName("MsgAuthorizeService") fd_MsgAuthorizeService_controller = md_MsgAuthorizeService.Fields().ByName("controller") fd_MsgAuthorizeService_origin = md_MsgAuthorizeService.Fields().ByName("origin") - fd_MsgAuthorizeService_scopes = md_MsgAuthorizeService.Fields().ByName("scopes") + fd_MsgAuthorizeService_permissions = md_MsgAuthorizeService.Fields().ByName("permissions") fd_MsgAuthorizeService_token = md_MsgAuthorizeService.Fields().ByName("token") } @@ -5713,7 +2828,7 @@ func (x *MsgAuthorizeService) ProtoReflect() protoreflect.Message { } func (x *MsgAuthorizeService) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[10] + mi := &file_did_v1_tx_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5781,9 +2896,9 @@ func (x *fastReflection_MsgAuthorizeService) Range(f func(protoreflect.FieldDesc return } } - if x.Scopes != nil { - value := protoreflect.ValueOfMessage(x.Scopes.ProtoReflect()) - if !f(fd_MsgAuthorizeService_scopes, value) { + if len(x.Permissions) != 0 { + value := protoreflect.ValueOfMap(&_MsgAuthorizeService_3_map{m: &x.Permissions}) + if !f(fd_MsgAuthorizeService_permissions, value) { return } } @@ -5812,8 +2927,8 @@ func (x *fastReflection_MsgAuthorizeService) Has(fd protoreflect.FieldDescriptor return x.Controller != "" case "did.v1.MsgAuthorizeService.origin": return x.Origin != "" - case "did.v1.MsgAuthorizeService.scopes": - return x.Scopes != nil + case "did.v1.MsgAuthorizeService.permissions": + return len(x.Permissions) != 0 case "did.v1.MsgAuthorizeService.token": return x.Token != "" default: @@ -5836,8 +2951,8 @@ func (x *fastReflection_MsgAuthorizeService) Clear(fd protoreflect.FieldDescript x.Controller = "" case "did.v1.MsgAuthorizeService.origin": x.Origin = "" - case "did.v1.MsgAuthorizeService.scopes": - x.Scopes = nil + case "did.v1.MsgAuthorizeService.permissions": + x.Permissions = nil case "did.v1.MsgAuthorizeService.token": x.Token = "" default: @@ -5862,9 +2977,12 @@ func (x *fastReflection_MsgAuthorizeService) Get(descriptor protoreflect.FieldDe case "did.v1.MsgAuthorizeService.origin": value := x.Origin return protoreflect.ValueOfString(value) - case "did.v1.MsgAuthorizeService.scopes": - value := x.Scopes - return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "did.v1.MsgAuthorizeService.permissions": + if len(x.Permissions) == 0 { + return protoreflect.ValueOfMap(&_MsgAuthorizeService_3_map{}) + } + mapValue := &_MsgAuthorizeService_3_map{m: &x.Permissions} + return protoreflect.ValueOfMap(mapValue) case "did.v1.MsgAuthorizeService.token": value := x.Token return protoreflect.ValueOfString(value) @@ -5892,8 +3010,10 @@ func (x *fastReflection_MsgAuthorizeService) Set(fd protoreflect.FieldDescriptor x.Controller = value.Interface().(string) case "did.v1.MsgAuthorizeService.origin": x.Origin = value.Interface().(string) - case "did.v1.MsgAuthorizeService.scopes": - x.Scopes = value.Message().Interface().(*Permissions) + case "did.v1.MsgAuthorizeService.permissions": + mv := value.Map() + cmv := mv.(*_MsgAuthorizeService_3_map) + x.Permissions = *cmv.m case "did.v1.MsgAuthorizeService.token": x.Token = value.Interface().(string) default: @@ -5916,11 +3036,12 @@ func (x *fastReflection_MsgAuthorizeService) Set(fd protoreflect.FieldDescriptor // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgAuthorizeService) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.MsgAuthorizeService.scopes": - if x.Scopes == nil { - x.Scopes = new(Permissions) + case "did.v1.MsgAuthorizeService.permissions": + if x.Permissions == nil { + x.Permissions = make(map[string]string) } - return protoreflect.ValueOfMessage(x.Scopes.ProtoReflect()) + value := &_MsgAuthorizeService_3_map{m: &x.Permissions} + return protoreflect.ValueOfMap(value) case "did.v1.MsgAuthorizeService.controller": panic(fmt.Errorf("field controller of message did.v1.MsgAuthorizeService is not mutable")) case "did.v1.MsgAuthorizeService.origin": @@ -5944,9 +3065,9 @@ func (x *fastReflection_MsgAuthorizeService) NewField(fd protoreflect.FieldDescr return protoreflect.ValueOfString("") case "did.v1.MsgAuthorizeService.origin": return protoreflect.ValueOfString("") - case "did.v1.MsgAuthorizeService.scopes": - m := new(Permissions) - return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "did.v1.MsgAuthorizeService.permissions": + m := make(map[string]string) + return protoreflect.ValueOfMap(&_MsgAuthorizeService_3_map{m: &m}) case "did.v1.MsgAuthorizeService.token": return protoreflect.ValueOfString("") default: @@ -6026,9 +3147,26 @@ func (x *fastReflection_MsgAuthorizeService) ProtoMethods() *protoiface.Methods if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Scopes != nil { - l = options.Size(x.Scopes) - n += 1 + l + runtime.Sov(uint64(l)) + if len(x.Permissions) > 0 { + SiZeMaP := func(k string, v string) { + mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) + n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) + } + if options.Deterministic { + sortme := make([]string, 0, len(x.Permissions)) + for k := range x.Permissions { + sortme = append(sortme, k) + } + sort.Strings(sortme) + for _, k := range sortme { + v := x.Permissions[k] + SiZeMaP(k, v) + } + } else { + for k, v := range x.Permissions { + SiZeMaP(k, v) + } + } } l = len(x.Token) if l > 0 { @@ -6070,19 +3208,48 @@ func (x *fastReflection_MsgAuthorizeService) ProtoMethods() *protoiface.Methods i-- dAtA[i] = 0x22 } - if x.Scopes != nil { - encoded, err := options.Marshal(x.Scopes) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err + if len(x.Permissions) > 0 { + MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1a + return protoiface.MarshalOutput{}, nil + } + if options.Deterministic { + keysForPermissions := make([]string, 0, len(x.Permissions)) + for k := range x.Permissions { + keysForPermissions = append(keysForPermissions, string(k)) + } + sort.Slice(keysForPermissions, func(i, j int) bool { + return keysForPermissions[i] < keysForPermissions[j] + }) + for iNdEx := len(keysForPermissions) - 1; iNdEx >= 0; iNdEx-- { + v := x.Permissions[string(keysForPermissions[iNdEx])] + out, err := MaRsHaLmAp(keysForPermissions[iNdEx], v) + if err != nil { + return out, err + } + } + } else { + for k := range x.Permissions { + v := x.Permissions[k] + out, err := MaRsHaLmAp(k, v) + if err != nil { + return out, err + } + } } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a } if len(x.Origin) > 0 { i -= len(x.Origin) @@ -6213,7 +3380,7 @@ func (x *fastReflection_MsgAuthorizeService) ProtoMethods() *protoiface.Methods iNdEx = postIndex case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6240,12 +3407,103 @@ func (x *fastReflection_MsgAuthorizeService) ProtoMethods() *protoiface.Methods if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Scopes == nil { - x.Scopes = &Permissions{} + if x.Permissions == nil { + x.Permissions = make(map[string]string) } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Scopes); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapkey > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + iNdEx += skippy + } } + x.Permissions[mapkey] = mapvalue iNdEx = postIndex case 4: if wireType != 2 { @@ -6336,7 +3594,7 @@ func (x *MsgAuthorizeServiceResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAuthorizeServiceResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[11] + mi := &file_did_v1_tx_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6792,7 +4050,6 @@ var ( md_MsgRegisterService protoreflect.MessageDescriptor fd_MsgRegisterService_controller protoreflect.FieldDescriptor fd_MsgRegisterService_service protoreflect.FieldDescriptor - fd_MsgRegisterService_token protoreflect.FieldDescriptor ) func init() { @@ -6800,7 +4057,6 @@ func init() { md_MsgRegisterService = File_did_v1_tx_proto.Messages().ByName("MsgRegisterService") fd_MsgRegisterService_controller = md_MsgRegisterService.Fields().ByName("controller") fd_MsgRegisterService_service = md_MsgRegisterService.Fields().ByName("service") - fd_MsgRegisterService_token = md_MsgRegisterService.Fields().ByName("token") } var _ protoreflect.Message = (*fastReflection_MsgRegisterService)(nil) @@ -6812,7 +4068,7 @@ func (x *MsgRegisterService) ProtoReflect() protoreflect.Message { } func (x *MsgRegisterService) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[12] + mi := &file_did_v1_tx_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6880,12 +4136,6 @@ func (x *fastReflection_MsgRegisterService) Range(f func(protoreflect.FieldDescr return } } - if x.Token != "" { - value := protoreflect.ValueOfString(x.Token) - if !f(fd_MsgRegisterService_token, value) { - return - } - } } // Has reports whether a field is populated. @@ -6905,8 +4155,6 @@ func (x *fastReflection_MsgRegisterService) Has(fd protoreflect.FieldDescriptor) return x.Controller != "" case "did.v1.MsgRegisterService.service": return x.Service != nil - case "did.v1.MsgRegisterService.token": - return x.Token != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) @@ -6927,8 +4175,6 @@ func (x *fastReflection_MsgRegisterService) Clear(fd protoreflect.FieldDescripto x.Controller = "" case "did.v1.MsgRegisterService.service": x.Service = nil - case "did.v1.MsgRegisterService.token": - x.Token = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) @@ -6951,9 +4197,6 @@ func (x *fastReflection_MsgRegisterService) Get(descriptor protoreflect.FieldDes case "did.v1.MsgRegisterService.service": value := x.Service return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.MsgRegisterService.token": - value := x.Token - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) @@ -6978,8 +4221,6 @@ func (x *fastReflection_MsgRegisterService) Set(fd protoreflect.FieldDescriptor, x.Controller = value.Interface().(string) case "did.v1.MsgRegisterService.service": x.Service = value.Message().Interface().(*Service) - case "did.v1.MsgRegisterService.token": - x.Token = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) @@ -7007,8 +4248,6 @@ func (x *fastReflection_MsgRegisterService) Mutable(fd protoreflect.FieldDescrip return protoreflect.ValueOfMessage(x.Service.ProtoReflect()) case "did.v1.MsgRegisterService.controller": panic(fmt.Errorf("field controller of message did.v1.MsgRegisterService is not mutable")) - case "did.v1.MsgRegisterService.token": - panic(fmt.Errorf("field token of message did.v1.MsgRegisterService is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) @@ -7027,8 +4266,6 @@ func (x *fastReflection_MsgRegisterService) NewField(fd protoreflect.FieldDescri case "did.v1.MsgRegisterService.service": m := new(Service) return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.MsgRegisterService.token": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) @@ -7106,10 +4343,6 @@ func (x *fastReflection_MsgRegisterService) ProtoMethods() *protoiface.Methods { l = options.Size(x.Service) n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Token) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -7139,13 +4372,6 @@ func (x *fastReflection_MsgRegisterService) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Token) > 0 { - i -= len(x.Token) - copy(dAtA[i:], x.Token) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Token))) - i-- - dAtA[i] = 0x1a - } if x.Service != nil { encoded, err := options.Marshal(x.Service) if err != nil { @@ -7284,38 +4510,6 @@ func (x *fastReflection_MsgRegisterService) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Token = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -7373,7 +4567,7 @@ func (x *MsgRegisterServiceResponse) ProtoReflect() protoreflect.Message { } func (x *MsgRegisterServiceResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[13] + mi := &file_did_v1_tx_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7826,2153 +5020,29 @@ func (x *fastReflection_MsgRegisterServiceResponse) ProtoMethods() *protoiface.M } var ( - md_MsgProveWitness protoreflect.MessageDescriptor - fd_MsgProveWitness_authority protoreflect.FieldDescriptor - fd_MsgProveWitness_property protoreflect.FieldDescriptor - fd_MsgProveWitness_witness protoreflect.FieldDescriptor + md_MsgUpdateParams protoreflect.MessageDescriptor + fd_MsgUpdateParams_authority protoreflect.FieldDescriptor + fd_MsgUpdateParams_params protoreflect.FieldDescriptor + fd_MsgUpdateParams_token protoreflect.FieldDescriptor ) func init() { file_did_v1_tx_proto_init() - md_MsgProveWitness = File_did_v1_tx_proto.Messages().ByName("MsgProveWitness") - fd_MsgProveWitness_authority = md_MsgProveWitness.Fields().ByName("authority") - fd_MsgProveWitness_property = md_MsgProveWitness.Fields().ByName("property") - fd_MsgProveWitness_witness = md_MsgProveWitness.Fields().ByName("witness") + md_MsgUpdateParams = File_did_v1_tx_proto.Messages().ByName("MsgUpdateParams") + fd_MsgUpdateParams_authority = md_MsgUpdateParams.Fields().ByName("authority") + fd_MsgUpdateParams_params = md_MsgUpdateParams.Fields().ByName("params") + fd_MsgUpdateParams_token = md_MsgUpdateParams.Fields().ByName("token") } -var _ protoreflect.Message = (*fastReflection_MsgProveWitness)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateParams)(nil) -type fastReflection_MsgProveWitness MsgProveWitness +type fastReflection_MsgUpdateParams MsgUpdateParams -func (x *MsgProveWitness) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgProveWitness)(x) +func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(x) } -func (x *MsgProveWitness) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgProveWitness_messageType fastReflection_MsgProveWitness_messageType -var _ protoreflect.MessageType = fastReflection_MsgProveWitness_messageType{} - -type fastReflection_MsgProveWitness_messageType struct{} - -func (x fastReflection_MsgProveWitness_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgProveWitness)(nil) -} -func (x fastReflection_MsgProveWitness_messageType) New() protoreflect.Message { - return new(fastReflection_MsgProveWitness) -} -func (x fastReflection_MsgProveWitness_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitness -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgProveWitness) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitness -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgProveWitness) Type() protoreflect.MessageType { - return _fastReflection_MsgProveWitness_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgProveWitness) New() protoreflect.Message { - return new(fastReflection_MsgProveWitness) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgProveWitness) Interface() protoreflect.ProtoMessage { - return (*MsgProveWitness)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgProveWitness) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgProveWitness_authority, value) { - return - } - } - if x.Property != "" { - value := protoreflect.ValueOfString(x.Property) - if !f(fd_MsgProveWitness_property, value) { - return - } - } - if len(x.Witness) != 0 { - value := protoreflect.ValueOfBytes(x.Witness) - if !f(fd_MsgProveWitness_witness, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgProveWitness) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - return x.Authority != "" - case "did.v1.MsgProveWitness.property": - return x.Property != "" - case "did.v1.MsgProveWitness.witness": - return len(x.Witness) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - x.Authority = "" - case "did.v1.MsgProveWitness.property": - x.Property = "" - case "did.v1.MsgProveWitness.witness": - x.Witness = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgProveWitness) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgProveWitness.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "did.v1.MsgProveWitness.property": - value := x.Property - return protoreflect.ValueOfString(value) - case "did.v1.MsgProveWitness.witness": - value := x.Witness - return protoreflect.ValueOfBytes(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - x.Authority = value.Interface().(string) - case "did.v1.MsgProveWitness.property": - x.Property = value.Interface().(string) - case "did.v1.MsgProveWitness.witness": - x.Witness = value.Bytes() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - panic(fmt.Errorf("field authority of message did.v1.MsgProveWitness is not mutable")) - case "did.v1.MsgProveWitness.property": - panic(fmt.Errorf("field property of message did.v1.MsgProveWitness is not mutable")) - case "did.v1.MsgProveWitness.witness": - panic(fmt.Errorf("field witness of message did.v1.MsgProveWitness is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgProveWitness) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitness.authority": - return protoreflect.ValueOfString("") - case "did.v1.MsgProveWitness.property": - return protoreflect.ValueOfString("") - case "did.v1.MsgProveWitness.witness": - return protoreflect.ValueOfBytes(nil) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitness")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitness does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgProveWitness) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgProveWitness", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgProveWitness) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitness) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgProveWitness) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgProveWitness) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgProveWitness) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Authority) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Property) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Witness) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitness) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Witness) > 0 { - i -= len(x.Witness) - copy(dAtA[i:], x.Witness) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Witness))) - i-- - dAtA[i] = 0x1a - } - if len(x.Property) > 0 { - i -= len(x.Property) - copy(dAtA[i:], x.Property) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Property))) - i-- - dAtA[i] = 0x12 - } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitness) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitness: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitness: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Property", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Property = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Witness", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Witness = append(x.Witness[:0], dAtA[iNdEx:postIndex]...) - if x.Witness == nil { - x.Witness = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgProveWitnessResponse protoreflect.MessageDescriptor - fd_MsgProveWitnessResponse_success protoreflect.FieldDescriptor - fd_MsgProveWitnessResponse_property protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgProveWitnessResponse = File_did_v1_tx_proto.Messages().ByName("MsgProveWitnessResponse") - fd_MsgProveWitnessResponse_success = md_MsgProveWitnessResponse.Fields().ByName("success") - fd_MsgProveWitnessResponse_property = md_MsgProveWitnessResponse.Fields().ByName("property") -} - -var _ protoreflect.Message = (*fastReflection_MsgProveWitnessResponse)(nil) - -type fastReflection_MsgProveWitnessResponse MsgProveWitnessResponse - -func (x *MsgProveWitnessResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgProveWitnessResponse)(x) -} - -func (x *MsgProveWitnessResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgProveWitnessResponse_messageType fastReflection_MsgProveWitnessResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgProveWitnessResponse_messageType{} - -type fastReflection_MsgProveWitnessResponse_messageType struct{} - -func (x fastReflection_MsgProveWitnessResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgProveWitnessResponse)(nil) -} -func (x fastReflection_MsgProveWitnessResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgProveWitnessResponse) -} -func (x fastReflection_MsgProveWitnessResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitnessResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgProveWitnessResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgProveWitnessResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgProveWitnessResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgProveWitnessResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgProveWitnessResponse) New() protoreflect.Message { - return new(fastReflection_MsgProveWitnessResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgProveWitnessResponse) Interface() protoreflect.ProtoMessage { - return (*MsgProveWitnessResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgProveWitnessResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Success != false { - value := protoreflect.ValueOfBool(x.Success) - if !f(fd_MsgProveWitnessResponse_success, value) { - return - } - } - if x.Property != "" { - value := protoreflect.ValueOfString(x.Property) - if !f(fd_MsgProveWitnessResponse_property, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgProveWitnessResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - return x.Success != false - case "did.v1.MsgProveWitnessResponse.property": - return x.Property != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - x.Success = false - case "did.v1.MsgProveWitnessResponse.property": - x.Property = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgProveWitnessResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - value := x.Success - return protoreflect.ValueOfBool(value) - case "did.v1.MsgProveWitnessResponse.property": - value := x.Property - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - x.Success = value.Bool() - case "did.v1.MsgProveWitnessResponse.property": - x.Property = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - panic(fmt.Errorf("field success of message did.v1.MsgProveWitnessResponse is not mutable")) - case "did.v1.MsgProveWitnessResponse.property": - panic(fmt.Errorf("field property of message did.v1.MsgProveWitnessResponse is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgProveWitnessResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgProveWitnessResponse.success": - return protoreflect.ValueOfBool(false) - case "did.v1.MsgProveWitnessResponse.property": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgProveWitnessResponse")) - } - panic(fmt.Errorf("message did.v1.MsgProveWitnessResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgProveWitnessResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgProveWitnessResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgProveWitnessResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgProveWitnessResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgProveWitnessResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgProveWitnessResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgProveWitnessResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Success { - n += 2 - } - l = len(x.Property) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitnessResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Property) > 0 { - i -= len(x.Property) - copy(dAtA[i:], x.Property) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Property))) - i-- - dAtA[i] = 0x12 - } - if x.Success { - i-- - if x.Success { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgProveWitnessResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitnessResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProveWitnessResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Success = bool(v != 0) - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Property", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Property = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgSyncVault protoreflect.MessageDescriptor - fd_MsgSyncVault_controller protoreflect.FieldDescriptor - fd_MsgSyncVault_cid protoreflect.FieldDescriptor - fd_MsgSyncVault_macron protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgSyncVault = File_did_v1_tx_proto.Messages().ByName("MsgSyncVault") - fd_MsgSyncVault_controller = md_MsgSyncVault.Fields().ByName("controller") - fd_MsgSyncVault_cid = md_MsgSyncVault.Fields().ByName("cid") - fd_MsgSyncVault_macron = md_MsgSyncVault.Fields().ByName("macron") -} - -var _ protoreflect.Message = (*fastReflection_MsgSyncVault)(nil) - -type fastReflection_MsgSyncVault MsgSyncVault - -func (x *MsgSyncVault) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSyncVault)(x) -} - -func (x *MsgSyncVault) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgSyncVault_messageType fastReflection_MsgSyncVault_messageType -var _ protoreflect.MessageType = fastReflection_MsgSyncVault_messageType{} - -type fastReflection_MsgSyncVault_messageType struct{} - -func (x fastReflection_MsgSyncVault_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSyncVault)(nil) -} -func (x fastReflection_MsgSyncVault_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSyncVault) -} -func (x fastReflection_MsgSyncVault_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncVault -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgSyncVault) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncVault -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgSyncVault) Type() protoreflect.MessageType { - return _fastReflection_MsgSyncVault_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSyncVault) New() protoreflect.Message { - return new(fastReflection_MsgSyncVault) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSyncVault) Interface() protoreflect.ProtoMessage { - return (*MsgSyncVault)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgSyncVault) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_MsgSyncVault_controller, value) { - return - } - } - if x.Cid != "" { - value := protoreflect.ValueOfString(x.Cid) - if !f(fd_MsgSyncVault_cid, value) { - return - } - } - if len(x.Macron) != 0 { - value := protoreflect.ValueOfBytes(x.Macron) - if !f(fd_MsgSyncVault_macron, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgSyncVault) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgSyncVault.controller": - return x.Controller != "" - case "did.v1.MsgSyncVault.cid": - return x.Cid != "" - case "did.v1.MsgSyncVault.macron": - return len(x.Macron) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVault")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVault does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVault) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgSyncVault.controller": - x.Controller = "" - case "did.v1.MsgSyncVault.cid": - x.Cid = "" - case "did.v1.MsgSyncVault.macron": - x.Macron = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVault")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVault does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgSyncVault) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgSyncVault.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.MsgSyncVault.cid": - value := x.Cid - return protoreflect.ValueOfString(value) - case "did.v1.MsgSyncVault.macron": - value := x.Macron - return protoreflect.ValueOfBytes(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVault")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVault does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVault) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgSyncVault.controller": - x.Controller = value.Interface().(string) - case "did.v1.MsgSyncVault.cid": - x.Cid = value.Interface().(string) - case "did.v1.MsgSyncVault.macron": - x.Macron = value.Bytes() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVault")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVault does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVault) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncVault.controller": - panic(fmt.Errorf("field controller of message did.v1.MsgSyncVault is not mutable")) - case "did.v1.MsgSyncVault.cid": - panic(fmt.Errorf("field cid of message did.v1.MsgSyncVault is not mutable")) - case "did.v1.MsgSyncVault.macron": - panic(fmt.Errorf("field macron of message did.v1.MsgSyncVault is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVault")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVault does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgSyncVault) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncVault.controller": - return protoreflect.ValueOfString("") - case "did.v1.MsgSyncVault.cid": - return protoreflect.ValueOfString("") - case "did.v1.MsgSyncVault.macron": - return protoreflect.ValueOfBytes(nil) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVault")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVault does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgSyncVault) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgSyncVault", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgSyncVault) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVault) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgSyncVault) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSyncVault) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSyncVault) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Cid) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Macron) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncVault) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Macron) > 0 { - i -= len(x.Macron) - copy(dAtA[i:], x.Macron) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Macron))) - i-- - dAtA[i] = 0x1a - } - if len(x.Cid) > 0 { - i -= len(x.Cid) - copy(dAtA[i:], x.Cid) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Cid))) - i-- - dAtA[i] = 0x12 - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncVault) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncVault: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncVault: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Cid = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Macron", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Macron = append(x.Macron[:0], dAtA[iNdEx:postIndex]...) - if x.Macron == nil { - x.Macron = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgSyncVaultResponse protoreflect.MessageDescriptor - fd_MsgSyncVaultResponse_success protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgSyncVaultResponse = File_did_v1_tx_proto.Messages().ByName("MsgSyncVaultResponse") - fd_MsgSyncVaultResponse_success = md_MsgSyncVaultResponse.Fields().ByName("success") -} - -var _ protoreflect.Message = (*fastReflection_MsgSyncVaultResponse)(nil) - -type fastReflection_MsgSyncVaultResponse MsgSyncVaultResponse - -func (x *MsgSyncVaultResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSyncVaultResponse)(x) -} - -func (x *MsgSyncVaultResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgSyncVaultResponse_messageType fastReflection_MsgSyncVaultResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgSyncVaultResponse_messageType{} - -type fastReflection_MsgSyncVaultResponse_messageType struct{} - -func (x fastReflection_MsgSyncVaultResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSyncVaultResponse)(nil) -} -func (x fastReflection_MsgSyncVaultResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSyncVaultResponse) -} -func (x fastReflection_MsgSyncVaultResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncVaultResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgSyncVaultResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSyncVaultResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgSyncVaultResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgSyncVaultResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSyncVaultResponse) New() protoreflect.Message { - return new(fastReflection_MsgSyncVaultResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSyncVaultResponse) Interface() protoreflect.ProtoMessage { - return (*MsgSyncVaultResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgSyncVaultResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Success != false { - value := protoreflect.ValueOfBool(x.Success) - if !f(fd_MsgSyncVaultResponse_success, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgSyncVaultResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgSyncVaultResponse.success": - return x.Success != false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVaultResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVaultResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVaultResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgSyncVaultResponse.success": - x.Success = false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVaultResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVaultResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgSyncVaultResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgSyncVaultResponse.success": - value := x.Success - return protoreflect.ValueOfBool(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVaultResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVaultResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVaultResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgSyncVaultResponse.success": - x.Success = value.Bool() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVaultResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVaultResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVaultResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncVaultResponse.success": - panic(fmt.Errorf("field success of message did.v1.MsgSyncVaultResponse is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVaultResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVaultResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgSyncVaultResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgSyncVaultResponse.success": - return protoreflect.ValueOfBool(false) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgSyncVaultResponse")) - } - panic(fmt.Errorf("message did.v1.MsgSyncVaultResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgSyncVaultResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgSyncVaultResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgSyncVaultResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSyncVaultResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgSyncVaultResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSyncVaultResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSyncVaultResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Success { - n += 2 - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncVaultResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Success { - i-- - if x.Success { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSyncVaultResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncVaultResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSyncVaultResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Success = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_MsgRegisterController_2_list)(nil) - -type _MsgRegisterController_2_list struct { - list *[][]byte -} - -func (x *_MsgRegisterController_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgRegisterController_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfBytes((*x.list)[i]) -} - -func (x *_MsgRegisterController_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Bytes() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_MsgRegisterController_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Bytes() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgRegisterController_2_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgRegisterController at list field Assertions as it is not of Message kind")) -} - -func (x *_MsgRegisterController_2_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_MsgRegisterController_2_list) NewElement() protoreflect.Value { - var v []byte - return protoreflect.ValueOfBytes(v) -} - -func (x *_MsgRegisterController_2_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_MsgRegisterController_3_list)(nil) - -type _MsgRegisterController_3_list struct { - list *[][]byte -} - -func (x *_MsgRegisterController_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgRegisterController_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfBytes((*x.list)[i]) -} - -func (x *_MsgRegisterController_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Bytes() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_MsgRegisterController_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Bytes() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgRegisterController_3_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgRegisterController at list field Keyshares as it is not of Message kind")) -} - -func (x *_MsgRegisterController_3_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_MsgRegisterController_3_list) NewElement() protoreflect.Value { - var v []byte - return protoreflect.ValueOfBytes(v) -} - -func (x *_MsgRegisterController_3_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_MsgRegisterController_4_list)(nil) - -type _MsgRegisterController_4_list struct { - list *[][]byte -} - -func (x *_MsgRegisterController_4_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgRegisterController_4_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfBytes((*x.list)[i]) -} - -func (x *_MsgRegisterController_4_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Bytes() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_MsgRegisterController_4_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Bytes() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgRegisterController_4_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgRegisterController at list field Verifications as it is not of Message kind")) -} - -func (x *_MsgRegisterController_4_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_MsgRegisterController_4_list) NewElement() protoreflect.Value { - var v []byte - return protoreflect.ValueOfBytes(v) -} - -func (x *_MsgRegisterController_4_list) IsValid() bool { - return x.list != nil -} - -var ( - md_MsgRegisterController protoreflect.MessageDescriptor - fd_MsgRegisterController_authority protoreflect.FieldDescriptor - fd_MsgRegisterController_assertions protoreflect.FieldDescriptor - fd_MsgRegisterController_keyshares protoreflect.FieldDescriptor - fd_MsgRegisterController_verifications protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgRegisterController = File_did_v1_tx_proto.Messages().ByName("MsgRegisterController") - fd_MsgRegisterController_authority = md_MsgRegisterController.Fields().ByName("authority") - fd_MsgRegisterController_assertions = md_MsgRegisterController.Fields().ByName("assertions") - fd_MsgRegisterController_keyshares = md_MsgRegisterController.Fields().ByName("keyshares") - fd_MsgRegisterController_verifications = md_MsgRegisterController.Fields().ByName("verifications") -} - -var _ protoreflect.Message = (*fastReflection_MsgRegisterController)(nil) - -type fastReflection_MsgRegisterController MsgRegisterController - -func (x *MsgRegisterController) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRegisterController)(x) -} - -func (x *MsgRegisterController) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message { mi := &file_did_v1_tx_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9984,43 +5054,43 @@ func (x *MsgRegisterController) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgRegisterController_messageType fastReflection_MsgRegisterController_messageType -var _ protoreflect.MessageType = fastReflection_MsgRegisterController_messageType{} +var _fastReflection_MsgUpdateParams_messageType fastReflection_MsgUpdateParams_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParams_messageType{} -type fastReflection_MsgRegisterController_messageType struct{} +type fastReflection_MsgUpdateParams_messageType struct{} -func (x fastReflection_MsgRegisterController_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRegisterController)(nil) +func (x fastReflection_MsgUpdateParams_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(nil) } -func (x fastReflection_MsgRegisterController_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRegisterController) +func (x fastReflection_MsgUpdateParams_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) } -func (x fastReflection_MsgRegisterController_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterController +func (x fastReflection_MsgUpdateParams_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRegisterController) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterController +func (x *fastReflection_MsgUpdateParams) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgRegisterController) Type() protoreflect.MessageType { - return _fastReflection_MsgRegisterController_messageType +func (x *fastReflection_MsgUpdateParams) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParams_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRegisterController) New() protoreflect.Message { - return new(fastReflection_MsgRegisterController) +func (x *fastReflection_MsgUpdateParams) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRegisterController) Interface() protoreflect.ProtoMessage { - return (*MsgRegisterController)(x) +func (x *fastReflection_MsgUpdateParams) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParams)(x) } // Range iterates over every populated field in an undefined order, @@ -10028,28 +5098,22 @@ func (x *fastReflection_MsgRegisterController) Interface() protoreflect.ProtoMes // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRegisterController) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Authority != "" { value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgRegisterController_authority, value) { + if !f(fd_MsgUpdateParams_authority, value) { return } } - if len(x.Assertions) != 0 { - value := protoreflect.ValueOfList(&_MsgRegisterController_2_list{list: &x.Assertions}) - if !f(fd_MsgRegisterController_assertions, value) { + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_MsgUpdateParams_params, value) { return } } - if len(x.Keyshares) != 0 { - value := protoreflect.ValueOfList(&_MsgRegisterController_3_list{list: &x.Keyshares}) - if !f(fd_MsgRegisterController_keyshares, value) { - return - } - } - if len(x.Verifications) != 0 { - value := protoreflect.ValueOfList(&_MsgRegisterController_4_list{list: &x.Verifications}) - if !f(fd_MsgRegisterController_verifications, value) { + if x.Token != "" { + value := protoreflect.ValueOfString(x.Token) + if !f(fd_MsgUpdateParams_token, value) { return } } @@ -10066,21 +5130,19 @@ func (x *fastReflection_MsgRegisterController) Range(f func(protoreflect.FieldDe // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgRegisterController) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateParams) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.MsgRegisterController.authority": + case "did.v1.MsgUpdateParams.authority": return x.Authority != "" - case "did.v1.MsgRegisterController.assertions": - return len(x.Assertions) != 0 - case "did.v1.MsgRegisterController.keyshares": - return len(x.Keyshares) != 0 - case "did.v1.MsgRegisterController.verifications": - return len(x.Verifications) != 0 + case "did.v1.MsgUpdateParams.params": + return x.Params != nil + case "did.v1.MsgUpdateParams.token": + return x.Token != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) } - panic(fmt.Errorf("message did.v1.MsgRegisterController does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) } } @@ -10090,21 +5152,19 @@ func (x *fastReflection_MsgRegisterController) Has(fd protoreflect.FieldDescript // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterController) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateParams) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.MsgRegisterController.authority": + case "did.v1.MsgUpdateParams.authority": x.Authority = "" - case "did.v1.MsgRegisterController.assertions": - x.Assertions = nil - case "did.v1.MsgRegisterController.keyshares": - x.Keyshares = nil - case "did.v1.MsgRegisterController.verifications": - x.Verifications = nil + case "did.v1.MsgUpdateParams.params": + x.Params = nil + case "did.v1.MsgUpdateParams.token": + x.Token = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) } - panic(fmt.Errorf("message did.v1.MsgRegisterController does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) } } @@ -10114,34 +5174,22 @@ func (x *fastReflection_MsgRegisterController) Clear(fd protoreflect.FieldDescri // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRegisterController) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.MsgRegisterController.authority": + case "did.v1.MsgUpdateParams.authority": value := x.Authority return protoreflect.ValueOfString(value) - case "did.v1.MsgRegisterController.assertions": - if len(x.Assertions) == 0 { - return protoreflect.ValueOfList(&_MsgRegisterController_2_list{}) - } - listValue := &_MsgRegisterController_2_list{list: &x.Assertions} - return protoreflect.ValueOfList(listValue) - case "did.v1.MsgRegisterController.keyshares": - if len(x.Keyshares) == 0 { - return protoreflect.ValueOfList(&_MsgRegisterController_3_list{}) - } - listValue := &_MsgRegisterController_3_list{list: &x.Keyshares} - return protoreflect.ValueOfList(listValue) - case "did.v1.MsgRegisterController.verifications": - if len(x.Verifications) == 0 { - return protoreflect.ValueOfList(&_MsgRegisterController_4_list{}) - } - listValue := &_MsgRegisterController_4_list{list: &x.Verifications} - return protoreflect.ValueOfList(listValue) + case "did.v1.MsgUpdateParams.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "did.v1.MsgUpdateParams.token": + value := x.Token + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) } - panic(fmt.Errorf("message did.v1.MsgRegisterController does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", descriptor.FullName())) } } @@ -10155,27 +5203,19 @@ func (x *fastReflection_MsgRegisterController) Get(descriptor protoreflect.Field // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterController) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.MsgRegisterController.authority": + case "did.v1.MsgUpdateParams.authority": x.Authority = value.Interface().(string) - case "did.v1.MsgRegisterController.assertions": - lv := value.List() - clv := lv.(*_MsgRegisterController_2_list) - x.Assertions = *clv.list - case "did.v1.MsgRegisterController.keyshares": - lv := value.List() - clv := lv.(*_MsgRegisterController_3_list) - x.Keyshares = *clv.list - case "did.v1.MsgRegisterController.verifications": - lv := value.List() - clv := lv.(*_MsgRegisterController_4_list) - x.Verifications = *clv.list + case "did.v1.MsgUpdateParams.params": + x.Params = value.Message().Interface().(*Params) + case "did.v1.MsgUpdateParams.token": + x.Token = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) } - panic(fmt.Errorf("message did.v1.MsgRegisterController does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) } } @@ -10189,67 +5229,52 @@ func (x *fastReflection_MsgRegisterController) Set(fd protoreflect.FieldDescript // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterController) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.MsgRegisterController.assertions": - if x.Assertions == nil { - x.Assertions = [][]byte{} + case "did.v1.MsgUpdateParams.params": + if x.Params == nil { + x.Params = new(Params) } - value := &_MsgRegisterController_2_list{list: &x.Assertions} - return protoreflect.ValueOfList(value) - case "did.v1.MsgRegisterController.keyshares": - if x.Keyshares == nil { - x.Keyshares = [][]byte{} - } - value := &_MsgRegisterController_3_list{list: &x.Keyshares} - return protoreflect.ValueOfList(value) - case "did.v1.MsgRegisterController.verifications": - if x.Verifications == nil { - x.Verifications = [][]byte{} - } - value := &_MsgRegisterController_4_list{list: &x.Verifications} - return protoreflect.ValueOfList(value) - case "did.v1.MsgRegisterController.authority": - panic(fmt.Errorf("field authority of message did.v1.MsgRegisterController is not mutable")) + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "did.v1.MsgUpdateParams.authority": + panic(fmt.Errorf("field authority of message did.v1.MsgUpdateParams is not mutable")) + case "did.v1.MsgUpdateParams.token": + panic(fmt.Errorf("field token of message did.v1.MsgUpdateParams is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) } - panic(fmt.Errorf("message did.v1.MsgRegisterController does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgRegisterController) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.MsgRegisterController.authority": + case "did.v1.MsgUpdateParams.authority": + return protoreflect.ValueOfString("") + case "did.v1.MsgUpdateParams.params": + m := new(Params) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "did.v1.MsgUpdateParams.token": return protoreflect.ValueOfString("") - case "did.v1.MsgRegisterController.assertions": - list := [][]byte{} - return protoreflect.ValueOfList(&_MsgRegisterController_2_list{list: &list}) - case "did.v1.MsgRegisterController.keyshares": - list := [][]byte{} - return protoreflect.ValueOfList(&_MsgRegisterController_3_list{list: &list}) - case "did.v1.MsgRegisterController.verifications": - list := [][]byte{} - return protoreflect.ValueOfList(&_MsgRegisterController_4_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterController")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParams")) } - panic(fmt.Errorf("message did.v1.MsgRegisterController does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParams does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgRegisterController) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgRegisterController", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgUpdateParams", d.FullName())) } panic("unreachable") } @@ -10257,7 +5282,7 @@ func (x *fastReflection_MsgRegisterController) WhichOneof(d protoreflect.OneofDe // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgRegisterController) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateParams) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -10268,7 +5293,7 @@ func (x *fastReflection_MsgRegisterController) GetUnknown() protoreflect.RawFiel // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterController) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateParams) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -10280,7 +5305,7 @@ func (x *fastReflection_MsgRegisterController) SetUnknown(fields protoreflect.Ra // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgRegisterController) IsValid() bool { +func (x *fastReflection_MsgUpdateParams) IsValid() bool { return x != nil } @@ -10290,9 +5315,9 @@ func (x *fastReflection_MsgRegisterController) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateParams) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRegisterController) + x := input.Message.Interface().(*MsgUpdateParams) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10308,23 +5333,13 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.Assertions) > 0 { - for _, b := range x.Assertions { - l = len(b) - n += 1 + l + runtime.Sov(uint64(l)) - } + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.Keyshares) > 0 { - for _, b := range x.Keyshares { - l = len(b) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.Verifications) > 0 { - for _, b := range x.Verifications { - l = len(b) - n += 1 + l + runtime.Sov(uint64(l)) - } + l = len(x.Token) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -10336,7 +5351,7 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterController) + x := input.Message.Interface().(*MsgUpdateParams) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10355,32 +5370,26 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Verifications) > 0 { - for iNdEx := len(x.Verifications) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Verifications[iNdEx]) - copy(dAtA[i:], x.Verifications[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Verifications[iNdEx]))) - i-- - dAtA[i] = 0x22 - } + if len(x.Token) > 0 { + i -= len(x.Token) + copy(dAtA[i:], x.Token) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Token))) + i-- + dAtA[i] = 0x1a } - if len(x.Keyshares) > 0 { - for iNdEx := len(x.Keyshares) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Keyshares[iNdEx]) - copy(dAtA[i:], x.Keyshares[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Keyshares[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if len(x.Assertions) > 0 { - for iNdEx := len(x.Assertions) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Assertions[iNdEx]) - copy(dAtA[i:], x.Assertions[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Assertions[iNdEx]))) - i-- - dAtA[i] = 0x12 + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 } if len(x.Authority) > 0 { i -= len(x.Authority) @@ -10400,7 +5409,7 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterController) + x := input.Message.Interface().(*MsgUpdateParams) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10432,10 +5441,10 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterController: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterController: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10472,700 +5481,7 @@ func (x *fastReflection_MsgRegisterController) ProtoMethods() *protoiface.Method iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Assertions", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Assertions = append(x.Assertions, make([]byte, postIndex-iNdEx)) - copy(x.Assertions[len(x.Assertions)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Keyshares", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Keyshares = append(x.Keyshares, make([]byte, postIndex-iNdEx)) - copy(x.Keyshares[len(x.Keyshares)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Verifications", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Verifications = append(x.Verifications, make([]byte, postIndex-iNdEx)) - copy(x.Verifications[len(x.Verifications)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.Map = (*_MsgRegisterControllerResponse_2_map)(nil) - -type _MsgRegisterControllerResponse_2_map struct { - m *map[string]string -} - -func (x *_MsgRegisterControllerResponse_2_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_MsgRegisterControllerResponse_2_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfString(v) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_MsgRegisterControllerResponse_2_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_MsgRegisterControllerResponse_2_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_MsgRegisterControllerResponse_2_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfString(v) -} - -func (x *_MsgRegisterControllerResponse_2_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.m)[concreteKey] = concreteValue -} - -func (x *_MsgRegisterControllerResponse_2_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") -} - -func (x *_MsgRegisterControllerResponse_2_map) NewValue() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_MsgRegisterControllerResponse_2_map) IsValid() bool { - return x.m != nil -} - -var ( - md_MsgRegisterControllerResponse protoreflect.MessageDescriptor - fd_MsgRegisterControllerResponse_controller protoreflect.FieldDescriptor - fd_MsgRegisterControllerResponse_accounts protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgRegisterControllerResponse = File_did_v1_tx_proto.Messages().ByName("MsgRegisterControllerResponse") - fd_MsgRegisterControllerResponse_controller = md_MsgRegisterControllerResponse.Fields().ByName("controller") - fd_MsgRegisterControllerResponse_accounts = md_MsgRegisterControllerResponse.Fields().ByName("accounts") -} - -var _ protoreflect.Message = (*fastReflection_MsgRegisterControllerResponse)(nil) - -type fastReflection_MsgRegisterControllerResponse MsgRegisterControllerResponse - -func (x *MsgRegisterControllerResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRegisterControllerResponse)(x) -} - -func (x *MsgRegisterControllerResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgRegisterControllerResponse_messageType fastReflection_MsgRegisterControllerResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgRegisterControllerResponse_messageType{} - -type fastReflection_MsgRegisterControllerResponse_messageType struct{} - -func (x fastReflection_MsgRegisterControllerResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRegisterControllerResponse)(nil) -} -func (x fastReflection_MsgRegisterControllerResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRegisterControllerResponse) -} -func (x fastReflection_MsgRegisterControllerResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterControllerResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgRegisterControllerResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterControllerResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgRegisterControllerResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgRegisterControllerResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRegisterControllerResponse) New() protoreflect.Message { - return new(fastReflection_MsgRegisterControllerResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRegisterControllerResponse) Interface() protoreflect.ProtoMessage { - return (*MsgRegisterControllerResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgRegisterControllerResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_MsgRegisterControllerResponse_controller, value) { - return - } - } - if len(x.Accounts) != 0 { - value := protoreflect.ValueOfMap(&_MsgRegisterControllerResponse_2_map{m: &x.Accounts}) - if !f(fd_MsgRegisterControllerResponse_accounts, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgRegisterControllerResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgRegisterControllerResponse.controller": - return x.Controller != "" - case "did.v1.MsgRegisterControllerResponse.accounts": - return len(x.Accounts) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterControllerResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterControllerResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgRegisterControllerResponse.controller": - x.Controller = "" - case "did.v1.MsgRegisterControllerResponse.accounts": - x.Accounts = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterControllerResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRegisterControllerResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgRegisterControllerResponse.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.MsgRegisterControllerResponse.accounts": - if len(x.Accounts) == 0 { - return protoreflect.ValueOfMap(&_MsgRegisterControllerResponse_2_map{}) - } - mapValue := &_MsgRegisterControllerResponse_2_map{m: &x.Accounts} - return protoreflect.ValueOfMap(mapValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterControllerResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterControllerResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgRegisterControllerResponse.controller": - x.Controller = value.Interface().(string) - case "did.v1.MsgRegisterControllerResponse.accounts": - mv := value.Map() - cmv := mv.(*_MsgRegisterControllerResponse_2_map) - x.Accounts = *cmv.m - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterControllerResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterControllerResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgRegisterControllerResponse.accounts": - if x.Accounts == nil { - x.Accounts = make(map[string]string) - } - value := &_MsgRegisterControllerResponse_2_map{m: &x.Accounts} - return protoreflect.ValueOfMap(value) - case "did.v1.MsgRegisterControllerResponse.controller": - panic(fmt.Errorf("field controller of message did.v1.MsgRegisterControllerResponse is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterControllerResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgRegisterControllerResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgRegisterControllerResponse.controller": - return protoreflect.ValueOfString("") - case "did.v1.MsgRegisterControllerResponse.accounts": - m := make(map[string]string) - return protoreflect.ValueOfMap(&_MsgRegisterControllerResponse_2_map{m: &m}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterControllerResponse")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterControllerResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgRegisterControllerResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgRegisterControllerResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgRegisterControllerResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterControllerResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgRegisterControllerResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRegisterControllerResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRegisterControllerResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Accounts) > 0 { - SiZeMaP := func(k string, v string) { - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.Accounts)) - for k := range x.Accounts { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.Accounts[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.Accounts { - SiZeMaP(k, v) - } - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterControllerResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Accounts) > 0 { - MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x12 - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForAccounts := make([]string, 0, len(x.Accounts)) - for k := range x.Accounts { - keysForAccounts = append(keysForAccounts, string(k)) - } - sort.Slice(keysForAccounts, func(i, j int) bool { - return keysForAccounts[i] < keysForAccounts[j] - }) - for iNdEx := len(keysForAccounts) - 1; iNdEx >= 0; iNdEx-- { - v := x.Accounts[string(keysForAccounts[iNdEx])] - out, err := MaRsHaLmAp(keysForAccounts[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.Accounts { - v := x.Accounts[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterControllerResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterControllerResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterControllerResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11192,762 +5508,45 @@ func (x *fastReflection_MsgRegisterControllerResponse) ProtoMethods() *protoifac if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Accounts == nil { - x.Accounts = make(map[string]string) + if x.Params == nil { + x.Params = &Params{} } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapvalue > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.Accounts[mapkey] = mapvalue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_MsgRegisterService_3_list)(nil) - -type _MsgRegisterService_3_list struct { - list *[]PermissionScope -} - -func (x *_MsgRegisterService_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgRegisterService_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) -} - -func (x *_MsgRegisterService_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (PermissionScope)(valueUnwrapped) - (*x.list)[i] = concreteValue -} - -func (x *_MsgRegisterService_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Enum() - concreteValue := (PermissionScope)(valueUnwrapped) - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgRegisterService_3_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgRegisterService at list field Scopes as it is not of Message kind")) -} - -func (x *_MsgRegisterService_3_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_MsgRegisterService_3_list) NewElement() protoreflect.Value { - v := 0 - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) -} - -func (x *_MsgRegisterService_3_list) IsValid() bool { - return x.list != nil -} - -var ( - md_MsgRegisterService protoreflect.MessageDescriptor - fd_MsgRegisterService_authority protoreflect.FieldDescriptor - fd_MsgRegisterService_origin_uri protoreflect.FieldDescriptor - fd_MsgRegisterService_scopes protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_tx_proto_init() - md_MsgRegisterService = File_did_v1_tx_proto.Messages().ByName("MsgRegisterService") - fd_MsgRegisterService_authority = md_MsgRegisterService.Fields().ByName("authority") - fd_MsgRegisterService_origin_uri = md_MsgRegisterService.Fields().ByName("origin_uri") - fd_MsgRegisterService_scopes = md_MsgRegisterService.Fields().ByName("scopes") -} - -var _ protoreflect.Message = (*fastReflection_MsgRegisterService)(nil) - -type fastReflection_MsgRegisterService MsgRegisterService - -func (x *MsgRegisterService) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRegisterService)(x) -} - -func (x *MsgRegisterService) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_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) -} - -var _fastReflection_MsgRegisterService_messageType fastReflection_MsgRegisterService_messageType -var _ protoreflect.MessageType = fastReflection_MsgRegisterService_messageType{} - -type fastReflection_MsgRegisterService_messageType struct{} - -func (x fastReflection_MsgRegisterService_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRegisterService)(nil) -} -func (x fastReflection_MsgRegisterService_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRegisterService) -} -func (x fastReflection_MsgRegisterService_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterService -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgRegisterService) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterService -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgRegisterService) Type() protoreflect.MessageType { - return _fastReflection_MsgRegisterService_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRegisterService) New() protoreflect.Message { - return new(fastReflection_MsgRegisterService) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRegisterService) Interface() protoreflect.ProtoMessage { - return (*MsgRegisterService)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgRegisterService) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgRegisterService_authority, value) { - return - } - } - if x.OriginUri != "" { - value := protoreflect.ValueOfString(x.OriginUri) - if !f(fd_MsgRegisterService_origin_uri, value) { - return - } - } - if len(x.Scopes) != 0 { - value := protoreflect.ValueOfList(&_MsgRegisterService_3_list{list: &x.Scopes}) - if !f(fd_MsgRegisterService_scopes, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgRegisterService) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.MsgRegisterService.authority": - return x.Authority != "" - case "did.v1.MsgRegisterService.origin_uri": - return x.OriginUri != "" - case "did.v1.MsgRegisterService.scopes": - return len(x.Scopes) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterService does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterService) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.MsgRegisterService.authority": - x.Authority = "" - case "did.v1.MsgRegisterService.origin_uri": - x.OriginUri = "" - case "did.v1.MsgRegisterService.scopes": - x.Scopes = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterService does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRegisterService) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.MsgRegisterService.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "did.v1.MsgRegisterService.origin_uri": - value := x.OriginUri - return protoreflect.ValueOfString(value) - case "did.v1.MsgRegisterService.scopes": - if len(x.Scopes) == 0 { - return protoreflect.ValueOfList(&_MsgRegisterService_3_list{}) - } - listValue := &_MsgRegisterService_3_list{list: &x.Scopes} - return protoreflect.ValueOfList(listValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterService does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterService) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.MsgRegisterService.authority": - x.Authority = value.Interface().(string) - case "did.v1.MsgRegisterService.origin_uri": - x.OriginUri = value.Interface().(string) - case "did.v1.MsgRegisterService.scopes": - lv := value.List() - clv := lv.(*_MsgRegisterService_3_list) - x.Scopes = *clv.list - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterService does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterService) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgRegisterService.scopes": - if x.Scopes == nil { - x.Scopes = []PermissionScope{} - } - value := &_MsgRegisterService_3_list{list: &x.Scopes} - return protoreflect.ValueOfList(value) - case "did.v1.MsgRegisterService.authority": - panic(fmt.Errorf("field authority of message did.v1.MsgRegisterService is not mutable")) - case "did.v1.MsgRegisterService.origin_uri": - panic(fmt.Errorf("field origin_uri of message did.v1.MsgRegisterService is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterService does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgRegisterService) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.MsgRegisterService.authority": - return protoreflect.ValueOfString("") - case "did.v1.MsgRegisterService.origin_uri": - return protoreflect.ValueOfString("") - case "did.v1.MsgRegisterService.scopes": - list := []PermissionScope{} - return protoreflect.ValueOfList(&_MsgRegisterService_3_list{list: &list}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterService")) - } - panic(fmt.Errorf("message did.v1.MsgRegisterService does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgRegisterService) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgRegisterService", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgRegisterService) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterService) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgRegisterService) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRegisterService) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRegisterService) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Authority) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.OriginUri) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Scopes) > 0 { - l = 0 - for _, e := range x.Scopes { - l += runtime.Sov(uint64(e)) - } - n += 1 + runtime.Sov(uint64(l)) + l - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterService) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Scopes) > 0 { - var pksize2 int - for _, num := range x.Scopes { - pksize2 += runtime.Sov(uint64(num)) - } - i -= pksize2 - j1 := i - for _, num1 := range x.Scopes { - num := uint64(num1) - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA[j1] = uint8(num) - j1++ - } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) - i-- - dAtA[i] = 0x1a - } - if len(x.OriginUri) > 0 { - i -= len(x.OriginUri) - copy(dAtA[i:], x.OriginUri) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.OriginUri))) - i-- - dAtA[i] = 0x12 - } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterService) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterService: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterService: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OriginUri", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.OriginUri = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType == 0 { - var v PermissionScope - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= PermissionScope(b&0x7F) << shift - if b < 0x80 { - break - } + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow } - x.Scopes = append(x.Scopes, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { + if iNdEx >= l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - var elementCount int - if elementCount != 0 && len(x.Scopes) == 0 { - x.Scopes = make([]PermissionScope, 0, elementCount) + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - for iNdEx < postIndex { - var v PermissionScope - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= PermissionScope(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Scopes = append(x.Scopes, v) - } - } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Token = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -11984,26 +5583,24 @@ func (x *fastReflection_MsgRegisterService) ProtoMethods() *protoiface.Methods { } var ( - md_MsgRegisterServiceResponse protoreflect.MessageDescriptor - fd_MsgRegisterServiceResponse_success protoreflect.FieldDescriptor + md_MsgUpdateParamsResponse protoreflect.MessageDescriptor ) func init() { file_did_v1_tx_proto_init() - md_MsgRegisterServiceResponse = File_did_v1_tx_proto.Messages().ByName("MsgRegisterServiceResponse") - fd_MsgRegisterServiceResponse_success = md_MsgRegisterServiceResponse.Fields().ByName("success") + md_MsgUpdateParamsResponse = File_did_v1_tx_proto.Messages().ByName("MsgUpdateParamsResponse") } -var _ protoreflect.Message = (*fastReflection_MsgRegisterServiceResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateParamsResponse)(nil) -type fastReflection_MsgRegisterServiceResponse MsgRegisterServiceResponse +type fastReflection_MsgUpdateParamsResponse MsgUpdateParamsResponse -func (x *MsgRegisterServiceResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRegisterServiceResponse)(x) +func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(x) } -func (x *MsgRegisterServiceResponse) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_tx_proto_msgTypes[11] +func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_did_v1_tx_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12014,43 +5611,43 @@ func (x *MsgRegisterServiceResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgRegisterServiceResponse_messageType fastReflection_MsgRegisterServiceResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgRegisterServiceResponse_messageType{} +var _fastReflection_MsgUpdateParamsResponse_messageType fastReflection_MsgUpdateParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParamsResponse_messageType{} -type fastReflection_MsgRegisterServiceResponse_messageType struct{} +type fastReflection_MsgUpdateParamsResponse_messageType struct{} -func (x fastReflection_MsgRegisterServiceResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRegisterServiceResponse)(nil) +func (x fastReflection_MsgUpdateParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(nil) } -func (x fastReflection_MsgRegisterServiceResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRegisterServiceResponse) +func (x fastReflection_MsgUpdateParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) } -func (x fastReflection_MsgRegisterServiceResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterServiceResponse +func (x fastReflection_MsgUpdateParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRegisterServiceResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRegisterServiceResponse +func (x *fastReflection_MsgUpdateParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgRegisterServiceResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgRegisterServiceResponse_messageType +func (x *fastReflection_MsgUpdateParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParamsResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRegisterServiceResponse) New() protoreflect.Message { - return new(fastReflection_MsgRegisterServiceResponse) +func (x *fastReflection_MsgUpdateParamsResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRegisterServiceResponse) Interface() protoreflect.ProtoMessage { - return (*MsgRegisterServiceResponse)(x) +func (x *fastReflection_MsgUpdateParamsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParamsResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -12058,13 +5655,7 @@ func (x *fastReflection_MsgRegisterServiceResponse) Interface() protoreflect.Pro // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRegisterServiceResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Success != false { - value := protoreflect.ValueOfBool(x.Success) - if !f(fd_MsgRegisterServiceResponse_success, value) { - return - } - } +func (x *fastReflection_MsgUpdateParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -12078,15 +5669,13 @@ func (x *fastReflection_MsgRegisterServiceResponse) Range(f func(protoreflect.Fi // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgRegisterServiceResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "did.v1.MsgRegisterServiceResponse.success": - return x.Success != false default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterServiceResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) } - panic(fmt.Errorf("message did.v1.MsgRegisterServiceResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) } } @@ -12096,15 +5685,13 @@ func (x *fastReflection_MsgRegisterServiceResponse) Has(fd protoreflect.FieldDes // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterServiceResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateParamsResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "did.v1.MsgRegisterServiceResponse.success": - x.Success = false default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterServiceResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) } - panic(fmt.Errorf("message did.v1.MsgRegisterServiceResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) } } @@ -12114,16 +5701,13 @@ func (x *fastReflection_MsgRegisterServiceResponse) Clear(fd protoreflect.FieldD // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRegisterServiceResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "did.v1.MsgRegisterServiceResponse.success": - value := x.Success - return protoreflect.ValueOfBool(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterServiceResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) } - panic(fmt.Errorf("message did.v1.MsgRegisterServiceResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", descriptor.FullName())) } } @@ -12137,15 +5721,13 @@ func (x *fastReflection_MsgRegisterServiceResponse) Get(descriptor protoreflect. // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterServiceResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "did.v1.MsgRegisterServiceResponse.success": - x.Success = value.Bool() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterServiceResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) } - panic(fmt.Errorf("message did.v1.MsgRegisterServiceResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) } } @@ -12159,40 +5741,36 @@ func (x *fastReflection_MsgRegisterServiceResponse) Set(fd protoreflect.FieldDes // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterServiceResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.MsgRegisterServiceResponse.success": - panic(fmt.Errorf("field success of message did.v1.MsgRegisterServiceResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterServiceResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) } - panic(fmt.Errorf("message did.v1.MsgRegisterServiceResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgRegisterServiceResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "did.v1.MsgRegisterServiceResponse.success": - return protoreflect.ValueOfBool(false) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgRegisterServiceResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.MsgUpdateParamsResponse")) } - panic(fmt.Errorf("message did.v1.MsgRegisterServiceResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message did.v1.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgRegisterServiceResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgRegisterServiceResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in did.v1.MsgUpdateParamsResponse", d.FullName())) } panic("unreachable") } @@ -12200,7 +5778,7 @@ func (x *fastReflection_MsgRegisterServiceResponse) WhichOneof(d protoreflect.On // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgRegisterServiceResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateParamsResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -12211,7 +5789,7 @@ func (x *fastReflection_MsgRegisterServiceResponse) GetUnknown() protoreflect.Ra // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRegisterServiceResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateParamsResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -12223,7 +5801,7 @@ func (x *fastReflection_MsgRegisterServiceResponse) SetUnknown(fields protorefle // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgRegisterServiceResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateParamsResponse) IsValid() bool { return x != nil } @@ -12233,9 +5811,9 @@ func (x *fastReflection_MsgRegisterServiceResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRegisterServiceResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRegisterServiceResponse) + x := input.Message.Interface().(*MsgUpdateParamsResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12247,9 +5825,6 @@ func (x *fastReflection_MsgRegisterServiceResponse) ProtoMethods() *protoiface.M var n int var l int _ = l - if x.Success { - n += 2 - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -12260,7 +5835,7 @@ func (x *fastReflection_MsgRegisterServiceResponse) ProtoMethods() *protoiface.M } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterServiceResponse) + x := input.Message.Interface().(*MsgUpdateParamsResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12279,16 +5854,6 @@ func (x *fastReflection_MsgRegisterServiceResponse) ProtoMethods() *protoiface.M i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Success { - i-- - if x.Success { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -12300,7 +5865,7 @@ func (x *fastReflection_MsgRegisterServiceResponse) ProtoMethods() *protoiface.M }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRegisterServiceResponse) + x := input.Message.Interface().(*MsgUpdateParamsResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12332,32 +5897,12 @@ func (x *fastReflection_MsgRegisterServiceResponse) ProtoMethods() *protoiface.M fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterServiceResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterServiceResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Success = bool(v != 0) default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -12406,6 +5951,442 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// MsgAllocateVault is the message type for the AllocateVault RPC. +type MsgAllocateVault struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address of the service account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // subject is a unique human-defined identifier to associate with the vault. + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` + // origin is the origin of the request in wildcard form. + Origin string `protobuf:"bytes,3,opt,name=origin,proto3" json:"origin,omitempty"` +} + +func (x *MsgAllocateVault) Reset() { + *x = MsgAllocateVault{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgAllocateVault) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgAllocateVault) ProtoMessage() {} + +// Deprecated: Use MsgAllocateVault.ProtoReflect.Descriptor instead. +func (*MsgAllocateVault) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgAllocateVault) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgAllocateVault) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *MsgAllocateVault) GetOrigin() string { + if x != nil { + return x.Origin + } + return "" +} + +// MsgAllocateVaultResponse is the response type for the AllocateVault RPC. +type MsgAllocateVaultResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // CID is the content identifier of the vault. + Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` + // ExpiryBlock is the block number at which the vault will expire. + ExpiryBlock int64 `protobuf:"varint,2,opt,name=expiry_block,json=expiryBlock,proto3" json:"expiry_block,omitempty"` + // RegistrationOptions is a json string of the PublicKeyCredentialCreationOptions for WebAuthn + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` + // IsLocalhost is a flag to indicate if the vault is localhost + Localhost bool `protobuf:"varint,4,opt,name=localhost,proto3" json:"localhost,omitempty"` +} + +func (x *MsgAllocateVaultResponse) Reset() { + *x = MsgAllocateVaultResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgAllocateVaultResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgAllocateVaultResponse) ProtoMessage() {} + +// Deprecated: Use MsgAllocateVaultResponse.ProtoReflect.Descriptor instead. +func (*MsgAllocateVaultResponse) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{1} +} + +func (x *MsgAllocateVaultResponse) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +func (x *MsgAllocateVaultResponse) GetExpiryBlock() int64 { + if x != nil { + return x.ExpiryBlock + } + return 0 +} + +func (x *MsgAllocateVaultResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *MsgAllocateVaultResponse) GetLocalhost() bool { + if x != nil { + return x.Localhost + } + return false +} + +// MsgRegisterController is the message type for the InitializeController RPC. +type MsgRegisterController struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // Assertions is the list of assertions to initialize the controller with. + Assertions [][]byte `protobuf:"bytes,2,rep,name=assertions,proto3" json:"assertions,omitempty"` + // Keyshares is the list of keyshares to initialize the controller with. + Keyshares [][]byte `protobuf:"bytes,3,rep,name=keyshares,proto3" json:"keyshares,omitempty"` + // Verifications is the list of verifications to initialize the controller with. + Verifications [][]byte `protobuf:"bytes,4,rep,name=verifications,proto3" json:"verifications,omitempty"` +} + +func (x *MsgRegisterController) Reset() { + *x = MsgRegisterController{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRegisterController) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRegisterController) ProtoMessage() {} + +// Deprecated: Use MsgRegisterController.ProtoReflect.Descriptor instead. +func (*MsgRegisterController) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgRegisterController) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgRegisterController) GetAssertions() [][]byte { + if x != nil { + return x.Assertions + } + return nil +} + +func (x *MsgRegisterController) GetKeyshares() [][]byte { + if x != nil { + return x.Keyshares + } + return nil +} + +func (x *MsgRegisterController) GetVerifications() [][]byte { + if x != nil { + return x.Verifications + } + return nil +} + +// MsgRegisterControllerResponse is the response type for the InitializeController RPC. +type MsgRegisterControllerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Success returns true if the specified cid is valid and not already encrypted. + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + // Controller is the address of the initialized controller. + Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` + // Accounts are a Address Map and Supported coin Denoms for the controller + Accounts map[string]string `protobuf:"bytes,3,rep,name=accounts,proto3" json:"accounts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *MsgRegisterControllerResponse) Reset() { + *x = MsgRegisterControllerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRegisterControllerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRegisterControllerResponse) ProtoMessage() {} + +// Deprecated: Use MsgRegisterControllerResponse.ProtoReflect.Descriptor instead. +func (*MsgRegisterControllerResponse) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{3} +} + +func (x *MsgRegisterControllerResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *MsgRegisterControllerResponse) GetController() string { + if x != nil { + return x.Controller + } + return "" +} + +func (x *MsgRegisterControllerResponse) GetAccounts() map[string]string { + if x != nil { + return x.Accounts + } + return nil +} + +// MsgAuthorizeService is the message type for the AuthorizeService RPC. +type MsgAuthorizeService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Controller is the address of the controller to authenticate. + Controller string `protobuf:"bytes,1,opt,name=controller,proto3" json:"controller,omitempty"` + // Origin is the origin of the request in wildcard form. + Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` + // Permissions is the scope of the service. + Permissions map[string]string `protobuf:"bytes,3,rep,name=permissions,proto3" json:"permissions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // token is the macron token to authenticate the operation. + Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *MsgAuthorizeService) Reset() { + *x = MsgAuthorizeService{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgAuthorizeService) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgAuthorizeService) ProtoMessage() {} + +// Deprecated: Use MsgAuthorizeService.ProtoReflect.Descriptor instead. +func (*MsgAuthorizeService) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgAuthorizeService) GetController() string { + if x != nil { + return x.Controller + } + return "" +} + +func (x *MsgAuthorizeService) GetOrigin() string { + if x != nil { + return x.Origin + } + return "" +} + +func (x *MsgAuthorizeService) GetPermissions() map[string]string { + if x != nil { + return x.Permissions + } + return nil +} + +func (x *MsgAuthorizeService) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +// MsgAuthorizeServiceResponse is the response type for the AuthorizeService RPC. +type MsgAuthorizeServiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *MsgAuthorizeServiceResponse) Reset() { + *x = MsgAuthorizeServiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgAuthorizeServiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgAuthorizeServiceResponse) ProtoMessage() {} + +// Deprecated: Use MsgAuthorizeServiceResponse.ProtoReflect.Descriptor instead. +func (*MsgAuthorizeServiceResponse) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{5} +} + +func (x *MsgAuthorizeServiceResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *MsgAuthorizeServiceResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +// MsgRegisterService is the message type for the RegisterService RPC. +type MsgRegisterService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address of the governance account. + Controller string `protobuf:"bytes,1,opt,name=controller,proto3" json:"controller,omitempty"` + // origin is the origin of the request in wildcard form. Requires valid TXT record in DNS. + Service *Service `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` +} + +func (x *MsgRegisterService) Reset() { + *x = MsgRegisterService{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRegisterService) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRegisterService) ProtoMessage() {} + +// Deprecated: Use MsgRegisterService.ProtoReflect.Descriptor instead. +func (*MsgRegisterService) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgRegisterService) GetController() string { + if x != nil { + return x.Controller + } + return "" +} + +func (x *MsgRegisterService) GetService() *Service { + if x != nil { + return x.Service + } + return nil +} + +// MsgRegisterServiceResponse is the response type for the RegisterService RPC. +type MsgRegisterServiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Did string `protobuf:"bytes,2,opt,name=did,proto3" json:"did,omitempty"` +} + +func (x *MsgRegisterServiceResponse) Reset() { + *x = MsgRegisterServiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_did_v1_tx_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRegisterServiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRegisterServiceResponse) ProtoMessage() {} + +// Deprecated: Use MsgRegisterServiceResponse.ProtoReflect.Descriptor instead. +func (*MsgRegisterServiceResponse) Descriptor() ([]byte, []int) { + return file_did_v1_tx_proto_rawDescGZIP(), []int{7} +} + +func (x *MsgRegisterServiceResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *MsgRegisterServiceResponse) GetDid() string { + if x != nil { + return x.Did + } + return "" +} + // MsgUpdateParams is the Msg/UpdateParams request type. // // Since: cosmos-sdk 0.47 @@ -12425,7 +6406,7 @@ type MsgUpdateParams struct { func (x *MsgUpdateParams) Reset() { *x = MsgUpdateParams{} if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[0] + mi := &file_did_v1_tx_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12439,7 +6420,7 @@ func (*MsgUpdateParams) ProtoMessage() {} // Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{0} + return file_did_v1_tx_proto_rawDescGZIP(), []int{8} } func (x *MsgUpdateParams) GetAuthority() string { @@ -12476,7 +6457,7 @@ type MsgUpdateParamsResponse struct { func (x *MsgUpdateParamsResponse) Reset() { *x = MsgUpdateParamsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[1] + mi := &file_did_v1_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12490,836 +6471,9 @@ func (*MsgUpdateParamsResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{1} -} - -// MsgAllocateVault is the message type for the AllocateVault RPC. -type MsgAllocateVault struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // authority is the address of the service account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // subject is a unique human-defined identifier to associate with the vault. - Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` - // origin is the origin of the request in wildcard form. - Origin string `protobuf:"bytes,3,opt,name=origin,proto3" json:"origin,omitempty"` -} - -func (x *MsgAllocateVault) Reset() { - *x = MsgAllocateVault{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgAllocateVault) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgAllocateVault) ProtoMessage() {} - -// Deprecated: Use MsgAllocateVault.ProtoReflect.Descriptor instead. -func (*MsgAllocateVault) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{2} -} - -func (x *MsgAllocateVault) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" -} - -func (x *MsgAllocateVault) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -func (x *MsgAllocateVault) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -// MsgAllocateVaultResponse is the response type for the AllocateVault RPC. -type MsgAllocateVaultResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // CID is the content identifier of the vault. - Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` - // ExpiryBlock is the block number at which the vault will expire. - ExpiryBlock int64 `protobuf:"varint,2,opt,name=expiry_block,json=expiryBlock,proto3" json:"expiry_block,omitempty"` - // RegistrationOptions is a json string of the PublicKeyCredentialCreationOptions for WebAuthn - RegistrationOptions string `protobuf:"bytes,3,opt,name=registration_options,json=registrationOptions,proto3" json:"registration_options,omitempty"` - // IsLocalhost is a flag to indicate if the vault is localhost - Localhost bool `protobuf:"varint,4,opt,name=localhost,proto3" json:"localhost,omitempty"` -} - -func (x *MsgAllocateVaultResponse) Reset() { - *x = MsgAllocateVaultResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgAllocateVaultResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgAllocateVaultResponse) ProtoMessage() {} - -// Deprecated: Use MsgAllocateVaultResponse.ProtoReflect.Descriptor instead. -func (*MsgAllocateVaultResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{3} -} - -func (x *MsgAllocateVaultResponse) GetCid() string { - if x != nil { - return x.Cid - } - return "" -} - -func (x *MsgAllocateVaultResponse) GetExpiryBlock() int64 { - if x != nil { - return x.ExpiryBlock - } - return 0 -} - -func (x *MsgAllocateVaultResponse) GetRegistrationOptions() string { - if x != nil { - return x.RegistrationOptions - } - return "" -} - -func (x *MsgAllocateVaultResponse) GetLocalhost() bool { - if x != nil { - return x.Localhost - } - return false -} - -// MsgProveWitness is the message type for the ProveWitness RPC. -type MsgProveWitness struct { -// MsgAuthenticate is the message type for the Authenticate RPC. -type MsgAuthenticate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // property is key to prove. - Property string `protobuf:"bytes,2,opt,name=property,proto3" json:"property,omitempty"` - // Witness Value is the bytes of the witness. - Witness []byte `protobuf:"bytes,3,opt,name=witness,proto3" json:"witness,omitempty"` - // token is the macron token to authenticate the operation. - Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` -} - -func (x *MsgAuthenticate) Reset() { - *x = MsgAuthenticate{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgAuthenticate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgAuthenticate) ProtoMessage() {} - -// Deprecated: Use MsgAuthenticate.ProtoReflect.Descriptor instead. -func (*MsgAuthenticate) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{2} -} - -func (x *MsgAuthenticate) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" -} - -func (x *MsgAuthenticate) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *MsgAuthenticate) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *MsgAuthenticate) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -// MsgAuthenticateResponse is the response type for the Authenticate RPC. -type MsgAuthenticateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MsgAuthenticateResponse) Reset() { - *x = MsgAuthenticateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgAuthenticateResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgAuthenticateResponse) ProtoMessage() {} - -// Deprecated: Use MsgAuthenticateResponse.ProtoReflect.Descriptor instead. -func (*MsgAuthenticateResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{3} -} - -// MsgProveWitness is the message type for the ProveWitness RPC. -type MsgProveWitness struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // property is key to prove. - Property string `protobuf:"bytes,2,opt,name=property,proto3" json:"property,omitempty"` - // Witness Value is the bytes of the witness. - Witness []byte `protobuf:"bytes,3,opt,name=witness,proto3" json:"witness,omitempty"` -} - -func (x *MsgProveWitness) Reset() { - *x = MsgProveWitness{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgProveWitness) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgProveWitness) ProtoMessage() {} - -// Deprecated: Use MsgProveWitness.ProtoReflect.Descriptor instead. -func (*MsgProveWitness) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{4} -} - -func (x *MsgProveWitness) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" -} - -func (x *MsgProveWitness) GetProperty() string { - if x != nil { - return x.Property - } - return "" -} - -func (x *MsgProveWitness) GetWitness() []byte { - if x != nil { - return x.Witness - } - return nil -} - -func (x *MsgProveWitness) GetToken() string { - if x != nil { - return x.Token - } - return nil -} - -// MsgProveWitnessResponse is the response type for the ProveWitness RPC. -type MsgProveWitnessResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - Property string `protobuf:"bytes,2,opt,name=property,proto3" json:"property,omitempty"` -} - -func (x *MsgProveWitnessResponse) Reset() { - *x = MsgProveWitnessResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgProveWitnessResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgProveWitnessResponse) ProtoMessage() {} - -// Deprecated: Use MsgProveWitnessResponse.ProtoReflect.Descriptor instead. -func (*MsgProveWitnessResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{5} -} - -func (x *MsgProveWitnessResponse) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -func (x *MsgProveWitnessResponse) GetProperty() string { - if x != nil { - return x.Property - } - return "" -} - -// MsgSyncController is the message type for the SyncController RPC. -type MsgSyncController struct { -// MsgSyncVault is the message type for the SyncVault RPC. -type MsgSyncVault struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // controller is the address of the controller to sync. - Controller string `protobuf:"bytes,1,opt,name=controller,proto3" json:"controller,omitempty"` - // Token is the public token to authenticate the operation. - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` -} - -func (x *MsgSyncController) Reset() { - *x = MsgSyncController{} - // cid is the IPFS content identifier. - Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` - // Macroon is the public token to authenticate the operation. - Macron []byte `protobuf:"bytes,3,opt,name=macron,proto3" json:"macron,omitempty"` -} - -func (x *MsgSyncVault) Reset() { - *x = MsgSyncVault{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgSyncController) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgSyncController) ProtoMessage() {} - -// Deprecated: Use MsgSyncController.ProtoReflect.Descriptor instead. -func (*MsgSyncController) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{6} -} - -func (x *MsgSyncController) GetController() string { -func (x *MsgSyncVault) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgSyncVault) ProtoMessage() {} - -// Deprecated: Use MsgSyncVault.ProtoReflect.Descriptor instead. -func (*MsgSyncVault) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{6} -} - -func (x *MsgSyncVault) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *MsgSyncController) GetToken() string { - if x != nil { - return x.Token -func (x *MsgSyncVault) GetCid() string { - if x != nil { - return x.Cid - } - return "" -} - -// MsgSyncControllerResponse is the response type for the SyncController RPC. -type MsgSyncControllerResponse struct { -func (x *MsgSyncVault) GetMacron() []byte { - if x != nil { - return x.Macron - } - return nil -} - -// MsgSyncVaultResponse is the response type for the SyncVault RPC. -type MsgSyncVaultResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` -} - -func (x *MsgSyncControllerResponse) Reset() { - *x = MsgSyncControllerResponse{} -func (x *MsgSyncVaultResponse) Reset() { - *x = MsgSyncVaultResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgSyncControllerResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgSyncControllerResponse) ProtoMessage() {} - -// Deprecated: Use MsgSyncControllerResponse.ProtoReflect.Descriptor instead. -func (*MsgSyncControllerResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{7} -} - -func (x *MsgSyncControllerResponse) GetSuccess() bool { -func (x *MsgSyncVaultResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgSyncVaultResponse) ProtoMessage() {} - -// Deprecated: Use MsgSyncVaultResponse.ProtoReflect.Descriptor instead. -func (*MsgSyncVaultResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{7} -} - -func (x *MsgSyncVaultResponse) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -// MsgRegisterController is the message type for the InitializeController RPC. -type MsgRegisterController struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // Assertions is the list of assertions to initialize the controller with. - Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` - // Origin is the origin of the request in wildcard form. - Origin string `protobuf:"bytes,3,opt,name=origin,proto3" json:"origin,omitempty"` - // Credential is the list of keyshares to initialize the controller with. - CredentialCreationResponse string `protobuf:"bytes,4,opt,name=credential_creation_response,json=credentialCreationResponse,proto3" json:"credential_creation_response,omitempty"` - Assertions [][]byte `protobuf:"bytes,2,rep,name=assertions,proto3" json:"assertions,omitempty"` - // Keyshares is the list of keyshares to initialize the controller with. - Keyshares [][]byte `protobuf:"bytes,3,rep,name=keyshares,proto3" json:"keyshares,omitempty"` - // Verifications is the list of verifications to initialize the controller with. - Verifications [][]byte `protobuf:"bytes,4,rep,name=verifications,proto3" json:"verifications,omitempty"` -} - -func (x *MsgRegisterController) Reset() { - *x = MsgRegisterController{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgRegisterController) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgRegisterController) ProtoMessage() {} - -// Deprecated: Use MsgRegisterController.ProtoReflect.Descriptor instead. -func (*MsgRegisterController) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{8} -} - -func (x *MsgRegisterController) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" -} - -func (x *MsgRegisterController) GetCid() string { - if x != nil { - return x.Cid - } - return "" -} - -func (x *MsgRegisterController) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *MsgRegisterController) GetCredentialCreationResponse() string { - if x != nil { - return x.CredentialCreationResponse - } - return "" -func (x *MsgRegisterController) GetAssertions() [][]byte { - if x != nil { - return x.Assertions - } - return nil -} - -func (x *MsgRegisterController) GetKeyshares() [][]byte { - if x != nil { - return x.Keyshares - } - return nil -} - -func (x *MsgRegisterController) GetVerifications() [][]byte { - if x != nil { - return x.Verifications - } - return nil -} - -// MsgRegisterControllerResponse is the response type for the InitializeController RPC. -type MsgRegisterControllerResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Success returns true if the specified cid is valid and not already encrypted. - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - // Controller is the address of the initialized controller. - Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` - // Accounts are a Address Map and Supported coin Denoms for the controller - Accounts map[string]string `protobuf:"bytes,3,rep,name=accounts,proto3" json:"accounts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Controller is the address of the initialized controller. - Controller string `protobuf:"bytes,1,opt,name=controller,proto3" json:"controller,omitempty"` - // Accounts are a Address Map and Supported coin Denoms for the controller - Accounts map[string]string `protobuf:"bytes,2,rep,name=accounts,proto3" json:"accounts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *MsgRegisterControllerResponse) Reset() { - *x = MsgRegisterControllerResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgRegisterControllerResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgRegisterControllerResponse) ProtoMessage() {} - -// Deprecated: Use MsgRegisterControllerResponse.ProtoReflect.Descriptor instead. -func (*MsgRegisterControllerResponse) Descriptor() ([]byte, []int) { return file_did_v1_tx_proto_rawDescGZIP(), []int{9} } -func (x *MsgRegisterControllerResponse) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -func (x *MsgRegisterControllerResponse) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *MsgRegisterControllerResponse) GetAccounts() map[string]string { - if x != nil { - return x.Accounts - } - return nil -} - -// MsgAuthorizeService is the message type for the AuthorizeService RPC. -type MsgAuthorizeService struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Controller is the address of the controller to authenticate. - Controller string `protobuf:"bytes,1,opt,name=controller,proto3" json:"controller,omitempty"` - // Origin is the origin of the request in wildcard form. - Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` - // Permissions is the scope of the service. - Scopes *Permissions `protobuf:"bytes,3,opt,name=scopes,proto3" json:"scopes,omitempty"` - // token is the macron token to authenticate the operation. - Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` -} - -func (x *MsgAuthorizeService) Reset() { - *x = MsgAuthorizeService{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgAuthorizeService) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgAuthorizeService) ProtoMessage() {} - -// Deprecated: Use MsgAuthorizeService.ProtoReflect.Descriptor instead. -func (*MsgAuthorizeService) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{10} -} - -func (x *MsgAuthorizeService) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *MsgAuthorizeService) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *MsgAuthorizeService) GetScopes() *Permissions { - if x != nil { - return x.Scopes - } - return nil -} - -func (x *MsgAuthorizeService) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -// MsgAuthorizeServiceResponse is the response type for the AuthorizeService RPC. -type MsgAuthorizeServiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` -} - -func (x *MsgAuthorizeServiceResponse) Reset() { - *x = MsgAuthorizeServiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgAuthorizeServiceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgAuthorizeServiceResponse) ProtoMessage() {} - -// Deprecated: Use MsgAuthorizeServiceResponse.ProtoReflect.Descriptor instead. -func (*MsgAuthorizeServiceResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{11} -} - -func (x *MsgAuthorizeServiceResponse) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -func (x *MsgAuthorizeServiceResponse) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -// MsgRegisterService is the message type for the RegisterService RPC. -type MsgRegisterService struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // authority is the address of the governance account. - Controller string `protobuf:"bytes,1,opt,name=controller,proto3" json:"controller,omitempty"` - // origin is the origin of the request in wildcard form. Requires valid TXT record in DNS. - Service *Service `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` - // token is the macron token to authenticate the operation. - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // origin is the origin of the request in wildcard form. - OriginUri string `protobuf:"bytes,2,opt,name=origin_uri,json=originUri,proto3" json:"origin_uri,omitempty"` - // PermissionScope is the scope of the service. - Scopes []PermissionScope `protobuf:"varint,3,rep,packed,name=scopes,proto3,enum=did.v1.PermissionScope" json:"scopes,omitempty"` -} - -func (x *MsgRegisterService) Reset() { - *x = MsgRegisterService{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[12] - mi := &file_did_v1_tx_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgRegisterService) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgRegisterService) ProtoMessage() {} - -// Deprecated: Use MsgRegisterService.ProtoReflect.Descriptor instead. -func (*MsgRegisterService) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{12} -} - -func (x *MsgRegisterService) GetController() string { - if x != nil { - return x.Controller - return file_did_v1_tx_proto_rawDescGZIP(), []int{10} -} - -func (x *MsgRegisterService) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" -} - -func (x *MsgRegisterService) GetService() *Service { - if x != nil { - return x.Service -func (x *MsgRegisterService) GetOriginUri() string { - if x != nil { - return x.OriginUri - } - return "" -} - -func (x *MsgRegisterService) GetScopes() []PermissionScope { - if x != nil { - return x.Scopes - } - return nil -} - -func (x *MsgRegisterService) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -// MsgRegisterServiceResponse is the response type for the RegisterService RPC. -type MsgRegisterServiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - Did string `protobuf:"bytes,2,opt,name=did,proto3" json:"did,omitempty"` - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` -} - -func (x *MsgRegisterServiceResponse) Reset() { - *x = MsgRegisterServiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_tx_proto_msgTypes[13] - mi := &file_did_v1_tx_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgRegisterServiceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgRegisterServiceResponse) ProtoMessage() {} - -// Deprecated: Use MsgRegisterServiceResponse.ProtoReflect.Descriptor instead. -func (*MsgRegisterServiceResponse) Descriptor() ([]byte, []int) { - return file_did_v1_tx_proto_rawDescGZIP(), []int{13} - return file_did_v1_tx_proto_rawDescGZIP(), []int{11} -} - -func (x *MsgRegisterServiceResponse) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -func (x *MsgRegisterServiceResponse) GetDid() string { - if x != nil { - return x.Did - } - return "" -} - var File_did_v1_tx_proto protoreflect.FileDescriptor var file_did_v1_tx_proto_rawDesc = []byte{ @@ -13329,21 +6483,8 @@ var file_did_v1_tx_proto_rawDesc = []byte{ 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, - 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, - 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x0e, - 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x19, - 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x10, 0x4d, 0x73, + 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, @@ -13352,281 +6493,127 @@ var file_did_v1_tx_proto_rawDesc = []byte{ 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xa0, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x0f, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, - 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0x4f, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x57, - 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x22, 0x74, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, - 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x0f, 0x82, 0xe7, 0xb0, 0x2a, 0x0a, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x19, 0x4d, 0x73, - 0x67, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, - 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x40, 0x0a, - 0x1c, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x1a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, - 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, - 0x81, 0x02, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xbb, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, - 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x3a, 0x0f, 0x82, 0xe7, 0xb0, 0x2a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x22, 0x4d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xa0, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x22, 0xc3, + 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x3a, 0x0f, 0x82, 0xe7, 0xb0, 0x2a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x22, 0x48, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, 0x32, 0xf8, 0x03, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1f, - 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x54, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0c, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x22, 0x81, 0x02, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, + 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9e, 0x02, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x1a, 0x23, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x65, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x75, 0x6c, 0x74, - 0x1a, 0x20, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x1a, - 0x21, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x79, 0x6e, 0x63, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x1a, 0x25, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, - 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x1a, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x22, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0x77, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, - 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, - 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, - 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - 0x74, 0x6f, 0x1a, 0x12, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x67, - 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, - 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, - 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, - 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x38, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x65, - 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x8f, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x57, 0x69, 0x74, 0x6e, - 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x12, 0x4e, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x3e, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0f, 0x82, 0xe7, 0xb0, 0x2a, 0x0a, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x4d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x69, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x3a, 0x0f, 0x82, 0xe7, 0xb0, 0x2a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x48, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, + 0x03, 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x64, 0x22, + 0x9d, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x74, 0x6e, 0x65, - 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x22, 0x4f, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x57, 0x69, 0x74, - 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x22, 0x83, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x56, 0x61, - 0x75, 0x6c, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x06, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x3a, 0x0f, 0x82, 0xe7, 0xb0, 0x2a, 0x0a, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, - 0x79, 0x6e, 0x63, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x15, 0x4d, + 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x69, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, + 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, + 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xa8, 0x03, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1f, 0x2e, 0x64, 0x69, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x10, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x1b, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x23, 0x2e, + 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, + 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x20, 0x2e, + 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x65, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5a, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, - 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, - 0x09, 0x6b, 0x65, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x76, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0c, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x22, 0xe7, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x08, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, + 0x6c, 0x6c, 0x65, 0x72, 0x1a, 0x25, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, - 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xac, 0x01, 0x0a, 0x12, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x55, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x36, 0x0a, 0x1a, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x32, 0xda, 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x1a, 0x1f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0x1f, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, - 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x17, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x57, - 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x1a, 0x1f, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x53, 0x79, 0x6e, 0x63, 0x56, - 0x61, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x79, 0x6e, 0x63, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x1c, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x56, 0x61, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x1d, - 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x1a, 0x25, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x1a, 0x22, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0x77, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x68, 0x77, 0x61, 0x79, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, - 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, - 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x22, 0x2e, 0x64, 0x69, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, + 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0x77, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 0x64, + 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, + 0x72, 0x2f, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, + 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x06, + 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0xe2, + 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -13641,88 +6628,43 @@ func file_did_v1_tx_proto_rawDescGZIP() []byte { return file_did_v1_tx_proto_rawDescData } -var file_did_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_did_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_did_v1_tx_proto_goTypes = []interface{}{ - (*MsgUpdateParams)(nil), // 0: did.v1.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 1: did.v1.MsgUpdateParamsResponse - (*MsgAllocateVault)(nil), // 2: did.v1.MsgAllocateVault - (*MsgAllocateVaultResponse)(nil), // 3: did.v1.MsgAllocateVaultResponse - (*MsgProveWitness)(nil), // 4: did.v1.MsgProveWitness - (*MsgProveWitnessResponse)(nil), // 5: did.v1.MsgProveWitnessResponse - (*MsgSyncController)(nil), // 6: did.v1.MsgSyncController - (*MsgSyncControllerResponse)(nil), // 7: did.v1.MsgSyncControllerResponse - (*MsgRegisterController)(nil), // 8: did.v1.MsgRegisterController - (*MsgRegisterControllerResponse)(nil), // 9: did.v1.MsgRegisterControllerResponse - (*MsgAuthorizeService)(nil), // 10: did.v1.MsgAuthorizeService - (*MsgAuthorizeServiceResponse)(nil), // 11: did.v1.MsgAuthorizeServiceResponse - (*MsgRegisterService)(nil), // 12: did.v1.MsgRegisterService - (*MsgRegisterServiceResponse)(nil), // 13: did.v1.MsgRegisterServiceResponse - nil, // 14: did.v1.MsgRegisterControllerResponse.AccountsEntry - (*Params)(nil), // 15: did.v1.Params - (*Permissions)(nil), // 16: did.v1.Permissions - (*Service)(nil), // 17: did.v1.Service + (*MsgAllocateVault)(nil), // 0: did.v1.MsgAllocateVault + (*MsgAllocateVaultResponse)(nil), // 1: did.v1.MsgAllocateVaultResponse + (*MsgRegisterController)(nil), // 2: did.v1.MsgRegisterController + (*MsgRegisterControllerResponse)(nil), // 3: did.v1.MsgRegisterControllerResponse + (*MsgAuthorizeService)(nil), // 4: did.v1.MsgAuthorizeService + (*MsgAuthorizeServiceResponse)(nil), // 5: did.v1.MsgAuthorizeServiceResponse + (*MsgRegisterService)(nil), // 6: did.v1.MsgRegisterService + (*MsgRegisterServiceResponse)(nil), // 7: did.v1.MsgRegisterServiceResponse + (*MsgUpdateParams)(nil), // 8: did.v1.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 9: did.v1.MsgUpdateParamsResponse + nil, // 10: did.v1.MsgRegisterControllerResponse.AccountsEntry + nil, // 11: did.v1.MsgAuthorizeService.PermissionsEntry + (*Service)(nil), // 12: did.v1.Service + (*Params)(nil), // 13: did.v1.Params } var file_did_v1_tx_proto_depIdxs = []int32{ - 15, // 0: did.v1.MsgUpdateParams.params:type_name -> did.v1.Params - 14, // 1: did.v1.MsgRegisterControllerResponse.accounts:type_name -> did.v1.MsgRegisterControllerResponse.AccountsEntry - 16, // 2: did.v1.MsgAuthorizeService.scopes:type_name -> did.v1.Permissions - 17, // 3: did.v1.MsgRegisterService.service:type_name -> did.v1.Service - 0, // 4: did.v1.Msg.UpdateParams:input_type -> did.v1.MsgUpdateParams - 10, // 5: did.v1.Msg.AuthorizeService:input_type -> did.v1.MsgAuthorizeService - 2, // 6: did.v1.Msg.AllocateVault:input_type -> did.v1.MsgAllocateVault - 6, // 7: did.v1.Msg.SyncController:input_type -> did.v1.MsgSyncController - 8, // 8: did.v1.Msg.RegisterController:input_type -> did.v1.MsgRegisterController - 12, // 9: did.v1.Msg.RegisterService:input_type -> did.v1.MsgRegisterService - 1, // 10: did.v1.Msg.UpdateParams:output_type -> did.v1.MsgUpdateParamsResponse - 11, // 11: did.v1.Msg.AuthorizeService:output_type -> did.v1.MsgAuthorizeServiceResponse - 3, // 12: did.v1.Msg.AllocateVault:output_type -> did.v1.MsgAllocateVaultResponse - 7, // 13: did.v1.Msg.SyncController:output_type -> did.v1.MsgSyncControllerResponse - 9, // 14: did.v1.Msg.RegisterController:output_type -> did.v1.MsgRegisterControllerResponse - 13, // 15: did.v1.Msg.RegisterService:output_type -> did.v1.MsgRegisterServiceResponse - 10, // [10:16] is the sub-list for method output_type - 4, // [4:10] is the sub-list for method input_type + 10, // 0: did.v1.MsgRegisterControllerResponse.accounts:type_name -> did.v1.MsgRegisterControllerResponse.AccountsEntry + 11, // 1: did.v1.MsgAuthorizeService.permissions:type_name -> did.v1.MsgAuthorizeService.PermissionsEntry + 12, // 2: did.v1.MsgRegisterService.service:type_name -> did.v1.Service + 13, // 3: did.v1.MsgUpdateParams.params:type_name -> did.v1.Params + 8, // 4: did.v1.Msg.UpdateParams:input_type -> did.v1.MsgUpdateParams + 4, // 5: did.v1.Msg.AuthorizeService:input_type -> did.v1.MsgAuthorizeService + 0, // 6: did.v1.Msg.AllocateVault:input_type -> did.v1.MsgAllocateVault + 2, // 7: did.v1.Msg.RegisterController:input_type -> did.v1.MsgRegisterController + 6, // 8: did.v1.Msg.RegisterService:input_type -> did.v1.MsgRegisterService + 9, // 9: did.v1.Msg.UpdateParams:output_type -> did.v1.MsgUpdateParamsResponse + 5, // 10: did.v1.Msg.AuthorizeService:output_type -> did.v1.MsgAuthorizeServiceResponse + 1, // 11: did.v1.Msg.AllocateVault:output_type -> did.v1.MsgAllocateVaultResponse + 3, // 12: did.v1.Msg.RegisterController:output_type -> did.v1.MsgRegisterControllerResponse + 7, // 13: did.v1.Msg.RegisterService:output_type -> did.v1.MsgRegisterServiceResponse + 9, // [9:14] is the sub-list for method output_type + 4, // [4:9] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name -var file_did_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_did_v1_tx_proto_goTypes = []interface{}{ - (*MsgUpdateParams)(nil), // 0: did.v1.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 1: did.v1.MsgUpdateParamsResponse - (*MsgAuthenticate)(nil), // 2: did.v1.MsgAuthenticate - (*MsgAuthenticateResponse)(nil), // 3: did.v1.MsgAuthenticateResponse - (*MsgProveWitness)(nil), // 4: did.v1.MsgProveWitness - (*MsgProveWitnessResponse)(nil), // 5: did.v1.MsgProveWitnessResponse - (*MsgSyncVault)(nil), // 6: did.v1.MsgSyncVault - (*MsgSyncVaultResponse)(nil), // 7: did.v1.MsgSyncVaultResponse - (*MsgRegisterController)(nil), // 8: did.v1.MsgRegisterController - (*MsgRegisterControllerResponse)(nil), // 9: did.v1.MsgRegisterControllerResponse - (*MsgRegisterService)(nil), // 10: did.v1.MsgRegisterService - (*MsgRegisterServiceResponse)(nil), // 11: did.v1.MsgRegisterServiceResponse - nil, // 12: did.v1.MsgRegisterControllerResponse.AccountsEntry - (*Params)(nil), // 13: did.v1.Params - (PermissionScope)(0), // 14: did.v1.PermissionScope -} -var file_did_v1_tx_proto_depIdxs = []int32{ - 13, // 0: did.v1.MsgUpdateParams.params:type_name -> did.v1.Params - 12, // 1: did.v1.MsgRegisterControllerResponse.accounts:type_name -> did.v1.MsgRegisterControllerResponse.AccountsEntry - 14, // 2: did.v1.MsgRegisterService.scopes:type_name -> did.v1.PermissionScope - 0, // 3: did.v1.Msg.UpdateParams:input_type -> did.v1.MsgUpdateParams - 2, // 4: did.v1.Msg.Authenticate:input_type -> did.v1.MsgAuthenticate - 4, // 5: did.v1.Msg.ProveWitness:input_type -> did.v1.MsgProveWitness - 6, // 6: did.v1.Msg.SyncVault:input_type -> did.v1.MsgSyncVault - 8, // 7: did.v1.Msg.RegisterController:input_type -> did.v1.MsgRegisterController - 10, // 8: did.v1.Msg.RegisterService:input_type -> did.v1.MsgRegisterService - 1, // 9: did.v1.Msg.UpdateParams:output_type -> did.v1.MsgUpdateParamsResponse - 3, // 10: did.v1.Msg.Authenticate:output_type -> did.v1.MsgAuthenticateResponse - 5, // 11: did.v1.Msg.ProveWitness:output_type -> did.v1.MsgProveWitnessResponse - 7, // 12: did.v1.Msg.SyncVault:output_type -> did.v1.MsgSyncVaultResponse - 9, // 13: did.v1.Msg.RegisterController:output_type -> did.v1.MsgRegisterControllerResponse - 11, // 14: did.v1.Msg.RegisterService:output_type -> did.v1.MsgRegisterServiceResponse - 9, // [9:15] is the sub-list for method output_type - 3, // [3:9] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name } func init() { file_did_v1_tx_proto_init() } @@ -13730,12 +6672,10 @@ func file_did_v1_tx_proto_init() { if File_did_v1_tx_proto != nil { return } - file_did_v1_enums_proto_init() file_did_v1_genesis_proto_init() - file_did_v1_models_proto_init() if !protoimpl.UnsafeEnabled { file_did_v1_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateParams); i { + switch v := v.(*MsgAllocateVault); i { case 0: return &v.state case 1: @@ -13747,7 +6687,7 @@ func file_did_v1_tx_proto_init() { } } file_did_v1_tx_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateParamsResponse); i { + switch v := v.(*MsgAllocateVaultResponse); i { case 0: return &v.state case 1: @@ -13759,82 +6699,6 @@ func file_did_v1_tx_proto_init() { } } file_did_v1_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAllocateVault); i { - switch v := v.(*MsgAuthenticate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAllocateVaultResponse); i { - switch v := v.(*MsgAuthenticateResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProveWitness); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_tx_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProveWitnessResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSyncController); i { - switch v := v.(*MsgSyncVault); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSyncControllerResponse); i { - switch v := v.(*MsgSyncVaultResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRegisterController); i { case 0: return &v.state @@ -13846,7 +6710,7 @@ func file_did_v1_tx_proto_init() { return nil } } - file_did_v1_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_did_v1_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRegisterControllerResponse); i { case 0: return &v.state @@ -13858,7 +6722,7 @@ func file_did_v1_tx_proto_init() { return nil } } - file_did_v1_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_did_v1_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAuthorizeService); i { case 0: return &v.state @@ -13870,7 +6734,7 @@ func file_did_v1_tx_proto_init() { return nil } } - file_did_v1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_did_v1_tx_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAuthorizeServiceResponse); i { case 0: return &v.state @@ -13882,7 +6746,7 @@ func file_did_v1_tx_proto_init() { return nil } } - file_did_v1_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_did_v1_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRegisterService); i { case 0: return &v.state @@ -13894,8 +6758,7 @@ func file_did_v1_tx_proto_init() { return nil } } - file_did_v1_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - file_did_v1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_did_v1_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRegisterServiceResponse); i { case 0: return &v.state @@ -13907,6 +6770,30 @@ func file_did_v1_tx_proto_init() { return nil } } + file_did_v1_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_did_v1_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParamsResponse); 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{ @@ -13914,8 +6801,7 @@ func file_did_v1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_did_v1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 15, - NumMessages: 13, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, diff --git a/api/did/v1/tx_grpc.pb.go b/api/did/v1/tx_grpc.pb.go index bde78d883..8ce8e0729 100644 --- a/api/did/v1/tx_grpc.pb.go +++ b/api/did/v1/tx_grpc.pb.go @@ -22,10 +22,6 @@ const ( Msg_UpdateParams_FullMethodName = "/did.v1.Msg/UpdateParams" Msg_AuthorizeService_FullMethodName = "/did.v1.Msg/AuthorizeService" Msg_AllocateVault_FullMethodName = "/did.v1.Msg/AllocateVault" - Msg_SyncController_FullMethodName = "/did.v1.Msg/SyncController" - Msg_Authenticate_FullMethodName = "/did.v1.Msg/Authenticate" - Msg_ProveWitness_FullMethodName = "/did.v1.Msg/ProveWitness" - Msg_SyncVault_FullMethodName = "/did.v1.Msg/SyncVault" Msg_RegisterController_FullMethodName = "/did.v1.Msg/RegisterController" Msg_RegisterService_FullMethodName = "/did.v1.Msg/RegisterService" ) @@ -43,14 +39,6 @@ type MsgClient interface { // AllocateVault assembles a sqlite3 database in a local directory and returns the CID of the database. // this operation is called by services initiating a controller registration. AllocateVault(ctx context.Context, in *MsgAllocateVault, opts ...grpc.CallOption) (*MsgAllocateVaultResponse, error) - // SyncController synchronizes the controller with the Vault Motr DWN WASM Wallet. - SyncController(ctx context.Context, in *MsgSyncController, opts ...grpc.CallOption) (*MsgSyncControllerResponse, error) - // Authenticate asserts the given controller is the owner of the given address. - Authenticate(ctx context.Context, in *MsgAuthenticate, opts ...grpc.CallOption) (*MsgAuthenticateResponse, error) - // ProveWitness is an operation to prove the controller has a valid property using ZK Accumulators. - ProveWitness(ctx context.Context, in *MsgProveWitness, opts ...grpc.CallOption) (*MsgProveWitnessResponse, error) - // SyncVault synchronizes the controller with the Vault Motr DWN WASM Wallet. - SyncVault(ctx context.Context, in *MsgSyncVault, opts ...grpc.CallOption) (*MsgSyncVaultResponse, error) // RegisterController initializes a controller with the given authentication set, address, cid, publicKey, and user-defined alias. RegisterController(ctx context.Context, in *MsgRegisterController, opts ...grpc.CallOption) (*MsgRegisterControllerResponse, error) // RegisterService initializes a Service with a given permission scope and URI. The domain must have a valid TXT record containing the public key. @@ -77,9 +65,6 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts func (c *msgClient) AuthorizeService(ctx context.Context, in *MsgAuthorizeService, opts ...grpc.CallOption) (*MsgAuthorizeServiceResponse, error) { out := new(MsgAuthorizeServiceResponse) err := c.cc.Invoke(ctx, Msg_AuthorizeService_FullMethodName, in, out, opts...) -func (c *msgClient) Authenticate(ctx context.Context, in *MsgAuthenticate, opts ...grpc.CallOption) (*MsgAuthenticateResponse, error) { - out := new(MsgAuthenticateResponse) - err := c.cc.Invoke(ctx, Msg_Authenticate_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -89,21 +74,6 @@ func (c *msgClient) Authenticate(ctx context.Context, in *MsgAuthenticate, opts func (c *msgClient) AllocateVault(ctx context.Context, in *MsgAllocateVault, opts ...grpc.CallOption) (*MsgAllocateVaultResponse, error) { out := new(MsgAllocateVaultResponse) err := c.cc.Invoke(ctx, Msg_AllocateVault_FullMethodName, in, out, opts...) -func (c *msgClient) ProveWitness(ctx context.Context, in *MsgProveWitness, opts ...grpc.CallOption) (*MsgProveWitnessResponse, error) { - out := new(MsgProveWitnessResponse) - err := c.cc.Invoke(ctx, Msg_ProveWitness_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) SyncController(ctx context.Context, in *MsgSyncController, opts ...grpc.CallOption) (*MsgSyncControllerResponse, error) { - out := new(MsgSyncControllerResponse) - err := c.cc.Invoke(ctx, Msg_SyncController_FullMethodName, in, out, opts...) -func (c *msgClient) SyncVault(ctx context.Context, in *MsgSyncVault, opts ...grpc.CallOption) (*MsgSyncVaultResponse, error) { - out := new(MsgSyncVaultResponse) - err := c.cc.Invoke(ctx, Msg_SyncVault_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -141,14 +111,6 @@ type MsgServer interface { // AllocateVault assembles a sqlite3 database in a local directory and returns the CID of the database. // this operation is called by services initiating a controller registration. AllocateVault(context.Context, *MsgAllocateVault) (*MsgAllocateVaultResponse, error) - // SyncController synchronizes the controller with the Vault Motr DWN WASM Wallet. - SyncController(context.Context, *MsgSyncController) (*MsgSyncControllerResponse, error) - // Authenticate asserts the given controller is the owner of the given address. - Authenticate(context.Context, *MsgAuthenticate) (*MsgAuthenticateResponse, error) - // ProveWitness is an operation to prove the controller has a valid property using ZK Accumulators. - ProveWitness(context.Context, *MsgProveWitness) (*MsgProveWitnessResponse, error) - // SyncVault synchronizes the controller with the Vault Motr DWN WASM Wallet. - SyncVault(context.Context, *MsgSyncVault) (*MsgSyncVaultResponse, error) // RegisterController initializes a controller with the given authentication set, address, cid, publicKey, and user-defined alias. RegisterController(context.Context, *MsgRegisterController) (*MsgRegisterControllerResponse, error) // RegisterService initializes a Service with a given permission scope and URI. The domain must have a valid TXT record containing the public key. @@ -169,17 +131,6 @@ func (UnimplementedMsgServer) AuthorizeService(context.Context, *MsgAuthorizeSer func (UnimplementedMsgServer) AllocateVault(context.Context, *MsgAllocateVault) (*MsgAllocateVaultResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AllocateVault not implemented") } -func (UnimplementedMsgServer) SyncController(context.Context, *MsgSyncController) (*MsgSyncControllerResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SyncController not implemented") -func (UnimplementedMsgServer) Authenticate(context.Context, *MsgAuthenticate) (*MsgAuthenticateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Authenticate not implemented") -} -func (UnimplementedMsgServer) ProveWitness(context.Context, *MsgProveWitness) (*MsgProveWitnessResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProveWitness not implemented") -} -func (UnimplementedMsgServer) SyncVault(context.Context, *MsgSyncVault) (*MsgSyncVaultResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SyncVault not implemented") -} func (UnimplementedMsgServer) RegisterController(context.Context, *MsgRegisterController) (*MsgRegisterControllerResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RegisterController not implemented") } @@ -219,8 +170,6 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in func _Msg_AuthorizeService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgAuthorizeService) -func _Msg_Authenticate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAuthenticate) if err := dec(in); err != nil { return nil, err } @@ -233,22 +182,12 @@ func _Msg_Authenticate_Handler(srv interface{}, ctx context.Context, dec func(in } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(MsgServer).AuthorizeService(ctx, req.(*MsgAuthorizeService)) - return srv.(MsgServer).Authenticate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_Authenticate_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).Authenticate(ctx, req.(*MsgAuthenticate)) } return interceptor(ctx, in, info, handler) } func _Msg_AllocateVault_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgAllocateVault) -func _Msg_ProveWitness_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgProveWitness) if err := dec(in); err != nil { return nil, err } @@ -261,42 +200,6 @@ func _Msg_ProveWitness_Handler(srv interface{}, ctx context.Context, dec func(in } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(MsgServer).AllocateVault(ctx, req.(*MsgAllocateVault)) - return srv.(MsgServer).ProveWitness(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_ProveWitness_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ProveWitness(ctx, req.(*MsgProveWitness)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_SyncController_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSyncController) -func _Msg_SyncVault_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSyncVault) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SyncController(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_SyncController_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SyncController(ctx, req.(*MsgSyncController)) - return srv.(MsgServer).SyncVault(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_SyncVault_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SyncVault(ctx, req.(*MsgSyncVault)) } return interceptor(ctx, in, info, handler) } @@ -356,20 +259,6 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "AllocateVault", Handler: _Msg_AllocateVault_Handler, }, - { - MethodName: "SyncController", - Handler: _Msg_SyncController_Handler, - MethodName: "Authenticate", - Handler: _Msg_Authenticate_Handler, - }, - { - MethodName: "ProveWitness", - Handler: _Msg_ProveWitness_Handler, - }, - { - MethodName: "SyncVault", - Handler: _Msg_SyncVault_Handler, - }, { MethodName: "RegisterController", Handler: _Msg_RegisterController_Handler, diff --git a/api/did/v1/types.pulsar.go b/api/did/v1/types.pulsar.go deleted file mode 100644 index ba114c7ab..000000000 --- a/api/did/v1/types.pulsar.go +++ /dev/null @@ -1,9390 +0,0 @@ -// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. -package didv1 - -import ( - _ "cosmossdk.io/api/cosmos/msg/v1" - binary "encoding/binary" - fmt "fmt" - _ "github.com/cosmos/cosmos-proto" - runtime "github.com/cosmos/cosmos-proto/runtime" - _ "github.com/cosmos/gogoproto/gogoproto" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoiface "google.golang.org/protobuf/runtime/protoiface" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - math "math" - reflect "reflect" - sort "sort" - sync "sync" -) - -var ( - md_AssetInfo protoreflect.MessageDescriptor - fd_AssetInfo_id protoreflect.FieldDescriptor - fd_AssetInfo_denom protoreflect.FieldDescriptor - fd_AssetInfo_symbol protoreflect.FieldDescriptor - fd_AssetInfo_asset_type protoreflect.FieldDescriptor - fd_AssetInfo_origin_chain protoreflect.FieldDescriptor - fd_AssetInfo_origin_denom protoreflect.FieldDescriptor - fd_AssetInfo_decimals protoreflect.FieldDescriptor - fd_AssetInfo_description protoreflect.FieldDescriptor - fd_AssetInfo_image_url protoreflect.FieldDescriptor - fd_AssetInfo_coingecko_id protoreflect.FieldDescriptor - fd_AssetInfo_is_enabled protoreflect.FieldDescriptor - fd_AssetInfo_ibc_path protoreflect.FieldDescriptor - fd_AssetInfo_ibc_channel protoreflect.FieldDescriptor - fd_AssetInfo_ibc_port protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_AssetInfo = File_did_v1_types_proto.Messages().ByName("AssetInfo") - fd_AssetInfo_id = md_AssetInfo.Fields().ByName("id") - fd_AssetInfo_denom = md_AssetInfo.Fields().ByName("denom") - fd_AssetInfo_symbol = md_AssetInfo.Fields().ByName("symbol") - fd_AssetInfo_asset_type = md_AssetInfo.Fields().ByName("asset_type") - fd_AssetInfo_origin_chain = md_AssetInfo.Fields().ByName("origin_chain") - fd_AssetInfo_origin_denom = md_AssetInfo.Fields().ByName("origin_denom") - fd_AssetInfo_decimals = md_AssetInfo.Fields().ByName("decimals") - fd_AssetInfo_description = md_AssetInfo.Fields().ByName("description") - fd_AssetInfo_image_url = md_AssetInfo.Fields().ByName("image_url") - fd_AssetInfo_coingecko_id = md_AssetInfo.Fields().ByName("coingecko_id") - fd_AssetInfo_is_enabled = md_AssetInfo.Fields().ByName("is_enabled") - fd_AssetInfo_ibc_path = md_AssetInfo.Fields().ByName("ibc_path") - fd_AssetInfo_ibc_channel = md_AssetInfo.Fields().ByName("ibc_channel") - fd_AssetInfo_ibc_port = md_AssetInfo.Fields().ByName("ibc_port") -} - -var _ protoreflect.Message = (*fastReflection_AssetInfo)(nil) - -type fastReflection_AssetInfo AssetInfo - -func (x *AssetInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_AssetInfo)(x) -} - -func (x *AssetInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_AssetInfo_messageType fastReflection_AssetInfo_messageType -var _ protoreflect.MessageType = fastReflection_AssetInfo_messageType{} - -type fastReflection_AssetInfo_messageType struct{} - -func (x fastReflection_AssetInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_AssetInfo)(nil) -} -func (x fastReflection_AssetInfo_messageType) New() protoreflect.Message { - return new(fastReflection_AssetInfo) -} -func (x fastReflection_AssetInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_AssetInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_AssetInfo) Descriptor() protoreflect.MessageDescriptor { - return md_AssetInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_AssetInfo) Type() protoreflect.MessageType { - return _fastReflection_AssetInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_AssetInfo) New() protoreflect.Message { - return new(fastReflection_AssetInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_AssetInfo) Interface() protoreflect.ProtoMessage { - return (*AssetInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_AssetInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_AssetInfo_id, value) { - return - } - } - if x.Denom != "" { - value := protoreflect.ValueOfString(x.Denom) - if !f(fd_AssetInfo_denom, value) { - return - } - } - if x.Symbol != "" { - value := protoreflect.ValueOfString(x.Symbol) - if !f(fd_AssetInfo_symbol, value) { - return - } - } - if x.AssetType != "" { - value := protoreflect.ValueOfString(x.AssetType) - if !f(fd_AssetInfo_asset_type, value) { - return - } - } - if x.OriginChain != "" { - value := protoreflect.ValueOfString(x.OriginChain) - if !f(fd_AssetInfo_origin_chain, value) { - return - } - } - if x.OriginDenom != "" { - value := protoreflect.ValueOfString(x.OriginDenom) - if !f(fd_AssetInfo_origin_denom, value) { - return - } - } - if x.Decimals != int32(0) { - value := protoreflect.ValueOfInt32(x.Decimals) - if !f(fd_AssetInfo_decimals, value) { - return - } - } - if x.Description != "" { - value := protoreflect.ValueOfString(x.Description) - if !f(fd_AssetInfo_description, value) { - return - } - } - if x.ImageUrl != "" { - value := protoreflect.ValueOfString(x.ImageUrl) - if !f(fd_AssetInfo_image_url, value) { - return - } - } - if x.CoingeckoId != "" { - value := protoreflect.ValueOfString(x.CoingeckoId) - if !f(fd_AssetInfo_coingecko_id, value) { - return - } - } - if x.IsEnabled != false { - value := protoreflect.ValueOfBool(x.IsEnabled) - if !f(fd_AssetInfo_is_enabled, value) { - return - } - } - if x.IbcPath != "" { - value := protoreflect.ValueOfString(x.IbcPath) - if !f(fd_AssetInfo_ibc_path, value) { - return - } - } - if x.IbcChannel != "" { - value := protoreflect.ValueOfString(x.IbcChannel) - if !f(fd_AssetInfo_ibc_channel, value) { - return - } - } - if x.IbcPort != "" { - value := protoreflect.ValueOfString(x.IbcPort) - if !f(fd_AssetInfo_ibc_port, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_AssetInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.AssetInfo.id": - return x.Id != "" - case "did.v1.AssetInfo.denom": - return x.Denom != "" - case "did.v1.AssetInfo.symbol": - return x.Symbol != "" - case "did.v1.AssetInfo.asset_type": - return x.AssetType != "" - case "did.v1.AssetInfo.origin_chain": - return x.OriginChain != "" - case "did.v1.AssetInfo.origin_denom": - return x.OriginDenom != "" - case "did.v1.AssetInfo.decimals": - return x.Decimals != int32(0) - case "did.v1.AssetInfo.description": - return x.Description != "" - case "did.v1.AssetInfo.image_url": - return x.ImageUrl != "" - case "did.v1.AssetInfo.coingecko_id": - return x.CoingeckoId != "" - case "did.v1.AssetInfo.is_enabled": - return x.IsEnabled != false - case "did.v1.AssetInfo.ibc_path": - return x.IbcPath != "" - case "did.v1.AssetInfo.ibc_channel": - return x.IbcChannel != "" - case "did.v1.AssetInfo.ibc_port": - return x.IbcPort != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.AssetInfo")) - } - panic(fmt.Errorf("message did.v1.AssetInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AssetInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.AssetInfo.id": - x.Id = "" - case "did.v1.AssetInfo.denom": - x.Denom = "" - case "did.v1.AssetInfo.symbol": - x.Symbol = "" - case "did.v1.AssetInfo.asset_type": - x.AssetType = "" - case "did.v1.AssetInfo.origin_chain": - x.OriginChain = "" - case "did.v1.AssetInfo.origin_denom": - x.OriginDenom = "" - case "did.v1.AssetInfo.decimals": - x.Decimals = int32(0) - case "did.v1.AssetInfo.description": - x.Description = "" - case "did.v1.AssetInfo.image_url": - x.ImageUrl = "" - case "did.v1.AssetInfo.coingecko_id": - x.CoingeckoId = "" - case "did.v1.AssetInfo.is_enabled": - x.IsEnabled = false - case "did.v1.AssetInfo.ibc_path": - x.IbcPath = "" - case "did.v1.AssetInfo.ibc_channel": - x.IbcChannel = "" - case "did.v1.AssetInfo.ibc_port": - x.IbcPort = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.AssetInfo")) - } - panic(fmt.Errorf("message did.v1.AssetInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_AssetInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.AssetInfo.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.denom": - value := x.Denom - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.symbol": - value := x.Symbol - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.asset_type": - value := x.AssetType - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.origin_chain": - value := x.OriginChain - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.origin_denom": - value := x.OriginDenom - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.decimals": - value := x.Decimals - return protoreflect.ValueOfInt32(value) - case "did.v1.AssetInfo.description": - value := x.Description - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.image_url": - value := x.ImageUrl - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.coingecko_id": - value := x.CoingeckoId - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.is_enabled": - value := x.IsEnabled - return protoreflect.ValueOfBool(value) - case "did.v1.AssetInfo.ibc_path": - value := x.IbcPath - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.ibc_channel": - value := x.IbcChannel - return protoreflect.ValueOfString(value) - case "did.v1.AssetInfo.ibc_port": - value := x.IbcPort - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.AssetInfo")) - } - panic(fmt.Errorf("message did.v1.AssetInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AssetInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.AssetInfo.id": - x.Id = value.Interface().(string) - case "did.v1.AssetInfo.denom": - x.Denom = value.Interface().(string) - case "did.v1.AssetInfo.symbol": - x.Symbol = value.Interface().(string) - case "did.v1.AssetInfo.asset_type": - x.AssetType = value.Interface().(string) - case "did.v1.AssetInfo.origin_chain": - x.OriginChain = value.Interface().(string) - case "did.v1.AssetInfo.origin_denom": - x.OriginDenom = value.Interface().(string) - case "did.v1.AssetInfo.decimals": - x.Decimals = int32(value.Int()) - case "did.v1.AssetInfo.description": - x.Description = value.Interface().(string) - case "did.v1.AssetInfo.image_url": - x.ImageUrl = value.Interface().(string) - case "did.v1.AssetInfo.coingecko_id": - x.CoingeckoId = value.Interface().(string) - case "did.v1.AssetInfo.is_enabled": - x.IsEnabled = value.Bool() - case "did.v1.AssetInfo.ibc_path": - x.IbcPath = value.Interface().(string) - case "did.v1.AssetInfo.ibc_channel": - x.IbcChannel = value.Interface().(string) - case "did.v1.AssetInfo.ibc_port": - x.IbcPort = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.AssetInfo")) - } - panic(fmt.Errorf("message did.v1.AssetInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AssetInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.AssetInfo.id": - panic(fmt.Errorf("field id of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.denom": - panic(fmt.Errorf("field denom of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.symbol": - panic(fmt.Errorf("field symbol of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.asset_type": - panic(fmt.Errorf("field asset_type of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.origin_chain": - panic(fmt.Errorf("field origin_chain of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.origin_denom": - panic(fmt.Errorf("field origin_denom of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.decimals": - panic(fmt.Errorf("field decimals of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.description": - panic(fmt.Errorf("field description of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.image_url": - panic(fmt.Errorf("field image_url of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.coingecko_id": - panic(fmt.Errorf("field coingecko_id of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.is_enabled": - panic(fmt.Errorf("field is_enabled of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.ibc_path": - panic(fmt.Errorf("field ibc_path of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.ibc_channel": - panic(fmt.Errorf("field ibc_channel of message did.v1.AssetInfo is not mutable")) - case "did.v1.AssetInfo.ibc_port": - panic(fmt.Errorf("field ibc_port of message did.v1.AssetInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.AssetInfo")) - } - panic(fmt.Errorf("message did.v1.AssetInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_AssetInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.AssetInfo.id": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.denom": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.symbol": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.asset_type": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.origin_chain": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.origin_denom": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.decimals": - return protoreflect.ValueOfInt32(int32(0)) - case "did.v1.AssetInfo.description": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.image_url": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.coingecko_id": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.is_enabled": - return protoreflect.ValueOfBool(false) - case "did.v1.AssetInfo.ibc_path": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.ibc_channel": - return protoreflect.ValueOfString("") - case "did.v1.AssetInfo.ibc_port": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.AssetInfo")) - } - panic(fmt.Errorf("message did.v1.AssetInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_AssetInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.AssetInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_AssetInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_AssetInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_AssetInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_AssetInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*AssetInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Denom) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Symbol) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.AssetType) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.OriginChain) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.OriginDenom) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Decimals != 0 { - n += 1 + runtime.Sov(uint64(x.Decimals)) - } - l = len(x.Description) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ImageUrl) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.CoingeckoId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.IsEnabled { - n += 2 - } - l = len(x.IbcPath) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.IbcChannel) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.IbcPort) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*AssetInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.IbcPort) > 0 { - i -= len(x.IbcPort) - copy(dAtA[i:], x.IbcPort) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.IbcPort))) - i-- - dAtA[i] = 0x72 - } - if len(x.IbcChannel) > 0 { - i -= len(x.IbcChannel) - copy(dAtA[i:], x.IbcChannel) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.IbcChannel))) - i-- - dAtA[i] = 0x6a - } - if len(x.IbcPath) > 0 { - i -= len(x.IbcPath) - copy(dAtA[i:], x.IbcPath) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.IbcPath))) - i-- - dAtA[i] = 0x62 - } - if x.IsEnabled { - i-- - if x.IsEnabled { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x58 - } - if len(x.CoingeckoId) > 0 { - i -= len(x.CoingeckoId) - copy(dAtA[i:], x.CoingeckoId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CoingeckoId))) - i-- - dAtA[i] = 0x52 - } - if len(x.ImageUrl) > 0 { - i -= len(x.ImageUrl) - copy(dAtA[i:], x.ImageUrl) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ImageUrl))) - i-- - dAtA[i] = 0x4a - } - if len(x.Description) > 0 { - i -= len(x.Description) - copy(dAtA[i:], x.Description) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Description))) - i-- - dAtA[i] = 0x42 - } - if x.Decimals != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Decimals)) - i-- - dAtA[i] = 0x38 - } - if len(x.OriginDenom) > 0 { - i -= len(x.OriginDenom) - copy(dAtA[i:], x.OriginDenom) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.OriginDenom))) - i-- - dAtA[i] = 0x32 - } - if len(x.OriginChain) > 0 { - i -= len(x.OriginChain) - copy(dAtA[i:], x.OriginChain) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.OriginChain))) - i-- - dAtA[i] = 0x2a - } - if len(x.AssetType) > 0 { - i -= len(x.AssetType) - copy(dAtA[i:], x.AssetType) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AssetType))) - i-- - dAtA[i] = 0x22 - } - if len(x.Symbol) > 0 { - i -= len(x.Symbol) - copy(dAtA[i:], x.Symbol) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Symbol))) - i-- - dAtA[i] = 0x1a - } - if len(x.Denom) > 0 { - i -= len(x.Denom) - copy(dAtA[i:], x.Denom) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Denom))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*AssetInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AssetInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AssetInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Denom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Symbol", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Symbol = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AssetType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.AssetType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OriginChain", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.OriginChain = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OriginDenom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.OriginDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Decimals", wireType) - } - x.Decimals = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Decimals |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 9: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ImageUrl", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.ImageUrl = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 10: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CoingeckoId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CoingeckoId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 11: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IsEnabled", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.IsEnabled = bool(v != 0) - case 12: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IbcPath", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.IbcPath = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 13: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IbcChannel", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.IbcChannel = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 14: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IbcPort", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.IbcPort = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_ChainInfo_7_list)(nil) - -type _ChainInfo_7_list struct { - list *[]*Endpoint -} - -func (x *_ChainInfo_7_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_ChainInfo_7_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_ChainInfo_7_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Endpoint) - (*x.list)[i] = concreteValue -} - -func (x *_ChainInfo_7_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Endpoint) - *x.list = append(*x.list, concreteValue) -} - -func (x *_ChainInfo_7_list) AppendMutable() protoreflect.Value { - v := new(Endpoint) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ChainInfo_7_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_ChainInfo_7_list) NewElement() protoreflect.Value { - v := new(Endpoint) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ChainInfo_7_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_ChainInfo_8_list)(nil) - -type _ChainInfo_8_list struct { - list *[]*Endpoint -} - -func (x *_ChainInfo_8_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_ChainInfo_8_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_ChainInfo_8_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Endpoint) - (*x.list)[i] = concreteValue -} - -func (x *_ChainInfo_8_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Endpoint) - *x.list = append(*x.list, concreteValue) -} - -func (x *_ChainInfo_8_list) AppendMutable() protoreflect.Value { - v := new(Endpoint) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ChainInfo_8_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_ChainInfo_8_list) NewElement() protoreflect.Value { - v := new(Endpoint) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_ChainInfo_8_list) IsValid() bool { - return x.list != nil -} - -var ( - md_ChainInfo protoreflect.MessageDescriptor - fd_ChainInfo_id protoreflect.FieldDescriptor - fd_ChainInfo_chain_id protoreflect.FieldDescriptor - fd_ChainInfo_name protoreflect.FieldDescriptor - fd_ChainInfo_symbol protoreflect.FieldDescriptor - fd_ChainInfo_bech32_prefix protoreflect.FieldDescriptor - fd_ChainInfo_genesis_time protoreflect.FieldDescriptor - fd_ChainInfo_grpc_endpoints protoreflect.FieldDescriptor - fd_ChainInfo_rest_endpoints protoreflect.FieldDescriptor - fd_ChainInfo_explorer protoreflect.FieldDescriptor - fd_ChainInfo_fee_info protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_ChainInfo = File_did_v1_types_proto.Messages().ByName("ChainInfo") - fd_ChainInfo_id = md_ChainInfo.Fields().ByName("id") - fd_ChainInfo_chain_id = md_ChainInfo.Fields().ByName("chain_id") - fd_ChainInfo_name = md_ChainInfo.Fields().ByName("name") - fd_ChainInfo_symbol = md_ChainInfo.Fields().ByName("symbol") - fd_ChainInfo_bech32_prefix = md_ChainInfo.Fields().ByName("bech32_prefix") - fd_ChainInfo_genesis_time = md_ChainInfo.Fields().ByName("genesis_time") - fd_ChainInfo_grpc_endpoints = md_ChainInfo.Fields().ByName("grpc_endpoints") - fd_ChainInfo_rest_endpoints = md_ChainInfo.Fields().ByName("rest_endpoints") - fd_ChainInfo_explorer = md_ChainInfo.Fields().ByName("explorer") - fd_ChainInfo_fee_info = md_ChainInfo.Fields().ByName("fee_info") -} - -var _ protoreflect.Message = (*fastReflection_ChainInfo)(nil) - -type fastReflection_ChainInfo ChainInfo - -func (x *ChainInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_ChainInfo)(x) -} - -func (x *ChainInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_ChainInfo_messageType fastReflection_ChainInfo_messageType -var _ protoreflect.MessageType = fastReflection_ChainInfo_messageType{} - -type fastReflection_ChainInfo_messageType struct{} - -func (x fastReflection_ChainInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_ChainInfo)(nil) -} -func (x fastReflection_ChainInfo_messageType) New() protoreflect.Message { - return new(fastReflection_ChainInfo) -} -func (x fastReflection_ChainInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ChainInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ChainInfo) Descriptor() protoreflect.MessageDescriptor { - return md_ChainInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ChainInfo) Type() protoreflect.MessageType { - return _fastReflection_ChainInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ChainInfo) New() protoreflect.Message { - return new(fastReflection_ChainInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ChainInfo) Interface() protoreflect.ProtoMessage { - return (*ChainInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ChainInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_ChainInfo_id, value) { - return - } - } - if x.ChainId != "" { - value := protoreflect.ValueOfString(x.ChainId) - if !f(fd_ChainInfo_chain_id, value) { - return - } - } - if x.Name != "" { - value := protoreflect.ValueOfString(x.Name) - if !f(fd_ChainInfo_name, value) { - return - } - } - if x.Symbol != "" { - value := protoreflect.ValueOfString(x.Symbol) - if !f(fd_ChainInfo_symbol, value) { - return - } - } - if x.Bech32Prefix != "" { - value := protoreflect.ValueOfString(x.Bech32Prefix) - if !f(fd_ChainInfo_bech32_prefix, value) { - return - } - } - if x.GenesisTime != "" { - value := protoreflect.ValueOfString(x.GenesisTime) - if !f(fd_ChainInfo_genesis_time, value) { - return - } - } - if len(x.GrpcEndpoints) != 0 { - value := protoreflect.ValueOfList(&_ChainInfo_7_list{list: &x.GrpcEndpoints}) - if !f(fd_ChainInfo_grpc_endpoints, value) { - return - } - } - if len(x.RestEndpoints) != 0 { - value := protoreflect.ValueOfList(&_ChainInfo_8_list{list: &x.RestEndpoints}) - if !f(fd_ChainInfo_rest_endpoints, value) { - return - } - } - if x.Explorer != nil { - value := protoreflect.ValueOfMessage(x.Explorer.ProtoReflect()) - if !f(fd_ChainInfo_explorer, value) { - return - } - } - if x.FeeInfo != nil { - value := protoreflect.ValueOfMessage(x.FeeInfo.ProtoReflect()) - if !f(fd_ChainInfo_fee_info, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ChainInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.ChainInfo.id": - return x.Id != "" - case "did.v1.ChainInfo.chain_id": - return x.ChainId != "" - case "did.v1.ChainInfo.name": - return x.Name != "" - case "did.v1.ChainInfo.symbol": - return x.Symbol != "" - case "did.v1.ChainInfo.bech32_prefix": - return x.Bech32Prefix != "" - case "did.v1.ChainInfo.genesis_time": - return x.GenesisTime != "" - case "did.v1.ChainInfo.grpc_endpoints": - return len(x.GrpcEndpoints) != 0 - case "did.v1.ChainInfo.rest_endpoints": - return len(x.RestEndpoints) != 0 - case "did.v1.ChainInfo.explorer": - return x.Explorer != nil - case "did.v1.ChainInfo.fee_info": - return x.FeeInfo != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ChainInfo")) - } - panic(fmt.Errorf("message did.v1.ChainInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ChainInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.ChainInfo.id": - x.Id = "" - case "did.v1.ChainInfo.chain_id": - x.ChainId = "" - case "did.v1.ChainInfo.name": - x.Name = "" - case "did.v1.ChainInfo.symbol": - x.Symbol = "" - case "did.v1.ChainInfo.bech32_prefix": - x.Bech32Prefix = "" - case "did.v1.ChainInfo.genesis_time": - x.GenesisTime = "" - case "did.v1.ChainInfo.grpc_endpoints": - x.GrpcEndpoints = nil - case "did.v1.ChainInfo.rest_endpoints": - x.RestEndpoints = nil - case "did.v1.ChainInfo.explorer": - x.Explorer = nil - case "did.v1.ChainInfo.fee_info": - x.FeeInfo = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ChainInfo")) - } - panic(fmt.Errorf("message did.v1.ChainInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ChainInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.ChainInfo.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.ChainInfo.chain_id": - value := x.ChainId - return protoreflect.ValueOfString(value) - case "did.v1.ChainInfo.name": - value := x.Name - return protoreflect.ValueOfString(value) - case "did.v1.ChainInfo.symbol": - value := x.Symbol - return protoreflect.ValueOfString(value) - case "did.v1.ChainInfo.bech32_prefix": - value := x.Bech32Prefix - return protoreflect.ValueOfString(value) - case "did.v1.ChainInfo.genesis_time": - value := x.GenesisTime - return protoreflect.ValueOfString(value) - case "did.v1.ChainInfo.grpc_endpoints": - if len(x.GrpcEndpoints) == 0 { - return protoreflect.ValueOfList(&_ChainInfo_7_list{}) - } - listValue := &_ChainInfo_7_list{list: &x.GrpcEndpoints} - return protoreflect.ValueOfList(listValue) - case "did.v1.ChainInfo.rest_endpoints": - if len(x.RestEndpoints) == 0 { - return protoreflect.ValueOfList(&_ChainInfo_8_list{}) - } - listValue := &_ChainInfo_8_list{list: &x.RestEndpoints} - return protoreflect.ValueOfList(listValue) - case "did.v1.ChainInfo.explorer": - value := x.Explorer - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "did.v1.ChainInfo.fee_info": - value := x.FeeInfo - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ChainInfo")) - } - panic(fmt.Errorf("message did.v1.ChainInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ChainInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.ChainInfo.id": - x.Id = value.Interface().(string) - case "did.v1.ChainInfo.chain_id": - x.ChainId = value.Interface().(string) - case "did.v1.ChainInfo.name": - x.Name = value.Interface().(string) - case "did.v1.ChainInfo.symbol": - x.Symbol = value.Interface().(string) - case "did.v1.ChainInfo.bech32_prefix": - x.Bech32Prefix = value.Interface().(string) - case "did.v1.ChainInfo.genesis_time": - x.GenesisTime = value.Interface().(string) - case "did.v1.ChainInfo.grpc_endpoints": - lv := value.List() - clv := lv.(*_ChainInfo_7_list) - x.GrpcEndpoints = *clv.list - case "did.v1.ChainInfo.rest_endpoints": - lv := value.List() - clv := lv.(*_ChainInfo_8_list) - x.RestEndpoints = *clv.list - case "did.v1.ChainInfo.explorer": - x.Explorer = value.Message().Interface().(*ExplorerInfo) - case "did.v1.ChainInfo.fee_info": - x.FeeInfo = value.Message().Interface().(*FeeInfo) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ChainInfo")) - } - panic(fmt.Errorf("message did.v1.ChainInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ChainInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ChainInfo.grpc_endpoints": - if x.GrpcEndpoints == nil { - x.GrpcEndpoints = []*Endpoint{} - } - value := &_ChainInfo_7_list{list: &x.GrpcEndpoints} - return protoreflect.ValueOfList(value) - case "did.v1.ChainInfo.rest_endpoints": - if x.RestEndpoints == nil { - x.RestEndpoints = []*Endpoint{} - } - value := &_ChainInfo_8_list{list: &x.RestEndpoints} - return protoreflect.ValueOfList(value) - case "did.v1.ChainInfo.explorer": - if x.Explorer == nil { - x.Explorer = new(ExplorerInfo) - } - return protoreflect.ValueOfMessage(x.Explorer.ProtoReflect()) - case "did.v1.ChainInfo.fee_info": - if x.FeeInfo == nil { - x.FeeInfo = new(FeeInfo) - } - return protoreflect.ValueOfMessage(x.FeeInfo.ProtoReflect()) - case "did.v1.ChainInfo.id": - panic(fmt.Errorf("field id of message did.v1.ChainInfo is not mutable")) - case "did.v1.ChainInfo.chain_id": - panic(fmt.Errorf("field chain_id of message did.v1.ChainInfo is not mutable")) - case "did.v1.ChainInfo.name": - panic(fmt.Errorf("field name of message did.v1.ChainInfo is not mutable")) - case "did.v1.ChainInfo.symbol": - panic(fmt.Errorf("field symbol of message did.v1.ChainInfo is not mutable")) - case "did.v1.ChainInfo.bech32_prefix": - panic(fmt.Errorf("field bech32_prefix of message did.v1.ChainInfo is not mutable")) - case "did.v1.ChainInfo.genesis_time": - panic(fmt.Errorf("field genesis_time of message did.v1.ChainInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ChainInfo")) - } - panic(fmt.Errorf("message did.v1.ChainInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ChainInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ChainInfo.id": - return protoreflect.ValueOfString("") - case "did.v1.ChainInfo.chain_id": - return protoreflect.ValueOfString("") - case "did.v1.ChainInfo.name": - return protoreflect.ValueOfString("") - case "did.v1.ChainInfo.symbol": - return protoreflect.ValueOfString("") - case "did.v1.ChainInfo.bech32_prefix": - return protoreflect.ValueOfString("") - case "did.v1.ChainInfo.genesis_time": - return protoreflect.ValueOfString("") - case "did.v1.ChainInfo.grpc_endpoints": - list := []*Endpoint{} - return protoreflect.ValueOfList(&_ChainInfo_7_list{list: &list}) - case "did.v1.ChainInfo.rest_endpoints": - list := []*Endpoint{} - return protoreflect.ValueOfList(&_ChainInfo_8_list{list: &list}) - case "did.v1.ChainInfo.explorer": - m := new(ExplorerInfo) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "did.v1.ChainInfo.fee_info": - m := new(FeeInfo) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ChainInfo")) - } - panic(fmt.Errorf("message did.v1.ChainInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ChainInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ChainInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ChainInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ChainInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ChainInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ChainInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ChainInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ChainId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Name) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Symbol) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Bech32Prefix) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.GenesisTime) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.GrpcEndpoints) > 0 { - for _, e := range x.GrpcEndpoints { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.RestEndpoints) > 0 { - for _, e := range x.RestEndpoints { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.Explorer != nil { - l = options.Size(x.Explorer) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.FeeInfo != nil { - l = options.Size(x.FeeInfo) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ChainInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.FeeInfo != nil { - encoded, err := options.Marshal(x.FeeInfo) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x52 - } - if x.Explorer != nil { - encoded, err := options.Marshal(x.Explorer) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x4a - } - if len(x.RestEndpoints) > 0 { - for iNdEx := len(x.RestEndpoints) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.RestEndpoints[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x42 - } - } - if len(x.GrpcEndpoints) > 0 { - for iNdEx := len(x.GrpcEndpoints) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.GrpcEndpoints[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x3a - } - } - if len(x.GenesisTime) > 0 { - i -= len(x.GenesisTime) - copy(dAtA[i:], x.GenesisTime) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.GenesisTime))) - i-- - dAtA[i] = 0x32 - } - if len(x.Bech32Prefix) > 0 { - i -= len(x.Bech32Prefix) - copy(dAtA[i:], x.Bech32Prefix) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Bech32Prefix))) - i-- - dAtA[i] = 0x2a - } - if len(x.Symbol) > 0 { - i -= len(x.Symbol) - copy(dAtA[i:], x.Symbol) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Symbol))) - i-- - dAtA[i] = 0x22 - } - if len(x.Name) > 0 { - i -= len(x.Name) - copy(dAtA[i:], x.Name) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) - i-- - dAtA[i] = 0x1a - } - if len(x.ChainId) > 0 { - i -= len(x.ChainId) - copy(dAtA[i:], x.ChainId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ChainId))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ChainInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ChainInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ChainInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.ChainId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Symbol", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Symbol = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Bech32Prefix", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Bech32Prefix = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GenesisTime", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.GenesisTime = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GrpcEndpoints", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.GrpcEndpoints = append(x.GrpcEndpoints, &Endpoint{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.GrpcEndpoints[len(x.GrpcEndpoints)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RestEndpoints", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.RestEndpoints = append(x.RestEndpoints, &Endpoint{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.RestEndpoints[len(x.RestEndpoints)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Explorer", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Explorer == nil { - x.Explorer = &ExplorerInfo{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Explorer); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FeeInfo", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.FeeInfo == nil { - x.FeeInfo = &FeeInfo{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.FeeInfo); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_Credential_4_list)(nil) - -type _Credential_4_list struct { - list *[]string -} - -func (x *_Credential_4_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Credential_4_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Credential_4_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Credential_4_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Credential_4_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Credential at list field Transport as it is not of Message kind")) -} - -func (x *_Credential_4_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Credential_4_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Credential_4_list) IsValid() bool { - return x.list != nil -} - -var ( - md_Credential protoreflect.MessageDescriptor - fd_Credential_id protoreflect.FieldDescriptor - fd_Credential_credential_type protoreflect.FieldDescriptor - fd_Credential_credential_id protoreflect.FieldDescriptor - fd_Credential_transport protoreflect.FieldDescriptor - fd_Credential_attestation_type protoreflect.FieldDescriptor - fd_Credential_display_name protoreflect.FieldDescriptor - fd_Credential_controller protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_Credential = File_did_v1_types_proto.Messages().ByName("Credential") - fd_Credential_id = md_Credential.Fields().ByName("id") - fd_Credential_credential_type = md_Credential.Fields().ByName("credential_type") - fd_Credential_credential_id = md_Credential.Fields().ByName("credential_id") - fd_Credential_transport = md_Credential.Fields().ByName("transport") - fd_Credential_attestation_type = md_Credential.Fields().ByName("attestation_type") - fd_Credential_display_name = md_Credential.Fields().ByName("display_name") - fd_Credential_controller = md_Credential.Fields().ByName("controller") -} - -var _ protoreflect.Message = (*fastReflection_Credential)(nil) - -type fastReflection_Credential Credential - -func (x *Credential) ProtoReflect() protoreflect.Message { - return (*fastReflection_Credential)(x) -} - -func (x *Credential) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_Credential_messageType fastReflection_Credential_messageType -var _ protoreflect.MessageType = fastReflection_Credential_messageType{} - -type fastReflection_Credential_messageType struct{} - -func (x fastReflection_Credential_messageType) Zero() protoreflect.Message { - return (*fastReflection_Credential)(nil) -} -func (x fastReflection_Credential_messageType) New() protoreflect.Message { - return new(fastReflection_Credential) -} -func (x fastReflection_Credential_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Credential -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Credential) Descriptor() protoreflect.MessageDescriptor { - return md_Credential -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Credential) Type() protoreflect.MessageType { - return _fastReflection_Credential_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Credential) New() protoreflect.Message { - return new(fastReflection_Credential) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Credential) Interface() protoreflect.ProtoMessage { - return (*Credential)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Credential) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_Credential_id, value) { - return - } - } - if x.CredentialType != "" { - value := protoreflect.ValueOfString(x.CredentialType) - if !f(fd_Credential_credential_type, value) { - return - } - } - if len(x.CredentialId) != 0 { - value := protoreflect.ValueOfBytes(x.CredentialId) - if !f(fd_Credential_credential_id, value) { - return - } - } - if len(x.Transport) != 0 { - value := protoreflect.ValueOfList(&_Credential_4_list{list: &x.Transport}) - if !f(fd_Credential_transport, value) { - return - } - } - if x.AttestationType != "" { - value := protoreflect.ValueOfString(x.AttestationType) - if !f(fd_Credential_attestation_type, value) { - return - } - } - if x.DisplayName != "" { - value := protoreflect.ValueOfString(x.DisplayName) - if !f(fd_Credential_display_name, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_Credential_controller, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Credential) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Credential.id": - return x.Id != "" - case "did.v1.Credential.credential_type": - return x.CredentialType != "" - case "did.v1.Credential.credential_id": - return len(x.CredentialId) != 0 - case "did.v1.Credential.transport": - return len(x.Transport) != 0 - case "did.v1.Credential.attestation_type": - return x.AttestationType != "" - case "did.v1.Credential.display_name": - return x.DisplayName != "" - case "did.v1.Credential.controller": - return x.Controller != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Credential.id": - x.Id = "" - case "did.v1.Credential.credential_type": - x.CredentialType = "" - case "did.v1.Credential.credential_id": - x.CredentialId = nil - case "did.v1.Credential.transport": - x.Transport = nil - case "did.v1.Credential.attestation_type": - x.AttestationType = "" - case "did.v1.Credential.display_name": - x.DisplayName = "" - case "did.v1.Credential.controller": - x.Controller = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Credential) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Credential.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.Credential.credential_type": - value := x.CredentialType - return protoreflect.ValueOfString(value) - case "did.v1.Credential.credential_id": - value := x.CredentialId - return protoreflect.ValueOfBytes(value) - case "did.v1.Credential.transport": - if len(x.Transport) == 0 { - return protoreflect.ValueOfList(&_Credential_4_list{}) - } - listValue := &_Credential_4_list{list: &x.Transport} - return protoreflect.ValueOfList(listValue) - case "did.v1.Credential.attestation_type": - value := x.AttestationType - return protoreflect.ValueOfString(value) - case "did.v1.Credential.display_name": - value := x.DisplayName - return protoreflect.ValueOfString(value) - case "did.v1.Credential.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Credential.id": - x.Id = value.Interface().(string) - case "did.v1.Credential.credential_type": - x.CredentialType = value.Interface().(string) - case "did.v1.Credential.credential_id": - x.CredentialId = value.Bytes() - case "did.v1.Credential.transport": - lv := value.List() - clv := lv.(*_Credential_4_list) - x.Transport = *clv.list - case "did.v1.Credential.attestation_type": - x.AttestationType = value.Interface().(string) - case "did.v1.Credential.display_name": - x.DisplayName = value.Interface().(string) - case "did.v1.Credential.controller": - x.Controller = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Credential.transport": - if x.Transport == nil { - x.Transport = []string{} - } - value := &_Credential_4_list{list: &x.Transport} - return protoreflect.ValueOfList(value) - case "did.v1.Credential.id": - panic(fmt.Errorf("field id of message did.v1.Credential is not mutable")) - case "did.v1.Credential.credential_type": - panic(fmt.Errorf("field credential_type of message did.v1.Credential is not mutable")) - case "did.v1.Credential.credential_id": - panic(fmt.Errorf("field credential_id of message did.v1.Credential is not mutable")) - case "did.v1.Credential.attestation_type": - panic(fmt.Errorf("field attestation_type of message did.v1.Credential is not mutable")) - case "did.v1.Credential.display_name": - panic(fmt.Errorf("field display_name of message did.v1.Credential is not mutable")) - case "did.v1.Credential.controller": - panic(fmt.Errorf("field controller of message did.v1.Credential is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Credential) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Credential.id": - return protoreflect.ValueOfString("") - case "did.v1.Credential.credential_type": - return protoreflect.ValueOfString("") - case "did.v1.Credential.credential_id": - return protoreflect.ValueOfBytes(nil) - case "did.v1.Credential.transport": - list := []string{} - return protoreflect.ValueOfList(&_Credential_4_list{list: &list}) - case "did.v1.Credential.attestation_type": - return protoreflect.ValueOfString("") - case "did.v1.Credential.display_name": - return protoreflect.ValueOfString("") - case "did.v1.Credential.controller": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Credential")) - } - panic(fmt.Errorf("message did.v1.Credential does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Credential) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Credential", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Credential) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Credential) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Credential) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Credential) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Credential) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.CredentialType) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.CredentialId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Transport) > 0 { - for _, s := range x.Transport { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - l = len(x.AttestationType) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.DisplayName) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Credential) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x3a - } - if len(x.DisplayName) > 0 { - i -= len(x.DisplayName) - copy(dAtA[i:], x.DisplayName) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DisplayName))) - i-- - dAtA[i] = 0x32 - } - if len(x.AttestationType) > 0 { - i -= len(x.AttestationType) - copy(dAtA[i:], x.AttestationType) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AttestationType))) - i-- - dAtA[i] = 0x2a - } - if len(x.Transport) > 0 { - for iNdEx := len(x.Transport) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Transport[iNdEx]) - copy(dAtA[i:], x.Transport[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Transport[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(x.CredentialId) > 0 { - i -= len(x.CredentialId) - copy(dAtA[i:], x.CredentialId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CredentialId))) - i-- - dAtA[i] = 0x1a - } - if len(x.CredentialType) > 0 { - i -= len(x.CredentialType) - copy(dAtA[i:], x.CredentialType) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CredentialType))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Credential) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Credential: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Credential: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CredentialType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CredentialType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CredentialId", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CredentialId = append(x.CredentialId[:0], dAtA[iNdEx:postIndex]...) - if x.CredentialId == nil { - x.CredentialId = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Transport", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Transport = append(x.Transport, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AttestationType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.AttestationType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_Document_2_list)(nil) - -type _Document_2_list struct { - list *[]*VerificationMethod -} - -func (x *_Document_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_Document_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*VerificationMethod) - (*x.list)[i] = concreteValue -} - -func (x *_Document_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*VerificationMethod) - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_2_list) AppendMutable() protoreflect.Value { - v := new(VerificationMethod) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_Document_2_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_Document_2_list) NewElement() protoreflect.Value { - v := new(VerificationMethod) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_Document_2_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_4_list)(nil) - -type _Document_4_list struct { - list *[]string -} - -func (x *_Document_4_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_4_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_4_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_4_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_4_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field Authentication as it is not of Message kind")) -} - -func (x *_Document_4_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_4_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_4_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_5_list)(nil) - -type _Document_5_list struct { - list *[]string -} - -func (x *_Document_5_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_5_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_5_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_5_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_5_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field AssertionMethod as it is not of Message kind")) -} - -func (x *_Document_5_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_5_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_5_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_7_list)(nil) - -type _Document_7_list struct { - list *[]string -} - -func (x *_Document_7_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_7_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_7_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_7_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_7_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field CapabilityDelegation as it is not of Message kind")) -} - -func (x *_Document_7_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_7_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_7_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Document_8_list)(nil) - -type _Document_8_list struct { - list *[]string -} - -func (x *_Document_8_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Document_8_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_Document_8_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_Document_8_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_Document_8_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message Document at list field CapabilityInvocation as it is not of Message kind")) -} - -func (x *_Document_8_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_Document_8_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_Document_8_list) IsValid() bool { - return x.list != nil -} - -var ( - md_Document protoreflect.MessageDescriptor - fd_Document_id protoreflect.FieldDescriptor - fd_Document_verification_methods protoreflect.FieldDescriptor - fd_Document_authentication protoreflect.FieldDescriptor - fd_Document_assertion_method protoreflect.FieldDescriptor - fd_Document_capability_delegation protoreflect.FieldDescriptor - fd_Document_capability_invocation protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_Document = File_did_v1_types_proto.Messages().ByName("Document") - fd_Document_id = md_Document.Fields().ByName("id") - fd_Document_verification_methods = md_Document.Fields().ByName("verification_methods") - fd_Document_authentication = md_Document.Fields().ByName("authentication") - fd_Document_assertion_method = md_Document.Fields().ByName("assertion_method") - fd_Document_capability_delegation = md_Document.Fields().ByName("capability_delegation") - fd_Document_capability_invocation = md_Document.Fields().ByName("capability_invocation") -} - -var _ protoreflect.Message = (*fastReflection_Document)(nil) - -type fastReflection_Document Document - -func (x *Document) ProtoReflect() protoreflect.Message { - return (*fastReflection_Document)(x) -} - -func (x *Document) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_Document_messageType fastReflection_Document_messageType -var _ protoreflect.MessageType = fastReflection_Document_messageType{} - -type fastReflection_Document_messageType struct{} - -func (x fastReflection_Document_messageType) Zero() protoreflect.Message { - return (*fastReflection_Document)(nil) -} -func (x fastReflection_Document_messageType) New() protoreflect.Message { - return new(fastReflection_Document) -} -func (x fastReflection_Document_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Document -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Document) Descriptor() protoreflect.MessageDescriptor { - return md_Document -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Document) Type() protoreflect.MessageType { - return _fastReflection_Document_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Document) New() protoreflect.Message { - return new(fastReflection_Document) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Document) Interface() protoreflect.ProtoMessage { - return (*Document)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Document) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_Document_id, value) { - return - } - } - if len(x.VerificationMethods) != 0 { - value := protoreflect.ValueOfList(&_Document_2_list{list: &x.VerificationMethods}) - if !f(fd_Document_verification_methods, value) { - return - } - } - if len(x.Authentication) != 0 { - value := protoreflect.ValueOfList(&_Document_4_list{list: &x.Authentication}) - if !f(fd_Document_authentication, value) { - return - } - } - if len(x.AssertionMethod) != 0 { - value := protoreflect.ValueOfList(&_Document_5_list{list: &x.AssertionMethod}) - if !f(fd_Document_assertion_method, value) { - return - } - } - if len(x.CapabilityDelegation) != 0 { - value := protoreflect.ValueOfList(&_Document_7_list{list: &x.CapabilityDelegation}) - if !f(fd_Document_capability_delegation, value) { - return - } - } - if len(x.CapabilityInvocation) != 0 { - value := protoreflect.ValueOfList(&_Document_8_list{list: &x.CapabilityInvocation}) - if !f(fd_Document_capability_invocation, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Document) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Document.id": - return x.Id != "" - case "did.v1.Document.verification_methods": - return len(x.VerificationMethods) != 0 - case "did.v1.Document.authentication": - return len(x.Authentication) != 0 - case "did.v1.Document.assertion_method": - return len(x.AssertionMethod) != 0 - case "did.v1.Document.capability_delegation": - return len(x.CapabilityDelegation) != 0 - case "did.v1.Document.capability_invocation": - return len(x.CapabilityInvocation) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Document.id": - x.Id = "" - case "did.v1.Document.verification_methods": - x.VerificationMethods = nil - case "did.v1.Document.authentication": - x.Authentication = nil - case "did.v1.Document.assertion_method": - x.AssertionMethod = nil - case "did.v1.Document.capability_delegation": - x.CapabilityDelegation = nil - case "did.v1.Document.capability_invocation": - x.CapabilityInvocation = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Document) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Document.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.Document.verification_methods": - if len(x.VerificationMethods) == 0 { - return protoreflect.ValueOfList(&_Document_2_list{}) - } - listValue := &_Document_2_list{list: &x.VerificationMethods} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.authentication": - if len(x.Authentication) == 0 { - return protoreflect.ValueOfList(&_Document_4_list{}) - } - listValue := &_Document_4_list{list: &x.Authentication} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.assertion_method": - if len(x.AssertionMethod) == 0 { - return protoreflect.ValueOfList(&_Document_5_list{}) - } - listValue := &_Document_5_list{list: &x.AssertionMethod} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.capability_delegation": - if len(x.CapabilityDelegation) == 0 { - return protoreflect.ValueOfList(&_Document_7_list{}) - } - listValue := &_Document_7_list{list: &x.CapabilityDelegation} - return protoreflect.ValueOfList(listValue) - case "did.v1.Document.capability_invocation": - if len(x.CapabilityInvocation) == 0 { - return protoreflect.ValueOfList(&_Document_8_list{}) - } - listValue := &_Document_8_list{list: &x.CapabilityInvocation} - return protoreflect.ValueOfList(listValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Document.id": - x.Id = value.Interface().(string) - case "did.v1.Document.verification_methods": - lv := value.List() - clv := lv.(*_Document_2_list) - x.VerificationMethods = *clv.list - case "did.v1.Document.authentication": - lv := value.List() - clv := lv.(*_Document_4_list) - x.Authentication = *clv.list - case "did.v1.Document.assertion_method": - lv := value.List() - clv := lv.(*_Document_5_list) - x.AssertionMethod = *clv.list - case "did.v1.Document.capability_delegation": - lv := value.List() - clv := lv.(*_Document_7_list) - x.CapabilityDelegation = *clv.list - case "did.v1.Document.capability_invocation": - lv := value.List() - clv := lv.(*_Document_8_list) - x.CapabilityInvocation = *clv.list - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Document.verification_methods": - if x.VerificationMethods == nil { - x.VerificationMethods = []*VerificationMethod{} - } - value := &_Document_2_list{list: &x.VerificationMethods} - return protoreflect.ValueOfList(value) - case "did.v1.Document.authentication": - if x.Authentication == nil { - x.Authentication = []string{} - } - value := &_Document_4_list{list: &x.Authentication} - return protoreflect.ValueOfList(value) - case "did.v1.Document.assertion_method": - if x.AssertionMethod == nil { - x.AssertionMethod = []string{} - } - value := &_Document_5_list{list: &x.AssertionMethod} - return protoreflect.ValueOfList(value) - case "did.v1.Document.capability_delegation": - if x.CapabilityDelegation == nil { - x.CapabilityDelegation = []string{} - } - value := &_Document_7_list{list: &x.CapabilityDelegation} - return protoreflect.ValueOfList(value) - case "did.v1.Document.capability_invocation": - if x.CapabilityInvocation == nil { - x.CapabilityInvocation = []string{} - } - value := &_Document_8_list{list: &x.CapabilityInvocation} - return protoreflect.ValueOfList(value) - case "did.v1.Document.id": - panic(fmt.Errorf("field id of message did.v1.Document is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Document) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Document.id": - return protoreflect.ValueOfString("") - case "did.v1.Document.verification_methods": - list := []*VerificationMethod{} - return protoreflect.ValueOfList(&_Document_2_list{list: &list}) - case "did.v1.Document.authentication": - list := []string{} - return protoreflect.ValueOfList(&_Document_4_list{list: &list}) - case "did.v1.Document.assertion_method": - list := []string{} - return protoreflect.ValueOfList(&_Document_5_list{list: &list}) - case "did.v1.Document.capability_delegation": - list := []string{} - return protoreflect.ValueOfList(&_Document_7_list{list: &list}) - case "did.v1.Document.capability_invocation": - list := []string{} - return protoreflect.ValueOfList(&_Document_8_list{list: &list}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Document")) - } - panic(fmt.Errorf("message did.v1.Document does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Document) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Document", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Document) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Document) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Document) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Document) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Document) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.VerificationMethods) > 0 { - for _, e := range x.VerificationMethods { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.Authentication) > 0 { - for _, s := range x.Authentication { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.AssertionMethod) > 0 { - for _, s := range x.AssertionMethod { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.CapabilityDelegation) > 0 { - for _, s := range x.CapabilityDelegation { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.CapabilityInvocation) > 0 { - for _, s := range x.CapabilityInvocation { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Document) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.CapabilityInvocation) > 0 { - for iNdEx := len(x.CapabilityInvocation) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.CapabilityInvocation[iNdEx]) - copy(dAtA[i:], x.CapabilityInvocation[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CapabilityInvocation[iNdEx]))) - i-- - dAtA[i] = 0x42 - } - } - if len(x.CapabilityDelegation) > 0 { - for iNdEx := len(x.CapabilityDelegation) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.CapabilityDelegation[iNdEx]) - copy(dAtA[i:], x.CapabilityDelegation[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CapabilityDelegation[iNdEx]))) - i-- - dAtA[i] = 0x3a - } - } - if len(x.AssertionMethod) > 0 { - for iNdEx := len(x.AssertionMethod) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.AssertionMethod[iNdEx]) - copy(dAtA[i:], x.AssertionMethod[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AssertionMethod[iNdEx]))) - i-- - dAtA[i] = 0x2a - } - } - if len(x.Authentication) > 0 { - for iNdEx := len(x.Authentication) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.Authentication[iNdEx]) - copy(dAtA[i:], x.Authentication[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authentication[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(x.VerificationMethods) > 0 { - for iNdEx := len(x.VerificationMethods) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.VerificationMethods[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Document) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Document: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Document: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VerificationMethods", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.VerificationMethods = append(x.VerificationMethods, &VerificationMethod{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.VerificationMethods[len(x.VerificationMethods)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authentication", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authentication = append(x.Authentication, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AssertionMethod", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.AssertionMethod = append(x.AssertionMethod, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CapabilityDelegation", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CapabilityDelegation = append(x.CapabilityDelegation, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 8: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CapabilityInvocation", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CapabilityInvocation = append(x.CapabilityInvocation, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_Endpoint protoreflect.MessageDescriptor - fd_Endpoint_url protoreflect.FieldDescriptor - fd_Endpoint_is_primary protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_Endpoint = File_did_v1_types_proto.Messages().ByName("Endpoint") - fd_Endpoint_url = md_Endpoint.Fields().ByName("url") - fd_Endpoint_is_primary = md_Endpoint.Fields().ByName("is_primary") -} - -var _ protoreflect.Message = (*fastReflection_Endpoint)(nil) - -type fastReflection_Endpoint Endpoint - -func (x *Endpoint) ProtoReflect() protoreflect.Message { - return (*fastReflection_Endpoint)(x) -} - -func (x *Endpoint) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_Endpoint_messageType fastReflection_Endpoint_messageType -var _ protoreflect.MessageType = fastReflection_Endpoint_messageType{} - -type fastReflection_Endpoint_messageType struct{} - -func (x fastReflection_Endpoint_messageType) Zero() protoreflect.Message { - return (*fastReflection_Endpoint)(nil) -} -func (x fastReflection_Endpoint_messageType) New() protoreflect.Message { - return new(fastReflection_Endpoint) -} -func (x fastReflection_Endpoint_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Endpoint -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Endpoint) Descriptor() protoreflect.MessageDescriptor { - return md_Endpoint -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Endpoint) Type() protoreflect.MessageType { - return _fastReflection_Endpoint_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Endpoint) New() protoreflect.Message { - return new(fastReflection_Endpoint) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Endpoint) Interface() protoreflect.ProtoMessage { - return (*Endpoint)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Endpoint) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Url != "" { - value := protoreflect.ValueOfString(x.Url) - if !f(fd_Endpoint_url, value) { - return - } - } - if x.IsPrimary != false { - value := protoreflect.ValueOfBool(x.IsPrimary) - if !f(fd_Endpoint_is_primary, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Endpoint) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Endpoint.url": - return x.Url != "" - case "did.v1.Endpoint.is_primary": - return x.IsPrimary != false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Endpoint")) - } - panic(fmt.Errorf("message did.v1.Endpoint does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Endpoint) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Endpoint.url": - x.Url = "" - case "did.v1.Endpoint.is_primary": - x.IsPrimary = false - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Endpoint")) - } - panic(fmt.Errorf("message did.v1.Endpoint does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Endpoint) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Endpoint.url": - value := x.Url - return protoreflect.ValueOfString(value) - case "did.v1.Endpoint.is_primary": - value := x.IsPrimary - return protoreflect.ValueOfBool(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Endpoint")) - } - panic(fmt.Errorf("message did.v1.Endpoint does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Endpoint) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Endpoint.url": - x.Url = value.Interface().(string) - case "did.v1.Endpoint.is_primary": - x.IsPrimary = value.Bool() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Endpoint")) - } - panic(fmt.Errorf("message did.v1.Endpoint does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Endpoint) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Endpoint.url": - panic(fmt.Errorf("field url of message did.v1.Endpoint is not mutable")) - case "did.v1.Endpoint.is_primary": - panic(fmt.Errorf("field is_primary of message did.v1.Endpoint is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Endpoint")) - } - panic(fmt.Errorf("message did.v1.Endpoint does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Endpoint) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Endpoint.url": - return protoreflect.ValueOfString("") - case "did.v1.Endpoint.is_primary": - return protoreflect.ValueOfBool(false) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Endpoint")) - } - panic(fmt.Errorf("message did.v1.Endpoint does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Endpoint) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Endpoint", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Endpoint) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Endpoint) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Endpoint) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Endpoint) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Endpoint) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Url) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.IsPrimary { - n += 2 - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Endpoint) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.IsPrimary { - i-- - if x.IsPrimary { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if len(x.Url) > 0 { - i -= len(x.Url) - copy(dAtA[i:], x.Url) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Url))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Endpoint) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Endpoint: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Endpoint: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Url = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IsPrimary", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.IsPrimary = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_ExplorerInfo protoreflect.MessageDescriptor - fd_ExplorerInfo_name protoreflect.FieldDescriptor - fd_ExplorerInfo_url protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_ExplorerInfo = File_did_v1_types_proto.Messages().ByName("ExplorerInfo") - fd_ExplorerInfo_name = md_ExplorerInfo.Fields().ByName("name") - fd_ExplorerInfo_url = md_ExplorerInfo.Fields().ByName("url") -} - -var _ protoreflect.Message = (*fastReflection_ExplorerInfo)(nil) - -type fastReflection_ExplorerInfo ExplorerInfo - -func (x *ExplorerInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_ExplorerInfo)(x) -} - -func (x *ExplorerInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_ExplorerInfo_messageType fastReflection_ExplorerInfo_messageType -var _ protoreflect.MessageType = fastReflection_ExplorerInfo_messageType{} - -type fastReflection_ExplorerInfo_messageType struct{} - -func (x fastReflection_ExplorerInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_ExplorerInfo)(nil) -} -func (x fastReflection_ExplorerInfo_messageType) New() protoreflect.Message { - return new(fastReflection_ExplorerInfo) -} -func (x fastReflection_ExplorerInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ExplorerInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ExplorerInfo) Descriptor() protoreflect.MessageDescriptor { - return md_ExplorerInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ExplorerInfo) Type() protoreflect.MessageType { - return _fastReflection_ExplorerInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ExplorerInfo) New() protoreflect.Message { - return new(fastReflection_ExplorerInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ExplorerInfo) Interface() protoreflect.ProtoMessage { - return (*ExplorerInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ExplorerInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Name != "" { - value := protoreflect.ValueOfString(x.Name) - if !f(fd_ExplorerInfo_name, value) { - return - } - } - if x.Url != "" { - value := protoreflect.ValueOfString(x.Url) - if !f(fd_ExplorerInfo_url, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ExplorerInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.ExplorerInfo.name": - return x.Name != "" - case "did.v1.ExplorerInfo.url": - return x.Url != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ExplorerInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.ExplorerInfo.name": - x.Name = "" - case "did.v1.ExplorerInfo.url": - x.Url = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ExplorerInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.ExplorerInfo.name": - value := x.Name - return protoreflect.ValueOfString(value) - case "did.v1.ExplorerInfo.url": - value := x.Url - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ExplorerInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ExplorerInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.ExplorerInfo.name": - x.Name = value.Interface().(string) - case "did.v1.ExplorerInfo.url": - x.Url = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ExplorerInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ExplorerInfo.name": - panic(fmt.Errorf("field name of message did.v1.ExplorerInfo is not mutable")) - case "did.v1.ExplorerInfo.url": - panic(fmt.Errorf("field url of message did.v1.ExplorerInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ExplorerInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.ExplorerInfo.name": - return protoreflect.ValueOfString("") - case "did.v1.ExplorerInfo.url": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.ExplorerInfo")) - } - panic(fmt.Errorf("message did.v1.ExplorerInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ExplorerInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.ExplorerInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ExplorerInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ExplorerInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ExplorerInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ExplorerInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ExplorerInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Name) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Url) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ExplorerInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Url) > 0 { - i -= len(x.Url) - copy(dAtA[i:], x.Url) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Url))) - i-- - dAtA[i] = 0x12 - } - if len(x.Name) > 0 { - i -= len(x.Name) - copy(dAtA[i:], x.Name) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ExplorerInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ExplorerInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ExplorerInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Url = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_FeeInfo_2_list)(nil) - -type _FeeInfo_2_list struct { - list *[]string -} - -func (x *_FeeInfo_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_FeeInfo_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_FeeInfo_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_FeeInfo_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_FeeInfo_2_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message FeeInfo at list field FeeRates as it is not of Message kind")) -} - -func (x *_FeeInfo_2_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_FeeInfo_2_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_FeeInfo_2_list) IsValid() bool { - return x.list != nil -} - -var ( - md_FeeInfo protoreflect.MessageDescriptor - fd_FeeInfo_base_denom protoreflect.FieldDescriptor - fd_FeeInfo_fee_rates protoreflect.FieldDescriptor - fd_FeeInfo_init_gas_limit protoreflect.FieldDescriptor - fd_FeeInfo_is_simulable protoreflect.FieldDescriptor - fd_FeeInfo_gas_multiply protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_FeeInfo = File_did_v1_types_proto.Messages().ByName("FeeInfo") - fd_FeeInfo_base_denom = md_FeeInfo.Fields().ByName("base_denom") - fd_FeeInfo_fee_rates = md_FeeInfo.Fields().ByName("fee_rates") - fd_FeeInfo_init_gas_limit = md_FeeInfo.Fields().ByName("init_gas_limit") - fd_FeeInfo_is_simulable = md_FeeInfo.Fields().ByName("is_simulable") - fd_FeeInfo_gas_multiply = md_FeeInfo.Fields().ByName("gas_multiply") -} - -var _ protoreflect.Message = (*fastReflection_FeeInfo)(nil) - -type fastReflection_FeeInfo FeeInfo - -func (x *FeeInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_FeeInfo)(x) -} - -func (x *FeeInfo) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_FeeInfo_messageType fastReflection_FeeInfo_messageType -var _ protoreflect.MessageType = fastReflection_FeeInfo_messageType{} - -type fastReflection_FeeInfo_messageType struct{} - -func (x fastReflection_FeeInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_FeeInfo)(nil) -} -func (x fastReflection_FeeInfo_messageType) New() protoreflect.Message { - return new(fastReflection_FeeInfo) -} -func (x fastReflection_FeeInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_FeeInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_FeeInfo) Descriptor() protoreflect.MessageDescriptor { - return md_FeeInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_FeeInfo) Type() protoreflect.MessageType { - return _fastReflection_FeeInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_FeeInfo) New() protoreflect.Message { - return new(fastReflection_FeeInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_FeeInfo) Interface() protoreflect.ProtoMessage { - return (*FeeInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_FeeInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.BaseDenom != "" { - value := protoreflect.ValueOfString(x.BaseDenom) - if !f(fd_FeeInfo_base_denom, value) { - return - } - } - if len(x.FeeRates) != 0 { - value := protoreflect.ValueOfList(&_FeeInfo_2_list{list: &x.FeeRates}) - if !f(fd_FeeInfo_fee_rates, value) { - return - } - } - if x.InitGasLimit != int32(0) { - value := protoreflect.ValueOfInt32(x.InitGasLimit) - if !f(fd_FeeInfo_init_gas_limit, value) { - return - } - } - if x.IsSimulable != false { - value := protoreflect.ValueOfBool(x.IsSimulable) - if !f(fd_FeeInfo_is_simulable, value) { - return - } - } - if x.GasMultiply != float64(0) || math.Signbit(x.GasMultiply) { - value := protoreflect.ValueOfFloat64(x.GasMultiply) - if !f(fd_FeeInfo_gas_multiply, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_FeeInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.FeeInfo.base_denom": - return x.BaseDenom != "" - case "did.v1.FeeInfo.fee_rates": - return len(x.FeeRates) != 0 - case "did.v1.FeeInfo.init_gas_limit": - return x.InitGasLimit != int32(0) - case "did.v1.FeeInfo.is_simulable": - return x.IsSimulable != false - case "did.v1.FeeInfo.gas_multiply": - return x.GasMultiply != float64(0) || math.Signbit(x.GasMultiply) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FeeInfo")) - } - panic(fmt.Errorf("message did.v1.FeeInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FeeInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.FeeInfo.base_denom": - x.BaseDenom = "" - case "did.v1.FeeInfo.fee_rates": - x.FeeRates = nil - case "did.v1.FeeInfo.init_gas_limit": - x.InitGasLimit = int32(0) - case "did.v1.FeeInfo.is_simulable": - x.IsSimulable = false - case "did.v1.FeeInfo.gas_multiply": - x.GasMultiply = float64(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FeeInfo")) - } - panic(fmt.Errorf("message did.v1.FeeInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_FeeInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.FeeInfo.base_denom": - value := x.BaseDenom - return protoreflect.ValueOfString(value) - case "did.v1.FeeInfo.fee_rates": - if len(x.FeeRates) == 0 { - return protoreflect.ValueOfList(&_FeeInfo_2_list{}) - } - listValue := &_FeeInfo_2_list{list: &x.FeeRates} - return protoreflect.ValueOfList(listValue) - case "did.v1.FeeInfo.init_gas_limit": - value := x.InitGasLimit - return protoreflect.ValueOfInt32(value) - case "did.v1.FeeInfo.is_simulable": - value := x.IsSimulable - return protoreflect.ValueOfBool(value) - case "did.v1.FeeInfo.gas_multiply": - value := x.GasMultiply - return protoreflect.ValueOfFloat64(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FeeInfo")) - } - panic(fmt.Errorf("message did.v1.FeeInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FeeInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.FeeInfo.base_denom": - x.BaseDenom = value.Interface().(string) - case "did.v1.FeeInfo.fee_rates": - lv := value.List() - clv := lv.(*_FeeInfo_2_list) - x.FeeRates = *clv.list - case "did.v1.FeeInfo.init_gas_limit": - x.InitGasLimit = int32(value.Int()) - case "did.v1.FeeInfo.is_simulable": - x.IsSimulable = value.Bool() - case "did.v1.FeeInfo.gas_multiply": - x.GasMultiply = value.Float() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FeeInfo")) - } - panic(fmt.Errorf("message did.v1.FeeInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FeeInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.FeeInfo.fee_rates": - if x.FeeRates == nil { - x.FeeRates = []string{} - } - value := &_FeeInfo_2_list{list: &x.FeeRates} - return protoreflect.ValueOfList(value) - case "did.v1.FeeInfo.base_denom": - panic(fmt.Errorf("field base_denom of message did.v1.FeeInfo is not mutable")) - case "did.v1.FeeInfo.init_gas_limit": - panic(fmt.Errorf("field init_gas_limit of message did.v1.FeeInfo is not mutable")) - case "did.v1.FeeInfo.is_simulable": - panic(fmt.Errorf("field is_simulable of message did.v1.FeeInfo is not mutable")) - case "did.v1.FeeInfo.gas_multiply": - panic(fmt.Errorf("field gas_multiply of message did.v1.FeeInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FeeInfo")) - } - panic(fmt.Errorf("message did.v1.FeeInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_FeeInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.FeeInfo.base_denom": - return protoreflect.ValueOfString("") - case "did.v1.FeeInfo.fee_rates": - list := []string{} - return protoreflect.ValueOfList(&_FeeInfo_2_list{list: &list}) - case "did.v1.FeeInfo.init_gas_limit": - return protoreflect.ValueOfInt32(int32(0)) - case "did.v1.FeeInfo.is_simulable": - return protoreflect.ValueOfBool(false) - case "did.v1.FeeInfo.gas_multiply": - return protoreflect.ValueOfFloat64(float64(0)) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.FeeInfo")) - } - panic(fmt.Errorf("message did.v1.FeeInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_FeeInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.FeeInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_FeeInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_FeeInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_FeeInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_FeeInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*FeeInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.BaseDenom) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.FeeRates) > 0 { - for _, s := range x.FeeRates { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.InitGasLimit != 0 { - n += 1 + runtime.Sov(uint64(x.InitGasLimit)) - } - if x.IsSimulable { - n += 2 - } - if x.GasMultiply != 0 || math.Signbit(x.GasMultiply) { - n += 9 - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*FeeInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.GasMultiply != 0 || math.Signbit(x.GasMultiply) { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(x.GasMultiply)))) - i-- - dAtA[i] = 0x29 - } - if x.IsSimulable { - i-- - if x.IsSimulable { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if x.InitGasLimit != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.InitGasLimit)) - i-- - dAtA[i] = 0x18 - } - if len(x.FeeRates) > 0 { - for iNdEx := len(x.FeeRates) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.FeeRates[iNdEx]) - copy(dAtA[i:], x.FeeRates[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.FeeRates[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(x.BaseDenom) > 0 { - i -= len(x.BaseDenom) - copy(dAtA[i:], x.BaseDenom) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BaseDenom))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*FeeInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: FeeInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: FeeInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BaseDenom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.BaseDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FeeRates", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.FeeRates = append(x.FeeRates, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InitGasLimit", wireType) - } - x.InitGasLimit = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.InitGasLimit |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IsSimulable", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.IsSimulable = bool(v != 0) - case 5: - if wireType != 1 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GasMultiply", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - x.GasMultiply = float64(math.Float64frombits(v)) - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_Identity_4_list)(nil) - -type _Identity_4_list struct { - list *[]*Credential -} - -func (x *_Identity_4_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Identity_4_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_Identity_4_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credential) - (*x.list)[i] = concreteValue -} - -func (x *_Identity_4_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credential) - *x.list = append(*x.list, concreteValue) -} - -func (x *_Identity_4_list) AppendMutable() protoreflect.Value { - v := new(Credential) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_Identity_4_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_Identity_4_list) NewElement() protoreflect.Value { - v := new(Credential) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_Identity_4_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_Identity_5_list)(nil) - -type _Identity_5_list struct { - list *[]*VerificationMethod -} - -func (x *_Identity_5_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_Identity_5_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_Identity_5_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*VerificationMethod) - (*x.list)[i] = concreteValue -} - -func (x *_Identity_5_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*VerificationMethod) - *x.list = append(*x.list, concreteValue) -} - -func (x *_Identity_5_list) AppendMutable() protoreflect.Value { - v := new(VerificationMethod) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_Identity_5_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_Identity_5_list) NewElement() protoreflect.Value { - v := new(VerificationMethod) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_Identity_5_list) IsValid() bool { - return x.list != nil -} - -var ( - md_Identity protoreflect.MessageDescriptor - fd_Identity_id protoreflect.FieldDescriptor - fd_Identity_subject protoreflect.FieldDescriptor - fd_Identity_controller protoreflect.FieldDescriptor - fd_Identity_credentials protoreflect.FieldDescriptor - fd_Identity_verification_methods protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_Identity = File_did_v1_types_proto.Messages().ByName("Identity") - fd_Identity_id = md_Identity.Fields().ByName("id") - fd_Identity_subject = md_Identity.Fields().ByName("subject") - fd_Identity_controller = md_Identity.Fields().ByName("controller") - fd_Identity_credentials = md_Identity.Fields().ByName("credentials") - fd_Identity_verification_methods = md_Identity.Fields().ByName("verification_methods") -} - -var _ protoreflect.Message = (*fastReflection_Identity)(nil) - -type fastReflection_Identity Identity - -func (x *Identity) ProtoReflect() protoreflect.Message { - return (*fastReflection_Identity)(x) -} - -func (x *Identity) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_Identity_messageType fastReflection_Identity_messageType -var _ protoreflect.MessageType = fastReflection_Identity_messageType{} - -type fastReflection_Identity_messageType struct{} - -func (x fastReflection_Identity_messageType) Zero() protoreflect.Message { - return (*fastReflection_Identity)(nil) -} -func (x fastReflection_Identity_messageType) New() protoreflect.Message { - return new(fastReflection_Identity) -} -func (x fastReflection_Identity_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_Identity -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_Identity) Descriptor() protoreflect.MessageDescriptor { - return md_Identity -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_Identity) Type() protoreflect.MessageType { - return _fastReflection_Identity_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_Identity) New() protoreflect.Message { - return new(fastReflection_Identity) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_Identity) Interface() protoreflect.ProtoMessage { - return (*Identity)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_Identity) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_Identity_id, value) { - return - } - } - if x.Subject != "" { - value := protoreflect.ValueOfString(x.Subject) - if !f(fd_Identity_subject, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_Identity_controller, value) { - return - } - } - if len(x.Credentials) != 0 { - value := protoreflect.ValueOfList(&_Identity_4_list{list: &x.Credentials}) - if !f(fd_Identity_credentials, value) { - return - } - } - if len(x.VerificationMethods) != 0 { - value := protoreflect.ValueOfList(&_Identity_5_list{list: &x.VerificationMethods}) - if !f(fd_Identity_verification_methods, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_Identity) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.Identity.id": - return x.Id != "" - case "did.v1.Identity.subject": - return x.Subject != "" - case "did.v1.Identity.controller": - return x.Controller != "" - case "did.v1.Identity.credentials": - return len(x.Credentials) != 0 - case "did.v1.Identity.verification_methods": - return len(x.VerificationMethods) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Identity")) - } - panic(fmt.Errorf("message did.v1.Identity does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Identity) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.Identity.id": - x.Id = "" - case "did.v1.Identity.subject": - x.Subject = "" - case "did.v1.Identity.controller": - x.Controller = "" - case "did.v1.Identity.credentials": - x.Credentials = nil - case "did.v1.Identity.verification_methods": - x.VerificationMethods = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Identity")) - } - panic(fmt.Errorf("message did.v1.Identity does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_Identity) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.Identity.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.Identity.subject": - value := x.Subject - return protoreflect.ValueOfString(value) - case "did.v1.Identity.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.Identity.credentials": - if len(x.Credentials) == 0 { - return protoreflect.ValueOfList(&_Identity_4_list{}) - } - listValue := &_Identity_4_list{list: &x.Credentials} - return protoreflect.ValueOfList(listValue) - case "did.v1.Identity.verification_methods": - if len(x.VerificationMethods) == 0 { - return protoreflect.ValueOfList(&_Identity_5_list{}) - } - listValue := &_Identity_5_list{list: &x.VerificationMethods} - return protoreflect.ValueOfList(listValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Identity")) - } - panic(fmt.Errorf("message did.v1.Identity does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Identity) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.Identity.id": - x.Id = value.Interface().(string) - case "did.v1.Identity.subject": - x.Subject = value.Interface().(string) - case "did.v1.Identity.controller": - x.Controller = value.Interface().(string) - case "did.v1.Identity.credentials": - lv := value.List() - clv := lv.(*_Identity_4_list) - x.Credentials = *clv.list - case "did.v1.Identity.verification_methods": - lv := value.List() - clv := lv.(*_Identity_5_list) - x.VerificationMethods = *clv.list - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Identity")) - } - panic(fmt.Errorf("message did.v1.Identity does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Identity) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Identity.credentials": - if x.Credentials == nil { - x.Credentials = []*Credential{} - } - value := &_Identity_4_list{list: &x.Credentials} - return protoreflect.ValueOfList(value) - case "did.v1.Identity.verification_methods": - if x.VerificationMethods == nil { - x.VerificationMethods = []*VerificationMethod{} - } - value := &_Identity_5_list{list: &x.VerificationMethods} - return protoreflect.ValueOfList(value) - case "did.v1.Identity.id": - panic(fmt.Errorf("field id of message did.v1.Identity is not mutable")) - case "did.v1.Identity.subject": - panic(fmt.Errorf("field subject of message did.v1.Identity is not mutable")) - case "did.v1.Identity.controller": - panic(fmt.Errorf("field controller of message did.v1.Identity is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Identity")) - } - panic(fmt.Errorf("message did.v1.Identity does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_Identity) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.Identity.id": - return protoreflect.ValueOfString("") - case "did.v1.Identity.subject": - return protoreflect.ValueOfString("") - case "did.v1.Identity.controller": - return protoreflect.ValueOfString("") - case "did.v1.Identity.credentials": - list := []*Credential{} - return protoreflect.ValueOfList(&_Identity_4_list{list: &list}) - case "did.v1.Identity.verification_methods": - list := []*VerificationMethod{} - return protoreflect.ValueOfList(&_Identity_5_list{list: &list}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.Identity")) - } - panic(fmt.Errorf("message did.v1.Identity does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_Identity) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.Identity", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_Identity) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_Identity) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_Identity) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_Identity) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*Identity) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Subject) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Credentials) > 0 { - for _, e := range x.Credentials { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.VerificationMethods) > 0 { - for _, e := range x.VerificationMethods { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*Identity) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.VerificationMethods) > 0 { - for iNdEx := len(x.VerificationMethods) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.VerificationMethods[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x2a - } - } - if len(x.Credentials) > 0 { - for iNdEx := len(x.Credentials) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Credentials[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x22 - } - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x1a - } - if len(x.Subject) > 0 { - i -= len(x.Subject) - copy(dAtA[i:], x.Subject) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Subject))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*Identity) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Identity: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Identity: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Subject", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Subject = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credentials", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Credentials = append(x.Credentials, &Credential{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credentials[len(x.Credentials)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VerificationMethods", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.VerificationMethods = append(x.VerificationMethods, &VerificationMethod{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.VerificationMethods[len(x.VerificationMethods)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_PubKey protoreflect.MessageDescriptor - fd_PubKey_id protoreflect.FieldDescriptor - fd_PubKey_key protoreflect.FieldDescriptor - fd_PubKey_key_type protoreflect.FieldDescriptor - fd_PubKey_controller protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_PubKey = File_did_v1_types_proto.Messages().ByName("PubKey") - fd_PubKey_id = md_PubKey.Fields().ByName("id") - fd_PubKey_key = md_PubKey.Fields().ByName("key") - fd_PubKey_key_type = md_PubKey.Fields().ByName("key_type") - fd_PubKey_controller = md_PubKey.Fields().ByName("controller") -} - -var _ protoreflect.Message = (*fastReflection_PubKey)(nil) - -type fastReflection_PubKey PubKey - -func (x *PubKey) ProtoReflect() protoreflect.Message { - return (*fastReflection_PubKey)(x) -} - -func (x *PubKey) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_PubKey_messageType fastReflection_PubKey_messageType -var _ protoreflect.MessageType = fastReflection_PubKey_messageType{} - -type fastReflection_PubKey_messageType struct{} - -func (x fastReflection_PubKey_messageType) Zero() protoreflect.Message { - return (*fastReflection_PubKey)(nil) -} -func (x fastReflection_PubKey_messageType) New() protoreflect.Message { - return new(fastReflection_PubKey) -} -func (x fastReflection_PubKey_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_PubKey -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_PubKey) Descriptor() protoreflect.MessageDescriptor { - return md_PubKey -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_PubKey) Type() protoreflect.MessageType { - return _fastReflection_PubKey_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_PubKey) New() protoreflect.Message { - return new(fastReflection_PubKey) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_PubKey) Interface() protoreflect.ProtoMessage { - return (*PubKey)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_PubKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_PubKey_id, value) { - return - } - } - if len(x.Key) != 0 { - value := protoreflect.ValueOfBytes(x.Key) - if !f(fd_PubKey_key, value) { - return - } - } - if x.KeyType != "" { - value := protoreflect.ValueOfString(x.KeyType) - if !f(fd_PubKey_key_type, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_PubKey_controller, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_PubKey) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.PubKey.id": - return x.Id != "" - case "did.v1.PubKey.key": - return len(x.Key) != 0 - case "did.v1.PubKey.key_type": - return x.KeyType != "" - case "did.v1.PubKey.controller": - return x.Controller != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.PubKey.id": - x.Id = "" - case "did.v1.PubKey.key": - x.Key = nil - case "did.v1.PubKey.key_type": - x.KeyType = "" - case "did.v1.PubKey.controller": - x.Controller = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_PubKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.PubKey.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.PubKey.key": - value := x.Key - return protoreflect.ValueOfBytes(value) - case "did.v1.PubKey.key_type": - value := x.KeyType - return protoreflect.ValueOfString(value) - case "did.v1.PubKey.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.PubKey.id": - x.Id = value.Interface().(string) - case "did.v1.PubKey.key": - x.Key = value.Bytes() - case "did.v1.PubKey.key_type": - x.KeyType = value.Interface().(string) - case "did.v1.PubKey.controller": - x.Controller = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.PubKey.id": - panic(fmt.Errorf("field id of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.key": - panic(fmt.Errorf("field key of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.key_type": - panic(fmt.Errorf("field key_type of message did.v1.PubKey is not mutable")) - case "did.v1.PubKey.controller": - panic(fmt.Errorf("field controller of message did.v1.PubKey is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_PubKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.PubKey.id": - return protoreflect.ValueOfString("") - case "did.v1.PubKey.key": - return protoreflect.ValueOfBytes(nil) - case "did.v1.PubKey.key_type": - return protoreflect.ValueOfString("") - case "did.v1.PubKey.controller": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.PubKey")) - } - panic(fmt.Errorf("message did.v1.PubKey does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_PubKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.PubKey", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_PubKey) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PubKey) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_PubKey) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_PubKey) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*PubKey) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Key) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.KeyType) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*PubKey) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x22 - } - if len(x.KeyType) > 0 { - i -= len(x.KeyType) - copy(dAtA[i:], x.KeyType) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.KeyType))) - i-- - dAtA[i] = 0x1a - } - if len(x.Key) > 0 { - i -= len(x.Key) - copy(dAtA[i:], x.Key) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Key))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*PubKey) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PubKey: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Key = append(x.Key[:0], dAtA[iNdEx:postIndex]...) - if x.Key == nil { - x.Key = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field KeyType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.KeyType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.Map = (*_VerificationMethod_4_map)(nil) - -type _VerificationMethod_4_map struct { - m *map[string]string -} - -func (x *_VerificationMethod_4_map) Len() int { - if x.m == nil { - return 0 - } - return len(*x.m) -} - -func (x *_VerificationMethod_4_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { - if x.m == nil { - return - } - for k, v := range *x.m { - mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) - mapValue := protoreflect.ValueOfString(v) - if !f(mapKey, mapValue) { - break - } - } -} - -func (x *_VerificationMethod_4_map) Has(key protoreflect.MapKey) bool { - if x.m == nil { - return false - } - keyUnwrapped := key.String() - concreteValue := keyUnwrapped - _, ok := (*x.m)[concreteValue] - return ok -} - -func (x *_VerificationMethod_4_map) Clear(key protoreflect.MapKey) { - if x.m == nil { - return - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - delete(*x.m, concreteKey) -} - -func (x *_VerificationMethod_4_map) Get(key protoreflect.MapKey) protoreflect.Value { - if x.m == nil { - return protoreflect.Value{} - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - v, ok := (*x.m)[concreteKey] - if !ok { - return protoreflect.Value{} - } - return protoreflect.ValueOfString(v) -} - -func (x *_VerificationMethod_4_map) Set(key protoreflect.MapKey, value protoreflect.Value) { - if !key.IsValid() || !value.IsValid() { - panic("invalid key or value provided") - } - keyUnwrapped := key.String() - concreteKey := keyUnwrapped - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.m)[concreteKey] = concreteValue -} - -func (x *_VerificationMethod_4_map) Mutable(key protoreflect.MapKey) protoreflect.Value { - panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") -} - -func (x *_VerificationMethod_4_map) NewValue() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_VerificationMethod_4_map) IsValid() bool { - return x.m != nil -} - -var ( - md_VerificationMethod protoreflect.MessageDescriptor - fd_VerificationMethod_id protoreflect.FieldDescriptor - fd_VerificationMethod_controller protoreflect.FieldDescriptor - fd_VerificationMethod_public_key_multibase protoreflect.FieldDescriptor - fd_VerificationMethod_public_key_jwks protoreflect.FieldDescriptor -) - -func init() { - file_did_v1_types_proto_init() - md_VerificationMethod = File_did_v1_types_proto.Messages().ByName("VerificationMethod") - fd_VerificationMethod_id = md_VerificationMethod.Fields().ByName("id") - fd_VerificationMethod_controller = md_VerificationMethod.Fields().ByName("controller") - fd_VerificationMethod_public_key_multibase = md_VerificationMethod.Fields().ByName("public_key_multibase") - fd_VerificationMethod_public_key_jwks = md_VerificationMethod.Fields().ByName("public_key_jwks") -} - -var _ protoreflect.Message = (*fastReflection_VerificationMethod)(nil) - -type fastReflection_VerificationMethod VerificationMethod - -func (x *VerificationMethod) ProtoReflect() protoreflect.Message { - return (*fastReflection_VerificationMethod)(x) -} - -func (x *VerificationMethod) slowProtoReflect() protoreflect.Message { - mi := &file_did_v1_types_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) -} - -var _fastReflection_VerificationMethod_messageType fastReflection_VerificationMethod_messageType -var _ protoreflect.MessageType = fastReflection_VerificationMethod_messageType{} - -type fastReflection_VerificationMethod_messageType struct{} - -func (x fastReflection_VerificationMethod_messageType) Zero() protoreflect.Message { - return (*fastReflection_VerificationMethod)(nil) -} -func (x fastReflection_VerificationMethod_messageType) New() protoreflect.Message { - return new(fastReflection_VerificationMethod) -} -func (x fastReflection_VerificationMethod_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_VerificationMethod -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_VerificationMethod) Descriptor() protoreflect.MessageDescriptor { - return md_VerificationMethod -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_VerificationMethod) Type() protoreflect.MessageType { - return _fastReflection_VerificationMethod_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_VerificationMethod) New() protoreflect.Message { - return new(fastReflection_VerificationMethod) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_VerificationMethod) Interface() protoreflect.ProtoMessage { - return (*VerificationMethod)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_VerificationMethod) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_VerificationMethod_id, value) { - return - } - } - if x.Controller != "" { - value := protoreflect.ValueOfString(x.Controller) - if !f(fd_VerificationMethod_controller, value) { - return - } - } - if x.PublicKeyMultibase != "" { - value := protoreflect.ValueOfString(x.PublicKeyMultibase) - if !f(fd_VerificationMethod_public_key_multibase, value) { - return - } - } - if len(x.PublicKeyJwks) != 0 { - value := protoreflect.ValueOfMap(&_VerificationMethod_4_map{m: &x.PublicKeyJwks}) - if !f(fd_VerificationMethod_public_key_jwks, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_VerificationMethod) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "did.v1.VerificationMethod.id": - return x.Id != "" - case "did.v1.VerificationMethod.controller": - return x.Controller != "" - case "did.v1.VerificationMethod.public_key_multibase": - return x.PublicKeyMultibase != "" - case "did.v1.VerificationMethod.public_key_jwks": - return len(x.PublicKeyJwks) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) - } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "did.v1.VerificationMethod.id": - x.Id = "" - case "did.v1.VerificationMethod.controller": - x.Controller = "" - case "did.v1.VerificationMethod.public_key_multibase": - x.PublicKeyMultibase = "" - case "did.v1.VerificationMethod.public_key_jwks": - x.PublicKeyJwks = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) - } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_VerificationMethod) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "did.v1.VerificationMethod.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "did.v1.VerificationMethod.controller": - value := x.Controller - return protoreflect.ValueOfString(value) - case "did.v1.VerificationMethod.public_key_multibase": - value := x.PublicKeyMultibase - return protoreflect.ValueOfString(value) - case "did.v1.VerificationMethod.public_key_jwks": - if len(x.PublicKeyJwks) == 0 { - return protoreflect.ValueOfMap(&_VerificationMethod_4_map{}) - } - mapValue := &_VerificationMethod_4_map{m: &x.PublicKeyJwks} - return protoreflect.ValueOfMap(mapValue) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) - } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "did.v1.VerificationMethod.id": - x.Id = value.Interface().(string) - case "did.v1.VerificationMethod.controller": - x.Controller = value.Interface().(string) - case "did.v1.VerificationMethod.public_key_multibase": - x.PublicKeyMultibase = value.Interface().(string) - case "did.v1.VerificationMethod.public_key_jwks": - mv := value.Map() - cmv := mv.(*_VerificationMethod_4_map) - x.PublicKeyJwks = *cmv.m - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) - } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.VerificationMethod.public_key_jwks": - if x.PublicKeyJwks == nil { - x.PublicKeyJwks = make(map[string]string) - } - value := &_VerificationMethod_4_map{m: &x.PublicKeyJwks} - return protoreflect.ValueOfMap(value) - case "did.v1.VerificationMethod.id": - panic(fmt.Errorf("field id of message did.v1.VerificationMethod is not mutable")) - case "did.v1.VerificationMethod.controller": - panic(fmt.Errorf("field controller of message did.v1.VerificationMethod is not mutable")) - case "did.v1.VerificationMethod.public_key_multibase": - panic(fmt.Errorf("field public_key_multibase of message did.v1.VerificationMethod is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) - } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_VerificationMethod) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "did.v1.VerificationMethod.id": - return protoreflect.ValueOfString("") - case "did.v1.VerificationMethod.controller": - return protoreflect.ValueOfString("") - case "did.v1.VerificationMethod.public_key_multibase": - return protoreflect.ValueOfString("") - case "did.v1.VerificationMethod.public_key_jwks": - m := make(map[string]string) - return protoreflect.ValueOfMap(&_VerificationMethod_4_map{m: &m}) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: did.v1.VerificationMethod")) - } - panic(fmt.Errorf("message did.v1.VerificationMethod does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_VerificationMethod) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in did.v1.VerificationMethod", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_VerificationMethod) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VerificationMethod) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_VerificationMethod) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_VerificationMethod) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*VerificationMethod) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Controller) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.PublicKeyMultibase) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.PublicKeyJwks) > 0 { - SiZeMaP := func(k string, v string) { - mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) - n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) - } - if options.Deterministic { - sortme := make([]string, 0, len(x.PublicKeyJwks)) - for k := range x.PublicKeyJwks { - sortme = append(sortme, k) - } - sort.Strings(sortme) - for _, k := range sortme { - v := x.PublicKeyJwks[k] - SiZeMaP(k, v) - } - } else { - for k, v := range x.PublicKeyJwks { - SiZeMaP(k, v) - } - } - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*VerificationMethod) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.PublicKeyJwks) > 0 { - MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x22 - return protoiface.MarshalOutput{}, nil - } - if options.Deterministic { - keysForPublicKeyJwks := make([]string, 0, len(x.PublicKeyJwks)) - for k := range x.PublicKeyJwks { - keysForPublicKeyJwks = append(keysForPublicKeyJwks, string(k)) - } - sort.Slice(keysForPublicKeyJwks, func(i, j int) bool { - return keysForPublicKeyJwks[i] < keysForPublicKeyJwks[j] - }) - for iNdEx := len(keysForPublicKeyJwks) - 1; iNdEx >= 0; iNdEx-- { - v := x.PublicKeyJwks[string(keysForPublicKeyJwks[iNdEx])] - out, err := MaRsHaLmAp(keysForPublicKeyJwks[iNdEx], v) - if err != nil { - return out, err - } - } - } else { - for k := range x.PublicKeyJwks { - v := x.PublicKeyJwks[k] - out, err := MaRsHaLmAp(k, v) - if err != nil { - return out, err - } - } - } - } - if len(x.PublicKeyMultibase) > 0 { - i -= len(x.PublicKeyMultibase) - copy(dAtA[i:], x.PublicKeyMultibase) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PublicKeyMultibase))) - i-- - dAtA[i] = 0x1a - } - if len(x.Controller) > 0 { - i -= len(x.Controller) - copy(dAtA[i:], x.Controller) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller))) - i-- - dAtA[i] = 0x12 - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*VerificationMethod) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VerificationMethod: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VerificationMethod: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKeyMultibase", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.PublicKeyMultibase = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PublicKeyJwks", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.PublicKeyJwks == nil { - x.PublicKeyJwks = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapkey > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postStringIndexmapvalue > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - x.PublicKeyJwks[mapkey] = mapvalue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: did/v1/types.proto - -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) -) - -// AssetInfo defines the asset info -type AssetInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` - AssetType string `protobuf:"bytes,4,opt,name=asset_type,json=assetType,proto3" json:"asset_type,omitempty"` - OriginChain string `protobuf:"bytes,5,opt,name=origin_chain,json=originChain,proto3" json:"origin_chain,omitempty"` - OriginDenom string `protobuf:"bytes,6,opt,name=origin_denom,json=originDenom,proto3" json:"origin_denom,omitempty"` - Decimals int32 `protobuf:"varint,7,opt,name=decimals,proto3" json:"decimals,omitempty"` - Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` - ImageUrl string `protobuf:"bytes,9,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"` - CoingeckoId string `protobuf:"bytes,10,opt,name=coingecko_id,json=coingeckoId,proto3" json:"coingecko_id,omitempty"` - IsEnabled bool `protobuf:"varint,11,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"` - IbcPath string `protobuf:"bytes,12,opt,name=ibc_path,json=ibcPath,proto3" json:"ibc_path,omitempty"` - IbcChannel string `protobuf:"bytes,13,opt,name=ibc_channel,json=ibcChannel,proto3" json:"ibc_channel,omitempty"` - IbcPort string `protobuf:"bytes,14,opt,name=ibc_port,json=ibcPort,proto3" json:"ibc_port,omitempty"` -} - -func (x *AssetInfo) Reset() { - *x = AssetInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AssetInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AssetInfo) ProtoMessage() {} - -// Deprecated: Use AssetInfo.ProtoReflect.Descriptor instead. -func (*AssetInfo) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{0} -} - -func (x *AssetInfo) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *AssetInfo) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *AssetInfo) GetSymbol() string { - if x != nil { - return x.Symbol - } - return "" -} - -func (x *AssetInfo) GetAssetType() string { - if x != nil { - return x.AssetType - } - return "" -} - -func (x *AssetInfo) GetOriginChain() string { - if x != nil { - return x.OriginChain - } - return "" -} - -func (x *AssetInfo) GetOriginDenom() string { - if x != nil { - return x.OriginDenom - } - return "" -} - -func (x *AssetInfo) GetDecimals() int32 { - if x != nil { - return x.Decimals - } - return 0 -} - -func (x *AssetInfo) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *AssetInfo) GetImageUrl() string { - if x != nil { - return x.ImageUrl - } - return "" -} - -func (x *AssetInfo) GetCoingeckoId() string { - if x != nil { - return x.CoingeckoId - } - return "" -} - -func (x *AssetInfo) GetIsEnabled() bool { - if x != nil { - return x.IsEnabled - } - return false -} - -func (x *AssetInfo) GetIbcPath() string { - if x != nil { - return x.IbcPath - } - return "" -} - -func (x *AssetInfo) GetIbcChannel() string { - if x != nil { - return x.IbcChannel - } - return "" -} - -func (x *AssetInfo) GetIbcPort() string { - if x != nil { - return x.IbcPort - } - return "" -} - -// ChainInfo defines the chain info -type ChainInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Symbol string `protobuf:"bytes,4,opt,name=symbol,proto3" json:"symbol,omitempty"` - Bech32Prefix string `protobuf:"bytes,5,opt,name=bech32_prefix,json=bech32Prefix,proto3" json:"bech32_prefix,omitempty"` - GenesisTime string `protobuf:"bytes,6,opt,name=genesis_time,json=genesisTime,proto3" json:"genesis_time,omitempty"` - GrpcEndpoints []*Endpoint `protobuf:"bytes,7,rep,name=grpc_endpoints,json=grpcEndpoints,proto3" json:"grpc_endpoints,omitempty"` - RestEndpoints []*Endpoint `protobuf:"bytes,8,rep,name=rest_endpoints,json=restEndpoints,proto3" json:"rest_endpoints,omitempty"` - Explorer *ExplorerInfo `protobuf:"bytes,9,opt,name=explorer,proto3" json:"explorer,omitempty"` - FeeInfo *FeeInfo `protobuf:"bytes,10,opt,name=fee_info,json=feeInfo,proto3" json:"fee_info,omitempty"` -} - -func (x *ChainInfo) Reset() { - *x = ChainInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChainInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChainInfo) ProtoMessage() {} - -// Deprecated: Use ChainInfo.ProtoReflect.Descriptor instead. -func (*ChainInfo) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{1} -} - -func (x *ChainInfo) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *ChainInfo) GetChainId() string { - if x != nil { - return x.ChainId - } - return "" -} - -func (x *ChainInfo) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ChainInfo) GetSymbol() string { - if x != nil { - return x.Symbol - } - return "" -} - -func (x *ChainInfo) GetBech32Prefix() string { - if x != nil { - return x.Bech32Prefix - } - return "" -} - -func (x *ChainInfo) GetGenesisTime() string { - if x != nil { - return x.GenesisTime - } - return "" -} - -func (x *ChainInfo) GetGrpcEndpoints() []*Endpoint { - if x != nil { - return x.GrpcEndpoints - } - return nil -} - -func (x *ChainInfo) GetRestEndpoints() []*Endpoint { - if x != nil { - return x.RestEndpoints - } - return nil -} - -func (x *ChainInfo) GetExplorer() *ExplorerInfo { - if x != nil { - return x.Explorer - } - return nil -} - -func (x *ChainInfo) GetFeeInfo() *FeeInfo { - if x != nil { - return x.FeeInfo - } - return nil -} - -// Credential defines a WebAuthn credential -type Credential struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - CredentialType string `protobuf:"bytes,2,opt,name=credential_type,json=credentialType,proto3" json:"credential_type,omitempty"` - CredentialId []byte `protobuf:"bytes,3,opt,name=credential_id,json=credentialId,proto3" json:"credential_id,omitempty"` - Transport []string `protobuf:"bytes,4,rep,name=transport,proto3" json:"transport,omitempty"` - AttestationType string `protobuf:"bytes,5,opt,name=attestation_type,json=attestationType,proto3" json:"attestation_type,omitempty"` - DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Controller string `protobuf:"bytes,7,opt,name=controller,proto3" json:"controller,omitempty"` -} - -func (x *Credential) Reset() { - *x = Credential{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Credential) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Credential) ProtoMessage() {} - -// Deprecated: Use Credential.ProtoReflect.Descriptor instead. -func (*Credential) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{2} -} - -func (x *Credential) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Credential) GetCredentialType() string { - if x != nil { - return x.CredentialType - } - return "" -} - -func (x *Credential) GetCredentialId() []byte { - if x != nil { - return x.CredentialId - } - return nil -} - -func (x *Credential) GetTransport() []string { - if x != nil { - return x.Transport - } - return nil -} - -func (x *Credential) GetAttestationType() string { - if x != nil { - return x.AttestationType - } - return "" -} - -func (x *Credential) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *Credential) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -// Document defines a DID document -type Document struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - VerificationMethods []*VerificationMethod `protobuf:"bytes,2,rep,name=verification_methods,json=verificationMethods,proto3" json:"verification_methods,omitempty"` - Authentication []string `protobuf:"bytes,4,rep,name=authentication,proto3" json:"authentication,omitempty"` - AssertionMethod []string `protobuf:"bytes,5,rep,name=assertion_method,json=assertionMethod,proto3" json:"assertion_method,omitempty"` - CapabilityDelegation []string `protobuf:"bytes,7,rep,name=capability_delegation,json=capabilityDelegation,proto3" json:"capability_delegation,omitempty"` - CapabilityInvocation []string `protobuf:"bytes,8,rep,name=capability_invocation,json=capabilityInvocation,proto3" json:"capability_invocation,omitempty"` -} - -func (x *Document) Reset() { - *x = Document{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Document) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Document) ProtoMessage() {} - -// Deprecated: Use Document.ProtoReflect.Descriptor instead. -func (*Document) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{3} -} - -func (x *Document) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Document) GetVerificationMethods() []*VerificationMethod { - if x != nil { - return x.VerificationMethods - } - return nil -} - -func (x *Document) GetAuthentication() []string { - if x != nil { - return x.Authentication - } - return nil -} - -func (x *Document) GetAssertionMethod() []string { - if x != nil { - return x.AssertionMethod - } - return nil -} - -func (x *Document) GetCapabilityDelegation() []string { - if x != nil { - return x.CapabilityDelegation - } - return nil -} - -func (x *Document) GetCapabilityInvocation() []string { - if x != nil { - return x.CapabilityInvocation - } - return nil -} - -// Endpoint defines an endpoint -type Endpoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - IsPrimary bool `protobuf:"varint,2,opt,name=is_primary,json=isPrimary,proto3" json:"is_primary,omitempty"` -} - -func (x *Endpoint) Reset() { - *x = Endpoint{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Endpoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Endpoint) ProtoMessage() {} - -// Deprecated: Use Endpoint.ProtoReflect.Descriptor instead. -func (*Endpoint) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{4} -} - -func (x *Endpoint) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *Endpoint) GetIsPrimary() bool { - if x != nil { - return x.IsPrimary - } - return false -} - -// ExplorerInfo defines the explorer info -type ExplorerInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` -} - -func (x *ExplorerInfo) Reset() { - *x = ExplorerInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExplorerInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExplorerInfo) ProtoMessage() {} - -// Deprecated: Use ExplorerInfo.ProtoReflect.Descriptor instead. -func (*ExplorerInfo) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{5} -} - -func (x *ExplorerInfo) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ExplorerInfo) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -// FeeInfo defines a fee info -type FeeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BaseDenom string `protobuf:"bytes,1,opt,name=base_denom,json=baseDenom,proto3" json:"base_denom,omitempty"` - FeeRates []string `protobuf:"bytes,2,rep,name=fee_rates,json=feeRates,proto3" json:"fee_rates,omitempty"` - InitGasLimit int32 `protobuf:"varint,3,opt,name=init_gas_limit,json=initGasLimit,proto3" json:"init_gas_limit,omitempty"` - IsSimulable bool `protobuf:"varint,4,opt,name=is_simulable,json=isSimulable,proto3" json:"is_simulable,omitempty"` - GasMultiply float64 `protobuf:"fixed64,5,opt,name=gas_multiply,json=gasMultiply,proto3" json:"gas_multiply,omitempty"` -} - -func (x *FeeInfo) Reset() { - *x = FeeInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FeeInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FeeInfo) ProtoMessage() {} - -// Deprecated: Use FeeInfo.ProtoReflect.Descriptor instead. -func (*FeeInfo) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{6} -} - -func (x *FeeInfo) GetBaseDenom() string { - if x != nil { - return x.BaseDenom - } - return "" -} - -func (x *FeeInfo) GetFeeRates() []string { - if x != nil { - return x.FeeRates - } - return nil -} - -func (x *FeeInfo) GetInitGasLimit() int32 { - if x != nil { - return x.InitGasLimit - } - return 0 -} - -func (x *FeeInfo) GetIsSimulable() bool { - if x != nil { - return x.IsSimulable - } - return false -} - -func (x *FeeInfo) GetGasMultiply() float64 { - if x != nil { - return x.GasMultiply - } - return 0 -} - -// Identity defines an associated profile for a did subject -type Identity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` - Controller string `protobuf:"bytes,3,opt,name=controller,proto3" json:"controller,omitempty"` - Credentials []*Credential `protobuf:"bytes,4,rep,name=credentials,proto3" json:"credentials,omitempty"` - VerificationMethods []*VerificationMethod `protobuf:"bytes,5,rep,name=verification_methods,json=verificationMethods,proto3" json:"verification_methods,omitempty"` -} - -func (x *Identity) Reset() { - *x = Identity{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Identity) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Identity) ProtoMessage() {} - -// Deprecated: Use Identity.ProtoReflect.Descriptor instead. -func (*Identity) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{7} -} - -func (x *Identity) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Identity) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -func (x *Identity) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *Identity) GetCredentials() []*Credential { - if x != nil { - return x.Credentials - } - return nil -} - -func (x *Identity) GetVerificationMethods() []*VerificationMethod { - if x != nil { - return x.VerificationMethods - } - return nil -} - -// PubKey defines a public key for a did -type PubKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` - KeyType string `protobuf:"bytes,3,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` - Controller string `protobuf:"bytes,4,opt,name=controller,proto3" json:"controller,omitempty"` -} - -func (x *PubKey) Reset() { - *x = PubKey{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PubKey) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PubKey) ProtoMessage() {} - -// Deprecated: Use PubKey.ProtoReflect.Descriptor instead. -func (*PubKey) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{8} -} - -func (x *PubKey) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *PubKey) GetKey() []byte { - if x != nil { - return x.Key - } - return nil -} - -func (x *PubKey) GetKeyType() string { - if x != nil { - return x.KeyType - } - return "" -} - -func (x *PubKey) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -// VerificationMethod defines a verification method -type VerificationMethod struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` - // The delegation proof or verification method - PublicKeyMultibase string `protobuf:"bytes,3,opt,name=public_key_multibase,json=publicKeyMultibase,proto3" json:"public_key_multibase,omitempty"` - // Public Key JWKS is a map of the associated public keys - PublicKeyJwks map[string]string `protobuf:"bytes,4,rep,name=public_key_jwks,json=publicKeyJwks,proto3" json:"public_key_jwks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *VerificationMethod) Reset() { - *x = VerificationMethod{} - if protoimpl.UnsafeEnabled { - mi := &file_did_v1_types_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VerificationMethod) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerificationMethod) ProtoMessage() {} - -// Deprecated: Use VerificationMethod.ProtoReflect.Descriptor instead. -func (*VerificationMethod) Descriptor() ([]byte, []int) { - return file_did_v1_types_proto_rawDescGZIP(), []int{9} -} - -func (x *VerificationMethod) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *VerificationMethod) GetController() string { - if x != nil { - return x.Controller - } - return "" -} - -func (x *VerificationMethod) GetPublicKeyMultibase() string { - if x != nil { - return x.PublicKeyMultibase - } - return "" -} - -func (x *VerificationMethod) GetPublicKeyJwks() map[string]string { - if x != nil { - return x.PublicKeyJwks - } - return nil -} - -var File_did_v1_types_proto protoreflect.FileDescriptor - -var file_did_v1_types_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x17, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x03, 0x0a, 0x09, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, - 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, - 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x69, 0x6e, 0x67, 0x65, 0x63, 0x6b, 0x6f, 0x5f, - 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x69, 0x6e, 0x67, 0x65, - 0x63, 0x6b, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x62, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x62, 0x63, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x1f, 0x0a, 0x0b, 0x69, 0x62, 0x63, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x62, 0x63, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x12, 0x19, 0x0a, 0x08, 0x69, 0x62, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x69, 0x62, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xfa, 0x02, 0x0a, 0x09, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x65, 0x63, 0x68, 0x33, 0x32, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x65, 0x63, 0x68, 0x33, 0x32, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x65, 0x6e, - 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0e, 0x67, 0x72, 0x70, 0x63, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x37, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x72, 0x65, 0x73, - 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x65, 0x78, - 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x08, - 0x66, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x07, 0x66, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xf6, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x22, 0xa6, 0x02, 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4d, - 0x0a, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3b, 0x0a, 0x08, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, - 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x34, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6c, 0x6f, - 0x72, 0x65, 0x72, 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, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xb1, 0x01, - 0x0a, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, - 0x61, 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, - 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, - 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x67, 0x61, - 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, - 0x6e, 0x69, 0x74, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, - 0x73, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, - 0x79, 0x22, 0xd9, 0x01, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x4d, - 0x0a, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x65, 0x0a, - 0x06, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x8f, 0x02, 0x0a, 0x12, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x62, - 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x62, 0x61, 0x73, 0x65, 0x12, 0x55, 0x0a, - 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6a, 0x77, 0x6b, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x4a, 0x77, 0x6b, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, - 0x4a, 0x77, 0x6b, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, - 0x79, 0x4a, 0x77, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x7a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, - 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x68, 0x77, 0x61, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, - 0x69, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, - 0x58, 0xaa, 0x02, 0x06, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x06, 0x44, 0x69, 0x64, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x12, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x44, 0x69, 0x64, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_did_v1_types_proto_rawDescOnce sync.Once - file_did_v1_types_proto_rawDescData = file_did_v1_types_proto_rawDesc -) - -func file_did_v1_types_proto_rawDescGZIP() []byte { - file_did_v1_types_proto_rawDescOnce.Do(func() { - file_did_v1_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_did_v1_types_proto_rawDescData) - }) - return file_did_v1_types_proto_rawDescData -} - -var file_did_v1_types_proto_msgTypes = make([]protoimpl.MessageInfo, 11) -var file_did_v1_types_proto_goTypes = []interface{}{ - (*AssetInfo)(nil), // 0: did.v1.AssetInfo - (*ChainInfo)(nil), // 1: did.v1.ChainInfo - (*Credential)(nil), // 2: did.v1.Credential - (*Document)(nil), // 3: did.v1.Document - (*Endpoint)(nil), // 4: did.v1.Endpoint - (*ExplorerInfo)(nil), // 5: did.v1.ExplorerInfo - (*FeeInfo)(nil), // 6: did.v1.FeeInfo - (*Identity)(nil), // 7: did.v1.Identity - (*PubKey)(nil), // 8: did.v1.PubKey - (*VerificationMethod)(nil), // 9: did.v1.VerificationMethod - nil, // 10: did.v1.VerificationMethod.PublicKeyJwksEntry -} -var file_did_v1_types_proto_depIdxs = []int32{ - 4, // 0: did.v1.ChainInfo.grpc_endpoints:type_name -> did.v1.Endpoint - 4, // 1: did.v1.ChainInfo.rest_endpoints:type_name -> did.v1.Endpoint - 5, // 2: did.v1.ChainInfo.explorer:type_name -> did.v1.ExplorerInfo - 6, // 3: did.v1.ChainInfo.fee_info:type_name -> did.v1.FeeInfo - 9, // 4: did.v1.Document.verification_methods:type_name -> did.v1.VerificationMethod - 2, // 5: did.v1.Identity.credentials:type_name -> did.v1.Credential - 9, // 6: did.v1.Identity.verification_methods:type_name -> did.v1.VerificationMethod - 10, // 7: did.v1.VerificationMethod.public_key_jwks:type_name -> did.v1.VerificationMethod.PublicKeyJwksEntry - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name -} - -func init() { file_did_v1_types_proto_init() } -func file_did_v1_types_proto_init() { - if File_did_v1_types_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_did_v1_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AssetInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Credential); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Document); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Endpoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExplorerInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Identity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_did_v1_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerificationMethod); 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_did_v1_types_proto_rawDesc, - NumEnums: 0, - NumMessages: 11, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_did_v1_types_proto_goTypes, - DependencyIndexes: file_did_v1_types_proto_depIdxs, - MessageInfos: file_did_v1_types_proto_msgTypes, - }.Build() - File_did_v1_types_proto = out.File - file_did_v1_types_proto_rawDesc = nil - file_did_v1_types_proto_goTypes = nil - file_did_v1_types_proto_depIdxs = nil -} diff --git a/app/ante.go b/app/ante.go index ee57181c0..b79eaa7fe 100644 --- a/app/ante.go +++ b/app/ante.go @@ -47,8 +47,8 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { } poaDoGenTxRateValidation := false - poaRateFloor := sdkmath.LegacyMustNewDecFromStr("0.10") - poaRateCeil := sdkmath.LegacyMustNewDecFromStr("0.50") + poaRateFloor := sdkmath.LegacyMustNewDecFromStr("0.05") + poaRateCeil := sdkmath.LegacyMustNewDecFromStr("0.25") anteDecorators := []sdk.AnteDecorator{ ante.NewSetUpContextDecorator(), // outermost AnteDecorator. SetUpContext must be called first diff --git a/cmd/sonrd/main.go b/cmd/sonrd/main.go index fcca52569..5944aa356 100644 --- a/cmd/sonrd/main.go +++ b/cmd/sonrd/main.go @@ -8,12 +8,12 @@ import ( _ "github.com/joho/godotenv/autoload" "github.com/onsonr/sonr/app" - "github.com/onsonr/sonr/internal/tui" + "github.com/onsonr/sonr/internal/cli" ) func main() { rootCmd := NewRootCmd() - tui.AddTUICmds(rootCmd) + cli.AddTUICmds(rootCmd) if err := svrcmd.Execute(rootCmd, "", app.DefaultNodeHome); err != nil { log.NewLogger(rootCmd.OutOrStderr()).Error("failure when running app", "err", err) diff --git a/config/caddy/Caddyfile b/config/caddy/Caddyfile new file mode 100644 index 000000000..c97299e26 --- /dev/null +++ b/config/caddy/Caddyfile @@ -0,0 +1,33 @@ +{ + email team@sonr.id +} + +# Vaults at vault.sonr.id +vault.sonr.id { + tls { + dns cloudflare {env.CLOUDFLARE_API_TOKEN} + resolvers 1.1.1.1 + } + + # Match paths that are bech32 addresses + @vault path_regexp vaultPath ^/([a-z0-9]{42})(/.*|)$ + + handle @vault { + # Rewrite to IPFS gateway format + uri replace /{re.vaultPath.0} /ipns/{re.vaultPath.1}{re.vaultPath.2} + + # Proxy to IPFS gateway + reverse_proxy http://localhost:8080 + } + + file_server + + header { + Content-Type .wasm application/wasm + Service-Worker-Allowed "/" + # Add any other necessary headers + } + + # Optional: Enable compression + encode zstd gzip +} diff --git a/config/caddy/caddy.json b/config/caddy/caddy.json new file mode 100644 index 000000000..e69de29bb diff --git a/config/dwn/Config.pkl.go b/config/dwn/Config.pkl.go new file mode 100644 index 000000000..69b448bea --- /dev/null +++ b/config/dwn/Config.pkl.go @@ -0,0 +1,12 @@ +// Code generated from Pkl module `dwn`. DO NOT EDIT. +package dwn + +type Config struct { + Ipfs *IPFS `pkl:"ipfs" json:"ipfs,omitempty"` + + Sonr *Sonr `pkl:"sonr" json:"sonr,omitempty"` + + Motr *Motr `pkl:"motr" json:"motr,omitempty"` + + Schema *Schema `pkl:"schema" json:"schema,omitempty"` +} diff --git a/config/dwn/Dwn.pkl.go b/config/dwn/Dwn.pkl.go new file mode 100644 index 000000000..8bc5e41f5 --- /dev/null +++ b/config/dwn/Dwn.pkl.go @@ -0,0 +1,36 @@ +// Code generated from Pkl module `dwn`. DO NOT EDIT. +package dwn + +import ( + "context" + + "github.com/apple/pkl-go/pkl" +) + +type Dwn struct { +} + +// LoadFromPath loads the pkl module at the given path and evaluates it into a Dwn +func LoadFromPath(ctx context.Context, path string) (ret *Dwn, err error) { + evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions) + if err != nil { + return nil, err + } + defer func() { + cerr := evaluator.Close() + if err == nil { + err = cerr + } + }() + ret, err = Load(ctx, evaluator, pkl.FileSource(path)) + return ret, err +} + +// Load loads the pkl module at the given source and evaluates it with the given evaluator into a Dwn +func Load(ctx context.Context, evaluator pkl.Evaluator, source *pkl.ModuleSource) (*Dwn, error) { + var ret Dwn + if err := evaluator.EvaluateModule(ctx, source, &ret); err != nil { + return nil, err + } + return &ret, nil +} diff --git a/config/dwn/IPFS.pkl.go b/config/dwn/IPFS.pkl.go new file mode 100644 index 000000000..78084810b --- /dev/null +++ b/config/dwn/IPFS.pkl.go @@ -0,0 +1,8 @@ +// Code generated from Pkl module `dwn`. DO NOT EDIT. +package dwn + +type IPFS struct { + ApiUrl string `pkl:"apiUrl" json:"apiUrl,omitempty"` + + GatewayUrl string `pkl:"gatewayUrl" json:"gatewayUrl,omitempty"` +} diff --git a/config/dwn/Motr.pkl.go b/config/dwn/Motr.pkl.go new file mode 100644 index 000000000..bc144efd0 --- /dev/null +++ b/config/dwn/Motr.pkl.go @@ -0,0 +1,10 @@ +// Code generated from Pkl module `dwn`. DO NOT EDIT. +package dwn + +type Motr struct { + Keyshare string `pkl:"keyshare" json:"keyshare,omitempty"` + + Address string `pkl:"address" json:"address,omitempty"` + + Origin string `pkl:"origin" json:"origin,omitempty"` +} diff --git a/config/dwn/Schema.pkl.go b/config/dwn/Schema.pkl.go new file mode 100644 index 000000000..4ded3ac6a --- /dev/null +++ b/config/dwn/Schema.pkl.go @@ -0,0 +1,24 @@ +// Code generated from Pkl module `dwn`. DO NOT EDIT. +package dwn + +type Schema struct { + Version int `pkl:"version"` + + Account string `pkl:"account" json:"account,omitempty"` + + Asset string `pkl:"asset" json:"asset,omitempty"` + + Chain string `pkl:"chain" json:"chain,omitempty"` + + Credential string `pkl:"credential" json:"credential,omitempty"` + + Jwk string `pkl:"jwk" json:"jwk,omitempty"` + + Grant string `pkl:"grant" json:"grant,omitempty"` + + Keyshare string `pkl:"keyshare" json:"keyshare,omitempty"` + + PublicKey string `pkl:"publicKey" json:"publicKey,omitempty"` + + Profile string `pkl:"profile" json:"profile,omitempty"` +} diff --git a/config/dwn/Sonr.pkl.go b/config/dwn/Sonr.pkl.go new file mode 100644 index 000000000..8693af808 --- /dev/null +++ b/config/dwn/Sonr.pkl.go @@ -0,0 +1,14 @@ +// Code generated from Pkl module `dwn`. DO NOT EDIT. +package dwn + +type Sonr struct { + ApiUrl string `pkl:"apiUrl" json:"apiUrl,omitempty"` + + GrpcUrl string `pkl:"grpcUrl" json:"grpcUrl,omitempty"` + + RpcUrl string `pkl:"rpcUrl" json:"rpcUrl,omitempty"` + + WebSocketUrl string `pkl:"webSocketUrl" json:"webSocketUrl,omitempty"` + + ChainId string `pkl:"chainId" json:"chainId,omitempty"` +} diff --git a/config/dwn/init.pkl.go b/config/dwn/init.pkl.go new file mode 100644 index 000000000..5654e722a --- /dev/null +++ b/config/dwn/init.pkl.go @@ -0,0 +1,13 @@ +// Code generated from Pkl module `dwn`. DO NOT EDIT. +package dwn + +import "github.com/apple/pkl-go/pkl" + +func init() { + pkl.RegisterMapping("dwn", Dwn{}) + pkl.RegisterMapping("dwn#Config", Config{}) + pkl.RegisterMapping("dwn#IPFS", IPFS{}) + pkl.RegisterMapping("dwn#Sonr", Sonr{}) + pkl.RegisterMapping("dwn#Motr", Motr{}) + pkl.RegisterMapping("dwn#Schema", Schema{}) +} diff --git a/config/pkl/dwn.pkl b/config/pkl/dwn.pkl new file mode 100644 index 000000000..ea4cea655 --- /dev/null +++ b/config/pkl/dwn.pkl @@ -0,0 +1,97 @@ +@go.Package { name = "github.com/onsonr/sonr/config/dwn" } + +module dwn + +import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl" + +typealias JSON = String + +class JsonField extends go.Field { + structTags { + ["json"] = "%{name},omitempty" + } +} + +class Config { + @JsonField + ipfs: IPFS + + @JsonField + sonr: Sonr + + @JsonField + motr: Motr + + @JsonField + schema: Schema +} + +class IPFS { + @JsonField + apiUrl: String + + @JsonField + gatewayUrl: String +} + +class Motr { + @JsonField + keyshare: JSON + + @JsonField + address: String + + @JsonField + origin: String +} + +class Schema { + version: Int + + @JsonField + account: String + + @JsonField + asset: String + + @JsonField + chain: String + + @JsonField + credential: String + + @JsonField + jwk: String + + @JsonField + grant: String + + @JsonField + keyshare: String + + @JsonField + publicKey: String + + @JsonField + profile: String +} + +class Sonr { + @JsonField + apiUrl: String + + @JsonField + grpcUrl: String + + @JsonField + rpcUrl: String + + @JsonField + webSocketUrl: String + + @JsonField + chainId: String +} + + + diff --git a/config/pkl/orm.pkl b/config/pkl/orm.pkl new file mode 100644 index 000000000..145d89654 --- /dev/null +++ b/config/pkl/orm.pkl @@ -0,0 +1,276 @@ +@go.Package { name = "github.com/onsonr/sonr/internal/orm" } + +module orm + +import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl" + +typealias Base58 = String +typealias Base64 = String + +typealias Bech32 = String +typealias Keccak = String + +typealias DID = String +typealias ChainCode = UInt +typealias Scope = String + +typealias Hex = String + +class PrimaryKey extends go.Field { + structTags { + ["json"] = "%{name},omitempty" + ["query"] = "%{name}" + } +} + +class JsonField extends go.Field { + structTags { + ["json"] = "%{name},omitempty" + } +} + +// Enums +typealias AssetType = "native"|"wrapped"|"staking"|"pool"|"ibc"|"cw20" + +typealias DIDMethod = "ipfs"|"sonr"|"bitcoin"|"ethereum"|"ibc"|"webauthn"|"dwn"|"service" + +typealias KeyAlgorithm = "es256"|"es384"|"es512"|"eddsa"|"es256k"|"ecdsa" + +typealias KeyCurve = "p256"|"p384"|"p521"|"x25519"|"x448"|"ed25519"|"ed448"|"secp256k1"|"bls12381"|"keccak256" + +typealias KeyEncoding = "raw"|"hex"|"multibase" + +typealias KeyRole = "authentication"|"assertion"|"delegation"|"invocation" + +typealias KeyType = "octet"|"elliptic"|"rsa"|"symmetric"|"hmac"|"mpc"|"zk"|"webauthn"|"bip32" + +typealias KeyShareRole = "user"|"validator" + +typealias PermissionGrant = "none"|"read"|"write"|"verify"|"broadcast"|"admin" + +typealias PermissionScope = "profile"|"metadata"|"permissions"|"wallets"|"transactions"|"user"|"validator" + + +class Account { + @PrimaryKey + id: DID + + @JsonField + name: String + + @JsonField + address: Bech32|Keccak|String + + @JsonField + publicKey: Base58 + + @JsonField + chainCode: ChainCode + + @JsonField + index: Int + + @JsonField + controller: Bech32 + + @JsonField + createdAt: String? +} + +class Asset { + @PrimaryKey + id: DID + + @JsonField + name: String + + @JsonField + symbol: String + + @JsonField + decimals: Int + + @JsonField + chainCode: ChainCode + + @JsonField + createdAt: String? +} + +class Chain { + @PrimaryKey + id: DID + + @JsonField + name: String + + @JsonField + networkId: String + + @JsonField + chainCode: ChainCode + + @JsonField + createdAt: String? +} + +class Credential { + @PrimaryKey + id: DID + + @JsonField + subject: String + + @JsonField + controller: Bech32 + + @JsonField + attestationType: String + + @JsonField + origin: String + + @JsonField + label: String? + + @JsonField + deviceId: String? + + @JsonField + credentialId: Base64 + + @JsonField + publicKey: Base64 + + @JsonField + transport: List + + @JsonField + signCount: UInt + + @JsonField + userPresent: Boolean + + @JsonField + userVerified: Boolean + + @JsonField + backupEligible: Boolean + + @JsonField + backupState: Boolean + + @JsonField + cloneWarning: Boolean + + @JsonField + createdAt: String? + + @JsonField + updatedAt: String? +} + +class JWK { + @JsonField + kty: String + + @JsonField + crv: String + + @JsonField + x: String + + @JsonField + y: String + + @JsonField + n: String + + @JsonField + e: String +} + +class Grant { + @PrimaryKey + id: UInt + + @JsonField + subject: String + + @JsonField + controller: Bech32 + + @JsonField + origin: String + + @JsonField + token: String + + @JsonField + scopes: List + + @JsonField + createdAt: String? + + @JsonField + updatedAt: String? +} + +class Keyshare { + @PrimaryKey + id: DID + + @JsonField + data: Base64 + + @JsonField + role: Int + + @JsonField + createdAt: String? + + @JsonField + lastRefreshed: String? +} + +class PublicKey { + @PrimaryKey + role: KeyRole + algorithm: KeyAlgorithm + encoding: KeyEncoding + curve: KeyCurve + key_type: KeyType + raw: Base58 + jwk: JWK +} + +class Profile { + @PrimaryKey + id: String + + @JsonField + subject: String + + @JsonField + controller: Bech32 + + @JsonField + originUri: String? + + @JsonField + publicMetadata: String? + + @JsonField + privateMetadata: String? + + @JsonField + createdAt: String? + + @JsonField + updatedAt: String? +} + + +db_name: String = "vault" +db_version: Int = 1 + diff --git a/config/pkl/txns.pkl b/config/pkl/txns.pkl new file mode 100644 index 000000000..e658489b1 --- /dev/null +++ b/config/pkl/txns.pkl @@ -0,0 +1,174 @@ +@go.Package { name = "github.com/onsonr/sonr/internal/orm/transactions" } + +module transactions + +import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl" + +/// Common Cosmos SDK types +typealias Coin = Dynamic +typealias AccAddress = String +typealias ValAddress = String +typealias Timestamp = String + +/// Base class for all messages +abstract class Msg { + /// The type URL for the message + typeUrl: String +} + +/// Base class for all proposals +class Proposal { + /// The title of the proposal + title: String + + /// The description of the proposal + description: String +} + +/// Gov module messages +class MsgGovSubmitProposal extends Msg { + typeUrl = "/cosmos.gov.v1beta1.MsgSubmitProposal" + content: Proposal + initialDeposit: List + proposer: AccAddress +} + +class MsgGovVote extends Msg { + typeUrl = "/cosmos.gov.v1beta1.MsgVote" + proposalId: Int + voter: AccAddress + option: Int +} + +class MsgGovDeposit extends Msg { + typeUrl = "/cosmos.gov.v1beta1.MsgDeposit" + proposalId: Int + depositor: AccAddress + amount: List +} + +/// Group module messages + class MsgGroupCreateGroup extends Msg { + typeUrl = "/cosmos.group.v1.MsgCreateGroup" + admin: AccAddress + members: List + metadata: String + } + + class MsgGroupSubmitProposal extends Msg { + typeUrl = "/cosmos.group.v1.MsgSubmitProposal" + groupPolicyAddress: AccAddress + proposers: List + metadata: String + messages: List + exec: Int + } + + class MsgGroupVote extends Msg { + typeUrl = "/cosmos.group.v1.MsgVote" + proposalId: Int + voter: AccAddress + option: Int + metadata: String + exec: Int + } + +/// Staking module messages + class MsgStakingCreateValidator extends Msg { + typeUrl = "/cosmos.staking.v1beta1.MsgCreateValidator" + description: Dynamic + commission: Dynamic + minSelfDelegation: String + delegatorAddress: AccAddress + validatorAddress: ValAddress + pubkey: Dynamic + value: Coin + } + + class MsgStakingDelegate extends Msg { + typeUrl = "/cosmos.staking.v1beta1.MsgDelegate" + delegatorAddress: AccAddress + validatorAddress: ValAddress + amount: Coin + } + + class MsgStakingUndelegate extends Msg { + typeUrl = "/cosmos.staking.v1beta1.MsgUndelegate" + delegatorAddress: AccAddress + validatorAddress: ValAddress + amount: Coin + } + + class MsgStakingBeginRedelegate extends Msg { + typeUrl = "/cosmos.staking.v1beta1.MsgBeginRedelegate" + delegatorAddress: AccAddress + validatorSrcAddress: ValAddress + validatorDstAddress: ValAddress + amount: Coin + } + class MsgDidUpdateParams extends Msg { + typeUrl = "/sonr.did.v1.MsgUpdateParams" + authority: AccAddress + params: Dynamic + token: Dynamic + } + + class MsgDidAllocateVault extends Msg { + typeUrl = "/sonr.did.v1.MsgAllocateVault" + authority: AccAddress + subject: String + token: Dynamic + } + + class MsgDidProveWitness extends Msg { + typeUrl = "/sonr.did.v1.MsgProveWitness" + authority: AccAddress + property: String + witness: Listing + token: Dynamic + } + + class MsgDidSyncVault extends Msg { + typeUrl = "/sonr.did.v1.MsgSyncVault" + controller: AccAddress + token: Dynamic + } + +class MsgDidRegisterController extends Msg { + typeUrl = "/sonr.did.v1.MsgRegisterController" + authority: AccAddress + cid: String + origin: String + authentication: List + token: Dynamic + } + +class MsgDidAuthorize extends Msg { + typeUrl = "/sonr.did.v1.MsgAuthorize" + authority: AccAddress + controller: AccAddress + address: AccAddress + origin: String + token: Dynamic + } + +class MsgDidRegisterService extends Msg { + typeUrl = "/sonr.did.v1.MsgRegisterService" + controller: AccAddress + originUri: String + scopes: Dynamic + description: String + serviceEndpoints: Map + metadata: Dynamic + token: Dynamic + } + +/// Represents a transaction body +class TxBody { + messages: List + memo: String? + timeoutHeight: Int? + extensionOptions: List? + nonCriticalExtensionOptions: List? +} + diff --git a/config/pkl/web.pkl b/config/pkl/web.pkl new file mode 100644 index 000000000..ed06f3e6b --- /dev/null +++ b/config/pkl/web.pkl @@ -0,0 +1,72 @@ +@go.Package { name = "github.com/onsonr/sonr/internal/orm/browser" } + +module browser + +import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl" + + +class JsonField extends go.Field { + structTags { + ["json"] = "%{name},omitempty" + } +} + +class PublicKeyCredentialRequestOptions { + challenge: String + timeout: Int + rpId: String + allowCredentials: List + userVerification: String + extensions: List +} + +class PublicKeyCredentialDescriptor { + id: String + transports: List + type: String +} + +class PublicKeyCredentialParameters { + type: String + alg: Int? +} + +class AuthenticatorSelectionCriteria { + authenticatorAttachment: String + requireResidentKey: Boolean + userVerification: String +} + + +class PublicKeyCredentialCreationOptions { + rp: RpEntity + user: UserEntity + challenge: String + pubKeyCredParams: List + timeout: Int + excludeCredentials: List + authenticatorSelection: AuthenticatorSelectionCriteria? + attestation: String + extensions: List +} + +class RpEntity { + id: String + name: String? + icon: String? +} + +class UserEntity { + id: String + displayName: String? + name: String? +} + +class SWT { + origin: String + location: String + identifier: String + scopes: List + properties: Map + expiryBlock: Int +} diff --git a/deploy/air.toml b/deploy/air.toml new file mode 100644 index 000000000..1fc4c2ec2 --- /dev/null +++ b/deploy/air.toml @@ -0,0 +1,50 @@ +root = "." +testdata_dir = "testdata" +tmp_dir = "tmp" + +[build] +delay = 1000 +cmd = "devbox run build:motr" +exclude_dir = ["assets", "tmp", "vendor", "testdata"] +exclude_file = [] +exclude_regex = ["_test.go", ".pk.go", "_templ.go", ".pb.go"] +exclude_unchanged = true +follow_symlink = false +full_bin = "bunx wrangler -c ./web/wrangler.toml dev" +include_dir = ["web", "internal/dwn", "pkl"] +include_ext = ["go", "templ", "html", "pkl", "js", "mjs"] +include_file = [ + "wrangler.toml", + "Dockerfile", + ".goreleaser.yaml", + "go.mod", + "devbox.json", + ".air.toml", +] +kill_delay = "2s" +log = "build-errors.log" +poll = false +poll_interval = 0 +post_cmd = [] +pre_cmd = ["templ generate", "devbox run gen:pkl"] +rerun = false +rerun_delay = 500 +send_interrupt = false +stop_on_error = false + +[color] +build = "yellow" +main = "magenta" +runner = "green" +watcher = "cyan" + +[log] +main_only = true +time = true + +[misc] +clean_on_exit = true + +[screen] +clear_on_rebuild = true +keep_scroll = true diff --git a/deploy/docker-compose.yaml b/deploy/docker-compose.yaml new file mode 100644 index 000000000..9b7687ed8 --- /dev/null +++ b/deploy/docker-compose.yaml @@ -0,0 +1,30 @@ +version: "3" + +services: + sonr-node: + build: + context: . + dockerfile: Dockerfile + volumes: + - /home/prad/.scnr:/root/.sonr + ports: + - "26657:26657" + - "1317:1317" + - "9090:9090" + environment: + - CHAIN_ID=local-1 + - MONIKER=localvalidator + - KEYRING=test + - KEY=user1 + - KEY2=user2 + - DENOM=usnr + - CLEAN=true + - BLOCK_TIME=5s + command: "start --pruning=nothing" + restart: always + networks: + - sonr-network + +networks: + sonr-network: + name: sonr-network diff --git a/deploy/process-compose.dev.yaml b/deploy/process-compose.dev.yaml new file mode 100644 index 000000000..8338ec468 --- /dev/null +++ b/deploy/process-compose.dev.yaml @@ -0,0 +1,25 @@ +version: "0.6" + +processes: + sonr: + namespace: testnet + command: "devbox run serve:sonr" + restart: on_failure + max_restarts: 3 + depends: + + caddy: + namespace: testnet + command: "devbox run serve:xcaddy" + restart: on_failure + max_restarts: 3 + depends: + - sonr + + air: + namespace: testnet + command: "devbox run serve:air" + restart: on_failure + max_restarts: 3 + depends: + - sonr diff --git a/deploy/process-compose.yaml b/deploy/process-compose.yaml new file mode 100644 index 000000000..6fc59f530 --- /dev/null +++ b/deploy/process-compose.yaml @@ -0,0 +1,17 @@ +version: "0.6" + +processes: + sonr: + namespace: testnet + command: "devbox run serve:sonr" + restart: on_failure + max_restarts: 3 + depends: + + caddy: + namespace: testnet + command: "devbox run serve:xcaddy" + restart: on_failure + max_restarts: 3 + depends: + - sonr diff --git a/devbox.json b/devbox.json index 72dabf8f9..914f40e5b 100644 --- a/devbox.json +++ b/devbox.json @@ -2,21 +2,19 @@ "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.12.0/.schema/devbox.schema.json", "packages": [ "go@1.22", - "templ@latest", - "go-task@latest", - "templ@latest", "bun@latest", - "ipfs-cluster@latest", - "air@latest" + "process-compose@latest" ], - "packages": ["go@1.21"], "env": { + "CLOUDFLARE_API_TOKEN": "$CLOUDFLARE_API_TOKEN", "GOPATH": "$HOME/go", "PATH": "$HOME/go/bin:$PATH", + "TEMPL_EXPERIMENT": "rawgo", "CHAIN_ID": "sonr-testnet-1", "DENOM": "usnr", "KEYRING": "test", - "MONIKER": "florence" + "MONIKER": "florence", + "ENV": "$ENVIRONMENT" }, "shell": { "scripts": { @@ -24,38 +22,41 @@ "make install" ], "build": [ - "make build", - "make local-image" + "make build" ], "build:dwn": [ - "templ generate", "make dwn" ], + "build:image": [ + "make local-image" + ], "build:motr": [ - "templ generate", "make motr" ], "gen:proto": [ "make proto-gen" ], "gen:pkl": [ - "go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/oidc.pkl", - "go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/orm.pkl", - "go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/txns.pkl" + "make pkl" ], - "dev": [ - "air" + "gen:templ": [ + "make templ" + ], + "serve:air": [ + "make air" + ], + "serve:xcaddy": [ + "make xcaddy" + ], + "serve:sonr": [ + "make sh-testnet" + ], + "local": [ + "process-compose -f ./deploy/process-compose.dev.yaml" ], "testnet": [ - "devbox services up" + "process-compose -f ./deploy/process-compose.yaml" ] - "install": ["make install"], - "gen": ["make proto-gen"], - "build": [ - "make local-image", - "docker tag sonr:local ghcr.io/onsonr/sonrd:latest" - ], - "push": ["docker push ghcr.io/onsonr/sonrd:latest"] } } } diff --git a/go.mod b/go.mod index 266cd90bf..65608f681 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( cosmossdk.io/x/nft v0.1.0 cosmossdk.io/x/tx v0.13.3 cosmossdk.io/x/upgrade v0.1.1 - github.com/a-h/templ v0.2.771 + github.com/a-h/templ v0.2.778 github.com/apple/pkl-go v0.8.0 github.com/btcsuite/btcd/btcec/v2 v2.3.3 github.com/charmbracelet/bubbles v0.19.0 @@ -67,16 +67,12 @@ require ( github.com/go-webauthn/webauthn v0.10.2 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/hack-pad/go-indexeddb v0.3.2 github.com/ipfs/boxo v0.21.0 github.com/ipfs/kubo v0.29.0 github.com/joho/godotenv v1.5.1 github.com/labstack/echo/v4 v4.10.2 - github.com/mr-tron/base58 v1.2.0 - github.com/ncruces/go-sqlite3 v0.18.2 - github.com/ncruces/go-sqlite3/gormlite v0.18.0 github.com/nlepage/go-js-promise v1.0.0 - github.com/onsonr/crypto v1.29.0 + github.com/onsonr/crypto v1.32.0 github.com/segmentio/ksuid v1.0.4 github.com/spf13/cast v1.6.0 github.com/spf13/cobra v1.8.0 @@ -91,11 +87,7 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20240617180043-68d350f18fd4 google.golang.org/grpc v1.64.0 google.golang.org/protobuf v1.34.2 - gopkg.in/macaroon-bakery.v2 v2.3.0 gopkg.in/macaroon.v2 v2.1.0 - gorm.io/gorm v1.25.11 - lukechampine.com/adiantum v1.1.1 - lukechampine.com/blake3 v1.3.0 ) require ( @@ -194,7 +186,6 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/merlin v0.1.1 // indirect - github.com/hack-pad/safejs v0.1.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-getter v1.7.5 // indirect diff --git a/go.sum b/go.sum index e40ecf31a..b44bf1f17 100644 --- a/go.sum +++ b/go.sum @@ -835,8 +835,8 @@ github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/a-h/templ v0.2.771 h1:4KH5ykNigYGGpCe0fRJ7/hzwz72k3qFqIiiLLJskbSo= -github.com/a-h/templ v0.2.771/go.mod h1:lq48JXoUvuQrU0VThrK31yFwdRjTCnIE5bcPCM9IP1w= +github.com/a-h/templ v0.2.778 h1:VzhOuvWECrwOec4790lcLlZpP4Iptt5Q4K9aFxQmtaM= +github.com/a-h/templ v0.2.778/go.mod h1:lq48JXoUvuQrU0VThrK31yFwdRjTCnIE5bcPCM9IP1w= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= @@ -1150,9 +1150,6 @@ github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHqu github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= github.com/frankban/quicktest v1.0.0/go.mod h1:R98jIehRai+d1/3Hv2//jOVCTJhW1VBavT6B6CuGq2k= -github.com/frankban/quicktest v1.1.0/go.mod h1:R98jIehRai+d1/3Hv2//jOVCTJhW1VBavT6B6CuGq2k= -github.com/frankban/quicktest v1.2.2/go.mod h1:Qh/WofXFeiAFII1aEBu529AtJo6Zg2VHscnEsbBnJ20= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= @@ -1403,10 +1400,6 @@ github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8 github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/hack-pad/go-indexeddb v0.3.2 h1:DTqeJJYc1usa45Q5r52t01KhvlSN02+Oq+tQbSBI91A= -github.com/hack-pad/go-indexeddb v0.3.2/go.mod h1:QvfTevpDVlkfomY498LhstjwbPW6QC4VC/lxYb0Kom0= -github.com/hack-pad/safejs v0.1.0 h1:qPS6vjreAqh2amUqj4WNG1zIw7qlRQJ9K10eDKMCnE8= -github.com/hack-pad/safejs v0.1.0/go.mod h1:HdS+bKF1NrE72VoXZeWzxFOVQVUSqZJAG0xNCnb+Tio= github.com/hashicorp/consul/api v1.25.1/go.mod h1:iiLVwR/htV7mas/sy0O+XSuEnrdBUUydemjxcUrAt4g= github.com/hashicorp/consul/sdk v0.14.1/go.mod h1:vFt03juSzocLRFo59NkeQHHmQa6+g7oU0pfzdI1mUhg= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -1861,8 +1854,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= -github.com/onsonr/crypto v1.29.0 h1:ontCN/XNNmpWv23N8VB6vsirLXcjxZaA67lLX9RNj0c= -github.com/onsonr/crypto v1.29.0/go.mod h1:NSfeCO6XoyQeSDEp6Jy42UGG5047GvzG6lW9lRnjrR0= +github.com/onsonr/crypto v1.32.0 h1:3XxItjoYg4vLuTU7uvpbIl/MTk2tb6L43SSO9RFcEXc= +github.com/onsonr/crypto v1.32.0/go.mod h1:NSfeCO6XoyQeSDEp6Jy42UGG5047GvzG6lW9lRnjrR0= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= @@ -1979,7 +1972,6 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qq github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -2314,7 +2306,6 @@ golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20150829230318-ea47fc708ee3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2619,7 +2610,6 @@ golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -3052,12 +3042,8 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy gopkg.in/httprequest.v1 v1.2.0/go.mod h1:T61ZUaJLpMnzvoJDO03ZD8yRXD4nZzBeDoW5e9sffjg= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/juju/environschema.v1 v1.0.0/go.mod h1:WTgU3KXKCVoO9bMmG/4KHzoaRvLeoxfjArpgd1MGWFA= -gopkg.in/macaroon-bakery.v2 v2.3.0 h1:b40knPgPTke1QLTE8BSYeH7+R/hiIozB1A8CTLYN0Ic= -gopkg.in/macaroon-bakery.v2 v2.3.0/go.mod h1:/8YhtPARXeRzbpEPLmRB66+gQE8/pzBBkWwg7Vz/guc= gopkg.in/macaroon.v2 v2.1.0 h1:HZcsjBCzq9t0eBPMKqTN/uSN6JOm78ZJ2INbqcBQOUI= gopkg.in/macaroon.v2 v2.1.0/go.mod h1:OUb+TQP/OP0WOerC2Jp/3CwhIKyIa9kQjuc7H24e6/o= -gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= diff --git a/internal/cli/dexmodel/dexmodel.go b/internal/cli/dexmodel/dexmodel.go new file mode 100644 index 000000000..c6a77a8d8 --- /dev/null +++ b/internal/cli/dexmodel/dexmodel.go @@ -0,0 +1,165 @@ +package dexmodel + +import ( + "fmt" + "time" + + "github.com/charmbracelet/bubbles/table" + tea "github.com/charmbracelet/bubbletea" + "github.com/charmbracelet/lipgloss" + "github.com/spf13/cobra" +) + +var ( + subtle = lipgloss.AdaptiveColor{Light: "#D9DCCF", Dark: "#383838"} + highlight = lipgloss.AdaptiveColor{Light: "#874BFD", Dark: "#7D56F4"} + special = lipgloss.AdaptiveColor{Light: "#43BF6D", Dark: "#73F59F"} + + titleStyle = lipgloss.NewStyle(). + MarginLeft(1). + MarginRight(5). + Padding(0, 1). + Italic(true). + Foreground(lipgloss.Color("#FFF7DB")). + SetString("Cosmos Block Explorer") + + infoStyle = lipgloss.NewStyle(). + BorderStyle(lipgloss.NormalBorder()). + BorderTop(true). + BorderForeground(subtle) +) + +type model struct { + blocks []string + transactionTable table.Model + stats map[string]string + width int + height int +} + +func initialModel() model { + columns := []table.Column{ + {Title: "Hash", Width: 10}, + {Title: "Type", Width: 15}, + {Title: "Height", Width: 10}, + {Title: "Time", Width: 20}, + } + + rows := []table.Row{ + {"abc123", "Transfer", "1000", time.Now().Format(time.RFC3339)}, + {"def456", "Delegate", "999", time.Now().Add(-1 * time.Minute).Format(time.RFC3339)}, + {"ghi789", "Vote", "998", time.Now().Add(-2 * time.Minute).Format(time.RFC3339)}, + } + + t := table.New( + table.WithColumns(columns), + table.WithRows(rows), + table.WithFocused(true), + table.WithHeight(7), + ) + + s := table.DefaultStyles() + s.Header = s.Header. + BorderStyle(lipgloss.NormalBorder()). + BorderForeground(lipgloss.Color("240")). + BorderBottom(true). + Bold(false) + s.Selected = s.Selected. + Foreground(lipgloss.Color("229")). + Background(lipgloss.Color("57")). + Bold(false) + t.SetStyles(s) + + return model{ + blocks: []string{"Block 1", "Block 2", "Block 3"}, + transactionTable: t, + stats: map[string]string{ + "Latest Block": "1000", + "Validators": "100", + "Bonded Tokens": "1,000,000", + }, + } +} + +func (m model) Init() tea.Cmd { + return tick +} + +func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { + var cmd tea.Cmd + switch msg := msg.(type) { + case tea.KeyMsg: + switch msg.String() { + case "q", "ctrl+c": + return m, tea.Quit + case "enter": + return m, tea.Batch( + tea.Printf("Selected transaction: %s", m.transactionTable.SelectedRow()[0]), + ) + } + case tea.WindowSizeMsg: + m.height = msg.Height + m.width = msg.Width + case tickMsg: + // Update data here + m.blocks = append([]string{"New Block"}, m.blocks...) + if len(m.blocks) > 5 { + m.blocks = m.blocks[:5] + } + + // Add a new transaction to the table + newRow := table.Row{ + fmt.Sprintf("tx%d", time.Now().Unix()), + "NewTxType", + fmt.Sprintf("%d", 1000+len(m.transactionTable.Rows())), + time.Now().Format(time.RFC3339), + } + m.transactionTable.SetRows(append([]table.Row{newRow}, m.transactionTable.Rows()...)) + if len(m.transactionTable.Rows()) > 10 { + m.transactionTable.SetRows(m.transactionTable.Rows()[:10]) + } + + return m, tick + } + m.transactionTable, cmd = m.transactionTable.Update(msg) + return m, cmd +} + +func (m model) View() string { + s := titleStyle.Render("Cosmos Block Explorer") + s += "\n\n" + + // Blocks + s += lipgloss.NewStyle().Bold(true).Render("Recent Blocks") + "\n" + for _, block := range m.blocks { + s += "• " + block + "\n" + } + s += "\n" + + // Transactions + s += lipgloss.NewStyle().Bold(true).Render("Recent Transactions") + "\n" + s += m.transactionTable.View() + "\n\n" + + // Stats + s += lipgloss.NewStyle().Bold(true).Render("Network Statistics") + "\n" + for key, value := range m.stats { + s += fmt.Sprintf("%s: %s\n", key, value) + } + + return s +} + +type tickMsg time.Time + +func tick() tea.Msg { + time.Sleep(time.Second) + return tickMsg{} +} + +func RunExplorerTUI(cmd *cobra.Command, args []string) error { + p := tea.NewProgram(initialModel(), tea.WithAltScreen()) + if _, err := p.Run(); err != nil { + return fmt.Errorf("error running explorer: %v", err) + } + return nil +} diff --git a/internal/cli/tui.go b/internal/cli/tui.go new file mode 100644 index 000000000..f49f6c7cf --- /dev/null +++ b/internal/cli/tui.go @@ -0,0 +1,49 @@ +package cli + +import ( + "fmt" + + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/onsonr/sonr/internal/cli/dexmodel" + "github.com/onsonr/sonr/internal/cli/txmodel" + "github.com/spf13/cobra" +) + +func AddTUICmds(rootCmd *cobra.Command) { + rootCmd.AddCommand(newBuildTxnTUICmd()) + rootCmd.AddCommand(newExplorerTUICmd()) +} + +func newBuildTxnTUICmd() *cobra.Command { + return &cobra.Command{ + Use: "dash", + Short: "TUI for managing the local Sonr validator node", + RunE: func(cmd *cobra.Command, args []string) error { + txBody, err := txmodel.RunBuildTxnTUI() + if err != nil { + return err + } + + interfaceRegistry := codectypes.NewInterfaceRegistry() + marshaler := codec.NewProtoCodec(interfaceRegistry) + jsonBytes, err := marshaler.MarshalJSON(txBody) + if err != nil { + return fmt.Errorf("failed to marshal tx body: %w", err) + } + + fmt.Println("Generated Protobuf Message (JSON format):") + fmt.Println(string(jsonBytes)) + + return nil + }, + } +} + +func newExplorerTUICmd() *cobra.Command { + return &cobra.Command{ + Use: "cosmos-explorer", + Short: "A terminal-based Cosmos blockchain explorer", + RunE: dexmodel.RunExplorerTUI, + } +} diff --git a/internal/cli/txmodel/txmodel.go b/internal/cli/txmodel/txmodel.go new file mode 100644 index 000000000..4c493ad24 --- /dev/null +++ b/internal/cli/txmodel/txmodel.go @@ -0,0 +1,322 @@ +package txmodel + +import ( + "fmt" + "strings" + + tea "github.com/charmbracelet/bubbletea" + "github.com/charmbracelet/huh" + "github.com/charmbracelet/lipgloss" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/tx" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" +) + +const maxWidth = 100 + +var ( + red = lipgloss.AdaptiveColor{Light: "#FE5F86", Dark: "#FE5F86"} + indigo = lipgloss.AdaptiveColor{Light: "#5A56E0", Dark: "#7571F9"} + green = lipgloss.AdaptiveColor{Light: "#02BA84", Dark: "#02BF87"} +) + +type Styles struct { + Base, + HeaderText, + Status, + StatusHeader, + Highlight, + ErrorHeaderText, + Help lipgloss.Style +} + +func NewStyles(lg *lipgloss.Renderer) *Styles { + s := Styles{} + s.Base = lg.NewStyle(). + Padding(1, 2, 0, 1) + s.HeaderText = lg.NewStyle(). + Foreground(indigo). + Bold(true). + Padding(0, 1, 0, 1) + s.Status = lg.NewStyle(). + Border(lipgloss.RoundedBorder()). + BorderForeground(indigo). + PaddingLeft(1). + MarginTop(1) + s.StatusHeader = lg.NewStyle(). + Foreground(green). + Bold(true) + s.Highlight = lg.NewStyle(). + Foreground(lipgloss.Color("212")) + s.ErrorHeaderText = s.HeaderText. + Foreground(red) + s.Help = lg.NewStyle(). + Foreground(lipgloss.Color("240")) + return &s +} + +type state int + +const ( + statusNormal state = iota + stateDone +) + +type Model struct { + state state + lg *lipgloss.Renderer + styles *Styles + form *huh.Form + width int + message *tx.TxBody +} + +func NewModel() Model { + m := Model{width: maxWidth} + m.lg = lipgloss.DefaultRenderer() + m.styles = NewStyles(m.lg) + + m.form = huh.NewForm( + huh.NewGroup( + huh.NewInput(). + Key("from"). + Title("From Address"). + Placeholder("cosmos1..."). + Validate(func(s string) error { + if !strings.HasPrefix(s, "cosmos1") { + return fmt.Errorf("invalid address format") + } + return nil + }), + + huh.NewInput(). + Key("to"). + Title("To Address"). + Placeholder("cosmos1..."). + Validate(func(s string) error { + if !strings.HasPrefix(s, "cosmos1") { + return fmt.Errorf("invalid address format") + } + return nil + }), + + huh.NewInput(). + Key("amount"). + Title("Amount"). + Placeholder("100"). + Validate(func(s string) error { + if _, err := sdk.ParseCoinNormalized(s + "atom"); err != nil { + return fmt.Errorf("invalid coin amount") + } + return nil + }), + + huh.NewSelect[string](). + Key("denom"). + Title("Denom"). + Options(huh.NewOptions("atom", "osmo", "usnr", "snr")...), + + huh.NewInput(). + Key("memo"). + Title("Memo"). + Placeholder("Optional"), + + huh.NewConfirm(). + Key("done"). + Title("Ready to convert?"). + Validate(func(v bool) error { + if !v { + return fmt.Errorf("Please confirm when you're ready to convert") + } + return nil + }). + Affirmative("Yes, convert!"). + Negative("Not yet"), + ), + ). + WithWidth(60). + WithShowHelp(false). + WithShowErrors(false) + + return m +} + +func (m Model) Init() tea.Cmd { + return m.form.Init() +} + +func min(x, y int) int { + if x > y { + return y + } + return x +} + +func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { + switch msg := msg.(type) { + case tea.WindowSizeMsg: + m.width = min(msg.Width, maxWidth) - m.styles.Base.GetHorizontalFrameSize() + case tea.KeyMsg: + switch msg.String() { + case "esc", "ctrl+c", "q": + return m, tea.Quit + } + } + + var cmds []tea.Cmd + + form, cmd := m.form.Update(msg) + if f, ok := form.(*huh.Form); ok { + m.form = f + cmds = append(cmds, cmd) + } + + if m.form.State == huh.StateCompleted { + m.buildMessage() + cmds = append(cmds, tea.Quit) + } + + return m, tea.Batch(cmds...) +} + +func (m Model) View() string { + s := m.styles + + switch m.form.State { + case huh.StateCompleted: + pklCode := m.generatePkl() + messageView := m.getMessageView() + var b strings.Builder + fmt.Fprintf(&b, "Final Tx:\n\n%s\n\n%s", pklCode, messageView) + return s.Status.Margin(0, 1).Padding(1, 2).Width(80).Render(b.String()) + "\n\n" + default: + var schemaType string + if m.form.GetString("schemaType") != "" { + schemaType = "Schema Type: " + m.form.GetString("schemaType") + } + + v := strings.TrimSuffix(m.form.View(), "\n\n") + form := m.lg.NewStyle().Margin(1, 0).Render(v) + + var status string + { + preview := "(Preview will appear here)" + if m.form.GetString("schema") != "" { + preview = m.generatePkl() + } + + const statusWidth = 40 + statusMarginLeft := m.width - statusWidth - lipgloss.Width(form) - s.Status.GetMarginRight() + status = s.Status. + Height(lipgloss.Height(form)). + Width(statusWidth). + MarginLeft(statusMarginLeft). + Render(s.StatusHeader.Render("Pkl Preview") + "\n" + + schemaType + "\n\n" + + preview) + } + + errors := m.form.Errors() + header := m.appBoundaryView("Sonr TX Builder") + if len(errors) > 0 { + header = m.appErrorBoundaryView(m.errorView()) + } + body := lipgloss.JoinHorizontal(lipgloss.Top, form, status) + + footer := m.appBoundaryView(m.form.Help().ShortHelpView(m.form.KeyBinds())) + if len(errors) > 0 { + footer = m.appErrorBoundaryView("") + } + + return s.Base.Render(header + "\n" + body + "\n\n" + footer) + } +} + +func (m Model) errorView() string { + var s string + for _, err := range m.form.Errors() { + s += err.Error() + } + return s +} + +func (m Model) appBoundaryView(text string) string { + return lipgloss.PlaceHorizontal( + m.width, + lipgloss.Left, + m.styles.HeaderText.Render(text), + lipgloss.WithWhitespaceChars("="), + lipgloss.WithWhitespaceForeground(indigo), + ) +} + +func (m Model) appErrorBoundaryView(text string) string { + return lipgloss.PlaceHorizontal( + m.width, + lipgloss.Left, + m.styles.ErrorHeaderText.Render(text), + lipgloss.WithWhitespaceChars("="), + lipgloss.WithWhitespaceForeground(red), + ) +} + +func (m Model) generatePkl() string { + schemaType := m.form.GetString("schemaType") + schema := m.form.GetString("schema") + + // This is a placeholder for the actual conversion logic + // In a real implementation, you would parse the schema and generate Pkl code + return fmt.Sprintf("// Converted from %s\n\nclass ConvertedSchema {\n // TODO: Implement conversion from %s\n // Original schema:\n /*\n%s\n */\n}", schemaType, schemaType, schema) +} + +func (m *Model) buildMessage() { + from := m.form.GetString("from") + to := m.form.GetString("to") + amount := m.form.GetString("amount") + denom := m.form.GetString("denom") + memo := m.form.GetString("memo") + + coin, _ := sdk.ParseCoinNormalized(fmt.Sprintf("%s%s", amount, denom)) + sendMsg := &banktypes.MsgSend{ + FromAddress: from, + ToAddress: to, + Amount: sdk.NewCoins(coin), + } + + anyMsg, _ := codectypes.NewAnyWithValue(sendMsg) + m.message = &tx.TxBody{ + Messages: []*codectypes.Any{anyMsg}, + Memo: memo, + } +} + +func (m Model) getMessageView() string { + if m.message == nil { + return "Current Message: None" + } + + interfaceRegistry := codectypes.NewInterfaceRegistry() + marshaler := codec.NewProtoCodec(interfaceRegistry) + jsonBytes, _ := marshaler.MarshalJSON(m.message) + + return fmt.Sprintf("Current Message:\n%s", string(jsonBytes)) +} + +func RunBuildTxnTUI() (*tx.TxBody, error) { + m := NewModel() + p := tea.NewProgram(m) + + finalModel, err := p.Run() + if err != nil { + return nil, fmt.Errorf("failed to run program: %w", err) + } + + finalM, ok := finalModel.(Model) + if !ok || finalM.message == nil { + return nil, fmt.Errorf("form not completed") + } + + return finalM.message, nil +} diff --git a/internal/dwn/handlers/auth.go b/internal/dwn/handlers/auth.go new file mode 100644 index 000000000..d725449a3 --- /dev/null +++ b/internal/dwn/handlers/auth.go @@ -0,0 +1,43 @@ +package handlers + +import ( + "encoding/json" + "fmt" + + "github.com/go-webauthn/webauthn/protocol" + "github.com/labstack/echo/v4" +) + +func checkSubjectIsValid(e echo.Context) error { + credentialID := e.FormValue("credentialID") + return e.JSON(200, credentialID) +} + +func handleCredentialAssertion(e echo.Context) error { + return e.JSON(200, "HandleCredentialAssertion") +} + +func handleCredentialCreation(e echo.Context) error { + // Get the serialized credential data from the form + credentialDataJSON := e.FormValue("credentialData") + + // Deserialize the JSON into a temporary struct + var ccr protocol.CredentialCreationResponse + err := json.Unmarshal([]byte(credentialDataJSON), &ccr) + if err != nil { + return e.JSON(500, err.Error()) + } + // + // // Parse the CredentialCreationResponse + // parsedData, err := ccr.Parse() + // if err != nil { + // return e.JSON(500, err.Error()) + // } + // + // // Create the Credential + // // credential := orm.NewCredential(parsedData, e.Request().Host, "") + // + // // Set additional fields + // credential.Controller = "" // Set this to the appropriate controller value + return e.JSON(200, fmt.Sprintf("REGISTER: %s", string(ccr.ID))) +} diff --git a/internal/dwn/handlers/manifest.go b/internal/dwn/handlers/manifest.go new file mode 100644 index 000000000..5ac8282f4 --- /dev/null +++ b/internal/dwn/handlers/manifest.go @@ -0,0 +1 @@ +package handlers diff --git a/internal/dwn/handlers/openid.go b/internal/dwn/handlers/openid.go new file mode 100644 index 000000000..0d981247f --- /dev/null +++ b/internal/dwn/handlers/openid.go @@ -0,0 +1,23 @@ +package handlers + +import ( + "github.com/labstack/echo/v4" +) + +func grantAuthorization(e echo.Context) error { + // Implement authorization endpoint using passkey authentication + // Store session data in cache + return nil +} + +func getJWKS(e echo.Context) error { + // Implement token endpoint + // Use cached session data for validation + return nil +} + +func getToken(e echo.Context) error { + // Implement token endpoint + // Use cached session data for validation + return nil +} diff --git a/internal/dwn/handlers/routes.go b/internal/dwn/handlers/routes.go new file mode 100644 index 000000000..0b8af5917 --- /dev/null +++ b/internal/dwn/handlers/routes.go @@ -0,0 +1,22 @@ +package handlers + +import ( + "github.com/labstack/echo/v4" + middleware "github.com/onsonr/sonr/internal/dwn/middleware" +) + +func RegisterState(e *echo.Echo) { + g := e.Group("state") + g.POST("/login/:identifier", handleCredentialAssertion) + // g.GET("/discovery", state.GetDiscovery) + g.GET("/jwks", getJWKS) + g.GET("/token", getToken) + g.POST("/:origin/grant/:subject", grantAuthorization) + g.POST("/register/:subject", handleCredentialCreation) + g.POST("/register/:subject/check", checkSubjectIsValid) +} + +func RegisterSync(e *echo.Echo) { + g := e.Group("sync") + g.Use(middleware.MacaroonMiddleware("test", "test")) +} diff --git a/internal/dwn/handlers/views.go b/internal/dwn/handlers/views.go new file mode 100644 index 000000000..5ac8282f4 --- /dev/null +++ b/internal/dwn/handlers/views.go @@ -0,0 +1 @@ +package handlers diff --git a/internal/dwn/handlers/wellknown.go b/internal/dwn/handlers/wellknown.go new file mode 100644 index 000000000..5ac8282f4 --- /dev/null +++ b/internal/dwn/handlers/wellknown.go @@ -0,0 +1 @@ +package handlers diff --git a/internal/dwn/main.go b/internal/dwn/main.go new file mode 100644 index 000000000..6aad26089 --- /dev/null +++ b/internal/dwn/main.go @@ -0,0 +1,141 @@ +//go:build js && wasm +// +build js,wasm + +package main + +import ( + "bytes" + "fmt" + "io" + "net/http" + "net/http/httptest" + "strings" + "syscall/js" + + "github.com/labstack/echo/v4" + promise "github.com/nlepage/go-js-promise" + "github.com/onsonr/sonr/internal/dwn/handlers" + "github.com/onsonr/sonr/internal/dwn/middleware" + "github.com/onsonr/sonr/pkg/nebula" +) + +func main() { + e := echo.New() + e.Use(middleware.UseSession) + nebula.RouteViews(e) + handlers.RegisterState(e) + Serve(e) +} + +// Serve serves HTTP requests using handler or http.DefaultServeMux if handler is nil. +func Serve(handler http.Handler) func() { + h := handler + if h == nil { + h = http.DefaultServeMux + } + + prefix := js.Global().Get("wasmhttp").Get("path").String() + for strings.HasSuffix(prefix, "/") { + prefix = strings.TrimSuffix(prefix, "/") + } + + if prefix != "" { + mux := http.NewServeMux() + mux.Handle(prefix+"/", http.StripPrefix(prefix, h)) + h = mux + } + + cb := js.FuncOf(func(_ js.Value, args []js.Value) interface{} { + resPromise, resolve, reject := promise.New() + + go func() { + defer func() { + if r := recover(); r != nil { + if err, ok := r.(error); ok { + reject(fmt.Sprintf("wasmhttp: panic: %+v\n", err)) + } else { + reject(fmt.Sprintf("wasmhttp: panic: %v\n", r)) + } + } + }() + + res := NewResponseRecorder() + + h.ServeHTTP(res, Request(args[0])) + + resolve(res.JSResponse()) + }() + + return resPromise + }) + + js.Global().Get("wasmhttp").Call("setHandler", cb) + + return cb.Release +} + +// Request builds and returns the equivalent http.Request +func Request(r js.Value) *http.Request { + jsBody := js.Global().Get("Uint8Array").New(promise.Await(r.Call("arrayBuffer"))) + body := make([]byte, jsBody.Get("length").Int()) + js.CopyBytesToGo(body, jsBody) + + req := httptest.NewRequest( + r.Get("method").String(), + r.Get("url").String(), + bytes.NewBuffer(body), + ) + + headersIt := r.Get("headers").Call("entries") + for { + e := headersIt.Call("next") + if e.Get("done").Bool() { + break + } + v := e.Get("value") + req.Header.Set(v.Index(0).String(), v.Index(1).String()) + } + + return req +} + +// ResponseRecorder uses httptest.ResponseRecorder to build a JS Response +type ResponseRecorder struct { + *httptest.ResponseRecorder +} + +// NewResponseRecorder returns a new ResponseRecorder +func NewResponseRecorder() ResponseRecorder { + return ResponseRecorder{httptest.NewRecorder()} +} + +// JSResponse builds and returns the equivalent JS Response +func (rr ResponseRecorder) JSResponse() js.Value { + res := rr.Result() + + body := js.Undefined() + if res.ContentLength != 0 { + b, err := io.ReadAll(res.Body) + if err != nil { + panic(err) + } + body = js.Global().Get("Uint8Array").New(len(b)) + js.CopyBytesToJS(body, b) + } + + init := make(map[string]interface{}, 2) + + if res.StatusCode != 0 { + init["status"] = res.StatusCode + } + + if len(res.Header) != 0 { + headers := make(map[string]interface{}, len(res.Header)) + for k := range res.Header { + headers[k] = res.Header.Get(k) + } + init["headers"] = headers + } + + return js.Global().Get("Response").New(body, init) +} diff --git a/internal/dwn/middleware/headers.go b/internal/dwn/middleware/headers.go new file mode 100644 index 000000000..eecdecffc --- /dev/null +++ b/internal/dwn/middleware/headers.go @@ -0,0 +1,55 @@ +package middleware + +type RequestHeaders struct { + Authorization *string `header:"Authorization"` + CacheControl *string `header:"Cache-Control"` + DeviceMemory *string `header:"Device-Memory"` + Forwarded *string `header:"Forwarded"` + From *string `header:"From"` + Host *string `header:"Host"` + Link *string `header:"Link"` + PermissionsPolicy *string `header:"Permissions-Policy"` + ProxyAuthorization *string `header:"Proxy-Authorization"` + Referer *string `header:"Referer"` + UserAgent *string `header:"User-Agent"` + ViewportWidth *string `header:"Viewport-Width"` + Width *string `header:"Width"` + WWWAuthenticate *string `header:"WWW-Authenticate"` + + // HTMX Specific + HXBoosted *string `header:"HX-Boosted"` + HXCurrentURL *string `header:"HX-Current-URL"` + HXHistoryRestoreRequest *string `header:"HX-History-Restore-Request"` + HXPrompt *string `header:"HX-Prompt"` + HXRequest *string `header:"HX-Request"` + HXTarget *string `header:"HX-Target"` + HXTriggerName *string `header:"HX-Trigger-Name"` + HXTrigger *string `header:"HX-Trigger"` +} + +type ResponseHeaders struct { + AcceptCH *string `header:"Accept-CH"` + AccessControlAllowCredentials *string `header:"Access-Control-Allow-Credentials"` + AccessControlAllowHeaders *string `header:"Access-Control-Allow-Headers"` + AccessControlAllowMethods *string `header:"Access-Control-Allow-Methods"` + AccessControlExposeHeaders *string `header:"Access-Control-Expose-Headers"` + AccessControlRequestHeaders *string `header:"Access-Control-Request-Headers"` + ContentSecurityPolicy *string `header:"Content-Security-Policy"` + CrossOriginEmbedderPolicy *string `header:"Cross-Origin-Embedder-Policy"` + PermissionsPolicy *string `header:"Permissions-Policy"` + ProxyAuthorization *string `header:"Proxy-Authorization"` + WWWAuthenticate *string `header:"WWW-Authenticate"` + + // HTMX Specific + HXLocation *string `header:"HX-Location"` + HXPushURL *string `header:"HX-Push-Url"` + HXRedirect *string `header:"HX-Redirect"` + HXRefresh *string `header:"HX-Refresh"` + HXReplaceURL *string `header:"HX-Replace-Url"` + HXReswap *string `header:"HX-Reswap"` + HXRetarget *string `header:"HX-Retarget"` + HXReselect *string `header:"HX-Reselect"` + HXTrigger *string `header:"HX-Trigger"` + HXTriggerAfterSettle *string `header:"HX-Trigger-After-Settle"` + HXTriggerAfterSwap *string `header:"HX-Trigger-After-Swap"` +} diff --git a/internal/dwn/middleware/middleware.go b/internal/dwn/middleware/middleware.go new file mode 100644 index 000000000..32b681a86 --- /dev/null +++ b/internal/dwn/middleware/middleware.go @@ -0,0 +1,63 @@ +package middleware + +import ( + "net/http" + + "github.com/labstack/echo/v4" + "gopkg.in/macaroon.v2" +) + +// GetSession returns the current Session +func GetSession(c echo.Context) *Session { + return c.(*Session) +} + +// UseSession establishes a Session Cookie. +func UseSession(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + sc := initSession(c) + headers := new(RequestHeaders) + sc.Bind(headers) + return next(sc) + } +} + +func MacaroonMiddleware(secretKeyStr string, location string) echo.MiddlewareFunc { + secretKey := []byte(secretKeyStr) + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + // Extract the macaroon from the Authorization header + auth := c.Request().Header.Get("Authorization") + if auth == "" { + return c.JSON(http.StatusUnauthorized, map[string]string{"error": "Missing Authorization header"}) + } + + // Decode the macaroon + mac, err := macaroon.Base64Decode([]byte(auth)) + if err != nil { + return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid macaroon encoding"}) + } + + token, err := macaroon.New(secretKey, mac, location, macaroon.LatestVersion) + if err != nil { + return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid macaroon"}) + } + + // Verify the macaroon + err = token.Verify(secretKey, func(caveat string) error { + for _, c := range MacroonCaveats { + if c.String() == caveat { + return nil + } + } + return nil // Return nil if the caveat is valid + }, nil) + if err != nil { + return c.JSON(http.StatusUnauthorized, map[string]string{"error": "Invalid macaroon"}) + } + + // Macaroon is valid, proceed to the next handler + return next(c) + } + } +} diff --git a/internal/dwn/middleware/session.go b/internal/dwn/middleware/session.go new file mode 100644 index 000000000..a98b1a761 --- /dev/null +++ b/internal/dwn/middleware/session.go @@ -0,0 +1,51 @@ +package middleware + +import ( + "net/http" + "time" + + "github.com/donseba/go-htmx" + "github.com/labstack/echo/v4" + "github.com/segmentio/ksuid" +) + +type Session struct { + echo.Context + htmx *htmx.HTMX +} + +func (c *Session) Htmx() *htmx.HTMX { + return c.htmx +} + +func (c *Session) ID() string { + return ReadCookie(c, "session") +} + +func initSession(c echo.Context) *Session { + s := &Session{Context: c} + if val := ReadCookie(c, "session"); val == "" { + id := ksuid.New().String() + WriteCookie(c, "session", id) + } + return s +} + +func ReadCookie(c echo.Context, key string) string { + cookie, err := c.Cookie(key) + if err != nil { + return "" + } + if cookie == nil { + return "" + } + return cookie.Value +} + +func WriteCookie(c echo.Context, key string, value string) { + cookie := new(http.Cookie) + cookie.Name = key + cookie.Value = value + cookie.Expires = time.Now().Add(24 * time.Hour) + c.SetCookie(cookie) +} diff --git a/internal/dwn/middleware/token.go b/internal/dwn/middleware/token.go new file mode 100644 index 000000000..5c462003c --- /dev/null +++ b/internal/dwn/middleware/token.go @@ -0,0 +1,51 @@ +package middleware + +import ( + "fmt" + "time" +) + +const ( + OriginMacroonCaveat MacroonCaveat = "origin" + ScopesMacroonCaveat MacroonCaveat = "scopes" + SubjectMacroonCaveat MacroonCaveat = "subject" + ExpMacroonCaveat MacroonCaveat = "exp" + TokenMacroonCaveat MacroonCaveat = "token" +) + +type MacroonCaveat string + +func (c MacroonCaveat) Equal(other string) bool { + return string(c) == other +} + +func (c MacroonCaveat) String() string { + return string(c) +} + +func (c MacroonCaveat) Verify(value string) error { + switch c { + case OriginMacroonCaveat: + return nil + case ScopesMacroonCaveat: + return nil + case SubjectMacroonCaveat: + return nil + case ExpMacroonCaveat: + // Check if the expiration time is still valid + exp, err := time.Parse(time.RFC3339, value) + if err != nil { + return err + } + if time.Now().After(exp) { + return fmt.Errorf("expired") + } + return nil + case TokenMacroonCaveat: + return nil + default: + return fmt.Errorf("unknown caveat: %s", c) + } +} + +var MacroonCaveats = []MacroonCaveat{OriginMacroonCaveat, ScopesMacroonCaveat, SubjectMacroonCaveat, ExpMacroonCaveat, TokenMacroonCaveat} diff --git a/internal/gui/elements/alert_templ.go b/internal/gui/elements/alert_templ.go index 9e21f5df5..0a95440bb 100644 --- a/internal/gui/elements/alert_templ.go +++ b/internal/gui/elements/alert_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -15,6 +15,9 @@ func Alert(variant Variant, icon Icon, title, message string) templ.Component { func alertElement(attrs templ.Attributes, title, message string, icon templ.Component) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/animation_templ.go b/internal/gui/elements/animation_templ.go index facdbf620..523e659da 100644 --- a/internal/gui/elements/animation_templ.go +++ b/internal/gui/elements/animation_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -11,6 +11,9 @@ import templruntime "github.com/a-h/templ/runtime" func Animation() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/badge_templ.go b/internal/gui/elements/badge_templ.go index 7d70a6e32..c7dd81760 100644 --- a/internal/gui/elements/badge_templ.go +++ b/internal/gui/elements/badge_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -11,6 +11,9 @@ import templruntime "github.com/a-h/templ/runtime" func PoweredBySonr() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/breadcrumbs_templ.go b/internal/gui/elements/breadcrumbs_templ.go index fd10e29ed..219bb897f 100644 --- a/internal/gui/elements/breadcrumbs_templ.go +++ b/internal/gui/elements/breadcrumbs_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -11,6 +11,9 @@ import templruntime "github.com/a-h/templ/runtime" func Breadcrumbs() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -69,6 +72,9 @@ func Breadcrumbs() templ.Component { func breadcrumbItem(title string, active bool) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -128,6 +134,9 @@ func breadcrumbItem(title string, active bool) templ.Component { func breadcrumbIcon() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/button_templ.go b/internal/gui/elements/button_templ.go index 95f6f7533..ad66da28e 100644 --- a/internal/gui/elements/button_templ.go +++ b/internal/gui/elements/button_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -87,6 +87,9 @@ func Button(opts ...ButtonOpt) templ.Component { func renderButton(attrs templ.Attributes) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -129,6 +132,9 @@ func renderButton(attrs templ.Attributes) templ.Component { func renderHxGetButton(c *button, attrs templ.Attributes) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -223,6 +229,9 @@ func renderHxGetButton(c *button, attrs templ.Attributes) templ.Component { func renderHxPostButton(c *button, attrs templ.Attributes) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/card_templ.go b/internal/gui/elements/card_templ.go index 9636e8d1f..6e086c670 100644 --- a/internal/gui/elements/card_templ.go +++ b/internal/gui/elements/card_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -15,6 +15,9 @@ func Card(id string, size Size) templ.Component { func renderCard(id string, attrs templ.Attributes) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -70,6 +73,9 @@ func renderCard(id string, attrs templ.Attributes) templ.Component { func ProfileCard() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/fonts_templ.go b/internal/gui/elements/fonts_templ.go index c881cd20a..4022c9887 100644 --- a/internal/gui/elements/fonts_templ.go +++ b/internal/gui/elements/fonts_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -27,6 +27,9 @@ func Text(content string) templ.Component { func renderText(level int, text string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -123,6 +126,9 @@ func renderText(level int, text string) templ.Component { func renderLink(attrs templ.Attributes, text string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -170,6 +176,9 @@ func renderLink(attrs templ.Attributes, text string) templ.Component { func renderStrong(attrs templ.Attributes, text string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -217,6 +226,9 @@ func renderStrong(attrs templ.Attributes, text string) templ.Component { func renderEmphasis(attrs templ.Attributes, text string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -264,6 +276,9 @@ func renderEmphasis(attrs templ.Attributes, text string) templ.Component { func renderCode(attrs templ.Attributes, text string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/global_templ.go b/internal/gui/elements/global_templ.go index 46606b039..d9a36c6e7 100644 --- a/internal/gui/elements/global_templ.go +++ b/internal/gui/elements/global_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -11,6 +11,9 @@ import templruntime "github.com/a-h/templ/runtime" func Layout(title string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -66,6 +69,9 @@ func Layout(title string) templ.Component { func Spacer() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -92,6 +98,9 @@ func Spacer() templ.Component { func ServiceWorker(path string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -118,6 +127,9 @@ func ServiceWorker(path string) templ.Component { func defaultStyles() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -144,6 +156,9 @@ func defaultStyles() templ.Component { func Rows() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -178,6 +193,9 @@ func Rows() templ.Component { func Columns() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/icons_templ.go b/internal/gui/elements/icons_templ.go index 9bb3c551a..1b45bb48f 100644 --- a/internal/gui/elements/icons_templ.go +++ b/internal/gui/elements/icons_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -24,6 +24,9 @@ func (v Icons) Render() templ.Component { func renderIconVariant(v Icons) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -72,6 +75,9 @@ func renderIconVariant(v Icons) templ.Component { func SonrIcon() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/inputs_templ.go b/internal/gui/elements/inputs_templ.go index 31088115b..545265f72 100644 --- a/internal/gui/elements/inputs_templ.go +++ b/internal/gui/elements/inputs_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -19,6 +19,9 @@ const ( func TextInput(state InputState, label string, placeholder string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/radios_templ.go b/internal/gui/elements/radios_templ.go index 5a91c9f7c..0f69a82fa 100644 --- a/internal/gui/elements/radios_templ.go +++ b/internal/gui/elements/radios_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -11,6 +11,9 @@ import templruntime "github.com/a-h/templ/runtime" func RadioGroup() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/elements/sizes_templ.go b/internal/gui/elements/sizes_templ.go index 20bc7d8b4..5a60b8fef 100644 --- a/internal/gui/elements/sizes_templ.go +++ b/internal/gui/elements/sizes_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. diff --git a/internal/gui/elements/tabs_templ.go b/internal/gui/elements/tabs_templ.go index a5ab4fc09..9b974744e 100644 --- a/internal/gui/elements/tabs_templ.go +++ b/internal/gui/elements/tabs_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package elements //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -11,6 +11,9 @@ import templruntime "github.com/a-h/templ/runtime" func Tabs() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -45,6 +48,9 @@ func Tabs() templ.Component { func Table() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/forms/register_templ.go b/internal/gui/forms/register_templ.go index 99dbc9976..a9309199a 100644 --- a/internal/gui/forms/register_templ.go +++ b/internal/gui/forms/register_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package forms //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -13,6 +13,9 @@ import "github.com/labstack/echo/v4" func BasicInfo(c echo.Context, state FormState) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -42,6 +45,9 @@ func BasicInfo(c echo.Context, state FormState) templ.Component { func CreateCredentials(state FormState) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { @@ -64,6 +70,9 @@ func CreateCredentials(state FormState) templ.Component { func PrivacyTerms(state FormState) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/views/home_templ.go b/internal/gui/views/home_templ.go index 8259d8a94..1254e7d14 100644 --- a/internal/gui/views/home_templ.go +++ b/internal/gui/views/home_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package views //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -20,6 +20,9 @@ func HomeView(c echo.Context) error { func renderHomeView() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/views/login_templ.go b/internal/gui/views/login_templ.go index 7ec36e580..87d103eb0 100644 --- a/internal/gui/views/login_templ.go +++ b/internal/gui/views/login_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package views //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -20,6 +20,9 @@ func LoginView(c echo.Context) error { func renderLoginView() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/views/openid_templ.go b/internal/gui/views/openid_templ.go index 1f62a9b5d..d0c6a899a 100644 --- a/internal/gui/views/openid_templ.go +++ b/internal/gui/views/openid_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package views //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -20,6 +20,9 @@ func AuthorizeView(c echo.Context) error { func renderAuthorizeView() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/views/profile_templ.go b/internal/gui/views/profile_templ.go index 189837b19..08af9920c 100644 --- a/internal/gui/views/profile_templ.go +++ b/internal/gui/views/profile_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package views //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -20,6 +20,9 @@ func ProfileView(c echo.Context) error { func renderProfileView() templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/gui/views/register_templ.go b/internal/gui/views/register_templ.go index 3a10827f4..d54ee67bd 100644 --- a/internal/gui/views/register_templ.go +++ b/internal/gui/views/register_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.771 +// templ: version: v0.2.778 package views //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -21,6 +21,9 @@ func RegisterView(c echo.Context) error { func renderRegisterView(c echo.Context) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { diff --git a/internal/orm/Account.pkl.go b/internal/orm/Account.pkl.go new file mode 100644 index 000000000..9bf3f02f4 --- /dev/null +++ b/internal/orm/Account.pkl.go @@ -0,0 +1,20 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type Account struct { + Id string `pkl:"id" json:"id,omitempty" query:"id"` + + Name string `pkl:"name" json:"name,omitempty"` + + Address any `pkl:"address" json:"address,omitempty"` + + PublicKey string `pkl:"publicKey" json:"publicKey,omitempty"` + + ChainCode uint `pkl:"chainCode" json:"chainCode,omitempty"` + + Index int `pkl:"index" json:"index,omitempty"` + + Controller string `pkl:"controller" json:"controller,omitempty"` + + CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"` +} diff --git a/internal/orm/Asset.pkl.go b/internal/orm/Asset.pkl.go new file mode 100644 index 000000000..7fdfaebc0 --- /dev/null +++ b/internal/orm/Asset.pkl.go @@ -0,0 +1,16 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type Asset struct { + Id string `pkl:"id" json:"id,omitempty" query:"id"` + + Name string `pkl:"name" json:"name,omitempty"` + + Symbol string `pkl:"symbol" json:"symbol,omitempty"` + + Decimals int `pkl:"decimals" json:"decimals,omitempty"` + + ChainCode uint `pkl:"chainCode" json:"chainCode,omitempty"` + + CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"` +} diff --git a/internal/orm/Chain.pkl.go b/internal/orm/Chain.pkl.go new file mode 100644 index 000000000..6fa443c58 --- /dev/null +++ b/internal/orm/Chain.pkl.go @@ -0,0 +1,14 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type Chain struct { + Id string `pkl:"id" json:"id,omitempty" query:"id"` + + Name string `pkl:"name" json:"name,omitempty"` + + NetworkId string `pkl:"networkId" json:"networkId,omitempty"` + + ChainCode uint `pkl:"chainCode" json:"chainCode,omitempty"` + + CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"` +} diff --git a/internal/orm/Credential.pkl.go b/internal/orm/Credential.pkl.go new file mode 100644 index 000000000..138ce7f88 --- /dev/null +++ b/internal/orm/Credential.pkl.go @@ -0,0 +1,40 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type Credential struct { + Id string `pkl:"id" json:"id,omitempty" query:"id"` + + Subject string `pkl:"subject" json:"subject,omitempty"` + + Controller string `pkl:"controller" json:"controller,omitempty"` + + AttestationType string `pkl:"attestationType" json:"attestationType,omitempty"` + + Origin string `pkl:"origin" json:"origin,omitempty"` + + Label *string `pkl:"label" json:"label,omitempty"` + + DeviceId *string `pkl:"deviceId" json:"deviceId,omitempty"` + + CredentialId string `pkl:"credentialId" json:"credentialId,omitempty"` + + PublicKey string `pkl:"publicKey" json:"publicKey,omitempty"` + + Transport []string `pkl:"transport" json:"transport,omitempty"` + + SignCount uint `pkl:"signCount" json:"signCount,omitempty"` + + UserPresent bool `pkl:"userPresent" json:"userPresent,omitempty"` + + UserVerified bool `pkl:"userVerified" json:"userVerified,omitempty"` + + BackupEligible bool `pkl:"backupEligible" json:"backupEligible,omitempty"` + + BackupState bool `pkl:"backupState" json:"backupState,omitempty"` + + CloneWarning bool `pkl:"cloneWarning" json:"cloneWarning,omitempty"` + + CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"` + + UpdatedAt *string `pkl:"updatedAt" json:"updatedAt,omitempty"` +} diff --git a/internal/orm/Grant.pkl.go b/internal/orm/Grant.pkl.go new file mode 100644 index 000000000..b5b4d1e3d --- /dev/null +++ b/internal/orm/Grant.pkl.go @@ -0,0 +1,20 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type Grant struct { + Id uint `pkl:"id" json:"id,omitempty" query:"id"` + + Subject string `pkl:"subject" json:"subject,omitempty"` + + Controller string `pkl:"controller" json:"controller,omitempty"` + + Origin string `pkl:"origin" json:"origin,omitempty"` + + Token string `pkl:"token" json:"token,omitempty"` + + Scopes []string `pkl:"scopes" json:"scopes,omitempty"` + + CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"` + + UpdatedAt *string `pkl:"updatedAt" json:"updatedAt,omitempty"` +} diff --git a/internal/orm/JWK.pkl.go b/internal/orm/JWK.pkl.go new file mode 100644 index 000000000..3cd3f044f --- /dev/null +++ b/internal/orm/JWK.pkl.go @@ -0,0 +1,16 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type JWK struct { + Kty string `pkl:"kty" json:"kty,omitempty"` + + Crv string `pkl:"crv" json:"crv,omitempty"` + + X string `pkl:"x" json:"x,omitempty"` + + Y string `pkl:"y" json:"y,omitempty"` + + N string `pkl:"n" json:"n,omitempty"` + + E string `pkl:"e" json:"e,omitempty"` +} diff --git a/internal/orm/Keyshare.pkl.go b/internal/orm/Keyshare.pkl.go new file mode 100644 index 000000000..cbc8b356f --- /dev/null +++ b/internal/orm/Keyshare.pkl.go @@ -0,0 +1,14 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type Keyshare struct { + Id string `pkl:"id" json:"id,omitempty" query:"id"` + + Data string `pkl:"data" json:"data,omitempty"` + + Role int `pkl:"role" json:"role,omitempty"` + + CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"` + + LastRefreshed *string `pkl:"lastRefreshed" json:"lastRefreshed,omitempty"` +} diff --git a/internal/orm/Orm.pkl.go b/internal/orm/Orm.pkl.go new file mode 100644 index 000000000..0c1f09dbc --- /dev/null +++ b/internal/orm/Orm.pkl.go @@ -0,0 +1,39 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +import ( + "context" + + "github.com/apple/pkl-go/pkl" +) + +type Orm struct { + DbName string `pkl:"db_name"` + + DbVersion int `pkl:"db_version"` +} + +// LoadFromPath loads the pkl module at the given path and evaluates it into a Orm +func LoadFromPath(ctx context.Context, path string) (ret *Orm, err error) { + evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions) + if err != nil { + return nil, err + } + defer func() { + cerr := evaluator.Close() + if err == nil { + err = cerr + } + }() + ret, err = Load(ctx, evaluator, pkl.FileSource(path)) + return ret, err +} + +// Load loads the pkl module at the given source and evaluates it with the given evaluator into a Orm +func Load(ctx context.Context, evaluator pkl.Evaluator, source *pkl.ModuleSource) (*Orm, error) { + var ret Orm + if err := evaluator.EvaluateModule(ctx, source, &ret); err != nil { + return nil, err + } + return &ret, nil +} diff --git a/internal/orm/Profile.pkl.go b/internal/orm/Profile.pkl.go new file mode 100644 index 000000000..794e4e352 --- /dev/null +++ b/internal/orm/Profile.pkl.go @@ -0,0 +1,20 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +type Profile struct { + Id string `pkl:"id" json:"id,omitempty" query:"id"` + + Subject string `pkl:"subject" json:"subject,omitempty"` + + Controller string `pkl:"controller" json:"controller,omitempty"` + + OriginUri *string `pkl:"originUri" json:"originUri,omitempty"` + + PublicMetadata *string `pkl:"publicMetadata" json:"publicMetadata,omitempty"` + + PrivateMetadata *string `pkl:"privateMetadata" json:"privateMetadata,omitempty"` + + CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"` + + UpdatedAt *string `pkl:"updatedAt" json:"updatedAt,omitempty"` +} diff --git a/internal/orm/PublicKey.pkl.go b/internal/orm/PublicKey.pkl.go new file mode 100644 index 000000000..a81904913 --- /dev/null +++ b/internal/orm/PublicKey.pkl.go @@ -0,0 +1,26 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +import ( + "github.com/onsonr/sonr/internal/orm/keyalgorithm" + "github.com/onsonr/sonr/internal/orm/keycurve" + "github.com/onsonr/sonr/internal/orm/keyencoding" + "github.com/onsonr/sonr/internal/orm/keyrole" + "github.com/onsonr/sonr/internal/orm/keytype" +) + +type PublicKey struct { + Role keyrole.KeyRole `pkl:"role" json:"role,omitempty" query:"role"` + + Algorithm keyalgorithm.KeyAlgorithm `pkl:"algorithm"` + + Encoding keyencoding.KeyEncoding `pkl:"encoding"` + + Curve keycurve.KeyCurve `pkl:"curve"` + + KeyType keytype.KeyType `pkl:"key_type"` + + Raw string `pkl:"raw"` + + Jwk *JWK `pkl:"jwk"` +} diff --git a/internal/orm/assettype/AssetType.pkl.go b/internal/orm/assettype/AssetType.pkl.go new file mode 100644 index 000000000..ba491f869 --- /dev/null +++ b/internal/orm/assettype/AssetType.pkl.go @@ -0,0 +1,46 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package assettype + +import ( + "encoding" + "fmt" +) + +type AssetType string + +const ( + Native AssetType = "native" + Wrapped AssetType = "wrapped" + Staking AssetType = "staking" + Pool AssetType = "pool" + Ibc AssetType = "ibc" + Cw20 AssetType = "cw20" +) + +// String returns the string representation of AssetType +func (rcv AssetType) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(AssetType) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for AssetType. +func (rcv *AssetType) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "native": + *rcv = Native + case "wrapped": + *rcv = Wrapped + case "staking": + *rcv = Staking + case "pool": + *rcv = Pool + case "ibc": + *rcv = Ibc + case "cw20": + *rcv = Cw20 + default: + return fmt.Errorf(`illegal: "%s" is not a valid AssetType`, str) + } + return nil +} diff --git a/internal/orm/bip44.go b/internal/orm/bip44.go new file mode 100644 index 000000000..a48b40b2e --- /dev/null +++ b/internal/orm/bip44.go @@ -0,0 +1,116 @@ +package orm + +import ( + "crypto/hmac" + "crypto/sha512" + "encoding/binary" + "encoding/hex" + "errors" + "math/big" + + "github.com/btcsuite/btcd/btcec/v2" + "github.com/onsonr/sonr/internal/orm/didmethod" +) + +type ChainCode uint32 + +func GetChainCode(m didmethod.DIDMethod) ChainCode { + switch m { + case didmethod.Bitcoin: + return 0 // 0 + case didmethod.Ethereum: + return 64 // 60 + case didmethod.Ibc: + return 118 // 118 + case didmethod.Sonr: + return 703 // 703 + default: + return 0 + } +} + +func FormatAddress(pubKey *PublicKey, m didmethod.DIDMethod) (string, error) { + hexPubKey, err := hex.DecodeString(pubKey.Raw) + if err != nil { + return "", err + } + + // switch m { + // case didmethod.Bitcoin: + // return bech32.Encode("bc", pubKey.Bytes()) + // + // case didmethod.Ethereum: + // epk, err := pubKey.ECDSA() + // if err != nil { + // return "", err + // } + // return ComputeEthAddress(*epk), nil + // + // case didmethod.Sonr: + // return bech32.Encode("idx", hexPubKey) + // + // case didmethod.Ibc: + // return bech32.Encode("cosmos", hexPubKey) + // + // } + return string(hexPubKey), nil +} + +// ComputeAccountPublicKey computes the public key of a child key given the extended public key, chain code, and index. +func ComputeBip32AccountPublicKey(extPubKey PublicKey, chainCode ChainCode, index int) (*PublicKey, error) { + // Check if the index is a hardened child key + if chainCode&0x80000000 != 0 && index < 0 { + return nil, errors.New("invalid index") + } + + hexPubKey, err := hex.DecodeString(extPubKey.Raw) + if err != nil { + return nil, err + } + + // Serialize the public key + pubKey, err := btcec.ParsePubKey(hexPubKey) + if err != nil { + return nil, err + } + pubKeyBytes := pubKey.SerializeCompressed() + + // Serialize the index + indexBytes := make([]byte, 4) + binary.BigEndian.PutUint32(indexBytes, uint32(index)) + + // Compute the HMAC-SHA512 + mac := hmac.New(sha512.New, []byte{byte(chainCode)}) + mac.Write(pubKeyBytes) + mac.Write(indexBytes) + I := mac.Sum(nil) + + // Split I into two 32-byte sequences + IL := I[:32] + + // Convert IL to a big integer + ilNum := new(big.Int).SetBytes(IL) + + // Check if parse256(IL) >= n + curve := btcec.S256() + if ilNum.Cmp(curve.N) >= 0 { + return nil, errors.New("invalid child key") + } + + // Compute the child public key + ilx, ily := curve.ScalarBaseMult(IL) + childX, childY := curve.Add(ilx, ily, pubKey.X(), pubKey.Y()) + lx := newBigIntFieldVal(childX) + ly := newBigIntFieldVal(childY) + + // Create the child public key + _ = btcec.NewPublicKey(lx, ly) + return &PublicKey{}, nil +} + +// newBigIntFieldVal creates a new field value from a big integer. +func newBigIntFieldVal(val *big.Int) *btcec.FieldVal { + lx := new(btcec.FieldVal) + lx.SetByteSlice(val.Bytes()) + return lx +} diff --git a/internal/orm/browser/AuthenticatorSelectionCriteria.pkl.go b/internal/orm/browser/AuthenticatorSelectionCriteria.pkl.go new file mode 100644 index 000000000..a53b382f2 --- /dev/null +++ b/internal/orm/browser/AuthenticatorSelectionCriteria.pkl.go @@ -0,0 +1,10 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type AuthenticatorSelectionCriteria struct { + AuthenticatorAttachment string `pkl:"authenticatorAttachment"` + + RequireResidentKey bool `pkl:"requireResidentKey"` + + UserVerification string `pkl:"userVerification"` +} diff --git a/internal/orm/browser/Browser.pkl.go b/internal/orm/browser/Browser.pkl.go new file mode 100644 index 000000000..3943b79a5 --- /dev/null +++ b/internal/orm/browser/Browser.pkl.go @@ -0,0 +1,36 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +import ( + "context" + + "github.com/apple/pkl-go/pkl" +) + +type Browser struct { +} + +// LoadFromPath loads the pkl module at the given path and evaluates it into a Browser +func LoadFromPath(ctx context.Context, path string) (ret *Browser, err error) { + evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions) + if err != nil { + return nil, err + } + defer func() { + cerr := evaluator.Close() + if err == nil { + err = cerr + } + }() + ret, err = Load(ctx, evaluator, pkl.FileSource(path)) + return ret, err +} + +// Load loads the pkl module at the given source and evaluates it with the given evaluator into a Browser +func Load(ctx context.Context, evaluator pkl.Evaluator, source *pkl.ModuleSource) (*Browser, error) { + var ret Browser + if err := evaluator.EvaluateModule(ctx, source, &ret); err != nil { + return nil, err + } + return &ret, nil +} diff --git a/internal/orm/browser/PublicKeyCredentialCreationOptions.pkl.go b/internal/orm/browser/PublicKeyCredentialCreationOptions.pkl.go new file mode 100644 index 000000000..db72fb8fe --- /dev/null +++ b/internal/orm/browser/PublicKeyCredentialCreationOptions.pkl.go @@ -0,0 +1,22 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type PublicKeyCredentialCreationOptions struct { + Rp *RpEntity `pkl:"rp"` + + User *UserEntity `pkl:"user"` + + Challenge string `pkl:"challenge"` + + PubKeyCredParams []*PublicKeyCredentialParameters `pkl:"pubKeyCredParams"` + + Timeout int `pkl:"timeout"` + + ExcludeCredentials []*PublicKeyCredentialDescriptor `pkl:"excludeCredentials"` + + AuthenticatorSelection *AuthenticatorSelectionCriteria `pkl:"authenticatorSelection"` + + Attestation string `pkl:"attestation"` + + Extensions []*PublicKeyCredentialParameters `pkl:"extensions"` +} diff --git a/internal/orm/browser/PublicKeyCredentialDescriptor.pkl.go b/internal/orm/browser/PublicKeyCredentialDescriptor.pkl.go new file mode 100644 index 000000000..ac66c213b --- /dev/null +++ b/internal/orm/browser/PublicKeyCredentialDescriptor.pkl.go @@ -0,0 +1,10 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type PublicKeyCredentialDescriptor struct { + Id string `pkl:"id"` + + Transports []string `pkl:"transports"` + + Type string `pkl:"type"` +} diff --git a/internal/orm/browser/PublicKeyCredentialParameters.pkl.go b/internal/orm/browser/PublicKeyCredentialParameters.pkl.go new file mode 100644 index 000000000..7c7492bda --- /dev/null +++ b/internal/orm/browser/PublicKeyCredentialParameters.pkl.go @@ -0,0 +1,8 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type PublicKeyCredentialParameters struct { + Type string `pkl:"type"` + + Alg *int `pkl:"alg"` +} diff --git a/internal/orm/browser/PublicKeyCredentialRequestOptions.pkl.go b/internal/orm/browser/PublicKeyCredentialRequestOptions.pkl.go new file mode 100644 index 000000000..f494a9fcb --- /dev/null +++ b/internal/orm/browser/PublicKeyCredentialRequestOptions.pkl.go @@ -0,0 +1,16 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type PublicKeyCredentialRequestOptions struct { + Challenge string `pkl:"challenge"` + + Timeout int `pkl:"timeout"` + + RpId string `pkl:"rpId"` + + AllowCredentials []*PublicKeyCredentialDescriptor `pkl:"allowCredentials"` + + UserVerification string `pkl:"userVerification"` + + Extensions []*PublicKeyCredentialParameters `pkl:"extensions"` +} diff --git a/internal/orm/browser/RpEntity.pkl.go b/internal/orm/browser/RpEntity.pkl.go new file mode 100644 index 000000000..facd857a2 --- /dev/null +++ b/internal/orm/browser/RpEntity.pkl.go @@ -0,0 +1,10 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type RpEntity struct { + Id string `pkl:"id"` + + Name *string `pkl:"name"` + + Icon *string `pkl:"icon"` +} diff --git a/internal/orm/browser/SWT.pkl.go b/internal/orm/browser/SWT.pkl.go new file mode 100644 index 000000000..32e9ebe54 --- /dev/null +++ b/internal/orm/browser/SWT.pkl.go @@ -0,0 +1,16 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type SWT struct { + Origin string `pkl:"origin"` + + Location string `pkl:"location"` + + Identifier string `pkl:"identifier"` + + Scopes []string `pkl:"scopes"` + + Properties map[string]string `pkl:"properties"` + + ExpiryBlock int `pkl:"expiryBlock"` +} diff --git a/internal/orm/browser/UserEntity.pkl.go b/internal/orm/browser/UserEntity.pkl.go new file mode 100644 index 000000000..6b99cb2b8 --- /dev/null +++ b/internal/orm/browser/UserEntity.pkl.go @@ -0,0 +1,10 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +type UserEntity struct { + Id string `pkl:"id"` + + DisplayName *string `pkl:"displayName"` + + Name *string `pkl:"name"` +} diff --git a/internal/orm/browser/init.pkl.go b/internal/orm/browser/init.pkl.go new file mode 100644 index 000000000..df843093c --- /dev/null +++ b/internal/orm/browser/init.pkl.go @@ -0,0 +1,16 @@ +// Code generated from Pkl module `browser`. DO NOT EDIT. +package browser + +import "github.com/apple/pkl-go/pkl" + +func init() { + pkl.RegisterMapping("browser", Browser{}) + pkl.RegisterMapping("browser#PublicKeyCredentialRequestOptions", PublicKeyCredentialRequestOptions{}) + pkl.RegisterMapping("browser#PublicKeyCredentialDescriptor", PublicKeyCredentialDescriptor{}) + pkl.RegisterMapping("browser#PublicKeyCredentialParameters", PublicKeyCredentialParameters{}) + pkl.RegisterMapping("browser#AuthenticatorSelectionCriteria", AuthenticatorSelectionCriteria{}) + pkl.RegisterMapping("browser#PublicKeyCredentialCreationOptions", PublicKeyCredentialCreationOptions{}) + pkl.RegisterMapping("browser#RpEntity", RpEntity{}) + pkl.RegisterMapping("browser#UserEntity", UserEntity{}) + pkl.RegisterMapping("browser#SWT", SWT{}) +} diff --git a/internal/orm/constants.go b/internal/orm/constants.go new file mode 100644 index 000000000..744733c81 --- /dev/null +++ b/internal/orm/constants.go @@ -0,0 +1,334 @@ +package orm + +import ( + "github.com/onsonr/sonr/x/did/types" +) + +type ( + AuthenticatorAttachment string + AuthenticatorTransport string +) + +const ( + // Platform represents a platform authenticator is attached using a client device-specific transport, called + // platform attachment, and is usually not removable from the client device. A public key credential bound to a + // platform authenticator is called a platform credential. + Platform AuthenticatorAttachment = "platform" + + // CrossPlatform represents a roaming authenticator is attached using cross-platform transports, called + // cross-platform attachment. Authenticators of this class are removable from, and can "roam" among, client devices. + // A public key credential bound to a roaming authenticator is called a roaming credential. + CrossPlatform AuthenticatorAttachment = "cross-platform" +) + +func ParseAuthenticatorAttachment(s string) AuthenticatorAttachment { + switch s { + case "platform": + return Platform + default: + return CrossPlatform + } +} + +const ( + // USB indicates the respective authenticator can be contacted over removable USB. + USB AuthenticatorTransport = "usb" + + // NFC indicates the respective authenticator can be contacted over Near Field Communication (NFC). + NFC AuthenticatorTransport = "nfc" + + // BLE indicates the respective authenticator can be contacted over Bluetooth Smart (Bluetooth Low Energy / BLE). + BLE AuthenticatorTransport = "ble" + + // SmartCard indicates the respective authenticator can be contacted over ISO/IEC 7816 smart card with contacts. + // + // WebAuthn Level 3. + SmartCard AuthenticatorTransport = "smart-card" + + // Hybrid indicates the respective authenticator can be contacted using a combination of (often separate) + // data-transport and proximity mechanisms. This supports, for example, authentication on a desktop computer using + // a smartphone. + // + // WebAuthn Level 3. + Hybrid AuthenticatorTransport = "hybrid" + + // Internal indicates the respective authenticator is contacted using a client device-specific transport, i.e., it + // is a platform authenticator. These authenticators are not removable from the client device. + Internal AuthenticatorTransport = "internal" +) + +func ParseAuthenticatorTransport(s string) AuthenticatorTransport { + switch s { + case "usb": + return USB + case "nfc": + return NFC + case "ble": + return BLE + case "smart-card": + return SmartCard + case "hybrid": + return Hybrid + default: + return Internal + } +} + +type AuthenticatorFlags byte + +const ( + // FlagUserPresent Bit 00000001 in the byte sequence. Tells us if user is present. Also referred to as the UP flag. + FlagUserPresent AuthenticatorFlags = 1 << iota // Referred to as UP + + // FlagRFU1 is a reserved for future use flag. + FlagRFU1 + + // FlagUserVerified Bit 00000100 in the byte sequence. Tells us if user is verified + // by the authenticator using a biometric or PIN. Also referred to as the UV flag. + FlagUserVerified + + // FlagBackupEligible Bit 00001000 in the byte sequence. Tells us if a backup is eligible for device. Also referred + // to as the BE flag. + FlagBackupEligible // Referred to as BE + + // FlagBackupState Bit 00010000 in the byte sequence. Tells us if a backup state for device. Also referred to as the + // BS flag. + FlagBackupState + + // FlagRFU2 is a reserved for future use flag. + FlagRFU2 + + // FlagAttestedCredentialData Bit 01000000 in the byte sequence. Indicates whether + // the authenticator added attested credential data. Also referred to as the AT flag. + FlagAttestedCredentialData + + // FlagHasExtensions Bit 10000000 in the byte sequence. Indicates if the authenticator data has extensions. Also + // referred to as the ED flag. + FlagHasExtensions +) + +type AttestationFormat string + +const ( + // AttestationFormatPacked is the "packed" attestation statement format is a WebAuthn-optimized format for + // attestation. It uses a very compact but still extensible encoding method. This format is implementable by + // authenticators with limited resources (e.g., secure elements). + AttestationFormatPacked AttestationFormat = "packed" + + // AttestationFormatTPM is the TPM attestation statement format returns an attestation statement in the same format + // as the packed attestation statement format, although the rawData and signature fields are computed differently. + AttestationFormatTPM AttestationFormat = "tpm" + + // AttestationFormatAndroidKey is the attestation statement format for platform authenticators on versions "N", and + // later, which may provide this proprietary "hardware attestation" statement. + AttestationFormatAndroidKey AttestationFormat = "android-key" + + // AttestationFormatAndroidSafetyNet is the attestation statement format that Android-based platform authenticators + // MAY produce an attestation statement based on the Android SafetyNet API. + AttestationFormatAndroidSafetyNet AttestationFormat = "android-safetynet" + + // AttestationFormatFIDOUniversalSecondFactor is the attestation statement format that is used with FIDO U2F + // authenticators. + AttestationFormatFIDOUniversalSecondFactor AttestationFormat = "fido-u2f" + + // AttestationFormatApple is the attestation statement format that is used with Apple devices' platform + // authenticators. + AttestationFormatApple AttestationFormat = "apple" + + // AttestationFormatNone is the attestation statement format that is used to replace any authenticator-provided + // attestation statement when a WebAuthn Relying Party indicates it does not wish to receive attestation information. + AttestationFormatNone AttestationFormat = "none" +) + +func ExtractAttestationFormats(p *types.Params) []AttestationFormat { + var formats []AttestationFormat + for _, v := range p.AttestationFormats { + formats = append(formats, parseAttestationFormat(v)) + } + return formats +} + +func parseAttestationFormat(s string) AttestationFormat { + switch s { + case "packed": + return AttestationFormatPacked + case "tpm": + return AttestationFormatTPM + case "android-key": + return AttestationFormatAndroidKey + case "android-safetynet": + return AttestationFormatAndroidSafetyNet + case "fido-u2f": + return AttestationFormatFIDOUniversalSecondFactor + case "apple": + return AttestationFormatApple + case "none": + return AttestationFormatNone + default: + return AttestationFormatPacked + } +} + +type CredentialType string + +const ( + CredentialTypePublicKeyCredential CredentialType = "public-key" +) + +type ConveyancePreference string + +const ( + // PreferNoAttestation is a ConveyancePreference value. + // + // This value indicates that the Relying Party is not interested in authenticator attestation. For example, in order + // to potentially avoid having to obtain user consent to relay identifying information to the Relying Party, or to + // save a round trip to an Attestation CA or Anonymization CA. + // + // This is the default value. + // + // Specification: §5.4.7. Attestation Conveyance Preference Enumeration (https://www.w3.org/TR/webauthn/#dom-attestationconveyancepreference-none) + PreferNoAttestation ConveyancePreference = "none" + + // PreferIndirectAttestation is a ConveyancePreference value. + // + // This value indicates that the Relying Party prefers an attestation conveyance yielding verifiable attestation + // statements, but allows the client to decide how to obtain such attestation statements. The client MAY replace the + // authenticator-generated attestation statements with attestation statements generated by an Anonymization CA, in + // order to protect the user’s privacy, or to assist Relying Parties with attestation verification in a + // heterogeneous ecosystem. + // + // Note: There is no guarantee that the Relying Party will obtain a verifiable attestation statement in this case. + // For example, in the case that the authenticator employs self attestation. + // + // Specification: §5.4.7. Attestation Conveyance Preference Enumeration (https://www.w3.org/TR/webauthn/#dom-attestationconveyancepreference-indirect) + PreferIndirectAttestation ConveyancePreference = "indirect" + + // PreferDirectAttestation is a ConveyancePreference value. + // + // This value indicates that the Relying Party wants to receive the attestation statement as generated by the + // authenticator. + // + // Specification: §5.4.7. Attestation Conveyance Preference Enumeration (https://www.w3.org/TR/webauthn/#dom-attestationconveyancepreference-direct) + PreferDirectAttestation ConveyancePreference = "direct" + + // PreferEnterpriseAttestation is a ConveyancePreference value. + // + // This value indicates that the Relying Party wants to receive an attestation statement that may include uniquely + // identifying information. This is intended for controlled deployments within an enterprise where the organization + // wishes to tie registrations to specific authenticators. User agents MUST NOT provide such an attestation unless + // the user agent or authenticator configuration permits it for the requested RP ID. + // + // If permitted, the user agent SHOULD signal to the authenticator (at invocation time) that enterprise + // attestation is requested, and convey the resulting AAGUID and attestation statement, unaltered, to the Relying + // Party. + // + // Specification: §5.4.7. Attestation Conveyance Preference Enumeration (https://www.w3.org/TR/webauthn/#dom-attestationconveyancepreference-enterprise) + PreferEnterpriseAttestation ConveyancePreference = "enterprise" +) + +func ExtractConveyancePreference(p *types.Params) ConveyancePreference { + switch p.ConveyancePreference { + case "none": + return PreferNoAttestation + case "indirect": + return PreferIndirectAttestation + case "direct": + return PreferDirectAttestation + case "enterprise": + return PreferEnterpriseAttestation + default: + return PreferNoAttestation + } +} + +type PublicKeyCredentialHints string + +const ( + // PublicKeyCredentialHintSecurityKey is a PublicKeyCredentialHint that indicates that the Relying Party believes + // that users will satisfy this request with a physical security key. For example, an enterprise Relying Party may + // set this hint if they have issued security keys to their employees and will only accept those authenticators for + // registration and authentication. + // + // For compatibility with older user agents, when this hint is used in PublicKeyCredentialCreationOptions, the + // authenticatorAttachment SHOULD be set to cross-platform. + PublicKeyCredentialHintSecurityKey PublicKeyCredentialHints = "security-key" + + // PublicKeyCredentialHintClientDevice is a PublicKeyCredentialHint that indicates that the Relying Party believes + // that users will satisfy this request with a platform authenticator attached to the client device. + // + // For compatibility with older user agents, when this hint is used in PublicKeyCredentialCreationOptions, the + // authenticatorAttachment SHOULD be set to platform. + PublicKeyCredentialHintClientDevice PublicKeyCredentialHints = "client-device" + + // PublicKeyCredentialHintHybrid is a PublicKeyCredentialHint that indicates that the Relying Party believes that + // users will satisfy this request with general-purpose authenticators such as smartphones. For example, a consumer + // Relying Party may believe that only a small fraction of their customers possesses dedicated security keys. This + // option also implies that the local platform authenticator should not be promoted in the UI. + // + // For compatibility with older user agents, when this hint is used in PublicKeyCredentialCreationOptions, the + // authenticatorAttachment SHOULD be set to cross-platform. + PublicKeyCredentialHintHybrid PublicKeyCredentialHints = "hybrid" +) + +func ParsePublicKeyCredentialHints(s string) PublicKeyCredentialHints { + switch s { + case "security-key": + return PublicKeyCredentialHintSecurityKey + case "client-device": + return PublicKeyCredentialHintClientDevice + case "hybrid": + return PublicKeyCredentialHintHybrid + default: + return "" + } +} + +type AttestedCredentialData struct { + AAGUID []byte `json:"aaguid"` + CredentialID []byte `json:"credential_id"` + + // The raw credential public key bytes received from the attestation data. + CredentialPublicKey []byte `json:"public_key"` +} + +type ResidentKeyRequirement string + +const ( + // ResidentKeyRequirementDiscouraged indicates the Relying Party prefers creating a server-side credential, but will + // accept a client-side discoverable credential. This is the default. + ResidentKeyRequirementDiscouraged ResidentKeyRequirement = "discouraged" + + // ResidentKeyRequirementPreferred indicates to the client we would prefer a discoverable credential. + ResidentKeyRequirementPreferred ResidentKeyRequirement = "preferred" + + // ResidentKeyRequirementRequired indicates the Relying Party requires a client-side discoverable credential, and is + // prepared to receive an error if a client-side discoverable credential cannot be created. + ResidentKeyRequirementRequired ResidentKeyRequirement = "required" +) + +func ParseResidentKeyRequirement(s string) ResidentKeyRequirement { + switch s { + case "discouraged": + return ResidentKeyRequirementDiscouraged + case "preferred": + return ResidentKeyRequirementPreferred + default: + return ResidentKeyRequirementRequired + } +} + +type ( + AuthenticationExtensions map[string]any + UserVerificationRequirement string +) + +const ( + // VerificationRequired User verification is required to create/release a credential + VerificationRequired UserVerificationRequirement = "required" + + // VerificationPreferred User verification is preferred to create/release a credential + VerificationPreferred UserVerificationRequirement = "preferred" // This is the default + + // VerificationDiscouraged The authenticator should not verify the user for the credential + VerificationDiscouraged UserVerificationRequirement = "discouraged" +) diff --git a/internal/orm/credential.go b/internal/orm/credential.go new file mode 100644 index 000000000..5448bba29 --- /dev/null +++ b/internal/orm/credential.go @@ -0,0 +1,56 @@ +package orm + +import ( + "encoding/base64" + + "github.com/go-webauthn/webauthn/protocol" +) + +// NewCredential will return a credential pointer on successful validation of a registration response. +func NewCredential(c *protocol.ParsedCredentialCreationData, origin, handle string) *Credential { + return &Credential{ + Subject: handle, + Origin: origin, + AttestationType: c.Response.AttestationObject.Format, + CredentialId: BytesToBase64(c.Response.AttestationObject.AuthData.AttData.CredentialID), + PublicKey: BytesToBase64(c.Response.AttestationObject.AuthData.AttData.CredentialPublicKey), + Transport: NormalizeTransports(c.Response.Transports), + SignCount: uint(c.Response.AttestationObject.AuthData.Counter), + UserPresent: c.Response.AttestationObject.AuthData.Flags.HasUserPresent(), + UserVerified: c.Response.AttestationObject.AuthData.Flags.HasUserVerified(), + BackupEligible: c.Response.AttestationObject.AuthData.Flags.HasBackupEligible(), + BackupState: c.Response.AttestationObject.AuthData.Flags.HasAttestedCredentialData(), + } +} + +func BytesToBase64(b []byte) string { + return base64.RawURLEncoding.EncodeToString(b) +} + +func Base64ToBytes(b string) ([]byte, error) { + return base64.RawURLEncoding.DecodeString(b) +} + +// Descriptor converts a Credential into a protocol.CredentialDescriptor. +func (c *Credential) Descriptor() protocol.CredentialDescriptor { + id, err := base64.RawURLEncoding.DecodeString(c.CredentialId) + if err != nil { + panic(err) + } + return protocol.CredentialDescriptor{ + Type: protocol.PublicKeyCredentialType, + CredentialID: id, + Transport: ConvertTransports(c.Transport), + AttestationType: c.AttestationType, + } +} + +// This is a signal that the authenticator may be cloned, see CloneWarning above for more information. +func (a *Credential) UpdateCounter(authDataCount uint) { + if authDataCount <= a.SignCount && (authDataCount != 0 || a.SignCount != 0) { + a.CloneWarning = true + return + } + + a.SignCount = authDataCount +} diff --git a/internal/orm/didmethod/DIDMethod.pkl.go b/internal/orm/didmethod/DIDMethod.pkl.go new file mode 100644 index 000000000..4d6c583d6 --- /dev/null +++ b/internal/orm/didmethod/DIDMethod.pkl.go @@ -0,0 +1,52 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package didmethod + +import ( + "encoding" + "fmt" +) + +type DIDMethod string + +const ( + Ipfs DIDMethod = "ipfs" + Sonr DIDMethod = "sonr" + Bitcoin DIDMethod = "bitcoin" + Ethereum DIDMethod = "ethereum" + Ibc DIDMethod = "ibc" + Webauthn DIDMethod = "webauthn" + Dwn DIDMethod = "dwn" + Service DIDMethod = "service" +) + +// String returns the string representation of DIDMethod +func (rcv DIDMethod) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(DIDMethod) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for DIDMethod. +func (rcv *DIDMethod) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "ipfs": + *rcv = Ipfs + case "sonr": + *rcv = Sonr + case "bitcoin": + *rcv = Bitcoin + case "ethereum": + *rcv = Ethereum + case "ibc": + *rcv = Ibc + case "webauthn": + *rcv = Webauthn + case "dwn": + *rcv = Dwn + case "service": + *rcv = Service + default: + return fmt.Errorf(`illegal: "%s" is not a valid DIDMethod`, str) + } + return nil +} diff --git a/internal/orm/init.pkl.go b/internal/orm/init.pkl.go new file mode 100644 index 000000000..390916a45 --- /dev/null +++ b/internal/orm/init.pkl.go @@ -0,0 +1,17 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package orm + +import "github.com/apple/pkl-go/pkl" + +func init() { + pkl.RegisterMapping("orm", Orm{}) + pkl.RegisterMapping("orm#Account", Account{}) + pkl.RegisterMapping("orm#Asset", Asset{}) + pkl.RegisterMapping("orm#Chain", Chain{}) + pkl.RegisterMapping("orm#Credential", Credential{}) + pkl.RegisterMapping("orm#JWK", JWK{}) + pkl.RegisterMapping("orm#Grant", Grant{}) + pkl.RegisterMapping("orm#Keyshare", Keyshare{}) + pkl.RegisterMapping("orm#PublicKey", PublicKey{}) + pkl.RegisterMapping("orm#Profile", Profile{}) +} diff --git a/internal/orm/jwk.go b/internal/orm/jwk.go new file mode 100644 index 000000000..a55d8f226 --- /dev/null +++ b/internal/orm/jwk.go @@ -0,0 +1,111 @@ +package orm + +import ( + "encoding/base64" + "fmt" + + "github.com/go-webauthn/webauthn/protocol" + "github.com/go-webauthn/webauthn/protocol/webauthncose" +) + +func FormatEC2PublicKey(key *webauthncose.EC2PublicKeyData) (*JWK, error) { + curve, err := GetCOSECurveName(key.Curve) + if err != nil { + return nil, err + } + + jwkMap := map[string]interface{}{ + "kty": "EC", + "crv": curve, + "x": base64.RawURLEncoding.EncodeToString(key.XCoord), + "y": base64.RawURLEncoding.EncodeToString(key.YCoord), + } + + return MapToJWK(jwkMap) +} + +func FormatRSAPublicKey(key *webauthncose.RSAPublicKeyData) (*JWK, error) { + jwkMap := map[string]interface{}{ + "kty": "RSA", + "n": base64.RawURLEncoding.EncodeToString(key.Modulus), + "e": base64.RawURLEncoding.EncodeToString(key.Exponent), + } + + return MapToJWK(jwkMap) +} + +func FormatOKPPublicKey(key *webauthncose.OKPPublicKeyData) (*JWK, error) { + curve, err := GetOKPCurveName(key.Curve) + if err != nil { + return nil, err + } + + jwkMap := map[string]interface{}{ + "kty": "OKP", + "crv": curve, + "x": base64.RawURLEncoding.EncodeToString(key.XCoord), + } + + return MapToJWK(jwkMap) +} + +func MapToJWK(m map[string]interface{}) (*JWK, error) { + jwk := &JWK{} + for k, v := range m { + switch k { + case "kty": + jwk.Kty = v.(string) + case "crv": + jwk.Crv = v.(string) + case "x": + jwk.X = v.(string) + case "y": + jwk.Y = v.(string) + case "n": + jwk.N = v.(string) + case "e": + jwk.E = v.(string) + } + } + return jwk, nil +} + +func GetCOSECurveName(curveID int64) (string, error) { + switch curveID { + case int64(webauthncose.P256): + return "P-256", nil + case int64(webauthncose.P384): + return "P-384", nil + case int64(webauthncose.P521): + return "P-521", nil + default: + return "", fmt.Errorf("unknown curve ID: %d", curveID) + } +} + +func GetOKPCurveName(curveID int64) (string, error) { + switch curveID { + case int64(webauthncose.Ed25519): + return "Ed25519", nil + default: + return "", fmt.Errorf("unknown OKP curve ID: %d", curveID) + } +} + +// ConvertTransports converts the transports from strings to protocol.AuthenticatorTransport +func ConvertTransports(transports []string) []protocol.AuthenticatorTransport { + tss := make([]protocol.AuthenticatorTransport, len(transports)) + for i, t := range transports { + tss[i] = protocol.AuthenticatorTransport(t) + } + return tss +} + +// NormalizeTransports returns the transports as strings +func NormalizeTransports(transports []protocol.AuthenticatorTransport) []string { + tss := make([]string, len(transports)) + for i, t := range transports { + tss[i] = string(t) + } + return tss +} diff --git a/internal/orm/keyalg.go b/internal/orm/keyalg.go new file mode 100644 index 000000000..387df8d3d --- /dev/null +++ b/internal/orm/keyalg.go @@ -0,0 +1,22 @@ +package orm + +import "github.com/onsonr/sonr/internal/orm/keyalgorithm" + +type COSEAlgorithmIdentifier int + +func GetCoseIdentifier(alg keyalgorithm.KeyAlgorithm) COSEAlgorithmIdentifier { + switch alg { + case keyalgorithm.Es256: + return COSEAlgorithmIdentifier(-7) + case keyalgorithm.Es384: + return COSEAlgorithmIdentifier(-35) + case keyalgorithm.Es512: + return COSEAlgorithmIdentifier(-36) + case keyalgorithm.Eddsa: + return COSEAlgorithmIdentifier(-8) + case keyalgorithm.Es256k: + return COSEAlgorithmIdentifier(-10) + default: + return COSEAlgorithmIdentifier(0) + } +} diff --git a/internal/orm/keyalgorithm/KeyAlgorithm.pkl.go b/internal/orm/keyalgorithm/KeyAlgorithm.pkl.go new file mode 100644 index 000000000..16f47ac66 --- /dev/null +++ b/internal/orm/keyalgorithm/KeyAlgorithm.pkl.go @@ -0,0 +1,46 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package keyalgorithm + +import ( + "encoding" + "fmt" +) + +type KeyAlgorithm string + +const ( + Es256 KeyAlgorithm = "es256" + Es384 KeyAlgorithm = "es384" + Es512 KeyAlgorithm = "es512" + Eddsa KeyAlgorithm = "eddsa" + Es256k KeyAlgorithm = "es256k" + Ecdsa KeyAlgorithm = "ecdsa" +) + +// String returns the string representation of KeyAlgorithm +func (rcv KeyAlgorithm) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(KeyAlgorithm) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for KeyAlgorithm. +func (rcv *KeyAlgorithm) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "es256": + *rcv = Es256 + case "es384": + *rcv = Es384 + case "es512": + *rcv = Es512 + case "eddsa": + *rcv = Eddsa + case "es256k": + *rcv = Es256k + case "ecdsa": + *rcv = Ecdsa + default: + return fmt.Errorf(`illegal: "%s" is not a valid KeyAlgorithm`, str) + } + return nil +} diff --git a/internal/orm/keycurve/KeyCurve.pkl.go b/internal/orm/keycurve/KeyCurve.pkl.go new file mode 100644 index 000000000..773b59ab1 --- /dev/null +++ b/internal/orm/keycurve/KeyCurve.pkl.go @@ -0,0 +1,58 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package keycurve + +import ( + "encoding" + "fmt" +) + +type KeyCurve string + +const ( + P256 KeyCurve = "p256" + P384 KeyCurve = "p384" + P521 KeyCurve = "p521" + X25519 KeyCurve = "x25519" + X448 KeyCurve = "x448" + Ed25519 KeyCurve = "ed25519" + Ed448 KeyCurve = "ed448" + Secp256k1 KeyCurve = "secp256k1" + Bls12381 KeyCurve = "bls12381" + Keccak256 KeyCurve = "keccak256" +) + +// String returns the string representation of KeyCurve +func (rcv KeyCurve) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(KeyCurve) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for KeyCurve. +func (rcv *KeyCurve) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "p256": + *rcv = P256 + case "p384": + *rcv = P384 + case "p521": + *rcv = P521 + case "x25519": + *rcv = X25519 + case "x448": + *rcv = X448 + case "ed25519": + *rcv = Ed25519 + case "ed448": + *rcv = Ed448 + case "secp256k1": + *rcv = Secp256k1 + case "bls12381": + *rcv = Bls12381 + case "keccak256": + *rcv = Keccak256 + default: + return fmt.Errorf(`illegal: "%s" is not a valid KeyCurve`, str) + } + return nil +} diff --git a/internal/orm/keyencoding/KeyEncoding.pkl.go b/internal/orm/keyencoding/KeyEncoding.pkl.go new file mode 100644 index 000000000..dab253554 --- /dev/null +++ b/internal/orm/keyencoding/KeyEncoding.pkl.go @@ -0,0 +1,37 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package keyencoding + +import ( + "encoding" + "fmt" +) + +type KeyEncoding string + +const ( + Raw KeyEncoding = "raw" + Hex KeyEncoding = "hex" + Multibase KeyEncoding = "multibase" +) + +// String returns the string representation of KeyEncoding +func (rcv KeyEncoding) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(KeyEncoding) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for KeyEncoding. +func (rcv *KeyEncoding) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "raw": + *rcv = Raw + case "hex": + *rcv = Hex + case "multibase": + *rcv = Multibase + default: + return fmt.Errorf(`illegal: "%s" is not a valid KeyEncoding`, str) + } + return nil +} diff --git a/internal/orm/keyrole/KeyRole.pkl.go b/internal/orm/keyrole/KeyRole.pkl.go new file mode 100644 index 000000000..ee5437cee --- /dev/null +++ b/internal/orm/keyrole/KeyRole.pkl.go @@ -0,0 +1,40 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package keyrole + +import ( + "encoding" + "fmt" +) + +type KeyRole string + +const ( + Authentication KeyRole = "authentication" + Assertion KeyRole = "assertion" + Delegation KeyRole = "delegation" + Invocation KeyRole = "invocation" +) + +// String returns the string representation of KeyRole +func (rcv KeyRole) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(KeyRole) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for KeyRole. +func (rcv *KeyRole) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "authentication": + *rcv = Authentication + case "assertion": + *rcv = Assertion + case "delegation": + *rcv = Delegation + case "invocation": + *rcv = Invocation + default: + return fmt.Errorf(`illegal: "%s" is not a valid KeyRole`, str) + } + return nil +} diff --git a/internal/orm/keysharerole/KeyShareRole.pkl.go b/internal/orm/keysharerole/KeyShareRole.pkl.go new file mode 100644 index 000000000..84394745e --- /dev/null +++ b/internal/orm/keysharerole/KeyShareRole.pkl.go @@ -0,0 +1,34 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package keysharerole + +import ( + "encoding" + "fmt" +) + +type KeyShareRole string + +const ( + User KeyShareRole = "user" + Validator KeyShareRole = "validator" +) + +// String returns the string representation of KeyShareRole +func (rcv KeyShareRole) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(KeyShareRole) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for KeyShareRole. +func (rcv *KeyShareRole) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "user": + *rcv = User + case "validator": + *rcv = Validator + default: + return fmt.Errorf(`illegal: "%s" is not a valid KeyShareRole`, str) + } + return nil +} diff --git a/internal/orm/keytype/KeyType.pkl.go b/internal/orm/keytype/KeyType.pkl.go new file mode 100644 index 000000000..d3f9808ad --- /dev/null +++ b/internal/orm/keytype/KeyType.pkl.go @@ -0,0 +1,55 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package keytype + +import ( + "encoding" + "fmt" +) + +type KeyType string + +const ( + Octet KeyType = "octet" + Elliptic KeyType = "elliptic" + Rsa KeyType = "rsa" + Symmetric KeyType = "symmetric" + Hmac KeyType = "hmac" + Mpc KeyType = "mpc" + Zk KeyType = "zk" + Webauthn KeyType = "webauthn" + Bip32 KeyType = "bip32" +) + +// String returns the string representation of KeyType +func (rcv KeyType) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(KeyType) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for KeyType. +func (rcv *KeyType) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "octet": + *rcv = Octet + case "elliptic": + *rcv = Elliptic + case "rsa": + *rcv = Rsa + case "symmetric": + *rcv = Symmetric + case "hmac": + *rcv = Hmac + case "mpc": + *rcv = Mpc + case "zk": + *rcv = Zk + case "webauthn": + *rcv = Webauthn + case "bip32": + *rcv = Bip32 + default: + return fmt.Errorf(`illegal: "%s" is not a valid KeyType`, str) + } + return nil +} diff --git a/internal/orm/permissiongrant/PermissionGrant.pkl.go b/internal/orm/permissiongrant/PermissionGrant.pkl.go new file mode 100644 index 000000000..bdeea225f --- /dev/null +++ b/internal/orm/permissiongrant/PermissionGrant.pkl.go @@ -0,0 +1,46 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package permissiongrant + +import ( + "encoding" + "fmt" +) + +type PermissionGrant string + +const ( + None PermissionGrant = "none" + Read PermissionGrant = "read" + Write PermissionGrant = "write" + Verify PermissionGrant = "verify" + Broadcast PermissionGrant = "broadcast" + Admin PermissionGrant = "admin" +) + +// String returns the string representation of PermissionGrant +func (rcv PermissionGrant) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(PermissionGrant) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for PermissionGrant. +func (rcv *PermissionGrant) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "none": + *rcv = None + case "read": + *rcv = Read + case "write": + *rcv = Write + case "verify": + *rcv = Verify + case "broadcast": + *rcv = Broadcast + case "admin": + *rcv = Admin + default: + return fmt.Errorf(`illegal: "%s" is not a valid PermissionGrant`, str) + } + return nil +} diff --git a/internal/orm/permissionscope/PermissionScope.pkl.go b/internal/orm/permissionscope/PermissionScope.pkl.go new file mode 100644 index 000000000..2af42ee43 --- /dev/null +++ b/internal/orm/permissionscope/PermissionScope.pkl.go @@ -0,0 +1,49 @@ +// Code generated from Pkl module `orm`. DO NOT EDIT. +package permissionscope + +import ( + "encoding" + "fmt" +) + +type PermissionScope string + +const ( + Profile PermissionScope = "profile" + Metadata PermissionScope = "metadata" + Permissions PermissionScope = "permissions" + Wallets PermissionScope = "wallets" + Transactions PermissionScope = "transactions" + User PermissionScope = "user" + Validator PermissionScope = "validator" +) + +// String returns the string representation of PermissionScope +func (rcv PermissionScope) String() string { + return string(rcv) +} + +var _ encoding.BinaryUnmarshaler = new(PermissionScope) + +// UnmarshalBinary implements encoding.BinaryUnmarshaler for PermissionScope. +func (rcv *PermissionScope) UnmarshalBinary(data []byte) error { + switch str := string(data); str { + case "profile": + *rcv = Profile + case "metadata": + *rcv = Metadata + case "permissions": + *rcv = Permissions + case "wallets": + *rcv = Wallets + case "transactions": + *rcv = Transactions + case "user": + *rcv = User + case "validator": + *rcv = Validator + default: + return fmt.Errorf(`illegal: "%s" is not a valid PermissionScope`, str) + } + return nil +} diff --git a/internal/orm/publickey.go b/internal/orm/publickey.go new file mode 100644 index 000000000..8256d0946 --- /dev/null +++ b/internal/orm/publickey.go @@ -0,0 +1,26 @@ +package orm + +import ( + "fmt" + + "github.com/go-webauthn/webauthn/protocol/webauthncose" +) + +// ExtractWebAuthnPublicKey parses the raw public key bytes and returns a JWK representation +func ExtractWebAuthnPublicKey(keyBytes []byte) (*JWK, error) { + key, err := webauthncose.ParsePublicKey(keyBytes) + if err != nil { + return nil, fmt.Errorf("failed to parse public key: %w", err) + } + + switch k := key.(type) { + case *webauthncose.EC2PublicKeyData: + return FormatEC2PublicKey(k) + case *webauthncose.RSAPublicKeyData: + return FormatRSAPublicKey(k) + case *webauthncose.OKPPublicKeyData: + return FormatOKPPublicKey(k) + default: + return nil, fmt.Errorf("unsupported key type") + } +} diff --git a/internal/orm/transactions/Msg.pkl.go b/internal/orm/transactions/Msg.pkl.go new file mode 100644 index 000000000..fe8ffcc9a --- /dev/null +++ b/internal/orm/transactions/Msg.pkl.go @@ -0,0 +1,6 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +type Msg interface { + GetTypeUrl() string +} diff --git a/internal/orm/transactions/MsgDidAllocateVault.pkl.go b/internal/orm/transactions/MsgDidAllocateVault.pkl.go new file mode 100644 index 000000000..0e691f461 --- /dev/null +++ b/internal/orm/transactions/MsgDidAllocateVault.pkl.go @@ -0,0 +1,44 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgDidAllocateVault interface { + Msg + + GetAuthority() string + + GetSubject() string + + GetToken() *pkl.Object +} + +var _ MsgDidAllocateVault = (*MsgDidAllocateVaultImpl)(nil) + +type MsgDidAllocateVaultImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Authority string `pkl:"authority"` + + Subject string `pkl:"subject"` + + Token *pkl.Object `pkl:"token"` +} + +// The type URL for the message +func (rcv *MsgDidAllocateVaultImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgDidAllocateVaultImpl) GetAuthority() string { + return rcv.Authority +} + +func (rcv *MsgDidAllocateVaultImpl) GetSubject() string { + return rcv.Subject +} + +func (rcv *MsgDidAllocateVaultImpl) GetToken() *pkl.Object { + return rcv.Token +} diff --git a/internal/orm/transactions/MsgDidAuthorize.pkl.go b/internal/orm/transactions/MsgDidAuthorize.pkl.go new file mode 100644 index 000000000..b12fc046d --- /dev/null +++ b/internal/orm/transactions/MsgDidAuthorize.pkl.go @@ -0,0 +1,60 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgDidAuthorize interface { + Msg + + GetAuthority() string + + GetController() string + + GetAddress() string + + GetOrigin() string + + GetToken() *pkl.Object +} + +var _ MsgDidAuthorize = (*MsgDidAuthorizeImpl)(nil) + +type MsgDidAuthorizeImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Authority string `pkl:"authority"` + + Controller string `pkl:"controller"` + + Address string `pkl:"address"` + + Origin string `pkl:"origin"` + + Token *pkl.Object `pkl:"token"` +} + +// The type URL for the message +func (rcv *MsgDidAuthorizeImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgDidAuthorizeImpl) GetAuthority() string { + return rcv.Authority +} + +func (rcv *MsgDidAuthorizeImpl) GetController() string { + return rcv.Controller +} + +func (rcv *MsgDidAuthorizeImpl) GetAddress() string { + return rcv.Address +} + +func (rcv *MsgDidAuthorizeImpl) GetOrigin() string { + return rcv.Origin +} + +func (rcv *MsgDidAuthorizeImpl) GetToken() *pkl.Object { + return rcv.Token +} diff --git a/internal/orm/transactions/MsgDidProveWitness.pkl.go b/internal/orm/transactions/MsgDidProveWitness.pkl.go new file mode 100644 index 000000000..8bb849194 --- /dev/null +++ b/internal/orm/transactions/MsgDidProveWitness.pkl.go @@ -0,0 +1,52 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgDidProveWitness interface { + Msg + + GetAuthority() string + + GetProperty() string + + GetWitness() []int + + GetToken() *pkl.Object +} + +var _ MsgDidProveWitness = (*MsgDidProveWitnessImpl)(nil) + +type MsgDidProveWitnessImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Authority string `pkl:"authority"` + + Property string `pkl:"property"` + + Witness []int `pkl:"witness"` + + Token *pkl.Object `pkl:"token"` +} + +// The type URL for the message +func (rcv *MsgDidProveWitnessImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgDidProveWitnessImpl) GetAuthority() string { + return rcv.Authority +} + +func (rcv *MsgDidProveWitnessImpl) GetProperty() string { + return rcv.Property +} + +func (rcv *MsgDidProveWitnessImpl) GetWitness() []int { + return rcv.Witness +} + +func (rcv *MsgDidProveWitnessImpl) GetToken() *pkl.Object { + return rcv.Token +} diff --git a/internal/orm/transactions/MsgDidRegisterController.pkl.go b/internal/orm/transactions/MsgDidRegisterController.pkl.go new file mode 100644 index 000000000..99907f455 --- /dev/null +++ b/internal/orm/transactions/MsgDidRegisterController.pkl.go @@ -0,0 +1,60 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgDidRegisterController interface { + Msg + + GetAuthority() string + + GetCid() string + + GetOrigin() string + + GetAuthentication() []*pkl.Object + + GetToken() *pkl.Object +} + +var _ MsgDidRegisterController = (*MsgDidRegisterControllerImpl)(nil) + +type MsgDidRegisterControllerImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Authority string `pkl:"authority"` + + Cid string `pkl:"cid"` + + Origin string `pkl:"origin"` + + Authentication []*pkl.Object `pkl:"authentication"` + + Token *pkl.Object `pkl:"token"` +} + +// The type URL for the message +func (rcv *MsgDidRegisterControllerImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgDidRegisterControllerImpl) GetAuthority() string { + return rcv.Authority +} + +func (rcv *MsgDidRegisterControllerImpl) GetCid() string { + return rcv.Cid +} + +func (rcv *MsgDidRegisterControllerImpl) GetOrigin() string { + return rcv.Origin +} + +func (rcv *MsgDidRegisterControllerImpl) GetAuthentication() []*pkl.Object { + return rcv.Authentication +} + +func (rcv *MsgDidRegisterControllerImpl) GetToken() *pkl.Object { + return rcv.Token +} diff --git a/internal/orm/transactions/MsgDidRegisterService.pkl.go b/internal/orm/transactions/MsgDidRegisterService.pkl.go new file mode 100644 index 000000000..d234865da --- /dev/null +++ b/internal/orm/transactions/MsgDidRegisterService.pkl.go @@ -0,0 +1,76 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgDidRegisterService interface { + Msg + + GetController() string + + GetOriginUri() string + + GetScopes() *pkl.Object + + GetDescription() string + + GetServiceEndpoints() map[string]string + + GetMetadata() *pkl.Object + + GetToken() *pkl.Object +} + +var _ MsgDidRegisterService = (*MsgDidRegisterServiceImpl)(nil) + +type MsgDidRegisterServiceImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Controller string `pkl:"controller"` + + OriginUri string `pkl:"originUri"` + + Scopes *pkl.Object `pkl:"scopes"` + + Description string `pkl:"description"` + + ServiceEndpoints map[string]string `pkl:"serviceEndpoints"` + + Metadata *pkl.Object `pkl:"metadata"` + + Token *pkl.Object `pkl:"token"` +} + +// The type URL for the message +func (rcv *MsgDidRegisterServiceImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgDidRegisterServiceImpl) GetController() string { + return rcv.Controller +} + +func (rcv *MsgDidRegisterServiceImpl) GetOriginUri() string { + return rcv.OriginUri +} + +func (rcv *MsgDidRegisterServiceImpl) GetScopes() *pkl.Object { + return rcv.Scopes +} + +func (rcv *MsgDidRegisterServiceImpl) GetDescription() string { + return rcv.Description +} + +func (rcv *MsgDidRegisterServiceImpl) GetServiceEndpoints() map[string]string { + return rcv.ServiceEndpoints +} + +func (rcv *MsgDidRegisterServiceImpl) GetMetadata() *pkl.Object { + return rcv.Metadata +} + +func (rcv *MsgDidRegisterServiceImpl) GetToken() *pkl.Object { + return rcv.Token +} diff --git a/internal/orm/transactions/MsgDidSyncVault.pkl.go b/internal/orm/transactions/MsgDidSyncVault.pkl.go new file mode 100644 index 000000000..c4de4ba64 --- /dev/null +++ b/internal/orm/transactions/MsgDidSyncVault.pkl.go @@ -0,0 +1,36 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgDidSyncVault interface { + Msg + + GetController() string + + GetToken() *pkl.Object +} + +var _ MsgDidSyncVault = (*MsgDidSyncVaultImpl)(nil) + +type MsgDidSyncVaultImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Controller string `pkl:"controller"` + + Token *pkl.Object `pkl:"token"` +} + +// The type URL for the message +func (rcv *MsgDidSyncVaultImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgDidSyncVaultImpl) GetController() string { + return rcv.Controller +} + +func (rcv *MsgDidSyncVaultImpl) GetToken() *pkl.Object { + return rcv.Token +} diff --git a/internal/orm/transactions/MsgDidUpdateParams.pkl.go b/internal/orm/transactions/MsgDidUpdateParams.pkl.go new file mode 100644 index 000000000..a3e227ab8 --- /dev/null +++ b/internal/orm/transactions/MsgDidUpdateParams.pkl.go @@ -0,0 +1,44 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgDidUpdateParams interface { + Msg + + GetAuthority() string + + GetParams() *pkl.Object + + GetToken() *pkl.Object +} + +var _ MsgDidUpdateParams = (*MsgDidUpdateParamsImpl)(nil) + +type MsgDidUpdateParamsImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Authority string `pkl:"authority"` + + Params *pkl.Object `pkl:"params"` + + Token *pkl.Object `pkl:"token"` +} + +// The type URL for the message +func (rcv *MsgDidUpdateParamsImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgDidUpdateParamsImpl) GetAuthority() string { + return rcv.Authority +} + +func (rcv *MsgDidUpdateParamsImpl) GetParams() *pkl.Object { + return rcv.Params +} + +func (rcv *MsgDidUpdateParamsImpl) GetToken() *pkl.Object { + return rcv.Token +} diff --git a/internal/orm/transactions/MsgGovDeposit.pkl.go b/internal/orm/transactions/MsgGovDeposit.pkl.go new file mode 100644 index 000000000..556d1df7f --- /dev/null +++ b/internal/orm/transactions/MsgGovDeposit.pkl.go @@ -0,0 +1,44 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgGovDeposit interface { + Msg + + GetProposalId() int + + GetDepositor() string + + GetAmount() []*pkl.Object +} + +var _ MsgGovDeposit = (*MsgGovDepositImpl)(nil) + +type MsgGovDepositImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + ProposalId int `pkl:"proposalId"` + + Depositor string `pkl:"depositor"` + + Amount []*pkl.Object `pkl:"amount"` +} + +// The type URL for the message +func (rcv *MsgGovDepositImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgGovDepositImpl) GetProposalId() int { + return rcv.ProposalId +} + +func (rcv *MsgGovDepositImpl) GetDepositor() string { + return rcv.Depositor +} + +func (rcv *MsgGovDepositImpl) GetAmount() []*pkl.Object { + return rcv.Amount +} diff --git a/internal/orm/transactions/MsgGovSubmitProposal.pkl.go b/internal/orm/transactions/MsgGovSubmitProposal.pkl.go new file mode 100644 index 000000000..c33b589b6 --- /dev/null +++ b/internal/orm/transactions/MsgGovSubmitProposal.pkl.go @@ -0,0 +1,45 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgGovSubmitProposal interface { + Msg + + GetContent() *Proposal + + GetInitialDeposit() []*pkl.Object + + GetProposer() string +} + +var _ MsgGovSubmitProposal = (*MsgGovSubmitProposalImpl)(nil) + +// Gov module messages +type MsgGovSubmitProposalImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Content *Proposal `pkl:"content"` + + InitialDeposit []*pkl.Object `pkl:"initialDeposit"` + + Proposer string `pkl:"proposer"` +} + +// The type URL for the message +func (rcv *MsgGovSubmitProposalImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgGovSubmitProposalImpl) GetContent() *Proposal { + return rcv.Content +} + +func (rcv *MsgGovSubmitProposalImpl) GetInitialDeposit() []*pkl.Object { + return rcv.InitialDeposit +} + +func (rcv *MsgGovSubmitProposalImpl) GetProposer() string { + return rcv.Proposer +} diff --git a/internal/orm/transactions/MsgGovVote.pkl.go b/internal/orm/transactions/MsgGovVote.pkl.go new file mode 100644 index 000000000..303cf1eee --- /dev/null +++ b/internal/orm/transactions/MsgGovVote.pkl.go @@ -0,0 +1,42 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +type MsgGovVote interface { + Msg + + GetProposalId() int + + GetVoter() string + + GetOption() int +} + +var _ MsgGovVote = (*MsgGovVoteImpl)(nil) + +type MsgGovVoteImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + ProposalId int `pkl:"proposalId"` + + Voter string `pkl:"voter"` + + Option int `pkl:"option"` +} + +// The type URL for the message +func (rcv *MsgGovVoteImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgGovVoteImpl) GetProposalId() int { + return rcv.ProposalId +} + +func (rcv *MsgGovVoteImpl) GetVoter() string { + return rcv.Voter +} + +func (rcv *MsgGovVoteImpl) GetOption() int { + return rcv.Option +} diff --git a/internal/orm/transactions/MsgGroupCreateGroup.pkl.go b/internal/orm/transactions/MsgGroupCreateGroup.pkl.go new file mode 100644 index 000000000..c5dafd6bd --- /dev/null +++ b/internal/orm/transactions/MsgGroupCreateGroup.pkl.go @@ -0,0 +1,45 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgGroupCreateGroup interface { + Msg + + GetAdmin() string + + GetMembers() []*pkl.Object + + GetMetadata() string +} + +var _ MsgGroupCreateGroup = (*MsgGroupCreateGroupImpl)(nil) + +// Group module messages +type MsgGroupCreateGroupImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Admin string `pkl:"admin"` + + Members []*pkl.Object `pkl:"members"` + + Metadata string `pkl:"metadata"` +} + +// The type URL for the message +func (rcv *MsgGroupCreateGroupImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgGroupCreateGroupImpl) GetAdmin() string { + return rcv.Admin +} + +func (rcv *MsgGroupCreateGroupImpl) GetMembers() []*pkl.Object { + return rcv.Members +} + +func (rcv *MsgGroupCreateGroupImpl) GetMetadata() string { + return rcv.Metadata +} diff --git a/internal/orm/transactions/MsgGroupSubmitProposal.pkl.go b/internal/orm/transactions/MsgGroupSubmitProposal.pkl.go new file mode 100644 index 000000000..c23f15391 --- /dev/null +++ b/internal/orm/transactions/MsgGroupSubmitProposal.pkl.go @@ -0,0 +1,60 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgGroupSubmitProposal interface { + Msg + + GetGroupPolicyAddress() string + + GetProposers() []string + + GetMetadata() string + + GetMessages() []*pkl.Object + + GetExec() int +} + +var _ MsgGroupSubmitProposal = (*MsgGroupSubmitProposalImpl)(nil) + +type MsgGroupSubmitProposalImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + GroupPolicyAddress string `pkl:"groupPolicyAddress"` + + Proposers []string `pkl:"proposers"` + + Metadata string `pkl:"metadata"` + + Messages []*pkl.Object `pkl:"messages"` + + Exec int `pkl:"exec"` +} + +// The type URL for the message +func (rcv *MsgGroupSubmitProposalImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgGroupSubmitProposalImpl) GetGroupPolicyAddress() string { + return rcv.GroupPolicyAddress +} + +func (rcv *MsgGroupSubmitProposalImpl) GetProposers() []string { + return rcv.Proposers +} + +func (rcv *MsgGroupSubmitProposalImpl) GetMetadata() string { + return rcv.Metadata +} + +func (rcv *MsgGroupSubmitProposalImpl) GetMessages() []*pkl.Object { + return rcv.Messages +} + +func (rcv *MsgGroupSubmitProposalImpl) GetExec() int { + return rcv.Exec +} diff --git a/internal/orm/transactions/MsgGroupVote.pkl.go b/internal/orm/transactions/MsgGroupVote.pkl.go new file mode 100644 index 000000000..a79ce6899 --- /dev/null +++ b/internal/orm/transactions/MsgGroupVote.pkl.go @@ -0,0 +1,58 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +type MsgGroupVote interface { + Msg + + GetProposalId() int + + GetVoter() string + + GetOption() int + + GetMetadata() string + + GetExec() int +} + +var _ MsgGroupVote = (*MsgGroupVoteImpl)(nil) + +type MsgGroupVoteImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + ProposalId int `pkl:"proposalId"` + + Voter string `pkl:"voter"` + + Option int `pkl:"option"` + + Metadata string `pkl:"metadata"` + + Exec int `pkl:"exec"` +} + +// The type URL for the message +func (rcv *MsgGroupVoteImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgGroupVoteImpl) GetProposalId() int { + return rcv.ProposalId +} + +func (rcv *MsgGroupVoteImpl) GetVoter() string { + return rcv.Voter +} + +func (rcv *MsgGroupVoteImpl) GetOption() int { + return rcv.Option +} + +func (rcv *MsgGroupVoteImpl) GetMetadata() string { + return rcv.Metadata +} + +func (rcv *MsgGroupVoteImpl) GetExec() int { + return rcv.Exec +} diff --git a/internal/orm/transactions/MsgStakingBeginRedelegate.pkl.go b/internal/orm/transactions/MsgStakingBeginRedelegate.pkl.go new file mode 100644 index 000000000..44a019af4 --- /dev/null +++ b/internal/orm/transactions/MsgStakingBeginRedelegate.pkl.go @@ -0,0 +1,52 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgStakingBeginRedelegate interface { + Msg + + GetDelegatorAddress() string + + GetValidatorSrcAddress() string + + GetValidatorDstAddress() string + + GetAmount() *pkl.Object +} + +var _ MsgStakingBeginRedelegate = (*MsgStakingBeginRedelegateImpl)(nil) + +type MsgStakingBeginRedelegateImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + DelegatorAddress string `pkl:"delegatorAddress"` + + ValidatorSrcAddress string `pkl:"validatorSrcAddress"` + + ValidatorDstAddress string `pkl:"validatorDstAddress"` + + Amount *pkl.Object `pkl:"amount"` +} + +// The type URL for the message +func (rcv *MsgStakingBeginRedelegateImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgStakingBeginRedelegateImpl) GetDelegatorAddress() string { + return rcv.DelegatorAddress +} + +func (rcv *MsgStakingBeginRedelegateImpl) GetValidatorSrcAddress() string { + return rcv.ValidatorSrcAddress +} + +func (rcv *MsgStakingBeginRedelegateImpl) GetValidatorDstAddress() string { + return rcv.ValidatorDstAddress +} + +func (rcv *MsgStakingBeginRedelegateImpl) GetAmount() *pkl.Object { + return rcv.Amount +} diff --git a/internal/orm/transactions/MsgStakingCreateValidator.pkl.go b/internal/orm/transactions/MsgStakingCreateValidator.pkl.go new file mode 100644 index 000000000..d904a71c6 --- /dev/null +++ b/internal/orm/transactions/MsgStakingCreateValidator.pkl.go @@ -0,0 +1,77 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgStakingCreateValidator interface { + Msg + + GetDescription() *pkl.Object + + GetCommission() *pkl.Object + + GetMinSelfDelegation() string + + GetDelegatorAddress() string + + GetValidatorAddress() string + + GetPubkey() *pkl.Object + + GetValue() *pkl.Object +} + +var _ MsgStakingCreateValidator = (*MsgStakingCreateValidatorImpl)(nil) + +// Staking module messages +type MsgStakingCreateValidatorImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + Description *pkl.Object `pkl:"description"` + + Commission *pkl.Object `pkl:"commission"` + + MinSelfDelegation string `pkl:"minSelfDelegation"` + + DelegatorAddress string `pkl:"delegatorAddress"` + + ValidatorAddress string `pkl:"validatorAddress"` + + Pubkey *pkl.Object `pkl:"pubkey"` + + Value *pkl.Object `pkl:"value"` +} + +// The type URL for the message +func (rcv *MsgStakingCreateValidatorImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgStakingCreateValidatorImpl) GetDescription() *pkl.Object { + return rcv.Description +} + +func (rcv *MsgStakingCreateValidatorImpl) GetCommission() *pkl.Object { + return rcv.Commission +} + +func (rcv *MsgStakingCreateValidatorImpl) GetMinSelfDelegation() string { + return rcv.MinSelfDelegation +} + +func (rcv *MsgStakingCreateValidatorImpl) GetDelegatorAddress() string { + return rcv.DelegatorAddress +} + +func (rcv *MsgStakingCreateValidatorImpl) GetValidatorAddress() string { + return rcv.ValidatorAddress +} + +func (rcv *MsgStakingCreateValidatorImpl) GetPubkey() *pkl.Object { + return rcv.Pubkey +} + +func (rcv *MsgStakingCreateValidatorImpl) GetValue() *pkl.Object { + return rcv.Value +} diff --git a/internal/orm/transactions/MsgStakingDelegate.pkl.go b/internal/orm/transactions/MsgStakingDelegate.pkl.go new file mode 100644 index 000000000..9dd6fa824 --- /dev/null +++ b/internal/orm/transactions/MsgStakingDelegate.pkl.go @@ -0,0 +1,44 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgStakingDelegate interface { + Msg + + GetDelegatorAddress() string + + GetValidatorAddress() string + + GetAmount() *pkl.Object +} + +var _ MsgStakingDelegate = (*MsgStakingDelegateImpl)(nil) + +type MsgStakingDelegateImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + DelegatorAddress string `pkl:"delegatorAddress"` + + ValidatorAddress string `pkl:"validatorAddress"` + + Amount *pkl.Object `pkl:"amount"` +} + +// The type URL for the message +func (rcv *MsgStakingDelegateImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgStakingDelegateImpl) GetDelegatorAddress() string { + return rcv.DelegatorAddress +} + +func (rcv *MsgStakingDelegateImpl) GetValidatorAddress() string { + return rcv.ValidatorAddress +} + +func (rcv *MsgStakingDelegateImpl) GetAmount() *pkl.Object { + return rcv.Amount +} diff --git a/internal/orm/transactions/MsgStakingUndelegate.pkl.go b/internal/orm/transactions/MsgStakingUndelegate.pkl.go new file mode 100644 index 000000000..ffc2395e6 --- /dev/null +++ b/internal/orm/transactions/MsgStakingUndelegate.pkl.go @@ -0,0 +1,44 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +type MsgStakingUndelegate interface { + Msg + + GetDelegatorAddress() string + + GetValidatorAddress() string + + GetAmount() *pkl.Object +} + +var _ MsgStakingUndelegate = (*MsgStakingUndelegateImpl)(nil) + +type MsgStakingUndelegateImpl struct { + // The type URL for the message + TypeUrl string `pkl:"typeUrl"` + + DelegatorAddress string `pkl:"delegatorAddress"` + + ValidatorAddress string `pkl:"validatorAddress"` + + Amount *pkl.Object `pkl:"amount"` +} + +// The type URL for the message +func (rcv *MsgStakingUndelegateImpl) GetTypeUrl() string { + return rcv.TypeUrl +} + +func (rcv *MsgStakingUndelegateImpl) GetDelegatorAddress() string { + return rcv.DelegatorAddress +} + +func (rcv *MsgStakingUndelegateImpl) GetValidatorAddress() string { + return rcv.ValidatorAddress +} + +func (rcv *MsgStakingUndelegateImpl) GetAmount() *pkl.Object { + return rcv.Amount +} diff --git a/internal/orm/transactions/Proposal.pkl.go b/internal/orm/transactions/Proposal.pkl.go new file mode 100644 index 000000000..4a3e8bd62 --- /dev/null +++ b/internal/orm/transactions/Proposal.pkl.go @@ -0,0 +1,11 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +// Base class for all proposals +type Proposal struct { + // The title of the proposal + Title string `pkl:"title"` + + // The description of the proposal + Description string `pkl:"description"` +} diff --git a/internal/orm/transactions/Transactions.pkl.go b/internal/orm/transactions/Transactions.pkl.go new file mode 100644 index 000000000..5a551b8c4 --- /dev/null +++ b/internal/orm/transactions/Transactions.pkl.go @@ -0,0 +1,36 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import ( + "context" + + "github.com/apple/pkl-go/pkl" +) + +type Transactions struct { +} + +// LoadFromPath loads the pkl module at the given path and evaluates it into a Transactions +func LoadFromPath(ctx context.Context, path string) (ret *Transactions, err error) { + evaluator, err := pkl.NewEvaluator(ctx, pkl.PreconfiguredOptions) + if err != nil { + return nil, err + } + defer func() { + cerr := evaluator.Close() + if err == nil { + err = cerr + } + }() + ret, err = Load(ctx, evaluator, pkl.FileSource(path)) + return ret, err +} + +// Load loads the pkl module at the given source and evaluates it with the given evaluator into a Transactions +func Load(ctx context.Context, evaluator pkl.Evaluator, source *pkl.ModuleSource) (*Transactions, error) { + var ret Transactions + if err := evaluator.EvaluateModule(ctx, source, &ret); err != nil { + return nil, err + } + return &ret, nil +} diff --git a/internal/orm/transactions/TxBody.pkl.go b/internal/orm/transactions/TxBody.pkl.go new file mode 100644 index 000000000..8a8c23263 --- /dev/null +++ b/internal/orm/transactions/TxBody.pkl.go @@ -0,0 +1,17 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +// Represents a transaction body +type TxBody struct { + Messages []Msg `pkl:"messages"` + + Memo *string `pkl:"memo"` + + TimeoutHeight *int `pkl:"timeoutHeight"` + + ExtensionOptions *[]*pkl.Object `pkl:"extensionOptions"` + + NonCriticalExtensionOptions *[]*pkl.Object `pkl:"nonCriticalExtensionOptions"` +} diff --git a/internal/orm/transactions/init.pkl.go b/internal/orm/transactions/init.pkl.go new file mode 100644 index 000000000..211bc2e21 --- /dev/null +++ b/internal/orm/transactions/init.pkl.go @@ -0,0 +1,27 @@ +// Code generated from Pkl module `transactions`. DO NOT EDIT. +package transactions + +import "github.com/apple/pkl-go/pkl" + +func init() { + pkl.RegisterMapping("transactions", Transactions{}) + pkl.RegisterMapping("transactions#Proposal", Proposal{}) + pkl.RegisterMapping("transactions#MsgGovSubmitProposal", MsgGovSubmitProposalImpl{}) + pkl.RegisterMapping("transactions#MsgGovVote", MsgGovVoteImpl{}) + pkl.RegisterMapping("transactions#MsgGovDeposit", MsgGovDepositImpl{}) + pkl.RegisterMapping("transactions#MsgGroupCreateGroup", MsgGroupCreateGroupImpl{}) + pkl.RegisterMapping("transactions#MsgGroupSubmitProposal", MsgGroupSubmitProposalImpl{}) + pkl.RegisterMapping("transactions#MsgGroupVote", MsgGroupVoteImpl{}) + pkl.RegisterMapping("transactions#MsgStakingCreateValidator", MsgStakingCreateValidatorImpl{}) + pkl.RegisterMapping("transactions#MsgStakingDelegate", MsgStakingDelegateImpl{}) + pkl.RegisterMapping("transactions#MsgStakingUndelegate", MsgStakingUndelegateImpl{}) + pkl.RegisterMapping("transactions#MsgStakingBeginRedelegate", MsgStakingBeginRedelegateImpl{}) + pkl.RegisterMapping("transactions#MsgDidUpdateParams", MsgDidUpdateParamsImpl{}) + pkl.RegisterMapping("transactions#MsgDidAllocateVault", MsgDidAllocateVaultImpl{}) + pkl.RegisterMapping("transactions#MsgDidProveWitness", MsgDidProveWitnessImpl{}) + pkl.RegisterMapping("transactions#MsgDidSyncVault", MsgDidSyncVaultImpl{}) + pkl.RegisterMapping("transactions#MsgDidRegisterController", MsgDidRegisterControllerImpl{}) + pkl.RegisterMapping("transactions#MsgDidAuthorize", MsgDidAuthorizeImpl{}) + pkl.RegisterMapping("transactions#MsgDidRegisterService", MsgDidRegisterServiceImpl{}) + pkl.RegisterMapping("transactions#TxBody", TxBody{}) +} diff --git a/pkg/nebula/blocks/alert.templ b/pkg/nebula/blocks/alert.templ new file mode 100644 index 000000000..cc3d580a7 --- /dev/null +++ b/pkg/nebula/blocks/alert.templ @@ -0,0 +1,67 @@ +package blocks + +func Alert(variant Variant, icon Icon, title, message string) templ.Component { + return alertElement(variant.Attributes(), title, message, icon.Render()) +} + +templ alertElement(attrs templ.Attributes, title, message string, icon templ.Component) { +
+ @icon +
{ title }
+
{ message }
+
+} + +type AlertVariant int + +const ( + AlertVariant_Default AlertVariant = iota + AlertVariant_Info + AlertVariant_Error + AlertVariant_Success + AlertVariant_Warning + AlertVariant_Subtle_Info + AlertVariant_Subtle_Error + AlertVariant_Subtle_Success + AlertVariant_Subtle_Warning +) + +func (v AlertVariant) Attributes() templ.Attributes { + switch v { + case AlertVariant_Info: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-blue-600 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Error: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-red-600 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Success: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-green-500 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Warning: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-yellow-500 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Subtle_Info: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-blue-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-blue-600", + } + case AlertVariant_Subtle_Error: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-red-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-red-600", + } + case AlertVariant_Subtle_Success: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-green-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-green-600", + } + case AlertVariant_Subtle_Warning: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-yellow-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-yellow-600", + } + } + return templ.Attributes{ + "class": "relative w-full rounded-lg border bg-white p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-neutral-900", + } +} diff --git a/pkg/nebula/blocks/alert_templ.go b/pkg/nebula/blocks/alert_templ.go new file mode 100644 index 000000000..9b00895d4 --- /dev/null +++ b/pkg/nebula/blocks/alert_templ.go @@ -0,0 +1,140 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func Alert(variant Variant, icon Icon, title, message string) templ.Component { + return alertElement(variant.Attributes(), title, message, icon.Render()) +} + +func alertElement(attrs templ.Attributes, title, message string, icon templ.Component) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = icon.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 string + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(title) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/alert.templ`, Line: 10, Col: 66} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/alert.templ`, Line: 11, Col: 43} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +type AlertVariant int + +const ( + AlertVariant_Default AlertVariant = iota + AlertVariant_Info + AlertVariant_Error + AlertVariant_Success + AlertVariant_Warning + AlertVariant_Subtle_Info + AlertVariant_Subtle_Error + AlertVariant_Subtle_Success + AlertVariant_Subtle_Warning +) + +func (v AlertVariant) Attributes() templ.Attributes { + switch v { + case AlertVariant_Info: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-blue-600 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Error: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-red-600 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Success: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-green-500 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Warning: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-yellow-500 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-white", + } + case AlertVariant_Subtle_Info: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-blue-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-blue-600", + } + case AlertVariant_Subtle_Error: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-red-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-red-600", + } + case AlertVariant_Subtle_Success: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-green-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-green-600", + } + case AlertVariant_Subtle_Warning: + return templ.Attributes{ + "class": "relative w-full rounded-lg border border-transparent bg-yellow-50 p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-yellow-600", + } + } + return templ.Attributes{ + "class": "relative w-full rounded-lg border bg-white p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11 text-neutral-900", + } +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/badge.templ b/pkg/nebula/blocks/badge.templ new file mode 100644 index 000000000..a8ac1584e --- /dev/null +++ b/pkg/nebula/blocks/badge.templ @@ -0,0 +1,59 @@ +package blocks + +templ PoweredBySonr() { +
+
+
+ + Powered by + + + + + + +
+
+ sonr image +
+

The creative platform for developers. Community, tools, products, and more

+

+ + + + Joined June 2020 +

+
+
+
+
+
+
+} diff --git a/pkg/nebula/blocks/badge_templ.go b/pkg/nebula/blocks/badge_templ.go new file mode 100644 index 000000000..202f7ab97 --- /dev/null +++ b/pkg/nebula/blocks/badge_templ.go @@ -0,0 +1,40 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func PoweredBySonr() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Powered by
\"sonr

The creative platform for developers. Community, tools, products, and more

Joined June 2020

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/blocks.go b/pkg/nebula/blocks/blocks.go new file mode 100644 index 000000000..098e91dcf --- /dev/null +++ b/pkg/nebula/blocks/blocks.go @@ -0,0 +1,47 @@ +package blocks + +import ( + "strings" + + "github.com/a-h/templ" +) + +type Icon interface { + Render() templ.Component +} + +type Variant interface { + Attributes() templ.Attributes +} + +func clsxMerge(variants ...Variant) templ.Attributes { + combinedAttrs := templ.Attributes{} + var classElements []string + + for _, variant := range variants { + attrs := variant.Attributes() + if class, ok := attrs["class"].(string); ok { + classElements = append(classElements, strings.Fields(class)...) + } + for key, value := range attrs { + if key != "class" { + combinedAttrs[key] = value + } + } + } + + if len(classElements) > 0 { + combinedAttrs["class"] = strings.Join(classElements, " ") + } + return combinedAttrs +} + +func clsxBuilder(classes ...string) templ.Attributes { + if len(classes) == 0 { + return templ.Attributes{} + } + class := strings.Join(classes, " ") + return templ.Attributes{ + "class": class, + } +} diff --git a/pkg/nebula/blocks/button.templ b/pkg/nebula/blocks/button.templ new file mode 100644 index 000000000..6f05f6b4e --- /dev/null +++ b/pkg/nebula/blocks/button.templ @@ -0,0 +1,218 @@ +package blocks + +type button struct { + variant Variant + hxGet string + hxPost string + hxTarget string + hxTrigger string + hxSwap string +} + +type ButtonOpt func(button *button) + +func PrimaryButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantPrimary + } +} + +func InfoButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantInfo + } +} + +func ErrorButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantError + } +} + +func SuccessButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantSuccess + } +} + +func WarningButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantWarning + } +} + +func GET(action string, target string) ButtonOpt { + return func(button *button) { + button.hxGet = action + button.hxTarget = target + button.hxTrigger = "click" + button.hxSwap = "outerHTML" + } +} + +func POST(action string, target string) ButtonOpt { + return func(button *button) { + button.hxPost = action + button.hxTarget = target + button.hxTrigger = "click" + button.hxSwap = "outerHTML" + } +} + +func Button(opts ...ButtonOpt) templ.Component { + button := button{ + variant: ButtonVariantDefault, + } + for _, opt := range opts { + opt(&button) + } + if button.hxGet != "" { + return renderHxGetButton(&button, button.variant.Attributes()) + } + + if button.hxPost != "" { + return renderHxPostButton(&button, button.variant.Attributes()) + } + return renderButton(button.variant.Attributes()) +} + +templ renderButton(attrs templ.Attributes) { + +} + +templ renderHxGetButton(c *button, attrs templ.Attributes) { + +} + +templ renderHxPostButton(c *button, attrs templ.Attributes) { + +} + +type ButtonVariant int + +const ( + ButtonVariantDefault ButtonVariant = iota + ButtonVariantPrimary + ButtonVariantInfo + ButtonVariantError + ButtonVariantSuccess + ButtonVariantWarning +) + +func (v ButtonVariant) Attributes() templ.Attributes { + switch v { + case ButtonVariantPrimary: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-neutral-950 hover:bg-neutral-900 focus:ring-2 focus:ring-offset-2 focus:ring-neutral-900 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantInfo: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 bg-blue-600 rounded-md hover:bg-blue-700 focus:ring-2 focus:ring-offset-2 focus:ring-blue-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantError: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-red-600 hover:bg-red-700 focus:ring-2 focus:ring-offset-2 focus:ring-red-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantSuccess: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-green-600 hover:bg-green-700 focus:ring-2 focus:ring-offset-2 focus:ring-green-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantWarning: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-yellow-600 hover:bg-yellow-700 focus:ring-2 focus:ring-offset-2 focus:ring-yellow-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + } + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide transition-colors duration-200 bg-white border rounded-md text-neutral-500 hover:text-neutral-700 border-neutral-200/70 hover:bg-neutral-100 active:bg-white focus:bg-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-200/60 focus:shadow-outline", + "type": "button", + } +} + +type SubtleButtonVariant int + +const ( + SubtleButtonVariantDefault SubtleButtonVariant = iota + SubtleButtonVariantInfo + SubtleButtonVariantError + SubtleButtonVariantSuccess + SubtleButtonVariantWarning +) + +func (v SubtleButtonVariant) Attributes() templ.Attributes { + switch v { + case SubtleButtonVariantInfo: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-blue-500 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-blue-100 bg-blue-50 hover:text-blue-600 hover:bg-blue-100", + "type": "button", + } + case SubtleButtonVariantError: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-red-500 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-red-100 bg-red-50 hover:text-red-600 hover:bg-red-100", + "type": "button", + } + case SubtleButtonVariantSuccess: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-green-500 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-green-100 bg-green-50 hover:text-green-600 hover:bg-green-100", + "type": "button", + } + case SubtleButtonVariantWarning: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-yellow-600 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-yellow-100 bg-yellow-50 hover:text-yellow-700 hover:bg-yellow-100", + "type": "button", + } + } + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide transition-colors duration-100 rounded-md text-neutral-500 bg-neutral-50 focus:ring-2 focus:ring-offset-2 focus:ring-neutral-100 hover:text-neutral-600 hover:bg-neutral-100", + "type": "button", + } +} + +type OutlineButtonVariant int + +const ( + OutlineButtonVariantDefault OutlineButtonVariant = iota + OutlineButtonVariantInfo + OutlineButtonVariantError + OutlineButtonVariantSuccess + OutlineButtonVariantWarning +) + +func (v OutlineButtonVariant) Attributes() templ.Attributes { + switch v { + case OutlineButtonVariantInfo: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-blue-600 transition-colors duration-100 bg-white border-2 border-blue-600 rounded-md hover:text-white hover:bg-blue-600", + "type": "button", + } + case OutlineButtonVariantError: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-red-600 transition-colors duration-100 bg-white border-2 border-red-600 rounded-md hover:text-white hover:bg-red-600", + "type": "button", + } + case OutlineButtonVariantSuccess: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-green-600 transition-colors duration-100 bg-white border-2 border-green-600 rounded-md hover:text-white hover:bg-green-600", + "type": "button", + } + case OutlineButtonVariantWarning: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-yellow-600 transition-colors duration-100 bg-white border-2 border-yellow-500 rounded-md hover:text-white hover:bg-yellow-500", + "type": "button", + } + } + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide transition-colors duration-100 bg-white border-2 rounded-md text-neutral-900 hover:text-white border-neutral-900 hover:bg-neutral-900", + "type": "button", + } +} diff --git a/pkg/nebula/blocks/button_templ.go b/pkg/nebula/blocks/button_templ.go new file mode 100644 index 000000000..e5dd0aade --- /dev/null +++ b/pkg/nebula/blocks/button_templ.go @@ -0,0 +1,449 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +type button struct { + variant Variant + hxGet string + hxPost string + hxTarget string + hxTrigger string + hxSwap string +} + +type ButtonOpt func(button *button) + +func PrimaryButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantPrimary + } +} + +func InfoButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantInfo + } +} + +func ErrorButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantError + } +} + +func SuccessButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantSuccess + } +} + +func WarningButtonStyle() ButtonOpt { + return func(button *button) { + button.variant = ButtonVariantWarning + } +} + +func GET(action string, target string) ButtonOpt { + return func(button *button) { + button.hxGet = action + button.hxTarget = target + button.hxTrigger = "click" + button.hxSwap = "outerHTML" + } +} + +func POST(action string, target string) ButtonOpt { + return func(button *button) { + button.hxPost = action + button.hxTarget = target + button.hxTrigger = "click" + button.hxSwap = "outerHTML" + } +} + +func Button(opts ...ButtonOpt) templ.Component { + button := button{ + variant: ButtonVariantDefault, + } + for _, opt := range opts { + opt(&button) + } + if button.hxGet != "" { + return renderHxGetButton(&button, button.variant.Attributes()) + } + + if button.hxPost != "" { + return renderHxPostButton(&button, button.variant.Attributes()) + } + return renderButton(button.variant.Attributes()) +} + +func renderButton(attrs templ.Attributes) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ_7745c5c3_Var1.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func renderHxGetButton(c *button, attrs templ.Attributes) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func renderHxPostButton(c *button, attrs templ.Attributes) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var7 := templ.GetChildren(ctx) + if templ_7745c5c3_Var7 == nil { + templ_7745c5c3_Var7 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +type ButtonVariant int + +const ( + ButtonVariantDefault ButtonVariant = iota + ButtonVariantPrimary + ButtonVariantInfo + ButtonVariantError + ButtonVariantSuccess + ButtonVariantWarning +) + +func (v ButtonVariant) Attributes() templ.Attributes { + switch v { + case ButtonVariantPrimary: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-neutral-950 hover:bg-neutral-900 focus:ring-2 focus:ring-offset-2 focus:ring-neutral-900 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantInfo: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 bg-blue-600 rounded-md hover:bg-blue-700 focus:ring-2 focus:ring-offset-2 focus:ring-blue-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantError: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-red-600 hover:bg-red-700 focus:ring-2 focus:ring-offset-2 focus:ring-red-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantSuccess: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-green-600 hover:bg-green-700 focus:ring-2 focus:ring-offset-2 focus:ring-green-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + case ButtonVariantWarning: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-white transition-colors duration-200 rounded-md bg-yellow-600 hover:bg-yellow-700 focus:ring-2 focus:ring-offset-2 focus:ring-yellow-700 focus:shadow-outline focus:outline-none", + "type": "button", + } + } + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide transition-colors duration-200 bg-white border rounded-md text-neutral-500 hover:text-neutral-700 border-neutral-200/70 hover:bg-neutral-100 active:bg-white focus:bg-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-200/60 focus:shadow-outline", + "type": "button", + } +} + +type SubtleButtonVariant int + +const ( + SubtleButtonVariantDefault SubtleButtonVariant = iota + SubtleButtonVariantInfo + SubtleButtonVariantError + SubtleButtonVariantSuccess + SubtleButtonVariantWarning +) + +func (v SubtleButtonVariant) Attributes() templ.Attributes { + switch v { + case SubtleButtonVariantInfo: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-blue-500 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-blue-100 bg-blue-50 hover:text-blue-600 hover:bg-blue-100", + "type": "button", + } + case SubtleButtonVariantError: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-red-500 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-red-100 bg-red-50 hover:text-red-600 hover:bg-red-100", + "type": "button", + } + case SubtleButtonVariantSuccess: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-green-500 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-green-100 bg-green-50 hover:text-green-600 hover:bg-green-100", + "type": "button", + } + case SubtleButtonVariantWarning: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-yellow-600 transition-colors duration-100 rounded-md focus:ring-2 focus:ring-offset-2 focus:ring-yellow-100 bg-yellow-50 hover:text-yellow-700 hover:bg-yellow-100", + "type": "button", + } + } + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide transition-colors duration-100 rounded-md text-neutral-500 bg-neutral-50 focus:ring-2 focus:ring-offset-2 focus:ring-neutral-100 hover:text-neutral-600 hover:bg-neutral-100", + "type": "button", + } +} + +type OutlineButtonVariant int + +const ( + OutlineButtonVariantDefault OutlineButtonVariant = iota + OutlineButtonVariantInfo + OutlineButtonVariantError + OutlineButtonVariantSuccess + OutlineButtonVariantWarning +) + +func (v OutlineButtonVariant) Attributes() templ.Attributes { + switch v { + case OutlineButtonVariantInfo: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-blue-600 transition-colors duration-100 bg-white border-2 border-blue-600 rounded-md hover:text-white hover:bg-blue-600", + "type": "button", + } + case OutlineButtonVariantError: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-red-600 transition-colors duration-100 bg-white border-2 border-red-600 rounded-md hover:text-white hover:bg-red-600", + "type": "button", + } + case OutlineButtonVariantSuccess: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-green-600 transition-colors duration-100 bg-white border-2 border-green-600 rounded-md hover:text-white hover:bg-green-600", + "type": "button", + } + case OutlineButtonVariantWarning: + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide text-yellow-600 transition-colors duration-100 bg-white border-2 border-yellow-500 rounded-md hover:text-white hover:bg-yellow-500", + "type": "button", + } + } + return templ.Attributes{ + "class": "inline-flex items-center justify-center px-4 py-2 text-sm font-medium tracking-wide transition-colors duration-100 bg-white border-2 rounded-md text-neutral-900 hover:text-white border-neutral-900 hover:bg-neutral-900", + "type": "button", + } +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/card.templ b/pkg/nebula/blocks/card.templ new file mode 100644 index 000000000..1ff009004 --- /dev/null +++ b/pkg/nebula/blocks/card.templ @@ -0,0 +1,47 @@ +package blocks + +func Card(id string, size Size) templ.Component { + return renderCard(id, size.CardAttributes()) +} + +templ renderCard(id string, attrs templ.Attributes) { +
+
+
+
+ { children... } +
+
+
+
+} + +templ ProfileCard() { +
+ +
+
+ +
+ +
Adam Wathan
+ adamwathan +
+ +
+
+

Creator of @tailwindcss. Listener of Slayer. Austin 3:16. BTW, Pines UI is super cool!

+ +
+
+} diff --git a/pkg/nebula/blocks/card_templ.go b/pkg/nebula/blocks/card_templ.go new file mode 100644 index 000000000..686fd68a9 --- /dev/null +++ b/pkg/nebula/blocks/card_templ.go @@ -0,0 +1,102 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func Card(id string, size Size) templ.Component { + return renderCard(id, size.CardAttributes()) +} + +func renderCard(id string, attrs templ.Attributes) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ_7745c5c3_Var1.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func ProfileCard() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var3 := templ.GetChildren(ctx) + if templ_7745c5c3_Var3 == nil { + templ_7745c5c3_Var3 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

Creator of @tailwindcss. Listener of Slayer. Austin 3:16. BTW, Pines UI is super cool!

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/fonts.templ b/pkg/nebula/blocks/fonts.templ new file mode 100644 index 000000000..bbd2d6e36 --- /dev/null +++ b/pkg/nebula/blocks/fonts.templ @@ -0,0 +1,62 @@ +package blocks + +func H1(content string) templ.Component { + return renderText(1, content) +} + +func H2(content string) templ.Component { + return renderText(2, content) +} + +func H3(content string) templ.Component { + return renderText(3, content) +} + +func Text(content string) templ.Component { + return renderText(0, content) +} + +templ renderText(level int, text string) { + switch level { + case 1: +

+ { text } +

+ case 2: +

+ { text } +

+ case 3: +

+ { text } +

+ default: +

+ { text } +

+ } +} + +templ renderLink(attrs templ.Attributes, text string) { + + { text } + +} + +templ renderStrong(attrs templ.Attributes, text string) { + + { text } + +} + +templ renderEmphasis(attrs templ.Attributes, text string) { + + { text } + +} + +templ renderCode(attrs templ.Attributes, text string) { + + { text } + +} diff --git a/pkg/nebula/blocks/fonts_templ.go b/pkg/nebula/blocks/fonts_templ.go new file mode 100644 index 000000000..8141bc7c2 --- /dev/null +++ b/pkg/nebula/blocks/fonts_templ.go @@ -0,0 +1,326 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func H1(content string) templ.Component { + return renderText(1, content) +} + +func H2(content string) templ.Component { + return renderText(2, content) +} + +func H3(content string) templ.Component { + return renderText(3, content) +} + +func Text(content string) templ.Component { + return renderText(0, content) +} + +func renderText(level int, text string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + switch level { + case 1: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 string + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 23, Col: 10} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + case 2: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 27, Col: 10} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + case 3: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 31, Col: 10} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + default: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var5 string + templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 35, Col: 10} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + return templ_7745c5c3_Err + }) +} + +func renderLink(attrs templ.Attributes, text string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var6 := templ.GetChildren(ctx) + if templ_7745c5c3_Var6 == nil { + templ_7745c5c3_Var6 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var7 string + templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 42, Col: 8} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func renderStrong(attrs templ.Attributes, text string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var8 := templ.GetChildren(ctx) + if templ_7745c5c3_Var8 == nil { + templ_7745c5c3_Var8 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var9 string + templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 48, Col: 8} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func renderEmphasis(attrs templ.Attributes, text string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var10 := templ.GetChildren(ctx) + if templ_7745c5c3_Var10 == nil { + templ_7745c5c3_Var10 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var11 string + templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 54, Col: 8} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func renderCode(attrs templ.Attributes, text string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var12 := templ.GetChildren(ctx) + if templ_7745c5c3_Var12 == nil { + templ_7745c5c3_Var12 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var13 string + templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(text) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/fonts.templ`, Line: 60, Col: 8} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/global.templ b/pkg/nebula/blocks/global.templ new file mode 100644 index 000000000..d353eb080 --- /dev/null +++ b/pkg/nebula/blocks/global.templ @@ -0,0 +1,40 @@ +package blocks + + +templ Spacer() { +
+} + +templ ServiceWorker(path string) { + +} + +templ defaultStyles() { + + + + + + + + + +} + +templ Rows() { +
+ { children... } +
+} + +templ Columns() { +
+ { children... } +
+} + +css main() { + font-family: R-Flex, system-ui, Avenir, Helvetica, Arial, sans-serif; +} diff --git a/pkg/nebula/blocks/global_templ.go b/pkg/nebula/blocks/global_templ.go new file mode 100644 index 000000000..fa527537a --- /dev/null +++ b/pkg/nebula/blocks/global_templ.go @@ -0,0 +1,182 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func Spacer() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func ServiceWorker(path string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func defaultStyles() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var3 := templ.GetChildren(ctx) + if templ_7745c5c3_Var3 == nil { + templ_7745c5c3_Var3 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func Rows() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var4 := templ.GetChildren(ctx) + if templ_7745c5c3_Var4 == nil { + templ_7745c5c3_Var4 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ_7745c5c3_Var4.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func Columns() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var5 := templ.GetChildren(ctx) + if templ_7745c5c3_Var5 == nil { + templ_7745c5c3_Var5 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ_7745c5c3_Var5.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func main() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`font-family:R-Flex, system-ui, Avenir, Helvetica, Arial, sans-serif;`) + templ_7745c5c3_CSSID := templ.CSSID(`main`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/icons.templ b/pkg/nebula/blocks/icons.templ new file mode 100644 index 000000000..67b0ee5b4 --- /dev/null +++ b/pkg/nebula/blocks/icons.templ @@ -0,0 +1,31 @@ +package blocks + +type Icons int + +const ( + Icons_Info Icons = iota + Icons_Error + Icons_Success + Icons_Warning +) + +func (v Icons) Render() templ.Component { + return renderIconVariant(v) +} + +templ renderIconVariant(v Icons) { + switch v { + case Icons_Info: + + case Icons_Error: + + case Icons_Success: + + case Icons_Warning: + + } + +} + +templ SonrIcon() { +} diff --git a/pkg/nebula/blocks/icons_templ.go b/pkg/nebula/blocks/icons_templ.go new file mode 100644 index 000000000..ab14ff8d4 --- /dev/null +++ b/pkg/nebula/blocks/icons_templ.go @@ -0,0 +1,100 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +type Icons int + +const ( + Icons_Info Icons = iota + Icons_Error + Icons_Success + Icons_Warning +) + +func (v Icons) Render() templ.Component { + return renderIconVariant(v) +} + +func renderIconVariant(v Icons) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + switch v { + case Icons_Info: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + case Icons_Error: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + case Icons_Success: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + case Icons_Warning: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func SonrIcon() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/inputs.templ b/pkg/nebula/blocks/inputs.templ new file mode 100644 index 000000000..3ce3748ae --- /dev/null +++ b/pkg/nebula/blocks/inputs.templ @@ -0,0 +1,29 @@ +package blocks + +type InputState int + +const ( + InputStateDefault InputState = iota + InputStateError + InputStateSuccess +) + +templ TextInput(state InputState, label string, placeholder string) { + switch (state) { + case InputStateDefault: +
+ + +
+ case InputStateError: +
+ + +
+ case InputStateSuccess: +
+ + +
+ } +} diff --git a/pkg/nebula/blocks/inputs_templ.go b/pkg/nebula/blocks/inputs_templ.go new file mode 100644 index 000000000..7938e89cc --- /dev/null +++ b/pkg/nebula/blocks/inputs_templ.go @@ -0,0 +1,100 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +type InputState int + +const ( + InputStateDefault InputState = iota + InputStateError + InputStateSuccess +) + +func TextInput(state InputState, label string, placeholder string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + switch state { + case InputStateDefault: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + case InputStateError: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + case InputStateSuccess: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/panel.templ b/pkg/nebula/blocks/panel.templ new file mode 100644 index 000000000..4ca767061 --- /dev/null +++ b/pkg/nebula/blocks/panel.templ @@ -0,0 +1,39 @@ +package blocks + +import "github.com/labstack/echo/v4" + +templ Breadcrumbs() { + +} + +templ breadcrumbItem(title string, active bool) { + if (active) { +
  • { title }
  • + } else { +
  • { title }
  • + } +} + +templ breadcrumbIcon() { + + + + + +} +templ Panel(c echo.Context, id string) { +} diff --git a/pkg/nebula/blocks/panel_templ.go b/pkg/nebula/blocks/panel_templ.go new file mode 100644 index 000000000..39b623cbe --- /dev/null +++ b/pkg/nebula/blocks/panel_templ.go @@ -0,0 +1,190 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "github.com/labstack/echo/v4" + +func Breadcrumbs() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func breadcrumbItem(title string, active bool) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + if active { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
  • ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(title) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/panel.templ`, Line: 25, Col: 126} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
  • ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
  • ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(title) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/blocks/panel.templ`, Line: 27, Col: 118} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
  • ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + return templ_7745c5c3_Err + }) +} + +func breadcrumbIcon() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var5 := templ.GetChildren(ctx) + if templ_7745c5c3_Var5 == nil { + templ_7745c5c3_Var5 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func Panel(c echo.Context, id string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var6 := templ.GetChildren(ctx) + if templ_7745c5c3_Var6 == nil { + templ_7745c5c3_Var6 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/radios.templ b/pkg/nebula/blocks/radios.templ new file mode 100644 index 000000000..ad4f63025 --- /dev/null +++ b/pkg/nebula/blocks/radios.templ @@ -0,0 +1,37 @@ +package blocks + +templ RadioGroup() { +
    + +
    +} diff --git a/pkg/nebula/blocks/radios_templ.go b/pkg/nebula/blocks/radios_templ.go new file mode 100644 index 000000000..3777323bb --- /dev/null +++ b/pkg/nebula/blocks/radios_templ.go @@ -0,0 +1,40 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func RadioGroup() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/sizes.templ b/pkg/nebula/blocks/sizes.templ new file mode 100644 index 000000000..a36727643 --- /dev/null +++ b/pkg/nebula/blocks/sizes.templ @@ -0,0 +1,61 @@ +package blocks + +type Size int + +const ( + SizeDefault Size = iota + SizeSmall + SizeMedium + SizeLarge +) + +func (s Size) CardAttributes() templ.Attributes { + switch s { + case SizeSmall: + return templ.Attributes{ + "class": "max-w-lg bg-white border rounded-lg shadow-sm p-7 border-neutral-200/60", + } + case SizeLarge: + return templ.Attributes{ + "class": "max-w-2xl bg-white border rounded-lg shadow-sm p-7 border-neutral-200/60", + } + } + return templ.Attributes{ + "class": "max-w-xl bg-white border rounded-lg shadow-sm p-7 border-neutral-200/60", + } +} + +func (s Size) SvgAttributes() templ.Attributes { + switch s { + case SizeSmall: + return templ.Attributes{ + "height": "16", + "width": "16", + } + case SizeLarge: + return templ.Attributes{ + "height": "32", + "width": "32", + } + } + return templ.Attributes{ + "height": "24", + "width": "24", + } +} + +func (s Size) TextAttributes() templ.Attributes { + switch s { + case SizeSmall: + return templ.Attributes{ + "class": "text-sm", + } + case SizeLarge: + return templ.Attributes{ + "class": "text-lg", + } + } + return templ.Attributes{ + "class": "text-md", + } +} diff --git a/pkg/nebula/blocks/sizes_templ.go b/pkg/nebula/blocks/sizes_templ.go new file mode 100644 index 000000000..3a6e40584 --- /dev/null +++ b/pkg/nebula/blocks/sizes_templ.go @@ -0,0 +1,71 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +type Size int + +const ( + SizeDefault Size = iota + SizeSmall + SizeMedium + SizeLarge +) + +func (s Size) CardAttributes() templ.Attributes { + switch s { + case SizeSmall: + return templ.Attributes{ + "class": "max-w-lg bg-white border rounded-lg shadow-sm p-7 border-neutral-200/60", + } + case SizeLarge: + return templ.Attributes{ + "class": "max-w-2xl bg-white border rounded-lg shadow-sm p-7 border-neutral-200/60", + } + } + return templ.Attributes{ + "class": "max-w-xl bg-white border rounded-lg shadow-sm p-7 border-neutral-200/60", + } +} + +func (s Size) SvgAttributes() templ.Attributes { + switch s { + case SizeSmall: + return templ.Attributes{ + "height": "16", + "width": "16", + } + case SizeLarge: + return templ.Attributes{ + "height": "32", + "width": "32", + } + } + return templ.Attributes{ + "height": "24", + "width": "24", + } +} + +func (s Size) TextAttributes() templ.Attributes { + switch s { + case SizeSmall: + return templ.Attributes{ + "class": "text-sm", + } + case SizeLarge: + return templ.Attributes{ + "class": "text-lg", + } + } + return templ.Attributes{ + "class": "text-md", + } +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/blocks/tabs.templ b/pkg/nebula/blocks/tabs.templ new file mode 100644 index 000000000..31390a89b --- /dev/null +++ b/pkg/nebula/blocks/tabs.templ @@ -0,0 +1,109 @@ +package blocks + +templ Tabs() { +
    +
    + + + +
    +
    +
    +
    + @Table() +
    +
    + And, this is the content for Tab2 +
    +
    + Finally, this is the content for Tab3 +
    +
    +
    +} + +templ Table() { +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameAgeAddressAction
    Richard Hendricks30Pied Piper HQ, Palo Alto + Edit +
    Erlich Bachman405230 Penfield Ave, Woodland Hills + Edit +
    Monica Hall352030 Stewart Drive, Sunnyvale + Edit +
    Dinesh Chugtai28Pied Piper HQ, Palo Alto + Edit +
    Gilfoyle32Pied Piper HQ, Palo Alto + Edit +
    +
    +
    +
    +
    +} diff --git a/pkg/nebula/blocks/tabs_templ.go b/pkg/nebula/blocks/tabs_templ.go new file mode 100644 index 000000000..1966f74e9 --- /dev/null +++ b/pkg/nebula/blocks/tabs_templ.go @@ -0,0 +1,77 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package blocks + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func Tabs() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = Table().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    And, this is the content for Tab2
    Finally, this is the content for Tab3
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func Table() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    NameAgeAddressAction
    Richard Hendricks30Pied Piper HQ, Palo AltoEdit
    Erlich Bachman405230 Penfield Ave, Woodland HillsEdit
    Monica Hall352030 Stewart Drive, SunnyvaleEdit
    Dinesh Chugtai28Pied Piper HQ, Palo AltoEdit
    Gilfoyle32Pied Piper HQ, Palo AltoEdit
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/islands/forms.go b/pkg/nebula/islands/forms.go new file mode 100644 index 000000000..5c75ae942 --- /dev/null +++ b/pkg/nebula/islands/forms.go @@ -0,0 +1,41 @@ +package islands + +import ( + "bytes" + + "github.com/a-h/templ" + "github.com/labstack/echo/v4" +) + +func echoFormResponse(c echo.Context, cmp templ.Component, state FormState) error { + // Create a buffer to store the rendered HTML + buf := &bytes.Buffer{} + // Render the component to the buffer + err := cmp.Render(c.Request().Context(), buf) + if err != nil { + return err + } + + // Set the content type + c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML) + c.Response().Header().Set("X-Status", string(state)) + + // Write the buffered content to the response + _, err = c.Response().Write(buf.Bytes()) + return err +} + +type FormState string + +const ( + InitialForm FormState = "initial" + ErrorForm FormState = "error" + SuccessForm FormState = "success" + WarningForm FormState = "warning" +) + +type Form struct { + State FormState + Title string + Description string +} diff --git a/pkg/nebula/islands/register.templ b/pkg/nebula/islands/register.templ new file mode 100644 index 000000000..953ea0dc3 --- /dev/null +++ b/pkg/nebula/islands/register.templ @@ -0,0 +1,25 @@ +package islands + +import "github.com/labstack/echo/v4" + +templ BasicInfo(c echo.Context, state FormState) { + switch (state) { + default: +
    +
    +

    Account

    +

    Make changes to your account here. Click save when you're done.

    +
    +
    +
    +
    +
    +
    + } +} + +templ CreateCredentials(c echo.Context, state FormState) { +} + +templ PrivacyTerms(c echo.Context, state FormState) { +} diff --git a/pkg/nebula/islands/register_templ.go b/pkg/nebula/islands/register_templ.go new file mode 100644 index 000000000..2f56be082 --- /dev/null +++ b/pkg/nebula/islands/register_templ.go @@ -0,0 +1,95 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package islands + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "github.com/labstack/echo/v4" + +func BasicInfo(c echo.Context, state FormState) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + switch state { + default: + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

    Account

    Make changes to your account here. Click save when you're done.

    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + return templ_7745c5c3_Err + }) +} + +func CreateCredentials(c echo.Context, state FormState) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + return templ_7745c5c3_Err + }) +} + +func PrivacyTerms(c echo.Context, state FormState) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var3 := templ.GetChildren(ctx) + if templ_7745c5c3_Var3 == nil { + templ_7745c5c3_Var3 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/pages/home.templ b/pkg/nebula/pages/home.templ new file mode 100644 index 000000000..f21586f07 --- /dev/null +++ b/pkg/nebula/pages/home.templ @@ -0,0 +1,23 @@ +package pages + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +templ Home(c echo.Context) { + @blocks.Card("home-view", blocks.SizeLarge) { + @blocks.H1("Sonr.ID") + @blocks.Text("A Decentralized Web Node Client for the Sonr Network.") + @blocks.Spacer() +
    + @blocks.Button(blocks.GET("/register", "#home-view"), blocks.PrimaryButtonStyle()) { + @blocks.Text("Get Started") + } + @blocks.Button(blocks.GET("/login", "#home-view")) { + @blocks.Text("Login") + } +
    + @blocks.PoweredBySonr() + } +} diff --git a/pkg/nebula/pages/home_templ.go b/pkg/nebula/pages/home_templ.go new file mode 100644 index 000000000..75e611f56 --- /dev/null +++ b/pkg/nebula/pages/home_templ.go @@ -0,0 +1,135 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package pages + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func Home(c echo.Context) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.H1("Sonr.ID").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Text("A Decentralized Web Node Client for the Sonr Network.").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.Text("Get Started").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Button(blocks.GET("/register", "#home-view"), blocks.PrimaryButtonStyle()).Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var4 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.Text("Login").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Button(blocks.GET("/login", "#home-view")).Render(templ.WithChildren(ctx, templ_7745c5c3_Var4), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.PoweredBySonr().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Card("home-view", blocks.SizeLarge).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/pages/login.templ b/pkg/nebula/pages/login.templ new file mode 100644 index 000000000..3db82aed7 --- /dev/null +++ b/pkg/nebula/pages/login.templ @@ -0,0 +1,19 @@ +package pages + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +templ Login(c echo.Context) { + @blocks.Card("login-view", blocks.SizeLarge) { + @blocks.H1("Sonr.ID") + @blocks.Text("Neo-tree is a file manager for NeoFS.") + @blocks.Spacer() + @blocks.RadioGroup() + @blocks.Spacer() + @blocks.Button(blocks.GET("/", "#login-view")) { + @blocks.Text("Cancel") + } + } +} diff --git a/pkg/nebula/pages/login_templ.go b/pkg/nebula/pages/login_templ.go new file mode 100644 index 000000000..0c7bb0ce8 --- /dev/null +++ b/pkg/nebula/pages/login_templ.go @@ -0,0 +1,121 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package pages + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func Login(c echo.Context) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.H1("Sonr.ID").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Text("Neo-tree is a file manager for NeoFS.").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.RadioGroup().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.Text("Cancel").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Button(blocks.GET("/", "#login-view")).Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Card("login-view", blocks.SizeLarge).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/pages/openid.templ b/pkg/nebula/pages/openid.templ new file mode 100644 index 000000000..c0482ec52 --- /dev/null +++ b/pkg/nebula/pages/openid.templ @@ -0,0 +1,13 @@ +package pages + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +templ Authorize(c echo.Context) { + @blocks.Card("authorize-view", blocks.SizeMedium) { + @blocks.H1("Sonr.ID") + @blocks.Text("Neo-tree is a file manager for NeoFS.") + } +} diff --git a/pkg/nebula/pages/openid_templ.go b/pkg/nebula/pages/openid_templ.go new file mode 100644 index 000000000..c87093a10 --- /dev/null +++ b/pkg/nebula/pages/openid_templ.go @@ -0,0 +1,71 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package pages + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func Authorize(c echo.Context) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.H1("Sonr.ID").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Text("Neo-tree is a file manager for NeoFS.").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Card("authorize-view", blocks.SizeMedium).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/pages/profile.templ b/pkg/nebula/pages/profile.templ new file mode 100644 index 000000000..72fe1c6e5 --- /dev/null +++ b/pkg/nebula/pages/profile.templ @@ -0,0 +1,13 @@ +package pages + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +templ Profile(c echo.Context) { + @blocks.Card("profile-view", blocks.SizeLarge) { + @blocks.ProfileCard() + @blocks.Tabs() + } +} diff --git a/pkg/nebula/pages/profile_templ.go b/pkg/nebula/pages/profile_templ.go new file mode 100644 index 000000000..dc588d663 --- /dev/null +++ b/pkg/nebula/pages/profile_templ.go @@ -0,0 +1,71 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package pages + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func Profile(c echo.Context) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.ProfileCard().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Tabs().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Card("profile-view", blocks.SizeLarge).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/pages/register.templ b/pkg/nebula/pages/register.templ new file mode 100644 index 000000000..2b785a20d --- /dev/null +++ b/pkg/nebula/pages/register.templ @@ -0,0 +1,20 @@ +package pages + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" + "github.com/onsonr/sonr/pkg/nebula/islands" +) + +templ Register(c echo.Context) { + @blocks.Card("register-view", blocks.SizeMedium) { + @blocks.H2("Account Registration") + @blocks.Spacer() + @blocks.Breadcrumbs() + @islands.BasicInfo(c, islands.InitialForm) + @blocks.Spacer() + @blocks.Button(blocks.GET("/", "#register-view")) { + @blocks.Text("Cancel") + } + } +} diff --git a/pkg/nebula/pages/register_templ.go b/pkg/nebula/pages/register_templ.go new file mode 100644 index 000000000..ad23e673b --- /dev/null +++ b/pkg/nebula/pages/register_templ.go @@ -0,0 +1,122 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package pages + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" + "github.com/onsonr/sonr/pkg/nebula/islands" +) + +func Register(c echo.Context) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.H2("Account Registration").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Breadcrumbs().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = islands.BasicInfo(c, islands.InitialForm).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.Text("Cancel").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Button(blocks.GET("/", "#register-view")).Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Card("register-view", blocks.SizeMedium).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/nebula/router.go b/pkg/nebula/router.go new file mode 100644 index 000000000..86e63dd1c --- /dev/null +++ b/pkg/nebula/router.go @@ -0,0 +1,15 @@ +package nebula + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/routes" + "github.com/onsonr/sonr/pkg/nebula/view" +) + +func RouteViews(e *echo.Echo) { + e.GET("/home", view.Render(routes.HomeRoute)) + e.GET("/login", view.Render(routes.LoginRoute)) + e.GET("/register", view.Render(routes.RegisterRoute)) + e.GET("/profile", view.Render(routes.ProfileRoute)) + e.GET("/authorize", view.Render(routes.AuthorizeRoute)) +} diff --git a/pkg/nebula/routes/routes.go b/pkg/nebula/routes/routes.go new file mode 100644 index 000000000..c8908c650 --- /dev/null +++ b/pkg/nebula/routes/routes.go @@ -0,0 +1,37 @@ +package routes + +import ( + "github.com/a-h/templ" + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/pages" +) + +type Route string + +const ( + HomeRoute Route = "/home" + LoginRoute Route = "/login" + RegisterRoute Route = "/register" + ProfileRoute Route = "/profile" + AuthorizeRoute Route = "/authorize" +) + +func (r Route) Route() string { + return string(r) +} + +func (r Route) Component(c echo.Context) templ.Component { + switch r { + case HomeRoute: + return pages.Home(c) + case LoginRoute: + return pages.Login(c) + case RegisterRoute: + return pages.Register(c) + case ProfileRoute: + return pages.Profile(c) + case AuthorizeRoute: + return pages.Authorize(c) + } + return nil +} diff --git a/pkg/nebula/view/view.go b/pkg/nebula/view/view.go new file mode 100644 index 000000000..6dfeb3122 --- /dev/null +++ b/pkg/nebula/view/view.go @@ -0,0 +1,29 @@ +package view + +import ( + "bytes" + + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/routes" +) + +// render renders a templ.Component +func Render(r routes.Route) echo.HandlerFunc { + return func(c echo.Context) error { + // Create a buffer to store the rendered HTML + buf := bytes.NewBuffer(nil) + + // Render the component to the buffer + err := r.Component(c).Render(c.Request().Context(), buf) + if err != nil { + return err + } + + // Set the content type + c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML) + + // Write the buffered content to the response + _, err = c.Response().Write(buf.Bytes()) + return err + } +} diff --git a/pkg/proxy/README.md b/pkg/proxy/README.md new file mode 100644 index 000000000..10ca30fcc --- /dev/null +++ b/pkg/proxy/README.md @@ -0,0 +1,18 @@ +# sonr.id + +A public decentralized web node client for the Sonr Network. + +## Development + +### Prerequisites + +- Bun +- Devbox +- Docker + +### Setup + +1. Install [Devbox](https://github.com/jetpack-io/devbox) +2. Install [Bun](https://bun.sh/docs/installation) +3. Install [Docker](https://docs.docker.com/get-docker/) +4. Run `devbox run dev` diff --git a/pkg/proxy/main.go b/pkg/proxy/main.go new file mode 100644 index 000000000..dacf6f1a3 --- /dev/null +++ b/pkg/proxy/main.go @@ -0,0 +1,25 @@ +//go:build wasm + +package main + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/proxy/routes" + "github.com/syumai/workers" +) + +// # Sonr.ID +// +// This App is used as an IPFS gateway proxy for exissting Sonr DWN nodes +func main() { + // TODO: Route from /ipfs/cid and /ipns/did to the gateway + // 1. Display Generic Homepage + e := echo.New() + // Configure the server + e.GET("/", routes.HomeView) + e.GET("/allocate", routes.AllocateView) + // 2. Present Terms Agreement and Checkbox to Accept + // 3. Collect UserAgent, Set-Cookie, and Client Headers + // 4. Redirect to DWN Node + workers.Serve(e) +} diff --git a/pkg/proxy/routes/allocate.templ b/pkg/proxy/routes/allocate.templ new file mode 100644 index 000000000..71ccecbdf --- /dev/null +++ b/pkg/proxy/routes/allocate.templ @@ -0,0 +1,18 @@ +package routes + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func AllocateView(c echo.Context) error { + return echoComponentResponse(c, renderAuthorizeView()) +} + +templ renderAuthorizeView() { + @blocks.Card("authorize-view", blocks.SizeMedium) { + @blocks.H1("Sonr.ID") + @blocks.Text("Neo-tree is a file manager for NeoFS.") + } +} + diff --git a/pkg/proxy/routes/allocate_templ.go b/pkg/proxy/routes/allocate_templ.go new file mode 100644 index 000000000..66e703de1 --- /dev/null +++ b/pkg/proxy/routes/allocate_templ.go @@ -0,0 +1,75 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package routes + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func AllocateView(c echo.Context) error { + return echoComponentResponse(c, renderAuthorizeView()) +} + +func renderAuthorizeView() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.H1("Sonr.ID").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Text("Neo-tree is a file manager for NeoFS.").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Card("authorize-view", blocks.SizeMedium).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/proxy/routes/home.templ b/pkg/proxy/routes/home.templ new file mode 100644 index 000000000..c9c927bff --- /dev/null +++ b/pkg/proxy/routes/home.templ @@ -0,0 +1,28 @@ +package routes + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func HomeView(c echo.Context) error { + return echoComponentResponse(c, renderHomeView()) +} + +templ renderHomeView() { + @blocks.Card("home-view", blocks.SizeLarge) { + @blocks.H1("Sonr.ID") + @blocks.Text("A Decentralized Web Node Client for the Sonr Network.") + @blocks.Spacer() +
    + @blocks.Button(blocks.GET("/register", "#home-view"), blocks.PrimaryButtonStyle()) { + @blocks.Text("Get Started") + } + @blocks.Button(blocks.GET("/login", "#home-view")) { + @blocks.Text("Login") + } +
    + @blocks.PoweredBySonr() + } +} + diff --git a/pkg/proxy/routes/home_templ.go b/pkg/proxy/routes/home_templ.go new file mode 100644 index 000000000..deeb75b60 --- /dev/null +++ b/pkg/proxy/routes/home_templ.go @@ -0,0 +1,139 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package routes + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "github.com/labstack/echo/v4" + "github.com/onsonr/sonr/pkg/nebula/blocks" +) + +func HomeView(c echo.Context) error { + return echoComponentResponse(c, renderHomeView()) +} + +func renderHomeView() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.H1("Sonr.ID").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Text("A Decentralized Web Node Client for the Sonr Network.").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.Text("Get Started").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Button(blocks.GET("/register", "#home-view"), blocks.PrimaryButtonStyle()).Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var4 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = blocks.Text("Login").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Button(blocks.GET("/login", "#home-view")).Render(templ.WithChildren(ctx, templ_7745c5c3_Var4), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
    ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blocks.PoweredBySonr().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) + templ_7745c5c3_Err = blocks.Card("home-view", blocks.SizeLarge).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/pkg/proxy/routes/pages.go b/pkg/proxy/routes/pages.go new file mode 100644 index 000000000..49aeacfce --- /dev/null +++ b/pkg/proxy/routes/pages.go @@ -0,0 +1,27 @@ +package routes + +import ( + "bytes" + + "github.com/a-h/templ" + "github.com/labstack/echo/v4" +) + +// render renders a templ.Component +func echoComponentResponse(c echo.Context, cmp templ.Component) error { + // Create a buffer to store the rendered HTML + buf := &bytes.Buffer{} + + // Render the component to the buffer + err := cmp.Render(c.Request().Context(), buf) + if err != nil { + return err + } + + // Set the content type + c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML) + + // Write the buffered content to the response + _, err = c.Response().Write(buf.Bytes()) + return err +} diff --git a/pkg/proxy/wrangler.toml b/pkg/proxy/wrangler.toml new file mode 100644 index 000000000..10bce7926 --- /dev/null +++ b/pkg/proxy/wrangler.toml @@ -0,0 +1,10 @@ +name = "sonr-id" +main = "./build/worker.mjs" +compatibility_date = "2024-07-26" + +[dev] +ip = "localhost" +port = 4202 + +[build] +command = "devbox run build:motr" diff --git a/pkg/vault/app.wasm b/pkg/vault/app.wasm new file mode 100755 index 0000000000000000000000000000000000000000..4be43299b14db4ef20994a910132b7280797678e GIT binary patch literal 9705240 zcmeFad3;pIkvKl@n3*^CeP8d*Wyt2hNxXKlPJ$+z#JkzeI_{v zc=N;d=oScs5SPR$KuF>c2oNAZfW#?4fCK^r2oNBFxP=fPPW`I;y_q-6NW`*}?Ec~5 zgQj1ZG z{r~*p4_^A&zkKlHmtX(=SAU=O+V8*r!&hGa%5VSSuit<7AAa$J-@o+i&wuyk*M9l* zkN)|Yue|g2SO4*amw)=h@Bia--~HihFTV62k@ued$_J6OpN)F?&A9_iI0ho;g951`Xl%dAH7O_{4vU+_$LBoNzi}EtK`Q}Oakvn zT#y(`d_+#lhFYxjFW!0cJ@>DF^Y;61{Bq2f-}~9?V}Aadx5m5-5AXcu{qOyD%-iov z2wcVyEAz9r#=Q3HK?=BH1%5r|y)p0q{g_|A^Xvcl>(}0Y?VsKl^E;sqL#)W}fP_E& z^&9Vx5nfngFMcuR{hz${_Rrt>C4x+bdi%Av-$7_TExgdjpip(+`{0cjstNgTy@ddT z^49nM=e?i3_SRcpdGoz5|JNIDzxLJ}zaR6HG5;mJH7C4%@BLrD@%AtN>9x0nccz4Q zzkThk-;DXem{?;euU?A3vLr+O&D%d8^MO#MJ^3ZTCB9EY7B~5KW8VJ7`>zjzEPnf4 z=$G&=1@dp+{_Q*e9V0>tzCVhy$CHfGi@zT8?rXmu^Ae_pP`fj^(BHlD+Rq;=k=V1J zz4Pw>ME>XfG4H+n&JW%hq~{6m|Mn#bLG_k{Q1*n;==y9Ql9EVhi3I+B{`s5&pHtv- z3jDDsARTr^GT|c!NI4@{NF+*?YS^`W4)8ezKBvIv6!@G1pHtv-3Vcq1&nfUZ1wN<1 z=M?yy0-sahvr>SDSa4KAyesMXzBCIbC7VgvVw7S&CekFTkBG<<{@^0=`KUNeK~Pq5 zLm`7G@NXdU+N+R4O!vKaB{vn+FUS0nlqeoGp{68hQC8Ixw%Y6tr_1f}`dH2%2!_H> zjTrfbzxd*pzWkL@Pk;4mUw`H=pMCBd-~6lRzxD0!j82Pu_piVA{U5yWH-G!Xzx(?i z{lkkt{>e)(|KmUX^p$`9mw)}Y|M&0z@#<^;`Lmyo`LAER{>GdC{njtve&^j^{rbK4 zfAibleegfO|Nq8*_|eBvBAv(}GKnlAo5&$@i9BK)F`mdLCJ+;e0%8(TNK7V*h$+NW zVj3}>m_Za1CB#f(7BQQcL(C=S5v9a@Vga#`C?ggT}s3SHJn~5z%J<&jHCAJaUi5?ZaQdx<7u zAF-b}Kr|CA#6jW^(MlX9ju1zQHsTm@oH#+W6DNsN#A%{~I76Hz&JmqN7jd4rKy(uq ziA%&~;tFw8Bgc{B$$WAGIgu+O3o)2 zkPFE&auHchR*;qCVsZ(&lw3wuk;};yWHq^xTt%)XYsfX^T5=s(ORgt3kQ>Q5aud0k z+(Ooq4dhmG8@Zj_LGC1Xk&WbTau2zeY$ErO`^f`jGuc8OBoC3TJYPHGp`NbRQfPZ5K^x2Zc+KXsS7N8P6$P!Fj`)BqKw)9DO4lg^^E z=^Q$j&ZEcC(fjEGbTi#TAEXb_t@L5~2z``pqmR+Y z=@WE2eUd&!pQbzLGxS;d9NkHG(dX$4bT@sGzC>T9uh3WNYxH%xhrU7g(l_Zo`WAhg zzC-uZcjwsS4vk&S4(T8You$X>!h{P_0kQ}jnX>lCh2DB7HPe-LAq7CO}bsWL%LJC zOWG*iE!`vCD{YeQlkS%ukTy$Oqz9#kq^;7!(j(HN(l+Ta>2c`^X}k2K^py0pv_pDE zdRBT)+9~alo|j&bc1tfxFG(*;uSl;-uSu^CdvwAlVpXm$+9BZ6xmeSG}(07 z3|XbbBPgW|MFIym6C@YgKl9kIUWRc$mS+#7X zY?W-atVXs*wpO-IRx4XC+aTL0tCMY#ZI*43)yo=WTV>m1+hsdsJ7v3Mjk4XcJ+i&B zCfPpOe%S$8v#dpSPgl%U8-*$ydv3 zSezC*rKzDwRH-!0!G-z#sD@00JBACNc8 zTjU4jhvcpD!}25Yqw+TSG5K-%333$}h<; z%dg0<%CE_<%X{QE=3`EB_fdB6Ow{GR;2{DJ(T{E>V>9%a&*3?`GwVzQYW zCYQ-$#xdiWd}abOkttv%F@?-zrihusOl77q)0r7eF;l|KWM(n5nK{f{W*$?@%x4xb z3z;%z5mU}oFqO<=W(l*DS;kZ`%b68SHM5dg#jIv(m^I8=W*t+@tY|}N^jm&Ol53`qPV)ilnnFCBS)508N4l%9FVde;Plxbs*F~^w` zOgnRuImMi2I+!!eS>_zm$#gO2nF~xebCJ2kTxPB?SD9=iZaC_MY*CvQK?w0SfW^}Sf;2_ zELW^hR4Z00Rw-61Y7}b}YZdDhwTktM4T_D5I>jc%X2ljoy`n*}Rk2O6U9m&4Q?X0Y zsMxL8qu8rxQtVUgR~%3@D_Rr>6^9h9io=Q{ild4)#WBTk#R)~b;-un~;Iat$}DBJGDn%K%u|k2j#uU@CnzT>3zU$|~h@+mzdtJCr+>yOfQ}-O4@6y~-x# zKIMMp0cEqYMR`zpNZG19tURJTs%%ppQyy2IP_`>iDo-g-D?5~DlxLOal%2{h<$2`= zWw-L8@{;nh@{01R@|yCxvPXGC*{i&%>{H%S-d5gG_ABoy?npdvsANH zb5wIx^Him(`Kkq~g{m^uB2~GnLRG0+tXiU4s#>P1QY}}lP*tl|s#d91t7=qhRBKi1 zRJE%0stu}*syfvs)n?TeRlTY~wNaOaZ>b~lM>Y?h9YCsiLr>is6nd&TcwmL_h ztIku8Q;%2Yt0$-@steSU)P?HF>LT?N^;GpV^>pka3m#Zt(mFmUnCF-T>W$G&Ra`g&zwR)v`m3pfP!+>b>eF^*;4}^#OIWx? zrb1JxS*%&2S*ls4snRUhtk6_zR%%vhR%>cBYcy*$>om2R^_mTujhZ^mCe3Ee7EQgT zL9`nu4t}mu4%4odNemQy_%bvKFux7 zZOt7`zviyyp60&hf##v+k!C;>)uwARw3*s0ZMHT?o2$*!j?<3U=4&TtCu$3{leC4} z$=V|A6zx>)H0^Zl3~jNtL_1SEOFLUTM>|(LPg|;;uU(*Bs4dej(w1v0w3XV$+9leh z+GW}*?Q-o3ZMAl#c9nLuwnn=~yH>kSTdQ5K-Jsp5tvD9tx;))D-FRKTZh~&2u0S_QSE!q;E7DETP1Q}) zP1nuP73)fLGj+3cvvqTHb9M7{rMmgL1-ga0GTkCwxvoN2savdDqFbt4rmNB|*R9Z1 z>sIPk=~nA%bZc~Lb?bDsy7jsZx{bOz-6q{;-4hjgvF!@487qq;WTG2L<930=GHr0$gNw5~&UMt4?sPS>gH z(w)~`&~@uB>MrRn>#pdo>aOXo>w0uIbiKNpx<1`4-EG|+UBB+G?w;E8{eJxc zeY3tre^7r&->N^XKcYXXZ_^*sAJ?DIx9d;pPw7wVJM?GtXZ7dwo%$~QdHn@_xBjC3 zlK!&(ivFtpn*O@JM}I@#tG}u5)8EqH*5A?h>+kCC>F?_w=pX7I=?C;tL%JcukZH&= zWE*k}xrRK$IKy~DzF~r4qM^Vr$xvvRY$!5JF-$c~GfX$kFccd~3^NV046_Y$408?h z45fzoh6RR&hBCtRQzX2TXky`jOd)v(R5-LS*3)3D3XXxMGoW7unGGVC+#HykiD8(Itp4TlV^ zhQo#=faL&+a=rWu)TrhMSE*dTwE*q{Gt{Scx zt{Zv`Hw?Xon}$BaEyHcY9Yeq2uHl~HzTtu4q2ZBXzz{X28#9cV#w=sDF~^u|%rlNN zjyL8TCm1Ih3yhPDg~rLoBI6X}RO2+`bmI(Tv9ZKB(>TjG+c?KK*Er8uYMgIeU|eV{ zGcGcg8!L>J#>K`Z#-+w(#wz1-;|gQ7aiwvUaka6=xW>5FxXxH>TyNZ9+-R&bZZd8* zZZXyy8;o0x+lE-YHTwe zGafgdFt!^{8c!Kd8#|0=jAxDKjGe|V<9Xu+W4H05@sjbf@rv=P@tX0vvB!AB*lWCL z>@(gn-ZtJb_8adS?-}nK9~d7R9~lRXQB%4p!<1>tGG&``Ou42!(>T+3Q@&|}X`-pX zG|5zGnrtdEO)*V1O*2h5%`g?4N=!3NvrMy1b4+th^Gv0t`KAS?g{CsoB2&4k!c=Km zY+7PkYFcKhGA%c)FjbpYnpT-sn`%sJOlwW+Otq%8|OX>AvZK>7nV7X}}aUr<*g(ndU5WwmHX~YtA!|GmkgtnK5A|=A2S~}pD?$ZPnu7ePn$c;XUu2K z=gghvF7tWw1#`FgqWO~fviXYns`;Avy1B=E!`y4WY3?)MGT%1eG54GAn(vwKn;)1T znje`5%u!3aCBu?w$+BcyaxA%)Jj*!CcuT%zf@Pwmz%t2FXqjv&vP`i|wM?^2x6H5< zTS_c5Ewe1MEpse$E%Pj;mid+imW7rw%OXp;rNUBaS!`KiS!!8ksj@7$tguvDR$5kB zR$FQ;YbnydF^_C5mjg~sgCd+2a7E8UQ!Lrq|&9dFH!?M$|%hG7sZP{blYiY9V zv+TDVurym*EC(%zEUlKqmLryLrNeT@a@KOr(rM|koVQ%C zbXzW3E?F*Hu2`;Gu34^IdMr0Ay_TDnKFcl3ZOa`?zvZswp5?yff#sp)k!8RVwWeD$ zteMsvHP~YqfQyb(M9swZ^)}y4JeR zT5DZz-C*5lt+Q^jZnkc*)>|8_Tdmuy+pRmSJFUB{jn>`PJ=VR}ChI=ye(M2iv$e%~ z(0a()YCUW{Vm)eYvmUb^x1O-JTTfa~Sx;L#tY@ret>>(r)-LOL>ji7K^`iBX^|JMf z^{Vxn^}4mkdc)dly=m>U-m>1d-m&&u?^^F!?^_>OA6g$-2dq(Bx-G+&Y0I)@+j4BV zwmjQ7+jv{PZGvs0t-v>M+g93E*;d2cw)M6RwvDzr z+a}v)+ZJ2Bt--d{w#~NPw!^m5w#(LN+ilxp+iPpG?X&H-9k4aqT5Jbxhit93!?q)~ zqqa8NG23z530u4Er0taLw5`K-#&*_r&emz`vYoeGuyxxm+Ai5H+pgHI+OFBI+j?v_ zY`wOdwm#b}+ilw&TfgnD?Vjzv?Sbu~?U8N37PY6_Gwhl6EPJ*+$DV7?vyZcnx98g@ z*eBWx?33(;_R01l`xN_B`!xG>`wV-ry~IA#KFdDaKF2=SKF?lipKo7aUuZA0FS3{0 zE9{l_#r7rkrS@g^D*JN#3VXGErG1rswY|o^#=h3R&R%O@Z{J|wXs@$xvTwF;vDe!h z>|5>I?Az@->^tqd?2Y!__C5B!_9pv2`+oZYd$Ya8e$al%-fBN=KVm;>Z?hk>AGe>d zx7$zJPuWk~JM3rdXYJ?go%SyKdHV%>xBa61lKry%iv6nnn*F-H$9}`!Yrkplv){7c zw%@V$+wa=%+3(vQ*dN*-*$3=VN4g`!k?F{CWIJ*kxsE)?ILCNLzGH%8qNBhu$x-N- z>?m?faZGhgb4+*4a1=XA95WrW9J3vB9CID>9Hox=js=c|jxxt0N4cZIQR!IhSmIdf zSmvm5EO)GMR6ABWRykHXY8-1EYaQzxwT|_U4UUbDI>#o*X2%vsy`#ag)v?X7-Lb>5 z)3M9Z=-BPpLcN}muJ6aqE9fusPj>C>4j-!q?$1%ro#|cNfcpI+d0QM*E!Ew>YVRf;9Te|b1rh0J1d-(&c)6p&ZW*}&MN0}=L%=F zbER{YbG5U^xyHHHxz1VZT<_fA+~}-xZgOsRZgJK-8=PC6+nn2-JDfY6yPS>A-OfGE zz0M}*KIeYt0cW$b#d*+q$l2;V>^$N;>TGi!a~^k|aJD;7I!`%IJ3E|boM)ZqoSn`t z=XvJ^XSegB^OEzj^NRDT^P2Ozv&VVE+3URN>~r37-ge$`_B-!7?>X-~A2=U6A2|n{ zQCGSv!bHOW=zn(QiaO>s?iO><3m&2SaFN?bEt zvs|-Xb6j&>^IWB_`K|@7g|0H!B3HSq!d2;7>{{Yl>RRTiaxHhQa8mVXyJ}o( zTx(tHT(z$Ct_`k@t~%Ey*JjriSG}vjwbixFwcWMDwbQlB)#%#o+T+^mYI5y!?ROn; zHM?3|2VI9;t**naBd(*aHrFxNan}h~yX&OulFRQwcU^FGyDqve zxh}h|xURacxvsl#pmb>%QxO>!ItBYrqwCr@J%UneHri zwmZk2>&|nJbB}lDyC=9Ox(nQs+=cGR?jrXT_f+>Z_jLCRcd@&~J<~nQJ=;CUJ=Zt65P z;NIx2b8m8Qc5iXlyBpkF-P_#T-8F#sia^H5}are9Ly6?H~yC1k8x*xd*+)+=uC&QEJ$?{}-ay+@7JkL1K zcu&4(f@h+qz%$8H=$Y&(@=Wne^-S|j_ssAVdrCYrJ+nNsJ###BJ@Y)Jp81{yo`s$= z&mvE`r@~X|S?pQjS?XElsq!rMtngHOR(e)>R(onZYdmW`>pZod^_~r$jh;HsCeLQi z7EisW!L!w~&9mLJ!?V+~%hTxD?b+km>uK`r^X&H=@HBf`JO@38JguI?o+F;4o;J@h z&vDNQPrK)&=alEPr^9o`bJlat)9LB*ocCPtbbBs(E_p6{u6V9`u6eF|dOSBgy`Gz% zKF=-BZOyqVrCZ?-qbo9oTbF%RAdU$2-?M&s*x9?_JXu@|Jrmyp`U? z-X-3p-euk@?{e=7Z?$)&ca?Xwx5m51yVkqTTkBo#-QeBmt@Cd3ZuV~R)_WVgTfN)7 z+r2xyJH5NSjo#hfJ>I?EChtD)e(wQqv$w^2(0j<+>OJf|;yvnZ^B(ga_nz>!drx{# zc~5&gyl1>;z3050-Y)NX?*(tS_oDZb_pC5tE`*M7_zC7PJ-*{iXZ-Q^4ufR9SSLmDUEAmb8 zP4!LlP4~_475hqjGkvpsvwd@XbA9uCrM~&T1-^y8GT$O!xv#=k>09hu;#=xl=Bx58 z_pR_%`&Rl^`BwXCd~1Abed~O+zV*HhzKy;*-zMK?-xgoJufey~x6QZRx5Ky7x69Y) z+wI%q+v{uc?ep#T9q={#T6_n6hkUKR!@eWFqrNuZG2e0D317SKr0yz|`mXt|`+9sge7(M#zCPbA-)-L=U%&6J@1F0z?}6{3 z?~!l77iH7g3^tR^Vzb#CHkZv~$Fbwte0Bmmku6{+v4!kpwuqg=PGzUD)7cqpFG&Sw{}3)wPu5nIkyu$Am$b_u(bUB*_i%h?rdHM^2s#ja*+*fs20 zb{$*Gu4gx}8`(N`6T6w+!q&45>{fOgyPe&^?qqkdjqGlA54)FbV)wE8*#m4d+rl1X z53#N6VfF}nlx<^=vB%jHY&(0BJ;k18JJ>VqS@s;;$#${l*$Zqpdy&1wUS_YbSJ`Xq zb+(7S!S=E@**^9bdz-z(_Oo}{d+dGo0sD}B#161gE}hHZGPx`+o6F&Hxjb$hH=fJq zCU6tE0&Wsl$W7*oxGCIJZW=e8o52-xCEQGI7B`!l!_DR9ai!dRZUMKDE8`Y%#4kakbofZUeWGtK&9to4GAqJ=ef(<+gF# zxgFe2ZWq_c?dJAyd$}fVAGe=7z%_F%+(GUT*UBB{j&Mi0HtraAoIAm_b0@h|+-a_Z zJHwsj&T*Yw7k8e!z;$yMxl7z-?h1F6yT)DTdbk^0FL#sc<8E=cxjS4xcbB`z-RB-~ z54lI&02lSA`!oER{w#mCKgXZz&-0J-kN4;MC-^7&3;dJ(h5pI@BL5WsRR1*pbpH&0 zvA@JW(?82U+ds!Y*FVo+>Ywjl;9ux3^Dpw3`z!pF{>A@G-{`ONZ}M;UZ}Hdr8~j`S+x*-8JN!HSyZnv*-TpoPz5XWu zKL39I0e`c<#edL$$lvNe>_6f^>TmNO^B?!0@VEO<`cL^!`#bz+{Ac~={GI+T|9Srf zf4Bdl|C0Z*|BC;r|C;~0zsG;W-|N5W@AKdC-}c|}_xtbq@A>chANU{oANdFT(Lj12 zBaj)$3S_z_`HpKz?9CU}B&kFey+Nm>ehyObJX4Obbj8%m@?*N&+(jvjVdN za{_Y%^8%%T`GEz2g@LlbqCk0|B2XDv99R-q8dw&n3M>z-2vi4F237@D2WkRq0&4^7 z0=0qlfenF;fx5t^z~;b~Kz*Pgur;tPusyINurshL&=}Yq*b~?rXbS8L><=6WGzVG& z2Lp!!t%1XVBY~rVw!pE#@xX~dd*Ec?RN!==BXA~gHgGP`8R!a}4_pXz2QCIK1uh4! z1g-|I1+E8r0yhG^ft!K8z^%aTz@0#U;BMev;C|pi;9=lVU?30;rUx^EnZc}Jb}%QH z8_Wxi3yu%w2PXt41`C3df`!4!!J^=l;MCx>;Pl{(U~#Y{I5RjaI6F8eI5#*iSQ?xk zTo7CsEDJ6QmIo_>mBGcqCBdb^Wx=Z8^5BYKb#P^HRd98%Cb%ZJHn=WW8(bgU5ZoB7 z3vLQ-4sHq72OEN0gWH1JgFAvdgS&!_!QH_Oh3HAr?2JZ#$2Ok6<1|J0ng3(ZVC?k{^$_izNazeSGywJGN_)vam zLTF;BAT%jd7@8a^3QY-34NVJ856uV_he|>-L$gA&LvuoNL-RtVq4}W&p@pHc(4tUz zs3KGuS{zyuS{hmwstPR+tq4_zR)$uER)=arYeH*7>q51m^`Q-+jiI{GrqJflmQa1D zA+$BLEwnwfBeXNLE7Ta;9oiGx8)^#e3+)db2sMXVLI*>KLam|0p(CNAp|;Sm(DBfT zPE~#lwD9!sjBs(dBs?=bD?B?qCp*M}RzTf^JJ+rvA; zJHxxejp5zlJ>k9KrtrS-{_uftbGRjZFnlQ78a^C85((x1wBD)XtVr?Q_?R?o}Lgkz?(1h%#Bj*6!i}GPXvo$8>iwp5$re*MyXVUN}@_5 zRBsZ*$2_ADn}99od@q4X#=Q7AGt#4ZF=n*#)sRrGDxwDh0fm{0rzN(CFEcVgWb)(^ zsf3$aL4a5gDPjR_!udV?0eMj2-Xu4j6`hdOw3J6Np-qk?STbVxag56}B25BzBdO8J zXbJD*bdGbCr_IlXLz}`R1e0h3B9`1bCQ644h(e_hWw0^xm0!AY6%p4&y{UnkU%r!iKR4{-%Dpf?nk!hnK?TVLjax2+s~A0nlKiQ8HGj)P^CjjC=`7*kUE><0UMpgb9~$LJ3Q( z#B;GKOhTp2aS$T{v0^kr0Aj>wSa217cs9hUXp2LD-oS{(E7hVZY#3xDfM{bN@d9d8 zz!67W9V;MWp%m&I1&Bi77pwdfrt7z%KBV!;imwqejv`n-`&r0lFu5sA^5@}MhDtp{ zG8|2?Buhg@ECo84#$EdkE&z=TrO>J(qvC3FaOH*};~EYWYdj5*u~9gfk_Dti{f00S z#!}2qG>EcxCRxL+BnMSHSlMY}BZhzxL($N=A%wp;N%(h~m$HG4%Mfl?og771V zk<^G3g=NM(MZ%ADIVu903W+)p8WB{mJ?tR1hi^KG789cJrd`-ZP?%?^DqbDNRnZ_- z@``UfGT^dLpp-!AI6&EewxK9m_#mCbfWlFM$U=`95JVCSBC^I{zcJFtW`oUz|1>tq zNSv{*j!2%DfZ0v7uvCN?%Rwioi2Nf?3W7|p1A0sRvdDlW zlamvy9IG5TSXoy3Q=~?a+CYOt&PsDoW~5&7vI`oKMWP>LOUB7qDH;hhD~p?X7&a^& zAu!|2PysUgBs4@uPD_4V1)9c!xrv5VtXnLZ(yatHr&vV2D_MLu(7+4%C*TD+TKorm z2@S#*WDVd0+yPslMRovGR|=0zL-5ED>r8yq+Qm^T+IryAWBdZg3YdjBCQsp5X%ffu zzzNJTU=(nSAy@`;j1f78G^!2=&H%^!Od`+Zah?G;d7jDRJOhnN5WqFbOTcv&>Oh{P zEJA{ggF46$k^hI(9ZSCq1zb=7t61KDh&gZ2UpA(C;=V%M1M~tA_BKU_ZB8`a!-)(Y zj7ZoLI6qG;P{0>J!jw>8zF0u00jmkIi88T3itJpKf$T8DlpRruu!{UEK}DvHav0{q z2e}u}bNFDfG8mC-0e*#jC~vMTiSJHc3=!)iq~IC62qTFA;-X=y1k!>vPf;CO$On@i zQyqeh_(Wn!!pNpr8CE69f;l;wjG*-o3+8ix3-T6*A((0aF{5sQ*kM5wG$Il|7@6^b z1S1G^64rlm78KH0zZ4|bpX?>iO+gzfL2kJO1_~Na3W8PO@uWcGNscw(Gtd_DP!y~j zX+Sxz0p&38Vj7SE?T9rXgL#3xB7Nd$`Wj@Q5h;yOgO8>!Ljmm33}-Yw4M2DZilSaE z_D>iKAaRL zDO2>y*kBeW2G1j&R1*9g9Zs-CVM;xcswI931Gz~8Z2c>6JLCC{IDZ$)|0d#QRisrC zH!I=;o|f-Pd=q;>o)W6wPYR<)0aZO0s|h3*TqtCGX=IjYR*Jpjh&&g$5_nXQtP~7W z8gjv&1q?_K{46j9bVP|v0SXxWr7CR)Lhu=6_mwz~u$6yKX$B+Hh>($j{g4_bvdEC|UX^ zh#moG;0ve$!4;^AK&VD2lF%=~ZI1_G7Kr`2#)q;-LLDQiQUdw5e6yg_g&yJ=*EgW0 zr%+3%&wP;&BOeJ^)`T#w^@aP>Y1)|{oR0D4@=1)O=VT^gqp~0As zq^ePjEyj?TgAYu%8(xPm>9bTZPzlK~2s?hp zeG<3>LZ8q{7!mMNl)4ouon&z*3kja0h)W2y*Lji_6FjD`axkp}EOAGXCG`Sgm<1nv z82M1(MkC+^oC1zOZ?UYgvRGHqJC?@c3$@n+*0_&|ln@I^?gc85(1~ObTb}ru5G92f4UjUSYY}A<|F@*T;Hb?LVH#3kkQelrT1aVU zdkPGWXeX+Y6qubUFxc&Rj0OvjghauJxP&yCuVAqfo*}Fqi88{&2zY4R6cC_~5iuED{&f-coQL7}^wMVS0p1^9I!FB25bwx^>5^Y4XaPJi> zxXue7cHJJM!rsnAD!3n~LR`rWlM4I9h6O61*z>2O!hW$XfeI+*gbg9GR6x-`K!pQh z1p*aB_p=v8Z9Z8j8Jt9`1O*5n>IH!tK1>Wz0hqr5K10O7mL>UlD2OQpfB|A8#qx0; z)F1m;yqY5UF{~hv$T$Kk(Aa=rtgu{S0u2|7a$*4@V{16DXhOu&5FP^kNa4jC1#SV$jJbIBv4NQ4nqXOgBI)5HRc`Jp57yo3Or$JSKH(Rju#m7ouy zN@fZ(BvXq5w~VjjakGXI==iGQj`Q9GQm1io&Z7SQJ1XrS^x9irz@<5Z@W-3Z^!J zwZ-?^6t$$JgRAqVZ}44xwuC0K-~Ow7gkjNjKKJqR7K=Mt1d>9B=N#Z@DIqM{rN2Ea*AegQi5 zz8j2}@_#vA#w+qa?O)KEzn4Hvjsj;3*5u<0Ft8M#5Q|HW!zEnW^i1s9rstpk*0;Y6 zH#eoh)lHxH?xwhHf>pJY=v`|}E`_oBHZo6neDn_SH8ul=DKC{qf$Y2mGhUbs<2YK( zxk7XN|Av?_guLjqy(l{MhAQ$g2hJ^8aY4ZW6kU5Aq>kbshm*m7X&Q3L{tG#96rMl# zBe?%UE*c+y;d5`J+%X6eMG7EhBLfc*&7@^Q!~;a1j?idXhlG+pgOX@1P7*mM`H7JC zpF$oH>51pPCghQkTk*VCg*+2#yBkcM*yZQ5wzDA0mWe z6|2N51e&ALk%u*jRN#_2vswfaXdXdLK+EqwPKD7)fHf(AX{fa)Q(;XC&}aY>yRcS# zFHqq-@IHkK--^qr1eOR$Q7ox66zzqj6B0HbLLh)bV;jv&gxPN+l2lkYVM&O#J}t51 zv5b}+(V_{Oee2Ow8QwVjQv41tSbPIs(n+iCn?y_nSL7Q|2&v2p81)$JIRGQjj2P)S zkcTMz6{gKN`vd$4+l1gXu=K@5Lez`Z3%q<5QFl#kEHr~;%#p;B1`$Z$yxTT=jGjfRLEotM~}EeU8_3eeX9NaW>q@x8!Hw1R^c2KZp`E1)?L>7Py|?oJU@ zAnsQYaak$2KNtp9ZIF2#B=$-p{f{iBz;QXW@MXkYw1kBW+82>lM$^?VsnT{Mae##p zY&5_kfziQc7VT$2s~;dhJkYlgkR5Wrpi0|^fMC@@1md^Jwxj$Ji7FIufQ=ByZl6c* z&>{pCk>-Hy7PKsc?Z^6+D1_pNm2s@dTTn@Uc>yHnIbJkgfG<>x50vn6UVhHWul}f# zSaVdQ-$@D9z9AqOb|D1;J%*YIA^{yqy~y+9IX*ToDjf7~6k0bx0ekRHpO!quDbg^4 z{`dgITYX0Yq9pEUC#o0LDa0NE^a~)X#Pbq+EHeq_EP~-uVQ`DjOB@IR5i6_)eTe^Y zV{=mMt}s~8`^c{JM8)S#qR}Z4NEj?=VFv-tYLlfb%C!1%QVKG4QfBY7#~LJAD5E5x{r zgu4Q{4UUwdf-D*A?~Ij1Dlj%ut|4JSs|KkfC0U5%03=6?%iRbDHd6rm60uEQow}NW zEx*!`2$S5y>nSk&N<(bz71Xe>>LBv+h6p1p@bD`QeBC@H`8GwEn<+4O&&6Z?NyhD# z2y-GKmXF-&_~KJ?J9k7F0XIBNO_Eu4QF$ATWpe)FnQ+{7>sZ< z1(tl91k4k5E#mOmu-a&UavL!n`kC73cyb${Vw0!oxF4?%hgO|~w1J3(6cl#yk#^K) ze)fjCKT$(jpS__gPizR7&l1m&`piK^U|6K<`9uw64cgGZ4~Iv6LpB5*`RvvA4_Q6< zse(0&@1MjHHZ1HP3|T!0)}ZXZKqM@aq=eAWuSkhOwA96rXgXTXhBHXQ=$C`OMzRb; z5+(H5{Xyq{AgmUNHWi>f^b%p&NebDZsPtWU&jCvpD4)W1NtkOunh(*04a)! zkWRK{!)$u?5KYHMWPQ8=`3-I6omm#x|zNg)R@O z)Q8z_YcQ2wMpn9bsVz^e*_<*Zpi9m5|*qxY6my+f6)5XC$$u#Gc2G%=vi1oBS4Wo!3=)= zGnv6pCm-8~!23@pAD_;nTP{VFm)wd11`e8Xd?SoYR2^^kbwbAk9Hb83(%7tOI(fQ;yKokdcb%*J~ zbPv)B(%{eq7U{bL@9B^2xLp~d>DVAkX!;L2ZcoL%Cv1R(IacyKQ=SS7?dY*t*A^3{^!@*ygmB1_o0;3iBW0GZlbS?;uqZV`-zEu2IEX{Q!iwnl3=L&R zP;4A(#N$xkldymrEDc2noeIz=p`$1X-G>+;OQ6571tNkjIFX=rDab=#unrg@KIBNX zL?w}^Mh$_nUEhw8eO>~%CnEdwAOHcpXdj0Fyb~cF5s1bFN8?#FnI`!GP+5{j{R&dQ zqDKSjk}n~Izpo($632?b5?idC2JJnjG!Vhz2%tU>Li;JiCz2yTDAUq2vY5Bxtx!MY z-=OM8fHI`t^OI>&DD%Ou_^v1l2}i2ElJ$F%0M;xxCRj796?*nTo`42htE<#7OWA4P!>7`fm(&lI8~7b;Q^zwRd`UN zH`{~<4SLuvJZRCw4&gxumFk|C1X12jArCYl3t`Ow%G)L686eN_yu^?4;C2(-IOJ7D zb_)-H9X>RL-#`sjk-fqjIG-G`=YT5Kpf3#^^o1|zUsa?@C?O!hp}c)UoW(SrgWFmn&_FwiSjiC)Oz1?Dt5SBjVfN2nukVIv$~ zBv~y=QK%YNl;F?nAGD-qj1w9iY#6S_6oX*A00* z&BeSP$m3}*=Ji7!;sL4;QLU0ECyN;>EIC#$svCVNpy_txzRYH zf?UDLBsgdeqZ3`o1mb~FN@E`=kvH?$;yJ$#fZ3Tc?DEBW1$Lqnda!RLVc79$p0$vU z4ZC_tD%;|+Bw}75ws4Lg*!=1j5DGN}TW?Z(J6VJgdJ7{IEsB+rpj%O*435WxFAaNK ztAy=pHXs~KbAb4C8oFTuRSSMNP#dcZbQ~XDEe9W6CT0gr($H=xX$3F=9rYqrc&Y@> zHIC*t$UydDhvAT{31L7GGfW|U5{J^Gbum#AaOOvxz9Q1q(~y5;!ra<3{G=QCUXSI0 zK;gV=jp-%lCYBU_?O6&>TA)}$mf&qgRvpjVTT!0B@-EZ{))Ye~=8X{Y`u3zB+qt}? z@G_JeHAvobC@*=fGINMt;8jM%v1dp-7GMxQo|dsp;R&W?u@@ASiJ3`^Cekw?)d*vh zd;ueXCd)8cgLCVsv~WV7FYuyR_LW%K*jy0;t0{HADwcm;EI)YN?}}wVh?R}aHwUXb zitQhd7k`!>kp#_22g4klACGktohb)GLutD}nZfEWO@OFOfEc`fIFTQ(AI|FYX+(OU z;ImYHEC+Lo94j=-GY{^*5(WV-3+Kl%G*WWS3F)?kbVowEJ0abZknV@HIPc|7D6UzM2cO@5os-IdMZM~PEi)^TSbmH+SLUDPr^N+CLytsLD+C5)N7sfFqAZwKpe*6!LmtZN;In|-ENm%_ zqO2Z13uw*4xpLUD9ElPb4hYR^&}AoNq>#@6DzjR2tb&Y`@;P`4gpN+Y7HvKU=*vP( z@fFCa=X3BJ4DEgfjQAYni~*fqfSiuUaz;Z=51#{b6trjUIj~$H6rg@(_#5tm!QXK4 z68?r0AoyDW+hAIdI@~42)J)AR+AJ&UOJZ3!hq7oYEr_z zIdC6{G*%N|#t&s;H7Q}*s6uz$z`n{@O%#k1YAmONF{q2x1bda?8akGW)x?+aLz!4j z=>9G>I)Fp7Ospmv1{cVi9>%RcR+Acz>G+{ktR}vUAIijPQbQLo1yC7GB^oe-ZPPl8 zH>MFPfh;iMgBy()vATFs#Co0ph?D}kfxTm)F@!d*D4~Qv?05+dM27D+A|Qr`xj(u@ z45raB_=FM|KA{8$T?K|iXA#*jJOxam#sUKnD+Oj_awHHoUIGnWm`ET6L!yZ&`hZaL zB7nr2Pa(nPQ)&?Xn1BFf1hI7Ev-+qaeAWx?g9n!n`ROs2&m=?_VWZZ0toR{*)`BLH zvGehR*)Vc6`UjRw&08|zbRNk55HrfgB#VVEOb~7YMg1HFjzSc>#v^bFPY;!VCBDmy zf6q?<(fd3y{vJ;v`1kx|5WO!H-=n(=g!=i3A$ngdzQ?<6(e0tg&E`v@RJ?w4X(hm; z_h{OUT0*J#dtv&Da{1{xDp@JM=dA#$;c$jeEmp)ll7aRHv4gZ%{-J0$SoBL>0^rNSkcMs%m|5d3aR z;y2t69OE|;>D~dG{r(zNE0Oek{0(r0#qEFKZFEe;7nH+<5-ewIwg?ygvDi%52i+7H ziMHT#Y~av=83eBrodUvncvkp$13k$N$U)N3{liacAa9TcaNZydL<^F7fW}>X!}<_C zC>*2#oHs}Vg~<(|gQECi5L9@G28su10Ot+TKxuLVXtIb0;}aSv9i#!AhZ{(g@JZ3Q zfLtT6x2a6r1B#S8nyJPF09{%V-yg4kTmbNjC0P-ve7tcz5&)c+(s)ryt{edSxsj|{ImQ9_mTV zE)LR@A?#a64FAMsH~waGjDAv_EF&5R5Ic;#0`Nv~pZO%{4d_1K!T8iY!Bt36Wm#gq z%XmFHobl6u-MkOcxFbiWx_MyxA+8#?{X=Vn&Lm=>$U$5qK+jT$5eE>6!G{_~RD1#L z9sDk8^Isu8iHs)lzaU8VZ^#WmRvPe}*u+s)O45`TCCBd~E7M^^x zX$NNE*w4(u?%}d94v@sczo3AHf^R30y!JR7|8qz-#;g0Yv5`MdD~eKHG>*fcpN$L1 z6fJ~Ju?&p`@V$o~dsmVehvN@VTB?f!2#iAjXqd2%TWx;6B9bR78V9_Nr->Sb6rNbd zwj8A>FK|U4)7051b@1A16n_{+Fj4l@*a^1wpPoiN!=+IiV7N4j1NJ;lBelhA=9-;M{m^Dk)=)8T4TRAh9E`lJ1JFod)I2c;i`jY5~uQGg2@F+%7 zqf_*J96+EW0)TSJ=z&kb{{j@c&IZj~@b5^acnaCk2Kt88 zQ0P>$d3i2Xlw$-)HTAqC#P{6}jmyLoT#)_zRJg=|AlS)wcu921h=c|~ ziwF(It3s!>ldCEctE%T+Cf-~FIs)#Ij%@}(E>H!@{^k_1f|ScdTZT3MjClNg($UvH z+|d^Yc*5vIgCjQj#36+y`%fBD@yOg`lpf}g8W)Wt_`g1+@>6j6a}TKk5raR^keVbm z_*sWkp;*jIr#mb*bhMrcKICs z5s0VJ2mKJl(AM-p(s)J}{=n51adY}^iaCu#2m=~Hpv6!0%WzC4Ots;c;qdQ9f!B>L zEc;7jqxb@`AA^HJ`d8pJx=8pLWOXC_55plV{B`^+{uJQX@WvACw?xr3cIfvK;PM^- z!QtAM|}Pq`WTP?f?>-R{*jql7}u_kDCzQ zFm(^U@#Yh>GEr>hCf^GB-GyPaLPqT9Iv^B;{0mGX{s-ky|G$8`iYN?wdeF^Ov4_#f z?%}JC=(I0Exe=d`B1Iyub^Lr5K@JO7Extw%Z3YTsWHqs?j6(QP8|PgR;r>b3G($v6 zaBBm@L+TT?QX;k@OfX;xZg^eS;l82YIP`tezRea}y}=6yx)o>`1ph>Rn=7``%eR7V z0~$^%yo`a@9H9|EL(oV5cN-bp=Kws%Z~gg0!)}3y&1PQ6?8C%nXsO}d*JPKeOl(n@ zTf;9yCG?;7o8^Qc;z$37^mk zKl{OEONb5*Zm#%IJj$PZx!^jn5y7;h8o_`<>=WO-4?kZ62V?MN0G^D`p`P$<@!g1B z0)@JfOu0I-dZ7>T^<-hjgtnwYoI$i-=nUOo0{!6R4eBlKno#XvUE_n1_lS1rjo z!@tjnem)a^tqXpz7p@3Sank(o2?Rsor$&tY!WZz*bwS^Ti0?=7LYnvk+V}#(4$(P# zJ;gbTLkJv15NH$HV9wbWfU;jfl;sN`=ZyE>{8Yq%+%rEEK(`oD;A_Dne|;f(#GVM! z_Fu$rc~2w^&&V^u)g^c$ufvc6PXse^Wc)SnsG+FINFFBH(aet~_k{;WUe4oj8@T-t zHTo_DQlJ^+Q-&d3=AKI6DOgbUR|A(*GnE3gGV&g5 zPbOf4K6c%MAZd0qu!cL1KzCqg5UB$zKX=165P3mZHzavB6=LTF#_|3V1ik(=o=v6L zpujk^gQzOLL3jY{{`Um z|C9GEaCTMI-S;t>nJ_#CK^Ww9XA)q-b3h)0yk?G~QS@tkwNd+sZMCWG*V5Knsyr^q zBpDzH0|W>UF$zjlB2iF-qDDao0uq&41k@misi0y-8?Dvv|6gnEz0Td|+?h$B_WOO` z%@5|@bM|BHwbx#Iz4qE7m_4WEzr93>!OV}c;@m`5vMy+&kch36;;BUQ5Xk^8Cl$^sNQFL8w|l#WV-=y4-Xf0Kx`gulE^(~F z*Y=&@m%Ica!m~Ca&PEB}u!BD75t;Lw<3S=aLZw>@laUbg;x^^FZyXB8i^bMYekb+$ zoIlD^Mk6>Jf><641@ExbpsSHaEPSd4$_;p8`6nsLRwx< z5{^)-5>kV5pa)zOseX$|8@#Trw#0o+iPcrpgte@k0tjO1=Dwl;;!7LI9?l2k3~+%ym^Ar6XYwetm28^|yUw6s^H z0_}J+0jJeKy-Pz-!Y;i5M$2?(Vv+y&A20M;=7TF4P|!bqfePH|vG{;bUgW67&}<4qmSjibHq>aQSEQDygvnus*iK>HTX18$=7Ls`$@ zF)SL=a+MYlOeEU=MbMY{+^lfXSF^$q z^}8YQmEPfVCGm^BsU0Kn32&f4;)^KR1#Q1ovLkt`W@ShG+H>QLfeMYD$+zrE-mG~S z4j_RgMoS1)CYW}ZkrDCxi(s*bP^LKqq*_^IWVY=t4LcTt4KjiyENn?Lg76Ey07aBC zr@m!g;7Kh2|5a6Wug}h$<`(4(UNAGef)AIxeR%UXucPd22?%PBwL256(Z)KO-@{rh zf{U85f-QDd(B128;^m}oXb<1*8UwX#m!*PdUcbmQ=s3!V6}v7wFm4m_U4&Fw$|G`K z^iMOQF&;$|`R`E7l{p8BP)+wl^i|k?t@D!2F=$+P$w?Rofd*=K3`sjo3os&%E zCEm&=ohf>zwV8zg1no>r4#z5QLE&Ib<{t1q8sNgcX((Bnw zsBKp8mBw*nnDvrjUgd3kO*ea*W_i>jq>0_0)~+tJ#$-#{-ZLE`mKl?lrRVIf@tTS( zrJtc}D^BQ(R8Ke-rlShpsK{ZjP1|ASkus#e*9(3{kxp(A=NFZ>Jf4z?(uhbv<~;G0 zeVwbD(a|!P`_AXh<|bKtoNT<4?u88bprPpU9^U6YY|!Wt(OpaBtL(ln z93m|#qdGhx?)Q6Bc|Mh`y)<7dJz;Tup_VhRtMUxo859`zE@V#-O30nSnt*C`n-F^r;>`&jjsVy{m-1#-8uj zg+pkmY%o3pEsY;EfZKra6%3~rL_B^_;jT&?a897tvpT6AbX8fo4p}I)Zp!wnKM|)7 zqo<`hieE;N=vFt^&2FS?6)!LeIKw2O1(Dt>(XDzKAKQ`aXA}zbd^LuNj<6|3I?_W) zzDO50H;0j3ptPY_oVw-`ulaT5#Kg&HZ;`5WME7@0LtMbHy$P@5KX`@!~FfJ{t zTn|jsF+1+%mMeo$hK-bkxSmK8U^Rp^8pw3sWGvFD_yd@M`=QoZ8&3G)1>W{u+O{%p zsBdso=)jrD1uZe7Vrh5hS$7Wch2H84XV{ummWkN+lO#=Li88VKe0k+;hdE2{(_HRN zw=nRVpUl_VBN^t(LM>O=$qJR;r zh)n5dnK=>}!@WPQBX883gl_?Iy2An-itx@^bi=r}{m}Coc+`*#DTKo9t1{C9y|sl_NRTZB*C^_kUUFe|DuK=rQGTd!r+< z^Q(&0sxqwh;)eabTk=`J(uJfd6+{vkZm1(5Kty4Ot&0ZO!PdkUBAkH705@|n8tmud z^qQ-};vjQK;w|d+$_?&}% z0$veJUQw#J-rF@iy`W{_;7$Q)+=hiN7&*=BMg`ott%H`>PaX7d%b<1pMB+CL5gE-S zT2jVMjR2^f=DglmfLApUI1tL_b*&e-dEK>Tcrve$Fv7GBVQ6AVB1zh`jrK&6*o z-{!Sic7#>G%-=bz-+hbvY@t?eM{tozcL4D7I(a!r$^-~q5Mc!XEFnE3HeV3Y0hnqO zNV5^x@=9HI+ISIfB1tcM(KJLJh4p{x|G?2d5l14$ixoyvQc1dF+3_Us_XRI_!5%oF zg&lA2zJ2z=euvL~`yX&%qtV}w2w?dfq;bH99e%`-M-Abm7C*-xcRW5PoG^UiOHMlZ zlv7U|8O>h$veRFV&nsRr_m!BJHrwTvfMwe*&)^h3!Z`WaaST-0+a9S#(#>qwxxVGt8sTlFIjVYXYnUE>JwhRwx2C+j<#m ztjktQEUr2io+(*Bu)wJuPaG%!jvHnsZq)iH^AwGU+U68~xuqO}M!2X;^zsn_qk_{= zA2c{YCwF3_&bGT5p-q4sTO~ow{e}4 z{K+URyNR+`I)*T=@3Eni9F1ToL_aXi?fzf*_9cAl({ux%$FGyRB*Jl-t_xs2#$|O(`7rxhrOij7$}LvP}rabIhLb@ zwst)orf1_OE!#@c^`>lI0D%FLlLg+ejq)==R1ffhW-=#ORur)`N%_-+iCzp zVCH8@PShw{0Fy!?kS#>0z{uDOD--Y$Z;x9S)q`X05gM9DM5N;A%>^_ZlixT63CCb` zM`LtP=0}$k04Ta{z)Vp5ls@o#9AL@zFQBqx*^D-b0d2lOJ6_G9(HHFr=#2sYA{mO6 z4eMgK_lbPx!$MJzw-gT?yX=Uh%6atk2;3*5r6XupZ@n;=((>W5F3|8u@78?7m=t1; zqlmJc{q*Ug{jb}nOga^LP5@%v5iV%d6B!7}*9AFvewKWlH~K{`nmGl?PLroPbWMLD zL;pb@LK%7lDWIG%U`7H#8AyFH4#$y9h{6DwCxRm@WPWy==Fg1WMmRx1ki5$Y<~Uhk zJZ+Gz`O=}b*V@*rYhGn`TsH!qu`b&k!a}Egha8uga1xo?CU5#WUAzYgXaehejBrDZ zX8Ru#c{q`o&g;E=K1=zOmJU3$gnD$$LWfS1Cs#JK(4-LST&PsXDIJpMsAzmY`=WjY zEV8fh>Lh&$I}sMo!X#E?6h=i-*kFGx1I0x?6lMTvI|#Bs4{eP#FsrPE9}Tpk7=PYNd8)UD^?` zunfTU^##_HoDF!C;}G4C&xsK7e<^MyD`HTBMY(*R+v2_3KBtEUWS^T9DeI_%N|!QJ zit_AVe#o0<^9d28xU59bCqz;}Ae<6KCI?GDR+w%8#jT4hkNXHFR7B9D15=N{g@GrD zMoH*7wM+$05{5~d58o-jcjTCe;!eg;SQkHVkd29m;(6bSyg4d0Vr}(Grm|R+0aK`} zl=(D=Ax6pU@=xT|pM3;>jt%f4( z4070q+Y#imUf2kd2J$=HmF4W~Y$11kSNhPgjSS;Zic^CGyp zXX=eII9y5hWt*XIO|&4%4zpm~WsVNo;IuwiR@sCi(WOhu!c64f0!NrSB=X<$jA z0j>)23T{G;9KXP$+}_O+^AnO==51Z7OktP8j>8ZdtQJ-m7{i9s*DA;Lp=m3`#m=+! zFfb;tU*!GS;OR-#hAW}rhSWre4I99aS{BI)YoR>S2IEh9Tv_OGW?_WX_OL)(4K;!} z70wy}f2i9~~S}5BY z#xD-s$U28|Y;-vHeGuQ9&8Oogf^uvwPy&kD=Bf=QByf$xWDa0iyc&q_Hk@3vN5C8TU2-ve$dWix|AN% zkWnY_0jzvIT|w&#=AsSw&m@anT&aU*xQ1OcA-YA)Si#6#y_v=M?(%ZOz(Sud2iO!i zp|Df(k60ZgV*r1Y<0_t!hiuL(HCmR?Qitvum83ZG&@jZbJoRuA*thkAc`#z~d06J{ z{aDl+xz4T3110vh=Q0n^ZtpzA3RBEOdAVdBhzCps@1=_9;+-Y@u|x9^du=}t0r55u zVNsXQLu_w4^YAQh>{4&vkW_#QDXLK{|F0@O#f?qCOz zGS~+g2&Qk>;0u50D_MCM2nlXs(Fk~%gJwp+*(jVh0!BNSsMc(5P;4`O(ay3DK-csB z>;r5l5S%k(U-(yehpUv4^cVJ4?t^qsqPf95S8FFd42r5C)($9=YCj2kY6ETUuOhJn zah(HUdn%8`vp4>~!XffkXsc2P6?nflU`%4)!YC*MsoN79QsP`1x|>>)`XRR%we}FSC=Vf3uA{Y>DII8`NXx5twuEFk9i@ch*mmWAOZTq zAWP3cj%->cqZ43&&{VCJewQpoI!*Nb7O51;PjyQZQg**&F+P{Vd8*z z$wcC96YABuAuo?}gDwdNE+iaf^3$tWIu^Bk*UmwxU}SA3RB^Y%VIrN#?|Jq@ z&_~6VM2)saN`cuHGcPRSOB|rwJfZd&PV^eax{b;ki4ZJH0wEj|culeRkOO2`tqf!E{!XpuOPw33P#F$La`5&pfMhdbocl*-YcC@;gV)-;w56Q zqprgUR50eSDb2IPuO;zly3J9m%yX1w-srG2O3`)tjj9H7el_A!B^ux`=r8fqCb1%{ zU4iA#Amo)RBVz%>t5uU0Wu(!@I5Dw5gs-yj&FvGhepjV|pm$fOBDE$2h2RFE4WB(B zxG~NOj%Nw8I)ERFZ02~T+Zmt1n1YJgLh+GYp>RLL_bi{6w0NN5eSXy$uYS${`n~pK ztyjG`S-%!VN4L40*Q`cC?`LFc^C*fOU74U0ng(u0Vg8;udP&i*!D~)+!Th|W8N0ed z=a)r=juGlex39L#{ZakT40b((-D!K-e(3@k_a;viT7Fe%5f|{0KmR)+79V*jNEdp2 z18Ht(AVgo%2X0>TabQB2J43`??r>p2%P#3;&Rw!)(XH@~OwK!<^;=v5>$0nIPWEjj z)`N(jg17wzfN0bvf%4*Mi5PK(_itjvY3N=AoK|mpvziy+=gW4KI$N&w#!P@eMH-WP zH|cLDSquV-lQ~9G0x(pOr_5hw&U0c@6?8a~!nT)M*RJ=jY}<@bfCQdSuZ(!CUP69a+jlitAjvd7s^V-059-rfKNPZVwi3LM& z*$eeqp5qstLC|j)Aue|ts`$b9sbkmRc05*yxI=CrK;DjoZg&ujgbqi0 zWh>8|Q0-TqhTVLbJmpaLE2K1gN1?+x-l3k)oz7CnW|>c4- zTiF38k2O420}oPD_x%O1XBAWz@e)JbZVfh>M@rUSX#UQJV=VBv0Kx@|3c)7auo_m2 zuh0l}dxFYF2<{Mn$PnZqX%_x+E2Dkp!%WyB+{Ua=(rpvsAu&T#@TU{wVfbTn-E3L- z!ALYdJj}T{pcoDC5T8Tw$FhamGq*L&1ECTDTO4<9Zsr_W^o+o)?8w6J5sUKxP=sY} zn>Y_!-6NylB@{0z%;C57u_9m^ksg?s5a}VqA9g4e9Rw5bPAjxh%QPidIZ9@~g2SQ^qb zDNzP;(`6{FTWe{okd9eMQlmXco{aX84l%F!FbwhZ>J^tV$&-d*JmsUXFbqUY=U`Pj znU{|tInrWCB#s5Ag2H(7F(lt_6Y^uLRGms;jp-n`K!7{>LGsS=&7U}s7O_F!WXXm= zLE}i7GvK|bg|N=nya56?V7oO!-ZY!b?IOi>ydT^4EP;oRnTRaX0jW_ag?4GYGZ8X| zCZIhl0QIjBn($K})72_l6O$!l3K2~029%3BoX#d?dH^W%=cG*W(Oa+6-|0A4GIZG7 z;&*C@_1xl_EXv^*K6+a`VjP(~%Hcn}QcGa= z*{%*vesb@BtYDImDA?`1|J!)(ea94RD7!~i@S(aZA8}eprey?;NS0%#lIuqzlAq!AuKGVPTLmZMcyOHk>NC zAah)uKNrYbH*+p+#$GSe6}V@Q1U{?1mYokN`$LE7jg-wci1PE=Nb>Zo8~c^rmVL8g z0-b_WF2_$eXeP(&$$POHb7YCQc&V2+1nLoc=~h9X4+#3`#Eb4_dN=Yc3@3bAxb7-% z)PV4yjiIOrz>SYaOb=jxss`)@Bv>p5f(0r;3s9#&iwy#@c-mQ&g=lq5w#J~*A zcED1{g^iA2lo;?q9wBN`M2s|>_qB!YG&+OrR>GDn?v#ZZok0gt3!bjC7TQH;3?`HH zzCw@1=!^jjun?Ug^sJ&Q-AdeVbR$)_4_<3rCSo+fdnG!9qX?d)IcT#GopGZB(-NJ5 zaA)8R^QNA@Gd((ED97^i5g8lvdnpSwo2%kh%6JU47i^0xYqZBbZz#1A-Q-Z^<1;pu z?CH-TK10DvSom{}&xox~$HM*ovcvx1#k+zP%Li85Dm=;UdF|?i*GiPeWH# zY4i!rs6g4*Mz~h_z!~UxGq$C|wI1~6L@TfJqRYK#ZX?rBA5-E>%;6F`@!*bx-dvkt zg$Qi1a)bQ@0VYqFlws0gE^5Zsa#rr6D-x`7bY&m%*L*U-b=iraZk2>a+u6b&pOFj9 zsgF!;(*{xO!|j=21r|;K4v4LJXWoF&o<7zjnBe9%Iuv69a0YL*4#uGSg`UVu_|;f5 zw&9x#HQ!29Vrjq>O@N!rAZ)?hw>xZ`wy?gOQXxE??qxl~h>fQqcVEPG&wafuX9oH> zS<3i8SV5B_c`5iqx@Ugs1Sr(}B?0s(32tac1;FRHjWqL`s_3RmrMEV!PXlS}p zRbOp_W5W~P@E5gVr3Tr%Cj(L^`vcs{+9@BH=q_?EPH_9_U7JiVk!g8rFne3RY*~bS zTUpeMRZbG>R)=kOn06SEvW;K=RXXX5y_$My2@_T@tHGMqUmu-;IRaYA<+fER@Z-zs z8s66%$f5+iFvr)Yv*s=B~yD34LtO#ZA zr1%YADo{M~>xMcHR0L_7{Uai+j}@Cw6)G+(R8(S*729C@0SK+A4r#JkKY8rMGJXQD?ix0qItl7I0jhI&Mogb)<0B zgxd46P28|M&n3cYBh%TiYa_K0kUjDeDcN^HnbupE<=}GrDP13?$Fyh3B4@$%*~E{3 zCB8ZOrLg@{Gu{&eK@?JW1ynXjsi5R}NP|HNh4P5IAbBLWp4`enU6pY}2!`Pn#+#?` zx6AL z!FZMP0JORG69QKuC-6nhhyqK#%;v?ehE2;RR_7EW6z;~*V5;k#79aQnaGA3w$xd6gIN0*GP<1iZ zSr#uID(l9NmRP}ljFwl(@8*TT<;xry-_>(+8V~e^<@sYZdnMc2`(nL6lXH za7$>`Rs@KX%$rGFW?}=p{ui@A2{az@kY8BkanD=oOZ62Jod z37x|M1LAhpG+t;{kA?`Ov}lPvDRu)Ij(heD3rE`zAny&Tl!bIA{y+d-&9046#UWf+ z=u7<&(pN)=U@TD-6|6XwY1OXA+e6iehA~aB19Y^I0IfxA!)OHo#J}#r;MQg98S9{g zrZ2O9i8Qzo?}&{BwyZbU?`RX>%*rBoqoqy!@$E0qvcg+fIJ|p^KXiS;0?&ehb8O|0 z3;s3KYSy&NGp&_vtOyWR>uw*{AI)4k8Y@U0FSOYgzx(7ZcZB{_FCf=rkJ#WNO$_RH z*;jxpTreY|9V3asih)FoV7^XPlQ<=zC|r>P8k}kX#QTK;o`bQ{!7whUXBPo7MR(9S zgKZ?g4Gdh$4x3dFJAt63PC6B~p0s?4x4g7lBmfqV6bPaxk)0Lmi-RvutemVh9G1?L z!+dF>WggSQ(N1rkKCu@9LRJ0nZcV@ow*r<;pk3u{mh1+^163)p2DZ+5&Rb(m!$KyM z%vt~NRR`NI%xjj~E3WWPE!!^ztMcos1mP5gwx|0$eihg^yHB$ytuA!W_RG7M7pu7# zlryZ$*6@c-&3LU$sn~(V9oDC;Y;Am9CaW5XuV7VH^}RouWj|$AV?M+Bl!cAok?v)2 zhXg*dxIgf~Y^iK4y-%4}Sm?^otaVxKI^b5c%h0UQR4e@&N3*T;7_M2e(%~iBJ}l<} z%kfG=71$^!ku)FKB#42(0~-aK$yVQ>NTHeZ#%vcG+As=+DWNW2kQ?6XV|!M)m}+wf zfO0m*5NnQ9HiqpQo$52cs^%1Y6%im7gs{>!-k}Z2zE8MfmgE+kjolW8PMqy#LpPj_ z*iS>53Y5-@7Byo(wu0$8D_=rat)iV>wTkFh$+yHDgPL-QIhT-fNuysI{rKRx zlAcu>MDXjJIk| zHC&EWT|7|BW=itaXX)c+Feon5UJ7xrx%NM>Yn?qHH|;`c;9t40mlH zDPZ)^%y#SFNsj0shf^1wJJgXHoibP^m^lrD#cvs`#6F(N(Kot8_!#KP4tgC`PhJDd z6iqv^g`FDRjh&dQPsq6n|#=Xd64(cP#Bj*h0852XO!^CtGv> z&Qi*;u+p*ckg~OtfQ7iMXYxCEBbk~E7Ce*RcbYDySZ+&|I^@xnm-b_5GcmaH&IXJa zLPhjmBzq#p1_FA1L>iNzR1S9n(PfUNZ55FV4?&3&5Pt}IBid%+=kaK}Zqzk^-^Ufv z*pJ5&a{4^r?V1AKUi`e{Z34QtBP=@t2ov?Wzef%nAr7=|UlCG@uL3~J8K6h8LgEe( z-t1h>_UPYv^k0eQBYGM=*)J8Tv_T*}5*C`Fks-8)7tzQIIuB!K&jT7iRzTyS1vEOz zZ}10C&e@D2KpOVYs_9k1lTP5qIH@;f{%!aQd=ULJfi?`4@a?HJN)rBDKsQn1`PQDY&U_5`L|h95XWm|$aCuJYyC4vxpc)I6CmLBw`aoYzwQux zOD$h|8g;Td4;Jd!^~zu-Q_|bFNJq4Vw4*nP`$dq@Q!I$Qwt?Wb>hFZ$k}h)uCvVCK z?t5%VV~0R++l=5IGJ;$4{1Dt@jw2&D1{Y0_;NT3At@I%yxHYwYAvi1pA+Q4BO`qT% zcd(4$G~DQUBRIy4Mv^ZhxF0$MMsRARn2g|_F4PfA1SJ8H|GCW6*yPOhCxtq4>~zvP zKP}V|$6^*FCyqzIdp|!b)DhEhv=gw7@-MIR^Fkdr9DnD44!Uz|=hV)o)u=WyT{lQ= z29N@BhL4H@*2SfA~j#{3i?E z`lo;P=Wl!aUo8B~cl^~~|L?!~+cW>}@BiVQ{|L%$qfFnK=tKX6qNB}fG@|ny670>~ z7Jo|S@-7NOG&mr2Lod{%%fEHO)7`S$QnvUKfS}&)zA|9=v$@Pxa1v zx{Uroo^811@smWn<>dx{kBxiHeLHL8^7JR{@9(s~32|CcQE}5EAJJI_g-k9^cOo2b z#$k=CC;CjTUBIoz!DvGrPPU8-yyE3r@o$NboUJ@Ie1X3In;wmW{%a0g2I;W>HHNh1 z{=$&{Dh|o+k8adXslF)R%}NKu;D3j}e@yj73Bb5vDNNuc3eaD+06gLE4d8_a@Y@OS ztq(qRU55Zn8|d2!Z*dCV7U3OI?-`>2_R7PH`;`I|2JfE>yhD|uUn!O}c>k;gUR=Nw zS~7V5)ZkqZDa#SOfB=83fZ#ug0Gq5yn!(WkpGVw|6uL2h|5yNq%QHbRZbJ$sCltYd z)B-SWISTI$;6F5g-%Nmi^~+no+bPR~=OEtz|MI176a`@cS)ez->aIB^$#VZ49rEV{oLuo=E>{0qL)c0OtZ< z4$lL8qjzHfzg7S~wsv@e^tE2nsAOIXz#sPa2Jr70z&KxA%a%WJ{jFUBFw@+>hVXv9 z0Pm|Kytw8VeqVT)Pt?<16IHwXm|A?J>%{s6nON3zHzDe__6xyS*C&_-Fwb zm#!pBc$1ej48wer1Na_)ZvY=<0K-IMwBs0tnI_xvK!GG^tSOMh!hARPdp8E~VFGZ` zUHVloX*`FP87GMc{JjA@#{h;wrIvl*?k`-tvk<$SZ9D{!)v`^W|5&p}Mj^(hgNgPB z3!^wFjv|Nlz4LuP=zZHLX3HpWNpTX~_b*;@g)Z4yEu;9Rzqe5g*eGECuu(YLVFSt5 z6j`TOG=#8oOh&F`0_)U^?`b-2%owgU^22!8JGWubQqia$TH8-qkI7|+)*2}*dc><5 z^OR_hD40F!?`>TB*|=aPsAZSleE%am%eWpV*MS`%+fw8(lCwGGFbJJ+BG}^H*a#Sx zK^jyqrI&onOBy-xNRq$*p1(JM_cDMHEKtiX``Yq*cM*WYInQiOanF@d0Ri~MRS7ns zB-xkm=1K3y0A>(Cqlz2?$%6fXm$U^-t=<9N>hBHUUIQ2|`daq*&)#>>u1-0O?OIb@ zu%ZtOz{u92()_8l!F)GQdp8EK*axb|)dmxQf8-?%V6Gzv_{aX<0N%*}rZ1dx7QLoa zvW1T%T|DDWtgTXI-KE=_V8Ew$_3vKJfad$`BcBVtY--Bt^Y%(V^Gc>`(0T0dpY`_! ze}@dPSuJ|x)tmbG@zAg9=T`qe)vs$K+xrh1`7PB7@#3QX)Oi zey*Iy>tNuL)C*ybJvON5C*>}KIsNpPtD635rsEMs{S84?e~T;Ye;(BJzsf1>@A{{+ z{`uYSIs5Fh&pG$JX7&8)qUvJ#H&$IzU0PjM9hZL>R4=SvR9#+OQC(RD?U>uMyBI3B zDaiL05<0=+2&ywRpVqqxgg-%DN>;$4W~^%QZ5Oj@EDqB^Ygpc5uV68DtROdyYcvLy zf?55kwu8IIxFJNb(btKifSFnp#9WGzk-v1v-g+dM_X>SblLtJ=w_G1o8COcr;YC(J zxY4RAo?OT$=xDW$u>kai1)x#GB3aGk&>~eV_wu&hFCbQYABYBqp#+~RyrwPsan{VX zd_?oONyWmIyekW}mWBQnCLLVtMQz_%DjhsCX$KQt%fMQ~TBC7)y~GO`Ga9S*jDCX1 zUBr^@aeJB9G=f-+3Ub$_ZU84&4$Sv-xtBNGN(a-x?G;|r264U&eRAAhS*X=yE&6W{ zOoXe|UetuE^Eh{tqxLGVWKf;kg4wJ6y56X zY!1ky`F&p8(EM&0b&zD*Qt%qDXyf^3B4KhQzrRrFEa`2il18q5z)Kqa(jqwpj<5Gh z2GhGx$*K1Se{VScN5k;}{gBr)oW7Gd&6({6^4+ZU;)YW;KMl(Luvawr|DJ=M z9H$>CRQfyV?U?F7!V^B~B@L%Ehfaaho4k_2)M^S{=kE=tFog<35L2icy}m?g8)i@t z@(dy56Y*Q@pY4(Uac|g={#QhLJFC(yUfhtbw$dpH`BtxJ1ElG63Z#FsP-&qcy=cSw zl$SK5|Hafu|Fl;!m|&*O5%LCqZ%BWeA)RK__Bj2F*E5{LK&v4~w!gKQ7H{|BhEp~_ z4MP5$S2Xzll!Km}kUw9j^j7OFHDrFlOBzmL6`qQaH+m(5=}%C}nZpZA>WWf5v$vN^7zNf(HH@uR;)M^EP(BB(Q zVFecsELL!}M*SB#FihZ}B-pVabp2!5Nd2_P4w%n}#zu4LPeri=pQc zFK*L7Q};Bc;Zd(>Lw@Dd)9~#=B?fiU#?eTo;X7W^rU9n)sixt(Uddp3IVw46Z}Imw z4X4{QycFfyllJ$#p5YYM^%~r&<%W?bytv_%%})cT-}j0JKjS{9;K@%GDve5SMKjC~ zyrkiDgw0RRF1C6lgNeyW9jE{1?+vG?8ct!SuVrdemDpSf6K#*=r@bLVG8@SA0CB(wy8{ad9O7Jeol%`(DpL$6{GJ;5_Lh`?RC4-6H1xNDF z{JkOhcti5BDAyjRKlgfuQzSfX!D)+=<3GH(;gro!gK)QbMS~x{jHz(?%R;4Nthc!d zGx(L4G@R0xF$LlNr<VTHPAI_VgV+ z3l-_c$-aME-d?YV!yLrbg-Z13us2KU=tZycqL--`jz? zdPc5$l3a84)U)Jg%&5>}wY<)28;;rAG|=@vuV{Ft6DfOaQgp2;RH8qLy`3eDII1_P z1@rxdioNXZ@kx98K%o+YKON)O`+LJUt|Sq@O!rcIjDOJU8OC=Z##NoryRv%761wQN*%~iTn3o1V1?+q0*4HaFJqT(j6 zXQ+T5O*Wvk?e!5*hUfH!+Z!v+0o1zeQuHtW5nA*0pF_Hlo2 z$WSL6@(m1BXID6r@yMMz**@^X9mwNR8+k7O;HEmMLN68ERQPC0mzg^ut7dRhnUe}v zel?Q#QQR0ovBq3OTT4#F-Iw@=C}fRp4JYC_J6ls$xTqN`UDPFhQ3_c?k>Ev|o}h}b zOlG(_0XqOLPtTy$;6G$|!^Ej8R4F)Z`yy}qX>I!`X&Z+k$md{5k%O$p^W;zjzr%SH zPs>0aiYHAF*cBtwxjyl0yqZ75p#AF^hTN(CcsLfPRAONDAif9KaZ0CfW_G#5{xd!G za-_g+2g=L}v`L`gp<5dS+gwY$1X#dNVm}ynHkddfR(d~=RRsT#F5{RHm0Ni|Fwb*K zjF73}Xv~0Q8dzHu`STdOI80t39T*UYqebw%{Q+ZqnF|Jq?!j->6DV_(UG(pV7|$j& zN85KhN4qI^;7;301no;5T02Qg;V{lhGNUC(a5jFKH)Ux_1_7)MLB__2Kg8KIkY`DL z(_?4>Ho!YhZqA_bC_9pA1Q>~oto98)s%C@X(JXsZ%MJ~X^maE)(|SykpsRLH5M(xD z-ZI?IZGp%eq{Jp5P!qp2Iu;9(Nlq8AH|TGlfcH93HkU1jjkaeluk)sC zE-6Ub5M=I{aFoI$(hkXQo`RGkJadT28c*SJF6VHTnC^t}JA72t>E$Ciy)&oIIXWjh z+o*jrCkMHDPFvQfV{*_X^7X(qjI*^9RZCXF>;v(zJYQxXjOXZ?cz|TEK46Q<2lyZ^ z1*RN`2T_@7AbTkKUnlZM-NyL?H6!BJb;Yg@wDVC{N*K->?h}d8#oCSus*;IJd?Vx9J&>8+>LhEdnLw$f|`% zz)A!63$QuYb9(!rH?>hCa41Q~kO4H+da;=e)EoGaH(=MHX|kHhI$i5^EM<}eT19LV zP~fnzI6mU_9?=75l3j)H;&7!Q50$fjiIYQAhIuo78cBgWPgyrNc{jEODeLYKKV9cd z*&39b%Pk{Sf^&@C>~#z~J7e8R=tksg0DEo9IzI083_DDa31;Pp;cyG}ZYk7bvMt#| zJwraR`lZRR8keSFwb0Ecy&JZiOZ!>XK{id0*N*nDiQLpG57=xa&x&D*@4 zWhx5Q1tbtn6n{W8{9cnIk<}iRQJ?7(qv%P{W1hyTe0d_2l4X z)ck`>o<{2c207=}5;?+wv-SQpxr3Cc^{|F~c!tTcEaqBBTa<|jX^P8}hJJo5NC{k7 z`rXHRv5gg}uZ_UvFkwrMK4h-|JMcP}cpW<&DT^Ze%r8S8CHAD>z1C%3%X;$TgrDmK zm4~~@%a0O*qIVIBrq(3keUX$$*O%x*4<_VHMl-rT=t4YeLAaQRrZq(kWNPLA37JCQ3P~I?8DM~ZPGXF5xB)DX@@y;~VcbV6H zLN`^_{4oLGCCKE+-k2qse|vLzmmw##p}_(HW(aP1V*k$GV@@ zWG^EZ?j{~KBGDNCZbEWYS`qj?6eN*0*gG1P>zL3ef|{d@_K@X2(JkC* zwraKlM^SgDifmKZJJ72&+WJ@+D&Mh;WHsgwsExt|plw8Z5l!#wGD=@@;zYvIJrhZR z_$IJ;$#I~|0$ClU4l;?_WuEKX3tsZ2Vs%j#3YIXQrhNdSUs8*J=8P zm!iw3FMM!8Ib3ZI>w1v^4gWui@$h1~6=8ouB_-O@3&H1IhS3n4vh)|-D=w}*ZChhZ?N zG-IGM8(d0DBjCpGPM*%wuU*It!NlnGtZ%7&f$EK)(yM%fcVg+-SpQ7<(SZyE*#EP} z(nbd!f|s#%w2eePcs3KykV8{?U>4i1Y)BxQ0bzpQ^j#Nl-JJ~+o;v^3X`KW6Yjm*a@RmTmF5McQnNDx|+ zx6RDeGp~_S{KMXbF-&-Ogm#s3h3_#-9GM=N4yc$+ zPoLDm(ZH~Pc>Udh-&pPOw{krH-HG=@x%XYx;_%Y3JhG8PPCDF`h1v5i0!Toq6=+iTuM6$qa+96+ugt~#<;iDvooW8a|o*o>r1A&?L=u8OwY46Y`0^;xtZdmD3c&4mm zCq`Ro@c+71K|{p%8W>R**gU69pD2F<7qZ_SD8Z65z^eGSlY0yP%GBVm>`1cC%*afh z#ox9gsnXejj8Wa38);W&sb>r=vmjD+HD+=GjTlLT)Pbw;|Cilj+dREN(XQNa!*gO8# z1D?Rw8|3SJIAeeV3K$#U2m;!W7!a^(t6ErS6Zm1posfu&e|!3OmA}MP|8DY?G~N$= zA8$$b{kzLo5-=7?7x$E|#;*LcE0TK6#PGYYSBnG!VjpYtw5%Xl8ydSedKFg?wjit zs+hvKPrln1CEXs7@Ag1;i_L+IBP@2JX|6DmJnmAf!LdgpLb*LV~l9yDWTEG;;RkTF* z_C_b!y908SF% z+N^qpACS19JMY`yk8!Kx4UoqOLQH>@| z8s_bm1=p^w^@bi+XQx}{pXiy=GG7A`PUjy8_1KDi3a9jGE0kM>VIqWS5Fca}*Yo;J z57NfQw>40X9fm)U*x&583ol4$ZE-W!FpRT?-nw1^eNX&IuT*m zlXyYlAh2s^duhQtfa;O9h@^UYzZAVYW=F(D=W0aGHhwbAsCJ=4_e51FdB6O1x2kKY zWgh@)CO>)y#QI2Zhg;3{qEV|so|n+~##;$>ms%k9Y!N*hCOkscuLlW%g-AEU=&5yE zUg>Ze77?tAeuy6ah2%Gwb2W%(jsZHbceVmJ!W~Tklj}j z3TvXk4(14^Euuq`kMoLQxe=N$3^fo*usP@6;X~1HA!^!pC;rQPFy`K&p)~5W;@TLN zT^I=f6uj^&?@y6I@-h>+Mip;!TgNJA7JRHQ@JnM5$b??d1*Hr5Uc3f5rCPOM%}@D+ zkLtZXD!mO)4N!79C1{fIVGJD;|0+x`G=*bS!e8+ffWUlI8|_CCy|qP3kgkWwlUs|* zV-ADdUVOWZ?qPlyI>f?K!mL0{=Td3q=??P;Qs^Y1-$ZjFLZlB9a($CK*``No`R8u2af*i87VBP~+Q$pk)B_vbMr8B)-3NV3p^kI;n`hK{qg{2olDUGPGsYk|i~QCvOj{d% z{dB^wX@`z?@iOt6qbj>z_jyrr!Ve$KqGoK%maVP{ToeNmxbbBb`8@MmL{y6FWQQAHcKJ6C-r93yb(BHf*jliq(?AwMJ5PeWB`PIu&qJ8EIBp34;m2r+ z&<~-kQ=#u>OC2G;0+5q(y8suXYvh{085!(Bw4cnNaJG(Yo}wEpNRaeqK(s^N{6?3A z8Zx|tG)TWr*HS(fc}^^wsCCxa5cbYyUuZ0cH5!BfEte;^By}Z+AY7884a;Zn5}(0* z6oD7G%nN)!6-zGS#dVWiCtDlY@qZxf5t0wpS-FPR?rVhC6PGMgP(ex|d?=}iA2SFl z`{U}95VqZZ5j>MD0v?(g-Q+^cykxsw)QmN3yJZbnSi!YNP*yyU%uDIBNQ1=im z2c>w=th!ilNRj=3!VAM~ku7Bb0tZM#3_F&HTlJp@mQr^2I`-U6&7Y^D`GwxS-uF2R z?YHbR_Cv;Fi=VqRhax|n94_*I*3}_dioJ9fnKs_inqj0cq4YlFHcGd z=-dOH{Y(R(OT8@vh{9wGKtv+%U=yK`t9-B>U{`u$c6~6#UPdg`MmeT^@k?Ohq+_eY z%EvXc4sQ$}0QRyqk6cV)BERKb?d@+>?6JiFY}hzQ3bNicUeAbc-@HsJlyd;!gTK4= zqHa0&s`Ac=qBdOCjfw3wsgG|Eu`2eG5fLF|>T`8bSi)B-r`8~;8l!Zgc%Os!DIFG% ze-Tk52?Ex5$y>GL-fgMm1}|%q!BADSDIg}x^TS@)Fa!aTa%!In|3?5jA{266)n#2# zs*pI;>8vX)6GmRX_QKm}sJ_{OGQ7}J8RWY#-NSqYf&t|RF|C2suyM)03G&u^bEcW> zmZt)?7u%+00l|CdRWYK>_nJ{eg!cF%0nk0B1mM|&W{FsD)y0&4r@{xP>z9!#UmqXq>-GT zb{Lj*i;~7x9FYm;Zu8;?NNE};BCbqco%TF@##^&_=$>jGcrgn1^XGFOZg((j9(2El ziniVJa1!97s+q02Fdsd5V1malc$bCf!4Gy!VJO3f{=!P`11t5E_sc($osxRK}i^|ChQhPYUBs*cd}Ff;fQsu6x!5@IAMZZ>L&o5-pr zoSJQmMf*fs!e5aa8=~j-qAZCS`Z8EDmmk;xb-rGh0^2KY6Ar82>K$lYHfHXFJdZ>& ziE&rMlCy-;B9#}>>}3q`v7FzNfcxl)D-ChgB0)MSDWXwwH+4=yCN43mYEw}OPy$Z7 zRJ{Rq+Nd_$5_*wCt9Dg4ssM|?MC%+cYQ{=NGpNLP@{LuSLblB zzYSsRXp;g@L87?8>)EJLPg!+Ch`Smfpf(glGAcviJD)e3>u(GSBE2Lk?~t_)sZ`{< z#zo%YT?!~S4Z4ef9)4lB-8^~3kaMw8yDY1l081wfX@$3Xp|(2H=SPe>22*T7EI>Ic z#KqpiC$$AJ9&ao)BxK*8G>rQaZ!3RJA^Z7;*}3V|Ycm})mlbNcN#Olts$FekO0h!r zuC#o}RF$i?UnIXy7KvEud*clyeT4-QD;TM;0wydeH`XjK*C+I(b|IbSN+IfTS(~~- z6ot6Bi^@vZh5dGv^Im~h&8vM-vk@^jx*Nz0Q(bR#stPX3beC{yM!E!MJJ3b&`@5@% zagaz;S~FH|VvQW_Ei+-2 zJynK!V;@MQr!9#%JN=*h20|ULMnZ)~FGMO1GC0R(2AzIaI3IS?C}nj&hz9}}o9?yu z-hD_L{32d$ipxzkcW^(iHMOgK4$EI@dd!QNKKO(ahKEml2|u|U!jeHaE)6LB#oWHl zC1hzhiec`ISEKmorjXi~Vf6{&FKWgrwm?{g1v#%JyF^KGreLEf0A5sFmnt?Y(dy{r zJ3|axbuqQRl3bc`CkKkvKniAi%4tsC4fIM7W<7g>{3fB!mEXI|X3p*F75I%b`W0Bg zq`A|jxV)x@bh^C8NosrjQoi0pUh`V|m&)tm@OG4K;hJ76Ji@|zN!LuTIwD=aP%01L zH*TRoaon_K#ZTeS*cP%#)w8{&@EjCo7OLD^g3;Hgn!}BLaLK5t{$v>ZvpI$c(}2Oc56KO zjF@}wkTV-yVycuI6>yP-jsX#3GaEaL^?eb?AXi!Na>XG4g{$zOEb$t}H5eC$OkdGV z2rWT>o!5X-H#!1VW6*LwuY=qrjh-RU?TSGA707I;N@)C^Nqc|Mv%iSZzY zhf5Tz9Ku5?1901lI0t+2I8FV!W-sY$9 zNI!D89REj9AXca_!Ef@shuBsL`FhS1HrTbvxv2F*0xH9fCsYF@LCL~7@(}N83;%1pr;NGFmfg%V%lDDr>Tgca&0{!`0w}>7{SxPs&j~A zvOr**4kK3~ev~+Kl8JrXTea1xrdB0gwm+Z8Y@Xz(U~2`ps_D&~JRii@g~jj#Z&AsX zB@rLz@UcO;u>8I>oL6ZqQrp?C7_ipXB9E=E^Gr>VV@sK)nS@hFRnp(ap+{eg64Tb~AUG-V_?LH?WSnPrc6KLLFKHWwWo?Oi^A)rge$e zdQAOps%7MseMzllg<7slZlW$Z`SIS`NcabVecuW{)hgU?;(zO=q)u6#d6F=IHYS*{ zM0}>ndvr*&%XV&;CCymL{6V|PN!v|d|5dt}$Gxapxim6@Qnm(EP+*p*2ic&ph2k%^ zE%Ap63#pThKn8>uO5F{*Y#nFGxn{+n2eP%Z@syY8yA{^k#|rq0oqZ5;BR2nnRyyIJ z**b!uuLDK5$@x5dY4V5|1?kSVPLC_R5p#Ml8f|o_Y}4T;*xQ&9c83NbC1eRDUFA)h z&qa0528S&&VJ}DC!KDJnJ^u`1mjWKd``!n5YdzvsuUa7T*K44pa=$O=rV~U%6GVFw z8Ba(=!}ZJnkrf>ui<+^98QeQtq=r;z0&8HT0T+xK+(lf{uMG+X`W40``asAp=m0Uk zF@^VI%waLByBJ7G7`?6D59!oQYVQ4zPJ!ZH&|e)u2Ap2Xz~OS7>Y4;*cP3`dywgQ1 za+@W%Ji)J6%^T6cGZ=56W!QuT)`%T0TFiQ}-;_+m(q?ShCZcPqiJ(K9<`P9Yd_O!( zN*e3+i2$ayem7MloVkeGI46ry{P5omKO?)dMmcm+aUZ(jqi)qGQ#XKBBNyJ3> zPAV;8IKp8VCb@@jkrKmVEbcQ)W(SZ?sUn^ZRfl4iWzlSEQU2m{M&Fvr(1(=w=2$C7 zVD5bj3di#(%!$EMpfJKRJru^`ttbRg(6OhD!dsp*3U8PUg^ zy3d+Vt*rIeMpaD7R_D6uFP!Imu3SlrNs;wqD1PwCE?!vxT7 z0IHG=SVf~XoL#mjttwtyid0~&4K-?n4NN9LwjpIUWqXjW{M$JL?NvlD&*{y;O=UBn zIv|-4T*XjR)PGh!4{P%C&^PUQi2Y7)9%6By2ivd#9``JbY2XiNM*(i=Oh7rdED30$ z4mRnO4MLLODe%^r6KOzaj*@r9W)6XdI)T`m@Rp}{W%l6f2wO#&E~vA2M-OIihKXUt z_2Zjh`8Uiij4P_|V};@P8p18?BMv&tGZeBUGk4HlOhnmc8Lm%=fL6Cri^bp|=Y_b6 zPEfez6`h;drWQA2D>g@rEQEy+cA#E~;$xa0812M1NOeXN?4<21E3~7rgmZy=F=|_r zWrE5)BR}lWjd~J(ae=q{35_0TJ-5;W-;IDtrxt<@bH85D@{8s)FNqT&Kq`c%f}{LW z@6Zs!czXD;n!D0mjxS@of=x~XMuTaN!HQX%<>Q=AnG%b`M;)$qDlwNX{p_jh_a?8}!ry@n<>(S2%kxXzUOVg@ zUWeI(^e^nli9JXKPp9IWy_Xj48Rh6I#Wpe6+oD8MB;s;_jg5bX`a9%&Q`Ky1caw>C z?=TZDXYKi?VDqO{@DUpwSv+~W@pQ=yC&wv-w`VcTLO%KaiCct4Zd-kO^?Ll>75B1kZc_0+G z-?W)6hRsN#b7Viqd<}Hjj4@J{Qc2f9cVUZ*QcE-)tL?lvf4l}0Kg zac0M}2Y5*+XA->vvH(sI2rgIs8*IhG%U-q!s;kvu^0I$OB4dISoKnJJKzd7XuzeSra*

    7@MJ4N6+uVv%ox!`u1 z(DS4STwm5{xgu~d5P;wWve7N32n-n=X{zMtLTJx~M}RPus>_H^sM?yu&dHxJAhj^- z8y(&+tDc}@eZ%9|;)KL5bZ-#)w%&cN)_Q|a2Bx~hLp02U5eiytyD7)Xc2{t~Z*stG zH%NH-#|j0Umw%7EeCBiJ<+YJ^|NeW0^4k-xKebREYuM77rchqA)cFJ~X~stXn}u?O z&VsWi(Hy^1p}g+uT5%k+fuh(?>6X$$4~*}uG_6$A8{Q+`4ccf5DW#54rgQ;Wzb;4qSdgmv9>?dt<_H z#Q~+c-{RrHAhh;EVAV()0SfAV{>^HlZWIaM*^Q1Pl}d+ z<=(fZx6-&_bf%_*pg4J5l_}Ab8bMt+Sm90GQ4w98sj{NQj^Wu1?37Gdqr>fN77YwX z?XKSPrQWjLk;;hCY}*&|_wgK_Y=xJ3CA%M0LYRq_q~t0uX*Uz&9BnmQdjBjbC^B`H znoutHN-bB>7Wd>UyyT^N@iFE1>=CWI&vS6z!|Mq&3f|!tB0n zdFa#I=&tfg);w7un^*nDaeuX!G~`GyYb2m+{QYtr9r=ydzt-Q!%VYuGr>~lwLv9*w z{a&wB$Wid+X#`pJlF=}WCqLx#lLT7cmn>FJj>S3~N>YVvaWmG@HN)0r8p*H4BcTUV zS>H^)x-@;QCR}@&HyJkvEMi&NEp&m~R0F))w}vSMJzM8c0gk$$3W?>q;0kZg7A>c* zWzmw?TLOU)2WK=`8quuLa%RJB@96$1BiY*riWImp(oQgLmLHu_z3Ugiw%Ncp2Rzvk zP>Ep=OgPWZfV&opdnH+li<+^it28K3k4hjbjZQWbz>1j!>=m4ue0j`xaZPx!@b3}w zVlqJSES57sUpC9VQ)78FL!blM!a-E9!+7Zxh0@Am9z7_x$o5OdwbCmkEGFdvxY{fr zGsj}Q`w4$K9-{YFIP~Ug}sWyA~;XDt}bTwY-Qm@o<5Wo4YgL8w@7QEJ~LM@jL zFUMr0A_)TBL0FSXB@YJBjgCYrQTE3LiaF^`5Ife4b?hjFh)UhXEl=c=vB?=4BoV}n z6G$^3wQ2E4FVJbV-u#cs2M95(_sZ3Xcs<~Re2IA2Ha_L{(DgZsNPyD)~;}Fx%KE zy}yuUAXX7^b9Oao2>I=A@%QyH$Yuy^!)3y8hhUN3fjSGl1#=iWWfTs6r(*AgUJtue zrN6q%Ksz~TxfiuT4g@)fpn@+#ao2&#DNUL<;82yN%4`5Q!pT@oTI3)mmF|j{lyu>o z*F3Dj8Z@`Sh%wB_hyje{+HfRY;mt2mX3YE|ff*O#imvqHHsJpJDMHyLcuKax$s;2^ zt2K6d0l~po0m@nA^cFjPmPfs_M7BQcEKs4cjhE+lmZ=7GjYDVyit$N7P0tg_wO-r? zgyISy)agP*|A82r#5QqkXSN;NnYpn^rWS2cMvtMVmcaKHfUsl=Dp89+i~&RH-|uG< z2sC08gXdLAufy01q*^G*Rci~a?@M|$2UkweD));lB1x}%-D+F!MQyI&=uxdh zR@)@2=+?5TvL5(H7qRpVd6qVe9-&CwtQ@1j*l&D<Qk>BDRxfIphoU__5_-C<>Qww`UV)S*<0U`!E{s3Xe$BHytw~jX=H+Y@R&KIM zoR?0bh;Y!r3zN95(0o_RBuYgnVsR1?;|O}t)3d9Q1tzF9<=i2=<$=5bNhJptcYfo& z7xc8{Gje)beWcdrA0+j@3O>>BB3Fe;h80PD3cv?zz3`B}rWLQv=C&XZn@+;TF}hl% zXzYy+<(L;W$#v%*-$KN!EN9&40K_o|(UeCkxSRdgJrMSi{iTJyuxO&~APsGR>leBK zBP|a#eOigM@ubFuUgJNshFA*(43)7oQgUxJq9(vH$qV^kL%&96Fat$AqGA`bI9NEKo{>McAhZJize=Wcg zA1q4Di(D;5-N=B#39>GCD9y^y(IY{wqI<6{+2YiZzC%_61@if}8pKwoV>Otd+kHn) zGGbjFh*d>fCRJWrRqF16qT9o7z9=hYugl}Bu zATI6{D+En|EnZej+ip>bC4eX=`3iQb7XO!+n7bx~(E1L&wLGw6?h8o%WFa4+PPHG-b8Nqlnw(~U&-XU~Zb3?l7 zFZ6=8>JQ8tesqz*T7aH|F$&@-O?zjW^MGCjq?T+wQF*421B6iK*3{%u@`x$DPOfxk z59uQ3al-yuw#9zosEDn8n$Qq1EP-^qAyLk<$k}@m9N;n5r=AE{-(=HvIbWR&TehW+ z#+5$YhjjJniI?FRd>_OTj#hHBaO52dqI8;O7GQ3CIU+;ZVIfuoph>PcTuAsJqJ+U2 z>yu=_F!=D!X?dm62eN@S>bk8EeTu8ru46DY(mx^#B=((}<`}VbkPKnaw3(Qw1+8k} zJOze({o?Ugxmb7Rim<6WEH>Ie;d3N+;~+94t{f(n_`? z7_}7=CJzvS5>ZVcd`7;XTF-)>N$Xko?zHF(^@9$o>72X7osCDg&cjJpBYNJ#!=oy7 zh5#a^cUU3y+{iHTD9(67O#(WIIugLkk>N(k{Gu%xD91Kmm46wTFGJ)659?Dwk__TU zp?N3-Mvo+r7S?r>56)N@uHY%zEg(u4w~LQ?W!o+!8jS!5CT#om;+=6VaoKJs|J7}BK6x(}N+kIsK)51?*)BXx@?e!ibz z%Fd|7ISbiSRS_xd>EU?&oI?*g{D>ou8ai4pGQcec@dg7Ru8p9zI@$J5M^RH=vau~s zRgv=^0ft#GL&@%;HRNTahPxnOfs1M|+TDEoQa)}rz#35SR6NKi#AeL~e;Y{E8@wsA$;|2Yl^fy==?61#Q~p@}51*1NE(eE zW-nmapo=tndeXSe^w-eJ!+ndtH*6p^1XP@7 zXG`x&U3(^w-0GDK8*={KTm6(5Fl_Mn*c90Kv{y1vX>e+XjSXJfutA|VJO79IkXD^i zhwC=4WL?nw1!kTM@H1ZS5+yulk!FWG&R_5XhH5#`F*)IF^hyRQ?dI)J{Y5WrsFp(=H%uBm{3WksUC7>ptu(>) z9bV9IEdke)2YS=NWPN@WV96rY% zfBXresyHfBoLP z*S_xcZ+PSH|H1q>z4LxW&1I&KZFGN2GYk#${t*;0EDC8WFj8=gqnI zl#wO?AE8;;sNuLA5@zf*u2t5s3Pqy%sKGYk6&Gcye|1-6LNg(sYR4%yd=1&mmFVoQGTG=hQdVad%aeso$tvX=5sj zUE}cFt}^Hw(2C$*^#gUsi68a#(gAS63#|wb;(#{mrOGs)ybgYcQOf4?da8yBkjAEZ zYPS8LcWEg2Jwd@l>%iwlbcn};ms~NKQ?pw%iMyz?yaoU#ocAp=&$fzACU8!+Qb2$Ut|tu9{i{Za4MDDMoxqh{Qo zv5DFZ6{c6Q&n&jh9X7PheoES2=WW~d;jfgo0ZM+3zC@JFW$Q;*HsCCUxFe{kyn@eU zzChp|NDdi(tW}L^7-e40GNkiipsHgjju7+kXx zH~t5Y8J19^L*jZ)K!2lQyi6iF4Giy7zs)fjTQx=rr*cOH?bbKS9(8el9@S!3Dl^f|<23lkk zo7~L|mR=T<9tTM#gi6I#KotbH_D4m4~oeE z&w+XTXu!;dW)hCK**i0icNqI3Yv2aJb-a}e>rfdjT3R4r!1yES^zehe%YFIt?13(` z)I7)<)TMC;>gad*;}GP;vyG=4B6N47TL@S#VLBvVkm@lhaW4K~JhoxB@C)149bu37 z7(TDt5L*#jA;zIg*)nHh8|%ExUSPUR(;;;air%_Z+a#DPYv1MR4GsHo#yj>(-udRT?I<*60doX8XuA zrnj3hUKlXrH}Fg^mVo#(f+&%~d2c{m+}tIiDC8)7$|3!Z%05(^3p`eC=0d2i&Jo8S z#3N#voh;OWWgtrlLnlto!mAWDKk^REd_|QyCpxrl%s=+xMy4pPHY>fU3(hOJqnTY> zOiLtSCfTN$DR4GIc2+V&&v?5AhTijr+0@;!6^x&HaRURz6$}|Tf^yiwBtZDAbD9Yf zL^Ti?@JHcn0FE-@-aqFwGDr1({ax9AJbDoFe@YxF^!J*IZ(Kzxzx|SB5n7VIx(+9M~E9I1Lnee3f zrCu_3+Bv)B!aTkXOe!t&O4dC6QEdK92Z}%ECl$vF6*2$0?fU|MUz%UxLVs^Y1B!Lo ze?6$%m?GoIq|=MMlFhCw^8dzz`BUY*gnGPt1)nNZ2PrBI+6ddPT)UfooGPPHPg=l0fIwNAPEj6r!;5bfwai*BpmW8v?aeA z67nO*jG2YX4#vj{wym%N=b{gxBnke0};&;5{gMg z<-?uYZS|cDyR0!yy>6$f#J#iL}4C8JjXf zquU4N5b6xX%Pl}4Jgme)2r(3%&HmQF)0Cww@y4#qOSfr;u%%wkI;9jWYzm%NG7az! zIAM!gKe0VBzk8y7kV>l9Qvo*;vG{GT}NbwB9XU>k1M@3!vqTRV)qkOyqK} zWO57rSHxJ#Zm#f>dEeFMmHFmz^)}&-FkR`Dta|sc?dMtyd}pW&P*~Y$m(>HzxnBjr{-g z4;$(EHSDChSZCxRudTuxY7P(!GgE`>7V`i+ur{6xBtb$zkJ6#-tkv|{lEX_Z_oU@ zzyAk(-ucdV{^Pse^-pL0^Sj@3_BrRC*Q}mjT~u9M9jh*>F0C%Bj#n?JURb@Ty1crg zy0Ut4b)tGn_0sBP)m7EYt5;O7tgfzJRlT};P4(L9d#l$~-$%zu8wuj3M1puf%Z^$i zh3wWl5%O|e4Mx389BjX(9bipW#X>psI{Gvpp$7z?K8V7Mi={z~q0iUx>79Iv*jE}3 ze!Ckj2YgMv;=R_+MAaVhh}X5T@vLjH6z#^-YuFM@A>!4$iXifAZU#k)jqy|q9`}#5WdwT@pNc^elQgHkx(aV*z~QAVu$cw)|0rewNG)R+jT_yi4(RvP zU^h{1cRX~Jmo>2iWg*}3Y%D#8knv=@B5d$Z!k$&05#p+{c4RELf@|>YHcIoqVbFeop5Xk;)oChBd=Dl7)7BG zh+vEXya@9zad#rY(lV;#_)9i=Axnc~NRI>B$f0%Atng==eij@9ud^+Y&yB0&D z6L}7{=uR2i@hGvFCAzXM7y%%NWoIoO=QSJtdLYf9Iwz&j5^=ho>*G&9x-UtZ+4VVaAtOQn`Y*$wG=aXn=pS0T#{a0=F`4vQ-On~IQ-c%zukgcv02$o` zG~E`QUs1guNTj;oBod3nC=8fNu>$NICPgg(ZSj}QltFM^(vmv6buM_LW6p8G|HpB^ zQgvFsn%Z)S_J5$`?g6sD6UM}v*BKf^4{{X$J18qA)(ZGKzxwz3imqi|gKnk3!`wk8 zLGP*l?Oe~>E30|CC^Oc7m=*js-0bK#m&}XcWG4r3d3}e!{X0~yUw8-Ac>lZn?zj9a zEw$pu<62_!_x~oI=2}NQnjyXM;wrP~f5aaAuW0koUjei{emS>a)F!__a603~qdP9g zC5=|*CsyX~S>}IXnIDzP=wUbuCW?Dn;>GXtG2mGY4~-j{_FN9ikMnXda20q5Aw2A& z2aB^2-_n$8BJl}**gc1)+q-5b+h8a6K75ZA{sw7EpTZ=43gEid++;R|yRV8ntxw@^ zU_oeQP5sU+Ai?Olt*n=^#{UsDPHJUMUp}|NR@O#+bI$B>y^X!&G#WknKj6^~Tv;0{ zE9*v9^WWpQjkdCm)5_AfTQ!|i{g?BR|85#hLm;v}E?KTD_Qh5fzT3!^g}>}hSXu1& z48B1)2W|Vxnrd5(|1DP*jilb#MXmGjXX4`ab9+-x@O>I-44@&L+u+^>v2jb{^N@x$Wm--aD9dJf>AQh2;JCb#HraTKxPv z_HGNOA)Cp)sY5=KTS&XJTmPHy6Ds-Npk$k=|99XI#&iz;AWQV3eTflDs_-ta%4lDm zDu39HY5v!!M_pWbKxenk;b3fBD6lvy3hdxS*aCe$2Luog=A+m_uAkx}9qYe=-@gD7 zcot`*^*DI}M4CVq<9KcwD;K{^_utPae>I;lH0HLVCdF1w$%6gEG^DqfGm2FN6|<&E zy*WMZh57;-o-Bg(UH)d8{H3v zd?&xcDGy8w6dleEHq9;g1D4!of8t#Eb{cikcch;BTsSv8Yda3Ie^C{>h+s2I3y8$p;w?+ebwh9ZkW z$h`YJ2LS|6Eg{WkQFNT@cdH^wm;y#(y`WI{jtP-YQm0sq2 z{vdmdQ{rssGWCn8^!9ZvKD*q$0^GF^E`7+LPuNOaMysc?(jQ7g z`!ieVcDft7aPX+8R{H=x%lHfW%`|$(eIH|%IPQ2K(V~y z8Ka-pO4(tIzrU*-Bso57>mO^S?K9acAbMq~_eW48+AOSL{?E0-~B zrdT#dCXy>)&%;;c{L;hkK>C{wreUS?%$Nq`_Lm!-nT}SvrsN$>v(Sro3c=&Yj?PDr z-=;oKi$gU59e_~*$Z!+z#`+hRQNuotu2*gYx$3xU5ZiOrkxCA9TGk+#4v7N!i+x_( zKj%G?b_Pz!m{qicU%=1U?~22<F5O%bMSDPh=_~7r#D9YWWpC~$?>1#U&v4Ha~3yA1ch0;pZSN@T1?fkO9-KiqK zERdb_F)M>e;LC;)x2F5;=~s`gvb@U+9;A3G2%#5%Gr0DQiR8nL@x#gU-i$oDKP8c8 z0qPX=8HThaxxsrG!FCN|6;3dsXgtVo?7D#S$xu3pfE{e2Q;0{27)(uR<|W~ACZN|r z&>gFHCy%^U_6Yq+sE8OCz=Eu1sHpyxBfl0bp8_A6(6(cOASz;E zXK0$fm#1O*^g;5NRbd)2-Y;TFxol~eLlGe(*3GF_Cl8qZq!xS`8OK zKh=3G8dKtBvog3Yz-(ezvKe`VEWusJyh%wHx+V4R>!#)#M?o+nf;ZPO_ErGRwlpX^ z;*2U+_0+^bRx9xvb#}!5*ZP23;pMzr~b|I=%5TO)g^2q=so952{I? zMDm(JY%eXq6|bW1ja&`?#wc&r=8-hBI^p)c`f8lY8pS2sio6!Tu&3xP!-46a?}k?x zETHhp;5fd4dAj>JOz1)Q7B7$@%l%}oTb#FCAS_p01!ovMNX2uOi)Rp%+AU7P5074o z!utZRmDalRlH2zA+Y6U&MR)u| z3lIGkP1z@dVA!$a*L3BWfJ0=XbN4TQ=YmK6v3T}_@4xM~O+V76jnTPbRo|k$WHi0% zPuM1YGj*lfCf+66p!Few;Bdww+QP%7CuSIhjTxf6-|EjRF{=E4;Gs{bco-Xo=-^HT zM#x@EzQX3sG~VnV7wn^fXjyzy4hqGUj-hLw?31HVkK!hAA270EmuR?ZL_7VLsoI2V zCQNWbY_38T8&;P5b6%=q>Bg^y9L}Wo22Svdq|d^m$YmT= zcjjI0f02fP}ZH7#zZ8fbXf`e4cfYcEE2I_<*zn*J&raLp8@TWXb`0^4Gw*n0}3WWR@U zbAmn>_kJ=sP~wz$0VoUTTORw`J@1K&>G=Yi79rN>gCly8JHodd4WD zqB>J!r#n(3&J%*#y8QDYkUdmesl!1thy1Q7PH#??ezZmPW1}5fE4lAT4|(4piN?mr(V;Av1sNY7&*b%&xyzwQLq3(jEpJYnL6U5!z~xKSOD4p z?~DU0;%;eF(_wY6oU!4{H9h98X`Ua(8ME4gdQYu-U5ybX_!pmar_y&vJX~ z&_8k}Lixaf_4?ZQaB9O(6A*tZ9aw+2iAOCAKsmz$XyPtoC)*}Ss*Jlnp6WepTBz<7 ziC8Zc#L8k(Mhwa_=o7WFWfW1Mw15LS;7wbw3fZvZCY!51&fUi1&nrxmiF1O8~6suDTv1`vCCWwOV|#u*YrjxiBH1JV~@95Bp)SwEBjNm3!y~4$f1#|h=UfARnIyZ=>KkRZhA_u{8FMI@8g7b%hFW8e zSiqUX9g~=pNic!DNE4VBJ3iOBsC9f9^KPVraxm|e#_>i zlU`vh+mX6)++ji8SXwbepKh6B9&27Rr}X>GdMRMH?vo37k7n&<$nH4f7-KC-|Chof zxI}L3%oaSIe;m^sE#a^dFuM6f=bx{)an@a4MUGoH9eUc`zL@Z z2DlqP;+&8stvwYEB4l$lu%w%ip_ ziFcamfESgA0s1B>%TNK#zaiZiv~9_-JES^=#-={i++Qr$KRYT}Oh<-6d})IyD}uMB zHnPOi(k$Td!aNT+&rq19td-m3kK3rV;W_lunx+;=b0V9lH`QohXTvbV&~xfQpQgu2 z6F8yUAPQIsTTWS~OINP>`|nKkxJNc>sj3T|WnJ6xM;x8)_HR$czh&k%bjzmUy(2xC zlu$j`IJ`e@dYr?X5HtJ*wIwK{)+c;D9~c&^>=1v1#t8*yaL6tExS#z=s`zWx;U`yE zL3_|(&@Dx!%R>i@`YaPTvWD%oAw@(gxlnR*mh3HK4BQXmWgRNC(kILK~jpd;Hxvv!uN30 z8Hq7fJ7n!`D#>4w{WI*QbVJGy2zD}3cA?{CiRwF8p%eWwlfX;z7pMUn3ErYB$jBe0 zQo217-;dB91m(D#s9x%nFF%uLpJQ)Kb*Xn_d+J8@UP&wh*pe6{pAcXArqwBp);fCt zY^7Z+52$}3k=9vulv=3q<^$~3h}I|Oa!ZvbOWoR1qRti?X~wF00@HCP59)X~wc*#5 zPt$(xr`xmY43-5l(xN_z5e`u%@6YrK29sl8sMvQy{es_E!k4wlljsLUxF%`ay9V)T zS02sLxk-ZpwrB%+k%&T!5t|j5y(!uvzvo9LF~XIg0iC6_{s)Z?U?qRGnH&LOG=+Gn zxY_-{n>I;r3-^z}gE^dtU(1MytViwsy~$s>HQQEq4q^%C9F`#Ru4z}@-So6150@`C z^Ij(p3Ns|3HkR^~y9-XD&V%@PJ|~V z?%}x$rexF+-k5s-UDFY8v0Yg+_Lbz4oK#xiS02Si&omj-B4M9^jFjC~v9y$=C9$eO zd2~--5ZWLYisGb+PcKI!JHJ7(c~k1NPbe;|$U7Ys8%-@d$m%GMu0gCnu0-<-PPGe1`DhT7xR8!%C;?JcDC;qVVtuVof)#bJd_DWB9c=QqqAFEf(LTr+%Z?=?5jPXRqNS^}p41AKeJe-&!8iK&)k%j|P_fvm39W|B? zOyR7OpLx;&Is~Nb%+q+d0|N4A>b%`olD$Es4z3X{p`=Is*A zHREgoeDjy$z@!iMWYjpz!Fto!%|?pB(k_j*HzpT2PpEQB8g;Ru&>OcT*tY|0BmA8K z4%(Oo6}Gs}3va2-sadtn9B^mT(}4qQUU}`4CLdl-$%ymN zxI!c9lNP!OZqw6~-t+cU`7IWSnwjoD7o|h0kh0Xz3%@fJb|j(io{Uglj7lubkZ*7A zPQ`pFSmF@wL0AH%-h!&wW>Rn8n@awTZ7pmegt0Us@Q`xMGnz`N+_L-Xlkomjm-m9% z@7V{sgycDfzZaXO=@~snX}dVXIa=Npc*`Ta%J3ZJlKjIB)kCnMvJrW&&2c0{N_k1R zRbd;nZ9)9BSe5Xl9c3P53Wf?mG3@oc^>~4d40%t&^=0PcQYqM>qEbEc7uqC!o3eP7 z$$noN%Yzo@v5mQm&90%qznBU+bXxuc9jJN%xL}wCdS(e%0APVTUQq7gljZ9v%(#)Z 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

  • ?4U)5JI=a+%0yn8Bp` z`Dg$5894x-0}o_?=^=+4@>GPF;xikcr#=0!!=Ld?O?YyYe2zZm7^FRU4&qIpKY`B+ zhMii}>FZwqhDijSYRqW}I<=_N6HYkc10O)>>4JX-wOD-V zXwez8CGaB4pz?oEy0JbugAT83Do0j91Dn+SAubrk@-y3T6`dt*De&fX>#GgK;!%D z(?6l}vrAjbmcH#Mc|^@N+bp+|!y0lfev^;=h*>4%k9xPvHG~Ajt>_!9|1NC~C~b`a z`>5A8dS+-JF_#qlM2CWg4pU+s?B-t(U&AI~5(>32&WDM+R}=f*bvPj?#w<2O;!a;Byp;ki6-xJbPmBS)3JW0$ zG&oJ*HbqQ(8+rDVHdRfYrLAmhQxt$P2?Ly2v=HT)u&n>!uoxIv$u@y^ifex|+gOH4 zVl6NuS)R~;S!m&vSo0u_=I(I%^UKoRK}&tvW0%$YPQj!8Y;YNRW zGweNfydgb-QN=F!m&kCP(P7Ed#>2=uJUUEK6xDf<(PX$pVIS8fQv*uB$p1ymf0>h+a+V;!Z>!_0}j#NVMd(PeSUh`UeZ9nHt{KrJZJ)zPEr-R{=o7D;+LQo{^7!;)g z@<$}xi#@32gX`ZGB{SuNjF%L51o@zx+}zC_`b{EB!d>O%Z}6q?_Gop)<3aH}Xd{(q zsV&~0Ssob|=~xIH=6E%3&P;_8Mss!lZcHIMeu2`YnDEaz)xOQ!Hm1RtN~FcVz~~An zQlS*uD{b>i#x&+oiPPGh&I8XHq2x8US8BeV-TmEXmM7g|j3v2aN2SuQTXz<4=k4$G zqQ<0dVEcd3GiKy=uVmACowaX)&EEbUUewxuE!%(ci|P24n0uu=y^^(GSo?dk5{FvvBu0#2%?snPZ`{OvXPNfH0VwGG3Z=qky@1sVTAC^hXz*~P1+3kn#< zFCEv6hZ?T!6262n0DSUlM?Q0O7AWFW;niChaKei_`n z*URrzxVf60{7p~1*yEL~lUGS6G0@fFZm$+G^WP0F8FMRA znt%zmLqKmY4S0Cpv6MtSBXisp=3{(!A>N(Q8Wuf9UR)rRB(z)t%SYO>;49FS8Uty=n}B}-imX$B z<*YSHmo?3P{5vv1v-yxH*PmrijHMk?FZk#9Jb`Dl5k~VA-!X3XH1j3M3mVwf5k4f2 z@WJ-GSdQU51g2dnbylg|A@*5cQ%lq&mtZrl6ck$^q6p5Ppv`>A>zIj_#`)7Z^V3^r zaOQBfo{?%047@pg@=Tfec#D5WCeCV&x0cAv|CpntjeJS#EUJ@V<1?d5&_SDS0!vs=(~Nu%zU%90dq7h(%pb6U z@UMapO;z**4^Y5|>X{<(rpFRXts>PSlbfuKl3|zt(r<&uHWBAWyc2WjX zhgc0kH{@i84GzKw&7=&;0MtTf?#F+67b2rO7=Iyxb4%)!BH*)lq+2_&OB0*ffY9ft z`9iPe_kNnZ47`+>+d@V)dWSb=9(#tRlpAw#AO?hq7HuK{_(c@O!K^$u4D>sA)_Upx zfv1p#1XBmK{=kFKy~#9=Av=B8=CRk9ER#so(%R3#1i3{LPlF6;rfqD19RxiW8$vvV zN+&jf;_^3OoA~y$F}Z34zfrX&zlEMH#G6OxB~-&slDF{8IE~oGWr7t9%OHZHnh+93 zArcKSDhVhF6K9U7;2*0E7OCUMz7`MqT9hsn4eRG??{(hkbt(Z*_YVSPPf%%fX64Pn}oVWUTEx=hr4X`yS%CbFmF{&F?d2>WAfoIA|5jEtlK;z(D0-RaC zIQHmu#=cp@k}kGSQH`GTWv9>F0F9o`-T-|^r4FJY`jpN;L^{71aDt|vDS!#EM1-_L zWmlN|K?ajNF3~>d_tVd%K$!r=93bXw*>-H(oQp@?#T)IB`fgxkpvn9xkoFcIS2kAL z9aKS<+SrNX*_!6{1VxmfW%+Eb~70m_U?@ ztX(~h&8vytkafFu(Z%9SGlqMc4|JPu2~Fn_ErIxvFA9nZJrB6cK}LKPb3S^wR(q%) z=Px%;MU%Uk=k$zU(xneHx}0bv6rO%@IdLLK4tVb^Z@tyPpy>EMmjU=)NdK`6&3I0r zebmt`4_jZ~i8Ty7SOfl>42(8(DaY`0v;3?9qKuRL3mbj~07{M_z;=o&2%ud8wW z26b)-2a-UT7jLjfvIeNx_{vhEY1?-y+vEy#R?4*-H1>$<@Sn3JzoWsnDxIi>A$W|0T1r%{kD@ZxX88BGvN&cp#Bo50<2WR+ zNG%%#Fp8f;HKqhLY|!&hNpQW6 zQ4&@_Ie_*{=mo+BS@@heFMGz&MUhcdN;ms!{SE18qqqc@gLo5^B(XgeC*eY6449v0 zQfmT}goV$RWr!eB^p+vwC6+;exXpVq0fIYbDhK|mAfeD+a{;aLkB3jmK0SZ3`xGmj z+&+n1pak=m-=};Gr)Zz*WWC!uv9r=vi2!k;TlL@=P-^s-Wc5_%(tkk5tB8yyKT9|; zgMkrk9&fpqWWO;U_@ys<*~?q4iOKF*`;!bBR-mYb4-*@4Ng%L>ks?k=iUeeI~@tV_13} z15G!utO}~ORLO+&4HhSPuJCuLO~U$81WV9ZfYIk_>()+O0|RiHWT{?~cS{tp&>?j- z%|If6B+^89+Re1IEo{7rSQ|Xgli~GVbPPGcj47+7>P$_Rgl+YDS^%IPv%$Y^K`>Zb{X zHe7U-A1S`4vJMbwAU=iRLKwkO08RrT@ErLN?s1UmPD2Jjdt|rKA{in@$ls$b%Ds>-rFURb$egVtC8Ew?(?A=bE6G<7&o!gG#iYh2(wm00R;d?Ps6+_!pG!D@$<$! zq^RKn@#4yL5O_0Ebly4-A#0TP;I?pOCr$kLidPI%#D+oc+CbJXo55H=+N_7LP=k0o zj5KSS<`;}4G1S`vIBR~lk3Nm1j(CAVhJeOsA$)J8ju>U)N}~?ikSLXB?10-+!lY8Xvop#~t+ z3~s=B4a-7N?xCQAKzRf{^^3;J(@oLN$ibWaBu@A-A9-rB=($LbSL(RT^TR<9=z*>T z8l?8zhJK)7$tND}9->CvMF={ckyC2v!S2ir$<^)oPOM?Xhc&2fuWVcb12qVZp2i`a z!&U&pn<6Nyu(T=@s&1_`XWBaiBE{8Jz|w=bG+8@=s0G;wG^aSdDjnTc*O*C1G@s%G zgqalfakn9~f|LQPEXyIqV-wkEEas$)1=u5OE}{`p3zGddi7ON{7!IZxNL)o`wOMTq zww!T9fVtC0e|u^lKNm$+}4Ecn&kB78C)zu7e;3*L9#GPqtpJw*yu;=O+5N?YnGaVRLQSBGLw5#DaAE3JAu;!l`*o!0c46Rors+}Krffbei-a|B|EXZx5Yo&~rik_GKP z$FN{6t3$8*eY%ETw9p1chRbR<`eMPR4Nb}9L%dmyk^`mzO?nvo7CZxF5bRbQJ6sZK z(%qf%lPEzxWj=YzO`=JIBqgW!s7a%Qc!4M+kvOFe`F_#pMUxIQ$LiFbOyA>^uQ+Ow zdx7QVKf;I@K5-tiG4>ZU0d{9Q&Dq}nfSs3+D}g7eZ^!I@;UZt=PmkHtkzE8^(uGlN zc!2Q+?Z&trBsmvFgW(VGQ9M(P$luV3l{6BORx-G=g{hBVK}E21jM(huzpS@u(+&lA z$c>6yyrAK-9*3n}FW#L*seyq6sE_*!Fhm;ej4)U2k2@+&(%eL=ArSEff+wrag;xh| zpjfN2ij~@X1L!{-@8Vh_ffCbH#1-OAz#-sGlxkrii`H-A&F&xNNu%!Yq1g>1dXCq8 zqJlY7<|!r?31brT9EZe0tWsHE z)~=I450I|+-oTZa!#W{{wk;gn-0wZ38cz{`VN!WPOdTGPeOR8UFA{5MR+F*ZSRTt- z5(FK~jof1!3j0I1u>C?7m61w8-w=^nYzrkai{G(#VAOE~@{I|^jiyUQYlqN#eJkFp zG6IQMfD)5qsK%Mc5xH>m$Gtaj*g{FDOqkb^@H(P%SX1m>!63tIVEF(Z^Z|UKvAls( zE+lm9q&WB)9x7!6T1kU^5Eo?qpW$eO{}QGwbs&0IBQmDq;5~bSL{O2;R{tK5a&E@bp} zn){>z5x!OBoB2+xVKk8uc_>#vTqcYWEQFKiFty+{l}vL~0zK+W9~9%n=>XeH0c#+7 zJZVgS-Yev>NhcyrCYOx0<;2j%6zTEqPy;V79&1x6yoeRmiajNdeAaXG^o2|jh#k## z_=x^q?}EE@PqMkYw~YVz1L1_taG7rl6a!Y)i3vSjr%l z5FOxE0Xpm}PQ!OZQI$~R0dMh;BI)_Eq9FU`xsbf&D-?5=W>VyCuWeJIiH$}y&IZ!1 z-Vhti4$9ext9!7 zY!;g2;8Hv@PBGcMN4y8yyqD?biK{S*zmIycy-G@7qQ%Y&dz{PUk9iGS7+y~s_ZVmN z^#n-G37scus)juVk038-RrWZ#{Ok7kW8R|ev1TpvJ(gU{NLR+aYh`=$=3gmy`ZhXDuXA7W6yC2(7h@f z@byabXO=cVDnizYJ0P1sl@0RSl~y!7YN~kVgjoIey}q(~Rk&zi4eqAeEj|_d_aD7) z+dnuy0X&W#Kjz|z@Z!7vS6<8Zk4jn%{ygsmZU5A4b#nM~oI`+;SJ}V+x6=GjY5$}m zw87r{_xF`nAf{q6C%S(>_xiej>H%D2|J020x2HjtI#t(2HfPg+kese;;DbmK(JDi@ zU`Q@=Hg1o6(K-0MIA&0QLkXD^FnKIkUGVMJOxC#&MT2h170ZJ~)^}nJ+kVyvVmP@r zbUiak(+zcjLXoO5_A_)3s&I@K1+l6K6dNmDh(JNQCdpvf8}A00M)T*RdGJe>ki#gH zQ8PvYYS0Y)A{^5j#cR_VytZ*U3^vqy7#>MM0B$2u952JOdChdV@WiN|G@QBZ>ib|o%CLVowl}&)6$9Nu%7oyl{@j_5pMK#41Uvn5h)O4E$WjJ@`An2G@rX2piFhF?*+z&sI{U;tbGhiqt*)TbQ*tDhEIdRHSQ)1 zsLLSk@j>iSp^FwDk#q?mXcdiP?9o3(x0uMjYqIIw=PkWkTMD+8E{do*_M`mwpf{k@ zEhZ;})*<~4>PWa|@x))Q@SckN?%Kz^mTBYS ze_3pRAM$DyYvy-ouRQsy*;59??_e?)H}I)48RY7bJ0FvT$mc;1=*C)hWUNJ!As_a5 z#oQsbz7uO0Yf?@SCNS@f>8bTk%?%3 z)b&htpDJJhLrkC$MczQrFZ_dQxlu122x0~Na$L}C&_9~lgrLH&AecqvT{IKI6l|KL z=9%?RsH_s)Io36c+Z2a`RQ^h%=187Ek;NCB@B|$^egydyu0{j9*>b}uWmt$pNCpc| zr%Be7CosHE=?_K;4k}X!G_cGQR5Q0z195m@4YUiE)>KF;h9x$QN%SCATI_?M{Qetk zS$W~2C>Q*N`>PY?cO}Y^+&czWC~(DQc83F(kzcjJ5)Lx@dY2b9`g*2N>QyI5Uhnn# zN?v(JLq-_LEA5a%!_fJOk=F;kO(U<2aqMd!uC*SPc$AV!C#UcBri`2_jZ67jUgsgN zV`N8Z+#`RxBB60-XA8NK_C}4QIUjl0>r@EbKQ8;F95OkfJGIXsn+Issi~$Jn zzs8RwKhykYus_ow8$U`>nfwev;4kFu?=)-1&oVV|!omp?XUK*&F)=You^#!*E}X*U zx))!94~&|ZT`nIcK)ZtJ&;0YMS6z+I%*@QIUwzGMu9Xi`qIp8J?o|BFjEXa%LwdO5 z#-i~%praq|15Cf3FiDth@aELV`Rdp8)m)}vZ|KB!jn@CVRGmvrrZW(KD$>9fuc;=} z8&EMZnQ90I$@=TiwV6yw1YawUVlsW2+Gin3WSvEGyLVxOLt2ItvuNH?Q#Dw-jGLIX zYbHUQaK5C@+O^ADG zoTy>)(VD7Zt4#f=ZdFgi3=YqshWmDaDW zY}Kpst-6xiGQ@58HV1yCY|99J5VC8plxMX@e})CF;LM!UJmYH>+SljWP}M_AoJTTGZM7&$8zr&juUd8xFeX)`y&z_pF@ zblChqB){=Q3KjwVuL;N!9^GnQ+cuEK^VUSGkh z4NV0Ozk(xM22+^D$Rg{&U@`oLXa!qlRcry^!iu6j;%DBJVG#XQDF$^YN{9)`2k>*RWn{yY zu^h$Lzb%(Fei4t)EgV9f%V%??`LfGLDyBXk%xz@@J0nWuhuCa1_2i3uo45Tv&CYZ7 zSX-*lWD~#xwML9m=1K3idjp1uaORMx?iS2Zvr}H_j@nAaZn{2@&;lgI8Kgq+Ql6icvkU#uXv9_(^+!s2Fn7MN}W9DWxu4Ij4uLlMIMUrE^oph zjw)UXaqs26NKA}F+(TZ=AkLJy9OCwRL0ff=RXI7S3x@?Inx*0+*;i>^NO;U-D;1$< zM7hiMAcw9GdOHSP;`7;8X#6VZm3kxVPuUi?e=rRVj}zzI?gQ>PH3Bjk;~7mhQMlu^>N$TYWmcQ(z|$xicjZ^EYe zatt*kC!D5uW_+4=c_o`BZfjsUnpC@;!fT0LEmNlN_m+&@ARuBO)ug9LtaH2iZm*`A zG}&TBlV;cnlTA^Rrq_(IoeUlo9d0EaU|eMD*oPD<6cRMTKq16uzQ;SZ<O`K|IHgihyyjK0IJ(bwJ^QvUN?L58~Py^5hOtFWNjg@IT=+ub5;<@meV>wdW* z!WL{FsEZQ>w6D;;{c1uilO@7`VXt6)Fmz2*vR3Tnw|V1caK73G2IT_&VQOLcZxH_t z$-P;U)^TrL690b2YC~@1tZ-z2Ng0Rr<~;g!@CJT!IXob_-Dp(63-MiiEf^IjvF^PA zXWjaPLuGO}Tgf|pz_yZC;247N!4YPZXwuswX}(u-QOGi(GVvVSI{X2fq%#IC-dX&C zPo{&PQVP1Ob_*WxPL+f*RJ1}uc^Tj3g7!*6C-8h3pSexf;o(w_h{4pdO3}3=Ouxf? zqx8pILb@S@kX4}V+cu`j2#b^wBBgSP5x%XH`hHjfrT(Y<##Wb&vi(h=_dJpJwso$TRu(b3O_K zX>Dtk^b7zUf!lOqMEC$M5KM&K{sOnbj>B;%@)PVmewRVd==TASU;^1;Xfp$aaEwMyh`?RVL(_V0|H~Y-_!~(X znN6HbX)XSMY_7o{kj;hc##ETBf~9PMH=w|pB$D}B-K90^zD8DF32oXTC*TKllVs-f zA~D)pNFNTE4cZA0xk{kwu*A4P>tsjbu^$HFV1OkW_*Gx5cPN<>l@~m^_7ujUo-rJM z;*F&$ZplBb`4}Db{?zMK{F|R;&XC@z*&y1CH$*|@#Y&bi5a85B-`t(aBc$!^X-jm% z=mB9dbEa=%nE`oIUG+^$6tY~IzBwfpr5H5UQs_>sf3_mN3L86dWTtabyoGL;G4)Me z&X~HDQ`T&dC_4`vGC5Z{Nv?|C>P;C<8A6vSC!y{oK{!6nZC=R;C4^#@!`W#pWEEyC z1hm<6Be98RHSE*Z2ahq#4ZRMkzbD&8?o+!JcQFrMUf+ooY|+BT@|=_G_>@SOMz@yw zGWyIHyb%*FkuM25G{Odm{^P8L7fUk?yR}kLw@fPHyf0-QiZeXn8IGS5u(LPPoD8BHxV^w^MBaRH#QJ1MbAI)Du%idFq8TQ4>K|43myG* z@x#e)UjAh-(PK*!jM3$3C7x7@`UWQ51*`XF@BlYmDF^68vps4p>26L^D)++QN|nC4b0)#y*9YJyPM z)F@f(^k!A4rn|5rRMRdYLbTZ>n9_rCbhJyD!)+Zsw0P_Zt%#dj#7dQ(qrrxXU><;dL`RETyM;B84Q&qheRuvxNq~O49$7cFXbORf1DZBcX%a3bD;w=;|%(5_o5c3i-hx< zSsvTQWyvbs=@pFT@njq|O(5b#<%mN%H@!2=>B25=%I2nY!7UUVi0YP6u({tW+1w(v;iARTR z%o;7iEcvMP9!;;ncv5EfUTb?#d;AY38tq1_0ewd-)C1A0Kb>vP`+PhWIv|dR?&*?t zodaTZs?#<$XHU&Pki<0&{Xj7g{Z8_}s474`Ao!4j1G$CI#Kgp;#PzBkAejmzR{{JF zxX?JbAP~X(Yu8;@6TI7QRb3MMGm1I~XlU+8*@njwT!JPQv&6J z0`91>xfAP~=iv2LKT<5#huw&6;+;}1Y6n7#<(*M5P%0SIXo%A6&G0si;J;D1-2Mh> zc2^(m6=FqF^DNtq)>+;GHOx0_M2l=eEV&Zn9|0!-P45?q%)?HM6&3|$HU13C8Nt8~ zc7Z7fPAtJsND#BO{pkj36sUlsc^1aQLv#ozW>3OmX2pN;XDryZ*Oha4a)4uv9vmDH zrHfjx1oCn*I+;anE!SCt%{r+?ts}`YaV`*jOBtbkYYbIsTEq_-<|fuf8FIFTJADi7 zz}$5@TUkU*krq%0mRB~f#9lDnoqDa-s!T)(L7#Rbp07lFK#nO^M|~Wt-mPw0XTI19Y7EhI|4H!HAV!u4w~@niMWRZ6`9ilnmOEc zLxMoOHu_>di)}jH4$56(qSic>(Q`%Are6U~^P!r+Hi@e3-L?+((9P|BVjop4HFOsmt;cH(_Y$mAsli`R9xiV)9*oQhcBg(9rAi=!dfN> zg`L;DK6*$+@@S~FK^?G{cp9;+e2dSN z{ex*mu9?ep{%=&;h0f3M5t_aG=PJdZ^Rw7!WtHlTD@VP07g?UR#Sv|i#%%BT`(D+o z4G6TWnYe$164Mh9 z95=kch}$TZj+x-Nfoq3tVn8j~L?JSc4G#X>yqC|aen`9#!-U1=(L!J@H&F*`tz>l; zINgGu4nRjdnG~MblF0@?sR2(bhsSQ{8l5%@tV)b%)Y49+exKAxKr5 zP*k{c!H+(S_otJLs#iuJ0EREhO)VT05lTP9?mca4Lg{cXtuck zxZSbKp6vFH&5EKKfDk+(Z7Ol<>Ht1E0=OGFB|(r1k+dOL6eG>5dTSJo2y$E)jzmng z3;8~nK_o+yac(@ik5_X-YvraedJVHE<@rvmZ>(LsDyYF~t3^t0p_=7)krFVyUR?&Vf;_8@<0b05T90+Rz&RGL=-4Y5Wb-~vpbNO zFic_0yB%_xhGr6o%8d}nIkLSu`ogzBvSSuMXXv`6vs%7bq zNRa>&mRZK+`!0D9^jB3NK-n584BhX0WU`lr74@p~_DUTQVoJ9mi-Radc z8NFiMae6I-keD@*UWviRDZ_jx);G!^CK{S<2=9VzjGuiaz!)!JD!@-Y=~ZmcF!_}| z>6ILTCdJ9j6NR4IiHbUikvDBQuGjIFjJhTF+&^Vlw3`%&Uz&_ z)%Y^Zy%%G6%(vc{iE`;)bv{(7Bfij{%;bqm9c8T=W?IkaK2oVe$y`JSFvR*gAFb3; z=BNqs>+5{HQb(C1M3k=mJXxs|nd6$I8i?Vlj5&U)Qq!3ujBBNd~5!EA5HP1Y$)qHv9^U_G@$`E#@c;jzt?>rk!Qs(#rn>(VHoQ* z+JqyH>NCI=3u#wW#4ot3LY3VwbdNg4{D+ifQ^B^_(cM$#4`gFJgVo`MrD`%HsJzBX`jk`=detr>H=03U!r5sCW5qab(`9>Yr;BDcmPS) z8?9?xm~mM11*-0Lf?eujCRc;VPNd7-7<;<=Qa5L@*kfF52?s@FZ+DimsHK4VWrXADg|0SBalKx5H2s z6LXiGB?$Fvtua!9!xN$l`&5;f>Jr~h<4oOErU7fiUo7a$8~CWj5>hAamAKr9S+(>` z-x!S$T`>E(Y>|07qPy2$cDJO$EH!vd+5 zhK@d6u`k`7H$;dOn9zoZ_f%>@dCPF)EAoIhagB_HMptQqLIZScNtDW^A%R+2-Ek`s z0H>ye!o*hEOnaU22P`ZhBv?!ZhS6o)k7nC0w$gB`6=ds}Pm&}L%&j>3bKnhrfP651 zGrz53B9*>2&ms@YhM}_-a>87#t4;%wnV3vNomH6!!j8C{xkhYf))3EJ@pF!c(x0wb zG;J(&;>bUs$gXP*LYb~Lzhk^|i4(tTp`#viXjhg6r=#3g76QNY%I1}gtGi~K*WI{x z{FIro0xnnoVn_cacNBZ-A4$L<)>p})2SnFvlW-*nKDf?|5j6TS6WFrw!EGRVkt$;9 z8Bvdr`tDHjgA7Wb^91(D#YLc#fovKrr|&zRV^W#rc+^PtLN-%tX8XFn6Z<-#7i(N1 z=;lba$x9gb=fJ~d#Wf2z6+@e$Ng~fD z{`Id~M(d5FPKI5mYbUqWcM=x`_E11yWo+BKR|72!Kuh)|QU`6r)ciR5IS@vABH?3y ztAv}xvE_HZ-BsxX+9Fexj!#IkBOtVBr{YtQGKkhbpIbKZza+v&A=;fusSSQap+X94% zCzGX;3S+QN7O^*_$s(iG0>L3n_9_%s*SSrWsVJzi%4BsBq0w=&BV8w(qtt=QWN|K* zKsi1+z?}|YB|9yrB2`P(%!T5;hho}la;JI6mQHryW}PgwTbgq9$h>*k`36WBCOgET zB9}ZT3!!z$cJ?VQBkjc~s9Q@DmKcm%V!g0tB5;5k0JrG~>VeyzsmvBf0Ccwfob3R( z-J*?rzP=IjDn+Ok5n)PMn6NDcHyXG!nBH7JdJT#R68j3dgjl&2VjCy>R#3bckuOwx zz+VGPBXi9yuV3=9*$uj?U~4%MUkHsEp+4-jzL};QPimPdz)ANXc^&IXRqRCluj%Pe zyq5K(N_MZFj(8pGNtNv0J$=J#Sx>5FCq31S?^|BWj2fQjuJDSEcBU#--7UIaewF>*<*B z$bhIli6KRQ7@=qtfsmk;1IdCn`$3h`Ak`Q9(Lbn#=w-s#7|>}>PaMjDcs#CU1kI?< zcN_LLZ{PfnF%3+&DtA_@P)o#>mCaBlHA+9Rw)dscda`swH$^X zT%0@sYL+ThqT&$_?Lyt4RRI{#g(y9r0S=Zkm=gq4vh`ozi4|-wSpgsgv@#&$S9q*J zaroXBHxeKow}7yIbMXg|RD}ZuyW|FM{V^p&OU8-=ph9eFs=!6x1Dha)Fc;XHm+27~ zcCF$&Sv?I2As&mn&UersvPmp>H#P~v3+RK6SKP!PHjozVP4az2=v9q*OvTbZ?(rF&>H&>d#dbrpx5%l0-F-^AI(^0N;hQFfd@b}5 z68Z@V{RRmPg|W~G+|~qJ(g3zek8TqX!S3c-R0S;fbPVKgK-4lEuWJ@ZmfyskUJx)t z>;0Xg|1CGe4~dWfZg+)U?(D=NYdkDZ>B&a&N(7i$*c`1W7NE11qW-`h^v^4TB-)hS zg{fgIjF_OfnnCK_-jS^h3A+wC!7LekhD*D=>bDe^cp_Ffpar8b{K0a%q+_wM%aByK zSWBC>4t6c9b#Ge{u)CD;#RnmsNHaD@+7p7kwuSFFX|huxeqS*`YLG$y{XX{RbnF~R z(6c#`D2ZcxgQg4VThG?uQVxu8P>e|2JGj`{{f+no615fHzmw$gGHymD||EsK5`l4-9CPW4_fPT_^{iLSF2Zi4K%D~h|UMJ49S^z9w6YU zyTJ@D_IL*d7qqqOP#1xVhrO!71?8#~E_eg0Spsj=UAHk}#BGj<#yNx;fVS?6FpLKR zyu4r8_!!buV?20TT^`Pj_DCLpU)2ky2B#E2R6dmrC$Q`Yz;Y3)A?J08R6gPp`lbSl z8V}6?Au5@vX976%n}AbLA;q+J^|47C)own7aqQ)T3ChQ7?j=#1VplH}i0bJLd}s-T zEC+Im{<<*X;~C8)>j*Jzq(8|@nbkEctF2>jE)vnOUTbBE)QF9`>uh>ZSlLv>TC5PC z?O=^dJsUc4Ku_q3s{ce+ky?h(MRl<;ri#p|NdnCkwe?jR%^p+<7O|U=PPLc3=wg13 zTeE@Keo7$Xd?-S_Ng*`6_*Yx_vxb6nT3 zN48~Qk8I0Au#{{WH=$VamSQZIh}L&vKac8GFn>g(e#Z0W_zHwoz#8xZs0Fc$^pdCu z5T7Nj@?GBKO`Cm|vjrMwv}VD}8LhE$=nlCVsV)fKHzo(547hC;x3j}K3z{spSvD-_ zBw>3DiyH@tpcn|JM509SbdMcjnZuO8@u?&Lrq>BfvlX>p(c&k=HJjf67O!l(w@);F)xfSq1Em?Fk8AIt6yRgLG*{k`GoXyCuX(dK?*tFQkWf!5*`z3AY_Ht(OWAV z`2a(Yh(@vwU^y^l5fzod+5u1I4{J006!HXYnJ|JN3BSfe4>En&AQ+Pc^zhn79%E74 zB`j-*`awJkl`%2rF?dEpGWD)(S|e#;qnrd|EX%cq%#t^(`a7a!kf{>wU?E23I!Y*q zu(L8`YPdCuZ5ZK9mWWZW{ZceY3x<(UOeWBFp`v)6HL@dwR7orlq{i%JjR&itSaV0C zJ$Td?KkO5X0vx*=Ou3WTXvw1ZkvdjznoHd73(blw#!1feGi);n?^|9mI*@Nu;+>d6AE z37LZNi5Z{?T8;vMtY*@av8GDv8@%<8>ME+ts4OR%9hnP61V^I@VPi-TiiXf{%(;dD zU}BI(B1l{wi>oxzZnS59HYW3@Z~+_Of-EN&gm)O1<|H1DvlB ztt@8(o4uad&S|W7nkEVwAA?q6=n%ldBsFDgPGYurvxXcRCDY<)AO)I65uC%cp~IUZ zBgD@+Io;;1nWbDv#q+gjgX%PWqM6y^=hxFFB6OD25+Wgg#aXI;Owsfhvo&Rqe5ZH$ zYhr6s(t+6<>F`PXqN`Pkr->+Zw|D%pl&pXaBt&bPqF-&uO2qW@Ad~ghM2>JNbjRoToao}HpG&~P3poITYZt$V8o$d9O45$#EO*pb;h>^ z`6x)4%~_R-8k979+C6q;Fvf}XfHB;t94Z)$sX{dkw;thybWir6y#6`C-r&uAT*(eO zHx*KAg9p(RwjxVN_Yg(%CO3MMKUVRJA~qXs`B;jaYHadaHV_J@RBv-T@MbS*Ge=4F zPb`(YazqBgs9N?GUzx_3t%3f;tK3Y^7LmxXrv_$3^!*@7O|Q^J-)`CPa~t;2O-~({ zm{b>SJ%lO2{FIV0WJ`pu>Xc^%v{rVVTea`t(}Di&-4ks7O|T zwtJKKEt#&D2mSb4KeL@vi`R1qkX--_i#wff>%@VX)0r}Wi0dFdQ9!2kpOF;0F*0fa z4>-4i-H~63f?_7Y8D9Yi87@pM7-96Z3e{n0c94fT?ey{3Lczl|0BL{;e;|cPhgcg3 zwW4^%9La1=^zB8j-uyZeU5n24LSIQGo>3HYCv)w;I9v@g-q_g{`mv~Kl`lq&YY?I|U?48T zf>(JmB`ggR79l0%L*lWZEEz~l3*T);YmzUpCQ2Jw7D39s*Lk#6Oju9c?H$bm60Mm5 zWKnEoAR>@pOGG*mSRBVjkb%MA<`v2`-+3S`lR=um_m#~f@X`q$0@#trC zz&pbZ@iwLOxq5z&x1@bie`Wv**9nNts{t?#yW5hJdcz=4|)}d>v_kco9W=c#_@|7ReZ@tm?7UE3wuoGS_*X zJwiAwB)k;6eHIr`4HS{KAq#(K`a@3Jgfy9O&GlbRU;#ZdI!Cew=WFhWfN$c;W~Z-c zZ7N!f;T9{v9JVlC4PugW7%L^`I98YUH~N^4=$MpUN+61Og(KB85Rc3btp$~iCMAO% zcCxy>KC66v_$!2|Mxe-}vP7!dVvaLvAyVsRpzTC6!<4v`n|;`i>#!;IwU5=P_#%mY zCJi7<;NeU~Ap!+Iy{x)>!``J<-RP{sq$}7KYZyeUh`bs*yBh>65NPZq&znm)2Ez0k z7LXBW@eI+jx~7RItWej#!kogN@9*YL9EHK0?r)x7cEQWpXjv|W%@in8Xrzhcm_~oh z+%zfa^~AdYh!ppW?6ue&A(E9I1d;@F2o(&FumWO`gc%E^Q;HNVFofk`)+b+IQih^n zXj~kOw)w16Fsk#g2pAnEK@I|a0!E8@1Rkk_opADqyE|($H>3@CMT(N{Zk3|MmXqB* zkzG5Xbsh6{jZ|O?Lkjyu%+&7=aPyrwq;yGVsv@zh=$%B&d__eWIuTO6KU-HJ)kjlO z9q^<|4HqHRvFRS9TIh0_RM+^7g(|CX8g=0?EJ8B2Ux~CY;>J$w{v@e#aSUQOc}Ie4 z31tqX*p?%ZVjD&PJL1$!eeX#JPJ%MWp~wB#LB*kgJjm$UN4t^hTWAx>p#toCF+6)b zg9lRF_Q4b$!W63uun0WFrcV;lsywu`LnnlXFYB=vDy6COCzsgfJ8{&D?#01wd(j!f zUi5N`U|$$(P4+1tQGX;!8de_yTivb42eOS41O2Iyv0~G2#KxWd=c~KM6)>fsZC;Y zT}QUQUwpTSED&Fea6p5;L~x9$B!GJc6HX4ccH*SIqtZ_5I}CyZC57n7wH_9c{H!dP@}x?JvspKal~sP@@y%`n~mt*z!pdqZ6Vw%beOo zPS1@9EQK3U<@#|*k$-W@xg$WoYn{*TA8|&kb~Lk5^{UyAdMAFz*Y5? zSweS19M7b8B&7@O$Kt?t_@z55_Q1Z$L;Eyc!5{#kth0h&uqX@R%Z?QsO&u5(k3XE+ z=9XrFc&m3@vCZupOxR-CHrJfxKPAPsek8|6i-+kE=|YO13G+0)Mo4j#p`e;%E3>{6 zYuL)LhQ_kiE@ZWMTu7cXVB))Q&R}7M7=?HWMo2T^6+)IYZzQ2g*m^SV+kCW!D@r;+ zb`qUiq_(mkH=B@r;{rlp1HZL#EF#G5@b0@3SZX^FxkU9*GRIj50nK^~MAK+!AiSiZ zEyr4p9PK1DGz^-kn+plI`w$Zv3J<h4X!j$yR0qn2EI&#Ty#$SjjUVxa^2RK8#`Q#HR?L1c|{X|oS46)8@+ZRT)T|J1H`N~E;d@~=Wl zTj9$ZnFk0${LUo>5rDekyNwK7VY2Cxc9YWHPR%dZ!YO75+64E5cmwJ2>Xp{&k3+w< z$YjDH(v9G>P(9HWs~F{0Uj<_Pag+!u7L=^Un{kK&`DRhSBXqZuoI5LUm(QMMD4B%H zSnO7IUB*HucJ)j{yjdhqY&Ga-hD$N#b1_1Gi??W7PkNCf^%}k^3mtVxz35Ol(n`4L ztv-YgtI9~aVh2o#$939bn6D8Fo3F#qHgB|!TJ+Ww360~Na!?!P67XGt1cVUNAk!R$ zRFu%0AZOWD^q@CqIAU0D#`cIE!3;<2Fn@7W0eAT9QtYUUBoou+_n6VUmtiEL%2dNX zG?L(>b`o*f$pKM4Vay}y*rP6D`jHHS7h8crC7m=GMhil7U4+4u~ae-4hK7T-t>LKmJyv##}sTf(O^QX{I=uCZZdwg)G%=GkJ zK>SlK)Wnv56++EfzQIwDA=y?zMscAk)WjjBWV@SCa|e~u?x{pzL1Cs&jS)cnPIrQQ zG+ScYnO&q2;$YBeMDK*fhxMJ1Yh3fHM+wKsKYYBxi$oJw;% zZWsuH01p=K_;LlFz}pOVPFQ}t#rrjqm&1_Ac?n4(R-$8oeX2r>O_|eOLxGWCZgh&a zBfb?y4c|{zTtrH^un~zJDH2Txq8@1=@e+qqAm;=7pD}Rzg~JZcDFZOtO#rx;T!`d! zVf?AeQ70FQrRX2}0l&eJn)_|RIL~O{n3sLXHvwZ^tU%9)ehq-B7>ni#h8%u}Tzk z5OORk_Vgrloa8-XWOxv1Cp?I>BV0gX%>&6{A#@93u-VSaWKV=f z6sI|X;1tk@EflFlAS{?ovtFz|MLq*mLCs$VE9i??+hW`TZ6u2=NHkN zV$+6eCwd^D5{$r6sJMATi++B2(Mw?lL7e8A>vspp`A!^h%9ZOVvvB2S$dzlQ$`KM` z5aC|oXFtmpp1>dOBn0XgN55aWb!9^*R=T@i9F6Leiz%yTlxT!4vK`Z<6Ai5Ajv*OY z7*n!ikdunHzCrS7MgdFkv6Wc;0nX9rPb*u*H+|p+GNs5e#hd{69ADt5pjFXqPvzi( z@+P941ao@r;%1*kx{HUpg(rW7xbD5l{HXK57}Xd!J;G|N02bFj1^ek?5*foJ2hIwIS{~8j9%?VyEB6HUtI$QVjD)Y&_+2>V82LQ zWV>R6Yc6lT0jSJmYfOKPG%yk!&}RBF=7@j=QbMFjwn|JN%YAUf(3U*IX_2~ke;#x% zu&2Tvd^3@LDopmcMzyemAaerfaI8`^mi+)_832KtNPlnyzdE@n^^0+Yu1bUOevzLl z^!room+c1iQ-GbFuvY^8TW`Yu5P$S0+^8gfsge^1Bz81o7+bwRbP)Xyi;6qFnco@^1*KC31$xesKbI}6>C!;p2lFxOgkH^yesa$`A*cIoj zH1vR8yh3Uzl-zD$3GI_XRNBA8+qXQ8o}>R!INI%&&Xn$f+6{x$k!h2(cA;-u!xkAH z2o;}-w!K-=-1@O(l5(PCVX8x6ZfKsNX+tM=Vtd8$NXc}$-8Lm4&eUT4n{>qjS{9qU zsgEc~seG;0tststrJ9TaN?>-9z>L(Kqe#h0{vE4%5g7;9Q^X)9tC0H>?OqM zkO+o%5aF5)f&bG`2$$-D^XLU(NX3<&bI(=HmmpU? zVpfWmf`()mx}&xY)Iq<9C2ArgjHaD2S}zrFgc7N@*-*e9l^C@BS>gWlE|na(ywM~lsSW@ z@JQTbp5E4wA}6Gk~s97rA-Jay6>8jC&8r5gCH}4Ui3X>qhz@oHYC*whP7i#4F~;3?nN? zMS`bIj=jiBZd+#6Nj(JoIU3qX=+7-{Wa!h{2AuS?Wz2Wt+%0%YnJ%;pZmSr2sA2Fy z5cQBfz|yv|@yNBvOE_wk<6u+cDb=K z7u~4E=OX(lX_$lFwx6D}Fv0_T&>y#Juz1q;ax@ zHj0L!9hoqHU+c?|BBAm6h=c^x)60NbM!En<(-Xu{Tk1f)08<#RbHq?79_HXf`U63yJ-v#O7?{+B&R2@;`SVK}CXXkw-OJeJLas zdI|i#;xqzSc4}i&Cw6tHAx0s}`zssc!fe9vT#?OH4%JX>cAqWc7H{d>Dwa~H*I-ji zxKbzeSP9F?T~k8kk-KTw4>kamL9qOzvih?A-4}m%w)heykz7cZiK$5M6)M=`vjWT; zlG?KXH&%0={(b8k;( z1mMB(1VIbm6@Y!i*4sK`MBi217oe?CxCLnc@N~@iWc6)bo0IuJ5a3N*N1Wcb1N@?y z(;~F`Ep))e&N(b7hQZw_kDRJ z!=+16G~C2fbfB>?`dqX+8c<#Vox4K|+W;OeMp6DMz{3rh6===H(PI2nRuIARJ(n>RI#c-|B7K)j(5dJH`o$ zY6JA67oI8%bI)D~*(Em+Z1-ktau-sQClE^#-J_Os_HY9YT)+l!?hnQW3t~jbpcEDh zCCwAr+TBxW{`}hJzsTlSSo4V1U%x6nfoHf4sLE>OQZf#+t5`%Wg*6lPHUem4;fx#o=%f4b869{CRyfgohEkh=%vV zy&MgroZendMW1&T^`kmK!dl_r`|Z}BFmAbEJuIu35&n?Flv{~#i9Pq}X}(xy&{sXakYPXlrifdCJ@RjwVE|T-9Bf)MqMnVh(CC!PNKk zS+8XlX^E#!$7f8$DaYr%j*U)^w?$@C-_x^R%X*Tio+wk)*ZQ*8viN)zA5v)yaFp%E zS1YyL&i>e$U4^fc;ZyZx!M$D$?j@>)I413?gwsyr4XF6w4%D;AvR(wHwN!42dl@*@ z1b7u#6@XA>2PPJ&92D4}@hOt)_R(+(mLR#HhQdK$2uL-Wsyi7w--!*C3HAFuaY?`7ypc&FH;gCkE{MBa43C&v=mYX+}(czfm@c!{(J zoPbPT_72dbXll!)O`P!p)p(SLy}8c)S(5q6J^8{iLqoy z!;*=JY%7U%L|Sx?qAAA$=SX2 zG%d5{kk<)pwy+@Q>4I>*u_F9!ZTyWl?1lLO64Gj9X5lA52Wuf(s7;1^j<{CvGhZJI zCLR*0aAun~+U0S(@A8>^Uu9}u?F%fevx;&_ist+zJSec96V1qA!}Y%TzCGkk+af8` z63oz}CIo;r4rD|R1Aiypd%PL51<}n_JhU^l1&w9!xz{V1Er`60E2Em2H~+AgG*b}s zg%?l!;c{tG3=x%6!0+=));v87x-;2G-tR^4(0~($7!~jDY07%UD_Q&Eo5%1~O7P+D z^OCn~^9%*@-yikg&5}h3^4~w;zndjXV?<<=#9v^DHX@r75Eft+sSpJg!7f`ci0@{) z^ltWhH~*wyCLCA*s((Hhey;*F36HHoxes{@22C_?v0#GhUEsF($BiklEXlU$!``$R z=7ePzk35x{^InnFI#8+QEc>S~0Lwmg_qx`z?))uS`M+-HCupM~G)2`=xdaK)5^Ncsu(Jp$PtrO5>Torv?pLhX11=M_qUc`x|y79$F}DjSdp zuMEFJHlNHdvEEu4|4L|U=x%y4zw&KcZBg;0HllBJ8lBNgy8{jclTSE?%kf%TZ4Jkw zm*L$&aXO_X-mi42Jf0nYhK+#NhYJN;E5;e>SVv|&g@Sg$3MLf+VO+e;q*;gx*OxoVWdE>HmP8Z!$o5PfD#2-09lMmwEl|iUE zgfONyGXgKd1;Uc3-5V`KB#ui#PmH zINw#gP%!Ls95_uLR)+F%nX-MfG8~B0q->`lQcu_EGi*e}XzhBWBI7?IY(09o5aj!9YTDx=#^m_Yry|OzkTS8KpL1F;r20X1%F3yku!o(#LOh- zJj5R%eq{;cSH8;GG8__ZAcRFWN^EL0Tr6p+Vk$2f9>Ufngk|(*oYR(-f}Ev6P{4h% zo}+9KF%t}M!hb>{KpSRB8zeERle=&D3Ykbtp{saib1HA>cdztKuVgYI&w6tMRvEdV zP=?3ZY(Ji>R7B8kA_9KPe>V}4l9hM-ZU5awMEXgJPyKx=A&+LAe#a{%GF1~)Xn>R^ zHNCW&nYZwJUU#zs5EnCY0MM%taW~Oyf1S(TXYoW^&xYJJaFQW*xg2$}&yc%*tHBSg zC=Aj|jw+}LL$e3Ko9~SeIWu-AlkaaMA)+tWgoLT7fGQ zQJ^`KD7AkLt4aAufEIjBiH+SNNpdPFOv#DnTK%FD0JvA9I6xiz#i3@Q6MHt6PPs9# zbhQv9o60~zq29cUE|H=j+J!;1?5au{R4Dq`*rr@;o5rP;n8T+D5|n~aB0oWkB017;oAwxLcIXNSVRW3hKn<&NEZy-(YK z3$+|zYr4YI?yoC7fN?XQcklO+8ogr!k=}{) z3#FR4hed|W+8^C_Q`m4ojKER8(vNzxB^iejFw8H&D>5eVC&lp=@rW`!WE@B1{oaVN zs+VGHi&$SC^Ge35XdPrnIdA%)mo)1O4Qa*SeD(YUg!LqwkLg2R$(ldUn$I|49z61R zr6N2@eZ_&EwwNa>l_(2wGEfmpB=5ss(rhsz_(XL3i2rVk_8he2^E%+a8>6KyPE{5_ zX!yE_B?h}`YgcE8`Kb3{h8RYIuWVc>XB7zj*8`v_N(oqql&!PXR(-Ue@Rm%>6ZcVl zXqU8>E!QV24M>=7eFMeQUr9|k`Hc_XVOQ&u?v`J9(C0%GNa6qVsoX~+~6Y7+&N)`7xc?5fHVqU;f%Y1*t0>kHnU zfhI${icft!-S|8m*0Wxz5>)rsOy*D@wX~Rw2bu2W4SpcgL8@b5hh%uLNDlFcVQ^i{ zV4nygh6Otb8JLcTTV^utZ+$0LuytkyfR$+4@>r;l8vHNX>}baBDi4S<=h^8s*o$#t-?E&KuVSt?C9N5O!7Q@44S zhG}#H6q`4to0=PBw|gZ+1)BW14&xar?C_GtKS+d%{XLxnJH3)MPm@2Jhp1J;wA;O; zVH!zP@zfWW8ywTU0^(Atbca{6=4tU~^GmamcX~-{o@Rbuyu18&L*%k?|8D=?5Ltm? zDj+B~3%dk(z#HWo*tex=ANP10sV@3QKTfAOk_~*9SF$MvT{K_8d%dJhkyNcX^yqcT z3aYcp=Y5}7vgS$P>Q?Z6FKNw}N!5hgYi5 zocnl1-iZaBfyTVF(NGE_WJW0s2n}=b*#Q@9TShJ3);So+i%|>0B+5}bF9y^YN7?u+ zAhH~7;cpNgE978fr6oQ6&e9{51kzjTN(b{2gZyv;3Pc27ec#r+6gf^ zv=;#~!f7Xtg^s5FuBV;OLx~}ju+vU2!6ThQ$!RCXm+`a{N{I1@&+q`1PCE^VD%oe& ziKhlnf*%1okYY&SB7_z?2f})FVLi_T*f7>Z%GPcP>nV!R@{fGFRKpr#aRt^#zoR)zrzsSreW z1%N?7;T*IB)0_Nq5czQ>&9mxDLj3TCz;Ppp2dJN> z&W4fYjfp-R{IqdifoV-DM1rVExhX@FL9}YvX%mKcf;8b1ln3}D_DsSO;ZtnUvQ-3j z!lShrgr~YTLlK>6ZMRstWEsH2OAPEDpJgS*=%*NrH1^MAVFM1l7B~QlnjCr!WHCA} z8AWTJ%k$2I(-L8{h@)kAQesqtRV|`Rdq=YxrgSJnnQ5ZTj(!u@B#{tZ%$=r0;6QhV z`b~nnU+iBI18vn;_0 z0Lzmq!Rucrvlnc!@6IG|^>O{VPL@`&a0;I*$hL`*vI5ysZS~rJrnPCA3f4oZjcUhI zD8}>A@XU||{q6(0&6~Vao1}xR96lVaEOUgh-r9lmlF zeL9Jiy9kZx*m|r2NOEh*O%qGnoV;4K4kFT-P)L%qqrZkG4&!GrjqWRsH`VNQ8YiR= zbj`;H_)cLA8*81W?iM&90Mr5hv_>TOtWLKBHp+g%AjVr`Vn?J?{H0>W>u)c^cUqxZ zxKa7_gik3h12+4eeJ7L+WWJ00e68+MC}UIZui$sMZ<+Z`aJ$J z&(`I5KAZMX{R&-;O`_dS2RHbz$%8bmOUT#0VgXypHit6d;Spa1qe*B8vR8rYSJ4q# zXS*;O7w3rR^eQw-*W56ET&3e*Lc=@X(?vI=W_dnRTp23PlxpPqkSc&MqcYnWJd+`h zg4s`uw)r!juzE7^>*P@Y7sy0RBasmQVgrw0z)Pe`&}44(9j_3#kNX5IG*|sewbxOg+iat_Dc1D_TQukD)8U)imJqh&obHKnCzX+!} z`_K6gjQ-y=^aE>)e0WJ!%yThp3K7DQ#g}%L7+@H;Bu8k{aHR__!10-jFA-UUk(~uey5X)z`e{+F!fw`q_2?Am}1KKby${uS3zcUED*GSGoFXz7wk$sIv+S z0+uhaSQy;?AUQ0W#h_4bCaQm}P@4e}f!k7LM;>K*Yo%?Dobf)ux`QSppd-(R@ggK< z%y99xx<&?>xB^)Hb9~N>i7+5*4BRv?a;OCzOk$w3z#)+r=D@LwA(;SC>w0y1w3#vE z*Xk#*tJ3#%r3rvm%S!nK&b_Ik0^C>ENWV+~j;Hbj$Ry{Zb7U6dmJSjOljXB#iZK02 zcnyBrotq-w;l1xvdVZ};VKypJEzJKlTqCFpLfo2dx|Lo%R=m|la&6-k3E2my-d7w$ z+^^{cS&DF;WQ=ENer zif&x~r@WH&N_o{AecFGwUiJ7!zEF@?hl+pfqa<>a3&%5XL&ZPo%1QhX!pt%dlVB-G zl4*aR_x@}WbcZgobYJjFHVF!nK8a`jcbkM9DewYc_5#)`{g%Zi{NV=OL!@6Q6jGvMXpYO*Z&DHoQIU@jsYov>UC)S&fF+ zoaiLLFeyOGm{v)`Sd5X>Q53-$9>W}_Qi!+E@|OkNF9YUxeFbb;`FnBv@m?VEJ+EZT zN;jzQ)%X2(TUJWcDH+0}LJZR}vQ)w3K>RD*Z*J zl8eXRp^Y{il<%MIE(Akl)uf({hFGWu2ZMPQ)9WH#Dr5Bn^)$Dean=shi;sr!DU7HQ zz`IDkG8laTvJp7hP%(|%XZSK$Oz9V@e)0y^ZvE0M#`Q~IF`{1@8{~sFS#`LW!5x4I z0Y$4D05XGx>PQq!p+OY~p^+ed9y-#^8VJmKt$|HYw+HYeu5zU|*Wg*#*1&>(Q577t z7;%z-`Z=n}Dw1xKwbH z)&k5Fp;)4W*}<=ih9B|S2 z9nf^X6h{fb>TDY3RyIb2GO3eh06)`lg2kb@Z7Euk1e5~gqpVT%FYphnT<{s8nbBfc zoLK;1i1lc`p}wts5`JYZ#sh8c^Xb+V=Kp?T_ld-ZVku5Hyf&*drqBhek7PPyg4KjB zxHiiAN8)lQzG)e0B2&UOu%Wr{I<*HVPBztL!Ud&SgA|o^4x#tcq!s80WS;v$Oo^#T zLhlDnmJi+Y=wVbrMDkZZg&Mr$FNuOs>q>}uPR$j=@PQGGkHOpAv*KF~MiuagFJT8; z`8zZtF?7NF88Eb(J-H>VuLajF@8Xy^-ty6QFu+_J_;%a%<&`DTo0I+A40rqslVHc2nF2Gpo zC5-tI23u@TzDLrCyi=WtwnDMsZGt@Egy`A+QNTMES-j95X9J`zmCd6qTIM@!1) ztF+OZ`;jW)jDv`#coK2!z-l82iA!S*UroChhUH&n<6tQZc!U!on)qQ{wu3!_KrChY zCaeiQqD?-cjE}AHMdDo4is%(Ld&NY0V#(FzigWVl6&ETMgQ0R&x#DbAaZ9Bld6hSO zi~nvMM54(S%Zs?xtJw;WF%>_1Hr31&=e)1mypqkH;THb;Hviqm!pQ&H9F5A&zQu5h z#l$t>#tRzw(3zfwa&<+IqZxWg)J@N81Y!-7F<1ke4;f=ulQe|z$v{LS6p`F-=){^9 zC9k{^v;v@4A0-d!NjVLn4=}X!OQr+vC~3>Ib}(6+Ocga7K zx4SueV*dcn|5ix7rkjG=Vb*c_#gh+Co5*<+v67!BAD--mj~rg|R*OFJ6+GW7*{0-h z?@Ao*g}q#j<=0$u&1)7nnExO{6)~8{ylxH}>pQWek&D*?W{Z#a4Ah(VN=7bd0QW{W z`0qw8)RMkhBt&2vbODhxV8bS^;6F{gp=RjSX@Gu8xAOq~t=^9X=(7QVIWh>55rXTO zn5bB;@R4hgSfJ};QeangMlurSj8Ce42^h9ee)`VFeB6^HYu`5plufGe#i zsn2NO9t4ch#r|cMph4S5{j`tTwy6C3Gyc2bQrWis8UNj8P1`oI1J*fVXj?0ZwV(6a z);nW1ihulQD%9mN%;&w50SM1h%R2CXvo~iO_XRI+mK`1`@+ElIf43>TWK7TW;h2vF zbmG)9jxJNnR80L7t|Vh4`msr*$s<^Egp4Nn>&0NtNC^w+{9{&Oa0G2yb^utc_l$?Y zsbTSt$O}fpvo+6Q|25V{OvA98nwc1G%htlYJj{60VdS5~@F4q)*zmr~@^aXCa#V(g zbICG1Ich8})o-&1Rjp=gjOUZZ<3OV_+6cpwv#!*dP)dd;FK7*5Ycf2<3k|ow$F^Vu z5QrScS};rrrp5Ma@E*e&>=c8!YtOExUl9=!zMulP*)jIKFb zL$QWaunKD^FJNIUMaK5GNnHCZGWKVuoq!mBV$u;yK|+FL+SkX(K}1s{p1S>5| zhL6cnAX^u^H&sE7Ivnn}7{J-)iGem#DP}jzh`-#BE9nE0x2?vfJ ztJtZY64~zEJWZxM#Mla2c!^;Rp5u^j%rMM|RB`1UuZ!yxa9lvj@?a1_)GOw>gKO8^ z)1Fc+-zU4mm*I_r??-)vKhY7=<^(wD$L=e%Er>n3DfE&j3>Xtg-qY8v8V8M^RNGW*NB~Y6af0z1`a%S2AWUmGv*4^Z48btJrz=dKIoEi9 zl2MRoelS2E?Z3fuKyBuV46Nq8$-mYnxlWkeWV5(}Tg0rDYGcNXc1dSb0YrA=QL|La z5cUwig&8b5BoZ%kNM6DW?-hjEg@8;sSsSxsdI3gmmimKHbL*?b# z)VlWKueZC|+cgoIw!lRqRu;UHiO>N{_vRk&End{r9(sF~a6t8{V z>u&h<*U#bepZtq|@f*MKo4@&6zxCU{{h!|WhBvNkJY;V=gW=6# zdxKsK?~d3TbR}&+Z7MSaXnj#!Do_BNIxeL0p(DODT}rm@6C44@|%+VaFmi%kl>HC}WdNu)&h0 zx9t1>$KJcZ*;Q3}!uQ;&B$ZTCW`b^kn)m zL-)+|$ILg~pEDigPTdE z+IyY5&pEfMLYSuK_f>vy?>%Qf)?Rzb!72BSI>t_mGJs15-2 z>kRc2l7mFvwiu@OW+<@M3V;ekF{Td0Yx!!mBA_&DSSk&y+{Eq$oCQkvl#?V@NPjR^ zXaR*pM%8fpvok=L5jhZq_#pWKp=k)36>j{C0L!@m6KcD@F~$a;L;9Q_1B6h%G|{@D zm=u--2wmm4vj8DB73WoK36MczfKYk<6n2dfYdWn_VTE*<7!%)^8JCy_ucI6oKQzxfh1^fr`ALWTZ@Gx#=bn+GZ$ z7ZxVE`mK%*V=ZWCA(}#{(6EGk?Y4QH-&tr-@e?_h@Edv-Y5~P$kDwlCykFn`O?+Si zVEX5Y?9CQbv=E;fRyH6L%CwVzh55{&hNVLHf3TGWuWv(N-a#0dcnOdb+d+=c;yOk# z`A)0ppnd0h4$hodGP2f#08XJBGbW<;wj74j&ca0OzTL54hEu{Li<(0OQAj8l8Ru{6 z>3R!JzwD%&Jdg{J0f?uzPe=81y7)SO|s`CDuzQlIH zm%=>d`B_5wP`VBeA`?9d{)K=?1QAR_6x4}^C9YS#;3pdL7qMG#2u%whc`g6Kfx^^F z9Dg7(?eD)xe}s$88hlm|Q%GurR+QPY*ZsYng#H-s^Sw9qvj2R;E7?iqkGdNDroXq7%6}Ndr9y;vOW*H{ zBQ#wC--vTE`Sy26tSd=f4%cJegu(Ui30Lo!f^T^xgX<5w8vVAvH@N=Y;Mn)r`@cas z6Dvl8sIiaem!}C%_jxlWRU6~xbX zdK!Tq_ezGJ-|xcD_x-)$=l8na|G?i{r~itb_BKua&?{M|Z$%{{c5lFd(Qd`1Y=5Qd z@3Oz%#>u~{RQet1@6>kc=Jg{lX{YqJprq5_kNv%&;|#n%rS(SWfk3uf$i#k|(?St4 z*)o6Xb#2T1Z7H}tE%^5h1$RjF9BGjPDVBb)gv$>zg(Iz_snq1@F6<^^7Y|m@a|z5`ei=&O))x+ZRPiW!4cO=Ykkam0aX_mI5wv!EMCi6zrj(HXs4(tG&Z%RKi?aZ zmtf-)Lk8qp1|E;So7GNdH97hSD}$$#1~^~Dmv7dW@&<{ri%1vg_DhnkYtuz8KlgcSca zU<|^?oAA;9y4J6k32o!K@#tpj>J8{K|JlXIxj>U2m2jb}yppXe`n!-^Qs0qxdP%e8 zG8EM5{9XRu%+>UE@%LBzds_#;g7=bBL&$TB7!gis{W>?NQ(A9=v?fCrUzX(jvLhaQ zDU4wrao|V>_8#wUd_az)Y)FJ}$XUAfrij|*q!?@|=pNJoZLG>tQ_x*20I#O#D9<5y z%T}|A^jq%NOc;(MS1k>@$1-*9-KxJylxV?w}c)9I=An5N==Hp-tfCTZjy& zweQo2Qh5sB4Q*MJ?voP2b{C7ohXchSX1`T@*@atMCJq^lqyr)k+t|kj=dA)p*&uDN&DKSgS z13Id7d%b*v<-j*9UN0hzKx-nWugEKz(InX(9`iY+y6$SQRJU;uwsAz1uq8WSw`oZA zpDHD_qkP2}96ILop_ob|b-jkOr3X~afoemVwFG;**97}tIk9-G1G~xl1`oAQ&q*z} zxyrS=|5~vr1u*FrNlJKlpu0(9lcJM zccMLDrIKW5cbPViRp`S$-yyUh2(remLofEy(?#nE@S?`WHqTMW2de02v;aN&8loS> z()>cIEh$-3X+$Z45hyW=fXBrd21P878od|QXk;$)G5uUm*+O3oB=Fd^vDMgZnxRQ|672f(!wDso?jTFiYK-|6p-&@8|UdO+BBu%?m*ul5SF34R&IctY?Coe0HL4Wb*t zJSv@to|vu_&ouZY`tQ_D@g@h~rkIe35yX_X^xWVXK_mj0$;f)Cm7>nwcs?y(!m%aX zg)hv4Z77pX`YitLw=3<&PJtGsuP4sWZN%BS|17zJ*t-y!_>_!1Z-Z2X)%3 z@%PV=4+^u@utz+V>=8VajvZ*3jg|}46iRWyP6YQDTd|X=-^O?m8#UwJYlT{%qO;v5 zMk)%ATOMsdG-|xj2#ZDM@cW2X6Z@8grv@6)SXE1NCqH1*8p3vCia>=JYG|RT3Kb=W ziM0;3DVATO8Ba`&ET^DlB+>{Hxbms(H(CNZ`u50KTBC{qev*KWEL*}!LIK+B)ciC@ z(kGr4%uSjqnCD|QAM??PcQJGS00L%6Vi)OcdYAhs>?nw4=4nH;GvTWS@)EssVJTwp zoY79b1gw%K%FBvEqKBH@G>UoN{Q) zj=(B$R|86eHPGw`bgAoZF=3?FdyA%t?>@zE^7qE>B@*MZJ!QEGz2EHbty9KdOrz1=;+3q^6FGP+xU)(;5I<9e>y4F)Jnc`T&%LQqiMj;R zh3>yT*qgni>2r@qNq@i9-y1TH!+WxcM0tCQ7c^4Tf|bN_w>A_knD0%bQ%RlX%3CCY zlhoUcV{+xKJgq2iY4N1OBIs@&N|lNn!>6tuy@dI1i((_x>rbZN1OnIR9y{WONsf^YrqAc$OaLKjRf@ zkMsBYdm96e^McLhzWEF1hxAJ7^u zKv1*_V*80$qRV{aYCNPBCGH{3li3VBq(!X*PiU$>=qW9GC6+CJOD;092sr8T_j0J2 zRjaJOM`@&|)qhHV59sUx*O)Q*8gs@t^ku=bfg5_5k&5tSQ^6Tj^`;0#d3xvixJ|x0 zSt~gw-C(jzic|*x{5Ef3kqgYI;EESo}N%ePEltvr_#VL~Wa}1e4a{LZiIexbh zM+{)8R1m$Uh(MS(dlRCgmoewG2GP;`-MZb8iudchs}iEI>~OwggNEtJ8b4&g^le-= zfg7a?Mp-}$1?wSyMO;X~)g5?M6dMw}i>LR9a40N2HGOo~8TUFSlgv-dAR=aJfd9et_V!_HWzwwIUu zuE6_WS8~0A&1}^Ct3V_)J)L1cadPL+wwf9hgmrIrhP4d8VCZtjv#HiA1OCs-JKU!{_gshvQ zy^xKM^l~4m9miO)?l`6y?!f)2X@c$r7m^|qIpC&uDB>&8bH6x;Qs9ic1iGCjThdhy z!Pi@|@3MhlmFA9gVqXVmY|HpOLPe6=oSA!B0t7+ti~H#(z$a9J8Yzb*R*S+ih*6hB ze*21KvAo9td_)1H7S%w6NFY{FCf9}Vij0E-uRL3VXQJW+0|Y~8W3Pr@^a52|m3k%xzMHNwb32&x8%#NwZZM-*Mj ziLtP;&F3F&+0D=_E;4KW)fQ7}j?p)CKw6Zq^JwbVr*o|z!!A9|fQI^u(u{`9h*LWO z`9PU8PweaHb{t)`?sU9Y#Mk>?0Nyj3ptWXBbLifHXT6o8f&Ix{$f~^)%^ehX2$MsW zn&)>#TMN^Qin^$!n_0&8%M*S^7an+cnndo)e7uMyjiLRTki&}PfWF4d*=A_vsKn-4 zBoBnXi)Ml&anueA-Fv#gThJie937q39sqwVI;**k8EK1O8fyy;vE?!6yZ(HE5G=2C z7y}JY-S{)~5W;eytdc-MDgn8}f{w=yN69w~=I~6(&;7^}s;&C-{)I1$YbuR+iK7EDatn7P%g0O(sXz+nsv3P9nVWEZDVzv#%Ea%7IH0L$Dm zU?u#YwsUq~Y=8H?-^_-7Du)&rwED-`(l1M+1QEjcqEMbfiGmALl=rjA`!TJ-t57q) zq~|?_H+Ut}8l1xJ0GUcI-u!#Lq*?Z;^Yizc{k^FRn3+XK=)NlCgs%Xux?ENG@Z~nc zCXI1VB3nFJ%7S8#6mHDy4=-a$?{};BTUOHD(bLsrn^#Jdbg4n}7B6|3=4cUdBQm)6 z`Fk6-I`eR1eb@{*7D0m>7R-Qn3I7~fgR&RTyx%L? zaF(JHv2Q|qEP0!kG%er~Hh))7Y~Ajatog;({OJiGcX&y|me{6a_aE^0hON$^r1a=k zukG++h6KLPuj;Aoy~`^Zl-)YH5BhuSn+YXKSiIW{Sg)dX`)E(E;SYNy>ous|Q~?{! zE9uVokxIpGZ<>4jy@9LQ5g;>)*TsEQF3HuYP6r?LIyM5R>azU4$I8T`K8IfEUaw>$ zpqf6U(-AdrVBJ0Z$jq?^wW5^C#8l|JE>3=-OPr%4$9Nv~v((55RLC3LpSOBxx| zkeh$4=arwI@=De`(-inXKke^rpb)qM3)@X*Ps^u-UQpO7)%>j2w9)d&n(ylw(fm2D zWZ=;F>fn6d-y1kQtdJdr^~%pefeFe@IiQ zF>C6IL8*iSw;WzpigBBd1ZWyGaU%-3dDkAi-n%FffmBK{7#Nm2jm@kq-y;iS^wt!L+*{1R`u7!X~8 z`W@j|AN-CO4lRdrbdYP9E+5f~)NqvbC3uB5U)q`c{X6`RY; z0x*FkBs5;c8b(5_fpXy#!n20{q(2ugL{L92=Gy0~4A&6zH|@8G77=eer1)Xrh$g_| zDb!BL*!9S$7nwU4b>@@+`#W=J)1{W2)>?Bx!HF9BMxUn(99o-vk=`D9U}=dh9Fa`^ z2Cr0--Z-jMvcAwunqeFJe3suIbL5ljsQZw^bdguG<^jLZPI?f&*h^aTlD=lw&&xu# zM&Ww%lU~W1r-Vr8(*x%vUecPUh>&mT8FPB6SF+~0oY=f>tq#a#UecQ98k#0F@^Y_a z&2wRSqgVKQTX+;IaX!e4w~NLJ2hqG>Vp^H6yf};gx1>3QG~1)0Rf`c7hX?aOMQu1x zy;w6Ct-zyxWM{<9M7RV<8d#~DAU=?(R-UY2V|a}{XQqOQ$|9R8vdEc6gWcBXD3ySA z%8KS%$>bf5jw?%&NwW;Sj)wepW0G$0kom31LP`$$2^ToG(Bb$#4kDuqJyt6;ZDjUz zho%{fPq8NL={!6QmN1bX21LFfGcYGl>ePo#r!FS}z0zK63~>jqym(zxjn}6yl*>NI zvqUo<+N0Hfz|FD1jh`%FUlJEfI9V>FnQTC84)?@mGa|7tYB=G z6{IBaxkV*cUlwb;xOoRNW18%3Q2*(f1KLM9R?-iT98}WWFYe2q&)Eumv@f3%e$tH4 zmk-MP@CJ(Kkxd!RD^lyO@aW5rkQx-iM1VjhHfTb5o~4>r>KV?!|WNF7eKL?Hf}5_UeGJEQY)H)X5T02@Tx z3=l~78k~j!TLU$3O{iJ)ICdvWDf$?M$BF0JK!j-V+J&=-CYpr5O~O`I7qQ_I)uSA= z?3k-D5*622wdT4?O)dbhN!p`ch;vMfBxvhQe5jb=>*zdhrX;dY69Ig_SF$}TD3elo z;Q}vdTO!2~?|y^7w-Z6P-snPqZ@VAm4M> z@@9IP)!!CUhb629m6Z2?@+4a&SV4Sf-abBvOC3my8|F&s1te3g(AA+ENP0VqtSnSx zXa3qA-{C!4WU!pi>uzPymGT5rC_fv%2v|)xIr<*KY|5nt#Y}FN$SpV_(D5GVX;^35 zlXWJJv{5$&2exDZjTfkg}T|DTI6lHD?%6Lsp9d*s`!i2-i5hjDSh+!1zRPpin!7bVbM)B_q7V zD;lrpHXU5*?~Mb9swOH;FZ1`t0bV>PE)}!|_!_*ziy3@;pa1OR<#W$a0^2*hlEKz( zC%DqzTi@b5;k{nv1*}&w3iQrP@=mX0y>=S~-sSJDS4u)k6EG7SO)wZplro&XTAH}V z+cBEpPEtz~&^EA#KocX8CbU;(o)waS02|Y|h4{MiEL`thmUa_1J!<4e8NY@~HhIO; zjxvpd{tcB%L0yzi^n1Oe8Cbiwna%$G0zFl5oAG(x;_q!rM6B}yH+caYxL7GJ=oy=N zvsbb~^EgWMq$kU*UedNv?l9i{Hh*u6s9Sq;i@!JcRqaeRGa?cTxs>fa2cRhqqF0^9 zmoy+{%z34*jP5$$n)d94YZSS61W^owYS^Q^YzdJQKNa zw7~iSo2FI;$1?P$w&ZTL;d-xYy9)3f%o$7CqA=tE0#a{2aqmgP?J=GgAm47}4=pNw zAW<~zCVvr=+SqHbu6!0ZSg+MhMt1i_jbQ#u)3U&4xTgwYuxKC!AAW@N$}uopVS_I|DuM#fPBk4MCVf}!ZFUST+NP4)Hs*Z^X zFaA;~O%A~Ra2Kr{o3qt)5;a1!ISp-5i6(?isv^1c8~Ko~c-m!x46RI3>4Vi?uKvt% zN39KkG-HBV&Dv$RQnOSVr!$J3wWaeALs~cK7y3}Y*)L;7TKi17@OP+Rp9y*#FJEn2Q9dkVrFzif-N}OCGqpwoc+9K94s!|DB zXIcD?)yWtVu*@gtPo06=W2fLdQBT^mnD{m0%~RG@bY)7 z0@)Hy)B?uws3Nw7{DsoQ68xrZK{|o=ywy;ZK&eqkfbINfsd5skh-XPxuQBckYt&rAY4aHW8uqD{z02tBDh104%T>R zldY@}kV4#zobT%*#2}8Tu%i9@F951iw>3I2WuVkH2dqS3^jsiZ0_jpNbo_dsg{U>@U zK(6sh*8GdR5HscP?c8|GpwfDKjQa=GC3+YnNM>$rrmSTmv2W39dZCv-Lw6g|hIusuEW@$@+u#{fk4^MjkzG2!=gTM9mPQHj6$$xm z^#*^c5~7&5Xb?C9L%<>%#Rp9HU6XK&*Ro0A!7cB-GT!Hv3`<;Y#L{SWS#0;hhA1)l zf2!y8wYPdD>p>3!)oFgem$c@^V^Z4J-F=2jnnYhGlxCN zzSgxJzg!}EFzAL&c~`P2pNgV&n=%xmVD8)#e;L$fF)@@p`3PB9ID4g?n)Y{1ta1=L zHI+w*w6LAp_G#MuC=npL2G;2Ic5v1?dCFzw5C;$*D?vt{``?g8pPB@JM z;6|@x0}5`WYUK0gZ}O6cFP^~j-U@)5y^=N0V>!p3>SMNgNo$_oc;5Xse{XENI~L{^ ze{Yzl@fGI!y4_h6@AJ1u82RjWS{l1cBuy*<^$2@LBS;dRBk%d#d?Z`!F z9P3*=4{+h;5_pm`@xXkfXjgVd#Xrqu?T)0RqnUu7Z@kB=Ggs^kOsGNE1C)rraiEo! zB)vTH(e=w2BpXyk^E+wLI`|z3JIkxNv%vooDP-r^pV+VH;Ve6ix;IP684j@;at4hu zrl4U{*_~`E;-1to-7&o^w&55?YY$JJX6<3J5uDEQ{?+hGhLwtE2fl`vkMo~uu(D_H*J;k-p-40BmiLEDm-00fX>SFcwrGoV0JXD zwgCZfAb+~GdU$@;nJ@Wz=JQ6axso%0Q%65n+$^we@q9jpg$scLb2|fhagG|(kfyLR zXBG6;12TN>d6tq;0u{=J*!~<_6cpT2kZE&ZpF(HYagowu>^MB&8rhb=grnvj0!25h zP*hj*VMiS^I#Lb=^{MN`xPi3z5XO<*Os!ENca4w#2b$i_)|=$@kv_#LgJvPmN;6Qi zRlKIJ^=8Z>Lxq`jiWQPD?d!a_T4aDs0N7;Z!qmq>&~Z;8sh#>ZrygoT+4gZkI4OWr zf!S{(93+|jEe?mxKBV2bGW&CDW`96tpRSGrGW!GTF!uvG_vj?fJ?KE^UawnPf(qmo znBrBP{#7~dkeVaDeBDa1_d77(QdOm-1#{kcN2P!(z%D-qyx|`=Pj!1V`~#=?mn~6@ z@t)(k<{3-bwMKaDbb^^`L=06-O3j?quad0PA>R$?Lpjjc?*3|8y@wJmG>YP5yXUCK z&X!$|i>1cwP4p0d1Kee3y8_eRC+eVW`4p~E9BYj&V|K%Kt}{&?n&gSumT$*}n|QrH zvwW4??bby+2W_LfeCNhS?Ul5iEP=H}1p0@W7?oZpYe20)LGUZYCbbJbM@jVwul`!8 z&1~FZ1&QX1OqWg^uLb1=*ByT1Mn(BOG~AZlV#_I6li8B#a^)DF?q?1LB%y(Rj2Jm* z)!F$Q*5?DOvAjfjrYjI}Ck`Q^Ju7%`DAjwXDf(+vWWX%zTOHn+g2wx0Po;s1I!tla zf1C1~(_tm-=GT|{xNXJ$GKLq>wGUhhL)_a2E7md3LqkYUfeh8$2z0&&Boodl*lLr; zuc$QsD&3EF5GlYXRf(qnM(*}XIL%7Sut7yuyU|;>8DBP-@BX2f5iuFz>i{{J*v^d< z%t|x?cRwvGiH>0D@gw6zYtfg69$!J*>ip%M4&WZWmzt(v z3A~|@BhCjS(N|g=4)`3`&=D@_C@=26h&M*jxsBj4{zdG?gp7s+_oM?boD7JEar;MNXh{_FU%=OG|zE50|@;w3thhBmLO@Qs@eMo2y zvK5$)1x%`d#>Tii8~Sz`7)@E<7Ql83+aNUhn{J~!0Kdeu;m#l+B!GYdy0eN4KECdd z6~P)HMk&bepqW1L2{{3X#ZPPFZK{3d`r+fVhUW>T9pAW&P-t(K_d_OS`7=5GfpUYV zE9R>0a=8u2a-(y-9H4of*qO3CBuDICT|zth7xQ-51=tO_|Kl1Y(myr4JUs*F7|j-l zE%V1l@Qg?2NKi_G;nG-=pxy`UgtplU%?`e7pzGj^475xXt_kPS*2WCC)poOj8@&}{ z1%PWlh!2aY!jHr1kQI@f!*BM63>+St12~r63(O8fCi5iy0XXE$nhQFdH}+{VN*tW| zo?Xuq=@W8&zpPN67wJ0HEkG%?sEYG>LV5NU#~!Xk;Tp?Ju0jx; zWQ7KJ4T|ly5LW;wbbdx$FI-t9rg@z?n0$CsU@%-d{LSU8K3;4EJatRfy^b~OtS*%; zap?q1;d4ti3~e8-oR+Nma~oz#=3RC>!%i|=?{^&hLN`v;l`FTz*4IrXw|Q}+5)@Y; zVYm-V8)ovMhy~+aug1hl-~(|ql?+yM-)cKk<-ty2O@|Jo&=^hCI8z?o8j^ur$?23iHfNdvBy4wT3EiDcU}<3p_T#!3QfifOeo?@DEZ> zB$pKb=}irHdtm2HQ?kLYa60o($Sd}$T z?AwW0Q43ICAzKu=ujUqcJqoEGAZTj^SPBS%WVVx2Y)hH5PsAYCxC);lo8sqwq)&z{ zIvHfqNxWt;JWr&=Px?@A)g7JM{B8LLsex@;FsYMaOOB^InXA$gR1lK3cX`_z21Ep< z{$H?eF=4-oLCzZ-leA(`p3EUOjKMG_*5p2B@(|Ss#|_;G*bG-p|KQlC$XH=J##z{b ztB6&fbvP=H-}nC3Gt!u}NB{qS|5P!6Gw65Qt(K&UMouLjM0pOypNH|6+_a(OI(pF} zxh?6%ye#RLUdq2??aHJjOP3yZ-0{bsaKZ@As3)HEvX`BFGA>WT-AS)pw(JxfRe68X zKf~=w%U|=F*Sz+%zw)|Yef=9o$MRo$u)~&H-6)vB$*H-GD2{`PO5 zfxoxB<#&Gft^exxet*Tk{)2z>Z~xsN{`-~x;gA0KPyX~j{--nl?9c!6fBCO}@&BCl z-~Rjm`#=8jul~Qc{m=jP*Q?Hc`#D8+ZZ@8+&emjWvvt|}Y$7`^J3qT1+mKzDU6fs% zO=g#5mu8n`muFXG@5rvqHfC34@66tnU7fuvxzLNrLe#ph@PLWm zp^!v{u*}~C7%eV@&mNI_8W_TZ34XITjSOM<$zE?rV?$W$8?mL>_}8T&4G*Cq7{4n3 zd`-$|ga}81-=T~~s<7>^#I`j`M5wzw34Nd(nS^^O+U!9an1#Nv@9@``wDMFSa;0Zf zuxXH6jZldC4h_nYD~!IVPjn(gVtU9xn`+BUSo05}dFFuOG43(;hX*nO6k~Xf727Sv zbTS@bF+2#xfG{idxd5w7hdunPRMq)-m{swBed>hBg+}*#W1JDI`03c1_wXrcOy^`T z8^ePt9G{d@Ix8|LJP4&YE!M%uV+WWQ2$XPjgEJ!jBdh%$Tfa|0wS(W^^U25fL@yNh zTmHT`lt7io`QW3{6*R+O#vyKavR$L|6mB6`?UdtN;$Bi`PWhp)bu*{j!y%9fDPKx> z!{2#%wWoZ9#Y5r1#Ngu0L%1k(z{Da$vxDOvN!%_pE6tlKF*$5K;awSMAMOd-PrbZ? zc6S*xLUcNr;pfS(KO`vSGt~*|2&7Ch-~-<3*OeK5P@9DoATUE|@-Aso?wkvj$cNa~ zj`%zuT7mxMO7J`V;S0qn!z2A#D3x`IgpJ#in;I(Y*R+PdLhn098f4(mp%$HLis(k)D zKD&iQ!07Q`|Ja3mvNcm9D|T+^4;eaB6#X*TZ@2ZeEua$LqAmyyG}80sY~*I^dCu4s z{CT7F3~QD$H)zIM3%6*`edu}4*wuXUUh8=Zkvu#I_QjqbWzTp`635O8cL=)6LFJcm z?;gbm)MZn$fx~;3_Y}_?yM}c(>7-A;1W5ph$Rp}*BrMl!XTUzDsv6{W?YU7nQ=+}D zOtfJ=K`4;fLw!}fnf=n%lL!c^x)_T_fa}thuPwLC21Pc2s;sqeDgrs3Y_Q2&wdHV4 zWjRQb?~x{L)T5dX4FbQ!v7(zMu zB5spKDk7tFRLP8XlcT`Y5m$Ag0K=0j?>Az2ToGfpaIo)S8S8&}ssH67<;|x5ZI%9| z?Vt~#QV{Hnl-jWjVD+1YQ0fuXf_#7gUS<;p^3}atxYwoSX~c3dGF;ATx3StKVU&09 z*Ttn#I@38AEZ<%krL=tzqtta*Lb~ z3LL9v4+ltj5efCPMAEsAIu+yY=hLE$y3&M^NqvR|&XK($tlTt+`r{6!vhTOc#8!@U zv*zBPNE<%8)G+BvnD?g%;i>@Pbi8|)w`silucgtFBqI&}FE(hbYBbq`5*Gb10eG9V zGX2&#GY*YOJ4Uuo;Xi*xSgfL@!>OmbS(LG)-96hmRArtq%wusw|DsQyxoiFfaFhST zFOKugD}QMszJAFonLp)!MI}yekve*O*^62Zr~iVY-v1tdZw{6Jx$FH`{Jl9;{yE|M z^8PY>zm&lDRj*`DlYgevcLr^nV*W&`MrEW8EG`JL#OxTrq|g z6dwN6UM%N}e9_xsUZgpB)Eu>>_<$7u1>5-(c1?khVH7YO?uL+v;>+RF6_&vcii&gb zFm*KB>jP0v@W*H?Jr|wDfv6#egGtXtwQ}4eX~Tb1YMAYvMPBt3;r|Z;KOUu=;H(7e zk9wQN306v@B~Bm>{(CkE|8|<5aM@Laeqh!@%eTBo6Po@o?eR$t;opTJ1eb_bnFPP% ztsETWCEZ(RZPHbrHcxmb{v`=@VA8~%5}u?pu{}S9gpWctMgkr ztt)26=dL0<`{$^V^0}+|;y3Jt^0~fs&3x{iEPi?bcZKq~omD;u#|`zz;So~@qsY)p zO?+2a?*lU}&6`V0C#=c+vgP2~V=AVo)&_;DV}s!sP6k~#o~ShY>ov{73s0KbpYCPn zd3EK+Z>p&cMiDtMVZy<0uQj+YZSefG!8eu~j0^%t*Ve*c6YOGudlNl-%7r(0o5mn= zX|%+JrNOb#U}cyWc?;*OO<}YIRzQBuIAx~+h?Q|(TxszQr558rujD|*VU>@j{G4K}9X_G)6QK}l6F7L8kIN=vj`;%ULk8Kd zzXSh|`FO3Kt9$uceM8|)b|yUc)ZT`OiRfe6s18UO`E?Gu%_9>Yg>y00{O@6RFXMP- zGLLf3g5nmjkeW;F>Auy&+-z0Dc{3YB(jw{%@L%894n9z)P8_q#I$KeiBG-$g5}>xW zZ|qk7LO`Qni`b)%co}uEj1G93T`>z5Uvv;F0L3sgr30dF_y()eZ4-s%!PoeJE}5u% zHYEhQ7|~N3j(mOV;H*vm89C?1(e!HE6ROhGjGwbaOu+&<9c~Rz`E5z82l{ zoUxDd*DrB23}>*emVsRQ8FV3|f!bPLsNT0fj^-<@$~1B)ETj1nAK?Be)~m~|PJ!?pj+AQ(m_WJkMH98=gi$W; zuyM-$0vn*~pHXgKpj`Fne2A~*oK+tddXu@b$^G zj2E%~4|Q7Fh(~J;j%9-f0n6T5z%o?>ORS&5a>?xR@>m@#L6bvvky7Y*5vxq9AVaK= z4OFeXf}RIbklLe|tbR@wr=VfB_9ak(5qUmYLe=q=m%r=j-^VV+s2YhU!EYg2+0Yl` zDWwxqu@t3@!YV;bfmB6z3>71B_Z!6>HF0-Pl@~~e&I7i`o!I!LO?n$aT7iJGHxn%( zquiL<7Q29GA6ej7tC>MSEAS%L)U3AmWbpxGGy36FMnLj6K=gtP1)(pWyAHqcWer+* z8bTFvO(MBL?7*_$jxcstl!nV_*^~3KUR7lK$xxM7pu7DFIfHPJB$s!W$A)pari{4) zIisiBc?oh#D8vqeia5r;I3&s@edUtOncJTqzM3+ojuAp2#<v{Nd|m) zWx#TWUta89MWOELrw>Qj!|4t|Y)iBPXI178685Z+aX^v5h9GL>n1_fAUirr%R**sY zq6-;J>!-+=LuAZ}$e>Iyr;H4G=d)yAiZ)6TU1+0+K4QpAXq!Xq(TAPbdw#&)LSS!> z5lsn?iz&C4(Dn2iB2XfJ5Ml7am@V}vdh>sHTF=LJF%}yO{{M9}caXJuy53(~MD}1J zk_tOq;J#G!Vmt%EvgEkMBHs_%MtW|I_GE8A^ zWD%C)+S*h`l+RtCkFJsSV{cr*#W{G0`r4^_Fw}L5@q7$ijd|{vW=HN+;V_d0PQ@~F zFmPdl;)XS5Skh(VXeU53pjyOzREG&2%q#-`e7xfNGv-NB7hwDHh3oT`CFuJ&oD%d> zimXb&Lku%TtQYfEg?)+!X-tdJX=G;8}hR6NlmrOD%Iq45+i(hcB-j%MWvdo z*q*EW%1RwSoV=!VHo?NnTIvpf-g7;HZp-Jpd!)+Eyyvks_%N^LI`kq>dzAkG%4=HT z4?;PTo-pT02m%TB-dTFi7rm%_N!M`aT(^vHCM(6r6Ii-gxDTUtU#-a zSi!77tblTP^DWrtc^$nnM72tz*s!)^7tHeGOqgLTI+9%HFMxdVNK2Vs9lVsJrj&#!Q}%+9?8 z&E*&Myz1v2Udim-iwOfzp!5bm*@2zjyjl94Iynyve zO|HMc)8CsHi=59R_u1j^tpm|2)Lav!sj?H~X_RJb65cKy1OYIA=x0kyYd2*t z<3+4({xVTzwsp4BEFgVVt0i%ZxUEY6WaFC0n`ZbYnYtj~;5K4jNQ}HXNI4C3Hf&lG z$-pGz`iN-*=>*yy>jR-`jP{}=P?^b&RF}&g13f6S>5j2qSHwPSpQC^XbK#zh`gg2{ zHXL|gkDp6YM~U-ms&XI#m$5D^hy1`DPo~D-Nv~?z7#a3$qKuQ)rCw~4#z1q02@i(B zi3?UtG-R6+x80?xRfjVbVoaqTY4UP!_>0OLp(bsBb)%QH%#6&%3VxeN4Da-EhDj?Y z$i(3T$r<{vx$6ns%tReSE}m!Nqu0h*AVpS?eNCnH`Mh}Sl-8}8T-?lh$ZUm2`8WO& z84|)km&a64CPaE4FJi5q1anQYkRX2WSS;%Z%~i1sM!@_ma&m$K zn-*UrRLOU|>(O5k%H>g%T9tznRJR$bd3e}ya z;=VUt#5%^YP=}k+6a;FZ)F#a5WSv*|oUVmSZLmmG7%Iv!T+AZU?a$986sR7FrJRm5~=+Jiha6M)*yMK7qy*I$fHJl6+7b3eHZE* zO$cLdOSybA5nP=R0Vk<^KV@Frqptj9)yz>V*iJ{cx`^#;4j5)TH9Wm*wy63+2PH&zIKkQ1pnte;2}r-}ajh&z@A;0;Ulg`OZejY} zF?6xR^nfmZGSd3K38bZluIpZft+llJ@R$W}>26lnvrg$-avu&>iCOcG(v5mvJC+lE(f>4LPS zbPFf;hX}@&Di{}~mAT&{_Z%k!6NiDUfU~&FjqKeT7FLreS*PLDW*zQ6+%F9wUDHIF z+k>iaf6P0sr(33&Ih{O7INfWRZcS!RmZ{F1jBO-2C#@-B4cnk)*OIl7Fq;W4`gz~A z0;X`JYSDa6lY!*xmh&$V?@ejUX}TIN^kzS)&FU1I-xf7-JU!v$!D)ebX$tY$ti@Ks z!kZdr>dewi$?AYgLp1K#gA)XuTWk*~H3X3$P)>3cd_acB?})3$cHK3#@bg*CmDzOc z01L)-+VZE<%f&f|{HcKl-yR?_tvOds*@qwjeY}Vj;@lGS4k&w3w}Op2aLUoDYgjCa zKzW|9$$E19w6ihBkZ;`8#V`qDLVTBa ztGmKZM|!}z4D?WAHPUr?d2jZJX;{EXurpsX`geqJ8Tw0WONhLJ{#d~f!3t6m6EK<# za7__QZ*P});t0-p>c>Hwrk!C7t9Qw}j+#42`jG{G>L#?@ZVrjg}1jh%e&(sX^S z_0oG(#8LT?cT^Y0iL#HfiW-0K#x8Fw5#mFhB|$&yy{*^T0ZF=*ouoJpP}H3YbhZ3O zM5rzmps@{(#X9jUcW$vOAnlV1YiW{H+Q63dY2ZF}gPp?_*X!hee`vUlV6dAcI36!z z1;a5ZjJ^oLdm{q9#*0olWw9tLfQt-ph*c&cqAVNB?@VKd#G z45kf<4a#6zrcZ3SxzsqoBSDQLy*9fPyDxi-K5T<|wGILKGZ$ zE}-DRY*7#^%p3*vRfvN9hYAJPcMJPCHHfHhx~^1UJ-2u&47+O-LqTk>s>fD0R-te_ zfU#^`5WY<I`xwy_?vo99D;eemApU^vI| zn9D!a_=H>R#NDoRja~CWePbA`=^iAYBwn|S(DdZky}F1sj6tvl%7Gcdo|Nx@Ty6@} zL@jVH84XW(Cy{t>cfyk)_23p0IPSiRel!-Y!WM_b@eM|b!=MJTn3a{AEm$GndB;(r z5OO8W`3~Jp@3eoA8v`oCvlVNN!Ma!V4 zoZ7w6wQVs(9=dV+?nuAP2lHihK%%d)=*NX71fXE|Rq(>Ep>&Wh1Q_&1&WN|uyT>X< zY#*y?uaKBojEER>um#KT)e&Yuj4g{XOo>ujg4QMC=ES}g$&9?q2VpZJ1{(|jn8M{! z0`UsqPEF}(AcytZZszWn@In|Mc;}$Gl#)Wyf6=!(hTE+Dp6d3URBcRT(yj(E$fs|%XL1YuCO=t=vUW()cA`%)DAdX$fjlwSyPn&+0J^%w*KQY_)TH3GiLCy z#&eRvN9dm83_im7e*=S$gZZb-;Nu{AGx!6_Aj#n;<~+wad>qm&IDA^?;5q!3z*-EU zGvM$|RRSN~QO`$b%i*`q9Diwwo@MBrF*ZbshWX-_!+Snah?y)wC2fvrW|4Yx2>6zl5ZhTBjfe%gBVRdaZRS6Ub z^3!9_qO-%dPW(0!zb!j7dfz>>A3#%;0PWPFS=Y~{$uXAfjk z6$h<$if4p@4dY-a%mMi4I>>+Ea5+EB1UzV*3 z---qBc&u5^vn9i)W)E#sl>plAdOXe+vf{egTMHYi1jr`pk2AA{Y)wNq<|B!nH95$v zE}E(Y$PU!w?9o}$-o)%7YpN0;n}}xMB7Qp%mva;(h9YI|o*%#N@vr;lufks~$<9jp z+A!S+aWV-(JGH$XlpF12=(Q|k2UplSpVL^OOUABsqm4x`R11en)|zUoOMt9urw>B1 zzPxTE;Rv2j?U-J&jxEeYvOWk1H}-^Z=e^TI7+ZLjAiTOKguCyb9>UndvjpK(PY7pn zeu^zTOAv1A3E}>|)8jCFeolo_rQ&4HxW?dTZZVF-nj;^2Eps(*Qfloh$5C}f?1bSXrlWcITa)2S ztWF3jWxNms_-*+-hBjHYM+Wk{^--5ORFw?$ z(e^OB5Ke@5-mw*d%=(OH=LN~(`>n^rVsc~UqX!8^jz4fVtRY_VzF z7C|}n;~LaBnwz^Np&4t(Zcm6;aIX6uT7(99O`WnU)_R3d1$l!}d>ZyQ9xQy``)V7SOK#9pSEPl2ek(A%c}62fE_` z)_Dq+gn`W-%WJ)%R|}z#x&o4gU;y4U!ROz~8so^5VQUawk6}Z@6J0jQ_7a*v0A1a% zjrE4|_~cqAGRp0xI~U^XLSuI>h+}V#gL`_$!&IX0F-#p-oLyZBzNfA(b_K}Fvuo=& ztelWuE#gVrs}3_Zw#A1jD3e`5*&^~GaSv`-QOdw>VAyOOYnIhjChujEgsKMul%693 zPOr@K{q+bKQPwePWP%h&oMo*p5!o0L2Smpwrm(@6a#uP+C70B@XKfMtys3;QO$MM? zk`x_w_4Bf-&yk|(&y4dp1HdZiqYomM7Ejiitgan)k4U|A;!!!Hq1n`bR}et17eONqvWt}=Lx=f%Z8;Z2$Jp|r1(Kdemg-Lo3|Y7JgIr_`iRic69F zhABeEar_}q3IC9@5xGj3t7%|9Q;;;s)q4Y(+NoO7c`EgDu19&}BLpgOrDS>v@vlp% zk_C;RWu}$ghO>FTu86(7UwOUe6FegkAt$_?iI5Ab?wu+NM)yu;M37w7lz=)z-zkUG z3-45q!ZVaI2Ou~Rc&xV}`^q<%Ur~T}%<=OKar^`;Ik694wLJBFH7f?v%g(hgPFDY= zJ`i(b(!l5C$$&5OayH<()d54;Al=ZP6`q4fW4zoc`vfkqh9P{VaNn^{3?!fW=<{tl zD5<1;;vL?rT>&C8Aj^$(=Oj?h!`-NFjINuR34+fiK|c0>gdk%t(-34V_fMT5<3Oe% z$XM?GC_%xWtFHt=F}I&D6H#}f+IBWO&8TRm9E3N|OKK$zrAU0UdTRAR$vs@OF}Z0Hd` z3E&)}qQSDB0+bv{4syWzXFK3n;h7FNHgu2!zN2=Ar#VJGQ8(Ob_Khez>YTaoJYK{W zzEz&5p~^fpWi@$n5QI6$l2rPN2t;})KSA)=?fFN!LsQ{tj%Y|7$PV3b*VEGDjz3}K z#FJij^2?h=lLHAJUx}hIks3%n*-XcaSi#7K6?By_HGOx8#+tg))T%6sIqYAH9gjDM ziZ*FjZ#R-S1BR5m951Bt)7o#%aSe|qd*U5Z2(b`pX*o)r97>(iIwK$8wcULBGVb4b zp|?L#s5&VWt8L6`ohY?%<&XA@7DIa@p*qeAi~Ey-;%bk8M?=d<$YVPPFd!b`P3VB} zAt!`p2t~Uzq`A1}S%&m#lsZ0?I;Hg%9TJ}&ho@{#?qYcf9xM&TY8yk3thGdHm4@^d z4vBAg=N5B9zYy{=gf_-ZoQlW8c-$|K`|-G+k6(qyxOWTEk)BGJX<6>w>a@r42qj*D zC%ka0-%6Z}-@I=N(HK_ZBs{@YTI|W5jNl2b0A(lkenGscT61JnBB&qFjc7;H9+2i5DJqUF9FG=s-#b)oq^3_T#Ressm%e7vT)Vi@! zOTwh`tv?S5jMo)eBg& zywWGjfALjqO1NpRVz1Y_&1+e+a(>Cb`1x`zy@}Fm-BGC}Cye~EyUMlFe4=+&YDvPe z{O@lm*Lq$u@VhFtG#%1=ejG0U<1Cz#)cR1Rmb-aB$UQ44Ih56lCPif)E z#33>TYWEOp&X6+1Tk2A}VdAKj%2f5zFn4Q`anigH_et3-Y$P_$61Q?Jl;kEqjL%li1p>;ayv19-OfoH)@{9v9o+Favr$2!vl=2mdoccx>>e zGeGzyvq$*GI)H;3kTgA1VWP3h&q^RQrL6n2T4VCrs{=T;z?4CYl3I^a+`WRe zp`>p`qQ6=8G}YLX7-@A4H1za;p|brTXnkwIV0p8CCbS+KEOW!A1M_V)w2qCJTW=4c zX?ruwI3rDuob0QLYbOiz*K8FrZ{gkvIagB(&TrpcCYbi8kv7`i?K@)&8XaaDACIaXC*m?)( zGT-pGPI_qqif>MR~;xl|=SMhDAfU(xSsXUc?qIFYRAL!U#bJ%7kO0p_`g* zrz${*3F-w{Gx)=@5fhZ&1H}CEppg8iiM*8`mG5l5^~J+Ta+?=8Z;QfU07L_AQ4VSu zqd^CX*Da4fCHAt#eF+hsU)&uAZbZn$43M#z#Q_8dI#fjfZ-kZ93)=Z%6ZzA9t3xU4 z2<8^_Dar$*U#8)}2~0rYRhBBe4dmNCeCJQT{>7ht=?{M=WVM&g!z^8K^U&EmFuUv4 zuv%YaSYuvaUa&TQ0sd5d*1UXo21FPI@M1xvk`NLA%JcmXd`~Z0(ZjLogUiNPk!?(4 zu`LIE=g&_}cWa8+$>(&nbzeld&fo7;B0799-(?zfuKj%Pm3q9^qhoRg2urJL-8+e{ z_tx!<#Vew~Rs(0jIZM(AABC9`eE`|Ta`yV;^me@Sye%_<(9|hV1vZ7cr$g%mm$fZX4N|vdU<#Cmjigz@q_20?vU664W3U1>whI*pmjz3!AOq%KrPKk3bzRT>akpx5;myApOnGKpXClydV zTN^o779|@Im6tgwBl&2+%VcoAzG-NpMoH`K_l(^#o?_kx7jnpS*>Eu_#KgfR2aGlnL% za6spda(knfU7rp41V~%;T{k`Ouc(3%> zeia{}YJ>)=Vl^8t9u6b5%>{Q|V~2>>tkzzyx~8U7? zXaw)c`?ug%EhOtJZQ?F%7RCMK*m22GaGjJkvK_)u#S7*FZ{SItG>%^;IQX;D00=`- z{@D7TWiUFmMAV>s3R@A2?!}QKZcw-d(tpUCqL{og$X|RbOiR|ZRZiCTMGlc&Cjtvp znH^4gfxGo~Ff}EC+m%F^4ozXi0iRh?KHTforw==QuWKC(g*%OY!x)NX&(T+k&vwQD97t8BVK7Fh(GAQ7=P&XVj{4rzb^#04H4t&>1Z2(SQ`56hv?+zNIgyj zdP^o^$|1FhIFb|5WJsZ|4!ilEEQ><`oRQ0gR$?!8h7T)Y_eME^&@&6nbmrQ}ZxQdOb8Dd0p#Hh}9o> z(ii4yPz};K5GR#Ns7oDT?r=bhfh8?mAxVEkk;l2pfiSiuHa}ienL*!7!@_ z<^Xk-fquwaF&shot>P%(dGARHQGVEK-s$)C%wSqR;uWn+tTJ-S8uGlizHAM7YR8-f z*)-~Kkl*y_Ag_~vU!Dx;6W&)vjNXyj`>@SDuhsRJ4K{5JYl^+eCM74cnv1}j&~ScJ z3s4qdyxmejJo}58;=d=xR{$;nUIKeBm>+9|nYV3oE7Qx%xgm6S`3#Y@ud(CqThp77 z)zHGTh^)sOVV(|Ik2Wh!+oRzhChf?UIyC8}fpX`q`cc~@rn%&U?eNw;s`{Q9y?BG%b)k1%W?&)`)Lu$_iC4Hm&u}piEr?Vv z0JoK+mK?{!m2@>Qaa6sb)`Qs}_XwSehs&2HH%!6pE=m0>vMqSwHSbBUcfR{ObMS*H2 z3RR%u#`t8ZuPGvAd&&y{gltlKyrmoyEVp#3-x@}$2wr7h8Vd3l=l$!Ti5WOMf5ZCKA;6c4l5pcX z^=in7Awnmoc5X7Rbv~{xy9ducg!>Gu8;(BE6-rxb7lAfL+uKtkKOHifC^nJtA_lgO zCbs`$(nN&p5Yt2$R1;0u`)7?N;<%n2n)q@rO(*!opzsOhxl}7R@QO8cbP=r0`QB}Z zDQ(8RV!Vho%y=+wuw)$|Hy0Mch08!49=bdl7K?SL+i0MNE@QMB%EL#ZN}qc0=Rs=# zX`sTEVTn?68qXh|l+8A5gBN?mAULT^HN7X2b%mxD^oWH*RGOSe;0)D&}Oz z>UF8_BV46IjTn_O6RfJbcXn9aJ{?vgD2CPE=(=`6NzU)Ky|<$nc__bO5?&qlK#Az< z;aPwD@h6-xGNSJFuXyFM=4G%Upx@Zzt57t04nk9q_le9%0rwQufY6Ig6gFZ|)i0wYym0bs!ZT7411QKk+j)k%gZW;*L|7cp75P(Lz5R=4?9VI5 zgUN)~{Su0gO}3-6#ICSG_?)dNVx`y0+36*yqpnWsVlodHrH-E3G}-v^$%}CK8_`;F zPJ5A`GH|X(13WHtOY*c&!8756Ktpl6&M*gMMz{~= zDB{-SxD)#dcFtMk1wC@WBNAXZnT!AC;lBa=H($c7q3u3wa|d@z@xGY>;(Cr$0!4M^ zhy{HyU=r@d)7e={TRRCFPK#SGF=2WR;5#W{80iB$NWl2E&Vqy_uB;#n%KP~=O3d#p zKvhr%X&1ok%{l{}`4TnuVstM|l844K@fsKb_2_9ioE>?l9I)p&Q|3Xq#hEhS`%rpX zey77>C!@n;zU{Q!$JUqY$r%y(@w6<-5O*5RL0y94EwDxr)o0-_gpV_EGRDW-hy+Y| zCOa@e-a(83+!go$q$?x24=)4?FinSb7J~8@b`FC!13xfJtK^h@7+=lp%zNv$;pd?U znJjPikr<;6mh&Dq4Ae~V6LFGn?)I*fM3g)D36~1jD*3 zhk*)QXu)%S*Z8zyzzAE=n}^{$708J*3YxbW-3OY$1FVLH@&)T-LFajK-xos&sb(XG zfeD-Br>Yy^yRE075xYJFQ_1yRzZK#t4}DFKukcGvc;huA$s)etb_+u_edh9j2E$m^?E+$rW-^m-8h#;WHg4G+*J$v^giJmo53f&Ob`E> zA~rGM@QXZQ{LbdF5%hx!TEDs(?iqnSUc?s8J2Og$6{~{La%k6*ZP6hIwDowp?cKXQP-gtB|OaC7&VZys4|2+_6=5bJ!;x_SNdztzHt4;m~FX6%CTt3kvOe5C`pRuQb0(T4GC^x`%iH34D| zJX!WYeA)r?_3e}43kY~>R?#)y%;yw~++i(JIkttxSQQ2IT>nutea;ei&FGHarK~VFS&7LNM$rmq}4baxE@MfT63sw zG9CWu)Q1@uBLqXwwhqGvZ_I>61g81!&$<{4_I3EWpgQCZ`b|@VLmARE|N7p#S=22a zNO**b2P}r4lt$Plcd8-(x~Kt5mpX)sCHlP9;pK8KXo`0j9jwuj1cw{FtnKcaYO^!k z7PFl=#q6xv+bP$oh!fQWus-MNGwo=7kGFrnnlUs480|x`Vv(1Nfk7A=%IKzcRdwT{ zF7Ch`J!s3s^NXD>vobaxi@J5k8jgZ(2qU4AO*Wglk*JjN-M%QLG@EC!tQNLfr4tNh zph1MWKTx!>aB3xEpa`Zv?=W>$9{_{;kFTntN14{w6tTex^(N*#C+i@9QU`ZU z5lfD%KRhWIm5kWAWJZBu`l09R!m$N;? z%E{6faB9@}Fqa80n6F#|BLdSI#Rquu>8A3Ehu9Tps`(;hp_<47aZ{ z2SyUi9$UcHqN7iDh6#uA`|9UO`UB(UMgU21SQV>924sZe=mdY@<(by*B!6os2)M4! zz4D-k>C_nXpUqq-oTEYjeTg5Lk+YdL_9V2yopwx5R)~fv3fYI2F}{l1T3rlCJXi6& zW$wUnEw3(O2bMuoBQTaB#1m~EhBn3gByzS*5~-;Jz7drFMuF+^VXZg)#TJi~hcUK0 z8pP2$Jx6G2$4o-&iwiM>5|_i_OX0MdJ&z@9ZWukp8sSVSu|M(mSk0MG+PA%n`X4dE zI|n%5A-#A&AQg*<7uethF3|#_Q}6;8c>!wy+au^S-}|wW@+05-gV!f3?^3U5nQ>ja z{*k!{p}6a!wU>bXXr6FM5>5qPDP3nX(LJ0H9iz}sUKt^jv^4v;$Mx0U=U_^!!0dphk}P^C9di z_47K|GWGMN+I<1L%7Bs8EArz8mG*qG_xuB8f4c6%vI(t)Wn=YgQ>mbDTQ)REso)cN z$7SA;5xv+&9S2u<0b4f7x*^{maFG_Ee@kieewP=p7JU62ga&1A0H-W7 zG-^Dbv7>Am^o^$!L6ua42=Q0~IJday=;t#sUc`bo>pEqd zC-$`{OOUdWTppL4>xoIjQ@rw8uUrz8tg={j*_2AEVz-w-713NO57#x^nDFm~CeU+! zWyeKon%3Z7M=`%WD%fZP8yuZ(g20IG;Y+YvLw~yjjuF@sm%!kOv5>c5tMW077mo)_ zU8*WsZL6}wi*WY`*_^lcjRNJ^Y!=gvWGY)sH;akm7SHLlR^fmAHF+FjCh(0u8574L zhN5-$;e$(B=yWOez5Lu_f9UeF{r#h@!G$eI4;Qu5afw2MV;d_jeG=|M>m;UVjGsB5 z;QS;Hmtv}XK<5@ugx2qt^BQ|77eLfYD6pfpz-lk>1&ORrTUg@-wuwBi1@b+6(%o#W zmt0-j*E%n7yYi+C4&8&u$M&Wa9huH@DGdErmn^6zg%7TOD6?mg*UI(Ne4w(^l&z6btfu z(O3q8y)9kEIE3n8(CJbxU{aHGHQa|^vi=|t%U3da=v|gT)}=zEHFT|v6|OoYzvcPB z*#;hC=&@}rZ7&h)Sb4_JE!NyX*{pi;S{KHKuG6Lk{dbpxoou1OjxTe-V|}}{2!JiX z*AMu37n}B9=?g0WV*t#P8P3h!;7tg47~HwSgHn2f*LW!KK_L?XrD&VQp zk6GgyBxV-RVF{%Y#GT7DMgYqYATwtpf=c6@#9|N4Yis>7&CA)AGboT$bW(cu1CfurpKYrtcT0HoB5N;ifhfD6sRv~?Pp_?YjA%oWl&vC?@GvgA zIseHF6bKpyHB!4HR4FJN$XBisq}9>q?G5Oc-7&6s*dMy-;IP0fZZF3&7`4s?wF<%7 z3{JPeHZK7sonZ^DOdYTmgl;#<3Q6g6wHN53PvH`0a9NOfC>P1sc;WZfwzk#_lv+bu z!lbyF@hhc0?r)0XMZ&FwBN#jI4%c~m-&O@)z}nGHG#Lo-K3Q8Jx)Pm!r+lC#07Hoe z;N0TAfE?2Rkf)s19$DPZhZs888rr4pLVnIW`s7poWM@ksecB%(r@YkrOzBZuAKhPi zB!P*oq0g2c4QQ#)l^z)kpD#T!Aa<7?1t=aUJqutwSbk=3e4+fz0C}kV%pmz<`I&+8 zrSda_<;&$~0hm4IhXIl7pKwn_mx$I}3eP`Zq_{pWjOA8A5Lg@DS9Qt7gse9zvPKkH$QYI&3-eV$Rvb$iS=G1%K~_zgbqHY7 z_$2PGLzWrOQf%Se+=Q-`Wpu3&bgguBol%c2?YjwGf1>C*UD36og07V{=!&B$qpQY} zBKZ2i!K}oG>hM)$wbTXGY7@Sum_H{j#*KOr(^Tdto6PEQru{eJY?JxnPGpKTxHYF# zHibtOGK-@s+ixHj_%;w zQ~f2}_1Dv#_TPxReqF2+{f0XjFH+p$Q3ZE#R9(31ej;afHdOYKf+jUNx8QmRT z#oc4IxT_aECWe}EH`GOULyEhh67GiTai{$^;!Z9OgIa3HaECKPiaR{2;4Y4;3wI4d z$joqeY!!F=YH?RDiA;2waTldKF4m15#a*X_y9U`!`)|Zu$JQ*>JJN6!cbyvC#Zh(P zu0bZLxyqy>lZ+K_sN(MNTHG}VCKJ%`H}14ulHA5o#a>C4n;fmDJcXbUd!vTEQNtdj zx0Leg1iCn`F6=dlD4&?oR{M0TiogA}_-hhWU=eP_U(qe96eg?SGoBqLiw0>$p=iWm z5yTbLR~js81QtH4tl&7lE<84gEHlJojm+{yJsul`mZFE$Qgn+gg~=`WEa9<1a#1Ln z@fbvxBFHX9jqt)}6+FiAb>p!?e3>C0Yvh*$^>}O$V2U0ROwldE6eh#qvxLV6DMq1a z#$ym;iXg`nHG&MERqzfr4FjMr9W{PfcrZ9O1pCvptNHhvX zGaiFTQv{iY_aUV0kTLp;{VHN|^rD1dIJtR#R_NxeW_^pI?dZqcSN z*#@5_JT^!-3Pm#>gLqQ}`37DuRXo;7IB|U4cx(`HW{Afc8D~vB9vg(5qKA}Ibc;EK z$vOBe;jux|Q7D@67(|^S$T|fin+iSFNjq_T-FR#ecRn?<{klfpnW)EOlfYB-l6Z=4 zk*6@32cIQOHb^}RM>8ga*i!_#r>GHp_^h(B;|RMk*(CZrI5Sk%$vzwEaoH&R^pt*5 z@h8eZ-2zaP1f;MuO*Y`PNf7EO38kV?l!dy5 zAxJZ|=V^td2Tr3npS4L8(?!iX%;M+8`>;6sI+^($x((Z4#DxN=vD@6y>FEfe8{%Elw4d9ypC6 zlgmuCLK7cW_NX}01g8yR(@b$%BR5So;Iv6_>M1#;qEnQex`ii5KeaejSbE?zicc;- z)e2C2Sixx=X@b)R5$cOG-1lo_s7(zxZ4{z}J z!c?s^6~~%jwMm@%#thL~Cr@o@z-zNW)mx&fh*U09B|=q`RHYF0z->vaD#=y#f>o_# z6~~<5w@I{`F@9@gtF2A=Z4|D0OIH=~%H^v>z-p4P6rx`EbrGv1W7P{;wNh3bbBf;v zF>A*7t&y{~H{rKY(CRH|RYWb9wGv^gN!n6~dg0f_t&+S|FL2dLTye}Pej7xtUojV{ z_9*{BM<1Mxqdym%(gGg$i$6DxItH%}gGb9)Yw0}nxGXx3(}rOJ6$4+}o5$cK zy7{TWR;SAt_L^>ASk>Z7q%8bc;0+74ERy!AGO@d6$y;nuYpf_9e{XgSKKAR!6ZmKi z9@oluKRManO#kOjYa3Kd_{{J*09Dg%^N$&NoM<|%gSQDBfzj5h+i-s`+dUuW zo)@AD`h>8Rywm@K++S#c2E5S#_mm?1TrzRe`4$e)!FWk0Wl#uwrBnAR(4NJMFqxuc zy1^rs9LC)d8V1M{Q!!0H8fID)H)|OlTId&_7yvmWTrK0dU9uy&Yk2A znTvYtYPy?O)4W>*DG;F%T3dmL32LjTtpc`@C>n{a5(j|(C2*Ley+Vws(SEv`gR;21ft}|LdD809-wF+1s=Chgg7T zX8xD-Z>XLB59+ZEbH`0NdXi<(aoE|=xEZD8IP6rVNxIhlhhv_Gh@*gr-B-;!P5~{l z7P;<}x9${^-);K93NR}}h~Bg9yCa0;7qLU5jt>|1%!KEj=1n#; z{aeGzmWKZ{(Wdqo^$5^r@Db{rq2&~3CMt1evX*yE8p_1P{y3=ND8sLEGKx=EHpVms zDZd`hETnNkc^o#tgzy=b+$XzwhvU0mO6Qm}(~kqcO*x5T4lvG8RWOd<1>RF=Lr+oZ zLCS!N6N3@wLhq&o`8|YuDH6AE7gtk4|G}uLZe`J%l)(x$p8PP$n^bLQs&*eWmz)24 zJc~8I&~9l)+ZJn%wkdXihag-iDwaPgzhUR%%8GJq2arrT`K4B}S_fqh><5R){3uZ> zT=f+ALnOTt1m}o2-5n4%1zWW#X}l6)6>16(<5PAJTTkFQl5OnA&hAwtlXDhjYmQE5 z`yxzd{@H85U&f3)<&ZJ+cH_8Gvj$!63G+5W<*C@NntKRpp*Mb+AOVOrz?^w8u{#z& z6l=$~a!^*Qj4OL*Gvk(2o%Lg)cZO$MHxseG=_%}TGQ6FPZ{^ghwvLlOI>f2?R*t;t z+v)IjI=+>I=K6MZc)L2jmD8~Lc1?J@CcZThn%8-vPNvf3%1vD1}NOSz;UVf`3% zYn;EQAdM%Gv9stBG$tF_O-F%8ICRKwbZ8S~bdjSG#{vfu?k1ygWV@`?YvgF6sz{mw zWHf{vmeB}D)9g@XQ`i#4$d5p0kc4zaeF~VjD9QzuP#|tV3*%SRNfV9ZpryBEC&fQuHX6 zU>{(RfV>`1Pm#manuwAY_T$*=P?AGTP}1z!?8J7b{K_5b{84gCsn-l8sUj~BC9iUx z??{Oi9O43E>4+qjAd`rLukoe_`yxQ4f>lPc1Wy-)WH<2imhSX?P_5D)gikQkXF0A( zb}<_@?u+2?+q^hJ#u#&e=tRsU!|4s{-8@``MJ;dd-+_{`0kNS`r&iEkqdTG=?6qu|?<k7?KCo3jLcSH zY@1Z^E94-dL||8ma+OI0zBT1a1ObQ1X($=+t&ut33TpGMqBh?eVe_phR(v}dL12W< zw^N~IRjgRo2%B%G!`tatH<4ni1MpVIw}}+X6f3rzNU^n{<+ZV{5jHP1TBj}JOMGjj z%(t%zZ(kGN8Y%PbYs1^uz6_VSh>2@~B4)l6XbhWtsv#puw4O0QPoznkU*g-ya^|7+ zunFUxR1_8@kgiUT6Auzept{3~R9CP5JQ{G?b`Z>NGk6EVlurpN3P6a83J|_EROCZp zNyIv3Nqn2=_!)ulZGws&UGzX8d>c{moYv08`kLQlDfnKHkb7^ps7h0{z&>zP0rPMq{a&1wmvf5=}`2rK*avqXr(%@ z{CEEU2hRLdrotdW>T`}b^0`MH&D)}mOF+MR6dcPb1|nJxRZo7p&+X|0Pdv92V{Qb-E3Wh2UL zS=S^P>k6~w+cmMS$uV-Lwc0Yi#J6^l8{hs$c>5ditqCU1Xq~>rm-yBM6SXQ~w$z(m z8{e8>;@jV1UB3OT_|~`q-@Y!qeO-KO+<-|Fv;>GM7B_tE#; z{e7-!;*eGBW=C^jjQ`Cg3J10N-iUJ$n&e=VCR@Oy;t2RoST#$x7uNqvYjs_nI7|@= zL3}B<+*mSOWpTh1%#t3Um(5`abBLn#?4}H!$g6UOZ;LY|g2`1?M9xFX<1lMYr9t63 zxA(hXoi~uV_{{Sqil^++)V@qhN7%}B!sc#a1N-(+Y3-|dItE*_1uZe`!WPu9LeN8y zpKl|%ml!tRMsh#9DGZy7G9K$ja<^?Dxsh)JjogWZ9mScz&e^h&JKs)(x601>*2tZ2 zg`IQE%Fg*VA$MWPET$}(Z{r5D#FF_oA@sEXKhT` zK-~d^Wf3R%MG$~*6O~^Uu>*3{MdaH=<(K_A-|GIHZw=IJP?nfo=o0g-fqGI6h%6*4 z%|cTF)D`zBknm9_5Pn4oHH>~Z_1%R+fKYqa`l27fWiNX!FVk+JTGClJzEVCc5W`L zSPi020__a7`8GlP47C%E%aurYDz~eAo4~nKLj3rIaNhsp+@G_#A7@hyXd=o2G5-Lv z_FkQVR6-CIq(8(KOn*?{Q~p~JlVua}a6r)w zh=mI%SJGa2JS>RfHVLk zK5Fw`?Reoer4mxHgJEi1x7~dmqfjpI$Hg+%p%=mc&0r3^9WYU+hQOq?q}N>9686@# zaHRiF#(q4xc%EX(%`=0(0sT8=^e=cgAjc?7j!?(h6_*PjC-d~3cPzFi&Ou8wcbx5Kw?zX9JTkqYWJU`g{E@O=`gpbi7R zhr@tkiSNzF!&YZw|Fix+2|w5w-|zJINdUqDX$n{OBQ_ej>wPFr?!4gzoRS<&u6c0; z>nMBTj7kxaA<&KNCXK_iTcaYoxvtbd+YfP=41;Wmag4As@y!0#ySlPo)h}7!1x3DH zU+S9HxX?8@9UXX(|ep3c8-?`sd8bGEmvCjo=5Wf_xXn}u$ zS1oGbGbl>^o{S+Cwuo5VEc6_w{6Yl}Js0Hcqz?2|tqHl_#BD*Fyy9Jlh$%YRO0H^+ zY4N(P(@1izWgb7Yx!p4C?B&Xtc)J-COMY*2&gJEd4cVO8kd(|~DmL|F z$-8xu+*Uvi;q2Qkxy6o}HZ|K;@0tg;wQvAVbZ^yHKo(=xuH56%fYgh80AZ+MHrBMN z9pE2SYOwu|cj$x=ZyF$MPhEjBR-pm{-HOt>D&HTO!&niBD*qQNb~M(j8N4}*V`SVB z40x+qzdd2bwth#UXw(D3p{O;x^k8B4xd3gDRvAIg^kY-Dg1pv?E2GW{2lItq(!k8| zNo+E}9G8)*HYA%YVn>#diZJf^qV6Y$65_&b^%l2lvUa}rzNPKB3fN3ZqZwjdu{M=ze&Be|v+V@oPlJbF=iv=3E`;)Ug6db@FP@>S119-2#l^k8^4 zmlv)O4_V=bdj&XP@T`d0zG=4{F%H7`uvr|c1NST1oNG)VQsVd+skLmlXe^nl{#K}nU5-l7Wh;OEf84m<2w z&w^3#@aH@yM4diQ;!c0+r;a`?L9*yuZ%!$%VvxyFlruOm|4Gdx>r_q76 zj%Ebv05mrg6c@GRrP&%>iFsQ;0&c%*?vrRv6fB)Gy7@A@Ig@kkHL1COiNDW~ZUNZs zQW?ttqQrF2$S$o2xw2scVs)uIhv|L^gbWI;l&9RAQCxL1QD={5Etw*5Zxyr`r8~t z_jnfuq7@|&-JgPJ%0V<;0iqWGM9Tw+c4Q#BFMw!A0wO+~ABfu1l4p1yxR~TMZDW9K>cDuDV@%umeA!rL;S?hQcQo&c2(=Lgg(()@^z-$3;I3J|T1@Q5Hph7av7r>jP>zmwQyO?K?TP?ejhil4{8h@|Xm9 zPl|2pe5QTQGzajX5x}yKAb_847Dd6Mr~))N882KE@ZtQ>O=guz%SU_$1|>4t97^H< zDvE;hW2s1z`vgdTodf9$-h}~)aYRLQ+noYwtpn-&3K%^~7>QqkFnTJ3(Y^qqrxF

    6@nhD-k#4NmC@i|mVlDlULpE>qe>sWZ+>k#>ncfX z#Y8|#y*)Pui!4yB#2vosjhn&94L=fhFlZ}-4aboUeBx#U*Sy0dK1u^u&8AwJg=gH6 zI5EqQgJ;M?jqaqrL>xj?-1(BV7czehn)gvYtn!dJ8mY7;~? z5ZAfy<5V`PQIz{!cA3SggU?BW+@j;Hx;I?o-tHi=cIb$xXh$pRV9*X!N;K>3Tv2L= zJK*YEUYQYb`!{mq<5k{R36~_#a&?ZZ*0fl%+QcJ4pL*<3aqQSb(?r)24=MJT1p=20 zzmj@dh^$t`5{tpOMQ>msr3gyrvOz=`mVdE3gpGs&A)qSDfK`!vNMRoq zjfAFNRfjavSPA38;J+j{)gPvAm$07LtI6jRxmYi!Siaq;D16sFuFho1USP9bQ?f{ zNBU&_EE>UQl%E(v40i!I0Vq0#Jy3f>D1xY-*eSz8K7{{7!j4yx_$-bxA ziH8_bi^!j$-l%HZtqYco;Mua#Y$Je>f&eYs2p|q&l!33yMteVQ%q(p;J4o0C3ve5$ zaXX77v+^>GgrN!T&Z5oB+I);8<*z&jYdPBMzgZ2&qx1q$ff^K=1&u-`mz8oo|T7VbGko>s(8`(PwyB zTZ}cbd-Vc0d4X+OK%&{bz|CI3S`aA3mP*qdjM*#{1&Barq4c~5{@HJiodoAw%^YeYQ8$&0#(RCI7ypF1zyKTcrY1MCcA-{^6l~{Z@#E$liyyXdRf`WF z9AHCh1E4z6X%Ppw7+8NYuWbGA^nuv=W8*p^>pxPl{%u+RvjJ%;Ig2~(%~<`mu0A@6 zs}D@j)gO^HJrNbi3}D*00NjknGZqPBk}Z974BqR5G5XIK#C@d#&LIAl+Qgs(WMBc7 zei_1KE@RN%jIPBP6e1+6A|Yc1w*vu-I@t90dp zW zbW5)}6Hc*C;<-{(RXilIRchK?S=wl>B6<==K(%xV>Ia?{5#lnR>Q{4tFd1`XB+*9E zn$$Lei^*aeOTIBO2Z97yG1tF9q@QVo4{!-Gh1WWSdmRpe;6xAuV;CSx4p%91B;*Jr z$x%o1Gmbo3NTh{jtC1@EGVG%d&WuTd5_#}3G7^RwhJNa`8yB2Fr~#7CK=mNU^wr0K z4f5D7{kF#l3bA!o8sKX>_6b!!AJ6fuoj4Boml@tK$ZuOoQ2W~M>=_tq!IIc+y z3xy%&Rqv-SQuYhTgfrr?AX9h@h6!*}1#NX-jNj1I={;{R9d2U32^9|-8yqdeGBt79 zN=T7jjSwVQPFZG?t2CiVO(UsdOgCsUkXmKURMK%sneh6kW82qqs(ftld47-%j{oTg zltYCcMtK0Uh7cYJXl?41SXK2@zYxMiCeAkXV+|K)SShMp31$Q0y(2|wuuDH=RrFvh z7ZxmAR#k)-1BfYyXaSfOUY^S1>Tq6ZBm>)aAKRx@=BtK54jIM0)~S%|8fU(B6g+Iu zq4?JHeEzTuFXSR%TZL7?#){%F@-GHqA=^CISHi!9dx3p11z`PpJ({f-J^L}`5M)%g zTpRnbf-RRO7Zh0rrWG_~@w;??8Vf;3KQtWO8?_4j42Q^M8OhJ6hNHXUs&mmJKO?_N z`5ATdl%E;5>LmP3xRvuW<5r!7pMhPa{LGGcb)27Z--&T0{0!T~l%Mg`R?5%plvXF< zXNOrEkx2@>a(-s)D(My6D&=Rgu`7EWaaCnB$gxffCie@RkW^#buTrn5<#-2OS}F0Xv}Fu7UbPCe2%0;JG>1=6 zKf_@UENBh?`$|Sna{O7em4I?PEil}lp9QRyJ(*u~XMI#}Imf7lT^~Uxp z!_u=AV;XoTn-p6rSRAM~4ub#}$)R42Ai#n}0h9=xswEJ;lZmK0!?MSqPC-nD6+_Ms z!|ZYfLmGLv0vJ?hk?E~^$rbG%f1$}cc+8n1co7Gr8)yiak=|qanhamIBHSkFYaktW z%*(Jl5%zE-iU`B+48O6c4Wm)hhv%>1V7-@t`(G{q`D%a7n*?YS96)dZ5{I#WLcV z*vwMhRIU+WI@fxf+n?ba%@1Z_7o3|e;asd?IL8{0l|}9glr!~_0+oS5f!$K>8mr{} zQLt>w`AP7~pgx*SKwI?^(Ch-QWW28NO13d&ZGcyTyNV`vG)h=(d)kYPLzyRgA!^Ck zy_dy6%2XeqZA?u3g&U{pt?FuI_5IsT{Rl53EAq&?y?>-1P+ITar%y2E3mWVlXWwDE zjBF9PA_7~CST^e&&f^}f*c3V}HFdK$wMSz{HQ>WpLeUjp!uVUffs!Ns^UY*~)|%!Y zuz3`CENTjXRKq17&oH)dRFlh@$0%&<$0`piXM?_na(WyQLEOFlUw$b_ox#`GFxxk7 z<5eA3jaWCjwiT{Wq$Q2fpU$ZeKRc4^oIwUpW)n?<41_ex`@&eGpblpny(Xr3_yBbn z`2avi#&CJ?K+H0>GoeUE;l3Fr*Dgz)boQZPpwr(uUbsBL^aN8G727tKBt!}Ap zmHM!^YkZar5$%-Kq&THNS7yQutt86iKVXfprq|{=D^bY4Qt;Bn4l`S1p}&l>_LS;f zTB_&P(jN>uMjlXPA;|H)D&+9|d*Kei1T`izJz}OG+bEz0z255rYKZGGLk+Dq7&W9m zShe}$8@9MyPYrK#T-)s9_=2t{*=$(IH1}<<2{nTXrEYS9oYAdOMavg?%Z4c``4vUT zWYJBU=cmFBP{Nn}73&@WSz-#momfppybd)${^*#V)8e_CxAdP5YijGE1H@>hIF@A` zGNIzwX1BTIua<-P9JsqKVBo*4e?c#wXab)6C`YBEQ5@BF1V&deJapH~V-6khj^20-K{G9WGbEkg#g)e&1i_Sam z#V>j3bhr02|Hse%yPsSA^S|&5|Na+$@t1!2SAOMJ)~tCMJ}-ayD_;4kUw!r3U;DLR z`w#s5`mg`SZ}RgW|I@nHy!N+V_xd;d_WJ+)JOAf@`LDnGdmDcL{{l*=w$X2LEL1=x$otWJMB7Ru`aNm?Q5jJf&rq{7)YFTv zxYPVyl~#{7>6YW@b<2wl!btb>CJOu)Z{x^drh#2ciFY;b5EdqXTjBfA!P9gC=uoqo92#Ud~u zX^Gd`pv5euk6yz{YG&s-w%5o|)XaVcey@v-(9W(^{$pq*w)>lGME6$bpwe%~O0mSR zvxHjOIs9LbC1~*1W`8X-3tKxQF-#5pG?#cShXqsnFpcO6+g*O`_3R=vUgqN>}$GruA?_v_kr~*f_zg@^l{t70k zW^A}_JBuaAcq?E0vdkXwVbhpBd}nK<*c4p542c4+6EZkIIwY1r09y`}MkzX+IWs@+ zv}I<%Uy@Zs>yWq7?PhlSi|p2J^w6NZ5H70nmi}){i|ermq>Rqxn!HZyC9M@41M1po z5|z0_**Lyj8ppqvh4bwy`2!FCl{Tth@v3T?{Dq2|>r9O>KRtoO!MS4>{@M1?>qeQ?@)}dcLztQ$=`KZ`}@89#~R`nX3aDc%GcT4&!%nv z3?NYnF3@XT2 zh8Pi|En_@ph&9uSHG6W7{#|d(WX!Y-at}Fr!?-acPO#e0b-Hh1V=ooVuUfEw@a8_L zdf-cvu~DH6`wq-m-KswzgkKz5JRbr{HXR8TeBT>Yv^r1P#MUCldIaRe3nCPc-Vi$( zK8j)9m*dqBy+s@53+Ecl}8K+;GDt+qH@f{RLZPL(>renp#N*}r?K*E0X^$qKR6Vlx+rsVGYIAc!3V z8F4LfDv1CUvGWna^F&lvu`|j*B;o%L@Wlx-8bqtE1|A_;b*+k>WjNK83ZB^@cp$w+ z7(|S)BLvaZd9@GSP?QI@DJ3`}(kz3$TQY)=asb2Cu60!)%{%6qpJ}xUNW210~Rnd4rv#LC!=Z z&`ksj&Wl6YX?5@75Bg;JdM*hx>+Ku;v1TfPZeeq9;d961jzhE(Ys3R>X~a@DbBwriayM_n3uRDir(XmnJ8imDYb%XQS?DJCizCS zR7S^ldvnI)>0(K7A>pekivE}_>hWvzTP2F_^+pxH=o3oXN!rH?A{z*V@Z4_8R1!t+ z_ZDrK^mh*&=AUqwlB$#w7c$J*`UkvK9VY{N>c%M)K1Dh5A-1fCkkRt?0dhpc*+)SKntK`TY_I}8c?q&R!_9Nt<1wF}6b+*T!YAt-`NG@2YNk(y80*p*5=R3QI$Cg;M1t$?veH;6 zEhh-U0ohM5wxGDgwZ7H|_o(W;>fd9`aio9&-RbpEw%x55kj75zo4;$@@W;Fph}5@_ zgiZi%H6FoD8UB!EboDq8uO3;A!*hl_68%RgH<9~*f{LBYVAl$ntwc8aWs?2(oO zv}aDS2-;1h_Q+M>PVh!$ad}VxoTb+UyJ!n`YkR5>O8-(VqwFo-yfH1cTC4I)ET;~J zNhhc|m7(S(-iA?(qGs;#-&Rv@iU^z7@&pX?Kw=ns5GSH&HCbgwVMDq;%Az881stJj z1ogE(z5*7rpB#-V``blJ7>c4-nM24eSW#Fp`ss83H#B#*rvLx&2M#j>CrC5>xHFV- zkPL)`&HiwF#AZ*cJ?=u*C~lbSX|RX2zO!`cG9;&4f%J4@v4^?-lv9zS?)1~okQ{Z$ zP{+>;&gF*&d$HC}PfvHnV*j&03#0wdtzP}}wA<5g|4Y9N)4dw*U-61pzVcPC`qf{3 z^{dyydassyvD&}(wZHXSuY29=@p;1=e*3rAC-(dQ_6L9XfB*OM|LA}GKNr05O>gcu z-_qRJoM~=qUfA5++|u0Iyr_9`^OEMJ&C8nGnwQV?~dlXns+wu zYVMN1cQ?b|dz$>)-F&b8y{~yU{_ZLK-P^pk`N#Nszx>_T{DA%aN%K#e_v7z_@$W;; z4>$KTKZ3uHHa~{H2bv#mexmtF{OxUi3V)w&ex~_g^CA2_-25#5_BB6;zdvh!9)FKC z|D2w(8j-U#6FFaG+3x;E^ofWmc>|ReY?~X0exa%Q!TO8|Z|cXEj0vM8xzL8J;Fh|A z>&bF;ue(9M!aNoH84NOyspy)bQD8t{Oa`*I`q z27aMZ&r<>q+FL$^QA~@8>4CK2clkxzA?Vd?<&0QoMas+EoNRk%e7^$uUVFRF6! zNgbQnsxZ~RBCI|U=b9>qR0VOc0*4O7sC5boemoZBxQDx^;@QWV+-OsQBaD&;7NLPf z(!hu`Ko8GHletYT9qpclXM3ap=m0o9C_wlI$Mj*8l=`y9Jj(DP)?H+WLFmW%VA2@! zo_57q^QV}h_V+0^gP%4sLeR>50A&{0agL9$6duGY7ExwOsLxAEwK6$Uz))jAczs85}K_9vZ`|YRnP$;ttWkQ&u zWPQSeSPD3%E!`=lbWUGkTX+ylF(gv@yF*IpoTNuQD3`ij<^+YWXewgkb)W!+o2rk<3yY!B6w?^~usr z`{TFD5@3rCsV&VE@%X5!pP=8nzy_qN-JYzSEWcJ?ByQz za%BWU!iZYR$pm;}8o7d{0@+=}dfQ_?;kn)G`EZ+%fgZ(pt360jLQ7pLrPOJC1xw*U zEJebTwl0=ZN_f|>6duG<1d^26Dy5Y0q(?j`m)aabNePlnlma5S_TR})E@br~W0^Pe z$tG*iBue*ve7F(aqMqQ=d+mXATPW3+QaaH)SPBnfDcp^wZM}(2={$F_(3`vrB$$@D zfMs-+(%l6WW&Q^#ks-DV5qNi(@Z^usf)iTzUJmKM3z5qU3h6nB?r6cA&#>YjQY3{) z@B8`W4|L?DIWD4DYZ=rM*#;^EaELGB_lr~g6dOTANC3xP{Vgp7;7ghRdLZEVbO{^` z95IF(!J1g;D}9ZnqP#6QeAq4gJu|sSR@1%nc3iBABY-P*ULE6=uH)h ziyRvTo^X`rtu#l-S`<=sryKQ~&*shkcG4_|IL+aGp2L%n6+T*>1GtYFmK8T zQpCxQ;1-rgFbsPe?Y@J*a18|Z=TJ;IcI5LRA>GCoXUP@`X{1o{U3@S}6^CqhlzDk9 zv%vq>u*MnS>I<>?V~l14c+Z6@!u%!mHlvOJKa}48dTxY#_~e<4_4+nHwK5 zo8j)gtZ<4D+(cZ*D9gmL0sGLhMYtRrxi0w6&=*Qv zpi;a0MgBUDQ-mK=Pzh0`qn*VzNg(1-2iKjonTf2gll&W2;VrKyD3km)AMijv>b+5r ztby5bW{WXhOb$)MawLfV1k1`rt{PmcHx9QXO;C{K3&FC-OIW7S8jfZ6ut&+bH8++; z4m+4zC1F!`E3$K|Z~1_XTRj($X?8RutJ<^v9k25ZO{5{mVAC6y3H?k<`dhDM;aPfu zI~|=Q08HhV*Rj#bVcE1Nh z9UGmv^sQXzNn7yo{m5%sPvUVe^pwNl$6m*JlA~0qOd+StAii-XN+RpYBOu-}e_wWM z8os9IHslk}+ga8*ph}Hj;nK{nz%%&Km0is7g2TT&F5IS=%YC~u{n(IcFl-3rAc2m? ztwfd}$O2h;$Wt%`3K8t(lA?}Bti@X{&sw;#2x^amsmGmo- zebU`ux%+BkKh`K9B#jqiatTzIs{}0U?f;AKGkz1>CfsAB-+3+o24WHKJX1)-#BY%` zOix9W;Rja; zmTMrw;r1O;D6%19LtvS}l-{lfmRqSw{0eMwDlUIG0ceGgPV4sGbzcZ|Bvc~Tdbc|$ zzds_|IF0=vQbp9;Z$HF>^E7@$aVw@av*0{Az#nEiScM6inI|B$Wjifyvmzk=>8=1e z0^(Wn#<}~IKBs@sIgyGbz9>#<&p}M7FnAJly4}0RJ1>ZdK&|b#T0Y?Gyv~>NtXNO9 z2879h-k9S+Vh-xb>*|cWpj){Z=;^?GFdO@^{GCm~2tto&oXg%BFS&J8O7cu9%Ec>v z8IYt>GVkR=uX~Z!)o3w*C$5oM5(Vps~~?{%`x_=BnTc2=C&B@$+|9mj7xrT}f1!S14H6US z7$s#+d!PJ4U=M(HFKC=(LIK*H2yD%Z^qu=pGD;-votB~hW*>#o9@t|&?ZsZI$YP7P zwMQ|Lf?C+6;YjfuyEWz@+3F3LTodKc3ta343}(tH91GdzY9h6m42gBHSyxIQp2;}1NoCqjiW%C1LixPo~bDrUq zh;%;hLxBY7m?&K~J#&)A=6>wlmYKojkps0a+zoj!!5F*z`r6pxztB-(Cp+gZ|lI=$u@7G znw@O-0`q1kaA;JplPkQX1+kNue@ytz8e-sl*~wMjWzJ647TJk33-VbDg_tMX13S5B zG1$pM^4g^=MRvI7H1Gji(WH{h)NlI-q= z$db+{+--)CIqoBbmBHhjIRq{(waBwJD2Em&OU{PNt4hNGj)re1$&6VJYb z1977e!_FjpIS7B*Tk1xmJ5i;7XyvF8%N|2j;$6%;DWZ(}ab;zhN5&(*hic)T=xXvpZ_{kO{_`_H12D{9Ppy@F4My@Y4qG{b_4Wnwy#Kzny+RiX` zgSPQq{7I36Q=Nk50ON{02P&``Y)S3D=Lxh03`bj7D7o($7d+D*?bkf3l|?Gal0hpY zM$z3GE_!AxUt1yyVEJz0KWHFfqsqh!G+GSxI{LByY(DxAZrBafZ4ApzYnRe$ zF+a@)x(u%SgYyi#C`l zW1s>|Otqg7IrOx-EmK zFP`T@-a@lO4Z@7_ATBEng4&XY~2`vA!X0AW>r_* zn!$gd0G{jP9n~QN=qmiC?+M6}Cz0OTk3AYige20k`taPgdTqM-Ux+s7u3{Uc1u$Ys z1wnG=J0y@66zRG=q&F@NPKZs~1c~okuk{B0x-C+Y zXM|-d!GBa(D(k39m|Fpf9o}N1xLAuiX&R}y92IInh*3Tb1GjBj4(c0A9jG2ea6(); zsLw?krVEuo&38=OPdZOP%?wE5$SQ;SwoeLeSKe4tcM43BfxyT4S=wTK64 zd#&S}^RvC)m2ot&z3Sbr1U|Fik%xrqTA|zFVJ7rv`mq&NiB(3y{N_N{Dq|J2S+%{q z&|92C3cY_}QfRX`T#`ah%yrn8C zV?Wk;Oyxbf2}@eG80WDwUi2$kRNaK@Re|2XvrtFA>=?=cY2bY6N{E2%@pf~t%jkuS z*=V3z^xk@ZFik_b=snv?PAEaHv!7gF)yI8M7y6*Sp@UL)4fPW6QRRu$qSO^c*2)A! zz%Z(HZDpPLv9T@QsBs)@Bl-_+;~gUnLr@yv)JG15XU*7O2`ezNuLKT zv6C&*yl^|Ec~ljZME7yl5Z<@N#uE5zj@v28V@(401X#F4C2oA9kNdlA(Rf9Ds#(;e z2}`4RwXI9_%98Xl9sOqS&;X?=KqL)Mu%-oT3UF6FcE=bd_lIUSZ4#{(>spC-EEti8 zxEFYR^$1zK#18K8G1_$iRqm@k$SXR{u!|*fZKy%6ca>U9-B>DE%*T+qOE|zh%adjK z5%Wavx{stXZ_KF9WL`gzktj7mZi~{}d-sFEt0I0}?2kpR)^5e4tHLTy}W_CDrI+n4jKEtPZjWvWJNU7?4!6 zRlYBiCX}^y&l@}nvkx9>V8UE_+e>+#H}+$F8%ztwpybwpeLj|<=`bGti!qIGOvv_L zKdk$+VG$wYuvFhQbyu>`a7!++U{rubVXwYHGW=m+EXP$b5 z=JP5}6sIL70s{d5g!mqiX2+Yl(3`qLG1_-NUvAdyd;qYvgm)1SmgLiK*G?Z66PbRD z2!Y5Tpa42T&PO%Ve;|O{_%0?$m`cKM(Y95mZrQnbk<{IW*kB{+Z}C=2b9;AvM9sX= zVQ(0p8L0%t^LiZ3PbX z3;VH`61)zUd>*WV*S{M1#L@g&3e5u|pV(9hWN%B!$9ZQ1pXNM?211*5#+*3z1z;L+ zP(qND+{2fWh~ZKs5n=G3s2Cig$mBEM(NzuZE&WGo23JMrxNfmrS{z{9SnHLerndym zs9l`LRYP-b^FYt)+ks4@TN$Qm=G1Rfm8+4fkA_hhb(4FW0L!U+yq3CyS%*#_`ckk& zU|3WTx6`b5N!mlrDzZ z?qf1hs)9K(*Q>lh3G)w@xqc-B|4*8^#{Mi(n@ZDXnz_baO7Qy0Ao2bTia%*2j{OZr zV!i9=CxFD|+l{vOG+%a6{Th0G^g@%uxR+bFwB1;LGQMl6wU z-Gl9j`}W*+w5cD*W;q8G4Ro^(D>`?@L#Eb&ey7leZErheL$o?Mb`I8lvAoYwZUcTp z)mK6)DTr$H-u|65!Fk$bs>sP%K@7Dw`{#!UQ&D@Kx_LtA5yOYncrV*px{Kg#;$4_a zhq{#bBb?rlYOX`sw&t>a?A>@8L)QT93D0%``dij(KVjtNI^`B_ zs_7a#kCmG!8oDPqWq7oAvNqP=oLd;#5`7j{yY^toWp&yF)@Tt{hlZ5eW!aQ13(c`H zBBrLX;rSNI0gz^87z>>j){%+uJH z#6E2e?m?!Z&!}c&KUOi&unG$bKwy!!@8SdQH5rFON|aEkHM`Vk**yVI7%fF|D_i3> zm-;~T7K<_(P^@y~{R(G%aXj2=70VP#x2MGmd-03BpQrW69vz!uE@UpkR+eM17HTE4 zltVdIYD{hs$5t8FfHRXoZwzS!1S`P1$hdJ7Q_N%hj?6~U-!{@2;$-ByZVB5&I)G|u zTnHk6Tt`ZH!g+5uoAU&~2p??FW3FqKE&`M9XkI8f zAvKKwdRQkQmVxz=iGqnZ0CicFQ3GH*CXQnCo49?MVgR;bp5=#sG>)1x2%*WG0jAmD za#BPEHxl+fz1fG<2jX+XIp;uRk1Cewy%iG)fxi%OcDc59hp#&M$ApH!3kQvubu+r6xRU*!CH4{uxbW_I41|8IfI6_4g zpnjXr*FeqABK-+1R)AWDjdLZPMNDs^qdgyKTsT@p_ly`HSSmk>Y{PFvx-koWFpsbh zjhX6AZ$}PyGK@xR)Ac8q1s_OS+$~v7}q{3B=jtXvwwPno} z4LW1Q(tO84j?~JqpQri|V!zB(8-nqlMgLBX>UwpUk4a7vNOw;op7L1>tbw?byk-ms zAu;GLDm@k{u@&~LqS<^fr#w<4mwyTTA*k@U>2F~%Qz+B%| zbl>g$IDA_USb)hIJ7l)nF}^sKUTGD|l2t>&fIaX43Rl5MS36D#N3fqJIqJ2J#S4Mjcvab=_5BpQ(I3twgKMy~SGMcpC5 zoDBz<M{33vsKsynm zk>e3_&n6^c=bnLTIQ17Xsr2@LcOWRQ@tHlKpp3zW%0CGfp2(AMLjcgY^_h5N(S~{` z2y^Vs4qmn$-j^+#o{a$RXTzt+iHQE#y85Y1@mfQ63<=I z<$*!QDDLWQWu&2{3#*D^jb$v3qq0m38#+RbYavG>9BQZIksXI{sO=dHwVNFb1~ol* zSp&6OytqLP#pi(9t+i02Y!8l#Wi9fo$d`t?JRGUlCkfmJ!DL>rg%-=53_5|Ilsg$3 z-Ygvu&##ETmIO8p4uewU3wo!q?4t$c!7U>RR`9o=K|>C)7iD*k-{rtG z(W;Vs!Y>~^2?LYp?Pmyk5U=>-u}qr2+lTQdN~Efm?&)i8BIk^|OC?cKNofVYQLzL9iy_n?_ zLa6&O4wb?&kH*^3k3cXwUv7g5Q5w8Gy>}GP$niQ4B$UMP5XVglfxuda;Duqkr=FX( zrFcKw``rtAO~&QjYDUz&z;xXYu}IIK6q+fs(L zFMN^B1|gz1bAp}FFoTUK%?98o>-C?4I{QBF#zMXHs!nhiE~W7zTy&dF{cf*ki&VJc zliLXNf4=Z%T!f-Ov2_ME$C!?Lt&Ot2pfXFx&^uDH3r}HQh^beLx(qFRl|#bN@iAar zrh=Xl_D4pEnad7?ilFE)g+aW(b`UU@0I5~47tp>4L(trn=wY5g`MPaI`531xE^-)k zY*b*l9B^RYlln6lJz%cj+puTSkg>qs9g-jL)%a)KD5)g9kLEi}f^o}nr&Jy6y{pH< zA=P_znJgl9$6w|L;_mlxSOkQeInU~CE!F!_sh-$XDvkku#7mm5A?`qhk=@=qn!F9p zlP_H>A>4Xi0K2#`sBwF4Q~{(%DHJgriXZj1ZS*4kDn{{fFKMHokHpmpPciTpTWu7y z;>Di#%v}^Ux?D( z9q!ziZK^`Hvk7-0H>YgQl|Tw6+HjPu(qYTY*wiDgQZwxFW65(?qYX_#LwW-vPYxYW|bLn)L43!>~A48(Mv8MuIR@J8V5d01%&S0 zLcipI;2@8NT_?F9e(#sxVDFCpS6PE)cDzymW1J8&lqZWP0SqXXueMzi55S+vN6Lt8 zhc;OMzt(49`oE^$4*EYW29=%`J@p+lihLxql=D8oGyx0O)LiU8_AHE;_%>+`TJtlB67 zfCOu}S2@ADv&Hy4RVx}L3aioIHL$aHcxSd6P`e^MK))>RVQ=-~sg{<*xB$c3YGJ5W z4y=YSanKzg#y#v(P67tML^SQFazllkDWOa=M}nE3BQU7V6@W227#Mf@>)il+<<}Ng{`R|TmcyGt_23&kSQa7CZg0jd z_UUiu74P#2|D`G%%pD=hj;W2&?E)f>Zck`lWEqQuBAAcBGF_=5d{OrtJfa>+ItR;B z_GsKuZq5@Q-LBqKGyn$cb{jmCxrkxw%SLP~v23*0Z*E%Jh950v zJ0e5Ike}9OkY^rQ<)L{W14E;1uMUq)8H{vQt*N`TG=7%UFD^B@>{Z~e0~yIo8Jc9wWe^lY88ZV_lTn3nkx|xmWW5IAPE9V-3@6;a~T#9c4yX zd{Q|K_JTFkjbbR%STU4I^lfP4`#xI;Wg4ReOr9AQRi$`QFUems=qz{|)A>6j#EpkT z7xJN=$*fO2#LJLmAFy2MBHF69ck6;e%vmSEU5 z#R=1)S5fc%39%`UJ2gOqYHzn9{0y6{;#rS<-^%wY zS9xQ$$8lue&2)})Eq1!_`F9Y7ghnYU02kEnC5aR?CA7^AyF3t+y}YMPBo6T|`FbfZKBYgu3X>kpz)}<{-f6H0DYk zC72~vHMV_T<8*FvH;26Lz@Q?Nmh5TS+FtG>_~12KCbjWE?cs^fhdRPED>-J3A3`-dRc>r2A^Ou6jcE%A;Lri z7^%*{qL~9oa0yt>SU6a2@L?EO)FChkEVMRKtU}2-!@$BvB2a-07(b#JOG61PK*VU( z3f)v1ii$ZMin3%~9g=%z=)A_6BC(_SZW2$4jTxk8z1@p-RmebAHqKP8fqN+NlNihT z(rRThw|Fy`YcrIq#b%WG(CsJo{Sq0x)7#jnZRkmNU38tI@->bvs>9GHk!zum@KFg3 z2>O<2h8Q^5DX6y`)f{R^Hp|-a2Wtm=SXFHmPv5K$A_p&8(vVM6j30nX4ZqnPxQ9t; z0hX2QKKem04aZA*fbZV6=gJoCHRyw-N}m@U|p!`i(}*AD;3@`d;b zq~n1YVW=%r4dOFKXOG&i%-3@qtXJ^%EMLBS#R@unV84RpN(@&K1FC{??+I&aNITi0Q7IUArXQ;q8n6oW+(hi0Un6#6RYQx(3@s>jXwXpvP;qlQ#SNK4CSx)VhG4i1 z3orMP8Z)IeM-T!sMRtQ!L1@bX7Kd#l`MqHa_yA{SnQnys`P;S}E>5rTjy5SDQR~df z>ed8e%ic%KGYYC~q*r+ZCaET(q*9-%cXpkZH6WfOvr?uNB^4!-`qNay3zAABM>0wE z0ssK}s_7Dp3!AN7y)ulEttKFl!C37#DjA{;ir%sUgh|xo$M832TFtDtX!y0vly;d& zf>>%#Pljlu?XY^MxAm>IXaGyYI06RH6GqRRVDS88Wf=-Py`S%?HiLMUIA5$uk&_~u zO#qrr@%VJRBMKND^kP3Elr|K%H{z#J7lYh0BlcYe4uMMaF-u?soRt*DSmuk&@AknN zGQ*b`=c3FQY!vWQp@@~{!VGsG=B8KmNC{b=ht^SsFxQ)=VnxRj~BFE=yTI$(Wxt$Vd}aIeF3`G5N_b% z`r=`dX=$I4)U+N8E0IS-BC&8$p{$S6cZ$o7zaQ`sJ)!t30WiJt4*GsCX=7JkoDJ8g ztq+=WmX_?W1?66XxgbWgI0<8RO!MdH#fKb!Z~vF_V>urw4Ma8A;y_k&@_~Wl6&J3b zoBJN{rfl}Q`8{y#`h>S=bei&|5}kh1iyNI{Q|)F60h(AwHIfGNSyv=f(R~%->r}45 zR>-)-NT{kEQ^qW1B6Ha|?`{TaqDJPlcL0*LKKAMO$O|AP}J_@9b zK|r~+p!x0jGCkydm_o10-V~c>h@ebrEu#ivI{+0rwT>#O_Osrq>G!Ie-zU!Huz^GJ zNBg~2hz(Xa`HgN>0k4jPPXUn5Je{(-rX!L{KS9NpPE5tG>OqyqACE$L4ClYq5^mbK2QJ|>tlhmfM$(ee_s$TrqVI4AxYYv-@AYeS)qbq`H?}dpUgPq zW-n^G#}SEa#&WB{7I(~1n;!!|A-{s-Oh`-4Hb^K#1p~X(n;yWxI>x`IFtD5wX__dp zufT&lPI7qEmSliqwh^gp>Et1fo*WbK)g=*e5u4*4UYV(jj_Vwrruw9II!aC2P7rEPXxHoC;Pq{( zM~h1>LlBj$W9z*P4bq+$9Hk8D;vVnc1dwgv0b$}6xgS@I5LXlmmwcp)X6E~fMN5zloJ%SxfC_BLa!4C#m7O5%Ku!Q>qg&RwtN;lZF7;6|$V2$~i7Gq7r8#PK6O^b|v z_D#N<7LR^LOp9>@rb240@*o@93ZSZ-;d9d>AE{=?d1s99%6{y_Hf%@44V&VRQ_{6w z)*zxWUaAqr4I531WR5vlxRHBy4weHlEyf`mSoECQAh3|4C6>xfi+m*3#)C2~=0m}} z3tCBNT+D7zL%7?3*^MDDWh-N57f3dQM#kCV&H93TUw3P?Yzlg3C2#hU2V<*zhc`2a zt&%aH)waspyp7HOwrrJO9Gt&F+-S()Ky^p>n;nSbp{p8hwkP9eTs~89@C`CD+i%bG zV-4eGi|fSR7B6bVs)xTaVx?%~@yDY1l26s41!+u-lEIibfsiiQC$@QSCZy@%674kD zCt7Gz+?>z?WTP!w7QdRlG8KitU5Xp<4wD5euywY+b3b3|`k*!`8K3zpk<9V0A{4r9eA!=Oo}+v6fugoYP<4 zkDbi9oVHkKrDF&(kM&yk8a;8;L8~D74rO7#fd#Jz7C>*Yk49o@;t1HWVab+r3(q}D zKMcow9+ODm;~|+0#+*2r_UzM6JN@+2&p6}EGtZn{d6s_8K6}+Ug|N(uoD+L9)OsON zE1J10_9Gknv5M_SemdRzXT~6GWhL%hOahEdn4(0B&8F5JGb8Wn?JOCrH+i2|w8UI_ zE?Pn0H4R80SJVhBApB@UEW)%T+CToq230H!C9C}wZ`w%Z1=4iEYQHWquDbqmnO8N^ zK?o{FQ^68fMg2wZOO!~`12NrS<$ap6qS2tL3W!;mm*Yt|s4+}zMF<=tCJas>mkIQ1 zyxlD-MbDJEKnV&Am+hXR`UqGyT8tVRkMEuyXGrI7^iGLYA~0St73h9U?Gb?sSD6Yp zde)Atm$l;$8XAI=s=793Su)97@6$B(^pvQcuFF93b}wtodvewCQtz86OkTBi?jldD zP)|t^F!2o5&C2%QTYWUP@F&Pst7rkIPUicP%`cxE9V(*TP;t zs`oAI@iqth7Czzy=j~hg82gUSh3uwl)jiC-rLtEQ07>;w0w4>+i}phXoP%)0_f51E6{zHCew&ZM80wL!z|J-o z>S<~p}rJC^WnVHhhv0FHXdrKRleKk?r;2P39R&)VwLD_ zRIFgZ&sx9TTmONY{+2B1o`TuY)KFdJ4zKb{^LOU#Kp_mJtuyS=)N zMQu+?2a1Bqoz;Q6SCWE;qs|io*r)@Fyg}d8Xfa&zpFky1TRPk92L#i7#sIxT$5Jwf!@?u z!NAH25HR2h<4gxA_Pa>|laK^oi~&<{<}+FkXmdBTkTahe%MV_N>>XyC63Jf?#Im&? z`#09II3?$dwb;Oz_e{AABQW68P^H^!#GHQj*VtHTgNaS199Xzlfr%g-|B1JtDc(6?in}=a6$v0 zV9wT)0KwdKIE-B(M+e5ND90$_(m|0&GPKjf04}Uc^t`bjs~F;`<4x#xOb<66h1HGs z9O^pxLiyrc3X+@ngM|VUv*QE|1>jD`guNsmeGZFK z3#(`1W(V<+UFjqHt}^3-uu|*>;{o#pb}CATM0mnMR~PkU5sa!QE1YcWyIKZDz9l>i za!ez>Yb6hGG_XY5)gwS$2*n3~jSt?0&$E_vsZTJhsk^6wxdDvYan{lfZ^>kmMEmO) zQ<+4)#KaY&%&TP5+q^Bq8_2>SlLThWg+_pi1CFPN_%n(o>fgCeaih0+shZiM7lmdv zurQw7Henh3>>Zh;3Qu7q@>|y6fR8XllCWJ@l#mLfq8Vk@M{STO^CW6Q(Lpy|L?%(f z6q%+8FvF#3-*mBrOq~=`x#G%&K1a_=b71lW2(ssb&EUiR0nO`@8EEj0KN(LUpYM9! z`20HUjr~VM1%pS77ExSx)ZXkxjbqR!Cs-nh;i6wAuXstRV#E}p9OLAab&-m(DRj$S zxQ#fF9hj4`i&PEqAztA<)j4N)Zccn{n(f=dJ1P>>lPV{v>cru^Y?p2jD+=q9?rz14 z4~M2($sZQ7Ez8Kz4gjr24f#q~iuACC-YP;s=aKdhn^85@$d#-?#Gx2QRtxR2xZ!lH@L+c+@?%{%)hF>LhOf3UcPuB5u|W@ zX1-%J&ehcjp*B%;7miz`X)8l^kov{jpDo@hPCUumnxE|3*pD@A^;m;J5vy7t3d&9V zN89Kk{5K-2fjk^7WNsdU3>=2+8`XGA9O|CHax6Np@jU#4@CoQdWY^@{t(UZp?X-G} zW^f+;$M`&(UnF@tvtF(grL!%G)afK)j_N6`44m<0z1YWkrJmAMmkRKUQ5&l6QdL~p zfU3xUo~PN4Ct~hM3>*gMRjp%5?`^>^rpBhPWf6r1(|Mgn?V;Dgg=sQUQI+|er#D)? z&gNccOK)gPcxoHrFd61U3p5taFiUDL zA}-Llv>sH7F*rl?BT+0c4j1mOSO!!I4>9pX{)?)yMZPg^i}8 zU{X8wpbE8+GNd8LA_MIWtA?q&a83Lxvd@ykdk4392e)bmOb3s7VVqoJZm|)m3v6zQ zHH2pey!IVl+lGh46MHtjn1cYEG2u790;575<50_nQZ$9#q07@OxLI467Dz@a0V2d| zD!+ut^YPEnOIj;BL%pE{KT-J%DFvl8A#jeGDQ`sYodfmWXZ_i0II}*L%N9<*29_l}AHW@a?R- zMnyuU=A$e;9@y7>m4#SgfU@xBjH)*EV=bE)6@*o-F@VgNw6ft*0T-7UpbA<(c!aTG z2i0b8aeIhyL$!Jp;S-CXBFsO+9>SfMWKz-M?U*p7+u?k4QloY~nL(1L!eb_jRjmnd z@LqGqXH2{#R*SW?w`(9voax8bFHx!#Zx~x04io@$Ih&-qMWYY_s8~C(RBs!yhnaD2 zi#Kg6DrCm$1+HO{3DsQVB5&j!IzDz*wHh)m(M`lzhar-Na-ocQP+}{AjfNSjde0XU zP?t?)n~xzy&4Otu5#~d^^Dn59=Mm6}Dl3x?@|<=r-Pe_2q;YW7FuKymXE37qvKmHJ zPnF`YZPjlMmNewk6tqR#HHiA13{k1>4?N5rD@3@0KDm%;-%F`77TxU|fpc1I!OQ~S zv}&{pE3JD=7xiOHSElq`d;I!C3pqgp>V7^!6~joyz8i_W9&}G-pcCo0FWjoYP31Jy z8~n4H`@W-NL=N&rW!Sp0AKNmhvMrPY(TUg=qZq_prW|eZdgi~e+d%rHSd9uN8f$IRWVt?=5c`z_wRtuSrYTw#zb7Z|KZbOZY4$OCkL z42VGd7o$kAE5^va7e_XwBhwzk84Fgox*VAvq{6Yd44Rktuo5PQa_}W!w(DqP0g^|T z!ev&z>{7t+u`dc6h~^CEMUF$$Sc@7ZRVwHpM{znB62HsT7?X)!N{*cErJ>PihH;7E zEFIL9wS%Ify|QtXj*BX}j*H5;1QFXvdT*Ms!EjkQm^{Min$ln(h+7zpnC;TRTvt07 z-OKN*OjqF$zTSKKYrW5fS|3igm$O_nmUNp-e!whJ!H(6M<{zkZaYH{~X{cSp&lH7l zOWy-3dc;;RCTR&!19D6yqoTRa6lxm2;0bVR$&%$wD7WfxE}Hpf3_a1dq1BK?4JR_C zWDMEjb?#LjC=;(>Tr%$uRn8kX)eM@kl5;j=MecmYW0m)DFK;RybJiJ!Z!~6s*3GLb z<8Rljn`FNV>sB;Z=_KK2DmafKCPBG0xB&|7QBJl^rTT zlp8^rtRf8DMj1M_l_tHjs45*abI^~bHd{Kca~BjXf?_`>%O0;a_l_&bC29_P#n9pu zEWmapWT)9-T0G-=RDQw1*dq}b`%wNw@d7`)*oQx>vlYJJ;JDNaT&`3i%14C_lAtcH zwJINvjetlOmd74Md=wU5brQSa1xHhP!Am^?^zY)yVPK$bO1K5>?hRs=09ca&U}Hbl zvE|NAPUVChi`#N*aex;~P6GoiU+P(>H$&J1uUApQny)=|ZcV(6wVy_1xI#Pl2N@vM zBhu#foM{s)q98b(X_6zPGJB@p4&xW&7+~bp9$}bKJmiHf8VDD0#20z11L0=H0zJ1C zaUQpk8WM4q2nVNh^)qkJ#e!iXvr2ai4bW^nLe~ zr!Q|H!Sqerst1k_?4vxkR48LY$whK4gE(KoeJ`bfM!*8-Qyp9d z!3MF%YeE9Pr8m0y0x-{|i!i*f5K$Yv#D{i^Vzpj@=yW6d7arD-q#6<5g_`;Zyf-yn zFCqy(&L=AtT7fejRs3}rPOjo_^WnTtHHb7p$1>p*=kpo}I)sH8DButpB2(sEk=+ew z8B)yhM;oS5P2)|q5f(PsdS#c8Gc)>Il^?*2k9`cmMP>%D;zCDh2}9thr;E`Z)3V|q zHeIBS8t+!~mM85BLN7}?zLl^;Hy{!qTA41iAD{+ds`x-7Gns_86!$r7$$r$dWJdH_ z1X_lM#m~%{PC5e3g*~&rT!ua5O@SK-(;m41Lw`maTzPm`JBKmgsaaghv~J#4EYXnd!&6 z+f;Q?86o0Elr5kKz%o(Ab7EEHIowFWY~joEN-hmmH(7Z!B4i^ZHcmQPO5d@0a1HFX zPaRjRtaL znm$73>F_h)JcR^0QLsU;Rk!eCi9J37f`=cy&F>f{5LY~@x?^w5 zJ_(^}C!X|9)5r{X`mID7xEeY%Y`O*yoAh>md|S?dXS}4@STy4~Gj7K|$oAt8dDHK2 zmkuJm#imUz0FhA8&`3saaRU)aHhIs6>zYgfw<;AC*bBX&iC!%zM8V5nginh+knf_z zc7}K>EE$nFut+=L=saRWJ&=J{i1_Ml|CVGzMh4{YwJm}-{DLQ$%uy(ZLRVZ_CR0^$ z3|bF2D;n=3T4CWL;{MIJ2Zd}u&i!JalHHE0chrI2qHZ}6^>d*~(Y$)I9I!~yT$E8; z*1LueW%Ny~dXq<2m^=^YXf zKR4Y_=k=tX5khVptt`J^>Er z4!G+%piXK}tQzHk+trkR|D^0{vGw`b)vl#KWB#TV$X@kVn(PgSe@MJF8rjtWo~DtB zzj8{!B=@$soP)#+ z%%3x)4+ErXdn5ao(KD4ZWZbzL{bY22Rv4k!4!IHHNCByA>X-KOsTX7K7s=e@s=_Ee z#1KLw(nQg^C`K9;9%Eo%VLfNwSq~;ZsLoKAXLTFxTKf%a``RVT%>oE=aU>5u^zJW(uj9t{v;f8Du-q5f?UV+lk z%|g@wD~o!d@$(osm;&gejdq5)!|OE3R2c23lGaz^avz(;Dx-DPZJ;KoHIe2L*|EZ4 zizgCu1wNx@`rhpIhXEmvDWbKqqUjz{7ZF=9!*UnOIKk*Z=oCrZ@SHRc2)aL`j5QB14r6FGL zV>3m-@7}nBB5{6*PQv6L5dL@&r=U7~Pm)BlOD z_P9m@GsY6B(&VVM#fuu+Q~t`Li3S?5o45>Y4{=gUhXKFNFtMFcm5d!Ct}7BVBrX(0 zNKI#GlO?T){j1Ke3*ckHO?_decPc`VyhXteK`#`;qV{7Zlrik^9OmN{9w+3Y4{Eppa;MS3u;>Nx(lTEq{Qi8=+ zCCr3O!svAxqTk}9#g?kpAw1=RO(>O4QFdgf&6sB|S_Pl4Dkp#q%DJ zxU$PEcZEVaDg76v%##p^Mmz}t1U#q{D7MP25NaEo^w3ZIA+?QCt7{J=)wesWOQib2 zg_Eif>(Uaj=G00*T@AV38kXJ^T1jSWUc(x4ja7_Xk(#lNTw_rq*P?$hBUfBQEwShH zHw>w8;$4u@N7#Y&00fGF(ID35Nvc=&<2Z~|b(^0cI7!vK0+CdqDG8q_$;9JPIHBtW zkSfhcQ86ctI>pY5RIl@y7^$i&F_{Uuf$ZnSK^jSwJ*x@0f_~C*Oyq=1mPsvI8BZkD z$5WM3NEP&twpozW0xC4sK!vJqEu4Se=u?R&R0HV=D>05Gw2P+Idyk9V{x!*W)(2f8 z-yMf6Skktpg@BK1;3I0KByWReX@_F;A`(i_8tUDdQ7?Ud?(>Hv$#zh9M7G1Qy=hhQ_K^#bfWN+A92xUkvVH2aw{ z3OANv{iO-nn&{Wk_KQ2`$SkJEo=6dN+GWX9kR>WwfLCKCWdsVM)EXue?ZhA_f@h7Y zr!o(KRyMcfe5wGeoQ;U;lf#W}0p^D2R20y%=%K8QaEEN2ws{>}C+hckPiq~dY;c|Y z^p0`ATj=;kb)IO(9%B~JhNyE$Fc9Zy3JN;`XR28FE4@8idFl!DAvHHcDWKL2tK6#* zFOjei?x2H$7PiEbp)BmPROMx2;O?T)^B^KrjiOybiJzedqGn9WJ)&VbINAcPML5xx zuB+ovxyENbPmabT8%Fivw9Bp4T%>lETp z#kCga$ISo-m@WMEK1IVgdd<9KMAbPE=mu}c5Qvc*m9ZE#k9GV1Af2LvvPWRYfj~F# zz$Un$p6EwMH9YUGfYhe3h>dtcOmH&AjFdL^V+A86R?yvSV`)pwE~>+Ja7RN5U&om( z-iB>y6=wi{D&>@UX6YyA6w58wsH2z-w&zV<;!V9h^=K+l!a~DcEl)VuL0RiUyqiF0 zb|(}yg{2SbEdy7@NJBj4ZnLBDwN+^tSOj&WKFhlC2kVA(h!vYzUCsMO=2%TiweW|P zJr)a#50_R_l={&SUbt1i&bza9rq0$?Q!CeRy0p%*f~_+vpqv^ZmB%={_7%ZpYN01v zT;!x{c6hOvy>#iKAvV#f6MTU&NrWzd+`bz zOJJ!q`2qqH8GE?GE8nCjNQwwMSD+x~%-x#URX`|)+SDM`nu<2T8%3HM2huKdql~vX zL%P~~w6o!AJTXZ`ln=I3*3Rg#T7TT(ZAK<1t!V7VL9A31S0$no+6q)Bc@@H@k~dBS zs;f1FZUcXNGre#LbNaH|bAamu^UAm}1~Fk$0!IiL_*{>6dos{b7maAgGk$7J2u45}|LBOL z6-&*1OT>7__(WlJz5DJw(P!LSnla5y{n()$CJZ6A8Gdi}g4r4!S%KgA8eQVGlQj~? ziqr%)r|8^DFg*#Lj$E1igKRkw2z+E(gFBOt+@l9ko~KYBUlv(}9a99MWBx6O;I{cx_ersN9i zElW;vHI1%*z4vD8O{3L7M_8<2>#b2Mla(Su_MO=(A{~3^(pHh|0jsF05fXERE$FMc zj+7c=-tOITZOR04`FgQ8YfOOXrHM6YX_Ig;E+Z8-YX73m%v%Uu?#&x%vMq{6#Bf6y zu?!yY0WeD)w;Jl=WiQ#vU+GOH`BS~c!O(=dQgSYc~n3cQ6D_5IxLk%ltHu|BccsehQlH< zJYI8w@cgG(u&NfS)090Wkcw@V7d+0$Z0+if()}ZAbY70`Y4O2crqGCLS~>5y&O!9Y z>fh2tp`E2I*&UFeG{udM2iq(GvbAPsDywv@>%HaV-1|A8N&4hcFhjJ8k4Xe{HB7Q7 z-u|~=k}dVyy*G>E6))7B^^mtUAf?q44xH6{suVSROR1haV{c#@&AHG035y+Xh(J|| z%1CiZPfWvbJsIr_BQ`SP?%LwTg+B5OWHbF(!|3R+fExLxaf=r<{NgxdvBh)@vI*J= z7LA9E=!BrJCK6=2NzAQsmwNN&qDl9pVici^MqT|t=8CxW%e{%4RoK;LMZ40A+GKP; zs>Grp3P+(kvE)>p>?2sq`cemW$OjKis9<{u8?W=8OEKm5&1EJNyf_4Sp%Ey9wBtuI zOdz$UCkJRq(nB#cPBugpru|%`Ai#@<7W^f~OWK?YR>!aj27R05$u|cx{n)!XsVF6b zeL>ceU77yO_QlM~KF8uflA{F(G6BEC+wu5TO>BY(orLX3K^RSJ3CMi*=X`C8kM6Ms zH{*xtkpi_vfVt5UF$4xJ)*3rTAl$5K$yIuOlbgXg44gQX9o7xdsF8z@X3It*$d^r( zOj$OD1K=)DsxYG%wHa&BrtLRIlk=WCi1`a=l5x5Dp~adZnZ8*cv5VFW1$PMSj&)bnPV{!Y9}bu zQioO?qdFnQ&}#c-WH9PFiQJpiWX=%BX%j}3)beJd7M~I(GsMZrOxh4b3AvDiP%kOc zZpJD~G&QLIONs5(DxyGD!HTieNRX#9Bo~X~qZAcYFHvc2E$#EB&%GyfI+2ffaH)A@nQ<$wPF_(q&KapJ`J z$G>Xa6F*pE=L##Ki@GKZVO$}$2giL`V!bPLZK`8tU^OXa_LD#FI)7eWW_80XYS6Uv zqD>VM6tikSEC?2lWs*f5G4ot5snw^5iJqHve2#i3lANn7V>kP$b6S?b7Z`eUp7s&0 zdPzr?&;5%VeK|9*U)+h-m@Rt}?XsN??h*-+yx^7%^s=pP_0c635-w};Vcyg$YO+n_ z0h`?OU70%T1ryL~KCi_F9`^L#F=ocN(J)C;>;0@uS{|&6$y7@+K6o`QaAz4RyD*uE?yR576q%H zQ?lHmSDNMr>yXaygR#WT*Wuh^XGVF0(jMvgx0qYI%M<=V)hvhUH6XJYt7}rhQjW!MM5UU(atG5F^Xw;# z{E!8^Mj6 z!)P1tAB7F2J0Q1XRcyWUn?IQC7NJ`3Yl zsXk~j27MW^0g9Cga?X6%Nrs$N0E@i_&fFxJ!PZ+=pG|hKR0M`983N@L_=-0{v90*H zx&(R&4p6zhYcAZ&7HFE;EDi{FG zOr$ECZoE3>x0agj~?(~PuiZfgl_qXh$v+10_iK+U!eL`SO+Q;t6r2hBJ5qBVpm zN4Cc}pMH~V9Hz?INUvb>>teg z+S6QY*w+GAANMfdj^d$stc_tv@h={d*DkjezIz_6q^YRC;-2js^f@HI+XxOpP|VZr z9P!|&nj<*W?}j7dr@LX71=~vM9PNgKfX`LCYSrv$MPcm1U%|AsjI@@|BEPtwp?p5E zw~AYh!N(B+4nSonoX|R-t=WK&tqkmybu!BbH9C)8sF(DX#GG;_vJw}8)m&k&bui#M z`gcPiuy;y4zdFO8TA{FWOWpiRpS5ZHJW)D73bAg7#IB$Weq=dIPul3$nMVb~eu>tp z@p9t{Ml3U&(DH^8GdwmWnUs+D0a zJk`?FxtRjW2#x8AZ}d$qD};;VZZ3^V45xrp*QNXl9*VX-ud@oSwPYFW0kzd!il{)IwGt#bQ0T!>R9(h8%~A9|kcG zzqutmr;x4S18Szgfo5;e$c8gAu@QIb1Ne$d^y*ISgO6CFuT0qKV9CCvJH?rX9BO8i z%Q-pfEO*e3?hiq|YYcNHF2;Wh-{>u$ON|n(q6y)JShKt0XHH)1q^4Y=5Km(qTln+K z?2l#wW8F6PBC9OE`h0DD(>F+y35=L&J_TOaMV9q+(mdn8cDcGqO7SITRV+}#Avs%CDlS0SKK3wd89|<$;<^=lNopx^V;wa5nhQuKwVly z90u$d5PFzl#@tow2HmX*;aQbOPqS||5W}dTn|R16EuKULP48$H6*Q9&JZafwXG1Fr zx=^Ox{Q|8uK)P!H(#~!C>O$MR7AMj=wkN`Q-HH53`@<8R!H`<&-lixr(lEKk%zu(S zi)4|kJ1owK6k6`En6e?X%Fr*>rS-jRZPm$~Y^JPXmJyU1A$D1$;fz)9nScRO4PkS0 zKgyDLyC$a(K_iYGG780h19rKvCDa~dWL8GwORd#$+5_lna052}<)*^?y8t_T%CKW6 zaqJv6#!8!M?G#&0HruT07DwnM8@mNvTQ|VUI4Q%c=_gF%v$qN{uw@K6;4yHjTk6In z$nvXY^i*w2i1`cFF<4M^Ei-HN&2*HnkdsU^F+j!qI6Ia|BheLyjkjN#F@%Sysc-XE?# z9EaD<4EpMIF&w+BYNA-a!Eh_F&^30U2ig)&~j0;~J0dq>!zLzbGXVJPleH6U9NJn3E{$}66A`~{b^YAfsWV!! zQdN9+L-^XNJC{z5O)~C6jL%gpOtCuhytP zX3i2Ca}%OnCet8BNz6{#ppt`(Mq!&!iNZ34pA!oi5tg|zk`oI_l9YN`W;PpjX~6WW zG3;=Gswjq(qpf@ndWF?Z9Sf|rrWrC3M^SXwq8{~FU$MG(s2R+)E1;xqERrs=M7szf zxN9BloFvAfLCfu2t6^+)n|TuZF(Y+QeE#Og8oi5ku{mW&ncMSl&ci#ZWzkzF(bS5* z`T@%F!hF{a*rvmJyc0d14owXyr3?&d(%e#LtC{3<=);p)&-j*q`i$Bx*InxExMf!d zWZbg$LgMF;vF*?pnl)ZViw(EsszK|VcI>lB-u^|axuqxzC89do|}CZBuAV;4|x(*tEdY{POU-ryT32YpNs=r~PB z(k);_zMC07y&kNqx=Y_^JVP@qn(>+1?xLE~=Z)J+BV_L^SKXAmUu{>EyI)mP7d7V6 zg!c6?Ux16^(eNA0C~KDcggR}Pna#YocJLHd)>o6->DJmQ+O~HKGYb^~#>b6puxcIEaAEz5mF%W`k}J=Zss$`zEuQJYkJ%Yu%zEa)>~ zcPsYs1(oP%!@mNjk1YZ=x7ZV^Rg#;hO~5ABBP^@7QlvQ3XKmG;SN#!_8p!wte4erl z(AH0_GsiBRy<9aAmBNOVaRh?Co37VuGVRGI!FR+T=cU z*#-EVaE{?>8>0aKW!3li@2S4sc^m2*tK^ZlxW3x@XoiXWbAw+zETaH@N4z^EPPG8`pEqHFB!O z|D>LK-|wlu-FX}8yIId|ee@gLbIpZvHqqoUIz?%(4@sf)bZBA$v9yw)DdMTo$GHbO=tFXh$VrXpWKyJSS_55d)dZjuCCF zx&mvA$mBi2^1_pAu;?{^xM~p&_hy`qunwmgmb}h%AE9S#Q~(#eWGo0WuQx{2WQc7V zBRa-2YK%yxE8ZbE&L7ZVV>fo^4kE#e;)4e5{e-e!AkUuJk4)Be_*v$gn6l~-OX>4UC07tma-CJ!J*RH?|7JI1wj$50X$vA1^h5Nu2efR4%m z=CbTcTm@;blqkZuj;{Ao1oK0Ejwt>4h>5U>VQEz;30evmG{+J1Ym6 z_wzTbM`h}VPJF;+<(KsVu=<3}fZe&bv*+{Y=IQLY!_yh(3J)skE$r4t&sN^pTh%yg zNv>~q`CZKAJ3U%>MdLobAy+I_cG-aDG|yMxWux=2L5fnZ!=FPAD;L*=SI^KFQ~roo zr$SBZ$A#@+&#WT4XzNK;*ZmrHApJudf~o)I48fv0#iW{MH0&SB5NuVUplvulry(G4 zwjnU*PBa8OUA7^}ht}E<@QT@nV5_d!)DW-=nj3;y^u;tyUo5ea`!yJXvpREl z1n>pk?0o_EEF7fRwsr-cj4Xic9`08X89I^RtEN;T>k{swEFHinK)Qh0W(6as+^54p zCP!&GX!UCR-gb~YeV0OC$74*fo`a3EoijNiPah2uBYGsM%W^sVdd6sMpQ zeg`;Z-zY|$<+c>aagUju5gYH2WhDAGCMf`Fyofci6e%-^zao1<*0ykFR0|fm!aIGs z!EBec7T~@1VK-m(K^V&aDZ|FIp}2F6E#~mbevkL%f6OFznMDu7X_otRRmCx%=w%xEN9_;QKc<`Y4-@BS zZ7+%X2PRMWGNpeksnqw6C9V4hHcJlr2LheGe~eSxwKbc@?ad7cLHmn@+N@?0t@}r* zu7BWBOj^r1I;}pw>dN1;C&V%*dYOiva4|E?%uW2ozEWRtD_ zoZHDcIc9M4u4o!5i};*A$~kos(7CbFw_ew}?Jt-^RS&_JkT+W@w{|?hb2El6&O~|Z zhKzBi!sr_n!kB+J#_oE*Npyi3MsQrh$C~Zf*6IJ19K+Lp-4wn zGdQBKrONz`l@&qhOBLV*r5D(u`$obZti;x?TSc-J%+#A>g{;^UNXBypPV}5RY^t=>I?dCbAgllCGPV>up+QX2 zqSSJ>6g#OwOhzqrFGS3`8m@nz(jep4=?CVauXg8p=5Ve!&rH-yCC;OdhGFMe8FW+M zr8MfZyn@Vkv?LER6KS+H8j+t5K#T`!*@wrsNcdwtO*odpOb=mS*SocsnJoGhNG_+# z#0O23OZ&AQh(GQ7wS5wQAZAx;=meQA=+@a*_;ohd#${->z4OO=7>89It>(g*r&_?- zccDP^3BIpiZ7ZUPB_qc0p{ps;D2PiEF7ik#CCN}liy;T7G!sDVfI*S(VFBe^{*`{a!ly8aRbUDeYKJLIT@o{sTd+Io8W9_`e4?=} zjrnQXmiDLSZFy`%TbkRm!?wiK%eAGpD|C=;h*m>^+nFA`PunMg=In&Zu0eBlBkhRI ziNDgE_zM8QZ>~tQT1Q-()s|G6RnmxCJwJi9-(KHk5QExbqjVK9o76Nk1inQZ_^yP) z!pP#V4vt515dW4q-N0W{`KD`ecA{J7EF&OWrCV;TXEHx=*tI~%t_7WCt90(y_Hq14 z?`YO3Z{9d3HZ+d8k07OSJ_$H9%E!S}MDg2ux=oY8n3#6@1aBhjf|9OAJI#^y!KMh( zUIqRI5;g|FTxq{H>BZ7srd2dMxvm>_o8hC`W4_EC1Fvu%k_pn81{@0Po?!}>DXx{Wu+;YXFO#Ig&DSJ3!2RCZuO(VGLiy2dV;M*=T zuQiW>ACaX4U1c)lvZN0)Ypsho{B()9Kd)*hzWGZnIj@$@{Eu3%`_!yPVQD?3CqzIhZD3 zaA3rtyF7#3!oTa6%nocb&5uWE!XO zvCL3|jCY9s=(^vQ|LlG=9{>OAei*%8Pxo_rvlZPhmPzS;u}n($i)DQGJ9*9p z4)zWv{`NDU`OIgRf9`Xi z```ZV^Pm6x|Ni%1_`(-f{KFT&_{D$xr!Rf!OaI3|uUxtE|NNIPfBDP**S~(nd6fN= zg@5^UJMO>o5#nlfePq2?(W{&++Qo&TL(QGPCa}MohMuwZ*AV1i>reGuVb?Z1g5ba6 zRPM$rgc3PLpTOTr-ATjncI8{6y9Uv1U5IpJ_d0)xBa3p0uV4eLJC7-1pZdDYR@|Rj z&xsuuEvKg2qFR^&T&zt0>eprmR16}L3`{@tU*Sg~Soq=6ILnRT-&nDJkLEF%((~4} zJ#Y-euDVO}c#%=eJs=>v-XL5jKoK(zm@q*B2?bYvRmUBN3u?af%Kha;ZtTVwaevuz zPyRCE=Ca(sSnkmT?$MBYG#B>^ncPSF(ku7MMDAm}q_+1;%RLoybIIVJE%!(Q_ejV+ zl8gH{ncTho!Q>!_|hx)=M%Zl^^(f{dCNThGomtMI)lgNFkmsIZ0 zSni>idv9?6t>vyJa92a_YA)_)Gr326>6QDSMD8oRq;el*xu<>|jo%*x_g`D?Err?r zmM!Azva11?rVJMm3vtt_cy$xaxb&o(=qp-fcq~kH}1fh)nA(lxo2{5 z-&n^T`>EgbrC07xCvso!C6)WrmU|@DbMBe=7nXZEfqOdSp3cSnS{--nr{3gCuiT$X zh&_(Tl;2*E#M!ABFoM?-MC zYx&lV;u|x;AN9po@Fj`hKk||azQlr0#^8?={KFP}BmsOR1jqL5Il?YC)fu;V82_;^ zzJl+Y2>yhZRPcQ*_;BpL{FLAywBW-D;KLy}_NUJQet2e!Kjn+B;O|capZ1apjwb?` zINMCz;!hKN9}7N|06r9g59IrTktJ0_zc0{XTb*(z-23S z8(|#G1%7lU`18K_3cgn&_%FSrg70O)tFfxTK=Aii@PP#Ifw08~a)BS43I3ulzJl+O z2>u%{so;B9@LCN1JAyB=;I#yB*+t&Acr6$Bahc#R`Qj`1yAr`)_L2(zE(<;ogTF@b z-7R=E0lXTvcr_RJ37O#4LtRK*!FNprKh#SqIFf9PaT|=m*B1cJQ%E-bGuWk<*V`xWMi2l z_z}MBO8t&R>Lb0RQp;mbxL`CHQy)WW<{k<4%Gs$`2GlF_P@j_7*2ns?D>d?|EuE~(9<96`NwcIu@8_0l}lBbR3_6P@SFuGHHm zQlIZ7m3muCJrPrHBDLH?#kNMaz-$^WPw&tua$g?mvoqUz*q2?Yk7kKRdY>#Mw^QscfKLtT9#S}6Gjsm;T;LA}UP zKQ)IrC3vEn$=_h!hIubLJ^N>AGIImZeA!f~-u*lERu@uaQIiTW$M9Fp_dsq<_ z#;eos3wMMq_5DZ9mio_f|7Q*SXAQKj0b~xnZomhU&`xOg$ip96<(6p%Y|18 zugdGSLbZ6Pyw(=i71zt_u;PZ|MtRkWhZm2K*OA4eibu=qnBuX;0eKx)Jid5>yiP2h zR6JQ;rxXW^r^@TJ;_1aRFHn~KBox~O<@@e+Am zTHIW`OkS54M~YX->&oI)#jE9YP4OGWYvnasysr37d0k(;p?IUbzE!-bI3}-e7r#@y zSzfmkZ!LaTUf(N@7jKi-?ZrEacgpLo;`fVp%WI-|Pw@xxy0>^=@qT&zu=qf6QeF=h zA1Xd9uSbfH7JnqK$BI+M$L00o;uFOu<@J-|Pm52JqI=Xa>ypAmml#Y|v@ud?=C(7%j(#fS$^Vd*E8h~k@G#=n>S=Ezf z-56K87Q52SmHs(y3V;s{S9%OZ=DcZiZhf-!=v?nhkIfCH5My(V%RD-FmSpL1IRom5 zndjHt5~7>@YG1uIUw%cOPDMZ5iz+%q6@4H^XS(!L4t*p6eI!I5$%X#vE4u}){^m%t zj`rnO^q-`nALB(89ioap7^5>|`bmdAoPa(Yq7Uanf8f5b)pau&*Qt*8j9v!%!w!8Q0ev7uAIOD% zLT0O<qQkEqKZBmqceMY(xKN9&}$)jEf@OQJHl3v2e%7-`4#<#spy-$ zsG>tu(Z^zRCQ#q+(5ngP)eya!3;o&`Li9P2g}=m?U(xSPMZeUGDmp|JeLO~I4)qTl z`j$DfkLz3J1mpUaIeEtQjhU@J;>)k-6RGG|cu_@%sG?8A=uD%&+o8`SpwEQpGr7=D z&opz_`0^|IU8(5b@S=(iQAMAO(V0nor$e7kK%WlLr*ol?Wh(qPefbsr_Ehxiy{Mu? zRMDqmbS6{Z=Fq1S(5FK5sa)u%XIl81eEAjqd#UJSUR2Q`s_4@(y5v)T*Rf9~uuq2U zleyR*&2;B(@c_zxODg-VUR2p3s_Zi{yQEa#?ARv~*e62viCpaGX7={mJbiz+)rmA(36v;-uH)i*l! zu>|(9kbNu{`%#$#+`S$^*{@G!zt4**J4BVe7PCuk^*0^+Xaf6a$Ud5j{kub&q-gWxpns{YPF@*&(Xz zgE6~gSYPefhZER`L-yfZ>=!=}w)+lIyZ_h&DEpPE>`!=6WrwJ;55??~WPOEWA4*^! z3fYHpvHvWy-JkLR%6@q&`?METc8DtbaLg`w)|WZNL^_Lse=vO`qa$76QMxjxsiZ|P2$ymyC_cX{mL9*E*^O;G;1O!n%bZc#zm zhf>)O^`goSQDvWq*(L4zY{x#6z&;bQ&*WmiEprNcmx2ORr&0{eK# zKAwyHj?D4>EDxaU$E32K?M0OxqRL+VO*DU()a;`j`&a_|Sjaw>i+%9Ou)oiX`ulkv zK-rH>Wk27GDmz4#y%w`eg7y)PeKdi6G-Mym#eQ67>|)phD0?lH{UR@_>=0G_fTOug$dc*LnbDe+`>!CuOUT zdQoMEsIm{o?AOz;d$nkjYz7n92SfJ3T^FK*WrwJ;kHqX_WPi!A z4iO?+WMdU3nJYU&x%lPj~=jpGjrE$BQaEM3sFaX1|Z@&pGy)1ooMbeI^(C zt(ms&eh;AR&!)2f(2FWNM3sFqW`B_E&p7t!1or8WeL5HWmfOR8lQ`ApArGMJKTle4e$yD~Acu{4CsIt$*?9*g_!m&>zuup{S6S>$Q&TRLe zc>ra9JeB?DUR2p3s_a{0_GigH<=Dp)*vCWm@m%cp-5B=wQq=Ch@BqsGqg3|iyr{B6 zRN1RrqWSwT$^NKgA4^~#3)#nVvA>i##{J3zDEq^y?7#M+$_`Owuf^=YA^Ss)eKdi6 zG-Mym#s1tiVSnE)YWFQ3K-ni#*?;Rrl^vqWJ`l6NO!fyH`$z)&NXR~ti~Y{b@%{^g$sR!2znjW_iWgOOh${P7%zhf# zZ*}a|1ompkUd_dR!mDAs$9G4a?g5nj=2Z4Gyr{B6RN2R4_Or?U9ml=}&nlknrnoJg z;rzWb&;0%Q+U}y~<_QCDiFAI*11S4gD*HKJRM{b_>=QBj`DDMzvCky1&xGtVx!9l1 zv~?GF0A;^1mHk35s_YO|_Q{z2BC_A$*ryZNr$hGXTGXD*Gi~RM{b_ z>{BuOWn{n3u}>wiPlfDLx!CW`^y@D70Lp%CD*K2RRd$Ff`*h5H71_Vx*e4U%Cqwqh zT=U`zznz&|c%27O_A64^ zzv)Gl9iqy?4kSJb`^YWFODP{!(VUf6D_X`(>%@H+fNIhp4hwe;du;zeD!T zj(seFeJo@j%f4Or z51{PBsqD9TQDujyvJb@UcanXRV;@Oi9|_q_Z{@P%ic# zWX@$C@Bqqwb}IX%7gctMD*JHE{xI3ka_oZ%?1LfuU@rCtGUK$5cmQQTBbEJ8FRJVi zRrZmXeTwX-JNAJD_JNRnAQ$`Tnf?8751{O)rn3Loiz+)rm3=g3{|VU#9eXW-y%w_9 za z`JD$)_9If+U-F{L4pC*FirHT!`{9m#DuI0}WS`2#es-pN>Zqq3jS< z_UV{?T?y=0G;p0T8D#&BV;@Oi9|_q$&msG-9s6(s`*6rUoQr)rv)#}20LuQ$RQB_{sIo&;*@t5G z3(5YxV;@Rj9}3xraQtu@5A$4}|Okx!7;cyf5+!51{NnOJ%>(iz+)r zm3=g3zlQA7j=h$^UJKc4x!9l0)cJ3C0A>GaD*LrwRM{b_>|-(eH_84J$6iffuZHZ^ zT93*ryWMr$Y9rT^(F$8xbho7vx=@BqqwM=JZ1UR2p3 zs_eCx{VB5F?$}2Y*hfS5(Om48W%~2e9zfa0Q`vv!MU@?*%03XYKSTEKIrfnR_K}c% zBp3U2ne5Mc0A;^5mHii9RM{b_?1M4;^JKrpu@5J(4~Oi-x!7;XWdEfHQ1_Z9cLm~T6F7|seeVgBS0A;@^m3@mBRd$Ff`*6(u64}4y*as8X z2SfJ3T-KQFIJ4c4^Z?3!RVw>YUR2p3s_f%2`>|xd(y?y=$gKJE zrEvaU%ENwo=9<)i2T=BrRQBV%sIo&;*(YN56UlzLW1mT2p9$G#a_u%RGRxpOwmfxffM-h$?&a|+V+VqI>=0G{TV7Pz zA*$?yG5fd4exhR^PGBDn*@ttnU!LjHe#ZkS`|+vlH+xZKhp4g-#q8fD`*DtaD1m(_ zWFN}Kesw1M_dI~IADhZP?nRXyqRKuTv)@7XV;uWn0{dXdKA4OBmCQKpogP5hk4j~~ z%Zn;IM3sFcW=DLzZT^vteIS8-AY>oN#eR3@`ujZ|K-mvZW&eQ}Rd$Ff`)JI5KiO-J zy_UdU3)zvI2$8L|buVVdsDJ1Ilzl@g`vYE7*&(XzV=?}wtSmSV#Ey%^5li+S4pyv+Iglm}4uYAXBVUR2p3 zs_YXn`;%lp#HLlwB%sfP=rg&{PtP3Qf8xup=xY))N`LAlm3)l_pNzqOM)1`Zd^!Pq zIs~821^#O0o<=|S#aHluPXvG3ODg!kTkxqE{1*iO9~OKn0emV1#|>6FjNB#nhc}DF zoBBNGi?85cO9Y?sk_!Gc3qBo#|BB%M-GWahfKP_tlexgJ%k*e|?TfGA|CR{;f|peA zf3x5-G58jO|2GRhkpMmsf=}cEe=T!Z`>ij&f`2s;{C8eb!M|$3x5VJD5PX#dA5Q=u z55dQCfnShm++Ov?SMaYSg1_b^75pm}y!uKsTVLA&@PD=7V+r76A^2D>@b!;}eLQ~h z@w&s}MVK!qg0J_I3jSpaUW>su68v8*_-F$7Xb6toA#xbEBQwEkzWCbWD-*#F_mT>} z(t;1f;71YspDp-E0{BP>K9URk_)PGleeo6iONrpecu58Sk_8`(!H*;OKUwhM1n}Vy zd^i{QOs3y@yf40je=!mK1TU%JU$o#uG5E;@{|5^`lmI>yf)C{aKQ*((Pw~Z9@Gm5S z4|+)j|AGY{j=@hS_}^Rb!36NZ5PUEf_)sSJ8NT=m{`o}kGrgpOf8K(R#NfE6p>6)( zS@3}b@PQBkHz2@6Z~&2cr^jM8iH4If!AIP$MJ>-y8GfQ_(6%_mwHJB zKgfcQ$KaO}{I4zemO{deyb#XF3wc!isZ3QL@x@p0Wr^Tdcu56cX2B<7@T&>_mlk{` z0emI|pUDM&Mds}68ee<`|8yewH@u{Rf7*gi#^Bcx{4Xr{bOQKv2#$TZa~QYFGW+;9 zeeo6iQ;Fc$dr1ZVlm(xP!M{cDKeOOd3E)#9_*5?NOEQB`H~Hc#_<@PwV_s6h547OZ zG5E~{|D*+p9p@tmsIe63%(@=zl-2~7JNJbd^`jn&jo&cCiwS#@fCdkMDV-4 zq=N5n!K<%E^YI@L{9_h;ECGBh1Ru)<{;kZ=)4jg<3jWbV@cX=^f`8P4*JAJo2>uZZ zKAHeN8iJ4J0>3#Ee9{+R!Ivb0KjRhv37xz;Dh3|FJK=g18hdWP?oeJ7}QvDB+(r(P9MugXLHU}o<=%$Hr;`W=bX8@!}azr#{b z#?*(C`t6o_SeQ2FAJ!b<)OYm(_J~$mtCp1PozH0ODgsDmU>G}eI}_F zSn8#-Q!fpum*$~FY}U0-C?N*W9lnN z-EOHDIqIk8?Aq2-=q+wCIjL+B^L~+~HXp}vZ@~imRH@zlJM~r& z3;h#w|E0IE8{c)yoBp=#=FMxH*I$@-PN`Tpr0{hXqS#mJD>i+V+qRw8)>bH%+B-VC zy64QDS1#;Y+_b2;;M48stNqXXz%NvgKC+_YT=LN4VCi7O8K+=fxfKt4gT=8)hbwNUyk3p@Y@^+6)WYx z(vRKq`n&OM7r#8LV85lB6)Qu9zv3DBdnYfoxw2^Wrb=PIHde^O#+tE5v}GJo8PXP( z3f^4lUX2z+QTH!OE!!G7!q>>7^H|B-;A!-x0Q|FH^`?E=T3^OA(KTIYqV8FmsCmP+ z{uWKTYh9Dh-)7tG7Hq%6n|6HjTXtIb*0=5a_IJE?-Q})wH>+_M9El!|kNm+@{#)=JJ3YVg zHTZUXiykjE_)fgnAq4eS?p}k6Y?tcmkzdfPzpv_(CP=K{bA4rL1()W{E0}J36}#=6 zH?-TL)AlBGS~PKsK6_%+XAw(?`z%$Ioi^;5`xc{~$p&Q41W= zuCOXW!JMEmUT^qcr(5; z9hQ}7P2SG<)^^x;;C=HBOHU*-KVuxC*bD}=v;JwQR~Y#_nHxe?vJ=e=BGCHy$=?b z*!nF&Upv2E`S;bUX>j#hX-4Ze={Xlb-wWkZ;K7&~f%qlmcKv>#@obiStWf9KZ19DB z$apqrevDsZZ9IN+r5w06i<%8&rtoEQiD74l7Wd5ju&}p8y)-_d;S={zoI@Vl!P+#( zF4`)P1{clM`ojjKed|CBvmG&-u$uAU>`tgwd!}lI?i$o=hdMQzJC80Jiq^umpAjh= zVhq{J<^)vPC}8Td+Zc7~-Qr%TlbCUO>U0H)l|xqd!cdBnMca<4gcWRKLwHr}?SOG_ zrHnk^wh+bnMLFp}NeIA{VF83oYkJ^t@Q)6t2ccRjsnN=o7>99x1&N!EXPy@ zI&1fu%GcK!iNd<|I$?2{u=vw_8~4J^48@$ zn-Ohs<0xAh+x&t=i+YOoZ8sWFzs2}pC>JVifg$A;v^Ei&(C%w&sr3^uuxl6hreI^$ z0sbfqb695p@fN5~%VL@V@^x48@awPSa#+bXy@8d?uo!!j#)EV=}PuO zLXU*+q3;VDO|FKGTC4x1QOjUz)+{UtEfw2RQ>&^+g_;_Xt-#e zc0#OR%IJ4DB1ZZafunMJPiLjAr>mba*Eiz~Cg3-A=rdRmuM}X%5TP*2*gEDmnciXx*+_uBadE&hVPw(%|TairGETYJ3|{Pi9)*E7QqOo+d1>vpNP@$o&( zC;5}BjW;ffc`%;oow3X*4Km(kd2+`V<3ikT(m$hz?F+wOW|tidw|6t(K9A1-wv5nj z&(5}^L}?c?PP;QBweMuC7R_Qt9|ZXu0`ntL50uDHt)L^2x8&=p?#KsB^)m$Qe_!u^ zpESSoy8idW{O==X34n1T|N932`!5O-lH3Kq?@?+K7a#gw<&ZRVsM$8ov`8>3tqhIq z@8_izV^#gxH~O>dTFyIhcA1Rg5}0b%Pq=ITaGe9a(=Yuncv~6v>o{ia&Hm0vl=RJm z@dwl7RSSL+uHvj>0nMsSeS(cd%2xHjO~9{adL5CXBC2+z!1!BvdNgaj?kHb;rQO*V zpY`d$OA+|dUQ)q#HsR`GWyBK~WnRuH-rIy29)KpAv?gwnW+KF;MB-;NiI4N;R^o+; z#K(I{B}PoptjmtZ#Ef=fa6#jOc*SgO+$6h$msDbS5QcanCf*IibRR^kHL+yXg1YtRz;d~?5@X0{ zm1OyOpnmyTGfu+FsK_C->1xWndA`6GSB*boFM;vz%e4LX+!tEIc$~h_pImD(HD_a! zm(*HBHJMtRjB9aE)S^Uts5h95W!wKI2^(QmHPE6i`gC}s`QLJT2pq4}UE+(az^UmP zmwHJB*3f;iG8F^w4d6Iiqjg7VlB=;bz?Z!c0>^i?j`(6LaB8N;6<$(-U8cr#4E#X= z$B7!P`$?3hf!335GFabDG)p6_ii#XU?KdsnUn?}u-_6AMYUXIPjvT{d>~?c9^rsdf zh^r$Ha1IWwTZ}Macuu>xT!Vtix&!?P^A?d!4b{2~9`l1leKl%}*_TEXY~0rPa99^) zjFw0cLQRGBYq;>CE9Tm3B;bIaiMe)vizpM9&wqTI z)iVlIv}ZLHXtF-yi@MPlRYRbDZt$;#!XYfZasAOqr8cyZRBU(TjvZPZwT+|dX>tKr zJE;6_uK(CK3)dLBZqXJd@<<-fSGVSBH#E5#FT+rfUWjiOnrkwkS*8zPf5m6#zph9^ z){F?1^&wOi>q`P_CB)V+7wWXLp%%F+yY9N%?x^1u`afo&H8ttoIJAGF&8@~Qj~ZoN z)k$chP-2e~y&qj5;ajGr7*)rVz%69G3q1%6%I@>-NDDB+u8x;WbxR%dE$TQpy@aEA z`UO~O;WCIwuPAp&d~gT!(Opd+T~RKr?!|hwETMb=-|M>latYp{F*jGHq2j8=;B7QA z7OJhc151pZsD^&CzAxojffYSQj(5koO_n{}mnDp&)XK#*SV=~etSEO%xwr_-6@9Ix zg}q1%k%H}mA2@3&l{?oUL8o-k=ALetgLZtRIVg9o>utw;s}r#eBztVy8Fh*%&T6bC zbxIZP3VD<4ZdZ30N3$!G>?YdhUD)Cb-+I3=^H9uiP%eb@`+2sv&XY(9qb0AwSdgK8 z^%?|qfcjqfy$Qy9@B>3qEH~^TX=s9w1A_^lf`rRbrch=%)lOn%IaR969O;e8kT3Gj z&D0tx;b_0btDy%nKbD9J-;3QtAeQg3;zp%p4M^WLEx({rz4MqNga4|9y(qiMAxE_> zt)H{5oPiK6Wr+w?+M+><=OXn&`&eBjri%?*bd5!Y* z)z?s8^BU@tq%FCCZC~~_)(uCX=73Ibi5Khb#UAHTv#2KPL1p9Znz1yNxzx+(D1>-X zWooSn{ksKrdUBFAi6({tb4OrB06J{T->gt0{sPaLLK%-Rt58>ZnYz`%@H$4Td=I$B z%P71bPRF=9*pV2x#sKmb4j=f35yYjf&d0z3G?VBnb*r;W6gbsT(S7vEno{<;Qv!HRW9BmXQ~KH&@2} z__nz+;k%!%&T3yQHyilsiV=6K2^XAc` zTbSoNBjv_jf`$Gm@4v5Xu+L6HwVM)qlvW!1j0HkYvS+2{hPq2z#X_x2h1HA&1M|h6Z_BEXN<99^rXu)6- z*iqQUL)Xjo3xDmy{I#DolYVCD!BCniT4Aiwa%5OA6MCC@90TxQ3ICayF6vZ@z`v+E zbzy4-@nLOZofLy(1~^ulKbY(pg~r8d!2+)Kc3;B7eF@bQKzl%Fr77VuUk($|aS5YF zOI+PkODH#hi#fGn^@!R8s^%|!l)vvf#2NsWq$M~~puan$uf4KpF z!2L!K5LAcC`Xf&8M?7t2l^l?p7Dz&zhqE(p#SHN6ZSoJ96y_iO4g6y|Mdm#4zNkOT zJaEiA8cU<$d2Q86)Va}1jiVtd4Mmo*2-+=!HZ==jy>|3C6LX?MVj4(|lu>3IpBT-> zSrY_6BZz~rEGof~4JCj$T9C_@3yo&+veK1I2^LttU^z_-!gLbJ(;-qq^_>lIdfWME z17zlpzU*7`SS>@NpI~O5#!p~j!j3P#0Ud{hfMjASeq9vAwU&yOOPyi#=hP8#LeR^- zft;&~?OXEK_=Yh{j8tM3S@r5}nYRl~D`+Ttb7cyK)pe#IWV5+4LzAm>#<3>ja%Idq zB_;b7DO)Ue!#Ukp&vUBn>Th<==F+ylMOr7P&7~_tcLpJ|%9aOBj*M@dQ@w)dSZwm1 ztTW=xy_Y%N%jj6_gE6()Z15RRsK@U9VccdGDgN536VR?_ z6u<1dUfFj&zI8De>3Ganvt}K4HTmcZol8+iTr-HiaLtUGRQBF5} z-~&(ULNAib$AoZ+shOWJV$;6w)3!+c1q_v{lzOL=6re>GpBpU0nv8 zRkmg_$9tIu4{L^Dx$GOJtd|9Cc(dq2TLJ&9I?x!SN?Q0%$_i4}6Q|8w}*-k~m1b0~n6GG%-cggqXKtLV^=5af>^evClY^Yox7-L)qC1y%C-A zh)C_gPGuh~!SDtXq!<&?2tFC#XI0#3633O^v78+|$*Hv;~Iq}k) z!_WkWn8h*;{aJP2nkq-RvuxjqzMu`Z??JA{7h43Pq2t>b9cPR~)-Abs-9o#kBJCE3 z%-ljR^|~-Jck8Q8Le*O%p0Rt< zfwjdAJ7jjsR5HDBn>C0CjHuPY+&sfrC!N}@)SV;D;tA_kCswPBX0OoSnZ?UdhexdN zW4Q?EN7fg9m6W)^%{{#8%6_j|SmAjzoP)opT68CLE;B$+Ht`^N+NBL4J6T9y!d@vM zus$9jhId)H6Z2sf7EOjZI$N<1e=uTm5{jAe67$K;)oe2p!CE;sIj(ENfb7ip=#q`m zq4`{9!SCG?Gjwm>|&(x;#Vg`J%)IN(%qdt_2f5k)s*|4I^m^o}6fj)#m4_kxC(iGCh zblSxwFSxa?1vMbotW>6dJkY(B{Uhuv;t{`7tcb~I;be3!hUYK@j>5F)HP1x7M(&~+ zx4q_r#g%&V2b!f?;4L(47v?Jzd5fY1P4&JR*6DIpulkN<=63@X-_-57+ z&tDx|?e05!?WVCdaWOcgNX&P0Wk1>^xjBP1x}S|QqZKRG!Guz}_o9?IueqJWweAsB zM|zJ@I)>D2(iiAVY=oWM1b{)atiBh^v=$=Ti)|m53kC&aH?X~hW11;ssQ#`bs{SS- zEK@R^-gE<_oa0Tqx=tt$X?+Zg5SwEw08nEx4*PN*=WA@LO=3G-=Qh{&HP^ZfD1xm9 z-&X$gC;HPrY$7#sQxW>5Ke^hi2CedY#&9`=RssvgqBq>{MKTR(!}_qA+`%A3k$<{S zAfy1Hm)3_NXb$Y=HEh~A2l!N9(7TN07^8!B$IVLGJzQttVug&xwxXP&$=jAFwy_{4 zl49!A*W;PKcnxl4?ai;tuoU}#A1@5n|CNgm!$I-})bx9Z_ z;uz3s|0!+K9wmmo#j?@St(fnyfingI*a_J%qNfCFs1rPTR{iE6Y~C)zEB7*I{I~ym zZTRs3oRp^>wn1EK96pcO&(u2Ip2^v(4OLg{$4&1$fCCKrAM_5xq|7a8NB8HYH&;e| z@V{x+uRBJqMzhRdQz)>jng1wahX@3-LfnK&w)7Vx<(x(sEWVeJvA&mxvA$m@@C{Y- zQIvg&R5!MPSD%a5V)WU09dd2`%v!?dA^y(V*QWTa?1v@Q!cNF}_a?o0*;VF%ugvF7 z7v_~srSUIJHmcN^vgQ?|6+BDjVPkJ;{~_J(89SVtUB@^AeozC82dh@GFmOYVv3rgPM)4 z-f6zd)aoskDl=9O{lMH4%7Nb2A0q(tAXmXdLQBZZz8A&W8^w{}z=&uT6FT3=uPU`$ zkxfWlhQ95CZ{ItwpU3Y-N}P4CV5rxj#GAddeED87O92$Ky~Aj-^x+}sZ{Y++j z7Y~UGgU@xgp)(qp&-aB<+kh?4L)(Djyc;J+f^Y>IDP`fknO5Pg%bsZ{SSsV$XC79` z>Jk`v#c(V}Vali*c*;g=yNuRSXBjTt3%|>5UYx3Q_P-Awu}gKcanE>Pv9fOV6>>ti zxGEGEW#H}-U3_o)IF~3`yQZI3wV&c13eyN&aqm*qE*tNbt;9{h5^Jwr>zi|H$}GxK z;wyc*Rf!jJ78-@#YY)Yt_iMbIhThGsg`uAiyPcz6Mq?E8z&k4)HBJs`(P1bMQjpue zJCH^on|u^-#4hXj{f71QsN2~>m^dO$@1V`S9h=yCA43h%XU3Gs1bjMao;$@K`xE>o z(`}P>WG=L+zbt!?bVTV7)*|x35Hfszo5Lq}_~liRknS#SHVXMJe`cVxC}VR6SNL7ck(mCdv2CZZy_{Kal_u>8&;Ly-P%Ism&R4)S1W9kpH2$8WbD9-%OdwGy)jOO znd1I>J9whoY()rY>pf5Sm3y|e)vWs6#5+lO+>H1r^tJPmeF5`P}bpL>N z8HdDWFu=6P9f+`j89u3pxKW_E;6+I+;CV(1 z91J=5zuO#-CnpuZ4x7TY+}&a2H96cqJ7uWA4TNNKP+EApY8X*f zdSLLcO9CNRc0P6Pf49{*C4%fiE? z+F18!6N((nuTXpZ3QfZbMNm*xi!Ef|cXK;6to(@0HPaHAWn(tI9Amvn+2&?z?cxj4 z36{-Q*oaGA@l2~3t7e9GGmQCGJINPYTa7odz&$aBY#B?5@TUoKF7Gih^5KHS=U9E* zCs)dhsy$$1W#Kx>1(HsSz9^bDTIj+2MLdH!k~e^72(+^~a9a+~(}^3YI=EXc&S!Q` zpZE5rzuaA(kE+{7{c}VS?K0W6 z{HeSR*2v~#ORa6C>gY3@oT_;YYZS`ZgL@VJV1=IDKXTvhxIU|xyae^S(o__xmtThU#m}p-u`2%bv5zDC-Gls$`KT}|i1-2Y>zTf&@c6YA zJOv5QU04k~(*;egigKb3NFCyuJ;@C&eugpdxI+!N%pQ4NxGQ?*X|{;79$}YvHb~5d z2`)A7^7THhFR%YWw~a<`khTa~Z;6IyS;1eT0Ugo9peLZEZLX`%?rd0;gBX6bab1pMSUjxL zowZeWt>2i)0fV4eRmKnwyDL!`4$b0)@`t4|Tj!!b+)4Vu_^ywc7nmkWPvFs#1wvE1 zm_H*2+1&DH4#jy*#&tMz;F)n)Fkz2%WrHuNPT0+=igEpToy8bV#6iIVukolgBC$*g zM)yEeMYE1r8oeHqnRGDmVNFwu{Y#pSgzjLPBAiH%bpe?pePK2G!{iRxPNZU{-F$yI z+KV-;vz|A5`Ve$%K^y*IVNsV#uvXGq%U+JOj9staXc?MS8upD+v-MSXu@{Y+vGJg0 z2(%m`VGODbIzJsi{8z$%?XvMA20IBkEtNLpvWc{z(<-W|Ch!|;?$!Vi9ha$`j7w1Z zFuZIGsr97l`iXCiqkN%%Z3>OqGfrbPj$^Z3%-{g+JU#S$*qm`S#QNe21{r$V^YKx zEUI7f@CVbaFn%Cs9W*yKGRS36nYz*qKt_#52C-cotdE8VIjK;?Qz>9yI0m+<`BW2l zBXs;A2UU?fj_bC;jpBr+hk7NbRUNjP9g~>`o#E_LTtlM}y+z|XU^NF<=90@IOibGQ z!lC*Ie>R_tA~8bNTDg-Uh~jQ6Y%snbr9zEaqGq86#stQfnQtqkD-{8+OEhBGPz#Ht zBR98Y=4N*r=W4E!#$ydVSzki~o~glTt^a-M@ zMNo~g{<3I`wU}&YOWRaS+8Ow@Hx_bc&f5=5CY=ev8WY4vvJ*T4jr|h>w<6#RuNsW2 z$FX#D9%f+RrW0u^L@C=PD204B8`a|Q!Gz#S0bv*{*7CBZIM^zNy>CyPfc}gG^)YVH ziHV94YG_o9P8`lI&#h%J&EnOdz&mptmM#w7i7(3jhHtPqx@l+CC#gf*f>MX3LYw!M z4p{}!eNeb~X=3<*Vc^Rw&LV9LC3!D?gimfOq@#add;w3ngXB0E#gK;&NQKzwAL>i? z&0&Rn7{@apUlKP)&dL46;MEEp_eCi3B$9>(^|UsCgKs^ZRhQZ5Ow9gH-kF{1EH@4W z7zEza)<*Za`5<8So#ilKMgerb7FPeL$m&auT2rep;l#foV2Kwi<$&Jy?tv;5- zY&$_sBmj*H73<$2ifsC)HTW`XvL9x%{;>LD(T42m7Og*%RR3dJf4>e$>(5{6Hd zd@?bm_1D{%VMkyMn_GX(Yi#{XUDb`g41(hHa)28rQ$_*XscDAe`O9flr(J4-d5M%! z;B}c`CSZ&8(-sw3n*9s&o*{*G3$+%yfx#82?@hQ(Y~ z^Xi>npCQ1#JZJ&tGW%h!Jo`}c1Lp15wkImW8aK9z9pBk1`jl4JDyR8YX_h81pH@Iy zMV4~vRkCH{AccD`vvjtY&9qP3o}78jw>dQ3`i71WLEGm^d%@w8CXDpSJLh-^qU|yb zLA*_k-Ek2;q`lHr@XBE~wCN!!<&ITEK< zolfX)6n5G~ufX;yGrc0cU!Wm$R<(jt68>hIlT+t}Ew)TmsFcM{BBuw;* zV?OVyF%QgOraA&xC}IoaFc=vJ#uadnzB3Lh%tTCo5_lf&CGj^1#SWb8Im1Bh|Z z#SOFKN14$tS;)v$^x?~!(*dcoE>~y9O37j(oCmu{F9!|DRdRL6nxd_1 zU6sL@n_Z6s4fV)XR@bp)E~|AX^|&~*9&LA)WkB`Uo7E%G*xPt-mq}uxen?z{A!{zi zT6o$L@huwQZ96v6CTY{UvY1L}wH_%Ch%~pWm|(hd010BJEzLmc#|3jqucW8=%2lV^ zq#N0ysa1)SIZpLrYE{H%s2hUfOP%gz^in1P#Lg>uDXj!&z0UM94NF*$F2pcDH`nYw zv|N9P_ppxtsLloUo}V*E{R-awrom7yh`p6&^6hVb$2;E16|tV4UVkUtd*8SB-sVO) z+z0m|+zA)l2=}KS|HLN`T>599`t!f|bZZkk6q(q+q=^kCFJ{q<8%m3USU3aq&QxQH@FJO`oFxDdb)J}xNW?*}W z1Kn4Wl2~rvuk90M$zY;=hMFwp0f-gKpa~bh3u6QJf=BS;Be>F1VX!5`jwKu{U>)=_ zI4A78F^sflFha7<7P^NzZ{VI2%Q6}GD}<)$ObMLW9c8g8mh?sEAAu4ru^uw=JPPUSw1qL>UX zx(}bkI7ttoB1hAYw#f|5qGhNycyW}*et!TNC`d*d7cKfs%^>62?CeoCn`ZLvodbA9 z9*#}qjGWfY2k;|rQN&7*)D&+8`WVl{V8wDu;B*Z5Nu448#BLVDTC%mFhR3a^sUxd5 zRC)t;s;{9(O%3fQ%&1KaXySgdu(+?0^(He4Tvq+aW|d(N%c`)HV*taNG!-OCD4fB6 zSn2`4I4}iu(d|~C=QevYr_Xllab=r8?&C64NcS^HkP|7HKwee1>%Y8XC>y>vaigLQxR6KTF>1A~6dauYt z+G^*+Zv491%jr1zo@R1dk6x?4;pKGP+oPFW!}UhJoL=wUkel0s^v~{chul-}!#1eN zZuqvl+$G)oaelF@oE{NYJcC2$OuA9it^Ao!1CfcFcJasfWe-n6qcIn5Hdiel<+qY_ z!I=_rT=5iVGt(VJ5On`uOiV(Z`?MWMbG=X7C+gzR;iy8bU%|PUf|@FOn4soCA^=^5 zDl>6hwT^f5XWq9Vm!f%uesO$|T6&Pb@=1u@<$3bO1N`Ex_(F30SF!<|aqPCnQM#ZV zHd2k_oxYOPI5KD{6-wiXCcB^4)_CRC)X6GSji?%ut?a=Behw=a4+O8YZ>+Sh)~AT` zWPfNO#XlvC46;s!ViJ?;VxEZtbqVGSoX6-#4xF}T z(EKcrv#yKGXB{?V!o}b9UR$qDKkzlR(d=q!mVKAVWJ1)58h#(EOK$K`Tco$bHnT-` zkl^)J8Qq)RxXHn@AC_&~HBMnFFupZn(vzww<7B2#Hpdwml(@mPJmlrnv><+NRMweI zz3su7zel``nlUrGu(xiofn%5dM_xwDXQmeBxYp&H@^V@}Grce|8zUE&@5f%IVR~^% z%8rC^?B})VG9kl-sE`&hj`Jf2ocE)+7zbP3Cf;k`UK;2+el-&?V+!#xxPO7NEA(L1 z_LW9~Tr;e#x~uEcc_ONa> zXKq?DT*y{!ec@Vfi*By$Cfssmy=kQRggf#I%=Nsjsrlxpn+RJp)qr@;eS{ZN1xL)h zpds%9=E9A4-9SA%+C)F4y&LzM8@5`hDX@q~qk_7zP`l7H6W?}o7jU`lr5(-AC_b7U zZmNws_y@Y_511$EeJjD1a;BjFxHZq0yEG~tL(RrB&_Z^rqKotDo?-VB-WHO*Scr<5 zkBad<7iVtKaYt++G&o88%&kM6fYvDmxF;nl(!N>97(Tlfdz}18gI=~j>%F`b@efPn zy*gq&&AAW>wTCZYI3C@}@5{+&>aa5*)y(=2Xc8X3L^8(YEi$!ba?3EN^kw#~g|O&2 zY_S>?s-o3qPE3r7dR4}QvTgO~ZJOpzOlXgS*+S}0oNT~x#xt$5Px$cFtPk30y~QI> z={hJ+>CQjf2B-Bi&Y15=&!=70_qmHoP5WH2k1r_L9O#!S80w;hc3o|&Pqm91arT?7 zJ6Ut_&Yf$kPQWLv^EjE`ivpRQJEevB)^uK|8x1^1QfP{}{WRfnO9Z8nn4veU(IMtH zaKpIyAoM|IX63Elva@w-mDyM_JCwCj*H(+2wl&)Vv|MlpdbRYbSo2lWFqS{b4LJ)< zLWO9ixzbDp-XO-^5nHs=Xw*(zEy`>sC!p;_0aMcpD`qDr_J6o2=x>#&yWbQI*&D0w z1Wy(u@WaB17lXFyEpDp3kICowyJ_Ox+F4nxqZ<#|UkuLK? zTiSPysO*}w#>nB~C)^B%PU@Da42jvQA43CSt(VB|V(l%hxV7jKaiqH7cwef+wN#Dw zxNxwtaT;?uJduZ+5OA?bhcc;E*b)}jWkQIbhu%#r2_s-XeiQ;@0*kpsh9Ta^$ni}# z=I2L@N_KC2REK@r%~f-pTb58P7Td-}SjF+vc}3HzgLLHQH5UGYfQ_ zmuVO*&ThRWunrg9cCg?G+QJHrMZJLcKe=t~P1{6vWNp>SykNFmd? zIwr%T^*)5H8{?L!G4^C*xNTH1*NJ*N9`tA>)Fka`(!BJsG6$RWZ3N>x`Z+i+LddOh z!n$hr*Rjaq@_M>-;TzEs>=lBZ08fuykgdX4A8y$bA>KuSo9fVy?704mJ*WpD}2toN{5`;%>~|*tfWdRe+jXiTZ9w0w>p)%;G;MyLQ-Ux;yAL zW~(i;;mEro$Kaf=J(p-t{<+*#1iv!uHXqf>!HbI>OgCi1mdf*`dA`1;*VQBB7^m9? z)j3b9lUd@7&}~!hmb&DKE$6;vVZRE>E_)>O0DbMGuy#y`6jwOufa_y!(50TvY zED)E>cg3*?kwI75Wl4go^=ua=2yMd~L?za=1b>2ujX1-~@hNVl^BY>pWB`~op1M|P z(j2B4&??7 zR$4Yq+D<8LQ+gq7DNIW-DK!!hG>A&L)CK_wiiap50THYCLR36&-g8vm&*$^~KF{;J z?wLtbDz38&+4KAD=l*=}-|zE%a^^Lx0!(I!<360`=ZwQlYgW!oS3%YFh_cQjsg7F% z%(RwWQ}e8+e)gm~E+U(0EreVVTL`s<;e9AotF^2ZyZUgdQ&5%`(JC+XNAauZdvdfz*kxjq|-kyle3nsrV(K24KHXr91i6;_80lxYyi7v)eU6RkFVFUWth%;Xa z{LqzOUB#J{-zf%ZG1^AH5tu!+PYh0CJinj&qJ}I}3g{%Rti%6UYUJv>V1(WloB~lz^GDIr z#Aq&tow6!~1#l3KT4KTwMvgI$d7UBlMtOi?+v;tYy$xA!jGQ1L_1=cq+fc4I>JIWi zm~&drw&}A1x4)~EOtO4A}2C?iRC-M?O6dyN+R>$Ql|(crZt-t zl7W=eCt%fpc3qEvheF$qfK)x^rZhRmgb?PYCt8v%*$S6}212ZYsPs%h!rj)54JNAx z^kBGM7s+DD*xPJ$CTN1r>hb0*2z=SCyWZO>YoQ#8cp?K9HO4k28f+DD7XOT6BXRnd zf3Bh8%)_z}!w?LKu~1fK#3wWlHnX34qbZSdQ!*oS5Ye7&hK+Bn$e{d;20vJHn3C)h zFK0kkH6-xsg&p9i<}x>!EP%+s^=sK2dD>EHw%brK!QlCkO%>1J-C%0=JG5;iqeQN3 z>{tvjH#onf@pMqYGq;H#wzpyNz)JeIfx&e9wu9|}s8L}+)jqaHiz;<@o;d>v#e%jJ z8978L4-|C*b_g6HgR@PpP$KXq&Fp0;hfftVPCo@(X8(Rlr->b7wHfc%*E(5Z9$vsx^Ot^^#7?7XRBF758$gF^J*+mv~78cp6l^2;%B&&-p zU^@?@2IuA>bD9=yjn{YMPBe@ZUbc>HkBo=^y^;Q#SoLu18id{eL3ETS*!SAkE26nUM0wLYv2E#I6C3 zBZbvr8nn4-m!`0TWaMJ$DGQo59VW3Bm>*h(SqnwT$}OOX#(LA10rBm26Ku#lrEIu@ z@U#jjdSf?^$x#%h8|K@U0p4IUL?rPEJj@_f2-Z3aLJfL~Xm*n~S4LghT>;!Sy?GN? zroexj_Gda0#$s)nlfbxSkuV!O1$y}Fz+HzVZj+L5KvJ5ElGrV!S&?}L!K*0Ma(==c zlf&?Hn$T^v6EdC&b{OTb(x!!}_+c@5g@+h+M&{78qc?qHMwI`J@ix`ctkIwJFQD!; zQXz4~4BYVwwHmuKT3)EHcT`%Cbj@DEWpUNZmjMwV(I(LPeVxrl?oz=(PFd( z2+0xm>%FlugjnZVBrwq%AfN%%CB|-S_cLOE@*iQn)xq6p@}q22P+fGtxPVR5DMhXT z9kYe`+*Fzm1D61tF8)ZAUXVzQzWfe4gL-!DpfX#W8Pb1imCG}uHB@YgMparV-Mhn1 z-32!dYa!?1eo{k|wp~~UwLwr`oX2gYd01_m2PA*Ck9ly1uok`~a(C&yTbUzDo6896 zfSKix;P%>?MVXW{bJao-GSxvzRc{^qNpgFGKfoSAD+GF+V<)k#2lt}|aF<$<@l9;f z%E&~*m4O?NiaF^57$*aNeitra4C&O9Q8?k-# zBXLZGLasFyKX7Z8p@Tz`a(OU179>0kOc0i6(6(-z&mG3S*bPvQgBF6!M6Lk>X~;q) zZ^$ewgbLR`;LRu?1Cr>5#mWi78yy)mkDz989*!N31sjW4u;}fTu|UJCMXL~&?-Xk}h%8 z_Ui@P9LmL$p0>)f3|=L)fCH&YMu-OgccA^-qjC3&Ino^MT=vkNl02l zpUMebUV2>UDeDJdDU;b+VjHuSY{b{_m5mqU3mI6};|tm^kA#pwFXAOB2KhR}>xDL5 z{%EpmM#?bS8B>iAIE+*!6uG$@m*pNq5p!>JEhRqJp|~!KeV85IFM8p8ui=3((mQ|vH5sn>W}X9BkHr3DPc#TJejl%1?0F8ES%N|P z;LI95pDkt|O+Mja-HA6&B0`V&z=Ywp!KAL;6MhLZs3#A*kH)c-B%15 z;F%@`w2M+eNd)NX{7y={E)l@|7Tmj{Hhf(-R&eUZ3PBqtX5k^2ot*QSDwsX|zEa6%ZJ}(|)@Ucdc##!PYvR??BVXrU|Z5SvCu>oYdUjl*0CKRajO{IBE zs!Q5zVTVUg0W*CPHYW(mpwIX@P2%R-NwDXjs@XKwpk3X%H)(?tQf*Fgc<)T?|X0qSST>=JEAr9M|}m za!`RClf;{R2C$B(GJ!JiC<|41;@LuGi%|8T4+u2EQQoX8t4EcGYNy7YSAZ%^l`uM{ z+d08-s!?Sf$}rlM_XWj|FZ&R67c`SOd3y@~Q%E-HX{9E#G#@k8_7QHj%tjj#A1-?nBqA6v*9m-B`f^vxxOr%9ZmXYpl$R7)*k83cP5JaiyjLtdgGH;KMHWWX;tg zIF0eZWk+zTBPWfCd%%QRjo?&>5fCC=APX_!v54Tel-AJ+LF9#nbu`v!Y$L}DZ>yae zdtMPP*hxuc+<=+C8pX*085}|sCtopBO>tUxm8RvSAacXPv;qeri_f9>yKAS#p2M_y zuy}^&$aUN(`<&9^aP$pTCQ+@BVv&IaLu;csArP+UymnwALEG3OHv){t;Ocws!5l3NC% z2E-r6!E%#nL;$cs6T7B!DJ65L10WF>Wv@{&npQof>9p2vj`6Y< zzh;MIEcHj_*^3;~Pjj)jE=*QqLBj*GzA(VI?1;Iev_#BcigNiS@tdnBd0El--rRLEnh6YanX#og7fCaPec2Vj@KnZ6FITQo+;?(yJOt6r8T*W|(Dplr z^|;|e&|cneBcp4yUxZOKx*+cnchh2r0bla76#ZZKmzLc$=fbl0gv`_5|Ucq`{`gf7?WS)#*wCIw;#kp^=+jef;I$z1ot6;#A8gGy|PTWCjZh$ zLpKd$xpjv}V7m2yvZDYf@~j_CnQxKZ1w*F65>rqpv%FlLCbk|C*%-b3!Q917UJ~=- z#jW^pJ;Mxdqz^m5m*qBW&Sx3LDG{qb}n@grT^TLodA;P zalo$9*$F@c43IM7;5?sv`#0kWFNaZbm=+D%Qi z+jx#PNnma?9ME1FRC{{%0)$NAZ>^AtSeclTxW@OHA@2kp9E;gQNeF>w8&)s`3~95| zOShVapec7TZt`F2#&S!yI2N5?E{=tZyWDc%_l5jeg4*L_*|^MDZZD06VGMC70tlFK zIS@qG;HPDW6n2GcVU5pplFW3rt_%~h+t4}b~~U?BE&a(Yh^;r zke^E$vb+;X8{Gcj+vY@v&OLiBr|{<3$!*+0gP~X z;{>3hX<=J8HtUFDg0GoGDPINhmjx%<6>{Koy*E?F5L-=Y7$&A@n9=q_`Q5@$+GQ`A zt=wIV0UTO^2MX(WGS-ptB$@a>tWph4c~4+$P=R&6YQbj0uLpNMrak z6XZ!oy99n|KR6SWOSEl=;D8xCd@KhE384k04(EbWr*Jy1e>O{nZYfO^;KGTvt0x+! z1{fk$$j$Dy+SwVW1^cEaTx4{1nF%#1-g%_$FtyE!(A4h}EPKc1HD~QV04DXU0$`E_ z)IjD^*nW>@lK7m7)LQ@@Vql$d5o*3ze?SJtoTdJFoEG&oh`^(SDU?i%U|ZKZD+7f! zP7SyX^Gr7Kbdv?sQR&J@o^FbIvQ8vXVj-V`q%?!CK(`MN6K-Am}Z>pUknUyp-hSQMMF~5PbUU|pD0_oF66*U^6A!>4Vm=-8O z3994%CV&XCkM&JYtM zxwS~ts;ED-S@qh;@b$~XJK%h!v8WFfAe>T8Hc!STPJZDhCl)o%=e?$knH+RXv8Y9G zx}h5zcW^QZsu$V^9f}&JkY+&yGlv(*IH*l1V?KeM>tB$M18G5{tBy&HQ}FdMvEUeD zQs42D6O+2T0ORKp#{W-DYFw6w3{`%-F{!cl4_NO{T})~m$u1koPe@E^9QONd*gx)= z)Y!ih!%R$S6c%F4C6yKsvK!EyJzZ>hvV>Z|pB2rW| zpRCx_IPnK<;VBe`NYJMyHZ_ju0UHq|#xSBF)BI$_rpB50QDHN>m=F?zK%aux)Z(yA zs?e~Wg4onJn)lgulZPMQ*wom={ni8RER{W&Ncx=!wd%m6JUtKkKMxYM>^tEZ@kq7u?_q;0!5S|)Ah zsPS~Zb^~oQ)K5Sk+m*4YNStF~ob)S&*i=UI7!&6>+iC$L$&OPBjq5M?Nn_5bFgMi> z(qd1u+B}UlX8khOp%H3R9 zegh72dIO&d4uY}N82t zklr-whHhPt7Drl(wD~wvdiHDLNF&m^lTIvv?7#%QTBI$km!^^9Tes8>oh`2j{yk2V z3<-AlYP4k}T!<4Tk1+E|E!q}_E&83~TzAwCJ8Lnd3~vm*#BLejmWu-wiMMU8cY=Lo zbj3FFEGkw14Fp>o(5o^I)DIBXW7|gy*rpiJteIVY9j?KqiIza7g=t$1sA3#tqQ!44 zB13t9RSf8KuNcsUmBfI?fjX9_7|^L8Z3W|8bkk*n%;0n}1G(ZCasd2}t~Fl9_7Dpy z8~1_*c@lj*7IYRq2$Jp)3o5N-rW6Z0qczOLf-(=cC;G3nHs`r5k`VNY1ufc2@9^0q zSAxZYmQC+ikhoO7I9xFbD7p2yt9E@XCNwYOIV>P=1te6t$pjYFF`>(@1jeN@9urz+ zn$6$g>nmZ2;6=FQ^JFYRF`wB#n zi=PdQU*M!S)&_ZEO)Nahcmab#i$R{i>0=1;Tr(GgJS&5v6{82#Rqv~g^4wUA@|=d= zm5uX);8bw)-P(;yCi`76GHlki(<(j5Xp(R!<#D;VvF_^e3Q+H z+pIC~{PeQXo{#<*qCJ1V05Wn{uPEAcy+wQ?b!1hW*B=a zV?B#wc`9Q)i(`4}Vm*r^F`hO3pC#7wGb>kuA(ua~SkL_d*t5|uDJ@$u;n%iqtl)H* z^aq^Y!bd>I`4rS%x0(ha!Q~>6>6~1IYe_VWGC8)G&o#xE&rJpPa8qem7ErTEX4*{{ zTqfqz!#g+TVm>#T{)IqL%!eEUyfp^V*zEeNXSa}%dBlfvCc@imr)KEm!bTzXvpByy zO7nB?MAiHjpe&@=&$a?5ITf8Vv#BWdv#?PnL&WGMiE=sV{Jz?$WX(^}HRmy)#i`t1 znu>Aq%B=z)o=Y*HI`ZXmx`o`~KuldE&dK?KsWF zt*5yXnjdYReSW&{f1U(%=zXbaK!nwP196a?Clj;EtN4Ng^rw`b?-_D}J{u|e+7lDY zI6}Wrz$?W?qZ&yRst@`j}% zgU_jwH+es03S4%kZl--s*sh*&08>-LAf`x{?T{tXdD#v?`{WFP6;m8IsWwBSdGi*| z-NnlY7Z{q&H5I9#tynqzw8};W_|6W=Yq}Zcg6BA4QiFhjqy}m;gLXxVaBEuN4;n?V zv_U@l1)C^56b>Su`;12bnZ}Rt>y&!<9Mky4(|RsB<_3oW`JL!S-@{-@6O4=`n((eP zI44&Oor+6~!I9A0@=#XdVR~)MZd*pa-a~I*+1kcj`JyM#p z3BCf+p8IDsle^ht|Mt{Q*2d%do%Rm^393$ddLG7WC!(rQ&|K30!uz>~S8yb%Ih+0i zM?b$ojvkM3!)rFg{3*=3H+BL)Cq4}yWj8vRl5dTd`rux2q?Booe&M;p>2!BjBx;MI z_lXSzhHgksx!Ek2T~9Q-$@0vCWRdCG<>Qnsc^j2@v2N=TS*G}gE2wx%-mc@~Y5a{6 zG$|B7>xYbqbJ|{D81*4aZonN;srW34kH~KYR3$G3hEt|KF*NHEz&y$g=}IvMU$CQg zd$6G4-` z&bKQT6jLTFQT~>Yj@_x0cyVTZsx+^AO7jA8R?iDJcV_2>`z6csy03O#w2?v1Af3hm z`Z%vOb@O7GSvzmGfr9af&6139a7>4Hh*;cos33*SdVgtB!1d}$;X2gpq=KlQ+pG`N zPRejw?qNXS$|kjO0-DRP(J!+ti1q@31e`(K|Lz$;`zP}{+(ayT{RKkuOCThDJjv~6 zElEcB$zGg$nth-voQ|AKbjB;4cUzjmIp>^<&(ykg>&`p>f(tLYczXJhOP_n$<@`MF zdC!0T%oQ(qA-2-!56`TZA}haApg}J}@wuZ(q1f3pB-!DI7Z*K*q3eFxy`If?w_iiC z)SMXZAlo8vM+a~~kb!98= z`@3dx%rb&M)&Q8k091{TIrnKkT_GBWYeXTSv`4ROyarz*S2kX2FiiD^gl7pa>Gh=k zH=`QRHurE6*9;Y04+EdhMgK(Hk6Xx;?8u%1xmFgy`d5EwyfB|N$8kQlr*1xE^SK<|gv<;C zqL@5_Oxn_vljK|$IMgO=6eU+#v-l@~MfwkbMJnR%zR6*n7XDN2`K6o#)_pH3UD9~1 z=N6~jb}8Gtr12WhEzXd_OYkb_!+f4rmjXYsnanES-C_{?UHsY+o?Ua=8J_d1fG4ns zqIcTq_oS8iEnAt3wKCH&|M=%Qql-AGb(j#zHm1b6V;Zm}?0NRA1ZZlPO*dMqJy)! zU~KHkB-+c6~feZjXUIBfbJbz)2gi^`!{z03U+8 zWr3%?feWlrE7k-xNp_#?QGX(h`ZsOV97-5E56w7d{|7mm}|86oadC(p!iqamYi_@68d-^@Wa{Fo7+Jd*9<$Qj0* z01bh@MFHTmsYNGwr*oPV00Kil9siQ6=J8FoH4CrKO z>9NQtf1JAcs11?P{}2zWl%Sf|P8TBfIy+79_r=tS-)3$n{{q}P)|cvisZ@^+ouOTA z-RwTPi;2XB+xXV4?GQ?tY|K)8P)RTo<<|(swDb(O`^7U4^96Oi0o*YSemObBZHG__ zBZ&%pg9Vt!2img=jH&>8CR02CJ@WfRjszmbP zW2RK@DIy->H*%gm&TmZQFuyT@L;S{s_V$hc?Fc#FWK-yISlDcTAJKgxoU}b3!f)gL z_v8NC8sfkrcnQBf%CanGky)?9SWLXctqnpQ@Eoa^kNYJ)hx$yGKioHQ;+&>sW}hWe zxIx?lqYJ4Kkpw12K~G9$c2^BN6C`}Iw4-t~M@Lq|x>V;|r8+SB^qG0*?NiY6R+gc! zIs23LAGF8!^)(vtScLRO*BxnvqLXR-f_AJ70@8Be9?Z+H%^rbI**~{l&@yb`e>eWB}n%8c4-PNyu z!yDi9GaKLhvv2vixBmPuEd1gx{qleLm0tz5aNTo9Us?A&RM0&)k+|$={|$}T;RD$U_p!pSvVssyKUu{CRdlmifH+SP+IzK{fY}8K8t5EpXn!?x| z=?u{2xDgVdq|w?&xw^4{?eq=Pl7r9ld6=|{J2J~13GQxEjPN&Q+#MT@~CsTvHfu(=SeJ zH_JNQ>;-fSEooFg|+IuRfq;Vh)H^q+krH&nL*l-bU zq8_RY4t3BofnmJ@JCEeDw4%#aH;-r0Y6p+I2p%st@Q4IJqBf{q7LM*T7>Bv@Al{_m5V1tkA%YcY`B80|iB>_J z3ZfS2d=Rw`=R_^1<(YND9zlWvl+tA_ihkGyEl_p|SfKQ98e$F@O@neI2FE#4FvPJM zqwa=`bD!gsI(d})BYS6dnqlJv0ZGttAfL8a@SzAzV4gQtQWRJpWovU`(GGF30^`FP zuYmC#D#)c=$go&}Ddrd-X%SWj@}*WO%lK^7VC}?Uu`2NN+D`Kuqk`D5r*p6wDLw90 zz(cr>XGgP2Z^>Do(Cuy$Q4=mcmQcbKlow+)FaT{wW_z?~6&^H;zI%y+C zR3Nx(>9Je~d+hFk;wE)e8f(-=@v{>Lk(_HN!tt=ym zw*VwDAv1i&0OZ)UGofPF-%VXR6Jon0+9-ke2rV8NmZ>1h4wTB6O)WL*<&vopLNyOM!H2S#= zGw+n$yNX>q_!PT-``e>7;^1T1$>6YocwlDrj4iz<5dA&D<5^>Kf6Q;BBgu*+H*w4~ z;F=&QniKYN^?Y`btucH~!ic00aI_;_eh`KI{3gH6+kdh`$^HT*&I%>H`0Rcs!4N-k zcAqWuDz1vpdJ2eR$ck(XFpWj)kXW@MY^HC5k@%39v^-k65o03>xZ%3&f zqG_-@%k}rJQa#1TEjzzEOZDuYh2{FYyHt;cPO&1%Nse5lb=g^}r?lnE&hOq*y&?4n zgg%fp`{B9N=X*+Z&Gd(|`9`4 z!JR)G>XQbYA!LtdE67d!T6yA688$i7gUywz2 z6l`fbGD7F>0;!`lB&Za2t+uE1-wn}(^YfD!OMYGb4kvXxA#V1xrD0uyE$y%Z6Z&OD zgCw*X`F~zPCl^NX|1)GJ7h*ZZGJI2{wOzn9)}~a5|6cI3tnE(!{Xl2!T+oD9DE`y1 zqsRd2m|A!!Gds8e;5CcBAzglBCpPAJPIe;}du&8EEB%L!*kJ1Dys3ELc~bE<8t3V{ z^p9;B;WA*GEQkowTTb|A;;`#3R(g_J_(R?1C!L^O-7utfhX-wA(H;xUyV3Fh~u zq14H4Yq1nbblc?OlN0>#SR?l@m6|UKZfrfsZA^X@#I`N@e#|5ph5pcOjm-a0>UJeU zTLz9|bWk)~GVm2L8!vvP$d)x*&IiajA3s9clGrcH6x_xV?i|acbb5}K66owngLTj` zr*kFf?5!$npaWPX#oL?*of!umVRi|07V@AYu|F#cgukmm=XcUj9CVn?E@$s%Py&uj z5cPq9!RqXw6CNFOrnKP+GCxsjo-Xa!JXA)uewvH?iXb=z1=!K%JnWcRGQv*iw?^Rq zWa`&phs{>#i#?&nf}eFtkLM4NG={eY*>ZxFuEch9!1UgvQFc4DT-`5~>L%IkpPmKTZETg%`OVoM z&wr5c{(GY&;lbY;Kc}7cQ;gYV#4c`8)#<*;_*uL5th3HKTh7;v_w~8qa~VT;5x|T1 zUAkY*`+C(&Uk0#r5fFzOO0m3$3o_t5iqCbEKXtbpgOZ03w%Y>fv)fqFY(K>uxOTFM zx6DuuPP9n@@GpU&WS6gA03?1%kY0A<9Gz}oB|+`rt=ivd&L5dx=J=8{Sgd}B2O>_A zAJS{5w_aZ6yIJGcC^#U|W>^IofdM*!?qJ{Ns|F&9ji;V~Z^|)Qdp{zOo9$7=E{(QF zO!~9l| z%jhnUSed0+(a%o`yi4i)^=EDd|;#o>Dx!MxvTTtDzmwP z5|c$i-ghG{WX9>77QaTXkYK*{xa8iy{V6jaFOz|H2!^x(iC%iQG#42wm( z?Oojn?aqOz@i6d|pivOsc2*TONg2cA4E8~06PP(ih7Q6t!G)EKnMHbtoMm^(o`)&K zQiGW#oMhG1@HhFSGmz*je{UL$^We+0( zLm)>5SpG;_WC#3nJocPHGoI=SeS!-1;B@fXqrA2 zgLG7SO8|Dth~e)l!2d)VkOMw##SBANVrT2Pmq%{Fe@uz^Ie z&KFB{T!DilG9o?9lgdvGNBT-l z;UM&cK=T9OD?(Z4OMC4(a-I!FO+c$Szb^J$Y)gVuFfQx|7Uzr)u=kko1;R(4!VIeU zGT6G>l9=`d@X77VU#5{e7BloXhsEC}n};o(&0;(>&Y_8j#qrrus~Cdv%~B7h%{hYv z7OMjo-NnGZ!`@CJIH4~|z?r@Zj>p)wV{x(TzfN5{7PH}MEPkB*N}Hp-PS`40$DH1V z#roT^SY;H}MmuaZ7VE^0k|`5Jx7fA_o3Xn^DU_HRyztg(!eUCO!60fKI~D_LMPIfU z5+5cKt5@c%szL%?+s0GnjzDP}jn*fO{rj|djbGiPGlwAHVrsck=oL-!Y#u*3T8U;j-TL9YJlf z-4o{K7L)BB!l^)82f_Dr4&a1IxaRwq6F-8Gq)Wc{Qu#AQjDMy}zG>-0RDHbUn=U#Ue_<=6D>$PM%B)u~L1@B%Wk*Q+1MT(7=ZX+5o~07(?9 z0P0s|Zmp_dfKXY%PJ#UGX&~uOPI9m2Z1sO&4ZqgFC&L`bC6qA4uT-|1+C5VUvxV?; z5{_()!#NDkuug60xW+Rx9~}LE*0VfQ7;T9-zmaT+JpRuhFlRLFGNXCCz-XR}(sN73 zXvAX<>fe3lCH^4=9FLm=y8xUXl(X0DSddKd#*6+Vi}I8;UhOWjf*ZTBUx#~+k_AQo zS_L`!9aY5@8C58FOI5*~vd+& zE*ei`qB+r+cgtKHCF4kUhmFw2XQyhWgCM$mxjw>cyqkI=R8T`q~TQJDKxAzSU6mSg{9P_!vc65Zf2%47j!i zN`MQ%Hqp{SgL75-fWOAiEovE5o%ydrqs)vlrG(wK@CL{@qR?LK9|*K(Ypt-8)3(u5 zY{wz9sNp?Q8axab0=NQX{#I2%vmmyf9vJ~mZQya-!9Jsy1On7vdDcbx#UTQw)Ehap?2+dCfkc@T|Z$5|`-hAlI zA+p%p@2B2stt|2}J|_o}ikOgfgpgL)tWTvj9VG1r(Hf9E1lXIC<;d(F$ZrJ@l;-Df zrI0}xD+GR)c0qs#7>huvcv;Jihwa0?NY*5~ z8$q0|v~+KFd!Lg-SqcKQaR~e7@asfDMEMb*u{1$SbJz%v z4jVHj8bk}xUzXbEIqh8gf5rA|ll=uL(Ay8)IqVg?`$p={Vb2U7S?l)PH`(DSIp9;2 zv?2s6fbZL>Q3t-0d(p#bz}|P+1yw})kYFyyj31}mWm^GuUL`rP^t4ldU)_B!ImPw- zyEK-ZuR82;UA^y>>Y1-P2&HxPzF(?m_5uv`P!R9y>K-Z8jsEHb%hmnoQeCqfpx=Yb z)%}-J-DErX<{$*k6IWzApx6i@@fnRqA3v7;Q@+Jh^=(HIhZvS^BO%X?NIkrjDhv^M23jVr7eP*o4mi~fus!$V z%^Q%$6+fFgKG11^IGjN{5}D38d);D2>dod;T!ar($4VJaQJp#s$Mc^?upF_&^8D8E z{XuH(gYa~sx4x}$4m6EP|A)daM5k6V+Bxxt_UQHaK6%l;2kf~$vTb4ntD%x+Y;Lwk z)EMtTA(XlV3;MnXvA~ryMjJ1^S~dNs3KEsb=EHebJiQmzzSu5;6NjAW?a2$y{tV$3GB?2hcOwEa7@5hj5vQ>IG|m(RmTlcQK<61Dh^i}%DzhV~z8FZFbGayh zIh%_*0&QHub}$wBiP;g*&XTp0cK7-;jNdl1ma(o`E(M4Jp+{m7g02t|VDXww%r0ex z)z1j_RA~fzLcZmI4I;aJ$Q)_+3`VkmKnEa43V0|wM{i1F@}(i^v9oZQWeEVtB?%@H zE=QO?mO=(r0ydW-aI)#RENK~TPF?ykn4xpVA%ZJs>(FbWT%cBtG9e&Bq=wfNG9L+I zIheo%X$mqFhhAhW#>fj}pQPR>X4y+Db_Vo})Bx!^EO6#TE-2_qC1E06Q`F05d||ao zk$~lpQ0XgLz!%6=AtX3Mkv8Qi5`?Nikrpx(DXfW;q+Uxym{?#i4CNhBr42@vHe33U zjmSPif(mYd)HK!kIkUF4B9*!$ZD5W{WyPLiox4hP5|w(__=;T!&Dqud2YU9BM#Byk z42BP~Mh+uyBn1acEsxU$_Q4qghM_SCEqBv4LI!%6iGEn1e~7-0W+HCGJ_l&3-+Vsg z7`)dpc(-Hl0b+0qTf^>XjR@FAe}S+~yUM=}!&ct(JmdCY`PDxv)~*4CcU$jPW0>cGz{0$$n0}k6jOP(qms5MLr95}{^;z*l#JB;-KFO3 zEFQ>hNZCi5n4%#FBwO;Wn*kuk0f)|`i^9D8Y7bRV4|2KcO!H}qBqnbswb-= zpLeBUIQc9YMd`7DO|;L*r$l!LY0ND=){xJ8OU>t^zd%0OI%2;%kP*cirOTq>Kp=@a zcr?}>$!F-chJ3y^b?fAl%@)Zgn(YOi?3QWoJ@YKG|3k!+$BLAS6gL3S6rM>g1v!u! z1xd)QtX+X=$U%snZ&{>V*$P%7^FbzS5Wu-g*`lUzmQpBGU2X>;aSOgcnOw@G3Wmsj z>Rx2>c{7l??~G7y!O${vdQ&3Po9!3bf&BiSl`In03U>o=$>vSz+H6YKCR4h)%=yR( zD1;$PN{jO4uC#SIl5J$#NNKUo!=*Y#vatq{H5BVSQmSJlyH`JZN_7&+zW4OwO0t`? z%l!wU{_2KIRm)!oAdQZvik|%(e9mmQ+n&o&$sEtWKvw|(L+V2T{oxyW%Y5y<90}{^wEr3|Wj#ActNjDG+x_z*9fGjcVzxl;s{DIV5%&2>FH?D}& zdK}kAF<{Sl2I_)^C}~n=TnOGNdn9*shdxj(Tpy23U_8ywm+(7Grf7mj;u6aXz=Dj(k4nhxx2Ij`O)ab@OqX&w1!3n=V@hL=#-IS^p6r(8q~) zQ@Z~EVwkuqh|L1c1^J)I+^2fQP*HK5HRz^dBL|iKC=u2+>sm$#0 zPH4apJHvCYnC+@|!^?AL@f^*m++92y5zfS|zbCE8K3fsCA(*%JuF(=T=Jf?Y!QjlL?$>r*wyf=BVu80Y<8ZXP%T5HbZog>OY)T`*&@%v+3GHl6jyEh#1!y zGfBC>bp|1fdiKXS>POP3f5%46p=7a!qQHVh70{C>65Pd__ee6oDU)P=3+!S20vcZ1 zWl;uLI*JovzVpX%zJdAy#@YUkqN`v}n(xPKzGg6iumin1B$(H!D~TN3ueoWAoU$t| z3>1fs$G~}N(dV7V-{|Hjjr~KVv2#!`RPmn;VeBNve1RBH{F*=v#)Tqf{%C5@DKkZA z6ZtcH@DWocb zq2_h;&A47sifZ_S)QQWVvaPt8Af7HL)%#?ro{9QR(m*+UnP}APWKelM8>IPFa59%F zu&bU_Gd$hA;)dv^32qym`lH7M+9?~RdIFCQ=<0s5y`ix=-FHOa26+w8dL@a~i|&fg zmF8lyagbEFcEviMFV#u1@n1ceE{^5oR*=m7x_0>9;%9jT-#>Mk z&v^k;jZ3)uVbZj8MB@qq>UflvXSh96GCn9BCC)(eO`HGBXkW!b=TkA|%YS~R*u3D% zqP3uKipw%rt2rfGVT0HnKuZiEd0KVHEkS8xe*-5~23FROF1tZDLRRwVrmebKB0Q>qLfnwVpp~%pWL0mefv0UQu z9EdXyL!>nxSu24NgKyX~X$rcI&{Fy@4)cyu?-y4O^X{sGjB3eZvker2DefN=_v9&L z>KUHFm_wry5mrywdjVefd?C2mc$GZneEeYkoMC*^m8v)wA)W1u#j^A(q#kjwoG~}4 zjcy}z` zMeUVO1mdnQ7bQ;m-NJH7lBc&VyIh#>B+5;W8O6gA7Gajk9_8N9j1py0)-3|V2h+$M zW@(J9fZ07&1$)CRZ9UH!o8wsEQwk}C0?cxz&%%hZFsq{04 zmH@=;K|_orfXRA#7`RW$%*F&0v#_i&d0`6j!f2ouO4U#63CTsPJtU4q3QdnnAl$Hl z)2K#9{`4{ND=0-py3HU-;%sPyBouDjQpCh9-MF$zA*%9J@2Dzh6pb+(N#sbP2FGyf zn1WED!W79ir%7z@$25be!Rss-DqFnxc4w(`cyOymd0$mQ7l9%xw@acxwMQUnU?myl zb<&tD>Xv&<4BcqM-0}psXl8sMjll_Snb;KTyuVZjh*BV)#X27-)hQF3Vx3*3Ix8hM z50`4Ll-N8{s+ow*AJI4aWThDc`MEMje#&&mZ)bAyN#um3 z!ZB;wLfZ`ZQxWw$yqdcOz(aVJT(%0S8X!0_f#TVA6*R;-xW!(Fm(RdU6X!_XJ?j@^ zgDBF4aK-20nXytC*BRAXI?XIlk=I#Hpnxm93aw@;uMnY_AzsXBg)CN5oo23Kco%bw zK@=>ewxTdd(+pqpcMlJ!Zyf>O>KIMWI&6#me7sc0sCln`K2fTZ==f8Ty5pS% zBK)5tbw`|)L*_E6J1UBsyaUo|ZcT}X2zBHW?BoW(v~hKmLX8en@eZ*TOxW)T`K#{(zs zarJ{G(c`+?yhjS|;YdQ<<&-&>Hn>{pzNSt7IKyA7vaj5qM(h(jrqmt9X^V`8b;`1f z)y^>J|D0aX>p3?gm+}c#Pwc_c#QxKz?zn@ZdH;$}RMvS8AcViFfln?S2eUQx>&WF$ z_}~-;j!`5VfuboTu+v14u4|~5$#)dk0VPp45db?Nit``y6DSEFZH9Ow^?#Pqj0KQq z+zB#vQY=NWH3ifAjosLvBcmNjUqcL>Ea%mzC|#XbqoQCS=wY<-Y8a;XMG>0Xwg=L0 zD2(-8rLofG4G*e3#v9lYxPg$F8jH#N@B*KXCe2xlcs*8tHUqU8e`K5~GPTO2=xZrc z3iKVhNo>78MSq&&=CP1kprY6F{?ZU()R4`+FqfsOf|lMvF;eY}DFU&bIM^pikTSDu zn3#2;#SfHPwA_J}t23_^$V_cL8kV7xvzHYFQ`chI)M=fj9F9e+p81DL-9sR+n)yen z3g%`m_o(0^Gjpm^egeKY^WQDCNFQ(oT+A_S2I5uA&%D#g5n{coG#Wsqvjz&RXmLu9 z$#nULspnc7Nkz5&rD|p-33R-sx6hQSnN*D)=6jFx(NfK5FImRKdZ1J@+Di)2F2%L^ z<5JBeXFt}zVtWY)@6$nc`6(T7$1d0STJJ0nQOVS6qOVnWKU+NAE~malaoN6;*rrqM zkV{s6oSlwTMW9Vvq}{9^W2fvlx2D3BFkpJRM+J=e74QrIHf=g6hc&0#dAu{7YKK@v z^1Xsn?G&J--DXd<6Rgsyb~E3SE)!^=s8irZVq)R(=4}X#yq#rF4|L9+GwzAW7jRhtffA28lAP zV!4CdeSVM|yVS5#-I*iYIL{4e;r?Zha1&@L&xzwN6v+LyZXB62ZdocY7C$2!_W-Xp z`Id0E@fgHmkCflyzqavf5FaT@2I5CiQgc+fME$N$L-+&JY&c>d4OKL8v6|D{G9+`+ zj2(L((anZ1o6MoG0K+0rZVRM980|bVJ?&=M0^o^7$ZR4A#=&mcor=EFo6<0oM%8ED z(hR5u5ab#K!I=vbRs^fFiUZwob9`ku4aQwyWjqkC_uOgxvBTVqA0R>o>nKlYGukI} zm^)cV9T5@p!zc}g{LCF%{c+~o(~9M=GynwoQ_&Q2N2yN2(xZc`!qTh^4vaku7)yMO zN0s4%^G_yD2UD%#1@9?fFb$p=pPLJcZQGZ51Kc$RiyjO!<3?@>R0z^C0jG-X1cxDa}Tet?DV-&B(XbYuDR0s82;S6z#>7WQy6gn5Xaf%M$ zAW~JL*UeQ0&CW-7lHE^8HB3wBFfE}3Bib`Zc%3w?FFa^!qhTNmIpz?DJOnGD4w}MI zX9rEK(6dm8*j^m+9i@@LK2$a2yQ>OX#2gQ7o2k+$Lh^()(W?kYrP03HlrMu)q?tu; z{rzbeIfJJ0x9UiO_m%3H&^25lI*Ft{P^x46Q84E`wK%r-m+BU0SOYnppg+VXlQehApAqXd~bm9+x zR&QVskb?D`X)c6yga#v^{c=RpPf7wRrwqg#(qs@<^E))#R)|!V+f`&HH+SQN9oOjb zBGMH2^Q~0{gQ*=sd6b??Hg=wd8Z^IyGUH?kuJNG+DtDv~YKe5Q&RwNC2~=+HZ}q*c zd2Qd;wT+3s=4@*=ONP_mAjoR~B#_3LixkEW&}HV1pxuL3u^J-$PytLN2M15%`K>iq z!M38$FM{YWgAz2NzN>zu&kx?#?n9AZ#xL}QP}Jpf`1MEO2W)bme$hX_#4tF9Bq$k) zn*veo3X@JD;5a+4CK4!lkCG(#$i^GL9D*Mu=5hcw;^~(>h)g`Mo@mZ7BUC>)H(5J= zR}$YnkRYr}QC4tmsMnV*c7AlywymA(wh;7M9h>KmZtT8oTc>NEBkQ+Mv@ji`Eg8-5 zd>ozV*AJ4{(sX)iva6iGrM>;^06?Pe+JR+2LX_hSEQUdaEMgR`X$RAX8&(4sy9;nZ zH^E$6ikkLviYqzwOV~={2B0Dj6jRz1>K@XdJp>;$v@CP&3Pp?UMQ9`FP_rR@$o)Vt z^)<3|v9|x&Ki7?pNrT0$`vaSX#zx%(u>@h3#<~t_u zJnI#IY7ck3k)OZ8!{CEUpvbAy!|NY>5X>D@p%T!Kp&b7A&PCr{{~%?7tA6duU%&hZ zSN#2p9t5o&TEftl9%#27c%XLek>kNy3iJF?eNmQ#_}zKCp~JuaD4ZI=ORaBctKF(? z#Gv?KQ&8Njgkq4h6Ntv3XEf&alkC=j>Tec6mD`;_wF*SGcVis~5lZC3Xa^ByQX_P5 z2w2SgE(HpqyZc2@Q`0rS6X$Qwb5m8sLzR3Cjm9b}qS<>V zV9&%U9b4VFLpOEfoIhbw%xth z#sO*noTZDk>!J9g1t{i;R;Lvdf_ZLId}kf`4uoPRGQy60uCb8>fc$IDy*f_7s&en3b@7O_-Pvt~4<)$6E{; zk%ivW9HlMBWU(2tEy?I8iEa1NlPvuw4UUC8(PFdy&T7*aacmE5!QqrPpO zXKcj!;KmV4LBdNC=#U!JZ-4g(YrXE(*oHQKJAG`9k#jIg;O0AY)oI1;gyliV2dYtK zpiW9gBYKWzXh|nXn%QWt%0-JtGFXGWR#HwL?nVr7d^2IqY6C{ z3{Ou`9~|-o8lR$14mV{`z}sy)KuQ z!G(x(VgeXA=m%ln0T2$M>ej8D{x_Tfa;Zp01}Rdr09?mqr^3h`o@fCRn>^PUr1_&i zYJ@*|$2TBat53=t=%>py)!Pz}5-h(h8IwfEObuy?_m`H~%nO-1-czdc=~A7fGk)qs z81{yruyegRdp!RGb)SbY)o`OBMGnh{oDb4}&Y87m_;6)zxG}e$#P2JR_^U|bgGO6+ zv|rba72I&Z3iPJ(j?}$i?BVYZ>+h*fgLXs`>z4qm@N3(d#QBj4bUa56wc=S)Q{xY0 zAG1~mts`P{FPuhDPg(56Qcu<1lo5N6>4n7;WYwrM6J1=1GLjNGJlMr5wd8F4YY2X4 zK>Q2PJKV>Hk0YILigi#{y8=IqbS}~iPQ^11IS%m{00}0KG7dnrfug(wBiC+@dPs4^ zmydO(+auzQZ2oe!az%W;OwZG5l_c@GYKX1qUPHdRG_{R(--ajwH9x54r`a!ygDfvu zzNs@%XBu_*LL@^$6g)l%&lj+Ego_dftFVKmK_xCi&X1AK^ws3!%wu$+I_55Xc#s*5 ztVhZN%dYOA5(|+YQB2S>(N0XsAok38fR3r;<@ix@fs;msG@OmnaVx-Wwv*(MArE%` z#&|EQk^gHmsr(HR@R%TPE#BgV=KpEZS#o|H2eW-0f^@=JlDAE$KJsPaj#I%JFLhKJ zF9S(ZQ;V>MVH@iYXk>|Jdk#hKleC@TETPZ+?2~~jnLelKY-B+u?z+N!k9-8Tm1M!p zcNWqNjkOo-F2DZEmw@V~jb>sQTKku;;U#*6QDgl=+H#2!jLaY-3~PWKIn(W7!9IWD zsj=aX;R4y3ndEo;Nkf$xTTX6C);D_X*3JgV9CLiBT85YQD41%thprVW>>d<`fc-V+ z2p%< zS^UfAU-8OUz51tL^V$usyZZHSc;lOXX5*WG_ANj6RzP}vLaT=5rBbZ#aEUKm#+ z>Hm3vAh_CWj;rxp!ds220h?QMG=;n+aW-l`Z}Fd*--AEDSsaa}Sq>z~JkJ7udapL3 zAL$SCqGNwen({N=x3j2@u@0&-Z(?a+AS`VdoK^W2tGqE(aRGiHkW%RM1D&HrO366i zfbqeogZ~e7j*z30iBWC38ZAS2ITgQ+;y2vsVceF#y{^Y^8>)Z9>a~ZiY@CU&)|HLt z;A`;8#6f{g3OhEEya`G%Dxvrv8u`~D3gAEmdj?^2pId+;Y;!PB72GmJF6NDV+%p~<9Q*H2x*wKZvm!H^fE5^wVo zy27lV%vN1~nmtf*3tj#NUr>6>bSZI0C1K%#JTpk~M$eGsfTDwQUuG@XYaB=0y4wT~ zB^)IgfS_(T+CJGIh@;$~GyR!p8gqm8d@2wu?#{KwtM zqyOB@&34uiW+50M)vZ#ccwG4ujc-n-X&|)dWM*Kzr15NU5Dn2%kCBCt@w7d_LE*J{ zw#d*u9WoNNm4#C_(+gBlf7;tSmTilmuFhAEA-QdHX}yY(DL_wHM`^WaZ~0PM>#y~% zZA|o?NF!j8PQFOt^WviOiU#3~PtWOoAcb%`7 z>d0*qqwA{r`KwYL`E7dEIb5n^Iz@=+V?O|?`GSV>BXq?CSr6uzy(tA6mKKwv>ZS?zMugYt5SctsUoLr)p&P{RP>59g5CPN7;R*5aDuN zH&$?q7Aqjg(M&14`BL#0Z}*0{og zspT*kH*DGMAsz%Dpc`!u!lbvLo6Y56lM7rAo!qwifEv9O#v0}OdbD)@h8>?SK&Wv(6*ik zWPm2@wVy6$W&vZ2z}a@E`&<8_`wcvZmL@>tN$H#crIE@fF7NOX^l2g#3(ZmAND7@qkf_ zyts3@BvroCnI976HYVK9EA_$zp{QC~Hfkkc6qsVaG$Q6I@iYXqkAXjgI%pwI*~&6# zuZ(IBr75MjQpKuB2oQW@zaeJhRx)?bOra}UtCUli5=rnUakpVxLi*9-hVM$<_=Z~; zx!>!AfI-fLix!(uuTFSmTyp$$qopl$Ipu;L)HgNqhSOBySI}v zspKQ6n7f5ZZ&R zH^_EK0Z3vxeT$e6+=WzcIAJkIw4>Tmb{V097xWIIci8N<>{|82g*fMkGRJn36#2S9~*#bY)WfA6~ z>FoIb{$3Z|5hOrX+Ra6*Z&T~LVULb1E1ym{HTipHte8Unerl;SQ}K{u|GkRw!y1#> zk$6zPqmg*$j{u9UTYpB#TXIsnQa2tx4j5Kwh3%GuL&8FT>DPo_Gk&WU(&sM&8yn| zZ_VO0-+lhAq)A1bo@oMO_H-`mjni?EJ#adX66SRq<(-+vm&57Nt)0;vPRA}+fYY(- zxIlNUuxrQZOzB<-S1#RaS}KhQvPNTt&F6)V5#PKyi**t{f0#jcqfaR4 z4!C?Smn6@rpT^3kAHUFh2KqI&N9I$@aQ#tl~nd$?v+ymVBeH z-K6YfyxsV$ejBH@#6yUZ40+hSMSC$`;VKM-%}D@5PWC~?-(koQ!>HRy!GT0I2umID zj%up}c=(=Zn{E$Ll#uFn2BiYZ3KZ#4eLD|N(E@f)A0y!ukb%VQ_+=aaS=_GXDg1$B zcQBk{b9>m}Fd9TYLPmx#=T${z%8Np|KogkQ@NHYEZty?^<#U|g-6l(Va}mlX`XAbk z#{tfPzG4d{qu@gBjshG@KfgxM_y`wtM8XoR?$l$U*)Bq1MGP7j4w@^qTF!<6SojNR zMVg&!`CC7$?LlieyoJT+*JABD14d7Xp3vnmMmogE{2{O7|NRPfBcmsWnn(AzkxTou zxzqjZt@f9!rXXQld31-DEIiAA^XSx~=_l|z7(2PscJei`ymu#H`k#YjZBin_9Z{iK zm|a5@En$d_;&Opb_r^5^%)Tcz_nkg9#}hJH4S}QF2nR?9Cs>)}y7QU0pT$O+8XgRv zYdYO8+}hlAd9&f*#=sOv`s3djVS|uIIS)%{!@EFuaw@zU@9e)(S}<)Q2g09#bgct) z~rD-AG!GdO{4%puUStFW3LFjler%@*nI?cipc4%?EZ4hqq!+ax-nbAO7 zA6`P8OISF}>wntAOa|u$5}H67a4VfLIfNeCg9u!K9Yg>Gs00YX!a!3#&CfX&eQ-W*n!?9p5H7v+xfX_iJu$6r?&#ou{ptQ$tZ)pN z?{*IsxWo%keD3Iwn<}--W{MZC@p-Xmn!heJ@)^_KuRtT0G}^mBf#hakY#IOn;JaK~ z+f!SQT3fsZK=*zJs{=r0-w@wHR|#$wg*QFVzz+mT7AO`$Bq;xe%|nz2#mS8JbS6|4 zD1g5wQ!~^hFGnk)gp1}U(hUOi!ImcwfEPUq5d^;KG*ZWQ1Z%sye83$v>+l{y1_bxG z8H;J|pR>6m$v*}NSogVW&V+kJCFGKO?dj|wO& z{`1&N7|UD22x;cWTWxnAiuBs>$gjEK{!qE$u|-Tx8&?TGt7wjpH_=p3J+1m-7FkgYAyd=N{Y9LUpAnUu*h+TrSGa?{q8B)B_SH(##3EzI~ za)k)@aB9y*IOazyig1U9APrT^a2qRRIHn+m`7keH?Ki52YY_p2L5kzcRf=&JqH$Rv zNyLr}P%;feIlG z{u1`LsJsW6y-q3mR1A!SE+f zXUewxW6+-#hsyfXSE}@<#URsjhj$coo}Fd=DK@g4{G*~^~JUcLy!-Ny$rM9eJ?AB+0b zg-}QR>9zQR{`8t-*Pr5yAIs`bVBC~aEA^)?Vo9jiymqw;RP5^OSp~|w3hGHxps1!| znRzF$d3rMn)D==7fg77k3RE{hfoo8&Eoo52ahL{G7>6{d^VyAb4-7^b3#j9{2Bi(h z0sAez_B_&E?s?Fls`i}yEDu7fXl`BW09aC9gYqRk&OPnvES5AV$KAXJg<^RPDk5{W z1{F7IMH*DD^+XP`8dPj>MHl)DD)pD3me{YI!_cF{wUYJN>(9XL@K*6}mFi-6~!A(sKa4*k7jn4FITy{c`d4Td)dp6aeJdCg>{aaRGB&i zxs5{HDmZW?A{6(~eu=z)IqhRFMXFTq&r0=@BDHMZ(Z=Z=JE0nR^|wtYGBf*S0HCb%VjeO))U`9+f$EsH*4 z>nJTv<=r&o&2q;~2bYaOQlCzR(^bo(8!bf?QrM)=9%na54sahD-_Yr*06lp2vu>3e z(l|V9=0U#Aa(7sLIOHG1%h7Mi045ExFee_oZ5@*z|nrcWsc zEx}7kxu_WD`HnQ4>&=tRZX~5bX5Zjhh;XX_*BstqCV_%0SOYrI5BZxw%|%hz9`+^* zD_d4(?e*PDyY;R#EGKg2Xvo_DXMCg?Sq0)tg|YX})ST0})%ojZDkK#O?<@A#ugd&K z7gzMxZ^}z4Fj+OY6$l96*QT6^0>cet=OW|UiFX-3C9k*hsUtPMZ8p;esG+Mp9oCN? zMAbGY8t}17+gw~94e|l-h@*k*0SFP$d5Wfy_WQkQgFbFxn269fTJVRrYW?9LG=oNH z=z^=ECtokn6Q%e|Ct&6~Z6Pf~dK5a%wZ*1u{!U?L3q#)4jg9`X5ft_>%yEZAv}^)- z#2n}|k;B)ijU2%`!ZGj(U+m1y6@IQRETYbL`pQ=x^;p4}uTNwCyp7ppSa(c|5;}^7 zF-J;R8gqb;V;-`FJA9P)`G$LZvL>|VEVlNPhJO%!rVp4&+~&D%U)cn9xN57r&3M{r zk>{7P6#2Sttl|{e!s{1#t&I$#1m4YDUcFL$84&_E1RxmtTI40@@2p?k+UdKI^id9J zxwn?SsB06k_W+^D>Pdxt8-rc0vzUhPRSQqzB-!Jd1cbR3@KfM`*gTCbm@2S=eBSIe zv2UHp~{r`XuLN(4Lr4eS4JeZ{79N&@Jc9L!} zL|RiYzrwD(GZpt;$rNXXqqsW}<$UqG8kmDIc_DZnlxQ0erjV%44)0^v-1x6eH0B!Z z#>tJwT1JN%T438EDr4K6%@~!1kM~G}K3*(>C~UB+l6H2!_r0}R76%!R`B02e0HaVo zLs9p1_OWsxm5f5_d}E)rgr(+VsI{LD|Lncs%s3vo>Bb(A^ueE_SoAo{hlUUHAvJuI zg#(#6!UroD0S@cHX<}x+*CgU5%WLud@3gSDr_K9EgJ&pnXd$uhyu`HwC-o!n?Bs(D zXRg~UvzW%%T;Eu?4^*S+*i4Q58r!U(GV!>Euc6`wwQm{?oa9U!2pS4!>2!&o0xDBy|o zYUM*^qkM&^Ssg0}$mez|44+dWz!jz8>$|a&C|?O}5+~pi%x5-@2#=M3%*7UW1ZqRl zX1A!O?Y}9t{sSW;CT=+niHvwhXf-?V&izYgWne6%MBpxjDUrN|9dV-GxjA+CPX=!z zg1702z^p#28G;@b?JY1;5^Dj;0Oq-T%q7olL59l< zZy}m$xN-cu*>FWniUV&9E0dbIr|YEKbNNCbV8Dq|*}Y^?c*9|zXNPM#F3iLI{| zYkuW=ye16f2zgqKl_5K`b#omswh~E3S9}KQFZGX0x+%{B$}>a`y6<&-3#N z%XRje*Syx!oxK5{H(JiKpZ(dlWYeDUQl(N*@{s~%QR=fpeNm%$ybt2W+yv;Zr#?H< z$0HG7a|pu%gQl?BnbfH=Dws%vX1`Dugu6i=&~>fDwDa(IB+{a_bQqN<$dMF{g$^qK z){|E87{$-RFa+Mo>OX^HttwBR^X5$XJ{(2&JWBmgOFG}StXe!NvN06nxeyKXagDjZ zgOtM>#hVzZMne``eG`iJcYa{?dG_Ruwe?|sQvKIw>%U(0J(n6Ayt=kNva6{+lA~#M zJb-``^*9^v`LDHThauHt;GNLhYsZ*+t+_G+BzM6lt#?d~e zW}>~0Y030r0_xX5XH+%;T4R`m?B3u0?icRC|DS=ZZ_FQnWMm=>@S;?#!jMOE-9@GSv<;Ti+o59kBrbh zcc`x{r$5mFA1MxaDGm6b4Hzlej_ZJlXi>I49As;Vjd2aI@Gj&?Pw@9ia{P@nMi&u~ z4h~~XnvcXXzDg1><=LI=rF_z8cWTdh>WkH0UJ^afN3je5p`%6)CML6OtT0`k2UtYL zxx8@dS8v0?1ws_URQYn1&KYKeWqLXpLJs!jJ2_~3YMl^D4}$usGnhmqMm`~kW7-Fh zGu@Zj-yWS9K~QqLUkCG#GV<>E7*~_QD9BakIR=>ol}9y<2f_dVY%Wf3(6-_Z|-B@4eTR4{_D*yNF>r(ta*7;wSvrlh$Y+;o7 z`6l!eYw=_qzT2a0_3Nz0%yl?q$7dZ@;c){To4OWfr*Jdk)=B(Bas@JGDToK#b_ka_ z5Sh9TYr0Ap&Jc?P$B!nsb2vV~0*)&T@LMXu__5TSgRvz_&V%vpdN8IIQq-~JWL#H- zW9UR8>$@{xjCZRHww8-gu{ku>)q*iQsRd*H5DYS_rk%%U8~-e=yKm!J727ylCP&?B za`fk^J>SQ*YA?T!d+YZRx^ihBze-rf$%s6uaMRVg*51rU^5rUbQpp+ZWJIr>WH0}b zck)|l<$WhDyI-EM$Y7IaEU;2nF_ynh?fFjHd5Zi_?yKKP7z0W>iPX2s>z&_8w?5$% zPG%?ha+RFrZ`nF8-{{R+*h}qBMn?V=A>?``K@d1&uk-Ku5ugyg{{*y-g_I_%kkevOQ`>E9D>r@ zFr(%IMk2PEglj%OZn8?^iT^vTwI|p_o<*!R1aQW;Qd#Gi2OhdG;Qo^&kL!`yTQ%-u)@ zX}Ab;vO{7omNFoRcdLZBo7lGbb$hV@c5?h7F5_>yH7(qCEo*4cg|&IQ0z!%>*;f^YHiCIQ2a> zwT_?j&O84CWS+nH;%S;{E(4DEiSGjy#+4ryj4Mnq;bAcQ^@Xj_7C)1c{D!0d_&;^k9Iap7af}S!v zda!o9Dq0J7Z^06wn$up2?xLW=0NSr?tT&q0a0={x3iBwTWQ~fRD9mCvF2|pmhHEE~ zr*eJ_Tr?!3QeqqMeChxN9UHKM(BruubC%(Q<`yUs3Qe-ybbm=Abs?r&yuA75)V;gO zaOVjxP-$b?Vx%q8GYl$1iASuVb3j{aDYpk@dWy>%RS5}(LnTDg;urJUh&N?*=#n@5 zwloZnNit;ta!n>C2{|aZ`ulP78Ml>xZ^6#eI5q{f&k{0{CZB^hkmNH9Ac6CoiUqhc z_3R694i|u4*Q}o;NPPH`pvH!mYHYLyvNtgM7{0DrbRWj@m}O0OnU2lE{o1i{=)) z$H`ihF0mpD&?SxalM1R|hbic4nsz_6X~r8fkEkj7yiEpqLvcde?s4O@C&oSqp692P zeP3ImC}a+V+f54Y$ZkpiY`4UfHf3*VQ|zp9+7z}sTjsxAZhzS*^pVt_Ghn7hDhho| zTqS`nzYU!57x$@33*&V}5U%sk8I`c53Q5&H{9q5THL#^oKS^F|>B zC1Bh^n!-abh>o`QK)&ah#Fni$YL5@WD_gN zOr#qnOb!R7tc8nUWdW_PhKmL8eJ3cZ28~s3W{}upWYeFdh4+oLbIAFPtkCIdY`zCm zd%lsxoFaOgk)?7YH&n>iN*sfXwE2yUM&GQF3tal4@Q>Cjm+_gRbY4L zu!o$I!3Lxwugs9;ijdR4NUQ82r#N_gjBS0b)K(Jgzt42>gU3y~!> z*7=T%7IYEWxM*EBxmsM9cifWg263H!I5J)oMgv)K-Q*wOL_gBj=@KCov4mcyqnh*Q zoryp1T!D+mdNSq^QTFC;oU^0s3OVwoN``z(YOV)EhTOiZ13D+l`>oHe<(TUEF>~~l z_^~lSNxJl8aBg_DN_Chba%9Gf1!f#cJA`RAzgVQX3}TF^x;M{=_uk|_#;6Q}KvuRPYw!VZmbC-rG(+J-+f^~pG3QlFxs4YVR^ zOi&9+ZshIdb(LUu$l9I{623Pz?V15DQ|hStkT}+8f0`gCSWXCn4mbNiZ zjyGzeNc(4N@5e5>+5&WDFoRXv(@`jCAaLA;Ncpq}fHDe0m3sik_O&<*t&6eXa0a#! z*_8fWmkuyXB?VsL_B7^#Y#5j-@S3*_;wCMtsyvhoQSdb9#{(^QrB!ycG|N(+lU8`0 zAe2?e$q%RI94)KD_%_#~vU(vMj>y`vc&2L*jR>+2#}e5B%<|Xq^fd{)Vd$%_L>U zD6y1r54RxKnJ_Lh961u$R}1gSz5+L*@yJ=%xR?>w7Eu?`fQ0OqbF>W6*`j+$RKQ=- zW0HM2hI;^-KSMT2;>{HEcHM*BLP%=~bIbExMQ9Fc@st<+8w$1YXJ&lr57!Vf^u|)s zB9>+kNGGCoI@1VfAy@q=T0MBzZ-3{n805ltr&YW=HUDl*1wqYp;RC|u!d2&MQJ-Xt z7hiJ?ar!x2UKFy!^X?*ylSjXv#&OC9&fplDz~d!u!*Y#V{tf;Jf`Vk9ew!U%fWT-L zjD7;b$BT_fU6?Efqza#tw&C_&^frOF5H;bz$0S(=!8);o-F!N!w_}|NF9EFqG!yot zc;Z34iLuOFp5BGv}Te{m4-9?q{E8^i;~CmI5BKP#DxuskOzfo=_N9jQ6p z)cpuG=()zY2aHpenVa(XG%28wVUvXdpJAV^P_g;3%LI9|v*YaYVR%Z=^6q?wEr;q6-6neRE;a7pH-q4Lhcdp7C zeo;Ie&+Iz_e#RQ^{>DuPr?rScDqX+g?Dub=uN9;4|&9@3@ckJu7esCqrshZZ7T4%Ze6rTYlXY)m_8a*2)W1kg$ONQ zD{w4LQW7gU0$IA|NOY&fMh#ReiktWtIf^JMTTir!8;-Vt2n_q0kjFlIY>w7r@OO5t z?QoLEXizeCHs&qxVu#p*hCpSNoL)_G2y{V^vD>u3vNbK6g*+A@dm&OZXlGb|TvhPl zLH!P@hqZ*UX9?toEE8wv@xsZE&7Ls!|Ficd@N!i}9&q2=Z%bYxK|!PF*hxTxxFkX# zYJ~I!C9V@4mCQIxoEgWAI*QJQPQZqQ5D+meY82Gxf&?WRMI?%&L12gq7!)<`!3E=< zamAJI|NmE=b8g?;{gxz%-}lYyAEfW?v(%|mr>ag>ojQJJ76qp`To?P9hqv^*gHKDK z8~dT~=8nf)7Zk1(`ZoKYTH`OX}=YhoG<5hZht&%Z1 zJLukr(OpriL`G+G?KD=NVup89J0BQTnti%B{2+aw_P5m9PYmw7>0odpcN>FC3=gdC z7_hnw=gx4IAemiIpG)_KgVo8EJ7*5OxJcmbH;4CUc~sjAP%Bkp`K)fYGWg|E|a zy}>lOKgmtuSmd+x3N}KvETsiRLNSltJsOq6l6r2JhLhh?PXXfrAXvF}*&F!_{cgkP z+gIuG)pjkQ-N?5Z8S|%i=8ljrftg9wVZi9A*wW`0knk zO5%r7wJ%o#Up_Gaewa;xAA+ylr-8p1vf=?N{dv~86`n<_V0*Ujj{tdvE1l7a6`U)v z0?LU3DGa#sK_(y@yq>QmMDR-1EKJE__YR*ifvsI}KLn6go`IjtSu=RJ77G<-l` zM|R0gh)viy;bFnw%$d0LNb>U_+<62a3nHR;6$XSThS+D5u%SYKy!W)UNod)Hp}ZH+ zZBcbO8Jlp5WV&|9Q&A-DiX{RmxY!0*xDifZU$o)6%VoAoiizR!%0)7HQ`os{r3JCr zvLGS8C7)L>3!#TzhUTf8f}GYnL8uT&5<|z@$C*YNY#_PnR?G$ z8RBs{>tiI>DX$pVH~@PH=FZI_JO)DqwFxHnlCUK#w4VwXiXb!Hp26LiM578yttBCq z7(`9fe4qw#(rh=9lkbhE6D#iiC5Aqd^iVu5O(7;Q* z0OJ}dZNkZ|E!u(xu~#`;74^s{C?5&%6i5KH%;P%4(Al6kLQ8B7(MEn|vy5)N{fo z15S8rK&zRrNJO+U+oGlZ1ny6A(u$>RimrN)Q{T199qf>;Reps-Xi;mZyjBSkdADuI zfnS*uV|uZON#oCFPDdWOp}oo@my0ihLR#R-*vV)sGc=@(au%pc8abHE7*Ox;Rdg;(hs)DPOgqJ}w6Dnp@E;BUC!s>j z?V)VNdk+oWLU-LYyapW}wQeo?3Ma5TuUgBsBNsmz9W#HQ9KD(gEcx;XNXz=3!ouA< zV2usl$#j}vgL{3s?mn`?OZJrw@>Y?=0(Hko7yI-3ntq41@c(x97je~x{Tbnr$Z$&{ z|JREJs?ZeJ-~wZVP^Rz!B$uhe9Vw+|Mt; z#LI`}P+LmeZ_?}5xZhOZGtT$J2V!e5eF{dNeCgf!0Uuq~plRG3fu5kaq)zInlUv4_ zgT~F`IMt*hO^c2`=9ps^KjyK@ITO{+_NE@`D90*1mnkdSn^HQ;T{&`(md_w9HGSd= z#&jXs?)IFwC~B_w3iriAhVq_MoJFDyiRmD4vM7hjr$wuf>SL`9CJD4Qppd8uzLAk! zR~pE%g=gBznSvMr70}bLvl#}}46lcWtw|+h8hmzx>)17D_qgabi9S|rmJNh$mi>vtnanG=-;NDkil_;XIaObiFLqVQp ztzp_E9*3O_bfw~l|2+?e0U9K5z2|VuRPz}8j2MODJJ*MwkFgiu;|t+xD}r>ek0#o- z495$yere6>`LiLWv*QlW)+*+#mZvKk`TTBftYtOa?Qe{_Hp$@w-OM!<) z$OxMB?29^)Kz3T@I(FEdgk^EeSXT~Nl+Gv(KSWjUw$nG%>vs`Kh>)H97p|}|>d_k5 z)*L(jsP+e2G<0PLG=cW|1lo@+5#gf++HSfKFv_ujfj$1h&%J<0_={bBI%!jnERHQ) zW5FS`hHyDHZwHooI3hZn1&EgN5#1lrF!j_l2WSL8s!7C19M?&cO}dRn1uDvu`q6?CNP)!hO_$) z)lV>5{|I3Pqxe_$!($WeMti<8nsVf@M{s^XHA@;V1KNSyN2AumgxotCa)8mFbGTmI zXlYL7;syO?(~BE49rN%^583qMMm-;f=ZB2S9ex7B_|^2<0@eh^%+!$bCcu z7hGl2i|<-ddeRY{0D@6r`~PyV5id(tl&W*yft5X61@Izo=f6PNR{o2F-@EYd=Hlnn zRvSKp;bElw3zHs(NCJ7$ifIZgqF+cBTf?7M@s@~DM!u+}@G#5yESIBUy}TG*K$98~ zBW{*?Z9RRfp4R5O6CvGUghcbRGAu|V-J>Aug^ibS3Kus173>(lZf9B>{JSe7PoI-3 z@BqCoLl56~F>*YQ%M?P+t^LIi-k%2h4I3=2SQUm4cmT$oxI-U? zU_8KCuyKc;3<30qtgSd0jV8|}rG^C%9z?d`0Y0Bp3}*gB?7ge6c~%_3&Z-W2KAuDsq{+#f6^2r$vIOMv;mn{E;gdA(E8 z3Z@|eaZTy;(^5V2$U-6j~#3Tp+8d1fg16jCU)tX zk{^0uWBmwKdl-M{2hIBk9l9g;_RAXQSvD!teHOAk#>bE&LJr{ z@?-4AN6w#V?Fo+8*5E)yCs?e*af*XsfhQ3vN-P}J0j|fJH-O=rywu+Xwf@*v?2kRD z?XG#WX-%UH6Rij&$$1vnlQe`Kcw(6`1JKELr@wWu@wQFJJELQ|o9?FbxSRGHt4tBb zIv6vKmB#kEG`8DqPAxCfK8?l4U?NNd3mdP1e#tWp&e&VZJj!J9kaRL$rNx{FwV zl*L%O(NTpjAR*I0plWVnQyhRw!N)j2atwYGI(Bf(qN-f5L4?{2aJS^`GdciB!vr(V zf{(8}2({@k)z7rMI@h#+Tz05T?mf;18DR*Kr@3oj0_7Jdu8MU|v z+Z2XVx+O}->@#t;{p_!=w1tiH&4n%76_@Hp8VR~*7^Jl=v=U}{yL-N)_P(wY2m4K1 zpbXZ)ttGA*Nss71%RA7mGf=ozK&!FV`Vq8$Np9!?&wtpVr;jewn6 z6xFuuFE%564A&Wji_+BDwJa!tXpHcKf<$40W%v{J133*eM1?f z*^t2lO84n%#)mLmSnie9kea2O(Jp{3?f;o_01+5ML#z`*nlfZ8uPFB$YO`i(E$;qV zgIw637ziVWDTGt>7l$x5LNrI!JZs5YqZb*c@RL5F??Pmmcq z6QSZ-FFqIv_q;=mV0N;YnSDJp2?mJJ8ZEwWw3g22Hx)vy_{<94LiaSg;HUEXj+X&} zd-t$QzdjA#?b2+2V!JfO(g0{__1wYBio-}zgAx|x2@?19#T+&T6QgDSk_AS?`8T4d z%>5hF@O|!0F5T^OZ*u8t2SF~~Yd>vZ@}+;=4kAN(MKP%c=2Lf?eI9>>+twvk2`K@yEy*%6HYkc2~T(;Z*{O69sYdz@@G8rFP`=6 z=R`5v-Z-Pa`MRPaYFD6md*e*sd?8?PCWE?paO@=0mbUT*%0vmarW4!n9n?u^1IEIc z5FN80K zw5~y*d9loHjNmq<9tb%Y}ZKg>^b6`pIqofR>d$LN^sO!SioD=L* zyr4|Ihym_HE(0WH#tc_hz#D1}J_#EQj&J=;=}!zdWY{XG)I7){)43xpov6B*E~jOj zAxK7$Bef|MqZin;A0Em+5x)a4@MSBZHN+pD$R9#D`;XYv6RfHEtI>+ij84-&>3Aj* zP}cupt&KS-TA=7~sQd#~ZsQFc+*WaVn_jEqSkdHr$Hs#sNCT}=fk3wvUFz{5_incG zcmn|x?@_{YX2`SkI5q`U$?gT12|qYY9j%%2n9WDM$I^WT?=rndiy<$iZ1PHm#nzw? z9s|x+BgummJeqzCh+th8Fn1dAG2Kh`7NXuF)SJ#}o8FoskLdx{ck2KJTGC601gW~& zWf8u^i<{~)2e;xSCYa1?%}S5@61D+9G+7I}nq zQvy?ddm6~;Zj|$dR(5z1vB2%r95XM%i3pTTlW|^WqYc=>sEB{lBKboin6dhEe*FRu~u(xTmj=V?1P3c2Sd+?jJB1njY%DQx6qh8YzUg4 z_%wk^(sb1d<^y0(W}*g06ou+n6W;vvgSK0}hdfTQg>MsZ4^%6i|4Nv3v_61jf*ZgbPL*^kewWvd>Yt@7ADa{OtslzF(`Pc--;v^ut;uh0T`Zx9iCL zajjB1sBsB%P5&{DAm>Z_eV`&#As z+P7P5f3n*xp13L=0etFg0t1MYw+;3(Ws0)_QmCUvw{}2)Sl~Eg$c`iu%)G;sHWq9} zrcLP(e`rX~4$3aFfHIE9Sco>B$hIuH)U_CXqo|Q5;-7#Ka?Y^N<7PA%a9~#CktDE% zegRVF)iCo&!32HHZQ#)zCHo-USbPu7WMSip1kny)qfh!ip>6;tumMnFQL}hBpsfso zrXdTC*>~tKs6qd*8uSU`G?D~%@ksLFG;s{*;0S>Dxr)|n4Z<;vV>tL1V>%eX&vzNl zBWn*SP2enOXb9O;$Qz|F&#I#u&s!k=Z?%L+X}YPJ;hkqvXHbr;Sy1S3Y!6-0nysiE z&g@FG1iSnS{DbhbRh6j^VxThh(f8PUQEaRs@6dk88z$WDl@!^pG$Y9>iv?PtD0NaJ zAp;E)t1IOi&q zHU}6~{Lp?_Cu0dV=OE^on`oURO5=)=>6VKmnlM2DCF(<@6*7!LGo#`TE84IRsdz+j zgpQ?{t(LaCh^N^1Ay(mGJr(ZrSMN1fI&`c8`2IeAfrHT z1Iw$BDO?Xu#X;B*G#u^&Xao1*V3f0dsklyK3rgL^fJ|fMJaj4pIoC6n3+7VGrL>vt z$I-_h^A)u*Q&sGqw0>h=5mp+uLc!2Dd>QzZWz@mf^5|ihA1IofyEIq?9Ai6Hys3Fw zNGdmDJ#%RcqY?arFjU|xAO@)}Tf^MgB5awb>jHAPQ{oZfEL(ebXMAfOF65uD~REk&wKMYu7l+ivJuERPqS`24H!4I?< zr@W<(T;YO8;x+BsE{gVt(r|SReHNE98T2_b-^MLEL1V-ViC;`{1X95yMB2uDICb_l zi$sxn9wX{d$G@jK*Q7eW^-0?KjR!zGw*;E`(&p0qZu>w7f5dn?c>VkXP|?Sm`N4|P zO(m_b(hV~KIdC7Pn<`l!rJKqVYwj$86 z`X5u%XvU=aRapvjIhslpSSSguADbOtaej5DI=a5vlgxNwq@~eOqDakSLh!hCFmXXC zPsNiz&@X&=lj>!BK&~a0kgiEX7fmg`z`>2Fx=M$n&y!XcZJQ}&pqo{d$FfEixaMr? z^W*LtHq?gC;HYjX;~Z3Ahv9P?U6FH6u!`xA#FYq{OT*sEV_DBN@Y0gMAOYmcqve!c zN#i@!MNy95YJ;womKEv@&Tl~n0}qjWPdpW4ak7$hr-$3Z1GJIFp<)^TxS6326Patk zAPFlF8Fk%2WWekMJF+*Vf%vjv2vx)^h7t7?xkw$eATnvnF}w=2Gk`&JsSiR|rq&s^ zW(;JZDXOwQC_xnD8$sXu^>ImU7?u!XeraRbOT?Dehi%QI;xq5=km8z<7!(NDP9JZ; zuY8^X!Ey!LEcEvN1|ezzy0ik*@CzM8^GwXp)+M5K0)WvE*fX0SZPhe-X-DLneO2TS z3_b#Iwq8e|>qX#|TuqB%2<56h+vlllTKgUWm`XMu@sEQ{q_zNQC-f$#n7 zY^u%9HVk$&jcB4J)~V1bJAYgsi%~dw1&7g|gY%0;6G_s_?%e)p6mU1o>;G zL6A>1Gcbhm!CgWbiHCTz!+}(i`v~8y72(TJ!uGC^-eO^+Q?__{K>W$k;Du`m=vkw^ zi}qI+z1Y5TJu(o{Qd?nm$)-w*P?%-14;J;GCgvb#b|S>iL2S{KmtNw>k(`H1K;Qv_>nHMQy}?zQS7_a&%-Lldn5#S`Q7)d?WSsd=*;r)3c@*qpV&2g(Ev z5-@x0d^Rs&s5t*#lNxt#BJJb6?~DJ(r5`Z4VShyJMw&jQ4*5dU#vaB?54+jBv81?} z3_Nk~hkbs6%!dtL2`)C#un9LdN~O^sff+{C$-va5dXy*zdq>ztL@B+g=As0xQ;mg{ z_+)5e0tJa=lI%oOZCRw~{)d1*vUw*PEc<#4fCZK8{?j^xoi7EeJE4KU{$7BXo3!T< z>~H{kDW=UhBU0=_VSu-3?)!kK2qXC9}e5^|T!TEl1*vSS_N zhDSXs%#%xgA+NLE=_7zQ`&ZlW;Op%aEIV+74!8+9-pTj}Oc2^OQdng$ZLvEVw&~~wW^vO9 zbs~NpgF;T>Ma}{rH(zbYu=UVS$koIn2k>``P5J%B7T{9eRH*Qzh1Z3NJe=dOgUE5p z%oQMZTcuAiG1aj{?PkH#J1}W&b2(qWQRcd2x=yrVBnXOb#XJzG~ zj}Y!OMn07hfkzpsIC2`Pru$ZBIOQ6Ld51v79`8>QnWEG<6s zyt1j#5i!)Dd1_gkO$mF7pMDq_f0O;@8b;=qi9r}~9u6!-O-3`=7b7Ji;0~j`jUMa6 ze1o*fd{;E4(^60w+dRBxIK=)K+uLhnn^zm#lxMp#HqyeT5cz>KQ5p^=S4^a}R*^FU zyy+w>_B0TAi{sOWU=1M`fM}eicsCy`X*{7a>Ojl0FuP?MAAd$KtBtzLZcwK2vV=}F zzOeBGx>~WgwT@c@)CY1oO>hAKV!yCCF}+Am6Ap;>WoWjP7IA1an&_}p;D|6W@1GIA zyEZ}`0Z$BUawCM66-NljI6`+bFxw~%5l96_y%%?b1Zz4KUuKME@O7BMN1?RYC!oxb z@q_nJLB{<_g>VU{_(ow0LF!Z*GP`DCYW_wHdv{E|KMmqm%{*MVarWdCo@!wv_W1DOa+Gnz8d}@>jVCB;g46T z6iAg$bVc6_@YT~#gO!pH373r%7o;DM$*alm5AKh^d<3$ijxU@JF-tmE+VnDN=?S+y zgrknysxN1<7!K-qZwy~u!!X=am1WmMR7k@VhH1%=5zU=oC)1`%M6Z_ruLTp0Vz%G{ z42X{2K#)_wx$QV)k_wBgWRmjJ32qu$-|G&)prN#;bKOs)K0A#Q2&qgNHBIY)@`-2I zTt1QIEm>b2u*PF9qcCQaiN#HUu$O_b(dZNL52$rjg$?YTg#K6!?Ut`|pLLdHmZav1 zbEdaB2r)!c-CEO#7{^G|Mu-vGlX_z$>1_;Rw5-^U1GGkrgvr`_W#zgWDvTEP5fzNH znWmf?nWy8vb@XobU}5LT6y15VS-#jJ<>n3t40tY^L1f{O0Tx^z6WX@QE|H#~_V!>x zW42a>jneT8-4S;nLUCEefEx-h1l+W;MfnQ%DEn2Z+}Sbt4N5Mr*i+8z#QuDX`A{n- zPvLA;(btxssPE{pt83-2ICXAb++WL$X8@oM7Wb!q0hR$^uqOq((4KTNSt}b|$#V+S zLU0I7?DhqC(dNF7svY%k6hmEw#$$lsqu1^pIIY-t)6W{Ki+i6%$t2mc6s=(04}zB$ zhsfkZj}|VjK-+^SF=&|)`Cv&3TGsAvF=|3nI1>LfkIj#=f1>&wWI2_!s^{dj30prj zTbrq5;Ij$=qgKTjUWP0n`8fx&lsQzTpMkg$YGdT-8{eZ~3kDu@s^NDIedC36FA<;$R; z!=e#NyM2IB^^mJ*4@#6a;JB7L&Ud)5&tGxc2bKrZ*@1XM+5i=X<&!gGcIRY&eMh2+ z-9{4(kf^V;ccyZ_(!88nWsc#N=*6z5!gnnC9?K1WUEpY-&HXs=s6aSOu}M60%#dOz z@tVb8hg)(Wd+;94tGA_APkxL_ zy-uy(2Ws__FXOuDcOy#&JI5Lg=fym=H!rmIs}_2*bD*#fGrzvV%(*9T?=WUw+?(@# za$w!gpe+G79UTgagl)LOvDbEDqfSQ;5xuQQ9NWH-;ZM8-|7KUZM5w`Qd??vn%K{?Mz}=3R^%_YX(LeT*14jf&7D zv8s)6laW7|%a(?8@?vM)$KVMX$x{2LLDiM2$aswVyo9tL*&?-=#9oYBdtEq)i-YTo z`@WHJBYrTkYVdb(`oOLIvWlfJFu#@bU7fo~S79zF4$?B_W(j_SV(g9|NGn)SG}rMcl2kda*~6*0 zEo{uU&92>4g$p=+tzLAx5}QpZYE$Pt;^F`@_DOsho#y8u0u zgIKE6!l;}d4JfiX!|f)%ntEG`eL=BFx8uq zN9~sfAwsxLfQzYv82ttdPzNyED71E}SN@#eiTL!j^KdJtwX;B{R&nKynO=A~F7;aM zT7*d5+#4^*9pFm&Hu$?x!;Gjje-9R|^>XAe%Pw~?L4Sikr})@KUwzB;(~85G-k*jl z978@e=&OTm#u`EVF;ccuDnNe@2D}dTEgVi5MhuMbNdpV^CW4GHCtAPLiZ{LHaKxCv zSA(su${mezv|ZZ>ra`t0Q+1~vI2hWZ9c&)TG?8L}8yHXxuFq3jxYZN9ur*9hO#d^E z{xM-GLf690npAKh=>#Jo90;w_WT~@%6ph`j!YoB6+pr*H1U2LJ6OMHo4{a$n(a9%SstLtcsu)PA}h9CR8>A~8FuBugvRGWjN%$hB=l7rRKfT)sah>S zdGmcC#%BBpXQ#k^;w3T<4Gij!SD%jHPIX-4=CM?|QXRLq&7OUK7U$DCIlyQ7|FJQlz9Pjz9i{Cp__qCoTh#^bw0URm9?xQMBDj@dq0i zf1tzQPa>(wz1@&z&h5xDd$%EbCAJQjE&hD!TrBrk;zSWBe(*RZMdj#nV$%sJA?m7n zP}{k^4&Q0Fwm2tcxc2y`w4%=J#Ibze)cGgcSn3;Q0yP{-Y#uJCB~nKa)UYrQ?bM{kISsrJULBHCLvrQY6H z>upJ;HyshBnutNgE-|r-^2HGS_-6?*Pdy(PU)VSr@gLk&JysY_ylz|!U!0)uEi0=F z!>*umxxh6M0jOZO)X&5izNFS0_3LVH@b^`F3mBeKZ*Q*k28Ft-w|*Fg{f!uA6h{Ta zP?K9t8ef%IgBmqJ11V`&HV4>WBuyGNXT~V&7$)}Y$Uj`njw;oWaZ|tiR612`BMB=C zs_O(YL-lZD`b#x&n8RrOr-W`v}T%_ z8GcUwIE{98zN4<&nod*m41X~L)$syt_zPSa%@>R|;5LYwFZUzJFN1B>^fvt)M{tLO z;880X=c+t=LMnLj8Ue-o9Ij3`7XvJEv~M?q)rO(sCDnl6uZC zFI%=d`3~-GcNTYbsRSH6(NOPF`AevPv&-ArhJ9z3!`9_8cKIFtB>fpe2UPq$J|hnb zE%w~A!IJ4ckCq3kYSf0+GyVYqV6bSAl?F!J-(@@WkxpnW`caycS~lvp&4Ri-?T?@? zL+w4WQTYo-^;+*f8im`s|L1KC6>{B~R&!qI1y?zS``VWnyJ` zYLX;Z`4fXX%=yJ|4wYvlOf!5P#zOYDBUvV9zk&fV5I!`J<47(fJpGe6l?&$@X@HVm zoXlG`lPrxQ5629naMcHUK_`x+%fPZc@oR)#6w^RMv|zxr5`0$Tl>}TV7rwTk{GuwX| zI620m(Uc@VR6enu8DuN|T@E$>eh}V=#Qz85yW+J>?ibZP=EVssKQJ9147msPE=lDa zdtS~oN%A1LU}0F0xtdOjD%3+IsE12XkCdP$PTdbkz=;BX1Z%Cq{?-JO!w!eEx}B4^ zY4U*E80Hgb3Wx;DK{SxVadUlXs_X+&X`0xYV2@^Irg?^f!i+BTuEX3C4uv!HiE;4nd$&Vg<{shsZg#?iPHWK&IbUjnW*37K7k6+m3*sMF{P(6tmpX zprcmihFDk%cC+|UjYWJJO3u=5i1j!Q-rRw&*nZ3^Iyaq{^QtijK8y~-$L8j^vml0L z4U^T7J{AfJ3kR6>9c2=L8JGB8O5(Jyy2VwOf?x$2OIV5(#o9Wh)XUonej8#mX$@+K z)YD9TAkEY_?7X!sNaLQj{$Q%(=8U=l$uz~(&xdMtXh70Lz-C6Ic{CtZ4crGPhK8&< zDSeK)if?}7m3PcIt(dpo;{K)qq1c7m6pTPX;?gt5Yz(xf({xFF2sy!Tpy+{WrCHRk zO<8ZRv-b`MG(AluBK@HSaw74~Clc{gm5HPw7lNKsiHRIU5DTh-h&7+mcFYEatt)+g z*nBR)Kj0Aa@ek+%>xGotn#yFiZ0EhywhxPqgX1V6$z;A#Z}^TEz@u$av6dXV3R*n1 z`+a5>n4l4mIQV3m;7_Cpc78EDDs}}9t&yU%Sx%~k&+AjoU8N)cakD{??Oagm?SE1o zH+&|?&`(DHs1`LS3P&{>W!0d|E*7t}K;%^S<%hsaAFbfFidL`?MccvovnZb*Bq1og z3CiZ3ZQ$mQAV*k~9|{7;)5A$Ci*k5;_|JUin6XV`o8B7g86b@c+g{s=Jv-aBZP#ou zBHnb`-?)va9U5nlr_pqg5$KtauR+Yuh2F2FaUgo95`h(iYv8RcZ0zCdH2e_PIAEWa zo-8VLI+~0HuzT?)W}u#bor#5upj2qvEoC`nk37kMy&xSD_}NQ}_tO+c^#X|{1x#y( zv7z-mF*>Lyya*m#W639m z0C~+RRRSK$HTZe0V)Ti{j+?=a#a#=RLsM5%p?!*^nVS`D)_I9)%?1)^;L9er-1QD`k7840LA0&5Os_?eW9w zTJYl2P(Qp5?8tk*>a#{Yl5*ib>5O%dz+~p{LyXkF~m*2w%+pS(!JFl#v z46XBRMo0m_0A2XVnB+Yi`0m+I#T>As76h_B;h|;@xNrzlKe?;`AOp_@Fff2SiuuQV zJcMNS*5Nv zVy)RxJf3-__UlFMA56R01-3r%h0XTL!e<+sDZsRXLJ#Ibxln2wM_Z_g=+5rMF+0&g zZ$<~$0+&qoP-SIAH`>E@>>&9aDhJgzD!k~~Tp+!bzH@5*aJj{Xgct8qqgbG8h6~to zsd&HYOj}Y5)~@j{Yt|OWt)G))~WP-zM}<$ zMM%)ZprZar`C$bqJdF(Za#YsGGK5n~@=yTKRtrQS^@oWbzJs|{q6Z}{K`mvEBJLDd z5`@nfGztk0=6}W(HAo-ik12^CrjxR2Rr$kRIt5>lKNMn+dR6&jaYl%uWIG#8bWwRx zlpXz+)KV;8h4f9zJ5Cg$88}BP@DG0O@}UMzp3VzZbuyt~3XB|5smFCy=XWA{Jt+sf ziwd7~GZ04J2OB}FX;#UTO?KPiH>yyl07QUO=BBIza0YuG~rF~vzQ4C42(U{`n9z9~G< zHvm9c-Au8X_Ud(ML|shL@hLoSbAhkb=|~5W_^^Y%qA`aF*MNQD_8D!cM}h1mBc3-V zs3y-W-;^pV6Q2psMm#&>dovFl; z{7EsD2-Q@WN~|?oQYpfsX6Q>ekwY?Y)Q(=)DPWC4xhf|Ou zlvqIt^;J+qal-XRuE!#4WZH(sEfh6J12ma--kLyjQNy!+eit)FxiP4byIgUNTK#T+ z5f#%tcoFyPccurd&K^o`oY#54|6@o|s_XM9G!W@dXPnliO{))#gQ+TuZ%>2y<7ErRB2PH1(jx_)&5!kTXr<13Qyq_) zpda3+8wsir;p-;^!O)O}63%;Pbo8vk8IDLhFwkM+QLRCQy}$_y*vQN*b4&YZl!TjH z1$!~Gqx5_1wam zM|Ty{tP8wLpowx(diK~YBTxyZSZC1h=}F*Y&AaH`Xyu;BXF+2SUIIn6Ni z82IAuvpzmqn>$6Qb*+!>#xv9U_;jk|v~D44Wgl~GQQe#>IcdrKLVHD|$68OHNtL`O zx*H}S;#*UtF8_Ra`PO>+T&mSZxUQ&kQ1mV5;-tu}noQPq zB6wdkk;~SD8P^~h%akjJs?6-e0tEXj5asUkDhrOsSgA%~`IOxh#EP|cGH z+bS%gJl$0AY7Tl*&K{`eo2|@WsjuQl{^p~ zBOp$JG2*u_zp0!KY$%;nXzQRs78&R*541G!K941BuH?KvtzT#=+tG1M$6=% zZ2?L$`w(7V{QfRGNyHz><9YSj++j!y42e4s3t%>K6)%rxsjJf+%JiP@*Qeq6bVF!N zJlz;JkJL$32QoPq;Ec44qdQukK@24wy}10t^AhnF22#TD#sq{DJ|z{s_%i$>;WnRe zK8R7|1M8Vy({iI>;kOVZaH62G$RLLOx$~QI0FN_u(@?vRkMQ^XeR*IXw7K|~x! z<$%I;KfzMDIDzfBWAoihWkJbwA1umpP{gHjB0ba4EV$e29w`!(#gSs8@ss73lkFw3G_tUZWdHnWU*kimaYc#5xj9Ig09mv0XD{A3>IP!rj*O>+7!L8Pu zx!tEe(xvNI@#&j8QGd_Ek0*v>$0=5_1W3@oRhs8 zpL6kfO?DnWugx}Opte4&t#c(e(e1{p8+7_?<^?Rr-i z+C!a7c*ttTGI4}<^jM$OiLn3H7!n5L8FrAPte5}4Z_R^r|$er*EKQM{HY2q?Y`Q_r2y8sT(d<6Xhm!;_L{=w+JX zIXMXl1jAi33!IJuMQ6(|c-VdfQ8oS*6Ys!CX-2w9_zqr|p~9=sb(1Kr9UwblO$YbI_3gY+SJ1wKD9X}zrm<142K zqpi7prYy`Qb~43XrWo+R%zxTU^;m%O@#}x|S${l3^Kbii9xt!qh#gF29wUzAP<&Z0 z@IY}C;@Cb#lA2B?xYzhm{u(q^E9Q&Qr4J%;p7y< z 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

    ?Pj!RZ2ma3i)HTWEc4VT_wHPEpdZGux-$ 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 `h+T6j0sRmGEiu*42t+W~&xfR9SWC%QBCKqN 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

      vFb0z11BuKB0!W6Yi3SpuN#f+H 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

      @; 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%0AW6H{i+KEp?gz71z;Zy}s70C`!H;_IqQL&e@>N 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%0AFYPJu{bc1(7# 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

      mIxZbLHmJ9Fjs6D1Gk_p3 z4DXvr(KkFq2viF#QJLFt9B(^iQRy4jxJ8^fwKf)&_~sjmp*$_gzK!mvIj z*Wj{jD8IieJ=?BClV151F!L|uHm#mdTmSHI_oH0@+@A)$#QNuh>CMvm=fRU;Q!TcI zsoG{*>0Q`Zmts8y3(M^*oqk}ah+7rc&NC%9Y}laFBvHNvMA&5sb|}~#?$W*huO^>h zHgo6G3M&!182UDVS@{kavTAfEs#_LAdL^iLx=p z0l9GyTa-55EMYKF6kzmxpG)#5`)wQfPF`d|EWsfll4bl8jvL9CZ7Qk904BdN4^$U8 zr@O*AzBrsyML1bc=IrIc39(%P=O&`~3It2+{2yW|tY5{od{~&!o6|(yZ(%Rm%xWbB z4nh$OwgwcH*EP4KHhi+pX6D<$eC@WbxveYqXamRTb%KG~$!0!xg2rG=^rGC`onZN@ zg>GrSYW*JVNlYrn0+(G=7z$T;#b??G-O=lH70xuLzQYlEZssy-PBT|jytR{}BnT5l zNd=;rt@6!?q5w0LT5cdNQUMV-Ai5sxGBLy*rJ-3Jc31sUqj6}Wj(9avBsCr?FDsgC zxcC5SPHLS40H8Q_4|*R40#Ds!)|-%Jm}}QZ8}eY4an)n>b;8*(GK;G z%sKL)Fyn|iikQKjUFmEw2;WkIFuffN&XOB4re{Gj#^0DE`;BQzQ~I{9P~|Opv**Xn zZtoGEi6U7I#*;J_aP~F-|Ej0bv`1BRnr@?*8J*}&3_?0^wzrU!bNDn4GODvBVuEib zjo%MbGuw5G8Es(h2#p6E2p9tn2^!3!Lvse8ktN!-f1Bsj|GP{5%McBNHj*Fh!OoH1 z78iza+H-lgzS(;%N?;+z02!8DdOd@5z1l*q!`ZZ-dmOLxP;kCa^!1|d6EMa_8xC%y z^#-@OuNBokYYD>%&0A z1p}j@%Hr;r=pu35pGMiS$tzEs#cw`X`o>(=X>%z=M7HqnSBSt9A$=%)=cZoT9`NbK z69iy*t*YVA4KEOU7h~%C1!GE^i7ZtP(jH=ToWlKV3IgA>2bRwEe?IKz=Mz)h5PKyD zY;4^rg015{OgaQ>_&KGRHtikX%+BW&RQ{^@YXZkpng+>AE8Y;Fkam4LcItbO7E3Ca zvT*^d{2)_n)2X$;GE0L?J)D_Us+yaZkT<2TzGpECy49<`lH>PvFpy)dU7FaKy|5pz z%d{OXOdCa-Zv_P}VKB|2&9uE8zj-_dQ$^~JV0xtNq!(NYk<>v}=&%cHKP|u}j9ETA zK;x_in}K9s+` zNm^Cv*x(X5#X{vy?iC)aNRi@Hm;b}$k3`0$M;dzy7;f!??IQ(jGobCI{)y@){bhaN zEoPjz#dFQ8{1!C{e4UTM+Jm8zh<;}~Hu{(a&R8@#nYGX?J=(~_@TNK`G_Wf*;8kb% zW@>=HCoo|UFS3v(@w+_}gmf;gwN()-foAT>8YpVm?75v#hff>L0i8YC?4g3@BB^g!85-mUjXu&4M;|c3vHL~k*z2)! zRg!~g;%-ZLcjc56#zKXV>8s&yv1sQn3dAKbvslC}e&7P1ACN+f#6$sEd$2$*JKOQI ze@i=!@sWgcTdM;5eI0&R;YED5s~>!}X4!n^g7zuIfF&}sOtKQ0!&$=sz6;m2ztdT{ zg}Xs=T&Ht;xoO-t+)oh)6H0~Pwsj*8B|fahD#2KVuJ?gh^YHU&GbjgdSI#`7ogN z&^59J4W?kkab6j?peZ*178_JzHb+r4N6p@`A#xfjbYtrfkBc1u?~UTXU0gfQjh!II zTn$TnHMkm&koRWnIJQQQ);3Sr+gwXVT(h^in*R=?95-HE-CTQZc$aU=yd9GL+;IXh z5XImMMMOUo!(|vGf1v6}H{t>X2mL{&!*It71pJ1C!@N<*;v6pFsGbg&47@j`@AAGp zc9Bz&yqqZX_~!KG*G-!zPJdvrJ-pB^tdE61()^m9u*0Nh0{;mxU^Qj+q! zXn0j6R5zxA0cJ)$W}}O6nht|-2dO45<@}C|vqe?7fK2pCzBq$l=-zn4Z+rMD`Qv$4!KEGY-IRD*x? zy;k8j4StBsb`aV$`f(lWcY>RF9qV_(66JNQK1_RT#M_lEiiciuHnH$635gHb!q8G8 zxed#GwkX%`7g{&`ESYxqX5m7??f<}zC-iZs9_y1!jdP_kk1-Qv3;Y+zz^iHW_E8Q4 zMZ@ZK2}t*ZnQmXGn~gD#BXmKJ0tYAGoiN%roHd(0vNAqLf0dYpf*Ce^p7o*?(E>1NOWJ7BTPl(j>;eeK5NDZ@d%pZ?|={v%9W(fD$`xr&!O=w#Iu zjf2+E({N1yo{rbx#>@tH?Syz3Y!2yHU-N|KYW*5)jx^Wl7Y83c(Y9cXrfI=#UT_Ywz}(AT2?su3=u- zAL)BGFKWVtL`}Gms0kMkHTI1yF>&$NOo{EIxrqy&)!7{IiwAho>lbsp==Y0<|9|%0 z22Rhayc2#t<};Iz2_i%Y=9x)=0Rl{bNQ8mRa|@bo?Y?R2wrSVy#@4NAx7()MZa1z; zeaIw}fe;)%#JFM|m6oYBYZTO|sDpxz6m?Y8R8gl&B`Rv#qRqB;egFUKs(*wI_L1E%U-7WA_gQXc#JO<`NCTmGH$aE#aY|rHao`P z2ZgI%`w`rGI{z`~RUkjSfYZj8m`8>WLn1DKBMdGh-Gx#e=~5CFBzc68WFUn>p%lq9 zlvf;A&(FpO0{7Gm`KRc-Btb!!+pS?fx6YwEuLL1d5xjTv9zw!rB604k}+te zK+=68V$vjCdUqxzoh)?W_lX0iN75xJh2LV=qRe+8xQ=iI}iHiP_ zvrfpdR2ly1{ezkDDdmWL;~919MO3%Oqq;T4$yVn=;tSQ5r6&4kDO7Q}I}>pkSKBb43s%9t zMu6VtePS7*QEX+538Dt+aiVfphh&~Y5WtT9Dt<*k%N^ppS4Jv_gN>KjA_qh>)`^n! zdur7Y8r9O@nmVtzCMfB<&jGLGXJN_;yU;gLB0;PR<$S)AfFFG%2|I)7MsNaJD54{Pp4#K+nRPWh_-}7#_SKSIZFjvTU&pZLpP*9duySI>n*4 z64`ip419TlR~)*bH^xA?Nx~ycxB@xKRLwTyMFfPLf#*OpMZuo6X;)$>qY&HAw497*Q`s*SFZ0oknMVR33(bTl@q z>jq(;glU6b7hTzOpubDDTz-_jyBxi1uXTcUfR=Xdp24|^)bW@`ziIn+ylH`lSl}{2 z2QEn?I?x5(c7xnrRtN)V$5@HS7BpFbMPP$g6--fZR&3(9ImQ5js28g4RaDCAX_Hn{kBD*0A)@OXljAs0R z;q;e?(?bz18_yL22SCGUB68(E8%Ur4-a-FVcpK_s1aqs{Yb71Zd*sU=PL7Xu8f9sq|4}N z#?km#EMwZ5IP;s@QC=O(Oy|moQ$OPfp8418O8=v=oH>H&0if|LSIdJH>p8Yqk%H4q zT-%+>MboF^Lhgx?jy)_S0x(DWEmT`CKX2- z>NQfOBrPMY(U0~8Upp6e^?LegsZs>-#6*H<=J(wfpM zsh-lh;9^@f`QG$Rudi;eE!Yi*;(h=9K>s2v3irc5gZG7ahnuI$RV&Tb-&OWyURvA^!zUhDD7mSSr5BQ(q_TY$;BV7q1O@2V~J%9hr8n2}IOWeZ>o zJoD&Hf77wOw$LkEh*{m=U2FHsxQ^Yq-Lmz=edLu{#!j!SQ{)YBTkE~PB5q7RV}Y&_ zJ}kbzvMan`$!<)Y0?dbjxHWu&GiyA&0MmDcm!;QN_QygP?|Z^0jP68u!64onUNA6f z+@T?cD7}&{Be_}_Dkv#qZRG}1!`jL)DPV17h@-x?vW_FYwz8p5q8s40xC)~TkHsK< z)LB6f&ng{rxG6ze<5fE6;OD4dNb!5L0{0|-8&$X`!8g${n<}bLTwR^QJ1ZTN^dsWR zr@}LX_qE8)d~5NwuUh{ns@L3YKnyR#5AgJ2);?KDhPSh!8obq$Qqdtv63^h(RlJmH zz2xx_yd$1*f~gBas^#5JGwAP*KD4*P){Up>Of2ozi7-?;8+w}GhGzR>nkr|!a6Q8V*t61ypah& zD+bFEB%$EYs{I#GZ@jNm#$#mq#RAg>rZ?k1!)^fvn8`7U(I&!z;2f0aWKswe87JF{EYC}4FsEe6< zDc#9qJ|Z(Ft?Eo*hLR>FQNN=%;{$WMB}+TncH|j*iI*N)2)EqCSCSpCVTEG zb6Yz2SCzTpHeha}Jg~S$o*ORtkPbe$h`AB@z}!ZbW0>5YyO+5weHYV_dl7z+yH~j0 z3^*#xgtLcACGrP(U0VUU;zj0j8Jc6riJ5Q76(kG$uo6dOi7Gw;@U@jjOlt#Ih_wur zFifE_P`lUKj-sGn{Up^33>`=oh0+?sOz;w&_ypXoRXHNLyLKZ^AXG9`0s)1#Fju@} zH%ek==_h%R(hHC*-L$r5V~HMo5QA*xIQbD4oX{#kt{;M z+QKaK5=-z2^tQGF?q_ZFX4(>QAtfyX<}z13P!dlDhJ88%qJ5|&H^5q3GqJ5_;S(ZPiM32?}emgnYJLWnk#$` z^FPeC@YMY29B3IsrE@~^+R9XH>s)-o4WVl*5C_(;<(amYhmw}zJm!CpZQ-f8t>@Od zkStfGSiiu1yy6x3w1QNF zi23hjTX<@2>tg7qL#2yD^4iKo?AImubP3Bs^jcM`Gi|L7B`w3H%zqEt!c%iwmqG6x zDqR+m*Fqr-6<>}|m-7vp9yJ5hvMjB}4DN>PXcp!0WRiU{^bG7XvKVZa8VrpXSZkmb z50%zrldlj|U*XA-!(EBoR}u&)8CJzrnXX^ur98u0=D&+w$5V6HpI0Mad|pU~dKkNY zH9lRt zq_uS&^Y3C?cxrCzdYC&yrRzOeIG~W}dL*xBGA#uCQKzvPa?^t933!i%HBMEi21^>X zX9jZED#txK0v25m3Y@_tMryo*7LAP6Y?(3aJdkc>2F0cS_8msuAh zt5~7T3NwH!_MY8qU7!XlZBD5bAtA^b%@bO(QY$jT`%a!eY?& zengpiMaV&;8F{=0oHoU+fL8|N-)S|W; zbnET?z@3+8R4P!YraU_XtA45Hkn+d@Go&ARcK0oohy_HrDvHo0dje?o)P}fMM<6H< zb~fxek{7A)7$z&I0oG&vEu<_S01Sss(K4G1Qy54aAM|u_=qWUR9n3Vg@}o$H0I*&S zSO*Qkufbj~6bFV4VK;^ln5XZ<@Wx!|H-}j$f+Hx)N{a&iL3E&J+I3yx_>j7gi=znQ z^|~|{=zt?Fb#W}0l0hsGKM08x6QUE;0_unN68WSqju^JZA)nW!xj+$gtVmsu9fTc} ziWI9U&|MRW>Ns3qS&kB3VSk`zkZ6khq@oo0Sw%S#g8%Z5n^=$U2eOIQB^nB-S?7K+j{C; zpJhB+##K9;bJgB^Q*a#SHpbm{?z~;KaMbQ7mFTBE**`dT#h(kmYw;gK9$Nmv0gKMI zh~eGuo>7b8WprUYv@@M7ex!(f;EM#}WR(V}I~$OI-5INFf!7 z@>*44D9>$_msX^m!qJ`?CImY4*G|lQf9}ErgL6vMS+ElG>OOkmazm7v>M)$nADf@?uKivPz_m#9i0g?ja~sPguCsV9lz zFS*W0)gx-Lq&|xotxyOB6eB`DhiE`CIV9;U)?=;{QF$emVS!%HGVcV;7_0g@o+L(( zlsJd=NN>eSWf{+9l07e1^qB!Ah0gONF}Eb?xva&UWIX0$?WKFDG`N}+a75>r!>gm8o!%wI044EuzmYZR0R@7O4H75*%u zKWh|Y3Fih!*}@+!G!p)((6t+yVj+j=#bFSoc9*6W(mIiC8GT|PRP1#4&wBY4z5ZVVqcGaUo8rgWBnd~x^)dR;@49pS3}aRWa> zIO)4}nR9NJ4(;`7j|o;BSC%VMhD3@6gmI>Y(qhs`X&H)dD~R zooBHsgndiYG2Pdz-snE_LHlGJVAlHA=tP&uu7WVZhZ=#~T9_agP$dGy0^(O$K>U#> zFR+DmMtX)FCk*ZkFEi7{a~i-4lsErPlT%K(e;u{)_egagwgfG?ap^2jd{-k*ZR8s0riv zG^&an&La@YqY5>6Lr|^T?FkMUdlFNZOS&DL!eYAjKmshFrZ~-MjBQ8>7%$^>Bx>wm zm?)97TpC-g%zqF+SOJ8ig{wR3;#z^MCa5c3F!73iuUkp!~|k6JZu(^&G0 zb(IF}l6k>1bwRp$vBQ$FL`KLVAeh&rMVbq`V_Bo84Oc_~VeSN;9lu&`@u3wXqi zNw6y((OrYrOvW3Jh?T;HoSNKgYXeBeju7#*;IY&E|9EVNzuz-2HRnE(yUm%8N1*fN z=EK*w&2Za$5#oBNgw6>NczdaN=8+X!Mnv_}Qk&p_PnB9XR1*D8Kfc6#?0D-kzq)?d z2v>Tl)Kxo!F197FT)EEdZ^Cf<5yBUEJJC$h>8MCtxs4FLs$d$VV0?208ntl_qLu*rY~8f=tt zT&K2J7kHB$Yl1VEpo>)TUz=S+i^qy+8hTG1E>yIuIg0L$g<_>A6$nK3LRMY%cv@&* zI9&j1j%1ZQ=>P#tT!6&}Y6Nxr8fCHqi;Qu}622ntGc5Put`8i}{e>Qw&!_ibKn(CI z8DKvI(6`rz!-QkASY;g)-gX3N!dhTF z+yFkKmdz5PNg}ART84ORz>mf>8i65~%`Z@EF35LJBXq^0GkJg-y8&y3hbLjk(Wdo{ zzE>H39umL0Av-cH-G4nH7YD1yi%zBl0+Jd=DfeTJ<^3cwCU|L-J9b0eTAB zR)J}Uq6DfputyvztXu4(z_b|@+*g$&F?ehk;U`)E(}Cm|wn{Q-i$T_iEb2fq7GFRD z1-?xdo{9MLg+`dD*%Kk+Pz`u zU(z*;qJ9o4umdNA&`Ar@vvcslE;JFchI&J?7QZ%Vn!#S26CE;Eq-UCKokGmuIzqxc zwnAcAi4I~VO~NUv$B>Ui?9f~cdy0HP0Qh>!6p)54N4sx`5LsZU1k4I% zQ&Ryj4$5mB#5d+jY8-kK{D zBUnGgLm^rnD^M90G2BzapB^qSm-xNcXTG^6Mf@I)%y@H-8HW-nIjb97faJ~h)z|rM z#?2Z2?1%X{A@ed~T^s|A*b!F&g`2^#ZT!ec9aBZ@YqSwSGWMl|0&tw?NGx-z5mt#t zA*nM&F&683SXm(tIH(^kWK97ohCFAP>MgORFJ}++xVs(W=Z8qycrD_1g}<^)tKJOq zZ)!~Xa2fKcap1VaOg`MtU7RoakGrD#n2&bc03XeB%tvz^^U?gqeC$B5*q}L%`QC{T zxpj2+Aqt&rUUd zW~%XLr5dL<+S?Qhg%!$nZS8qecLzM@id2iwO|^Jls>S807SBz!NPn}}6Y%#Ox(^Fl zg!HM$%i%;{{6sm$S4fw_NpN316?&3d3myLLPHo0Sxb9;*Jd_eb)TD&xdGW4BsN$A| zD@%RlMM~Jc6qENrOcGuSPE_rS_|L*V;yE)m_Q@ zF{=1@?Hs9f@D+#bbN_X@)`qDr2TX|sQPendoT8?s;=Az7rtDhW(cD_xzDDSAZY}N^ zZcsj%b6S*;gp_`tSO?1I{*#ltaCleoA9fz&uf;-K`Xa)!&gO*>wk2Y=;5e5DGNa3r zb?dWnfANv*rrw>6P{jDJ9>#m5Oy8|4b@JS$IFciZL|Ar3tYK@2vS%v_BG19}Ep&LF^mmbRTxha+1L4X1<~fM! z39gWKOngLzp0iQ8=hk$w7btBKX{>U;Hz9(Sd!$pc8{dQX!az{(MucEA2LbQZ z5Us)>NVm+r$l7sp;$!o`c`Wn zK|NR<~XpnY51IXbp z0AMWH*G_)HKe86ED18yc*{0zQ%7bQ%<_;UpO_u?51^(A%8mo9Dloj8vb^pdc+1%n4v~4G4e^jEx(>NdjZ zce0<4qk-`!iOJ~l#GZDwGcoq{zvVcdAv5f1^{I(mwP!G%1Ig9fYh7Y1%KrSYS#kz- z(%RXCAI$&F_yHr@f*&bkvz}a_E5!kHXJ(x4kHqP2W~AQSxkXthOngF)P1pR%6RQD^ zB_?svIqal0%qo$Ie3pJZUr#2(3ipBJ8hw`H*XlF;%?FYpeTEbMKysZt_fyg2s(@cZ z&`&Lt>-Gn*TOCwYVoZT*B79kj>5TOR3^bNTvBbb9Y5pOIWX&zAXs2W#ePV%HGJM1` zAh3vvoMhmMKq13NLk3ZDEd$hDui@d4fuU)l6?a12Q&fCRKZ;IyAbG^z21h}8(4M=P z&yF`GY2s7>uBS^IU@8pN!jBT9G^dc0Br4DrNeqcHx+JLV_S~;WB6>)rmL6;ish5&k zQ$m>#J4^#vv1ZB#QkHw_OlWPC#v+w|Bi8^!e6m7V#bR>1DlxF_1U7sOpdQTe#KrYJYo$|BqkoQvMAWaBbFw`)Wjp!Hg$;>&sf_P zvd1G9e%EYTS$D#vsgv+w zc9%<}O5q2=TP7a=dT9yPtG?O>O0Ujw4k)TvSc3IvXWh=_)tquNPkS{R(XvBurJTUY z#WHw(6S{zY4BY`69m+g$$QJs5Zl;B$RudG#pfUq1SU+an1nZ}!23Ii12J}4`Y=ioK z$gQPy`ab3FV$cgv#u;U45eYM%LyoLR!eLL~DV2nI))Qte;fN+g@iy8BSb9|Dr=F*F z1OY<&?9U`w$9_D0?_VXcXY}rX$Lf(71wU zCwUx3U@zBn>Hg-CoHK#;4h!uWO&aY5+A`V;v}LpxXv=6X&{j?9Akdc4UZ5?by=kWt zqrE^`PJ4l}oc01`Iqex`=?ST%y`x^I)84Tx?d@p<#Qn9>9(BV53D*V#?KvTWy@A|} z5QX-*q{wVwak_-a7ce9)a#RT^Pc`hYh~x^T%@x;QZK|lg92w$RgziJppn#cxrDnMllE?M&xOoZ37c(;q zF=h{+5ln`)SO|Vys^#G!8mJ1;9AKW(7uG170A`iOLkY1nSAZMjr5)Fjye0=LSP59q zbm2l(hN5P2lyO(A&L~5d&>RFXpBxCUi)CzqOI*^&ZR>x=aycseF&8#F3wbnXuGeS| zKO{RGc#kf(Sdw@wLuiz3IDF3VmmWL}4OKqTr#3Q7PSmN5)Ye3s+DL^>l&Ou>*+iGx zNVQG$g^kqQy1=ZZN})l~*bXG{Jk+3MiAaR!fm)V4!}DNTop>Ioa!EQo57fEj88;|W z-IHhd8>sK$875I?dW<$gKW%z+>h##))W)EgaMZh6R5m@DsV(U;$|JSubDSA_V>320 zWL0$Ps~_wjV?*l>XuoK_{o+)F)2HCCE!wS;py{ zme?5mFoJ0eZ@;V$@HDtX8t{rXxAL%9hVfkBV9?LNg!7Rg;EuIfeuM-SG5H3?G_ z4qrI9YTW`dORm(akj1*2EZHvCy*x}eg&cf%Afa9r1dG3*>i9)`kN!p0AZMx>&hW-K zWX2i#$r)5tub1iv%RGnEQ*7>=jydD>0QyKD#2=nbw>;|kOt(Dd?}K1jz(m80fIvrY zjzGOnB`mCI<(#JVQRq!_6rDr`BOzDgODtrV$_8ghoTO%;wxgcUP(`+KZb;GQ!9D1M zWRrhf2T23nkblgTcN^p}|89dE^4lQq&kpiCBDxH(=P2b(K)DCy9hMVdh4MhcY2Xed z$RY`Gl-?CVOblESoXcSvd>oRA5C)=e*sr1s8+14%s9M1)@xDHyemcB z0CHy}G+$89xU&5rP^R5%atH@s$|hDW@i5CFCqPVXQ!2$Lq{WRMIJ0~08H5<*SM2Bq zBS42$Ch5f|AXD-Z>U&M6dlJ?_ZlI8yKKtQVVJfx}7X-8^H=A;}r!1l2GiBNm%vP^Y zSLb2Y9nC4>AB_N*UL=M_Mxma~mHSw(Tre-fWCgC>#0}hdI+nAjL=AxCF#6PCx$Lxg zG?r@$f<(EXNw6H=4MlO(J{illiiBjjBZ})-?$fcHwHX~dPd%%p(NGyaUH_mh-dHM$ zYgUiJm;1IvV?;0tc7H=xT*9;P@ptC4&%)o?XQ$4?@28S@ft-d9!nBx_sR9-8@r;VN z8rkbpQAHesVq(YPjH#;h5sH*cC?_a1x5_jU6=V#jWkYc?ok-8{-U0tMj{mOUxNXi} zFyIqbHKw!jaikG|Hu-o7fT8%W`N4lw&4km?YuK!PAjRgn(af~ZGfq;M?m0;xXhZ@- z*j&&?OfZ=?5@~2pgwwQ-ivg$DZ7J1DS43~Z6b@^y)mO<*E2@#V`5J2 z17A)1;EC!~s`JVRzd)T1x(A&UruU+Ff$qV0`&9;U)IE^bbq`mB55t;4Gy=>OlIJ#| zg8j$W1dt^ofnFC8VVVH9fp7plZ_orxCkbLDXa=SUSe(GpSh~3^A>__U`C34Lo92G05#9TvI<5ldQYzC3iS+Nt(AOQY{@q#L@dm!_o#O zB;XUst^owk5mtv9xl~P>I#gBb@-VGSBtc#^@QEeG)|5Rf?a0ay8`xd+0@KDIg(khf zc%Z-IJ{Weq4xQ(fhZo&Vf?N%;^7x$_O4`)}gra|7L1o}`upi+A>Zo-Il+0?kzu_CL zOWx?Y4yk%jc@fE`70jUd7`d8C9tZcG5q%$21(8>l3i=Ri!rnX&joI!Ic2XjFc(%T5 z9AVcdoy!{6&C<^Uu?f4zRqh;aqm<^A*@t2| zgEqJ2MQ31!T|OMk8K_awdwnMqy}4G1E5nsxC~8Yf^ba%2m`iwY>p?+tr7O20aX6!J z$qHU-H{v$j)Kih0da9T|f^zD$YS@pJ)knMy+>v`Ub?0by1LLknXv9P~;X%C1Dq&OH z-UU}o#QCV@zpvi=Cw--Qsa8UdR+bPIul1JzQ1imdo?HveDeRf54MH2x#()T6nNE<# zvALUDHm8enAdQrMG~C4hISF+>$NFxGzYG1qiEJhsddBMD2^^Y$&wcfWl_F@&>^dHnl-mI21NPHXE?U zeRK^e2s+^|C>4?MnwH4rwgc>(15U7)7!Bbi<)06n0}X{|U_zgp#&5i36BM9noTP)O z!{xVP2#iA`3&^K>7Wz%EjibM4ho(|wWkzw(i@^o& zd~a{>(xouFU~{GIt(DYGTPzJdk(u$l>!yChmxkcR%h1fuMkrx4!xG4cq1%MDKFnRd ztSJrd;P!0))cdE{!@-w^+(*Xcemah=;6_eL`-;6C{*1#k!u>wFSCjsJdY8)_9!x%# zNi%Jy&!U+)8X-5A232OvKDiuBTNjPx3N+HEz`>V}-K5l&d!v0Vc)q7y~FP_UpU{U73naLJLxcW-i}bBF`FZW zOHY_Vgc=c90ADx2+A1BB1@6t%)v$^H^gANjExP?;^hLH*Q$gGaOoQoc#t$&O0frH> z%OHzymMgpG#?kEJ3|5LL;a<09o^waUgV7I^U0Q540->`G50PiwWd-v5|D4!lUI^Ts zYe)BDlTI11KpC(u0xIlHVYd6s|XdmskXuIx@CCYl)0{+4jluj=T@ zvgFt2z>c{Kz+R@LNLXt+qqNxkLB#EpO67eC(NXW!hP09s%ZX%;Mwd|MfRwq<*67EC}KolfY zIQ!NCO;OPXF|J&KXGkYZYD#kM153)_T(^ipSV390#d$Fq>BYp2 zUIB!bKsVA88p4ZF_re}AxFb8;L_Xm;iN^7rS;MYHQK7=k{R*##Y~ z2O3&gb+ozSa%VHD7ww>U^a}@6rlImuzB=j6p>C&ozq1haSt6Iw>i8Z1j<95svw`9&Juw_=QI{*A|pYp&( z7ctZbcPd|Y`QYH1E3UZmD%`7#iiRJj#N&DL6TnE!bIH&_Vq!3*!FZWc)ihP@mfpPT4tx8-|m~Y^jbUU&?`e zifye$si|zK&Vo{qU4oM*S?Vg3I-D(4P0rDUkYslDSu!2sSWU*UGInt##ww^h)J9w> zrF0brK_ll1ie0j>4b7rY+z*(AM?U?}67OvK!Ul+MP0LBCw?_!RrzYMYs!s7LXk!PG z=Rp#_wejlf$`Dma<2GD*fCm*}t}P0GXUZ~pCzhZV{?+Z${;}5Ghe(6W`TK6tlfa&s&z|X-W#(UFvy+)<}v_t`+R}9 zEDOy0V(kXZC36Au{+Qi>LG~0ds{u^={03=t7L*5L-3E#-IKu=gBHj;?+58z`x1 zZQkf9vJ6C4Hcw$8VU#%@Ni4`T}ewE+f$n_$XV!LU8h! zrS?_o605kX2OD}TJ<074Be%pkCljAf75o?rBHS@~v!$Y-1a0BXr@ojf_(>MT z`FhEbTq@$`l5gcw88Y{sbgJB8kM+x>j5Z}S_S~N2+m^$V&M`3Vj9}cw$D|~zBI4-N z5l6=2)T@HtgNcHFL6tj@TnsXKM={N2Slq=~Dw&B57?tSh8!f2hGcmhS39_dM7CLKk zuox0h0F=EF;Wd6ckOk&*v33JS58`M6%;Pb;0fX!*U@ibKe>GoVF31A&g;=`*qkfha zz;??7r-11PFgIP$g0W;qsXq(L z6R~oGMZF{~5c8Fo-C#lX6f6v|+c{5I?3}hZKfV?#H&}Enx&;_Ao$$f*& z0PEPzOis{)GL4y_r$F!Fi`g?E@j^QR>POms)|nZ*^34d_m)gW(EiRBGeX)49%(rr7 zG-yxvlcklM*v`|rGUDw>+`CGDK(?Ll=gLU1-kh-gL#~YY5R$oI`$4XZI1uK9?O3i% zbROJahEeAG%G3yhiByG!G{<>jM>56=*Rkq)>=uS_s=U0yduFF-Zjt%vOowEVIc$4NCibOt;-oL~ zXm=omn9ZGyP}TQUA66IIGM7ff5X)6L?Eo%}VBljyz(=lU#83~QBcPh}$;qj->ATz_ z7)U1mV!fO-3AK%jx9mi6SEsA$esd)dc@`P10|+)h#Ion4m?A-%9 zUt#}DhFyuUUuNuz=lj$$7TL~5DDt>kt(5k`(q6Kd2JG znF~aT$=;4}6+Q2w>N2ctDjN7J+E7@Bg_4=v{MgFKI)jP_>M|V3`l<`G(EP4OY+mEL zbcR4wScjU|Xyr%}9{@QLLY43qo7Ht!0vr(VHmfKX=1zDQWDqeHA^E-@8_S?7kx2m( zohzh-rmlbW)>WylyKcy?JEYVT-CCd&Jo+|0r9?VsOYc#d-V#CiM@0(hIK8<*Pm9yx zz=spU$|+2*A7!X;9@8rn`AJN#`+1D)Tvv#+(uYna9h3E1)6w-T7aUF@yL3Xh*z)D) zo%h@oHEiS7H5P2q!2%1{S5{woDc!raSEu0Ym&P|4b5Sq#+95-9eaEw3)|7CoBf`P@ zE6LY&Q`}jYn3q$lN&dF{i>_c|D|a&SRk{Ct0yl6+YIIK8#`h_ICw=36+TTIrd=Ce}kX7P6od2>;-)A*{ zr2Mf)K*Yhb#cIAtD1WNtZq5UuPIFbCn@>RdJW3`^gd+?v^ht-^KtAhQoQ|T0#Duxr zuw{1HAI%rSJmG!f^%6{&)P&?M4_;u{AUo-g9Dq=vbVOB%tpS>HlYMXO@|Sw0%NIz$ zfWp9cfWDLLA_+$5<9WasLjMZrgJE}Yu4>mnAH8@N$7-ODGm#>tK43iUZd%E)=+qaiJX7xhEp$sk3AXsyh~3ifb3(q2xE%Zv!2oAU1U(7B`QP zdMyDyNQSYg=V*jPa_qzB8&@EsN`<2et5Ux8lVDYoUre*Al(KSStm>_?qeetc+oVNV zJ{4B=WMoxvmL?N#?o|dHMA?NH2D{RDQcux>Dn^0=q8a7r&%HR8cmR19lE8RkEbjJ+ z;_fPZfs>R9VVcs^zobqG_nsPs1qw6@3lwM+7AVjtEKs1yxj=!GV}#O3P^DL3p-nqz zsndlo)O777vaz?v;dq;}F?B`otTSJ8yBvKL=k9?-NDjU#(SS*CUSZM6Va1gGuGnHh zOc5!4xl#K4U;f!p`iFj)rgVQ6#&IG-`Q5RjM(IskJ5G(#i*ftD*refBmHx;@&>M+x ze=_v(1i6T6{x>g%(tL8;E1&}RmBdZW0}b)V9Td7{eX$*Egv}EWEG?|qT^TKx>wzA! zmmGQoOQxpsAa<`-5xs@liAaT{@$}h3ym11IG(v@jGUeNfGIu?0NT%+$Gxw_g2xj4r z;1$i5VPFcR8fOY*1j-a*^Sfg6PxXk{;L2HY>{bso100;}z7t2NFoq!-Z_!;pvDV$O z)^}^IlqLv6&g=vjjrq($WBGu?un7pUbHU*CsShv$UjYpI42q5*j9JzB@IyW4z1BiC z1vljQF{UxqZDPSy@+?Ztcn|J?n`5U8rFxkA24V0364=D!GP$QPbvv6}K&IcMeSPfh zZ`ZvVa(a$TTG8qeAf1$I?Ru%1VMw%l2UDVPZMci}DQO2cWyobr5`H zj^lo3%WXM8T`w2?A3z9H=b{9+=dp8=z>{CO2M-B?6S6pNkR#Hh9j9N){=`pW0By(F4iY+8s zSK^(AFQ8a>=T;pS5Wv_hk5gzjz#uy+$!`5dlN$C?(qZ4QC|gNJ^&3rfF!7|*zHwdB zk;Xc)Dx6ZufOvB=`_ZG~e0PCKlOr$*asH^b(b6ryE|uS&<@_*=uB^31!7g^E*LzEgZ1F69>0Vl#vja&<; zK6yl`Ve_Sqd2@5{V?CPP&t=Cs%q>PYic9I#h$Wossovw`6o8wM5SIZ;jirc zz*m)nknJwQq%sfvMwz`VA*z(o$;%8EGNHPRTvHQD56-u#R!lUNWZ!+?|3;ToPu|ao zZ2q{|ruhT}<-e6~(?#itwt4R-o*GrA%`Rch(A_t&O$nz-{^8yM>lSC^^W%&R{39qC zU^$$P#!7;bu(uILWM0O((p9>XTBCZi!)&BC`{ZV$Fd*tu8?84}tP1aHAtWCdOEaMr zvCCwt;h65@F`<3AZqGfpPE)saZhibYm|NXH+4tSde3v^?!6s zU{e(TbfxYL{NY5sGv!P@9I3Yqhw9<<<#U%~;m+6XO#QkP`=QpXkquF6pLg}u*ba5g zwL{lkzkax$ydZE2+)gH8KY4SggxH zt|Jq{6`xDq2D!xw0S&K0byUFYuRxb7 zkL{A*iv70n7pKGHs!06y^0%*&OqGze#+O&_Km{G6INnYUhQ3BO6<~m&%4|qx)rZAH z48*+09_5tELssfcjmnLgOMzv+DR#+@(Rn^X4BaiJewCz?_r&53!Ry9I3>&s1L2(bx zq`0pD-~b4GD@k>a!-K7sSC+@ix|4d7UeSiV%D~Un3=fSWNj6b%107{jYS6GdPOEV9 zWmkusG{)WI*aOGz{y2Mh!es20IRLL}qNn?yi&LG1V|oMue;5@!EWECaZQOWhyRO`k zwDln_wXd!II6=K4Pd9IiO&G0TX>{ZM#VtZcVPG0KW4)Xldh|BejX5^sAHG<)epGA! zSFHDTb@N?;>svm(o~YjCp9XrGV-MRlIeZFGKN6cUs0Y$eGZI7Exlm|%_FuBJ{P9@cXj$U`oHr`v zmg=&ni6;`tsnv1XPsSCU1IfYo0^ySnP6LJJA$T+g!AfZ+1p%XG6#^bSSy0DgxjOVz z_Ea65k=##J#eX*MV6az{s6h%7r_s(8z!Zy+b0iBI{YAgsD{}ZvSstIS-U%>y(NEyvp;wE6XL`I>3ZMUcuYfRhQkxSO)0i1^~J4 zKsFuEvI03IlCW%6skIG1-Pe_Gz>heafo}{+I7yofE9H=GvcTP%kF4x#agdA7=*9^i zAyTlD&+AlZ!FP%?t`w)6DXbK=6g4;WA&RmCJ;7P{We9G3xT|VOECidn}>b z9MGH8uwkOV5X0s^SPq+8qZ~HJL)K==58HQh!`8HtinXFJR5EOXI&5$Tg<<3IW_a7o zg*w+Ut}MS0c*S`vU19WuH%Ujad_Zx`E2lf1#gu#0ka>Vkg5q0&vc^UF9frn=Qb{)G zNbnyl3pFhCS{EGFeFm4`TDWZQ$`}P)rmPQ!u;eSt>p*$L1o4cn4ri2wosCe#mo!Q_ zy+@D49TfShXzOxWiyfN3QS60I47AKoG^W1Okq%KaXh_J}KL--Vx|go62qb*I2^x~T zFdm=kl6?VZsvyFG&IS5Hpet(Z1+Rl&Zj_pa$mDBZ%Irric{^G2|2`3(Bz@S_H z!G?d%b6~^6h(C|fw<}iEYJGjYNonOO9Cea5=b_!(1T8Y$_h;rPEs3<@KAtz+LlLtK zScKPBfIW-h4m%pQv;^Uj_^-rJh((KY^WXFCdp=(ZF1jnA>&!mzY}0j^7m7dht7FHU zV!#-ZucR!zFnr{|o?Z*jQEcvM1Sri}rWU|}@>yXW#&f}Cn~uj({l;y{LNV8t{P1&M zKD0UC}cGKFhUfS_qD z!CxdK*Iy787PBpjI9Dkz_^(lBw05`KDAkm8isvtkoS9b=DWLN(`P=uT$Kg85K|!c( zSOUkwtv-%L)*9QF8;gsj$ERm3yaVDR5~Ab%f)XW7IX(<}nwr~3G#=qIAJK&ZA3ADF zEf7u3KB7lUXhYWXGES5`V_h~o&L{P^_7T0-3gmr6YV2SJsIx|{FAw6t{b6ETF^pMf zSlUa(P*biV(($g=gk7@J9&uM zrePF)C(;!$j5x>}a(=HjM&N85&ZC60@uZ+xC$GVOu@M6L`0k50$7;=}ULM>R>tv2| z4G}AQ4jhIQTMjHmiycZuOLa;15FPPsJt23CF1@DEz zJc!zGRDaHUaRM;EBQ|0%hjS*ZnUNGMut23C-49*LM`T2kunqJO#aRM+Oij5e| z8t0Y4vuKIX>p(oR{YxK9xif0tAFDHxLl9Ru>QhG<+&Rjq2dzMU>i5b-(y6b!x+yHy zU!Y!P*v|)ZFrX^3A09W#Upc%s*v%xyEcJajRxzc%Gb+1*@yN6m045&OGXzY_(t47& zj9h490hK5IY%&AoQZmCmc$69X9C0%hp)ls6w&_6N$-(SB3HhD&x(FwMA)4~KND|gi zf{1l*g`CI(8wjjo*Wok+edJ^q=p(s4a(m3#yf$eD_FtnezOT?b;`DU2C%VPf;As z(KT1SPhd1Z{;4$aek4V_q`&zO=U?agJonnHoQkiE;`my&nqYs=b42Dg!C){gp}|xt zm4nTMiPXX=aZkqJ;cN~^JAk)mIO@(uC}3P&L>O7ah7_aA@~_cY?7#vEiiO(-p5rI7 z2M~_MjAlr8L(ge-03nQX9v{NSMI2#8N8B7VLg)b#*VSP2(WQEFz(rND4JZk)+KKz9 zjQS@&oeeMFn}bNBelYPx6TL5KG$sUzDL4fR2Dyc^atE3Z{Saj7xg*1L44?}G40zQf ze5J2|srU**Cz<`2?oD%&{^XXFc4Dao%_+LD&Glh9Q+5%9ZRl7V3%aL5$*bG*)5cNWP02WZZZXzj#9tx{+!7mRQi* zW;da~66D+x@~uU=2`RQA3B*vK2r8J2oq(vrt3pO}jNE9B$2xzgyTX;PLQ6AkJ{(~# znt-@`oX5xuYUl0Z1Y09hq|wy%JEol=v(Q*X+nurP-MU&yUlWHe?_yJS_5Ou((9Zlk zM4+(cB~Vx3WxN_Oz2zDZw4k$lGrWyAg4G)yg+a7W1q}?-nHU*&EliNWRe}r-b~Zw- zhW}uV6yl$bwV*=C3-QmU#bMROc`Pb9YGT4BlsQWOPH^TkQrgBp;F8k z0!gxZ&I!$M4R;K!JDq zU~puqvy;6E#3L(|KIu5me5_l{GtY{iqy`kzIGK9)lFWF%K6dMnQb|yD#KM|S9dF3h z5zqNMMA{0AX*5I$&Bz|FhTv8owYOlKq?vsNZWu3JMk%Z z0I=sJBTDkZq*=s?9g96_e0z?baAA_yV~YOPq9;cSdLn7slPMdM ze#WPTZdGLwl$;+NNy8q9Os<=yA|ELBL<(?zY^X`}h2Ruw8p9t%8I>4@1IfoI(W_WQ z3r8Yz-7|9vxtbFuoTN-<_Uw(A`+J=|!P|zxa?d8$QEgdPnq|BKTlT}WD6BFq`xG|i z0L3yb@5{BU{xzjOZ<))W+|LcY(@Q~Y!thIu%-=Fp6N1YH65!FAs)d-3`b@w^%9ZxXo$48G$OfV z8|+tSrdqek4WW3-kmDor?i?c3$Fwe`n-wBb=W7unDT*~*1c*e)Cn4L?j7ZUIfJpD0 zai1-UNZh|;2q{3Mu#A?7l+Xh13Q_&gl70Wyd2KcbO z$~<%LN2K4KjZonO@klva__7mpCcbfoRdS3xMJGqm@_VVLUhetY@m)U^-c{PuB=1_v zw}YAfGSnhCen{=!K}a)~Kc=21g+V@*woBKPw)VG)F+#>KF62Pc zY%k3-IPnZkpmw&s*kB zc3IB+A}{T7LkLAd4PFz8@u*>|@d^$Du+Q(%wW+@iLh+sbYIgZxcLXFXAJFl&qIp@s zmaf^(09&o0X7M;Dv(2$FhWfCBW>2i&Vq?^CJOH`m20e%+t9jDn28F3vMUsUGb@C6e zeW*x+0@j6f3DKDJ{JLc96MmS?G!+GW9uSf&7DY*8Z`N(KH^TjXwKk%i{rA+C+`q50 z66A86^Yo`Ov$08AN+xag1ZBx}CsUSOwJ>?UK|2$$yt5IipVyR;l?>IMY+=*Jtss(7 zX3X7rMuaYRa)wZOYCSm~F6y>lBLL+tvs|#V5ek?`mv}-xj5oFgXL9eFBR9^vk;#Nb zqMGR2FjLa=YShZ+=T+b~Y#2laC8ge**PI0}mzK+~rf4M<03qd48Q=7Jq_UMb&vo|XU{xa3oyW#@YDGjEh|sutm^;SS4?37NfC)MY zD>efu!Ym-tK!Q%BfdrjM0|`2jDhXo#IFTOpww*|i6%naosuhtk_BRlzQ*1B|Bas@# zVqeOEWX#IQMx+#x;tMI(H#&{;#c6pzU!2M(_@cXw3eNyl!aivM_IQSrMQ+a}z(Rp} z39#0=o!zw-U|Kdm7^g{ql}yP<39xr{f;}vl=WzyL7|%8%MK50s$A7n$Zck*eO-E~5 zy5S65kxFCO2gw<7(6;-@Y28?J%Z5ITG(wFw99ZM4^mo!}i+yI*TF3VO4v-JuYhAl} z*hMF|dT}2ae&9!FueHfW5xQM)3<=WPP$XIS5-f#QkcL~d>BYsDY};eGw&5{iJZGMz z+|nxRGCGSB%(M;D zaz0wXJg4nXO9QyIp*?OjZBJ1H;8h7ch*LHjBc_A;cV9Oq^a7vIo&5`CLNCH>?b+Vn zb6>4TCiEhi&mx=ix`=njj`k#88<;L_&JOg#vSP865~tma*8fc}dUYW)woL{+Qsr@#Pjw z@L*4(v82~DD%-)F?2R@4qxxOB8QK?BWZ{AvAptwjRg`VW0Ys=lgc^&9-gmNALcOJi z9c%lt4z2OnmO1+L5PHyM3JEwqS}YGNR`sTQax`k#&++mv9e_rnM=5c2SPl@bwGEYC zR2-$XiR#*#(u)`~tTk`By1EQIr+BUhgO_ym+jV&WqsqW9TEBdos zMI!lAVPj+>N58FiAVmNsa^)gR_&lZm$;JeMAw0Jf7y{2N?=p6<#BcBc%3E-QBR);- zY97Y9)Ms`1frAYH(?W6sPD>4BK_aLltO??EYor4fQC<-{KGFz{7%$K$$^jX;0$#v_ zL}flPUI3?vY7`5nP~-(+hE+Ma^8>HmJ$DloP3y4;)^VmaEr-HsEzC%};nNy3J(;*Q zJFWM{w&pRd!KaF*bt65kd2)QKX$`i3;bB}yc3R_$Piyjp!fBo6?K!pg_SliaY0a%4 z$#ih*Ptdoeg9D<9I<;y2hFnGSo7Qj4m5bB*9!~3GKiyms-oKfo zFLMV%72+PDew{e{&t?5_CH>Qxxh<03mKI4LTXbrhpcfIjF{z0onXB-a?no;*6=JLr zYBp-t2@SpnA;nW6YFy>vp%8a-(-qHu=&M3Mgq19pl~lwSr+80hC(aaVjqKvqTjwXp$1lWuN|9U-_lF<+!9z{^Z}z_JwBea-tIdQXX8oZb9PYo}7PIh(mSP@>F4{>)^b|Y9Q(1e#><*u3BxMS3-&*gT! zw02Hw*O8MAbZ&nSbPvrU}IF+eTzwrfWMJp+HmD zhFc(_b#6z*a3m0LE;5>CA;DMGp2Cu(#OP(HNgFE0TCnp_#&%=6smK_Qrv27MN4S_F zRj_SQma>0*vbb+NMH?MHjQQd|6qpz8TjzG%*G>=awV_tHhYvmYqX&XvSTF!?F>w7W zNFFZI+VWLV2#O5ATd32`eJd*_!+fKXc4bC|(%tWjBK>4HYVK@=5;iO>fqdw;A{Z|s z&6`LTmpMs8d9-6IjuER0ZL8+O@`(9e zgC7<)9LwrzY*TZ%EUHCw8hJEV?+#`>S%>`HnwygMrsnpvY)(Tq*qp8e<&n8X)HDsl zz*o1Ntue8jo7%!I3XolKVRR zU~EEE%J5fTflg-s`P_{8v9l3M zm~}uM4azX=C!Pek4EtehT$7^#XpF2Y*R6t`9zGf9$4?mgP$CC?QXVStFzQq4#T|18 ze}ct&AQsJHV6KIK>#j`4$bjn0%(V-inNvAJ0pqXAu^34?i7ouF17W-{?osx!B*%XI zjO{`bJ;`0hyBndJd(M=gZh|P&9^xs{n?ShcVV_BAcMUAl zu;)f*c%%uDb7A7F3-hMFEI(7iULaIGqkDKDsr|86b(NE=nq*9bVcB11H=nU$bPB-g zw0<2IPUaie;7*k6FDU0EcTVolkW$mm$;NwR=Oj)(05gShA%4IU*f|+04?8CltFpu@ zxxoguAI2&)BpkC*=DD$JO1`qb(axsl4obLtD!MbUjoSjTHK}A#67&P;(hm44d<+is z)>=EnNj!SDT$7V>yW#uj4!c_D1#ZXg!7)9Pgv;<;yjhTpbjWTwCeVYcc0L_RIC?oL z_x052v!suO6pH1KTK7=tM*QHoUG7@z((R^=hHgR4u*T%OHenfB9G~= zE$}i0M;y~bt^uDeF45b09cJv?dZYJXe?+luO-yglA-;kh4YZ^WHWq{sFNNr|(~PUx z(~OA*^-GMWfw%!=`)+!i7*KvX;F!ATPh3uZpM3*gO1IF9g%|X-R zh-=WtI=Ou(A`*uQc@00(J#rYw!2MNSgZ4o~Mfl^e65$3MFwA)iiIY9YSGM%(N!h-= z%g*ryMRwvS-!9ods4*{$6--K|K72`D6u^PJ6hIu69Jrf3GM!@+4&3eUuIZ7xjIM(J zjD3-SL>?*57ik1ipQBXJh;r|z7o7&~t=t?#xw?cuEP}%?p4|bD8*s1yj{9%)^xSjK zU5-N`O+Ns5xiHuXA1t$sS0HzNGKRq(%!k2-BBms;2<087uxS4BtUO!OX`KnfMjjrC z1g2f981{sUC?Sois9pPPre^KBZw=3;`nvNd+0_W3d|62iw+&!KRO@$rg-lpZ(KNX9 zNFPyScuyceJe2L@o>;NZXSNw?gK9^Po+3s2vyN#0R$^>@fYxq6n&6lQkVoirU^ zfb0UwL@%Jh*d)P*5wZoh+F96eR9v`%r9yz%!4MP7iVnL8fb3FNF%hS=q1FLu*NGWq zGP?m;MD@;ZW#&PmTl+gz=i_=A#hPsWL63C_TI2romSrC^j;D_q$1*!+IO@nLuEhZ^ z%4-L-_gu)g_yWq2=0jaXOhJ0dXlzz?qNw=*(O4X$_#({Tzx1ZF;k06DFeAI~iXHxNS+rr@nGZw}8o+Lq&(8RQ ztw;nNZNw$OB;uL@MWQUd*uhkN6*=Zc0}D3Va)gKvrxOt$K!MuX$!CwGk2iEK&M{I5 zYyx7^&3V%C{@5QowUQDdnBCGJoq#%!Cq%lyV8N2xJ+Vo%x9GTW!+}d~=$S0J9StXQ zvf0$p>oR8)F~xJHi*u%{)=gy*r_Udy4M+pi7L@d4n|RxW8*m1%Zu0`v52wpLkz=GEuM!s*(pQ~^sip3 z5B{hJ;+%Qa1*XKtcXI>9(ZI1>-pG{BZzWEQT$taiH5DR5_F>$dRR&Lz$wKucp-GvW z7gc9fHpV7LW0MbQleE*D14PI}lBtHXloVrNlSf?KT9Zfp-I_d>ZE{bpNj>feG#7d~ z(cI)@>}8O9Xf8aXsqjpu^YtIDG$MnnPdxm1K=~6eXdegh(S^;r@EnnYW6OLze%LFs zL%k2&cjB`Rvr9NUx1KP~L^$T1( zXW%r2hHb@N-WR*@8b2tIg(WBzkhphO_Qc@bBB2hpP;Xc)j6ciROTDOovX#BGbbM25 zby(G5{vWJF7U0NAFcVsM!zO(MjDK(h;$^S8McnxuDGSfS4mW1T5+^-*O-*CT^CIPP z2r*$9*GXTqs!D2iGe=FuA{qz^ootCxnojQc7K28JSI(95?ODd25ZXKEi%(h3mh5yL zjUfI&CjpnETMKD1Xk6yV?kWYR@ETejj0QceJ{UF#*k3HWOCba^IJ>Fw_6*JxBb0zb z^(YdN!|pmX=&CEb>3ynLi5>4rL69bgNEj#j1VZXZ7koo~_Ebt*Q@l;IHH{tgUK)+9 zY@)IB4eoLmIaPApUr>{~$RW5H;@KzfdNVtNUU2<6zst?+R03D%ce#0-v17P2fZyev z2RzZ%@hiruGwWsOdc`>Pc;1B$hmKse-e1ux8LLTE?n+H&0$Bl`qFP+8-6FDY!pVo1{BV;-71k z9Xd6{gn#E}E<`VIiP;X^TRGx%e>~Cz&z7zc`qVViLky#g7;l7e`u;+Z5gKI$x-$_G zgegQr;8L8CUwmj)oRbzUt*e1fu$Yg*f`#--j=oKUVTH}+X6o$`lz-HtUp2lO{2_qi zq6@H?@4?$TK0dTS@{L=Zm9R)+A)3<#i%8x^^27IdPo;>R6gX#*Po8)yPn~!x?>+HW z4xe}{({E|&zTN3KXZJsF0!0FU15pM3=Gw&@B2j!z!?o!ng`JwB>C5Cf()1f+nJ;S@ z+AYmxvc~wEVwtAR9Zp^(_-vUs=gP#OvV9B>aG5ZFjts7QW+B%F{4Hep0~tOm*RD-_ z!6NAz~+`^t7IKhceTS-X~X~6Y;lg z+ypg-x-Ts1-s zGSLlw@Gk>UI7*mQIo&`xS4*Og0d8b%S+!ua5&CEJoZqAYO=`jJ_qwzoy{oJ| z6?)$jK{0w)EB17$1!+-Yv>!#u&9QN#cMY0Ji-oVNr4$S8jfIThBO$)`WP?W^%+Q+z z)y@^b5DJ)O#saXpIA%GU9LH99^|{=1>(g@6P$rSP;4!hcqgFO=WUJE*<~emUrUORql|fm!E~5+X`5{mS5RZ=gAyra+Pd7U5aW*-ZwfR$LF!azqEuu$Z`Jp!f;CsdM1N<@unYk z4H}Nc9PUF2!@WAwH_O~@0Fz@P>-BvM@8dvmxa24J#31FHkId7!PpM@y297mpMvfg`)!i7J=B!5CXvSO!5Z==qJoM-2x#9!RV7D!qe&Z-5$CUM3 zo$YB!Y+HT;o^VbaA%kBXNog+Cw4DbU>-v-g%*bE<4#N_Fc`>H_wX9%8yV`` z*$4%U`fQ&buwLU>&}D{VcpVUq=eH8m6Uam6b?Z3>lQ;H|)*c^h2K@MZ9k`Hv6!y zFr_a@6irHYF`D^_Ii|9=g6K}@{~Tn-g&_h@ELAp7dtfJMpTHu(H(1T0^=Ep$H#Tp* zmY(?`O3FIW>-^uRXzdLr&wjV~#{$@rh&n=oTPY|sf%*)nO z<8WqbV9arYI}5Efc;c(Y9!C@Uy(|} z;ST3=fe!`9nn_n3NvW?>4A;Qzf`KOlp<=lp?i{DQR7T|NCfcsGu94lzt9N4|T@LB$ zgzu+ogbb|H!cXaiVkAJN*14m<3t0_bgry)w!VeHD2xt+EP-|!OBg5j_dnCpU+C~+9 zX&W6uKP#iPDu2uNyKXdDw8c9gz-N>i%6a(^#t)Ql!Zl|DW?y9%0=(o z+z5k|JK5#Q%RvgK8lYUvYX9#@1tGt-OiIRvbXTtyE?Tr`@nYUwza*SKvkaHk>pD^Y z%2nr|kBjOryl~*6i!WKddiAB3T|T(xiYu>L`@H8p@9K5DPYk z*MI%rzw|f$!++eo`DMTPo4@t)|Mc6h*b*jH{ZKg{IPpYgV*M^B)}cz6Su-&d;?6RN z?RUVcWm?Rr8|HQ(>YP)#zib53nwU+jr#1Dgf2&^Iaeg~db_ zfNc6&H2WW=Ss?x(_QR-Na3PZa1Cm`Y5b%Bj30awXdu-8&>NixTs<{h8QZo zX@&9{z)J;O75xO4gMKt3V=#BmH4dxuIb-d!3R1twb;y%|LvhH0NFy9~w}j*0OC?8T z+Zuonn`keG=+}uWCxw1sOX!}%&Q_0>Z-SyHbO5Mj?jUK0eZm4PpNSXt4S&mS5e zQn5?}H9+vLTMV1VX`&^5{++e(>ndgw0SiYV;0 z@#*gw)Wsaurvm5}q1#Zbtf*OaLWZAJuU!(7FGZS~do_H*cl zL<<|)XwN|o43?r4gOh7@$;B|1u zHfedq`(Y%aUALJDI?b8O?}#K~=bT8>fMpW6^6(3*ZQ2QtH7R9B?sqU((~XMatm5#_ zn9+EwXUy{(bSbuQzZJ~$`5UAqBE@;BjGJH{!&5_7_6(JNnJAXmq0&qEeAt-5LB`?X zea3|Deo%qrH70?1fFZpISjT~ni!fY^bhsulTzMJx?p*&~fDKKgBl>SJcwj6PBN7nC zYMYpfZu=2;R+vSQv4MHOF2d08&*e$^~#KqB|+S5lBYLer&{Rl`21oJyT zxs0rvk(%V&dt2f^0si$`CFljZbKv=);yNijo|g-Drw8Xyc>sd-;w-)hc8%MpiqnSq z)J}wvtwpXR9B94N`qSb-sz`>h_{s6QtS^)=EotC7nS*obt+cdVlt^afoX!&;DS>3JCCN~|P0r>4d=E42 z8YnL}HNa9S0zS%==Ob4qP38slf93ntr+lG&QaM_u|0aSdV0DhT}UqQ$LHCVNsnDLud+gBDABj95@Rm zWunn$%Gucy(OfJqCS?ey0f!II!r=uWmXTcE!nZW6oy{J0*)5zN2|=3_Ztr^P5wd=^ ztgM3%wRXf{h*s@W`QwrB{z*6ST_!Zc z4GcmwpcmFXtM_O84F}^=nlXKq`rq;863Naz70fPl(7@%L$k2}eI_h6zri&%hPf1pQ z(8MPR#aorl6Y;UC>cFbx8WUc#^}{@DN65b zwB`TKmC>uAeL2r0e$M3kmssvA8V$-L4;F~5qzhnyjKfW|m$hSXS9Otxw%JBdHuNebaJ9rdp2PLc? zcytC%v+c&8?=e}r^b8zckL~-|y^jS1{&5jO{%WddfOK4t6z%s%RRuHaV zj|GGm=<>mhFU0D>&;1;h54eDkUO%wa11uiM>cMZn;uTwd=XZYhKmXo;`TalG`iFn` zU;pTj|J#52lmEW$mH*>a+jsows~hE;$~(&=uz1{JW*Rw|r}PAO77| zehvPOmv1lMQNFVbQrC6w`b;Ii4l(OKRa^UhE%VoBs$n7GaMt$O*$8FKM<8XO#)#z{ zc5wcf4C=13Pt(I$r^N19kNM&SR`(L9ULzjS^HI?qS`ntwLAb7k-^7K8LuDw6OgmZ? z9?BT++gZR8Ma7&Z{~VWUm{Ap`*(%PsU=aCj>~}KpN#C5wx$BCTX@^Jr-AuOGY>)QE z9(_UgjYzHGC^P~4P`RINn;Qe}4Tfoedtwbyz{+0MKncE)^ZyV)7o-6zliapI4Z zsk*V~xLXg#=lAv-=n)Z(HJoflLC6Qg!uq{Tp-vf z-9HKN8(Jd`6I0C(Bol2x;2cOM(=P|pFNg3F`ZC2An*cM_q6N4($&OT&I5^p8Bj7*r zS<3)KlE%Rnq|gJL0DmfM19X23u6cRn2b2Lb+jF6B1f&VY+|?~1k*5d1yFH{YzNf}rH|>l>_-Uws|dX@L^D7IvUS8m zKw$xk0nx)koSy-z6J(wS=rO0kLIX57o7@0BrXvg8-fYf>)3zI-W1hexN`vM?(=xo! zw9M%-e--gW?4vr6ofx7xp z88dFKXCinBnZYqg2w_ZP6_F5EV3b~oQL;4Qyi**yZ8~&VY!FlJ82FbgZTtzK%!mia zfQg5Oqu9iQp*&9S`(xKlJh0Lr9fXRGn%jHU_^JEsU^;eSO&KPu^3$Wf7y^8>3G^Q% z^nVQK1?~nmH{k-LTK5i^ps*xNBs3}z39_8gXsdNgxeu`1AFk$7{07JJ?(X2X=-p8*0p$>Q<#Pnoo!?sn79YFbsDo`uCVD)Qo ztyrhR(GBdBciuX6)XBs;74llA^q7aHPCeYRQ(L7|P9$Sh6~+@-GpX-m=YF3uRu6al z2Gz0O*UsXc4RYFPCjA#pGI84-7UDj^kN;WfhY%Mu95Ugq!dw`cEP7!G#fypIo0W`U zc35`nZ+G|c6RhiZwIL9!4CVHIA$Vh(k1+>gT=)%hPBZ|{!TP88;T1^NFUIaT4sLE6 z&I1p#=@*Cvcn=dd63Qnd<=WYDY$OB$12z}CWHupC7%CQkqwkeW`@7u zHB+2B(t}3DdASizplAcyfQ(>$I)Y_-%6}4^FdRt6?7bY;mn)(Wd85%}(6eNdmasjA}kFmd}hKfKIvJLPmrP@P5%%;2B|Zkx_HaD6#;;B&D9hF3Na z@Cvj9yn<0hyz)q_3S1$aV05kjzwEsUoLyCwFI?x`N+l4Khze00DgiZ!N)XX#W1D+g z?TAwxiFT{eo?_c=r~CEm$NSphW-dYk6$qi2FJp=!SWHqfUStXaS|CH1q?m&!L_~-P z`2GKDtv#IKR&Fq2_xE+(ALO2M_ptWbYuanCy*B+sZp;^O%o@4^^bQlf08r2l^aJfZ zYqMR%u~Z?VZVLdJi290PR2bfeP^gH)1cs4pu!?0-@?{wj@B{^8#EgkRhzR`PwM-=C zhE&e6o=3Jaq z#)XI085Rm|4)J%jMLc75!k#56g*{7PJ?vR_tMvPV;9YGhN-$E*kWo+U70g*uL@5*= zeh;K@PoN>=$}i-tzVC4w5y*o+Fyf(FX?xz=Utz{V^Y@mTKR_TasoT*|&}i8e1Sz(q zmbh<%*KibJ6yqhQX{ZhCD3+%w@bfE{l@W!H}i6JL!geKh13TZ;OS#tDn ze_ML^{MOOKXQ>S}`dt3;c4cU_k_Wpt$=-3940Np!)2_b(Yd*wPTM9j#+QUgEB>cK5Jc$unt zq1=+gttzxS((LW3E1Au;-tEP!^E=|>BhsT=BUD*UMcMpp7{1BoSr|SyN7ZPp7_v;y zfXzjtrYpVmsczCWYuw?mQOXMGM55xu01QYV^x|;ien;;FV1YY0SZCQ!&iB^n#zJcc zzGN|M)Z1u5(L2a!m$K0h$!KGjBP%%ZOads5_Jz`DHNNT(8Esu)VVsc64MD)}pUm_o z^+_%uuo;0Brw$w-Y8{MX!BJntA7|n>{yORedxaIb$^F)ug}!is_cNO%$xgf_3HZDv ziHY%+B#vV!zoGzTh*;%hXOgfC3Zsjb5dhjNFvoJLzk;w?96&J|L%0vRq~naE_O>&f zXMEv}Fgnoq!duXEqInMqooLQOQt3oP969RKE~a_gO>-aPBl~gv);;J@z$gfKdt4J{$fjLpHzD$^IEF>V`h(`48fcJye|){*q;iqgW&yWrs z50-dLAn6s`3~=SlTqgqvg@cF?#6AL7hNi76Gu@TRLAatVgzpvzAqb&!K>xOchIBye zF(a6kmishkf)1oR{bpe%L^l=XgXs$RUos8B>65 z_a1Kd_K40nlC>E4GLG)<-kxtw9WUGNII9Hiw{7BH>oOra zhmWlzI4Gms$+PlK`%!@xY||5wA5dbhb5K#~?%iWU9oxLzQ|dSvNqI${JHAwB57x1A zO08Ny&|$Mw=Pgo)6C1&2v=Zu_6zbWA?3;W&hhf5~syWm!5ElutUAI zp`PtXPhq`K;EYhfcBGkMF7d0Ub`75u>RH2*WxFt`<(=%aLp_^R$w;@w{)R$5>+dxJ zXN2q$F`OIf7%@l!Y@a~X#%2;T;N<*LJw{37Gr`#*Qoo1w{Zbu?nD7D^eL4B->kOCb z@XW4obB>5Gv7@?n4lrI6>KY;W5Qkh{6=I>@C83_-(T6wq)f(|qWRlB6J?l?G8?2lc z=_LZZBGj|~w(E$#t}4~jgl53S#+aFljCpOS7e_pJp>1<+7DB+wb)lZY8IHLgQkjPZ z=`IuQsJ1!k{a|6cn+HtlGi|s zj!r`F%Rd~4#(C)XzW06jVysOj8`t)xi=Y2?!)K)KIf$8 zrst*Srx&E(PcKY|(;wh-QF^g`E=l>hG`$R;%kgQYSEN5ouS~B>uTHN?uf=D5dYyfK zl=5?ZdILT;;`8J5C+SFfQ+jjy)AW|~R(x(tZ%;R*ccgdP=dP5WyVHB{`58XHX;g>4WJ*>BIOul5R{NO@E#~mi{9BrF|Yx`FSGUl>Q2zC(~c2Po=-H&(kSC&!n62 z`7J)rroT&{OP^0)NPnL;Y76jLSX*SD#WjAG)RyA244=N*LAB+zgKH~lD{F_;4#lUx zw#q(-)%ZEQwi=%!@L5wk5>Ycp)sC(mQ#-bH96ra_POwk2#?OhhlkhnipHph5)=sOf z#ftp&+8MPo@j0uuF8Z8Z)6e&?*KrO$=i2AI+WEB$YTvJ2h~2Iq)Gn%BjL#+VxwNLA z%W9XyU2;Y3hqWtfSJkerU4zfH@>vhR1V7i+epI`@c0=vP+K+2Lsg2Zb!sq7NPw}~> zb}K%&)ow?q;T`zgS-Y!tckLd0epb5|pV8WV_}pK60G|hI58?B0?Gajd7XR4nF2_G^ zEEt53ibdEQ=i?s-#}!WHENu8X=G>M#a9{8)n?}urX>DT0&5f{Exda>>hxAfBJ&@3~ zob#&ph4zNF->qv(@-l(h+S@oz-I&t&hH=H3?204kY*P&VeN&#a;EB%q zz3lp7>AJV}=jmTZ37=eR*~mB_M$^Yr4dN4LuJebaUe@~ME|Hh4xbQe40NtMo&<_%E z`=)oQWXB;KOKAaIvU=h=;R};yMMZy_g}Cx`2)?w@HVSP|H;kk^2|JK2=K2P4TEi}ij%BF--dFtFYl(>6`PfbV88 zOm2NQJlx3!NkrVy;6ksz=9-YDiqV&@{dC&&d{c2ja#DbGNg`7yP0PUS2s&aMHC9#T zbR#_KJmpC6rvZ`;@stgLG?maX(AGE}1RIADxU#o%2%8q!NK^L}C%!ov8HFDeU6ztV zi`(S~SciL|!&}**PB{9?n)wMYj_-^xKAZ4ciW9zf*8vK(43qPZ)AjY~=;~$^l@Kce zgYhz6>?V!@IFNX-pRhndGMpEBG|4c+Qb35hIAu0+ZpjO*M%i)7_LZ+O7i4pWMN~k` z_KD=5aQEa!KnUlzylC;o4a6A5lCnrEkFla8x;(&d7`tAf0NHb0DlB3YAgl`&X z?W@&q;&`tjymZq+G9dKxo>vxR?T^9;A5@x`8p15XpVH?>PE-+AiBP&yMno1H?Vj}T zcH|nl9hnfZD}{L!^?CJG4u0HA28U5MaiqVnh71a_Fx$-33k}CX>_8*#;sNUrTMpBp zj$s^S^Zef8gOFHKZ;q>u$Q7{*Ruv@516Z{NlCk8@%bA$-vM_Cw+EL+Qurv~VKm}nF z45#H#ZydJyu+^1fBVFSVm$8XUr3q*QVPwrCgiQ)}ZQRc|SC_C%ch->Xbmve9T+BBt z%p4c|*S6>Y=swA;spA<=#%)Lbgm`lFJz*(IB4%wVp7<8%h1ls?%(uPiVt}=XVdLCv zl)Xx{w0GD3aIuqR7SNe~5&OikHe61@^M3e;r}*w8fIr|*@ajY}D7c0_i6pu8hgGe|QynU87n{z&%#x(L63a>4^Lto7nL zjX82vV^BN~gyt_*!u~#?bcD@0v^Lx|tB9Ko)WasfSZMOWQj-^yo9rj_p~->JWOnAM z(;|et*S=GODk$~>dpcv@ZTC-LaU%{B>g_7U<1OLErhSX4Ib^ulS?3si=(lzH8 z55YPyf#f=s~X z8V*d$_V2GqVCPEHgb_akTzRi3aaEMjn*us)EAkv^C2L*y+NcQ~x4Z~M^6OCdVkMIA z;Q(lJ4bo|YoiCA3ox4=kQ$C%Or}@rffqP)gF15+ zdLV|gGd;i>jvOoXfE#4kofPszw6D;6SqX?LYNG_YvsViNE}}>~g~RC1cBaT%%oiu) zMb_vwfhf@rO};-##%oIwu_f#~mmHwAR)OdEoIQWfTZ|&*aW5Gr5`h~FiV@9UI8VKv z#m3;r1?0yQV^ID;ejM@q*w0ZmrD=`_KSa!=_*5&p$d89E@T)=N#}lNLGCyLd1%5m% z)HQxQt`mN2j?Is2LaWA)$5!#9Y*!x>klBtOk0NG{M!6TskH@qAkz3%$V*<>^k5Z!( zew6+AH9B+u4f#=|)Ld97v`9`Ot`5Ukvc^LEz+?m`^VKSt9zW!le$YpwpFgpgz-VwZ;}f!=Y6ZLCbW4@+QG09P!eC%yuG3jwmfbxfdydTI^>bAsE9XxHQ0QB1md< zB7!bw`wMjD{#%M5_*p*Z6>!(oZmim>oNw21oX@AUhv@}_ZN&@8)wM7>Hbq<$uxk|Y zoNj-cy(ug-SC^XYoN&6fRW&S5IM~)c!(KxSYzBxGHT3$>wfW?p)vkk2PK_9o9&VjV z3Hxh~__sP@aYl)+ic52LGwOUTBP_O=#e#RLaY@cZg496adKRk-3XcPqIkCL3K;$)Erd5W+_Z!I|tQmR-^2o zV*3zN5aeYCRSYoOCn`4)s7(OTA?-fCc!Ed^4ytAzX~n4=4e%S%9#<%gihwjai-0Yj z(870MEUiDtj(&lHv4iU8eEArA7tJYT(!WTJ!XrW4bKi85WZ<$ zm^{h09wEGAIH(>ABQz-_H9C<(zhwIl%ZP+H3l6Fn=FS!--s^@TRxV5&hTVYcGQL$wTUuurGqN5smS0vSufM)mf3<*c__M>!L0B_A-g(e5hB3;{mia-gHV5QLhHHg z=cu^vBX*DgN)|T1<(pByLEyhjqs5^0?nTieA1e&!IpVanm@SHj2(ZrAAlw&-_Im~G zvL?#DOXxYvLRcBn9z}XQmSJvLQ6;n*3;nWUrMipmQA+0-8{0`xsijhk5PLVsI6L8h zAXaQ1$Otp!b`@v*GaU6@0`5AVHD_bwV3Msu96^iIXkEQgSmL4pl^KzDDpWzQ)0+rL zFeVy=fQl~3M$I5Pm=N6|y^}_9rXmQ;R-X5Z0&{uj+jxIN+_$ow3p7R;Z+HC=c6J*I zNi45P%ES2b)-YYPtjc`9iluHrsXX5|+VVX+Eb#jpws8|-vU1M1V+~xt=u|z!6tF$B;U22(z;XcC2+TNMij-r#&DgmgMNK zXUU#y7jBd-Vbve$3w3dvz#`Y_n^%d`L*A_C8&U(clDxT=Z&VG?6FY)baQXzVv-q5+ z>XynyZ18GraA#@oY~BNLRj3XjsZsTSpER z>>3mp?R>txG@z!M(avM3OHeA$XnF>w=~UFSv>4XT7>zYvI!5csUM>1=9clG^4x`5|WH`HqH|Oz9s>us4<4Dit3(5V5 zm*kOK`1TwfzwkxS5ZOBm8shSRW+U98n0VR}?yw`=YuVZNv@@WIz7A*-4Z>|+J|^K_ z6Z$s7Jv;7O2^Wq&F%m#D-Sr=_v$G0>`(wU5Qy>t9UQM_+veX$Ul_y+1EK^0e?65$% zH?xhkTOiz@gi#scN{vnk_a?S~n#X04aAR0IBV5*a=?GV4a7m=56se*ukcR@UX^yYP zUAi@VJW+?wezO~dSguq(qUmc4XQc$#Ypor={vYNwLq zVPhVG!4d@b6M|!62p)-ds!I?I2?P;H8}MRM4C6+;z{aD*$K+t-X?nGKsW;V+;l^wg?)_yx9c@D{|` z@4}!=oJoyN#M$#~f4RqGQJlrFb|%hP<0TYlO7xNPELwdF7WqY=(c02@!rRi?prf^e zDC?GZ4AH9g%5!vV<=GedHey>G_pQX%Fy%Q&YFok178a-tfjMx6Zi(6sWvNDq+6LQF z8#^pe+iJG)JhRzR4!2oetqP+uYLgnBP}|{b|G5OhLOLi?TMTPw)W#ZrLTaNwaR}#9 za|`+-1AbPin_)9C8V5!CwLHXjl|u)rflXFN9Bq;0j|u=7$v+(f(3a$f9Lb-^Y5I+y zroNcuTVs=aGxTjF|5V(!l6;?$Jk~hf^;6i{lPDB>6bAY7R|3Hp0(LD+Z9=KMfE{W} z^6aoc@@KJ)UlPVKNdELNDkFKR(Fw_)$@YKYaakn!7}m~6o;6-NlE*?vTwG63^=}Ll z0`Im4B_7Ei9^ns21H+hy1$^-^UvRyHP(HB-*Aop7;jN2O)o|pRd*n6N;?`P^xM^K( zU(6~GN|&6PW=w_6%f{657lrvUDtw?!g-xTv^`yef*x7vrD*Pc|jtT^0P~jCUbuUWg zsc?N;DrAQRD!hhm+`R=VyfTc+s8DKjLWNhe{kuFai&PlH+8GtH#!E+qnEL&?KCdg1 zCpnbcITTq>Pp#>ddz<+BHomS|I-)!I=2jUqoMEq1k?Qw~ZYUx179|mEzSy=qscwYP z@ENj+FhVlB_{iPWcBA?Gp4v>l8@=&ynBIGLeLkx#g;#o3)>@&lUv%1Lqhk~5NPxl! z^`|kRQdHA1cMFGdvkXO72E!{VOq4gd^1F_I+jIDa_4}BXgT^skUs&~MIUW-ESVRm*k3dO4T=X`lpptWjO&7&-J zWr@;SZG|2?^c1Jm_Bh*UZGqYz3!^e>lNy~++b`Mv$U$`ep7qb$0x>@qU^dK2jZTR91-5@~TVjsk?2MTItBKBqi;D~O zvy1atDLRphO6|qvG(6XN3=QT)=h(D#Q0Uue>8!YK6`g}7I!7ovSF*D+P$(9itN8Nt zKx@^av!A5~%aqnubh1NFaVk2GU>m1yf!YoWqcUof8l6zvYPNrh$7NA;YAP=EZgxm* ze_GL5Qq%(hH>RkY@r<`!BO^hsQd^T4I>BQIS<@r8(Ab-SCxpI@+K!L=R%#nEYTH0+ zJDHswTcEbJe0j{4sO>bCI=Vz{nh7ZKPy4_Wc37acGug(GTcEbVFe;-qsnH3wox%3k zcw82#Erzu-YGaL;PEq${JIfk*J%=H8s>p%iAwJ5DDdHuv{qAe{R&Pw%q9f;=fKnsU zLt{c|OQguVsYLn%c82>>FrT!y=S4Ky8rx4k9J)3dT^V<+G&)cH#`g4U5yptrl7cp zzRS7ZyX$jC?ROAua_@-j9?F)Yy!$rF376c?61?yu9Agc;h_~=Zx%h)H$xW1ia}!3> zi)kM&Yy%GCU2d5>f=a+~;n+Pe(Wj%WdvCx`!wBu@J#WxJV$MV$w7N6&Z_?`DWt>}xV?+8|6;}6ivh~sopl^O8tD0lWs{2C6CaZWaMeJ|i zqc&ef)c{4+L+l8*JjABkqkQ)-TM$&(O_u8(^4^sJA*L!-%HD)pxUsEr>X&Td8+b_) zX|uud^DrJ0Q>@U5l==l*mpdWYd{IcnfOaONSmPxZQe(JRHU-QWiT!;v({1(Ps3Wn> z#LwSxmWiL?*k)^uZL>WSdNvyS+o)#~5@xcElE{9?uD+HhvfuOFSGPc9FR;+uq6=>n z@aANjx7XMkKv4&^64@f|$$!a4*@nm(OZ;-nh>R6FA+m*RU9MNCBC;6J&WMaP{wopL z(tsHwvN_RIwrxnehzR%wmv4Z#@Ix*GW2Xjrpfq&1m{%~D#G z8c@SW@SP>xr`)MDxmL5#r;9|ksV$MQw*rwJ#U?&EHj%9f12Q6Gg-(cUfUQf0_bMWb z0qu;)SmRGgWW}R{#|F$8k?r3Jk!^NFb_(&MiQO@>k(kIv$By|vIrMBq#@z0CZ8>5@ zwwXk>mR)@~Ph@BEon%@cV`J2r4>J zacLN}o!yii?d7AJ7^gH7)&Z?h)sAkyXX2KVIgE~-0_dvHsBs+gqdShHLg60YdX9Eq zkH>cBHm_wdq)N}*pmBzTYBx1YV2AGpR!7S8u^8&Q0Ix9=D|Et8*RypdUYF*J3>5>} z8AGwgOU6*LUHg+_cB7k0$aq_X3>tnEP3vWw_zDDU%0BVaSMwZp)>;aV-JQmP^5DP3}Io?i!?TH1G{?9W=O zP1LA765Yt!t|d@N);xQsLR(LVwtkRExErSu=G&Z1HsN$2k|TGh|eQXNUezUYC?T2HHL;#dJa#-X)~Da$Y^F17Gt(`6kO6yg7yg+2nwhV=$MuY# zu-*0(cVOCUFl(Ef|Gy}tczp$m`keoJ)Mi3i;f2?33md+I9g=4SltZl5NRPj9bEc3x zUf`sJobTHiQecvxgM|ZCl=kzMgbvKo-H}&{XQL&B-WN)mOnP}Flbo!c&d{#cn>t_r z^EaXEf;u1DC%Gc@Vv_o0(o0@aPr~qaP;EYQZ96%=BMRXLio7nLPF$$ZkvI%d2|yuG zg`Xj!Uxk`X=S3MZjmRkFZd?_>G-R-RK|qU|3hsG{=X@oa)@v%zc5gmyV+32TV$e-B z!9?agNsWL7r2|z2GY}9ZY*b1>-V|3AM~>vgx{j7U5M-3XQEQWrNP)!%Wtw`$bq>Hn zo`kqfF{|K0KQf@BUqiPEfV0#IK;DJEH2^4gUPC zfh{MYXnmy1CtjXY;!9t{_>wjDsLcUQO+pI3t^;6n?u5CPD_8Wrr7B~QE+pQ~Gy0N7 zu|WtCy||i3lvJ1teX*Ol#?jykKF+g89^S{}d_JO95F^X1^>XG69b5oET zbK?!uZZ?pLgXwFtE@ltd1;4*sG%#>9ooqQf8w@FeNc|3Z!QKpny&^#Mux=g4dQe3= z;ewwCc|CjeYDDTSQ;V~OR|tPLdeF|oO`-8aL*u5s2xvij%|WGTb6K<(X?A-zsF{-< zjE{1vOd`AS7?ubkyyCK+gNJT|0^_$Cfwi*@j0P7*uVU`Q0+^2~4phkoY30*4h+5ke ztF_IMT3cVqoyZP{GM=7U!R;hhR~U1`)&yW!X3c=9T!% z*D(HK4Ja*8FV4cijR$UdEeK0i-g|e=$NhqfbhiiugU$NC)bk6>w~1AEZ<;;WC1FG3 z@j`BtV_O+6X}`OtJ^}BzRF+pb`*3%UJO60~}^>?;>#I4Q@)ioyquuSP2ClK)URF26fsy zSX1W>Zi*3;0i5wBv=F(N?ePEjx!Enkawohchs~}uxK{@-4P7kn&}BJtXQQtoP+SS= zf*Nhl${XAfY_o!>a$t(VJu65vloo><#3ly!08U=XFwk&QH(*$GfO)^=2ac8oN0l-* zT{+rDGEMh~Y4Z2Vid1uYBeF)ofK>)aMG*QiB}DEJA#xkiU1MyzJ0ZYfbf-EfPj|av z_C(=~MR!wC2tI}vL3eLKO-hLNbazSs)98-nJD|HaqiJFE||NAQ&?& zMoDC3LVYl&uwGsgfLX12gYu*OdYLHk)`vVmegHptEVfXJYs+G$#igM)!x?%@cL&w8 zc)U*Rvy$a?BG>bn#3~^ZaJ)Qp^jNpJMHyIHRZTo@mn9&z#MbmmY9O*2NetE6P?yd~ zy=&4{Vtl?#08@V%YQUtx@UhxbZ0ZQH3Kb2s4wEu*;%xM?+}1!~Z9#8+SM;!xsyoX~$h#Tj?h!5L4n1x_S_a3N4M>KhlwN? zj|hR}TUh-|?{qJDY!n6Uu_ZV-$yyxPz$6Pc2$R@|MbjEw2X$&~w21K(dYFd&kMf0c|PqPj|q$sNM4&Qb{O_Zo%r< zgxFO%wu0T`;$svlES$^Ngr6FaU0OH~bmA?B?A@^oe@^nsdbq9L=_?3XTFvzhVc9#k zz!?i0zJ@UFPbe z55LTn$}+*4fk(d!InYko~2R++h`1fgy%stw`iL9~mziRjt&VBvBiJbS~iKRjUm z%cg+>W~s<^X3OsW6=8tEB%{QdEwa+B@W#THIJw!`fka+TupVNqmj%6U%V72`RfC^f zS*F6q<$IADiW1UYtEZP~gYl0;jRP<8`XUxCa)(#pMVA++jT^&e0!L2l!XF*Jw1zO} zZLGi*1#YBEVQg;nH4NYCgfLzc9~4POM4wI?*bPYWtZ7K0eOl%aMpl&CJP;#koFA4{?TxRW;r&HIWVLBCBnJ@zHXIHq@W*1Gf7&Q>5l;26) zj-&X!%ud?@H@cb)3{K7l;8<*Fw~8>fJ1g%QhHnL825ToX%#^@p+le6Uo{XoU><95k z&^KZ=mj^yW9eMX%}J^KEZ`$6nLr zZ|}X|xzD@y#pT>HX7F}yUe1j_+|OOlvcLG?hd%UST+xlYx%c0nmvj5Oxj%ovoG;*N z?k{~=?&S7-ULQ=#x8n8}c>Qn4>w~GYYC*3}u|b{z!FZ3thBOk{qg4+RNN__%6K-L{ zcV~iv-LW8;m}^TqtUm+|ybn0yYc%in?ix;IP3)y`^6 zFvV9qej zj1Cmv`b5Oeq@qQ^>xkzFoRC9E?It#SE6H0JErCl-3^at1n$x&tCj*eeO%x8?mrq-|onF@lGX+AUo$T&GuqGy|VCITp! z&?lCf{*+elHHw;y)&cYS6t^o#yOXGGu^9@odK0>votrMXrUk@IREWn>oHRHAil^4X&h5Fo-?IwAOe{>$4OtaG#cTFx>sLs=7! zMYh3d0UWcGKQ8k)1o8rE`azGAW%l&B56`_3bqO&|1FAk&w3UY=N=9P{YjMW1HO&ID zMFKe|OBx{kZD?tKLAr>{0?nNnU_DB`HXjkxVQe(3ES~@EXk!-JKxh)=c5X`A338}| zDnmRUbW~Ca-nwA3oD`^p%9hAq<$$#_mr1;;<~0NDue?H6zvC0cC3zR6&6P;Lyo6~ z$7wzkb_XsFvv8#H$)C%Nx=AA_{Ru946#+xEgFB~m16IYm>Q`Bnqfc@008;dd@j;i+ z!}>!)`hG&{-2fsOeZ(#L@-xO&iJ9Bpmw0)A@iui8=m{xXi-@>uB=9W3BoW|+I-J<$ z1G@^O0=k)mg_4?6f)6n?c-68RG*=U19BRsN@n)@l4WDLA`krD(5N(< zune^TiPT!gTKg7ib??^|O&4lqPBSiHahyzwrVmuVUl+Y|nCZSmZcJFjQv0x!SzxnE z&e$8noEZ1+qi#^UMGe#{WcpJg@11Ch4hKL|zlATRPt5x7eO7E1jK#jUqsU?d)aT$rJn7l)zcL*e4n6w)-LEm)-m?NWvn~Cn7G$PD7=D zonMf0rm_Y}av;sGWthYQJ4nKQvX&iI<&F>+)2IiU3kSclfnl-6r6>|ci13n!24fUe zY!QxD3694JM{fkjBXMA12@XBD76G1T3oQ4ZD}jBHC&C&FybsDwm+5viNXfR*brFkauJ0hDgUVPK z>e>k>*=Y9aRBTQf6@_|>Lp=*$mE%L1s-)Pd5c*mg>fE8>9un~Ey+%RRg*ttuIufw# zqbymcs0Npp>d4lY_W@PaSy8HkD1Y#=$TaW*>TqFXN*RhcYhAEo0VjuqHimV9$MAjI z$<{VZm51@I3Uv%8-MnQqnxWO9gaye+kV(}FR-#OvOyP;HI{5;B?)WbJajyhmwb?1r z)l`U=k!Y-G;ym3AN#>!xy?+jhCa=a9+FA^?jgwJZjYb%+QWf47vmzjVML*zQ@Mg(< z#&fAY9uBgZnCs0eoL=HzrTAnvDjIx`+GJHFaQc8Vo$(Y_!WDCAvm9n+X&A^6x<;l} zs81_94Rn|4;qAuQrAlXp59VMOnS+G0ASV>Y;~3y}JP6o+P6i4dZH7D48%gBRK9KVI zTG*Z5p*_SU6Hp=+*>KeZgdQ2YG>5)7n?nt*=u5<+hn6O`=ITE=QL?z>vKaL+FA}1L~@Z znQWO=ESr^_7Flta1+Dfk!~tz#sD1A#Eia8pV@jI2F%6c-w4&{pxJ!>vYJ$%lWLbRAnnF(J3zPNACz?-3 z9m7txbLruhXuW<(61eA(0I@~6bAQusF3N%`UQA$#=8;LV^+K0qYZ4P_{P-Xe15M>f zom8T;lgHel0S==Ez)`8ISG7fzh`&ZsX8dSCvLY(+TWJ(xWOM}h;U&Nkds+$j5p4md zh=+`*0zAyrk)fklw^UVo@e!EH-a(^?DBWfen7;K+A~3IKG=V#_9i%e9`B(y;&K@(C zpjnW{B<}h~7uiEe2kBTrqFx4)Uilybcz%K17dCwRfoQ>%^JDQ#fuWX3n9IeXqKRM9 zt~w}u*K}R@hY>zB8mD;i%U>x0bOT-^tF4K$_{~}uy-eN)5S9cG%)`x?Y3@|QryYWw zHF`(o%d5n9SBh%zwpuShEZUw+LpLU0)MaQgMdXXg6k$!`+jFBlxb;bn8_nTUvTBxv z?rcWTT_rajWF^a5L}-3vW%N%#-@&1yI2^j7+KXpKo$NmrGy2v$Va9>@bH>mwW50ZF(Id-f^I0PttDrsS;tpZ!Z z{=CfLDD9zMF-kS3uYYBS=5&!_UfeV2>?5QyjdF2e_1kX`GYv*YMb$H`UjAOY z>#lO@5uq+qcSEEL;#{Wf@m55+Ak4*+C&u^jyg|}voK>JuCj6>5oh8p%8&qkh(orq0 zFl`G%15I`CPLJq|(;uad;j}aMRZ`jVxQcGAw*x|Y zsgi8cQrSe&-(;_e{%Nim_wK@G$Ne_fs?Ih zT^BJrQsjg~13Jw41y?TUoiUxBYTbjFaPC32D%}HDsOSqJp}93te`x)3bqUbzE0arZ z5>+KljE-nWp*(AbFVQcIYeFLFeJJI(h z=~iWs(%~HS1kXcyOop)R2E{AOdJsCJDka2T9MVFQTq`t6R|@mA#*|{X!aU+eeFsA8 zKFu$>0u zcG!Vs5_z+7aS=E!&B6&gv52WOwV@!<)&|s>M2mgTqKIrWYO?snWMZh!21F0)7%UK8 zM`vNU@&E}&@zecnjgFs-@4(vJ&+Lk405=ZXjwapSkD1^RqVC>tBJJLXXC7e2&Mrh6 zWLe5>{@(6Ix@eZxApji^bYb=PNI(uml}mEMm_MEqQgX_^OQ=am@@yC-QdG>V5v<77 zU~PwWFfHp0In@Bh^2eFJ|n-BnE`d3$1;5#JxFSwBIXEZs;56nsfQx_Qu% z*9McU_^D4WTbDxx>+&loT_14PB?X8NM}Ce5*q6O*Lh>W*DNhv9HwC{)C~&5R zACDbL9I#&!AObiW`Q8U$&o!<(1W{9nsz(`w%%(V$NL!KN|6gF^S?iK1sx5pZP+!A? zY06U5zJspBB+3TPLd)7D)3U?-=`A#|ywn5>I(-Xq-3m=GYkQ_Lov9r@OSzYI3zSTM zV+q_#Ue`lH7iJ|ROcgR0UROIb$8plZ%NW%pYuxp^0+6dh3pP$fqsBlE5`#KUhJwFUkAm4k7J59m!{~WEHr^xwrCW6RB)leeyp=UM^fQ| zJ}Q7=xY*wc#<+MrTKI_IqV;q!zWUhEg5hFTejuC9^aJ@Ye#u&kinutw)C3DgxEKz& z_#m5TY%W64EH%M`Q4<>j*<{4jj=~Sr;tYdKvzN&;15WGmyaO@0CmtoYc?IT94Lus> zG>$M&MSGwHi2}?T_Y|pUFtlKp)7U=GE$aj37*Urserrc5J;R+*YC=QrvVZI_;Cmv|)#A^v+v^Wn7#nG`B zir0jGZK0@3^mw5t=O7t6(_Q}&`@ssg?2uI|iA3u&HJQ zbV+hQ6vl0m`xP?ok~RBqC}>m6f?Jf_^G$L;LF8+CXmHCca~yzLv&Ij{OcwWe=+`9o zj#0nr;+v%|zWI>cPqH6GY{ZiLX}*(~FOf#olKVF-ge7!da?3trmE=ZWh9@VvpJfBw zt09-Qk=)OO!Iv-}pRxMqA3XqXee0fkz72<<-=Tg0a|FCgJpukK^q=80^!s@p z8a@I1(JcUywDmsH+$jgtn(KzdXV4oQg@&Xq}dn zrlIgMS@u^PRmqj8Dgm__-kB81~K880qTZO7jD5H&%7Akcn+q{ue^FiK%73n2M1 zVCe7w{*XFxxn^`mweyHCCSGLG$O(#LLx!r*z9uwk!6CYgY{WFs7eB}^jmEGaJ%8os zy-6hgUjT-Z@yPYMR6+&&VL(nJ&;oy+GEh#C3Bc2AGC?T0$vY+hI;4~57pwcGUA8SP zI>D~OLN|MNt(V+lqNaG{OK4B{Au zD5D@nRI^JICWD%z&MJVt6^F`bs|A#v7C^Lc8Ft}z^K{w9XERIzn$OfT4h8_Wl*KHQ z<=fsI0bSeJ2%}egHVjtzbvlMOU48_H=0z4lD~~_*A_r<;7l1ST>1x;Ek0Y9=7Q$@B z8cs(@G6k-EZ7-1Y#Y391-j!*lnNUtRt7n=DRzkFJ5|V9VSh6q*{mHE1M-Cj>XSoAC zjd;LN2QgO_tGtWCu*_Cq1-JaLRo)k>}x-MP9RFk%tm- z5?YQ0z&C{qF-|u?GOSu<)+8~HbhKoBw@F3iU}9a>25}99nRd}IuXP!v12_QWmABQe z2$(VDfnDFqXsRo%WO>Q3yWlbxyhSlw)!kL4?ohe1yKCBZhh1lC)vCoSnOIWIkxoYw zW~`7c#*Ol}JHs{B%GH{~+Ht&-0C~=TqfA4)GWe17$CV)Z+TbJrbxJH9l)*$@_$lN5 zVNq~h9}r_wLHDeuJ3QKP;UE>*+^n2%5P;@G1jx>SxS;%Q_S{GYjE*e>ei}eA8Spxp z;8+ICRlLqp889Dcm1B%ZpB)Q251$GAY&!%V>nN-U+6mELm%2mc z%I<#CwmU5A+X>MM+-SynPfywC&5w(|a}aMy%REzp80R=DA^vS!h^d4-M9{OP?ohe1 zyXV?=C&8-iw2b4uZB9uqlpx39kV?oK3v|_2<~?1mNRi z9#zEl;v>s-rTE8+EcdN<5?TIq0{>DeQTTRU`j;fw12L~k$)lpH{lX|F>+wf!SoOl7 z#m+w^L+`i5#OcCz8@}KTta+vjhjlMU9twu40;(1}icVPAf zJCI01mrH?Lru)L+(l}Q6En0m$j}Q#flAm))X#7NV*Kn+EHOG?t)bcqR?C{sQ?gW}I&oUYmagGu%_?}(i1nJh@e zH31^?hjGtK4w||tE?oCyXH~EA{;=X%RrLvfI8?L28u!BIJh< z^=#0#c~?N`(CKz$BNuFI>5@BsXW2e|3N!({is9>F{^ZSbiJ zM+tMGu(;--BJAgW`+2rJXV2a@EdunqNL^Xm_A9-`Zp{uuxfCvZZWxjs1fi|%beZCL zdSqZb;tG^DmYhaIFS;@iTai(5IKXTCK?g?UUCG{V{PD!KZ!sKfHGhN|zc_Rko6%KD z>BXDTs$dER=r%ho?OX4}j9&HfZE8-!gq+rezc_wcZxdt|X-gx`omAS6n8!AUJl7YD zMVLlOeUm$WjS#Sc-Mz5kYnZ%e4U`Lsv|#-4;FxBV;!hDbMa)!T`}wBL_9NVmUugTO z!ZO(;jx$@Jj)T(_-Evom#+Ja7yQ2F*v4HG~Zj|JWdg@$-n4)}wi*1J74a-1eUT{rg ztb6UgDen`$=F;Dvsk>ZE3ylm>S#$MHy&Cq+vP=*qA}$&#X92BCimVx_aI7u4;<7C8x##oKC9@@?m0M?<@;J8jE01T zy7q#i+-(7Xq)KPx4-0UaDA)TB&7Ci6k60RSW3;Re-5XjaQ8`w~@FPP>li?a7q&5zT zjHajDYq^^V^Yea0V<&%2eB;V71Cfpiz1S9mT2e|SOI#t#8<-Dlwh8Ek01J|Ja2;MlD&;lDqrbonM!m8gNmAKcw_JT-r+) z4LvkIR7p=NNsN+Q(}2@T6=#)zQwvGL{eC3}+6@Ku{6Q42uaA8>EeL{wUwstzY><}r z0BH%0SPVW|*zi4=I%f|o2uh@P&Ta^%2L*9MS@V47O%+*=V*4at1HIzdlKX7}LJxU* zrH+QQDHF1E$ra81<)MF*Z1pyhZDlBF%&dVtdC7*9(l~*!r(4IJOFK0$+L~jFwpF1U z6Kx;BINajMi8gv`{#*?WprD;>qpt@sI(gaFCwfNXC>mGTqb&J6T zo}~#xkdHKE%l&aD>1R(Jfiki<6`f-~l7$OQB3ami!$%>X9RRZ^7d<+p z1WCY@qh~mx4DoJ~?_`>+lhDIlc!|Wr{%(xH$7jW%@S|gk=?elRCZ^vkD6#>IF=e6f zbD@tI&bB)o^HGEwQxtGdK)6PRT8?mI^ceDCDY1Tx>WM_;1MFK;X^6!`#5Zut z_=ZDL_{CiGxJ1@%UlfvZz%3Gz{+K8F@-i30gq`~cd!c813?cbo7>o%?b)|1vNIuNg zHF0!VNJdZ=g(Lwk3P}{t3&{qQtfB^OZ(}<*vVMLZMjw01tHj`o_mr!p^vCj)`_?=0 zl&|^YC#=IF|BGGx!x~>Rl;Thl|9BrG4kj^O9j}3R>FQqjD*kc7&qGR+-618(TPF+u zDNJ3*r9W-2z&9S4J_umCtHG-!%}VfrY? zMF}MiIedoxlQZuR4i(M3XGn>rQS#c0X_Wj!iw}*)25;W;SN1i-WHGa`S`+q$C}sSB zc=t7`qyx;#>{OW>A=rf7lv?sCi*sZu3-esn5)cGEyV2|xe%~+-8MV>_)@kx9B+J51 z1nvn3{v6a#pI{}+#vh~pD{%;oDXR(F|B>}2V|N(%PV8pi#SJ6l^gFSu+E1}g zOiP{$$yXpDI65ICmXMLfM#ot`#;Iak&d2RvyuZB$_ro}(XOuh3cveAw?d{=gu{&sS zxmSh@UtTOC957wyO_UE1P9szoT4EF!;e^%T=>cJsF-G*hZvZ!{UD< zyccxAb0w&&+2z^_& zGch?mPq2@z6AV>EkdJCq;_85%FP2#Ig932BMN*}Wn^oFAV)FN z(CD=NEG3KTYG6efzZ!Nz7mPHDhqJaceu!&c%QTtfqce>!Vf?4J9Y3XZ-kEQ-hx#^v zPDkAS+{;!WPWS2iDLBVoJS`{2Dy_=B9pINONE(Sm4{qk$Xa z_3>QdB0jso0eKE|58|jPiqVA)-+VC1C~o7751{&zy|Fk{v<0e)3fg|Y>kaXP{L*MV z=ohH`mE@=7R&^Ul9N<3Rr(t-l6E%T=mIi1}*-`cgX?w}iEo(e@$0;nA32#l&~`q=x2nW3j3^LCC@naW*$w&8 z_ahJJ2#CtFFx6m{*Wj4axZ0V*$F&7eOyO$j9%kc&&{1p(S5u7;)NuVdP;Lo^@dn3pK}UHr}o-w zuj$M_jXy?oz56}PJS~6wy&tKjkY-BKPtW?u{vZ9=$3OAO*|U*#`cppZG?Gq#`73k3 z`nA9L+rRt!f0+06fBeQj{j*nw^=7Rc0k*NA5dQ_m>&8kD~QSY(rBQ3`z?9Qxd- z*QI`A;%@5gT21Kxkv@!3>x|7)bB< z0L_X-$bGIfW~6QNGK7D#=2LM)8oLx4I-%6iS1KB6q9H6ZYaS99oAJZO_+eB0Aaxpz z&E9BbJD? z+b4y3whR2%(WD?$20KDeDeP*P!A6@9@rckL&$S}szVgDxbkZa7W#@wt{SAWJUF>5M z?vXcxo8dq8=fSFAzSF%i-MZsF6vo z>e^7%)+GlBM%Kr(Iubv~FO9|~KgIl&os9xgF$@Q74pGw2Awt&VdmzQZ(6i0q=iMA0 z!a4k$8v+<^hTBVA&R;(3cdi<0bB0FOg+@)w@R|VOI`83G#x~@Z06|c+vsj6tq0ppZ z=u^_LLnB6j%mJDwKxyMc(niGroU1|$CZj&+ zT95_K+Uz|lRh2S5sv+bhY)gxOxPcf1@4+lz9sokTxLYDyC0CX!q1Pk^8mkp&_qIm-88DFfI#WEc1797Q1bUbE+ zAzOuL8mgp7p@E&cv+3W-W^?ZuSd%SinO+I!dbbdc!IL>e2sL|j0d?8n4>XBtkQzS= zC|Z?@O4?VZl7P~=$tr8>)1TYE3pf|b;xQ16+Ncbn@lJ|>wj>(fe(CELHw5-mAyw;L zXk(&G8y~$_yPpqkLWd}R)AuJ*Y=95$mnI(^4Gi)@iNm_$@s+%<>VYsU6RNzYqC|%! zGJKS?%S$WFfZir#_;3Km$nc%$z$Xg@GQG)a3Znh7fGMNKx96zQY8gS+CHpu- znX=YpuP8M2L}<#yv&KBx!ifk2b~N}I%VNarl8_0wSQkopfloGt=FGZa=$Fx-Oa3XM zu_@<6*tpO!m9{n}-nXnd;F1y0ABq+Rl&(WpzY1MFuenSZTqSE}Zm>b-{+ft>3lYug zYcmN&#S@=Lwd2s-Q=vKY7rn_BKcPVZ8thGzmYY{zUW0QKxA$e8XO$YZ5 z$sP(=D$B6n1z1gn=>Y@acc@67&xf+B6A|OgO4?RDz7UFA(=0C1aIn~PV}bW2S<`Zy z-rAlK=>j;!iA%bsJo(E5n&gIGpvgs{O>@FB(h1J4@`hfn-qKP%?r~SvbC7tl_8zlb ziwBijd{z4vZOomIb496j&49C|aUNQ#$Bnegapp#ISg9UKbj$UQDAkkss+x}u@j6gy z5q3>ABy@({5IaMfkLg9dfnJUdtv#VGy&4Q!-Lkx_GHG3{3)_qC`S!CK}p`n$klO{}*kZgwAA!4>LMF)lAHbuI#IS>;At2uk%32QEa!Pg0*Dds4=P zT-l4=Os}X$5C!CeWf%lqG;tT2=NavqO+kGlCT@;Sb=gb=P0EvbZ*k?YD71K_5*r8Q zHk!P*Vm!!K_Ob03Iba3a)`^K0+(PUE4VB5&PWub~Wn>4a-Cki&*WW+t1BD2uD zHpYBY;uMerSn7?pU&Lu5%*Dl&GyGW-$QNPyO5e)fU0=19r$Jote28ykG$FUT=5ebC zDQ9}Q#c6#1D&HbJAu(J7aVt$}#hM(Hi%Vb`Q+^kqoWV8;F?eLA2V#BP)=1pe25U>A zj0$bdj@p{z+iJvZ^~G)VTU(-63T;8tdAR2Lw&q2Mnom602yv$)%je?gZ5kR$)Dp6G zXcf$c9OT#@EN1cgIJ&!c*Iaq~a=ev$)1-O5I9QHX@CP{~DL?GpHIzzu9$m61&8BQ> z@aOD0pCAFCWUw$b8?HSxlR8_YS+OpQYTdepT1MjF`Pn6{bZ8*&yqPiNj%o1bV~Kj# zJO$Z6>#YzZ63t4{S{yI;P(|I^c;|BY&zF+4C>y=^RU#LIZaX4CU~UhUgX;FsowLTH zRf$4&L971wWGk8UV7y&6q8pTmegZLxgHk{hp=TKvNIxbR5RqfWBdTHPA`o4SHo9t~&vfiTpV79dk80H6ZWvqE*RZ@dYD0+W zMxF&fnfD?fdtt*jckHWV)y+8+wt?2SJH45PSZ2#v267B$Z#f3T-z4JIcUzdwC839- zwFfm(<`hKn(ooI_&&q*JHzTulp?F_aacXV9=QK|MQ4cbvdcHl9r}2n0w9c;Nqa>c; zz+qeRxlgG@>`Ok&<$iLo0TLsiZ@EEHw!_qr;z>V(1ljDJq9U3pNBM)uoEiEZW;`yE zv>#xd+qGlR0|KcqxZ6>XjZd{nG_!~o%EOc%>Rkd=lodCRUsmh|9UAayT&GMBxNbF2 z!ae5fxV}9MqyhBhtsTPW9|)g+7~(@nOe+wotgeJm`R2m?!8hA&VNq5#FaGCE=NN$G z=}XNNOL4LFml4L^WCUTm0U7IQXh)~t^p?(Cx<{g{NFjTLtGPyh5!|NPJ2{N}&>%l!HC z|MlPg*T4U7{Qbv&{GS8=@BhQU|NPJY{MNU=_3iI`w~;KsXJN7^S)43Mmda;YvMlLK z4oa3M2PZ3%mB}H=p-F$TN&>(r7`IsTRj^ynWchltW`--ga>Ypfg$-ZF#G%w- zNeGUz-doIDMEMuIh03i*v2o$VE1=gw+{OjsV;G?_3+xSbZDDjt#b z4Zf^;LU)KEjbcyyaQq;l3qcO7=PsDZ0Ynp)E;f+G*u1ISp5r*?^8_f8;?v|g6>yB} z#f_6ay)~GgD4{vFdV9DzJ8mM5(P^r!ol*D{j#+&A5)fWzr1Z&nhrA-aJ#r$H#@9)0 z(XhINh7*fuc)f|nhkpJh6OG#p3pjm*{nF21vSfq(1P&%4+89gdr9S-^x*(|g3`he3 z?&n@3y8U>C8!HX3l%NhxXS$UpbdsENx{6yg$NBCWpb?r6oB1y^PoF!-uW?996(tys zEx~YX41>@m4=5djelWXfeJUP~(jp2P6Q9ZHVeYHW0-d`1wuKCt23@ox3fuR9fRjV# zx2qp$Aeopgf@-Bb4!kb{q16CQ`t|-V)&PWr2Pmul%f#!GXgGM*Q zO0A8eui%sb#|;|paU@4*-3}lCf{limU}Ft26Raax2}F4dDA!Z=tAw+JoNEdZ+par?h+=a<$(v;{oP!fQJvFQR*P=liZN)#3pm==AXZr}M28|!ty zfe(j;ss!l$y83}k8_j-Q3`3F!{?o$n`f!zY{v-$Q3po^H%7^LoAEQu<-z!wO>(taF?$!3W^ZNN*&B9kaw=P;u`)z! zg`dA-xbLRo{P70b351^EzQRH_NkgHV{klMZC?XU-KjQBLb+s?=k=lo4tTtm{^Z{5J zDIKk0sMm4@5?ok}!`xT|vV|9JVz_L~P0T2M6f#3ZCQo~4w`6V)1Kx3NH^wix9$`q4 zCml9CigTlUB_@Gh&B9D^eFCbKq|1PM!aoefgEQRJ=w_gj6=}>oa?5nEK*nfcUzp%K zr=bv9QwEC;MqQvBaf+JFbYj->8Ccy{cq_BjS0O2r#Q}T(y)8y>*=Q(gUs057ji$&z zz38Wbk;r%jh-ews3IzGP*NCQDs03*;mGw}E=<`$}rnhT<0>_0{q|SqhRIez8Fz1dmM1If93y3}hmz z109MNY!BdEg*&`rwfar$>Dz5gyKBRkOp<>a$act~Ww)Oaadydh+uX3jG*nodHC{v6{6{{x2y90?;h5MgBQdBT(lbxc&(4*#1L4tT!X;!Px<-M>?J3CZk}OoqWB zp@gHHy8ne=xS=;K>t3W0p;F=BdHc`2rWrvOOX!U|!^c1UkBL7J1SW&g^0r1%!O z394SqmhtaT_Q&IPLh@?8OtA0Z9ozNL)0&`Wu!UHOo?!x$+#hDoBE;s)?9GU5&1sRX zIbFZUQnRhh#P&tm9nWj%C1KVi)d@ zZPRYxu?GC1ZVQ~`>jE=#dbjJH02;}Xr9cm`*QIF*zafQ0wQ#2oxkUl1$Ww_S{f17O z{0_NRm;1`UJ~8XR_gQyksC`wbCj`MQJcpk>u%8Qa)80?l-6ii8`Z=M4iDts%G#7w*R%l4E~-k=WcNZ zXE0J&l#lQZ>||1)d@u4BhUWRpeaB3dRy7M3c+Y^%lpd^6PIEIg${G1G6f2iIPQFO8 zBdl!X*h<#AK-LaiFxXdYgu1Wdnv{CfoSQHReE{^EOIF-6Hu={w17OsVB(Kxd^B!5Q z+{6<}g>9k0nKZ4iJnR3tvV;tTZi^Lc9H&g&FEk;n&?L_v#A*N%O_hN>nC;AQWHMI3 zn@AB4BqH8&nioJCGPsfF!Q9N|?IejbFq%?POs!>$^*WZ@SpWx0dXc9@T<3@J#b=bR zP=oGLXFl+INgS?Xc{@#_g3c|th6{Tg!<5wyO13q7Vz9c1(_`2a4s~P=PXm5Tb7>0t zr#Xmq_YbongIvz6BiO_z06kUUk$m_VdZb*TE$(FyDIV`U#XIV!Y;y7ovZ+F&tO;~( z8igJBKu1VJAAc-s%i%F{xhC~kQ`+K zJICSVCpi~^HFzK7=RkngGN0}5CV=SU!o^K4pSkiYP4LmgB2I!7*hkP5u@CiI+%}I^ z%&woz${&VD;6=~qaoU2;=m~uI;I^I7;{%RtM%lrOn^8C^MrhW{%(_8yMhCamj5Y(b zHltaL^^RurBx14t;$~Dj6MaMv5p;-{6Q{F9oMUl59&C5HuMp(*v-tCVp(@-xuwUHP z?bG~~M^tL+RYRlMWKjy|@|X9CaN32J44ltro)JL-|2$)2{bs&@4`08=zkZJtd%egs z`CZO(cwLI{YAV5Q0skV_-xn3Y17;0%*DvPFeIi{70k4J;;^9z~ez%X|A16DCG6g^9 zc=3`jb5ChbdOfWGIRjs((~vi@S2=&+9eTD-><6|%mU6NK!c+KvAYN(6FO5c@c=cJ7 zzp6MZ?o+k`Eau1GTSk=4D1^PC&4NhzVW_%FO)_4ufW1h1vXB~(h`|b7HuRd$7F}#t zhuXHn+e>PX7Gq$p2?Y&8R}kGu0GeACsyRJMiq)IeT;h?ccbOG;>^`MXip3re-27Jhd=DX|^;F}6vfiNw6o zQmo;Yko4CL$oh%42_Bm6fqnJM1Efn@M>tQ{4sR;Wz}OogY(w};Hh~n+^{P!EOhbjQ z;MNizchBQ7o37){7C!2)e~dZ!5AhXnp8~x_DjN@-;U)QVmuxo!)LtnxF*C+F))FO1W8FMEj(%bMu-Q|HjF03% zgbcWe=L~o%kexv%YDp3nJ5WgyMPA=Vlmv{*pwqPRZF8Tq&UWra&KUf)UjO z4#9|W^vtg0wdi^ue>l4&VHcVSjrw_ZoW?_$Q+WiY&hT2MTP2sm^&|gw$xpGwT~cZZ zY)LG`0S8U2a#CnqIA_cgP(KH1+0R|y+$Hdeu9Oo?k2a+}n zc4cU^p^fekvA?T1H}pfRpPFcdQ&{wHnP#nrZMk-Dn$vo|M&ZLdo5g#V3u$Arb3@h20xwC@pjEQhbZrCv< zqL)3-Q&{G334q=)AXj&0r~r3yFMmaOH14c%G(Js%C!V=3Yjf3cfyECGxG{>?;AU^w z1!W{O3uJ|6B3%@#H%iA%=6Z@5*(%i{_OAnLDqH-jyxTNR?T!CO~aENW)vr zgb=B65%Ze;j&3BGsaA451_;jUPJjYes^C;DeHY8^k+Wv+0TCVbDuw8&KJJ$#lQM1qzuHL zWexmW$s0Hif08@!n+V_h*MGxo+X0{9iVT7)3W1XUPR<&383aknLy$e|vY&NvjbNu? zHt@JTeiEW{4-?3qt@0^K--GcVdtgDx1x8ic9kM)Sg$>xEFye74+kn*?PF^+(9{47$ zA=h%&T=Y9U&-Tv%{Hx#-=~uuGRqdXO#xLKdr z_Cap5_#nGHfFEJhP_a(MSiUKOmA+I!L;v;$IK2xZYk7dkQ1(sDnT?GkE*%-IqLLga zA-irY?GG`&QZp{1`@!zKmShStC%y%#qrjES-k`sylqqF&mZ&2}32Z=~3Ywx%=8ypP z#fr#p2qJSK`7YW%LZzWkP-#+GP-*gQJke@$4?y~$N$eK;_2884`7lG*SJG*29!5DS zA{S*IrT{sT(2;v4443MifEyC=4>slJ;~&h*DBo_+STX#Iod+(~dM8RimtOrUVT`@$ zeqCRIs-ic7F|J=%wL2P?)9bR0@x!M0L5ejR{obd^q8tZcH`ZeL9NvdG5)?sQD}iUm76hw6ed{km!|Fc7Y?0D}f9cDlgqQ!Ah1b2HDSs zWUUChroi2b*QIH8k{Fy+n#fZE=qKt#eo01OX-RnTW_&0-X~J)8@y1DKjI8WQ>x4Lz z^U?^(si;b%LzJ%#a2u8URU4F_-WKIwBtKT;7SX$FcKQ@_kC5xz0pbBD+=EDw>G=LR z`HJP91nWW`v|wXNNl975J>?R!*=A*6p>x9sE>X;XMli4PPBuk|HO4y19lu@@xf3Ul5=({37*XB}re{7QeIG<5zVDqoT;rv4L8OSidAdVo~!S7d$Bq%94aZ ziywn=01saMhg^DdtJj&Zy0eBC+~h4V?vMa%x45M;ZAvYhY!^~3pkTpHu(pC9 zd*%8oX%kP=vw7d*Jzm-5MY1D5j?RW!)(Z+!fp;yTnuYq}XvnTQ{+=hFTEF_F!eEF#;UaMcv;(x*7+)0$M`KhT3YLJVaGXu06W1oe96WJ7! zU+VZ}+*)*SGaEq)KlJCGK7gkbrDfkxJQ$Xq4@LmnS*Y#EFU-!Tkjf)d@|7q)+e^&B zK=D5f*tXkD{|wcFG;p@tfb5`+{^XSfQ|z`--`263dk?Bir1IMA7Kl2DNId?jX{G=v zn(J4+uy^k?{0P z02v-iLKLI&$T=#;`ihF0wziF0D{bv9-nJI2wTBSM@E+a?@;LI!h@z`mQ3PeST ziWr{^K7$V&A815c?*IQ^Ywz`)?>lFbNw9kF?a2@3eBarRwbx#I?X}ikYi;Gc7X3P+ zMpKC-1FZ2Eo70Q7zmPWz7ub4#0eiDV{SE$nsy~nUGX+Q$*yt}>>BT00F_K=4`wO={ zvlk3b)q{}k4b*?eSm#qKgp{>!u*<{>3NnDiJ^Ubg08T(Pqy>36F5;|Aix%z+fSeW< z^`M1s^`wQPr=W%A#Hs^JIQVXK>5Jj0qISf!R6v2*#^f~1b79$!Hr6_=Hsb}kpJbA3 zFXNb-WM-j&m@GFWgF0zyqkJ+43KVGHNqoG_DAC2v{KMeSM`f=Rcb+de+=ky;o#q|3S zG^OHaNuo;+n5raBJxC-xY1%{hX=Mmc>M?|$_Z-3@Qw)Ln)fhx@>QpCp*(-J}?G?Wa zczmyzUs>W58?;wM8bNWHt*%B%9ZU~6TaRM%(gR5o#z<9bNqNF4vep4gD~TZFK>wXd z1X-Tsiwez$?n`?Nb*WFLIRWK)>s}9n%9IHNABv%R0>L5ipROV}z)D+~fYt+WTiDN9 zlvV1}rhxwpFr0{S5Z;xDAL&T}Iw9||pEb=a-Q5bg^0aJa@p~Ni#{l|yYQr?OIJFss zz~eEbXK{f0@OSO|W&6nLXv+tJL*5w_1M34kwUOWHyg7~2+05Q9c8M^@s>YUcD~<8I zRaO=oPjIR8qv)p|D@!V_whtzZ)k}h1AtO;~Q=+LGoX-yYFC<)h`S5tc0`tu$9yFrs zj=j<7*{^Hou}|Lh&@&w#G!n27Es6b9)f*{VuSAEBtY>J+8NA1NT?N*nVWVw?m?ownAG&7|$^G z$*cyROR%K{@eU_D`i1bAk|)bsBh9g-7d z!)oHus{($X8^F)y+nL1MRy0(ol*9Wvl7f=ku4hxfGvbQdyR0yRpd767d&nN}?^ zuN_{YCA6A2w_8?6lLJ2cu@N1HVFRY#S-jx_Zh5>TX7ENrW0`jZ1z1QzLy?0R;*2Cp zi~WYck*7^Ii!bsLL+hlx=7gj?-ZJRX2P=^Lu4tfmDONX2mNJ+9D|5^B_c$uTk;?9U zJWsI?(qf>m9w*>tFpU#%r5znsVuy49PQ<&+$Q%qzmt(YusVAL*lAY9JJg2)Q77c&e zWKcWf!@}=uP1)TJ!!PAqGbgfu38|?y#xfe+3Nacqbi#*py^2Zzso_H*p>+!Iec@p=64#xbUTc@b|Nv(zuI zm{+Kec@b+Cq z(Hm#jQge2}w-z3ct*#8hNTo>>)uu>?UEJY_U4hlOjO}2PrapObox`5ej}sQClx=!@ zpi>KX?-KieZglE)fV0?X(*0qY?zE zO&D`e65uHrLfAD{aA%A!OVj+xqSKvnCKyCZaOcs)Ovau`3Z`VHZh5=fp{Xq&;nB>N zA2t^sCW;SRiVu^;2i%kt4YXXpmKZh?4_KeoO@j0HKd}6c<7I%pmB?yDMO(?5X2?DA zTeKy;1$0^V+IVMWUA%=y8;ffDLf(L)Era!esLTj`NgncNfMnc;h?RMAS(3S-((I{} zHK8TY{g8LRP}gtp#PIKN+_QfCa0#O&dFb7hR^E(O4hC!B$|}k{H}_nle+RH3cx&r$ z*8fw=)SewcKQN~=7iy<8w!YFk99r1U#u>hFH_gDx<(thjjHO}8yR2{CUP-Hg4pI?A z-yh9iZr3sYjg~uf6wlzH0~z;;>9P0S5{)ntvwjQ|S!{0-iHMm0L zOrtzPtGIDw6@Zjw+GQh$D%=&2Ib~&+4yUZUIW~B6B##TI%Gzlilh~FD-Wc<7R})^$ zYc(WJF+_N28H|3hooth>@$kAs2llhx40NX&HptP=0t zQkhR&0XvKGiX9B-vavs$V~4W>$hjxXOHADxe-5N@?@^T_#_c`_59T7Ss zrAN~482CKk5C7+}%1UmbFP&qlbm&_9JH#hv@*rtuMZWzdN6wTPGr9TB-@QaHt<%aT zg%=~d2jixMixKO_t{2T|Jj`ZZh!N8jln$fLeVB`f>K#NM`6uxQ?3D}q=1J?*>lYx` zYvUs<@O(7TlWm<-0R@gqq`Xe)W7HbzDScd6X=W*!=_Y+#>?Nzx$MXay#sRzHqa=E) z39#BG)Sf8%fl!Nip^z;1QHwW{40&>XrIa(Yxt~%;+MHF#&HaTUQ5@G#>)%Ylh&sse z{jbiI1B`h{JgxuL$M;vl!j;|S zIpiIbz}8F=7S3qg)aW=-yb)rW!orzzf>X{hY_#(YF&`RnHYFK~f8R#hR_JdEz06aPEKVf_ZATeqEl7>!PwxM!ro}3K&qbu4p1wqu`EygR23SPr41FAb_U?RA35z{A0k192fcS9G{yLxx@ z;A+%jVQB>#Tr7|Ymu3tYi?QD9^{T8Md1cg72VJ6(t!dgxn|NN6o@vRzb2~j_aC}au z+Zda0V?PH3?+wU*Vz@a*xG9`&bNC|wCey6ryQOy^AVZp_c?;fk;Un*hUYw8cUgCnG zoUpY3TU!2fN~~~_f98xlHSzL^QkapuEh76W&fXHc_LmyE5n6>~l5J=yP$4a&=lucr z>4u)81$dB-#0;efT1dz;6^WvL!`4?{J9a5^vMO|y+5s0~As*TZ56JX}GDx{^FFESa@TCHAE6p*FZ$wY?FX@dHUx!y#iHz=OgiX{+-y#KzkHwGzePQd-8=&IcA>stX*G+%@*gMV z5A$~l!1Ey~$jqx`QMfs{*0_rW4xzdr!&gE0J($qAt~8DmeYO!|?}RLql7b@fPvZ`@ zFdyp%Toq+3`71RQOZqB_c?fNx2~?duAFdBJd_*5^5jw|6w(Oyn^WJ73JV59i48(nUww`Y@?T(Q`vL*GaYz+U zfX@ZAz5_5piksxIn|zVg_nFi94FAsKMA4UHsK4yOEBlRkq;ckfb6@qo zHGZ3|S~?7@q*m$R(in_MZz8-+So%7+Y+1@Fktd}D9#!<l42>cp+V>t;^j!PLJ5?jO7L>EjtaFs2?ZOlwNs z54-}bv8gXRKa?fEm91RE*F9@M?gD-#9^2P8e22&mV3x?&XBYN!p{HGoJ(0%LX=HYQz&g)_| zxsq}~K(?7I7uZV;820~r_LYON2~jyr)zksKDcfR4p{iW2kV)hwxRiKVAJz0 zOmxY&aAj%f)9%!mNck4vI8;80U)jo4eC@Le3nr@J?5xMU*;|o85Z$V%{&90_e2%6Y zbVCV4N1L>-Fd>XI()(!ad^VUjRIOwCZd0qcin8+%{LE<8f#R?s)YHVg)E2A&M2saG zGJextv>l12PPhDgO##Tb4$>t6ZEWd#7`Hwa9GOxNxN%h-KwcP!94Ix37bG?ae{*7; z1yvP0&MXVt0t%=d_$y-FxoyP8mY5HDX1W+a+sRt){9e$0on%2ddu1vwTBeYWKlGVNXEsjgn*rC zZ4>O;)tciue*t)8WEjI)TV!+1Z<@JR&cnOcf0d2gcHrmm~C#(%-ur0T74BA*g zj1}52LKpPS%AK^@uem>$)4N_9{r!ja$9%NKNg_Eu4gD#!&=7?Uk~~Kb-5i{+k4Bx| zpJJjTT?L6p#@tJZwMI%fSQpiAHJB_S(CiBuC;Upu6{dh;EE;hb&T~Ozthae;hEfNtX890}i!d5;wADHNx)*{Oq zJ5rhb(Eew)1-snDmu=qx*C#+IrXF63I=m$Y>SEkM8mLCV^_=WS8U-97w< zcLoiH-W|l@PE;yiiC zex*i=yleZZ|0B_%Q$H*s72c%`01PPXPW~T_Mx6XDiEDxUv1H|qwl^EeTSZT)>toTP zvv3$+DtPz`kx8@5&hzm9hz^~HTZCZeZuez&$lQ*_4ub@4i$-oU60iWkP7>J6M%=g~ z8LwX9rgua`&Ul&e)MeIr6|>eSyA`K1=Wvo>HiFyYc>!D-bf&Y3?r)j~ikmd}%{;Dl zyN^m0XW<=A>qoRl3Cwm4E*#4BWOgRK9INr#A!dG>h}wuxL_#U%f5OFf+%M|zmr(wv zF?$|{>8@7CK8k}H{+@Hg<5Y@p){{^Q<0Oov>Il&<$iiaHx_eB)jpT*M{(FC~^G`bX=K~OYPtEdVI!FHFdmSTl9GfYAm`}y@ z!8{{PEz!@{e&U*O-_o3*qE^K)EnvA^dj>=OUJ8ReJxcg9;T_wR&A`aVQzjta=t zoZ|>hj){DyZIPV5c6>j+2QA+dD86-9Dcf*y0gB1#v%*d;?+-mW{7&%Mo!aP%2ag7J z9`E*SvA?bTc_+dC?O}VTcJdv@wi!&mwGRv?|2Onie?pPTu&Jjjqz*)gC(YpeCQy z5H<8(eiauwtQx#Wh5T~ zC+lok=|y+|Y8pMaFj*xi$dhe$boj+5AMKSSS&tCu~`D7oWR>jIRvdn!XJ%n zz(d{*#`)k1*Opp0HKmg*06_NaVqe(8>$}Q~2JZ;i11-fVjeoDFii^9J``?BGV}|VG z)(X5~XD8bqc&-J?FO0#u6By4@-GPTN@Zn_TDtjDe+0Rr@W|M+&u(20jQ(?$s1M=<1 z;siuS7ofl6XHG$KS_`-?3Aj8RfGH)#NmyK%1fLKZ=Q&gc9YW7J#lTvRQIx?mpBqdo zh^qikKyX<=;MdhqOF=dX{%=j~Z8&Skms5orS^}l2-~~|QhsQW^?pGM0vXh|jdI(BM z_{s2i|ApWO>%fb4N6*>-&e6j@I%#y<=;7=V4#STImrf*n60?7YL+Rcefu(l@AdaQI z0La3=*Tcq2)-Vjr=rr2ySsCen6<$6GFQw6tgv<{b*crhg=ITVNYeaab*85LFc?MAK z2`=n-^((4{-XZ)%Ih??6Cwe>b{!}Ti9V2qonw-CF%A+^;+u!!K`7=aNYjoUZ-$#&i z76eHku`qE~Kd>CbIvB7&Mw?5JY9KvR6cdib{fXrFHX$~F)EB*u|5xbalEj+_+=7HI! zk}m;rr+ImBkbXw6d?iCz{@B7w!-b3;-(~QQaH`-3E~gCK$8`vJulsTBpY#1iq)S0ZmgU z&1(tIJ&>8#)P__Z&9HteJ);XgkECbNjc?pqIqsZfhsvB%b;>+Htd%(ueO~z@C1u>~ z&&KtM3HtjNH|F;_Dyp{W0nsvPmM!LiQu5%7JW@&@9WN+>m!Doh&@9%=ou1vAP5AyFL0so#z!2kHiGt~w+vmS03*O$&>kw&c6 zuuL)>?1Bfc22TYD>NJGGQ&1>k9TeRZq9eD|o=p zNz>Z0iuG`9ucBj2>fu{HOk>Thclq7lVARdl`HwBE>a;78>y-DME2I6Nm?rTUj43e> zX?K)PC|K-H>@>GN@^kvFmv@q@qn#@rFN+l1sS^G0B);>Ay&c7!+M+aX>**|gZMV{x z56%B^wb%OQ97`5VBQ4o3nSYG&aVFE=2>#q0E}f>_5S{vI$}T*v?s5gzSd?^wr@8&0 zRdfOQuK5(RB{uKJs@ceY+3U13XmaqF( zm|00#mG<3_AEs4002i-3v0m5JD+e8P@F7n+l*yFJ_pX@l4ss_olsQS4t~?+4l3s{h zNiXqiNw2UQS5m&D*Sz+1uX~+tTVb-KH@@+&aM#M4kS&S1lJH@=q_@1~AKsdhC9U){ zNoUqp>)%N2Ec`pWc8>m?TRTtx&aYii8^ym1YZuinu3b{Qw04>PU0%Dqwx+hWc17(S zwJU2^)vngRYiifj+O>DquB}~HyS{cq?Z(==+F0#fNOt4HL*0?YyA#(TvHG5g|3}L~7pANGV6;+Xt8dpU}epSIu z1TM+i;E;a(mVAyeQ2iJZYVueZ8fdn!*|Xk{X)gp@*un9?)?VIB>GM->jkX4XRvXx#tGBju#ZO;~(xis(8JCB$J=CZKV@6*QB=NXMVa-A?xjF+kST;^ z9u86>m}m0Tq#Y8;q{8ozpHD4IFwE|CrQqV6j}3InFk_ko6JpSU%uJGE#vpHjPB@7Y z*lGNl{*+!FBl0P|qT7_#0pnW1*nLK22D#j7LV@54)QVa^BX5xKjo^dRRC`7@n_y)C zb zN~`67mRqB5KZj77JkgRLM4W(Ll=-eo#btk)4bhqt0W#io7x6w6MV$zc^Ny@2hyZ4E zo)M z5FjV;o-f%{FrRe!(D&g)6yPR73U~IzD)RUdAI5qqlW-rF`-P?PGuVRq3LdhgKR{mD z>^~d$@SWkG)CWML*5Z9^BC6lsTj*&hebd_t(Cyg9fYo9Sc2K|y^4&&CNTrq4EN>d0 zkC8aPc&p&i=7h>ylIctA9xpad#q#;PpJ$R#v3{EEYeSg1hX`Q;I*N6=5cthyv2KDk z6U>hspZ<=4c1TzypI>HG;~Ceb8k9uY*~V1#eJ-hAL`DZAQhj0~U}xDjCkE`cP|}z0 zxS64RCD8FnVlHf)vw3Mb2*_`kumrxb65 zbyJs)wu3Cc9$hr7CeCAm?t z2Y-dOW(>`?EIogz@0d0y=2k{QiAcZ(+##?NLo=yW>3ja1ubbniKS9eckodhAiSJF8 zVr^4dcGwaHoo%yV=7_)}2LMbfZNGnaTG4xQND~t4{0rm{mxa(DkZj+e0dT2tZos?R z1DzMPw~dx4D;Qa}fj{mbEIiK$#}u#vtJ!dKa>gfRCW-~A6lR;e52L6sp&!Q3{l>r7 zYv>C)n9w~WtUo32HiL!`-IG@4|M#<~ZoOmRXK4$VjNTm4uT`6ya>j?e3qbnGyFgl$ zJT(=)b7k`9G*+(8w8aw#$%@X^sT~674!ZcMLs8v3U!$>meu7wKzHoI&V9S6+opu8d zwnAv`=EzrQhS4W{Qbelb{0n&CQ-~Ui1FhUgm8s}YR3(kJXnAYBZ^tM0!9cZ7>>qcT zSVbQHkxeX8(FoB9Yu1t-M@+S5M+8?@2e(EKKAEpJZSWMW>PJZMx&csg${33kM8Oz6 z#WC6q0})bVp7#7DN7=-5{W|(tZJ|PcAh4j8<)|ZpsHh_g0yL(G-nRA`htzyc`U5>j ztHDWGEzjp4Bp*VWwl7~q-CJP{#Wh1)+(LEfa_)j|=`+dy^4|;sRy}6kZ zn@F{DGPFs-0J*Z;M)!CCxsO$1ft1;6x#$TbH5ltTX!n{tm-Wi+>kDq?4vKWHK`SYx!(`wF8CI z#w5*kUE7#tPE3mT=cFVlkCT$J(Qs0dBq+0Tx~oG+ZP^jfYO!yENJL%IU$GF)UxeFLO&4_iato4E^=2 zMou#Y0li%-Py(E)K}>o70Z(rJxQky{Q3J>IKpH z5~H{YuH&V~y7YaqMq6CdXnIrHzqzgx6_Dws_jP;+)}XP)*e{9hziN~HJdGU`gR!T% zzJen-ks}aYc|19}{$<>djr&KVmqnwStte5+d9AR+nu%<^Jj3kUm z9|6KQpy3K|<-0!LQGv}ez9mg>bJ`k{rnkYS5=RYP%#mfvx++?C%0fywQj(0lMj=3R zOxrbHp(@EC%oZc`#V3^c+CcqGUijG=PBhsL7`|+jaGaU~DHh1> z)ol`iIC8);B5aIUU?Nv2SJ;?Jw)~|trZ%AmA-fMs;OP43{iAj^Zb{Dq-E_@uezQh* z>l=wG{4-x1J*PQ(ulo5Cb?SP-;R=f0_@#N9}KiR+OA8mF`U5w+YE&h|(=x6|4hMp-;(&q{EDaO_=+Pgz5=@;OHQO(O_h}541L% zz5}EMWsO+5C@q#5SeQy!1t$gmTvo*~pwtu`&!B&0nld$o{1y$>VR)2v?%z0pa`YFr zbZlARyIXH6Dp!Kpf5jr+4$XN(Otvdn446ntq4uFHT^wl}5hjOd6Jo_N6D91x!A)h` z_)x&(+lB=UB-T7lBOIy7W*g*2s4=g6*VQ0c-X=a$fn`{@*-=<9I~^yfmBD|s(&3ZT z;V6%rl1iN(r1F@YX3~nwW11Hh${WO*I8bX|_oH-tfpy!wD>cf6i&;mt0`;VoicO;u z955cBx@+kn0yWT_XlMrrMGOXVI>)TE5&peZQ5A3F>Nv1)bfef*@k0 zmtbe(T6pL=SmdX@VwFW&YB)@~uYxRzfnG9gktV+U?k717fGCyf5!m4Bg=Oa#;yRI_XSUPA2)ejk-4!kRHhO?4%!Yt%lqityUuMalBT?{*R?XL% zl5w&ntg$YV%gHE-@BY#WV#DghRK?P)LJyM20_YC$Lo{vdDQ#CyPhI&_gVrQDna_5GEO=~nkkF`K6g&a}U>3}P>y(!%H!p1JV=t``q;ix1FN z>=%xFW8z&Yxh8J{lOU=qpWq*|8CsY!XZA`vJJ8QPh>TQ`Y%mrOvifFFsJI zv+dN2la)G=dU0YNylnTFcI*H=N1;2%r&fatDL;%I7@Wb+%vsC=w<|vuL9hot2q8ca z0b&R+s~-4_1i~-sbh&P|-c$0WWVl*m{Xll5+)!2vS4I_=NmxZEAO#-MhC6@BlD?{2 zMLYGtp6Lw?S5)3JyH!iYVa1Z#1S14hN;Br_0h;-&+-lXVKhmw$US|E&+r0U6N@F^^ zTQhS2OPz^v@ppJ=cl}*}QvvGYbB7+Izq5z-(BFAO*u3gROJdTSDT*h38aiA)5untS z?8jKE+jlyU4g@G()Gb!pWY>B+H=t@@Z@(NCwnW>R}2y3MrH72MMa8#ziCyp# z$0lQXIq5GwA4*#muW1K3~4M838eU@47|Ll5cmmt81)IRDjZC|(~~YP ztk4CDlP(s+u4*CLjk9SI%+mdJQ9f(l19V5|-_TZVaGJY{L)#>!AppPT)X$^r0LucEeK zfZ5;7q98BCiVR+OQ%`K|Dk2GNX`^7YA|=?sN>;!X-2un3LHvguP_~L$_%3>Z$(Ui> z-2BK1C?II{gVB@GVGT2IZYl3dvxoYwDa$l|A?7y?luaf~kU3Kp6YvtP6^JA2**aL} zR{q7Vy19Su_jWm`Z-{wg*>p?n)V`x-*vs*P&Jg@@EBZ<4x%A@}{HPPft#F=WiS@oN zv_|ke)%w7AH7>Hc&1sM{ zQy$(V`b)zb#g84sYXLG1uiG#(_?V-~3<@T2Ykt5iw!o|Gd@buV8)2UC2MFiY!$*%! zJ`5VhjA?5a{Y!o~{z22Z$z$aDsp3$%k!l0ohI-8&h>6B$&&NIP@q6vXI5~di@xw&d z`yyg){{s#@5Yck=q51RYA9V1+h?T?V&_fR$=7%A3M?U!}PdVzSqZTY!uyEnRqZdU6 z?8Quf{Y(bY9e3RECwLIubDn$Ri6=hqc}t&0bFN%%&?=^{QUA zzNA;tKdRBTgi@qI1on2yH!EAYii^ms!h+A+$ImY`miGEnT;JYq)er8>Xvo39I2jf7vJ|<-dy8LbZIpBTpH-<0XDRf>+ntt!VN)(<1okV$ z?iTjFLcVo;BUd37q;N6mV??bgfag{EILUbD3U>-&b1xSUW6!S9U@xqM{*FdVZozt4 zkGPPFqomuQU)q7)bTlwN zSkdrDU|81;F zyXW*EyLUxNC%b2t$nGd7yZ3zKPzQcz$xiI1y6WB&pg4Zv#zQ2waE%b812D4&^fYVaOb#vLN;;PQ)>`Qt80k8RW{-KCnf}m)u$?*GnXZIgna~+Qqvq zV01k>#-}SV!j*<}Hp+{!_yw&Q<&Ag%k3l!WSw7gWnFvvzWFvwW8$J zyoHaimzdjtPh~mI?Vd_&3vJ0R8JYo$10vKhXr+~g^NSXZ?myaAcv2BlMkPAl}!K9Vi>UBW69+lah$_t?0wal1?S0 z7U)T6XHjk6m!YYP+0)q3p+0ByVb+v7g(^9y22Lcm6ZM!gT$x0FL=v^smmtxR5{Zr! zNK~WFe)U`i!WUkXYphA#K!>X$`+>@M=ow;5lgLm2Men(q>{gvaX6hmSUG76)YUFEc z(?*W(P|>OZ1wZ4!m6(&@w@L%&S}byvJnmK+H`?tSHccL#QvA;=U>{_wY(wHI_-XVGMxM z@Qnc&HyrDLn~}8%?#&grb#1#{cL>a#(h0Yce+Aq;s~6nx-6_DmQ5}d9yHMG~6}aKx zLh@)OxIwiA`9Yv!iJTHpS28Rp)<>B=Io(sO4{kmuJJfk~7?qrC9WYaxSniozzH&zC zJqf3sR#pL#K*C~Lc;qQMN2!rL!ki|Cu9%C zgS4Eaf>4}DCX4PmjsTABp`xFS1Ug)(dO{DO>YOO)LKV*>i$Yb>&u+Qp(b3Pg1^f8{ zk;DGD9p#EuzX$e90wRZfZV%WmkCG0%nZcoL%O1S0d5pt; z!G(_w>|F%dY$V$bio@bqY;?a2f5^BB^!GqHcHtc{JV%7NNK|ELw3GxLiP3moW&%!E z(jVm2v4iy)On5f~VoZI8RQwybGHD7PM5-H@$mb)1MS80uSY~UB2zFS?2uk1Wg`PwN7d9qA2LI%!0Uu9I$J8IOXeU;H^`{ zpN|3SDxI5~Eh}MTQHgm&gK*Flre-ReA02y08*S1EKpf{^wAV4eWiQLM0a0;Z!roo< zvP=&U$Kn?l5aR(y9QME-b1a9_xZ}lmBC(BZ6|?Wy+=NFPvR-V%%Mws{J+P>bEY-&5 zf>N)HQMoUh?V-a$vyr2nx)GtkF13j7jK9Y=y9BRRAElfG?yJBjf4v%A~>o^a!FK6J0 zdq%T{U9LW}K5G?2@L@7|IcR+tv<{|QpUDs}?1S?Mn~&hL$LY-{j`%kaJTi#a(#qh* zD1xWnNk%b-zs>f$laDs{KP@LG8nU#Mzb}U&xkGS}&iX)$-|jeDOVr#d$mGaCc`hoC zLCWInWm3Ci`u=iVRZK$^e;cdGvi?-mv9naXD<3_Nr4<4woe~44e+ih}x-QQ{qub1~ z<-zPcyX$O#+%|89#6ErGrf4U4vzgkMCwNSCxd)v=dgL743d?r2+H& zQE_c`Xl$dM%1vHx^n1&EaP(dts?3B-MQOS~us z?<`aqfGt`u_e%drK4?o!584vbgSJFIu*0Mc$deM!OB{eLY^Hs+ZHU|0|In7#+SdMe zX$-;lKVxFP{3VVR_dm)XdH*9moj9@Bw!QyNvvLRBmqY8;2H=kS89lbIE2E@uU(E4Q z)Fh7Z?d#t6r|pZ77Pc=9)VHr*1637cs^(+q1ke>T#w2f_UQT$h$bI|pkpe;o2lw1I z-)*k&9^CQ6CGJSp)7TW;ad}DjT-nMsd{G;-S`Oa00f!1;AkW3twol?y(D@{%xRmV+ zs6+5QBbxlQX&c6oz{Duwh|aLYT~3{5exXU#CZJg3 zX(uML6H`f3pR|JEio^L?(V!!M>bniI?P>yt48=g&Ex$v3fPkX)pzHs@*cO-h8a0?X z;%ijKJNcRzjq$Z%GzX)HxSHGNp+D1bM`?W+vPTOyTjE`M8dm7$j;9`#j6EiNB zQknBk0XLGY>0%@qFEKDmf{is{Bx#oqQ&zTe6{jFp;Z(L|CMhkRRZ;xvB6qUIlNbo4 z5^$GyphBKpuE;>@;G$!@8Ws-noO){e@Vx~!mP1&&EaDu0ZzX<5IN37@poM$E~ zLSnGWxu#P^vO>rtfn^G2Y~cVN4HD$KIv^i0=4qx%?s=Itb8`z#)E@*IGSP7uV9;cN zk_{?3|8~i24`8)Rhi7I2Fvh2}cJrKXV7!)$i_M}USVd_9#mEbKoG(uvziGS_enO9{ zn|$T^Qy}2%K!7JOFwVI^Lr#;Qd7p;qG1UIOK3|3-c)R*vXm$EFh6{70(LDwjkQT@h zjHUGp^2)LlVfUq+Pqxns$XuI~RtOKzqRB;;5@#W6dRQSA7p709mIMMTr+#}?255Qi zr&Zaw!w(0*9r~wK1;G<=m%SNQA=PANP>DJFM2Qh_FKsM#V`+1=^`KlHORIZjD_6VH zt{yROY8w|P*c}XKV3y2QfW=~K-zh0(D(GfaG<)}M2f?X%cN3kBUHhTi%rxb zx0&)7DsF0g_o|!ia*@T|cL1LOZQ@Jn{jUPRBqXmY3ga4+u1|{M-aK$@-%*ehdf;Rv zfcNWIY^`atUf6e(Y^nxxCQ)WbVY66UjV^%NZ2#wx)7T68m;5gM0~M}@7qOEeA|qwt z=k-eXP{{7MEEc}Q^c?0b8~os=4R{X^4Z(jH4#c=>Lm#*fA0GE@EL!x`ryX<5F;9of zFr9|sG7N`d-MayQVK@uhog2$u`m&dw^oqO&8slB=vDjEz2lOazjHhcXniIFDY=0zN zP|D`C1(40ea}e{&R&LU7Kr{baOBDf<+5ii9bK=1R3JW6Iv16lnj&@J4w9ApD6clK8 zJ=#Si3-a5;L_OHx5_~x=2u^k2mNSs;*VyT%8V!QlcGl0}QNO-!wj;1bsQEI<*4QiH zTY%gQSOw@|jB>3j7Wj*-MS7k~n|^bP--=WimT_SlQrbqbrYpAm)iJbt_tE-)DTbCT zXKCL!6ksXWUOv`vun=icmRin=7F}vtW~cRiIxfK!=dIzKZbd2dt^tl@vEj)Ly?*(! z4N17!{)U-y&fr-cJ%9Pj82tk}j~*_lH2q>LTZQ7HUPb5fd~&dcV~6_StEej`XJPg^ z8@AbjGi`T8fKRhFvI_icpxMvA&B2lS0RPVRzjOH))G^+NB6U8zEI8JyM(56W0*W8xd&BhAB&^=I^6 zALw-xj5W0>?v=+j=MNaF8Z_A~2>FI+#B-=MHAlAn5*}}3VpEDM-OS9nL=M*P-JgRJ zDPfNg{zuwe#pYDef2Amx#6k#ym25;e1{iJ!gMV>e%m&7Sf*iDk2~rFOMCtOug}3o; z3I4=~7@LsKgPaMZpvx)oJQlDyo=*_LPL_?@?}~!XKT<)gI^*P+QwAPE121xucYDRE z%35@OHY@NI~Acka}LjhreTf(^b~0sGDZb)u&Y zRjkq1*xdK<9H2Q*d|62NRDkPrvH)QCkvcbs6~6YQs-c~cM5WU8@S>Goq(k+VarvHI z-r227cGaSNf?q~z#vC{XPNWw97#~t!>qF6`IO^)r>6Ar|vi*0noSJ}bZm$p=`v0+c z!s_Pi)896q7k+Lf#-FSS&9#4S?|R8dpR0h4`YsM7r^p|(i6ga6p4LAXQqtE~e&`#6 z5}>}wpN_ynf#3vhDy$scqjC70hAPoryLsNaAAf7MO6vxW!%(_)*M5c4!(RGOmcIUz z-#c?Rl~xOI$;RC@bKO%*ujE^;c_11nweuLOPd;!)BSo2*V}~+qey%39hISoQBU6>6u$oqEv28>HRRi%K@$u z%YLteUgdZ5wE}I^N`k+9<%f*4d*I@}3NGArdbux;?~?@030mkaajtJi{aa1Gr7IXX ziBgh@;WpOS9)@YfXNMa}c|yJujW|C+BgFjjO40B2D#`xb_ob zCH0Z0k|?R29xoWH4kS+j%!GhhY{C%C()1-78)X9wRzUUFEC24bJ)t@)L6{0U6l5 z6?!1+K(`b@#4}EgBThmRJH}UN|b^9D@v( zxs7ZK0j^=c@dvHrf;c8o{b7#74u`?Ew+wcQUt0>|m+u>Xq_D-$Q??A68b5-BDwqrF z7A-;T^`yzVK}4s;#M4l}3DmS3Z*##u61Z~a!D`m(@xAfkhh#DvCy02w^}-}AjUJJjSZ$3M5?^I9uM>LqvP`3 zzhp=L!HE2rM5O8qiM$?OG8*rc082+_E|cZx=y!hs@cS zh3^Y-IUCHA6721nzs=BZM`4^o)55-aGC1-MVktcJ8OQcLm#pvDzUO4nmZa@qIXT9U zQdYfKNoJPz^_R^k7sTwj^*)EdI(KID8n-4aX@2GZmv_0Hjc$HVPTSMA0=&{eEknpO zOtcHgq(+EH7SH$F+w`;qTHL{C|8ThO3Kh)nz_{BP>##M^nF#7r;U@;a0tt^;(!p5% zm&IV6rlDM6KLL_3SVridHd}Xv;tTQ?;RqIAb~~;{O|^O2;BhrcjUB}Cv|Bc*F`g?b<6*(#cur5_IX#W%^gJH?G*bh^ zPh4^u>aJ<1NK2@p&WfSpYh|eW1G*d|x~=HeG}P7vJ<^O#f) zEfz%Y>f$gucmg|E*!LXJ+(CF`ZcULA8CZYwi7=+fZN9dgn)U*funJf>e8oyiK1sYX z3#s@fzt;2N8=vNZ(PMlkvCdJbv!@0oX~R0q$~C2R47iVg0NgAd)VaAki;IE2r!Y`U z15e+>oYzeH!f-*(G^N{iAmcw3LU;VV=z52x7Zm$@Sf+Q&dZ7Q!!N zcbwCR6gk#9;uE-kG;288;)O>iVhV*$_|x<^4|rPv@6P~45-u0^J=gKh{3UV?oCe-` zVKyTnw37H(@k1)}jGEt4rGXd*J;TfM!ip#?XU?4nv+IgBe}-FUL7?3JKn93^kMGmR-3U?! zGQi++-GXWm;HHvXN0NsTB?ke*>9+HXc4aG9adC}R=$(tDS+()3>Q)b%2OCGyUaZ(^Q55uUP7|?%AzD2oRVIU8bTv9-k`aD1Sys%#i z6TOUNJK^DtR|>HCn@tW{BReqG8&fnI4gQy@^5&LmQ-hrZh|11HJ{#&!fWhj58Oa8Z z&GFDXbnXP44kdn1;+0rOFCK4cr%$$iI9euZVD?ntZLrg>1a zHZN~x^K$hv^5|H@XM5f18a6^n;#q0X=Ty2Z(v|lKc2d{6fc{qG8|U@xlUr;jX*drN z-+(0GLYa1?MC|jr@dmB%Ot}j(6*sz-CW0v7X2#&uk7`qNVzl?|>1`SPOS=C9jUpnh zxQ);Ojkzqtl+c@GH|S<0vC?gfZnAa&7OIY)|#ihaTDsSQOj|2F7aFVzru)#kb&$~lUp{nCyt53iyH-E0M zIf6{4m>e22EirvwOSJX+14yjP+8Z=S14|)BS1^i&10*Ua<#ibRNl{PX5i5gqfl9d+DV8J5N$955}xu=^VS z?|2J7^7noE)cUd4rN~+ftIc^U_S6Rna*-hy33BP(%A~kvs63dTLy!}f331`ldIYlJ z9<_jJaA~q+`rBtd%e+||&1btWEArmH;Dw--9$V_yO8f~vhPB4V;7`j++sn#UuHkzs zYhbx?u~yEWR&^^)p1yo&0PA{yapXVYA%YT^S}ViZ4_rs_FElR3_F+COK{HZmA48>p zyatv;hMlX47qAJE@ZutC2$DP}TKR0zKM|zpo4h)1JU~d@OOf!LS{d(o(UN25`RW>l zq03@fM5h--(N8^AJZLG3_S#~(=9U3|8 z;1OXk2>KMVml0q}x(Fq8awNJoa>{0t|1`&^z6tu`7}dvX8r5?&DsfXVHVz^Bqh151 z+FbLVbgTiCcPP%rxh?n~z;$5o(&)WHf{0%XuwcBajW7IG!UaTC|D(m zx;z^78H58ODGJtVXwH@`k#;&HIVGoV)baiJ+_r|O@^wL5+<%I$%s~g&M2BDR6UNNf z4_hVo9Bu_N2+_!(8-9DOwd1{p8_j2Htf99sdn9j>fZ{MJz*qZ&Ft@ z)I6h9=IKr%%wO{+Uq)yfrtFS6Ssy@n1Q#oIr|P`P(LnJutS4rZu=uDPqTteMyp0RC@a`Atk1ZyUPq)fHZIWE zV0BqiSV$97FQgB~uzex%2qO>97m@{wa8c_@>gIUILb9P6*(Dr+tdi=Ux7QCvU%rs& z;FTQZg<|l6ACmhW$)O-P9_GVi``WPJYse)c_(-((Ih(R0)L!sYEV_ogN_g(zNUQE1 z&G|nt46n#74qQ_SvX(e#wSp+8|(X{f>($lM>)FEDK8&rK~0OC~5iirlv)$+uE zmAdFAry;seb;Z%9X!7%hqxpp<6VC7F*oJzw@%d=u3)TiN7foQLHny-0+5WrD)!os? z-PT5@@!t#)-(wp&|CA?2%k*1C(h3E%&D!z(9c=ZR0oAR$YLj5@s8WK9Lc}m6xGv&5-0Sx6#+_oU|36lq z=4KL1WQV3_c*p6m^GxBt6YNZYB>PR}{Ed@A_wK{fVayWa-HGMb(fRG=&VO3ze6UAq zlLw<@7fULS!c&sOv+qse8ANg+Rzd5}SU}gsYbLE?Q%4u zG@k~&_UQ#@oJt__L`i*>C(eRwU0Ym|?pL;Q1(zsTf$|IwTgukkRozPSh`8;^J6Mfo zAu17#k8w+Y*bIZps+rV1pM_^S*s#XD=IMIJG-S-Y&zw~+r@sZyY?&tCl34i*3d4MH zN-9C;7ruB!dO=Z_k`S*<@k-1o&sWH?mEWZd@uP)zl16RFRfT%AGGs(GQ2jx&c(uM{ zXeN$1>oetLa~Oa(CmIO1!z#BJ`yioMOsU8%MUqJJTEj+AiQ&9Fx^*S!Dcavm36fGW zjK1U&(`&Y_h&Fs~A;l7Dxc7!Qq8~yQU!fIMRKKe#4IF7>$GJ0xf%5T@QN<7s9iUdy{H_lO9M*$+ z!1^yy(qZisyVo_3b6Btb*EFF!1#20t9|!;()Ort4KNuw)REsJIN=WG*Cv&>TM-|i$ z2LKN00X;zdXq0qNI~9O+&5yxQAQJf3+aDFQ{;0fJe>^~NVE63->}^rffi*||z-vm^ z{llEDdzyG1H2))6)(4<+y5rGZWEXS{()|+i!BE9T@8E0b63zB4mN#PvH{QW3DLvyL zp&>=^anfF~aE%3?3Jzwbd<8_&^9N2D%0i(R%7nWHqNL-^ ze9r@K&-6JyZ7lUTO}tTargn87F|s=_65)S(|24kXaR_&ldZ(3B1~;>Ea$i1`z+muo zn$UzX);U%9C`kohkCFM#K~$Cs-P^4Ykqi40y~d8Ky_T$0BQ~p;ry6k+SyxWHt=aiz zbn3IC%!Xa!ZNC#GeReDhO3Y4T!uNhIiJ;S+9mX?&!gyX(plX>{={?SEzps+&>jwdt zBNs=>cEQRFo;1lqKRBl$69b#2vl0CD8lU52*F1&zcbEN^1>gQ9|F8aoNdM3MefrdD zkm_|WeadQ>bH4H>`p5abjUmwQzd!P>@RL%nSo#&uyrK&mbwWjPKA%zPh{`jrG@t$K zXFtb3c30!`^jXReZ*6=5POo0%w>G}wm9JX<`+x9M(mT7H5lQ>P`o?RZ~`g9lPM8 z;;m5Ok?1%{t5vcwb8ks(4-$U<4hi1ALmddC{+Zrw)wktFjxm{@r9*&gTh!8Uwr{Z4 z7J4tbKT<-(*%df)8f!VSe|2T7>dY%(tTW*(%?)D)#--3xdIt*vu{m*5*|GZU z=+Jrc^&B0J(kK+aodJLN3rPmsz5dcip1-$XT-RYj8cO+;>YQlV=h<6U1v`GgP^gS` zNclx2jL!Cw{y9bZj>0kA^Lh^VIvYfStxQtqS70kv$Rt%&5IJ>nXT-cxNfaUiMn3cC z5=bk;IocD>Ys+x@2~7bUU?(X)cNG{G8@$>#ls_$wR%XG$JSNs%_)4Xv--G6)^HewN^jmN=jkO zTy!N{AwIUa1%WT$VaUSRCJWf9h?ZAG7cRV9QR^X-Ulm1trL47)h4}Ie7cRejLlQ10 z;R02#pl!utnxTnq`S)xX6q+HVaDco_^zt-7WFBQ?3Sx+BWIK+yx^A^B(%U-&R7V_| z0OKJ4K_Ic^3mPeAEmB{MxVg;m2Iu^AA@^7*V}+$8G$ycKz<~Qnj2(-+wjn>E7qGys zCfOQYRapCt6+kcX8OF`UvWW2B@{4W!nsz%eCuW$$>mos$@la+#H&vQP1zAayEtBSw zHnxw(hiYhRl(R{sb`Z?brI6>Fqe&+i)I+r{;_mt=>I8EEyNI)|bj_&)8sG&54;^=rO+d}fPFvCvsq@^8!9lJBbboLf$PN>!Z;=Jvx{W00Kaq! z6d$TIgbGQMh3G&-n%&6=16q1N8&P^cW#c29#GXKYywdhr0&-#B*nn(=N)>`OY{bXn zwb5J&#@j3Hc)z%k8T)@_!Zvm-&k308^3iO?Ih#1B)p^?5U@SSo1viwm z1#`PIV(Jo`Gg*!%{Y=2K*=hJgyO+E{l4 zX-$bkSpp{GP-qInbq2M@859=1ZFlU*#>7skIC|J9TAy9e?D5NBbHUr2%b-=lvaEb= z=Bxh&VsE8^Bv8N##vL1GQ%*Po{+gRVXih|pd@lX@z?1vzpJwz$SjnqcXI*0f0}X=i zBqjF{6*d#1w|5m4#-|n)z7(*ysPK=Pvfh${7I#_;l1bBOK{*ANDbh}g_kt*wMLY-v zPG5nMF9#H!WB09s!UzO}uYEx(`9ElsWtLqP@uTstM&o|l#aq<4QDSObPIRZT@f>b~ zRgoqBfoA)%Jz*Hb9<3#bq^BPRYncK_dFx(} zx=U&j1n=Ktj(!+}@{A*IEYKtcy{tp-*reFXp`Nt^GrBlyw9~CTNLyU>{y`-cc>`#T zDfIj1&n#_xKM!oU(AyiCduYrPg@+0+h@8__5&2;{uFJ`MB7qh zoH?CZvH3kz>E}$I}X1I4vDa|!0V z?ayGBuLW~pzCFrBrC!ghH1ir1I@tI0q6RSHC9B4Z6@pXDWC1$wl#I@ew1HOE&SH}@A}pauPCK}A2hxLZU0&{&?>6_R@zoa60}N6u>?< zGSBew{oov#q{`U4tkUcsV`#!(*|U006m`$)KN1#Om10&IW}v)kZdV?n>pGY_D*VY|7~+pbdR9~S!XO`)R? zPC)7t{Scs5dZuuJ=MmdCi!0))p8frS_2(?4%}M`#TlO5Mxsu6Hmbk zah_rpxTKzN=97p?9)y-o_6?Y9s2lRu#h8C$V@3{bjM=w54h_9BMWLOUQEvi>>>ha- z@Nz-cSt!Ng1_y*Z{JLym9gALkX}(0g*iv^vk2w{oR};=re6OfJHxcv9#4VVRMfBT6 zInl3)Q07qS(rm|H@~iM@Q(kd&$x%(@;sErr;1^MagEcWduqFm<`kHJ7w9+AfZz}sR{AdVz1p~!Uk_a{+hyBJ+olv)wu%BU9jAGe(TJo3xeiOGUb1~y?G1QIG z{TUXcL?=L@77;hnIzP=0=*x%vAuondb^r{SKjJ$^v*;Cv2N_0W2ZlPQ)*ShC0`E&K z38%j1#EyXX`3iVQjMWL=7uf-Q0v)`)6L?3bS5@#fX7KJ~ZFmMYx9kXbU#oy;d5^*2 z687$82l5Lv>_J&D>@lpQ7xwN<*!ux%!%?p}xg+3xw*uY~W$fM04itD|;O&#Z8&2R+ z^MMHfDS93mINd_NZXn4c4HcL{bDom+{EW>Uf=TFa?oCIA2l;%kp6BJ~gXT1@Va@q0 zwoiV|Bu}6!=|cK_2rtARN>bu4V>rH4hP)tFM>QMyL*0sVA<-}6=Ajv|21xpD5hfI zM&t!a0GVUW5_ks7BX*?If@A4lZDZFi44Z)tOE#A*IKz@CwnmZ+WW5ag35@ytrPbP^ z^L9eZU&(f$7ndevB*y0xvME1N)@dJ%l*?5KL-9EpK+JYyDHOps-P0IM3O z+ShD9R2Fs4i`p*gFt~+DMoJK#9|ax4R1n?FqfD4iNsN0bDcoGCcxPBTstbv2M#%Kz zvU2FnGaDE44HEz)Su6=}h9qmTLqR#iq#be9`~xjC?a$c#5rLPB0$?|1v!_mZCB(*} zWN5hv0p?743=tbRCZqM4$M-An2l({F1nYs-4q(%6K`qB*+kohjfXFZWVz^Cn{NeJX zTowg=QkeTS;};+igb_Q}2e;v3F?vM|RZ9H50w%`7LeK(*g<4k`cZ#Cx4XMzWs5P~Gbajlx0{LeRDq{eRFr_J%R02 z(JKe>n8Gb2#>UDPv6a4Gp}wzc)Mp(E+@4H~DZ`X9MNLuHF;Sq?GI>U&C9peMkQZZD z=;WGMzDUXnF!LeXYOh?iHSJm5-rZ&cK*Z&k-^#p{!9Gsz+}vega9#;ew0^K+k^Tf& zVq`D*(t-x_9x$hw^Y(!2oEX$;duq33v7}7VdLvG$WMptP4r(I*BF2~6AJ9@XdR{cz zvPO*q*}6$JvGb&Ul1*a?UqM8sa6_D8_gTyx`)W6-2?6D8 zgjc0nWOTAx14?z5 zM1{pHoEuLY9vUC^IRsc#A3*h8Tqw#Ee{tZ(DW2K1GG2|mCE*w~U?OAcF7?V)IxVt3 z4yrhJ9Xj)W+bkw@hL zlJWXy_H16sjueBtSx}+}Bt90ob(B~KnRT8(C+2;STxY-i=)}yMBkM!>cvK=%>HfFW~uDifS>y*L9Ytdj@4CB;vVEaG?Hdq!r@y49LFdZh?uw5A5ED26G*hXNQ zGT0QUg^=DbO-%>5k5_=R+&Bfx*=;;{XE?B9Zl44lbKcnUfN2V- zY|W5G&$}_D#hPG03>aoc{f#x*Jn!W@1`M;4eu8}HV>Wcwj2?jn|Sc3xJ(zEbJCSE%pTqoj*^4Q5&Q-JxR z3IdI|i^ewH!A%M4_W}ZkwO3H^_oJl43Ue*UB4CBwC(qo;FYWL|bii8neEv~D;IQ_J z3Z9IT4r@6oc)r8>i4Q+IuvVh2e-3;eqj zn}S6@w84j^caFg`;Lh{=;b4?5V8Bf%$*=(CxV+P_P*8Xmph5Evz<`#USRxS=4Wpu6 zpvWz-3h;#$fMHc7fG|+#?`yar4@i-4~QfMN6yyh|$Z!iv%h+^Z_!B1tcS1F8(%c0w^IG@%$liv}>REh*74ihH(tLcF*W zV%S!S5YtUdATO?f+yaUpT{+;|7^(BrnLRAcH$+M2sb>9%y)^}PU3KFyN0cDlusY=g zl|Y8^^_>JWNle2f`GA%9ABC2KAc8)N#tWifbvX z;=WW>UHpvJ6veB?j*)J~xru?*Az2f?fYr^=m+`bRtIpErc58)O=rE2OxvFQ|LesHZ z-_R_um07&(6pM|kRg?@WcirBsBgu)5Hba=N`|2}`Cdv!F$Eu0)7+@z^3}LvI2}9Qn zD{U%NG=dTcEcEW{CY$Roj#2%aWm~s&s>71Y;Ul2sknQxbG@$9GQ+(h~5GdS=nW$ua z*9j}kz{~N7ajwYVI1d$`mI8Nao);5mnsd)|#iZj@N@FCa#z?XXL)&YgzXu-k_j=(w zMw8#ew(8%*Ds@?4;Q{kffC7v0EjF7h;IiZ$w6g=?a8ab{od-~Wj#IB02XuM%Imoy-qsGkM9I&`I)4}K4|6vjk-cGNf`&ogIdSqLhHr` zbU5+{#Zb(Jf_zNh7BHXq=pQ7iURQbW~ z;BAvCPXL1Rg_(~MRem^NajG;+9C#|JZ-=Pzc))4-yg`+1r^+oQsyY2sj@vi zssyMJEzbBpsL{ok@sE>Z=G#3d0aae3GU(=&%vB9S15K33^J9T3C(per7{zNB2?xBf8aZgVIQ0zAH zl;rZs43;}6p2=U01NYer@>jfwC3;6d`-ojmN8hBpTk`D2yk``mPun7z-3}~#GTL=4 zz`(eDSXgt`PGTW1XU9TX%@jEazOClK!KVXO$AS5Fx_C_-@FZDj>T;?@<5Z4b?7eJw zI#SS%sR*A5P+bawF%mr+G`6~vWUWnSdsKw1K#}TtC|r3pk?ImPVn=go3}k*bAaupR zl1C;$#DF?Lbj}31OygirCIe$oTpsO;wM@x29;2NJpiGn)(S&H+7?JS8RUm`eMB+ef z88uD*o&=N6!-hDR9vVHoNdXcpc~~P!%EXWeC+(XY!{)T;Ko!*!%g+aXTqNT-!nM_c zF7bkpusK>(xnzGM(A-^t#@tzn6LvmbXv)JcA1mHd>93dL>X)OWn-h!PTRc`gfU}Cf zD}Qi^FGI~_!JNoJn4;1Pd)tEdYXODNRxiiZd!wYoTXtOCX?V>7dEp_yH49|_k{$mC z>*ZQ`a=FEF7Cg7oCp&P_dfAasUYDZ5ZA%xU)rW@WA9N6Gm$(;Ax#Z!tg;etT@OCui zo`eb0Qpv+*OCDQt*IHuUTDU3g#1o(Qyrt%?_2QSjUxnqMafsZ5Ud>#ccdHg%14Vk z#@62|X04l;I-vTDfWiZ+InJVY1Xno35_H-^2nc@6yq#N`t(~GlGx+@KXxnqZFd#XZ zE<!v;d);SeTKX zzGUT-%?ko9$NURXmE$ZKZZ7OmP%~21JTLB6+yxr2e~e}$Fo>K7kQC~Gjd8p@G1Z-w z^i&gSm#XAALnl~w9&L`aL!Da3tHwDz1zOtUeC6r@z!^;O8aXn=bi{s#AF-#?GlY17 zDWZL9!E`SpHqbk)527z7+&@v^#xoqwK#N`SvE5h!<2h)t=t7awvEA~1JL&HVMw3U^ z{rGQCP|>lBq6DZL$h240ygVlqIm7!ji* zSd`Rt$arq0HK1FVL97lCGF+&PX$WOB_06Rd$s8k?JAP@cwSiO>tNE3X}h zU0ORFku=r>qtsQ?_raaIIW*;%DhY?vtL$R%Y7!|!f{pkSA&ZHCtT=m<{pIsbni4Ex z7-Cne6k}vKHi1oqxdm-VU~9SR2j2gkxDK|M5t2aPD5kMsH{fH=xY6bmC)Dy6_AFx21E{qgP@uccQ}_)rkX}u8uWrLs^`QX9jRNM7 z=%Tk|a;Gp6hEtg4w3n%h?wfL8Bpk4&k~>e^Qgw1KL)9R6KXOOo9z-3-UP>p2Jif_j z1&0PvfgCICs0wg(F$>^r#-LGvUc}D!@j#ZF1&+pSI2XfTSg$~ggINAfKQa$AbQv8F zY>X(p7tC3+a)rUh=)pPHQ9Zcrr=z4ZeLH4BvtR*a`nYgeQt;UyN{8xP)dfc-F$E*z z?o5H}7+0}!uR4uu8xh$YLXUm$u7Jqt8m9)ld}V9^;Ghi|3Xae+T-djSZ+=aZJ{)iC zeoLiEqp6!NsVbm1vS_D8U0F`|RJuhBcXc`0PF!41a)6c9n``+|T2EgMXnZ}vP7ZR| znf3H_V##dOAkh`Jpr&nPTd~6niuN_n&d9YydmFftE{xW~`VQe^IJ*RysTWq46ph~u zl=-T%`1Zu&)2iyo)Myk!w)hZxKajmUWmX-v?vEavGTlggpo!YpI~LVm%MGADNFTSK zvq_p?CA`((&y2RU|4jDtcjYfc=(>I%cQaWv+GFDA zPfNP2fUV{1IU@m;!w+XcpIMH6iSNDI`S9%a-mdf84@pX#4_BScfKF1M@p7^oxoPgg zwU12=vfBJvo{;7&?vS&!QX!5kH>fAD48$c8S&<_osg07Fd4Pn7aej=zIYN$abdGQl z`x$Q7m4f<7v`1{pw z6cxFGE?M(CTecnvlho|DAJjKg>t8akr2qfge=t&=Yep)>8p2S;PlS2XwJtf;(VLDJ z96nK39NIM~yxj1JBaY+;frL*%C?Ns~&8zO1V=Ru4HYo%UDtxe+qX!u}C}R|DQ7=E~ zBwl~AeEIM51{4s0+ojeF{6*zb#H}T}6f-3@)(qyT!Zytjc$K%Jm91RG_efSj+GeE@ zC7E#*wnc7uM|UkQ2VR`;M_di1=FX@zhXjmVFx7-LtGgAY=(*hWG)6GLS_{jC)eQ96 zQT0}HRAF*M=;$(1YlCR4uRV<1&KipKUk3G@Xv9a3Mp$%tMbV-w z3gIEJe1SJmb?;-AM0im^nUwf$Qa2;pl`HY)=Gb7~k5DWgFsa?tc}~_AFrS;78?4DR zgR-M=UJaMRQS zpMa6RA~DZV^U#!YWwUkrl=p938lbu*^CW=^=IW*pj@8)YD0D~sNZf!RH1vFWMP_U& zbj;S}(Y9MMU#7N)^CZ~`r~=(yO6ao}u@vVpWxk_m%G?)YrQwsN%>D5F#rkTdOfzB9 zkLN`Qhb#GlABfkAk|os0QP`2odQ_u=GMpCe$&?uIFsd{x_Ldc)k;jB&b90&ypk6}# z5clW}dd>yz=k(qvFi zGs5~GTf+ca&D#xw4uj%n6BjW<|QK5@n>NE%4q@is*Bz6#7<7c7aZ;L~he zCb(VE~uc}p?9$jOlC(X&WjjUi#ml)cKRSI&qE8ZHswc);b_&Z$pQRl&iu5)Di4^rc1pqc2k*vijn{J=+XD61(av8m_u`m2he3a$jG0H z$!^OBPI*3|U+*tQMN_D|fvvXJCM*BA|87~Zww0_N&HMb)BAd8eH!J@qV^nVCr{ORi zo{|4{8tSzprv|slxpua)Q5lUU)8(1f`7Fo3el|w#^La!M{p52|()ANM&KAu9P&j4! zTz{eICkAc7^eIdk+NKborbUl;2UHIK@Nb?TuPoD}-Ocjo(c_n5R8EhF{;tqtKNHi^ zG})=3ucCfTPg!|^x^n&%GDJ5~ma683{Y37P>HK{DK+}>%=*nK%Cd>Ot<)*Z62N+I1y&|f=7bTti%MsPd8usgK4U_f| z{x91@{>S#+L3Rx8zsVLa6~UGp970-Di6l)ozncTjxp~bGrkABFFujUs_x%{rmuw1{ zP*YL>{>Q{FR5j1$6zpSoc19$2=%#fsB^T;U#h^^GMqbdB8w!3HJ^FTqFmK-cIF_z} zY}3mEFpRL3x`ip}`|yxt9DQFfv~L!udV-4~6L2So#255mNr#IH>$e=k?zPA=DSET<#7=u`K+s+Aem+Y^l@`@GiJ=k z&1u(RlL*{r6a#NADk1P6g2?rCWeNFMsxhhd|#$Ua@M8 zC>nE3=184L*8#ETL)%^R=F685qxwe1Q5I*6 z?dW)E;;zS)sQ)>5>p*9^)k*WQ1o{Rd-KxLb z5vig)>6^+X?9)%nb~vB)*+NY$oU}DPI$~Ja5A%#l|GmPxN1~*oyd2j3DC|QW#AYim z==Yp}z!TO-D!VlY!16rnzrpeh%kT^O@S*qO;EWkFXL<@cCZJ0h=yop}h&|)n0n9e% zw`3nWj7)Q|5aWY0^JLfE)K|6ZK3uZv^3cDrsg~`!l_oah4}Nu@fYCB9JU3wT;ldjr4Ofw}Fo;nmzUmGV>vyD3zNVm6V)7S6K_8e2;x7ICANIZj z&hDzpe}2E238AgAfDv?k38Dd85K&ar%(JoU>K{c{bY0C_$;9 z^&aTQ-uqQ~`o77kJJfFFps5=AfQ39nc9`5@8)SwwAt1nibHA-1M{K?xxQS zdU;c8!q%|~@67RFfC^hz?Hk8{2vo$cJ8{ja^{h3`b{lX#|w-scNr^KfrzMQnAtxfL#%i{RaG2!^M9FCDH z3nI{A((KD!`OM)Ra*>Fg&1Y^$5-?6QU@o7cFKh@GtYLOtWuy~`Ud~fz#zf=90WD!v zC*M;S=r_TfIX!@F8^Y-`nToQlh0=6I^lNO%4~C+q9Z*yz4=l!Bx3$p5RD4}Gz{^Fq z*&F0W0YP{Ul960XBFUvj zoReG>`;J%0S9GvdpL)ZC%Ghptij^^k9kWkCCYYSyB$@J|Q9bz~=eV68dTZv7dZ1zv zV4QWW(O^}K0^IjXXK1_^83yBn<-!~+$UT#_M^DJAYbKiG2(IjxU9Y8s(blkFPQw@Jlee*i(c1Tz@&

      7~osc=b&X0Y|TjRA%D)#WC@=hb`>6Ywkofkz8> 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%0APhf06TN=T(avmgo~$x-_)X^o3Q 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

        i?_ook}52g>{`epiX`m1zQu3x9_dL(@$eH7PY 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%0AZF-TeZ)$f**{Rc! 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%0DcYf{S^2i<2P6EtaD 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

        mO|t(zsi!|NkHr#`nw&8) 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%0A^Tj;OQg*_gZ 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⪚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 z zj>Hb=h|8KlsY^fO3pvZ%FkDI-#wrGOhV+vxvtGD!tjVkn{G@^hA|eGFc&pJ$1X&0j zhkUp`vu?O^9a!^*JdteC+#xlLIpc?8va82sN{EtGEse=;`entdwz?YMCDv?JViPs_ z08cUmM;sp(N8E1a4>|hi;17`!vF?Xs?QnKYXGLG$CLUL;`9t`sF(IqHJJ5?_)1X=9 zWAiV>YG^MvCaE1aXj>ibA$4?!5Q)d_rLIjK2j*By&*I4 z^S%0Wb9YET!*uQrjpX+8DEqmKj}+y26sV4Ily&}v4X}n33d3ME_l!ZY1_ykSQ|WtI zgfo8qg#(sP-ROJ__*VKB?qpk&5ECdyr<{kpBS27|x^c>#a+6Putvx(k-WXlgF*V-A z?QCKrLGzvL_|W_9tQv_{(@VjiKJuFm!P^yZsxlr*tNh$ z+;FuuD=S}^TZ;AH;V>8jlXkWT4kZp$SP}4vchPPPa3Q8)$Rz??>h#Ugg~J_vR34Qy z{5J|r>2crXeO|5Omgn*Z$3bDu!nq}bt4qg-E`?%1Q&&BJ5K2MP-c z6Yw9x^vZeDs|iY}`rRdrpu)f~K#{f>pbQiPWY)bgm6JHYUUqF$#I-CQBHXmQYBaAw z6BRkSccnlI%1{FwUiy@a{s{-#MAct0;XXfI9Ns(^BklD{Hi3qTQrD+Pn5RT&1? zfU{3J{DD{M5#FM$)OsF}1FuxLIyF7V23)BpuiZMaQc*=>$Sd{a z$F@tX)SczK)8SE$09&a@BErQv?3H>9vA~2Qpmr>+k*`!PFVTD(4cDL}epmI83PjTRpgmFw$+WXa+Ja*dMlYPEo4`qO7O@dU zW5mPM`XIMs65_M?7*n>e^&UFkV~f0y7VQ@@kA^hFXY$>X`Rj}bwDTo?lhI+ggTNKP=(vD}jC?MeEu(Rea zks*{SR};%i1ZMDnZd09lfZ03}#v@oXDUX+|{={VKn<=(+g@a}RqS9$tGpT{B@TYAc z@-*3uZ32UHNbVC50q;_Fc9bet@$N#!EL42{hLcqo__O>Wq}u2=gC>n`tgSkhqxJAO zUt!`6=0u-^1-aSj3*GQ|44jt_hX4-moXut9&TR3i})$NpD`Ypw%a_lIjLZMvF$ zU0mzqw(Wdm^#DGN$zVXqG9JicK7Y( zH>?GJSf0w=-j_3dUuU0Dn+4)rc)}18nUK^oF=wPN=w4Wy1lAmrI>iA;oL;O?!4ao6 z;ETA^Dfel<-7#eQ`(G7^fLpThK;sW_$X`hz=q}#;?{G7Yxdr>N_~E~#9n1?UvW23x zToPinUpYKL)+Z{wIX%-G756xFw)og;^mz`l$A7QAoz*6p@568@tHr*L)*kl$oGSr?tm?v?dMtstd4wTVyyKqHd&v z@iUy8IK}|J`4op36MSSm@=sFt#QZ1HXP7Jr0m5Sv?swh{XP7uroG{28=^6*i zM*6X#jPyl9@)0~~{LN|WSD6OoF;G{AQeMbBI(GR36|4kD7{ zge(&xdSphaU+UePxI%P&J6=AzC~HDqXApf!HGL8Ha&vdw9IIw+MGo2R#wlr+2{#KO zUE}YJOlLTb&g~sDAkN|tP!$91&~zD7k<4-o<0d87O&CE5awc)MH+fxAytV15?|ctD z$+E6VK*rGBO=tZW@Zt8XtyGbuK0GO&wC6MHHieC2XpY=^l>Svi+DJT|k_ zLU=O5smtSOxJb511WkKGJQ7W0ufz(ck-d~ik9kfANrI(d)rv++?KJI1zs$RTydV?9 zro|$QiB;jJ5Xsk>vj-#$rl^L;Qr5V_gds7>I2a@1&Z(C;Wm+Aon@-OW8p{pLbP_Wd(3*nAV5q{LM2Rtl z=$E+KoByN6iM}zQB%xL?6V(Rz zyg)ScxD?Ud;6pSFPT{P8g-r#yljLsJHxtdgh9n1s_L1a3YBdfTdMd z$)cg?29fiHTO5$1HWl(?H-gtleoKw~2Er?;rOz_^)<}N1UPlrvbqFOb6*AQ7&ew2g zJZe1N$nbXF&`J)ScvoH^-C|>3In6lEQgeE|+XrFTM9oajpYh9k**>Z|U`og@TPhFm z24jke&$Yl`^h#0#7>G9S^RA3GH8dHxHQH>T$cJ(fDPhUE zq`bByArCFw%HaAQ+l(C(nb8SIDAHE&YKOwu@i?yi29+rN&Lf$3dIIQ>JW& zXjULc10gd76?;=bkURuZSy%Yd)Z*4)|JC}cugG4~wbMXh%F~@W*)!q?&!qAgypL*yR^T#9x!l4_KlJ9%}7Iwgc zBk=E;8XVVxvG-a0agN3iFgg&q55QmWqaBr@hp?^Ef?tpb0bCNd6D%>TMM`0|V?SZ# z#uE&16UAxr={Ui`T&?nm%}2kV$RYDoK;F1-P#}4gj0okx8lA)^dz*%O7TUpr=Q#v8 zV+4A+fPRO$Ra9<)q4B5*rd||GUh|lVhW?2Em9m4eeN5AU$F9+r5{YzY zP|Rbw2mAuMX4o8`n9Xym`W0lu!>sn+G|qPyizD@)8w&5R9Hq$+tp1$i8SPQm)w0=~ zt}y_!9m^MNotgzPjy0`c!W_0usBDc#=^eFBgObTEjicmu*~rh+`yvl0FFlG+RX)LaJW{?kr z>o-iO@IA2UmTFD*I{4J<(FhCZXC6|!_Ql;hZ zcA9NwijSS>?HM0aJ#HqJfb>r(qGv%dLph553M@bw4=%CS<2UL~U_z}xgk(x+f?6;| z2wb(e((32A4ozm!KRFSLzHJm2eQ6f|Vd?Ksz$Ywz9vqq|%O9nveECa85~L#m!keuB zzSR1s$y}Li>mPVbA%0;kzF>&w3wTa&FLcVU$om1^f&@>F%!AJMObCsi3Ldd&YAcnS zjy5b0`kwR|dORS8p!r}iw^gSw%8|4~V;h&kSjZ8kdZSd?gHMW5xx;^g(@HaZi0(fH zahe%{vJHYj)*!O7=Iy&8z$vMlct-6^2LH;48xsIL!wWZp!U@C&Bh1pTS zkhvjGvRqHa^&1k9VPW8n!>~#YtL}4TdCVeaTAES7Di#tQd&FWyd$uex1qPr)icTR3 zatAI6_ht#WjWqM&-dx}&PcrVwsZzMx9PToHSF>EvA=1u#0yxHJ< zv@RmQ{*iNnCtJncA#%+?QATO2D86&Lzw@}h!vc|wPR?{cXZkzV52{Au9epmppR@cO z>j$SQ2kGY=f5-Y!>wTbp&hvMyAGO|9E6j)Oe1FG;g<9{ra`hdxuiT!vAoGrEmFKq% zB48jYURA&+SmrouiUNidu1!S3O(~JUd~B6+6baKZA|bwDB7rYJ{!4FbM4+S@$ ztCgv_BAG|^9hNzyZ1q2&h9PjiRBaJCME)f;e*}fR{37r9 z355xj;)J_)9b~3;8zA`Rd4=`&{Ry6diQ-fcHMBfm#78DI4s`0V@6 zcfRXg`|Y>iY*bq1`S|_c|9;e2opZneazeBSa6IkqgKppM4#e$6-kaF86vCCJ9gr6a^@?<;%=nPbp7G}H69D3_}H@b8hzJ@nB7 zsnfq19e*sDMLEBn&n58qbUvlVZk7puxG+4;@_NQfw-pOO^GA z8g|Lkr;ASaRt(>W9AQu^qBb}N(FpLx`#sa%$i|g1kR+l=5TM&}5k-c!d7J>wpN}|m zw5aZI+0mkdq;=<;WO-dO0k-jCti<=@I!8IAg^VC}!@pH-`(hC^?4+&j$1<+M#wX<;9_$P+PS$ zJ{laBnd=YQVb;Kqh-{Q`Emb2lYc|viCV8#$@-(X>UL#`v7VAZU3rV_UDcO0HKc3B&s^45-TJ8}=fby0mn(U)KV57aa3}2J&RFyWP$u4HklEgMw zm3`X#Hb%=-wWFiTK2QAbn&Gs+=51zu9no@s!2!1At_ftDEcYgy_9bt{P`=9`oOZ3f zk>#`uVjL|_`x}SLIPFf-`fxezABp2PWjO7hd3%SEqJEtNXQ*dWO@&+&PWu;c#ZbTf zAe{DZO;JBB2lYeew10O9IIN_(Lc7G#@e5UG5vdA#5EXmK3T>(S)dkh!TsRS~Csw#WCj6A9ey+uT93Qi7 zGu3a!RVlX-6d-!4SQGs`NpupQM ShU|K3mk-gFFq_I-!c!RtX61vm=v}qv7k{QX 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

        ;D+O;VN1Z@SeU{ibes)Vq#|He1qn$n9}GC=QX* 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�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%0D=8{bhi0Qc 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 ~Wc>pae-111m)@U6pe!%#( zmNrZJwG6dwsM~Lg`-d5dFl#8sX{oP&IBhd5$=WsZuNO9j2b+%aM8TaHnX2%9A8$eF z?7)v|$2iQJH$QAQ#%*S?8VvRxfLd0n?bPD#zLlN9CXCnL+Jb#w6cR4j_r)Y3t-W|8 z+-JWRg$rrsMI@nGd+|uPAlQ0~^)frnyoe-JYcB=~CteMzg~dZhPP9fEm^abNXkfx+ zbztIHS#PNt8Sd_B%T6Xpad$2~s(o7_qDTQ>GC%1!jjN~mBTUtU{`sb3j~;D6hs1AKil2I zTc-j;4Z2J;Lv^ropeNibl{2X2V_*UVT_IZWyO*%;r(>9Of)0T&t^i-gB6Z&Q$-DML zzWK8jJn2rYR}X}|U!y05-!>TREh8T05+dYw9>x!)9x6bgN65Yl&%R*E*=j6FM}(Rz zsDK62i2w^tc_+|N@Ua5jrQN}a;MpqR6Ofrf>*?tp81C+9>nxuHVzXNCX*51T!1=O6 zdvB=~=M z`|2U9xuNnll~jKFP~Y4(?E;}Z7BF8m=?(T$gR!8!Y7Djnnb$=u?H|NR=;7^6v-<~^ zwXG`8osL^^y<_!+!4C_#;^&Qt zS*w4%80~3QX?v((rdGXIccv|E$>+;nypHvb^n~&r*W0Fj_wUEOO zMCZ~p$5TFr1wM$B53J}In!9rDg7A=m9vKEXi&4KF8$MjfnZh;9_Z|CV+#bfEaIyc%y}8|!UqJk3k17@^777A zZES(SRxDw9q8Dg}`-TQz)oNqw9!U3rP#%Ta)7jp|8^?paQgmIOlv-Qb$C}Q*AzmFf z#G4=6%Ey4+=??W^sj%%H7z(%6piJz5ef7(>LawM2itS664hH=&oPhT5iJD+9=@3A8 zh*vCYoov9xdIIdFHsFKaf;lqSqb<6f(uhh*I{Q{ey1m17kuSy2miVqK~f^^l`k?MCoU`eD}U2YdHYHSGTGQ0v00 zq00LSD=?`)Mb13f%wILWgZ=%1!&Hy2z)payc-Sl`>+TAiYgyjg-qEIA*s&YznBT@0 z2{ znX{lRJDGTXTD$F`k=_@NtJZE_uZ7aXX1OGjdMotvQ*8RlU?{9fI`q|tMzc< z25Ir)amDf#OS{^%3q=01?i}vXBM8A)DSNOZ!B!l=&R= zQi7iqor}}lKzPxvZDBF=4`xKx*^_dHYyxCRW6{1$pEC*fC4j0fuq0(gu+Q3reLVv2 z4(0U_ejkWMQi#kAhSEw(8|k4(p6BHu#q|!t z5~QCGV3LfZ%ewD zcJo$%{uj5wbh!u%8RqaW%o8c&_LPoD?HmF}c!6y9IHH29w=d~^8 zE4VBC8&tYG7KeQHA#0+%z@WW{jM7NoieRsNUSGHT*r8`ut(LY~6)JIF=~8e<*N;E5 z9pw1~aask}4(7Cjse=mCg>8cZjy1$>wULm(no zVDkYYzU><71??5EUQP6ltP1y;g9>Oq28bOGuY-pAy1PQ9=_<(T9azD>I$41l>{Xl< zh@Pke;XWZz0n7)5`j+DB4TM{=T!F0xWkX?AJn`N#1%1Ht>;pYxKm$GyLB@bpwkqIzj>o`OQYjG5 zOw8!u)F$uLXF;7z{Bm! zLdBG00n1AY<}r^24gYnvhYIo2Sw>Bf_L3kC#Tn&C2mBX?+WS^lUf%yU)ZGxlMEg=6 z4P=r2vNk@ z2avse9i^28N=rCWD7uoq*Df9Y4FcpV8moC|tgVZekn0tlN}4WOId}HF+4C@S>F!Z}#kBn;Q=Isj`w0AJ2 zQ;8bK>D`9v`}gQ>ECNcKdd}I8=CiPEZ2EK~&=?=eS~<~8g|^;A=cWS7Iyg3axrI=w zQ<5723fI?hAf>f_7um zn;X&3S}5b@4>u1MD9zj44$W)pV$L-+B%9TG)!T(PtNyZnBE9k}KQ{|Nl}o-^^_S0M zJ@349Iqx_C)?x5EJC^sit(?DT<^0)v`)wW%cP~#r__6sQ#$ zbC55O>I=`Iy!x^5#;)ExvDeN(r7Cu7Zl0#k&a;&9&QO<>HFM-9_v}lAA1P}Pe8YzpVg=Z@9XG?1vhA*SIwWl zA5+-C;)!i?3%jo`Qts^*V29}ON>Sk~8HPCINq7*FT*CJRUNLgRNxv0~@w zcg{B-9lez@oe|qY8jn6Fx%tSX66U`hu#xgVE`^{?`IQqJL%ImmzL_)%&)bwekHyPbgT9fbWc~0q!B<;9plW2- z$3g4S>ir!<18v%^uYNVbNA24xZ`fwPjEHk({|Y^Ms6!|?i&^N9z0z?bcxe=^wahNM zv|VO~7a*o5n~vgIFe|293+Aml#DNU@kj z;~Sg0+;oEIVW097I9tXU>qK4Y*WuNy5eP}`>hUCuoG8#E^U?+Cfyh$zLfmm6_Ol9Y zc6T3YlRRZVN$)gXV{SF@3R*498qzM{BuND(;ZJ9%HMtd_dVK{ir}0C*b)SS<k7cUCK= zKQ>N0#(|(kMOy^GbN$-cijABN=ffu=3X$j(C#$%-)4U^ z_ZxG+HFu12$2xbhxl3rqE{*M~*shG-Rk6D?cGGOCyDX;lPsO>2#$Odhi@-Xfq(@44 zy2LEuM19o84JxF^>>9_svQ2bsz2$8iH^WVL=jZJc`Q&A`5YRJnTje6#CW@vD&oWk2OTY^v zI;!s)CA&snRP}@1>)dO{RDYcvXLdZa$s1Vtef{eJxN8(`n=o><0Ig^RS8sL3RxjZD zN6G%tgLT$tz3~8@{!jNV_wQqxc$Y1Xt1*7Joo{x5xqsyCpLz59`u{9y>=#B+8{{d| znl8jH5ea->Vylm{^Ezv`Nv_2v8(V#SoD*&DcW;T3w?+@vL%lrsz0nrh%b`#L&N+LX zy}A0gdlUEH#GS+%T*3asmeUpkOWj@@aQ*a$F-$aoumk^=#hkP4m&@ga>sufYHxpOK z7Q5}DNLXsv0U2Au(VykHTF({rqdCceNeNtMP4|@bJe6_}cYtuBvlE=1D5{_2+-WZU zh~LNVBxp^m)1zooQm0{2TjDxxsw)Z8)fg!EJNvGSBLmU&lB3PEiu29*0`|Aq{Wt6- z0Tp&)VbO6Gi1;qjVhlGX?xwumn2))2hI@aMd?5NFq@i?TM_c@1kqjcoNiJ^#aX;t9 zxELo%6ZB}Z=>=z7<($1b=6V9bEYB!5@e7jJ{;{s;Uol_jPbPtc`m|lX)#LE~DB3*% zcZiI5u$x*ax}>;u6frPdh~s(Uk$BGtWigmUC!<`>VY^m!qMQ8w9>0Ik?~jgk{Q|$g z-0xj6$`_;K6aA15GJfZyYw3`FJ&jboD~Y<2=n_GNC0uli-+#yNAMyJ?`u%CbGWw+7 zKjzZ6J9O_TnH?>+Y4KCm z>KguJHr0=UhMm@M{Kgk_Ql7 zU@XOWYfxj!w$VMv4Gq2}UTPiOUy69<>_hPfY_)rz8{*0!^(71_y?WP@a)Ou_gM;9K zEL$8MZEltuggEw;+ab#D2usi&q;@;o+pSpq&vGZIS3X;k4B3vhgNMBX4J7PRuB;Sw zHmOefMgJxx(F_rDQA6ZV>y1JQ1zuz*xVRNNv`eX2SQ_t%5TUW|_dF(sa6guEJEuPW zZ-CJr)QF-c2OwJ%N2kGQb0E3^YKIK&r=N?oqePAp`REOFmES#kia z1>ci;2!uSJS96D<$Wx^dT?e_nsIk*H$I(sxinD>KD&Q@2Q*Z*Oznu(pz;9*E z1)(^VVZiD~NV-XR542J(SFZNQv|1i3Z`Y*tCR@?hYZa}ihX(NV?zdM`ac%)!z*dMZ z6EZtP#0L5^sobYV+m^HKT%&X>@M09MkeOM&UvP)#T18{ej$AMpU; zR|?^s(L6=$Ml_e^^QgZ9sNd>QnC5Yx0TOjWCOQwkj}Nk!(d3(G<~5!Wd4AQ$Mbz0d zaIWM#aiyfuX2KZ@DfN=1*IvifJ7T*thOT*J)43nS_7ndLM7Bz1&@ehNil%|X3~;E! zY0#*kMG%Y27?-Qqu4B7_&DC+MF1i^5z~OeT+|BkKwjZ)R1UVS%0_x%sQHH;K^xMiA z)kX8_QM44_+NL99GLZDa26l<&<#YBf`*&z^h1q9J`|Hg$#3k3z z65WqT#Ce+~fA6^1j*sQ_{iSHn7wum~yEb+|$+-r5Jm;Q9r-)(wzdW|4!G;`)k`dlT z(o~Ou@V+Mn^yeKi2vdmbU0n;9%xR3~xovC)<|Exlx0e{X<4V@(&MDE$$Lry=<4ax; z5${Cw6&s;m#B~KpWAn7=0*g;Fq$1wmUg7q42iqa>D+V+@Gxe-|S_MZC0v^^K=F)ezMs~ z79-oo2=39sV+vjr9gS0G+V9ozWGX7@)RLW2a(*Ar0Iw!H09Pm_|Nd}v(m+R>6Z|^q z1%S{4SMh`z7z}yH&FW1Y9fEoF<0y6gsI7_)Y1v60`}Ztf!1!!m@cV6dv6t8`@k=Iw zdwONEzn+V3SLH?SC|hMmxmB*$_0g92^rL1En7cW4Z?p#-!}?oD397Rw{wK%ao)LS} zs(R7YCx0#2p9=O=fw5?CFBIJ0boOk){$lpL*@b3{-5Q6#PCNs*)u|SPrrHe*w4D{( z*UY{Fg}9Qp$JN5|vD<-PootfDUqK2+c{}%C_GR6ENaAnwIGVyZ!mv3&X;g= z#1T~S)I&|-?4fj=t1DoqU1KADur=o=x#nb&O|e$Ez`52*GYE+YWpZ2dYn#d2v!5xW z)LaLpJ;~zesyMkz2>c3;B0lrtNjVIs4Doi+A+6a6?C$o6(K5E9cZBoaPj+@pEXv}h zB=$vfpZA7}YPex}*CcSQ!WlsUVL;A_qaBk7M^abmamvTV=#aYTq8!AQ$fs5vj>*wa z%ur54CO>xJ_5lvi@Q$Evl5dpShnEZ(Ec zThV=9tJ&E(7zF=nmi@iUe$Zt zq)xA8;yNQbtAO{@lA0cy;-+|+ORUG*A;3R!BIKP#x5B<&Ux@&)V}ou7v^(;<A6OlLMS`y~FOHHo`-(h=ms>@HLHmvCCFxv&Jcv&4YFBfjWDr&f!{k#1q_Ng|^Nt2$Nj#mIO$M*JI zz~G@~XL%m|Y0(}o+E0t_;i4$a)=llx)xfYouR=+@zv2_HqZoM#e~3iMerAuuRBC`8PD9p+a2D zDX{R&U%6K#!7_R^gOJbVl*(D-Rz~@wqH6(^I|%x`7L(-SR&iH6$<1TG4+HPwnIsoo zJl(yD{ef;@_AgClvv0!{bMedFj_h~BS9b9>vW0Z(73^OrJx1?d!hTn`2m3wk5IdM5 zKE$)(O39bGeh@jsU2jqTixwTL05AdIBr7l^+^$n(;p!6hpvjTGvTySDM}LprP3)C+ zP~pJ3MTNM~;2Q!q3|~*hA_S;o)3LsM%zl?@epl{`dtx#~keJLEyvPR5_vc;?x5;st z0?CfG_!!%BiffIdU#SmI=k3pVySYC8YQ4KmX5m8Z00J2-ha04GI#{375&D=eZcpGyqa8Xmx*0G0a6rxSo<=_QDhF3~Cfrm+A>fb_ z+uvfjOD(yKT+K!EkrCxFkzxMHE6>>zx%le5U6U{U z8UKZ>D+!`M<=j)b_?et7v2${EN6zNjuX0MhUXU;RUZviX>|!rfP3m;HU2K1&qqcL* zaFAv>1nndZwT-(o7k@98EOe9IuJ}r%h~F8%gQn638}F6&n6C!Em2>yx^1sNzjg#F= zlYg^jjti3g{Ba-KS5;pJ=A`O87eSEdt#~kV$Y~RVL%t-I?^3NV0cK!ZJ%5gyNl)2pvyiRE7ZO^ zc6+*qV*62S55?|**v*qrBxIo_h&UBc3$|SU0Id`x0hO@h!`=)buJG;Z#og`Jb3K4L@ zzz1`#+(R8xBcw7Uhfoz~D;-P%3$#9h>4_zUy=W>JPK&;;k(HKdVESbW@OI?)P84j8 z$?O4TDrL{G1EQwJBCf>D#P93o7)K4~oiYDo}qp%z6mFx53AF4>l1s zl{9nLafd7Jm9_|ip)zb*ezDzR?yFXqtOjWcQ!WPuA0PI|L=~`DI2lnR)jgg0m3sFy zRM*tx8cU!@&|8eYA(!G5%aQm!#q2bw1B-mi>6(`(n@g1gFz&i}pyC$13WS)>%o*6=1ou48g&MtPEKU}EEMemPjwvai) z`^?>IjtPa&GNAz($@l$Tq$t`yoc&dy{|TfR3|%Vio zoXnL(B6yj(OU({I_FUf@$03G!^-6W%!Uj#vc3Fb|sTx#VP{m8q+iTJEv_Ll@x_SF}K6f7K#QiaLkH_|F9Q>H%(2nk(vHc~sze-;g zy=?44gx=_9KIh8UXkmC6PW@vZn2}CJAP4mj#GF!=XV{{s>44~p0u(G(l#WZb<$P+a zw2#DE!KC=Ij%3ny%68&m$pp2=rQEKfJW!yo;^(a#gEifYCTznHOAIyA0whL~#yrF3 zL`_X&x=&KG(*5S>EC!dc6D{ZA=>M{i65xiM`)tmx&EX3_o`V2)=j`h_yETU@O$o3o zXwCEp&G7>c-=`$tT2qApahU+k(LdErb-%Z#&FQfMY4v-S&%QUI&+!G~24J<|15a^N z(|$KKMSrccA{lCtSz%l~ipkk5xG)#}1m=P62$NV-*9T@Y7Zo4s-dumEy}3EUm3N2R zEIX3w@1g_k$dGd9@3LOJOx2vJVMEihNz00@3rGOoU><{^T;~zZfJ^|_5WQ7c@b6H2 zErPtzM@h`QffZ9rk{m*Kh=LAO3Q&>ez%-AKy}31dAGqvAkkkww)4>CNKt3M!dq3T-RpXbYU({d@C z{0b&YgcS^=xrSR&!G-v91&q`s(9T_4(DC8|uEI5inB3D<1-r4}ZYFnOSCfskvkLL) z1v^7!)8pwH*$WEsxdl6qtCTyxkmTbvh4^22dmg>w(&NAK`I8Ir2?aYbEp-xE<$O$7 zLvZ6UwQXNPcuk@;ca5z8uHt@=3J@RC{B|xPYt9b)*yMRA;?9M z9aj9H&6wzjS*VdGR~(n5%H`@HrlbY);sG+p+O(1)Mm^*wYZR|TAxvW(0>i*M1Xd$7 zB1cJdomkZ`NwAMNJ58D&^lAM0*!>H2E2XRH3>j>ET(J}t6ouoW!Q?ZeX|og~<5G}k z!ih#YUWu*U$Gw7!4Sq#{X8B}5COL93S~r0^$W0eZa+qr@qm@K|r)~RQ?7pv~YG}2P zyqdJ(B>F^R(dBH)SkBMtIZWJ+zGHRK7tq#rO5#pU+>e}l7<65pvEJX_k4I()*!xkA z!*KZ`>1lLK-oBK$8&pXm>LthKsmXdK&cIgvrRVV^8I*$DCWJp%K=sx|eRa_Vf}l}T zHj7vhf*cYpoH^A^+bjB`EYmcGEBhy}X>He8 zwq6q)oF$r*5Jl|U_3r!i?v8r9n~awa-$hPU6=Aj2$J3d~at;H=tyZj)Jl|G#VZEJK zXXpC7<}svk0LRSEd4@QDyy#9=R?yC=vz@5OoKKz3WBYv0F3OQ;nJ&j%t^ueJ7sRJ1 zRRa6vVTk>0kt>l9mG*`(_}?Y2<}tGL>~r`P?$$SJ?du86N~P^gtU3Y9?`-*qX(7Gf`Du= zD%s^UA(4aM8d;RX-V<>TnXJ6+pf0COMN;7xAYGc4k4+<`&rlC3~o3KPuT@ON4MO_Pdfj zS+d{z-)M0AL&=^h*`G>|ed0b+v0x^`t7;lOhn?1F~){094E1B5-M&W?rW?6^8RvCdA=o)rV}gR%V}g?L}= z?h?dXQ;1KS{hoI07n9v%lRX>#Zn8Z&+5OPv?~+RUTD{#4-_tJ*_&sLdirw+pf3I!x z?s6eS{W-WuNTEB3tgWc{Iy<{$@Z|&4rCSf_s$ACHYzG0edWB{DZs4k#+0DL|vqwl_ zxZ_|V|L-nyllXn4=Ly&#YGCQxo0EUTVX4EOZOte_h(-)Xi#H@Fa8iPd2MJktQOUis z1xuG2!qbSDE8$^RS+5*(DsIv=xQeOjR%TUDsH|ktaR!=XMsB*Co(2*`F)m^Q8JQjA z8gHN9Zm(z|&S08X*RsMQfwqzexoBZQ6Ee|ttZUGOswc>Yo85`c1ne!8aj6djouY*V z8B-A#czw~<(ZXbnvlk4uj|nQ*D70*fp5s2l{L88KtEu+OsqwF-x}WKi>d|B=DS8Sq z&pTN$ojg5m_yJSqan82ULORDZQ7Squ(FN1&+$r%rPJDdM6gyvC5Fej51>HxNQ3>mB#U%TTJc_F(#lLU0KejTh{IBUK#-notWp?=_cS@_B*(!o~ z9Je7W>D<+=_Qh8F_9XlMr1*Q2;s+<$hqVv1 zn2=eJOZ2cn7qC8x3Hh7N2RJr96in^{rtPPvve3wvo zaUOSwxnZXBiDD+#GkM^q%LE(&Pe=`>n|pm~R1DjVUpp>VZ?m`K7{1&7Lt69H*jQ0azFMlkWIv1Tk=Xft+~V$=9N#XnZ@T* z8+*;yj|c6@6p|ap%$aqtx)>4Ij>I1J&UcNzK%G<;L?$m21v=+DSTFB6)=CR>&!kc# z77%ive|#-(8|NhSHmB7Qq7ZD1lrg*_1Stb<4Ol<(YW;4&_3x}n4VQc~vAYu%P{nsA z?l#rCl^yy?D_=?MaN*1b`&fgW)ewKI0eva=6Kr#uFq}$iga|GIut?3u9z9J=`W}eUT;{mqjTRGh?(bNo#R@I1PI`?E*-a)E zgTGAoY~>= zhboT~#FxR42+-MiariB)4$>aN?q<8P2c%yD&!n#XAa6e;K!}sVkMnkP!FJ)=&+_(& zzsATXZWp(!!y6<&LRYyf(0(lt7FB&#EQiOYDU$+1uZS+5Ttsak(^$j?W)@lSfgLPp zJx12OuO)W7=;jPwqE2fo`*Om*s(ZHqAy0w>*S}!j!AGQfKPaesnsED3!5;G0q&EiMz(6&Y2dZv8Lvw}{ zP(H_EoeR>5kn?lG`=14ORh@lCcz?JkyibNZ!TZXbT`oSIX@B-uo{_WDbMYBOOO-*u zdjm^?D%_!>T~1;HG_NiS&1-b=b6VV>i(WOpK^cq%8j0dKBLOdZEfF^s75RAe-B1|^ zC2}ruHyYh7Wm+*^I)DLW83FrgbYDE%jEG81v4|OKHr;6OYr@S@Ip*A71*mwr3TV0# zAq85#yWTSO{%(DQ^XXWTBKB{v%NpW~8|;z>=l6DTgS(_bduhoY_aF9jffaI)^NzgT zsSwvM)Nw4-VYv>5r_OGwbB`75+(P_RKK@hQomQ}q6j(O8kKKs78^=$|@%vrgp3Fm5 zWIO&^ox5EK+)?LFt4B1yS*P)NP(1&GI{P839f-beSF5-j-_|N${(f0!zpb<1)Y%ht zZf7)@b04d>bEF^6t+yNM?Zy~EbzhDRk^Dp{KEGral-#+c_`H&xTXO0C;@G|*QU6?Q zSH$kjQha*J&M3K$l;YD$_K}iH_b@mHSqK&l<#4;EMGzh31dM@@(OiOaTZ~)tQ;8 z>pR;{IA^;!ZM((0+HP*wSgJ-FE8hIJmpm)CXS|o~Nd|Gx`q{R(yoyKhY+%W);4C<$ zMoqSiGGL=;kt$`GqlV1rmXY^Ci{Alo>?l}QL${f_+dV=UEi=mJJ*-{>*22XvHa8hQ)< zzb)EtIQ1UTV`R8}c7?3TC+l$~MK@=!_3CSZ!hvmJVR$lKG)1}sj1>f2*+!e-_6NG)jjnC2x;nc4g~+)@YA5;(#{9kF$=q(LU4P(-qjE@wRX#C@K*0MVTcTlUX_?W*I0-jc;T z;*!ZxQ<6^Wke1`hBwFhr4M{Qy$&Yov-DkT+H#g(L9vZ(H;^ciIt`WEjyri_i zgjS_a>unpazjlR(6VMQQ;AHtc&YWpLnjSqd*=N$GGg!O15*~Nnrn$McpY)Emjm$u4 zrrNJ12CzI*%{kKm5(gs_B=P~a@fQ1Ji(S}a7qz%= zO^W|XJc2LsqgJVoOD5UHli0gYx7ZaD{3~1Rnii&rldrYft*x|xJ7w_jJhXR56<^% z!Qgyywwl+fD{PCLkpGCc$~a$^E{`m_UGmtq1iMzij+L-uZnoQ-WL6vUyHjBv^YQa> zGUg!RyX#8Ao!q{(mj0@oks)4?+XHqr%9M|8KN7GkX_i);H3MedDtf+^CY7RReT9pE z*Ob3&I+mU`7Zpa?ICO8rEpRY?da^T8~E1IUXg_@#q0*%wN zI_{`s!sa;7v6)KiI?Dh-93?CZVns8a19bOw4Lj6CeWcE2zkJOu=!D3v&%cbv^)2fd z#v+{}nP2eUhhLJ8C&E#@zs3ecc9E4$1QW|vvuXiWEnoMkVHxDcU7gr7r|g8Dr&uGmOn%)9z94!L&Gt`1Hm|t` z(pa0P6qx?1a_O{q214?jpk`OeN0ad=kbU;oQCw19NQJSCm9%j)rR%rmmnNU47a*cn z4NSK)uAVOuG_uVPpx2F(USdGa}DkfC2BAjx4I*N1F;W+ zg=3PL5ZEBUxLiD}a}p#Prt%O;kL0r1ll?Gn4;<1OZK&r`%TWC${A};pH{4WVH{ti*eKCc6%69vAhu)A zAY!a?ZcW}TNq&*HUujAvalP(^T+Fr9++9$@pNsR5>m^8nv(M(;7v!`iaTB9{Z{Ap7 z^P{}|ByT^?1Bn^Qxvct>pLJvu?S`Rgg|e+mA63kZo?;$rWaMCtniz#sV+;(7NXZk7 zH81shaBa^b#sxzn!$Jn67=7Ow$rQ#p^!Ooor1|(@^mv|?~elk&afV0TDCj{{Pp zbhgFkn4N9T@9i9OXB&IgmaBBSQP#r)f{qDr)3ZA6sAR(CIM1=+njE5Y3F@sjG$C!! zv#NHU(okkP@;fc@y)AZMi}QQCm$Yn)_L+{ntjR7_rWE7NelpLRzd#fhyHlI&yN&S` zjqzt1-8UNTE@ltWkEi=2@O<$A6?{6jh?-G0T=i?=JbgDm}DY=JBn#+B%`LZbe~F&DN<6a?)$`s`S{WjrHht1yt*sFtzN9>2fB{2yTk;8|@&? z2rxIn8PkkBv6Gfd-ss*`U||v0{TB1PRSS*S8q3Eze{}x0$|c&WoNP!c^M}W=EssV% zG!?7wq_yT0qe?nPsL&O?)X3K-8{NeB>V?q zFzdBJ;uXasIX7g(?j77A(V!Zn_hu1P?P;@NI7p{i0+447(MI z*g)EGq!S6l$X$C6A2ykR%feiGJQX!Z(vd)JyMhu9Bp~4F+yF=Lh1cQkr(e`pO9f;w8Ux!;&rts&P1#!^$$2{*`t{wl*>=9n~VH}^d zgu#E3dBk)A^n);P>0FC>;|AGEzh|kEJ68*q%FOK7=ZT&DczOmWZNw3VgsFAbz)0uB zo}`EC%jaTcV^gi7e=UW##yo*)m$k$fx7Z~u&hPEw7I#UD_Oix(uG5}tv}YTk)`9kF z_Ah7I6VD+)%d2DK>G($*?d-<*j}7r38r-Rkc8YBBKK4~_llvHz6{I=RGDZAYUku|rGHx8h^vcv6Tf$>D^;l+QQERR9{q_M3j3>5Sco5SDDWy}YHA$hY zNxXI_lN`-b9++mXFd)8$-kI@m7S|MWcQ@GA6xWa(Vf_bB3Mj5{KDvM$zf0^%%%k1q z&Fd3PdRY7fEGESQ3qO^(K`$h$?N5p0m)IC<`xKEsj9j!2YbiBCQs<7t?&b{Zdpzki z%GK-HbwuJUW<8vpMG7*@W&4;eAylKW1YTfC#>t|-~XCHqRreW`50?{~w%K`IW)F@WT_{opun z7&MT^z!94jRU#cw8HGG|@^6gaq_@h{^IOuC)htGrqnVQ9@}m)ux8B!jD%TkpWY+t_ zl6@?1=P?73cT5kH_bKtF5cer&4$2*`OwqF>9pswJv#JUNnCOYeL{|o^ue7O^QzTYhIB( zJ+w$KT!HjIt1Pa-4Dpb7;;xd|-oz4B?6rUY2WyGVvC~U{Joa%OsngQ^LwDuj&$6_z zq^Ouw+L8=SjvmvLmobh11P-c#@uSfdbmf#hvdcS8PUaOlzRiV!JAL*#Q3(#2W=dz`c5wJJ;i zL?>k}>{(%q5RH+1}#Uo}nu#_EVE%2M4U=Ob@zOu+E|M88JNXfK+TkbDJ1j+Js` zmc(7S7huk+RliD)%U%=j5Y3+)-J{7A3ec9E999RRCd5Jj*E38Xh~|GFV)9h+_q_%C z|5!WkxVx${->>Icd+*cUbI#k}H@#6qfS`bYGnoJpQBeWGK`aCb61gLT&Wx8kcg7n+ zM@m4d^Z)^+2uN=xkuD%56j7K2lF*AZY2y9<);@0t_tNz4ltqde+mQ zXFZ?{hC1frsc{f=CZJ&Ntkx+J1Dfmk&X3v~*L=udn$e za7)pnIc^X83yO{!R9H55oKg4F>deJ0oO5+mB|cS2>+aPGu?8`~#>2O$bO6gLL$Sr5 z)K)TL!dZZ8iin}|hAXMfdxo%B%hXvA9$6X9Ris%P$6B{teV2Nmh|x{CpO=dQC)xpQ zwG>o53MEJ;a^{AAxr&osK_vH<8Iw-f46t5GzGIB9r5Z~JQiL*BR?*xnmmE2RUy5~Yy+VI^y}**K=j%qai8>$W+&UlUd-XqEtJ50GK#V82$hQC^GZ z=k{}H_}pDDi1nMSao7B8+2RWo6oX2aCCt7VOx=@LXW#hMY> zE%;rFQ$d)}-~w7)$a;b$I>ic#e-a5z${QlEL}5ihD=avL2D1i;2vf)cnqB#+<628` zgZ_oEWe(6aX*8}yRF8i(MXJB`*V9o1yyXISp%9zvV@#POT)9gZ@joq3e9)fvNFdI= zG5$V_cjSIoKp zap7AhzP#Qy zK+SBGxZ4Oz1!-I|(AUzjpOW&_W}_qmLf}e3791Oi%zrwT!FGOkVpLQuAbLAdD#hzD zlh7&xv&DT_dMtmf1L3}=SoEY89&b2256+k3S}-pvG{GNe5a~fu!V?V)Iq)~7*n$*E zZUJDBCh-Z8rvoR2Ey=`9D{3$-qIM#1$&pV^$m40botoQeFbSBEW=5kcSNMsjpWy%yapc&K$NTnKam9S+s{DH6% zaUDn@_a(>R&i!Gkln`R`dz8kO2V(Z1fDDWv`~iEn-`?x@cl-U6fq3#j5*W?;MU6R# z$EF*3uf)sgePJqr7sJR%!V%3_`WC|#g2wm3l=2v`=oZ8@hni(owWCHV0`U>|R?L{)5$ManC|T!FFEI+$P9E|?OgLSV?;Qer>iGR(Lc6t9|MK%i@f zAsj|qn0S{WsWA@wu2>-p%{p9S7|6QOU*C}M4|+8#J^_Wqwry6TidS1 z$M`h(d@fu7;xHm=YrCDE22Oa(Z03tTl7@g3eF#Q99ceH*{P`=i|Bmg$87m3ypscO| z=a&Cr|3((!zozbqXR4e3WJeo-oE(o5vBz-eM=Qafb9IrMxGj>{cDB5X5(g-&Hx#EQ z4dHttZNQK|BH8m-b3kE**jqGmMk-v+!Pykj#L8(fAHCug5b`RVqKsm9{P@r80j8~~n$NY!Cjp-T0$QGaSc)Lde2-*mBy8zVOskbF7jRF-?E<&3}y92D3 zX`;vSit1k*?xous;Rl0(D%)ku9h0X8TtIw=Qo2~3heU5DR>BXe0njFkCUu-C3_Zg? zV>_&)vb7}Z9qWE%)t(0^(uDz(UN)dgTDj^8N#xh0yKN}?71d2{O=8YET%BIU2pLI_ zxEd*WPU_)3ncpd)h42eu2@@JtYK^#W0BeLf5iUs( zV>|2EeI!jtl8EZ@ohrF@g~gG-;YhW4H$nNyZfciMYmjOhyp}PDdWd0v^ju}lb5u{j z%B$yC)mq`)YQNFbFO^S2?Zn<87-``}Z~$FObas0GS}oSsw76U?o(G|H0xNheP@@LF z(%Sj1{;-0Sl7`qY(k620NSp0|?3^%)Z9iS59|H{F)mqsqUoRburpNXk^)Fa0NxM<|cMWlaN{xl}>kt>Apudp0FisX{AJ3l72!152Vp=#Zz zgMUWZq{0p9CL>o~#r@*>1#XXyTzM?B^F7BdMS4y7)ZLUV@q971j*%-jWn{bLxOWzg zTsfamJILirwxohMKTF{kQjyXtm?^8QBp}S`}nH!gmT)B*7j4a1!O`ZDko^!AY zW%&zPsebG2I7Xh&@^>#>ykE)E#$5h7W<0=#L36;tDq{=$^l*)Sfx|I#`^(#|z zq5|`cDx2gRSElEiRz8t$*0Xv3$qGf-DqH2B8r&w|y7D*qrz6+vGQ9?@O1V9)jbv2fHt&!|A)jZ=#*;*wm^6-NAgOR5*+K4-rEv2y!`D|VD&b6`o zu{{SL+b`LZ<~rx~PKWdTin$dTPlz=XeZNg+7E$(ieX_YW{eBIoPUUU-HQpC$02qN$ z^qY>M5!Giwo`7%XeO$L*VWswjS@Z*q@oP1h}kHp zy4Zx>Di4$-A|D!yx>owO6c<}YpVX<@7je+$l#`VNaYbBV;fJ|Gy|$<8KpdfQmTm8| z8eD7cV{;-O+b82=bMkcVb9^6tbX|Y*&iC?~?-SE+vyh??S_mIi;!%~lO!UbSa(mCGbY;?Qz7tQ#?WEk_Cw-qe!BFV&T2Nm3>W47^ z?p0QAH{t$@|19X`HwkxkkY<0|7f%^gxl*iz6D#qIJ9P8iwXVE@0cfP~*FC}uCdF5{ zKka^oBk=pnPB9X^ywA8u?j!Dy*+05NkdJp?;K)H4)m?=j$)~H8L1nc%M)RrIp8w8f z(B;1aUn#4MR`YCT&ym{dyU^`@>?&%!B}+SVX*bB|#ATu6=K1c$#yKP}8;A0JAt+e> z2Z6mnB}8l3hs%oUOeem9{i)2@MH?g!p_1{QHOF;W;)rcrNJx}HqjV-W83ISGnM60K ziOGG?%oS~&Oh%ZEMzrUCbPIH7>CyTSi;X^A{vEl7!>=RoB@+^f^%xJ>l?FtYp$Sn@ zYI!!KKmlbYWzg!OYNH}Y#_UG;VOOBY1=TdTM>I*O+MS0V7U4{Z_L8~L6v8Q}6u3fx zuJkJva8ezmJ|00~P)mc{GQ@{x@Dg#Sq+*7i&g;HeEHyxNB~m%*6qJl*Np$wG2O;X8 zNXFK>&7@LgD-kz{6ZOkV;+Edf412V~iJ}gWKa@hfqLh)TETUe=ut$cw-K5IKdN+oZfr))_$wQ(#Ps-TTCiRsNmV?>2yF!3VsNrh7nX0FQ%=xU9R z{?_@#@H&HyFX#S>+$Pd{v{rsx_%Tu*d+f2QKd$-`L^$B;fDC4Sl8n%3?-FmZfo162 zP=h+=mXZc9vap8&Dawy+SP;fxQ)_&R4QrQ@lVFu}Bo&f#$AMCQuWp7hf<8ekKT+Xt zIryBj-cD7R>vp-h$a!+#0yojz$#yr+x_B=opwg>ayc=2sSNyeJg{(E%&Z_z1A}&uc z`06WEMEb-pYJL^Y`I=tO+67@k#D9I-8ps>CQ-PXCY&^X&A9v-FGHqUE~0XvZRAx5jOju5pVf9hF$e|F6nKLcRS(#U8?)@fOcItzUe1o003Z<)f1SS3fig? z+`_|wa;$n!mnMgjG`>}}x2yJ6HGf+!0lKXf(Kc z`dYt>L=EuKU#+jv8$>x*zl)GG)yt>Su{g$@il1p(v_20ut=(cnYRt(`{YU6$e6wz= zYQ9?Os+Y8UWi{SQ1=*IZgpl~X$nRN1twHlZ`->>0(|GRHhP|%TBi0pErEb5@DF>XU z>XtUy4XieaNBzod_@HI)w|qW^x3(XygovuW(MGO1RAFRpkF=4j<{^2~%E1jkn^qyF zRhyVv8*7JmIfZnnz{B^=Db=J6` z*H7-1h^>W!%F{#tPwVAOm9BrE`5z#noSok7XLj2e-B1C0x@IeYE=c`S&0nZsD|@kq zsqsSjVxIUpV+0le*c&{ye#>$B%NBmSom1(}w0O5Jm zIoVW!9HT!G!LG>Q;}&E*Io_1N;rO=&!D0D!VA?FYiWRQ-jIWbVsfBsGmEXbsnd8D9 z1uU+@ryY*b=1e6ud9ZE|)dhK{c+jI_;G)hCGV$>t%|0ucLcN6?+{kq3d~(g_$T)8z z=^~NP_VhaBYFpbb52y7dgQAf0_+DckBnpTYuw#zEDdWnyei$6A@mb%|=nJ18h~vcX zr}G`Nk{6A9;|?)qRw|6TmX2Drw_7_s=TnQ$o$G}6c(=xpzufj$+V*nWUT@nU+eBl< z!xi|$xCnGRyKQH+?c8>pO5{>}r(vWGrymw{+wt9YVs~~!x82%}5&TZJ|LV3k`u%Mx z_5hZDuzeX;ok9pJ27L8^ts1b^@(Hp)_z0L|^9Os_oGD)3^vghC5RBNlM|9AchKWh_(I?ELnAzkeXlYFnL>`i5efbPHPV^r%6PB;YTwsbP;=f@XOvAzhxw za12$Rc}Tn#H>*9bmwqq`rY7R?@F-sV-YENvuAVZwbM<9iJ#I8|Q~5HsJg6m55Zs(V z!4V$95pfAT-a72DO_(=^Hz0uOGNQ-BNKHl zb(fkc>N*m+plARU11J@B0KLy_U!R-0s|uJEUXEW% zs*f5$9Zt&*GYxg;Pu4MFD8f{wE@;$Rt)c>KCCd9t{q!~adiZMWyi|M>!w$UDr^ihr zf5k^jeyZznTHMIehomvMZBxIc@5M&duv%ky(2Qi32hGt)A6CLBZ~Uz}hP!9XSF4xj zSzKtiG;vg7O!L>xNvnNRTN?W!_wU;Wc_e4#B_vwqj_~)99O~3#lkD5HwK*T^H2n!H zI?}2{*IJrE?QHk3ik+hwvj4-wxh)s$cd zY$cdL^FVgY3h=JdGsIsgRVrLUAb?0{vkF=?WkgU-B6cTJhT8N=;j0DUFu=w_o?cC$ z%cippkPv;4^?Hb*E~!i+uAaSAaQz62h`5qM<>AB5M%}yT`At4aAsZ=wNsb^gMq^~g zz!W7kfJ`3Q#FW=|31x&TtGOfY?Q?ihvOb6&YcXlT&s?wUT%J0Wr#T(zXeG?g%QOe! z$OA<26>={>g)lHvRG1d99OvW>O3&yM7=@A_;dCl> zs1=H^0ZAX-Y1s~#DbL!bU@yok9#rl@Y!rCb@qrotrX_hqf1ILwv zYVmXt?k!DDmAJ|r^x9Fgicjm?z8BW8Yoa0-!IbRIbcC9)|i z8S7+8#OASQ!B@2sM^>c}Uf=Z*0DHrHLKPY88LqefTO`zUkt}-H^_2g3w)q+6w?Zo! zIwgHF_K$vC`#WO1$ZZ$$q@dl&@$*f8Dz_)|$g!IM+_8S0*^iQ|pXpOCha3ol0qU%9 zHff46xk2iSRfILN;lzokf^qVu;xF*@U;qI6j}2z}=cnzlQ0 zpmA#ox20ME7pjV^CznCjub?8BlIkXMVWQtwwJWQ3m5yE>hkkZN%>w^gI4EPd6+W%qp%tBGyLRzi*A1*Rl{lli zGeMv9lJnPf{s!kXM4Ta$L^sONRDr9DuwgFb zSmW{i)7uWvm@Ojn5uZKprz5i~;UEQ%Wg=c;_$blD9k!CBhYVJd&5S$eQ9A!1-y0G6 z^Xb^2!QjX}$w=tqA%Wd~?P`^;{3($jIi?XxnXnXs&3lb!I6IxP!jfaq} z)p;SEJ1P&&Vf0b{?(zudBph?Oc1OTepHSUtJs`OD{FvH`MV|p3nQ|o-H;R;NNc>#1cNkJVrxA95*y}zD06+?)S_IcU? z_|u)U8Jx{x)MT{ZS|Dd>`{KI4Px-{c55hY`fP^X-An{TOi1pKgbO~C8#8v(cL!R-v zKb=$mgnGn$gVTV)D4*GyOJp0OGe!G3+lQ8SL2JzRRe9ZYn8HC?!npd;QAO6(ywo3# z5(>n0h$`Z*N?<1=LrzA|Ao^d8IMN!fCh>8$0XQfNkBbPTe76Veo8h3^BE#Yl7g0pp zZEls-C?u}{%KDmLVC`J10n*{{g0@hkP&{LNx#q9c;;S{8$1zATbb0{sr0PXAuEM=6 zQ#ZLHa@duyrD~LZW{(1h*6nq_rylQCO>sNFAQuNwQEgBwlH++bzd#YdnQe-?w{=HT z{-zf9r=ebi0P0t;j6;>R4KOgiCP38cEEKJAUfr%C%&3a@#O}^wW*H~i(^;$w#H6r& zH2tUlVAt(!H|}jW?9C<8th9yjG8r>jomzezc%>FyQpOYblcaLsj1fXXLLH{^3fK5ygDu6^1jTZR^`0@d!iNvI`&6Er6cs8R7H784!NX{})jC-1OuwapdWMf#!w1?Ag5l<~ex>n-+=-hA>*!_FieS5_}SM1!mcFt@&TTm2coijUI&u-r9{~4xoS;)Nk%*Y#4?)RVS@q@a* z(ExrFdIf6sCCOW#D>WYAmcS?duQYT+7n%@d3d*Zuf3AwV{|D%HR9boAC&x*?4lS&k zNO$&_381vy;q)>s}yKlYbvU-8}Q`xm!ZZ8xIMc8h#6 zE;)a->6gCiZ;q?ESkqv0%~>lTCoGI&&>z(7+$auB@(HCH)9K-CCJLS?_e4gJ_qFRc z3tF4GiZ@72JgkcvDgIA@KPRL{&mUdKVPHqsVGjpE2Y*$!#dYt-W?YD>!Q^}J$%>$6 z&d#K-)$G+;d{gWGrkX9S*%I_4zf}hEs-2Z;XsjBecl8htoxjlTy98bdtpw8XTV`LfDOv^GtG%I+xh1qfUPxLgr7V6! zEL7kzkwgdefXxjp`El%L$A@iG=srp10$X9hJ%iyi>BsV0D`}})D$pT@ zK;hZ%n@H06C!n_bWmk5?-H-0^OWJm6J1dV;P;O}Zjctxb#iv`^h!AJn%H#v1owpAMHIt}Q z029GTa2XU?1txhoNwO^A+2G7uRJD^>b5$=oCDEAOwyfJ9?zZLK_GCAMUDn+htT1c_ z+2OjY{70Y%!~RL1pVG&bZa=3dUX7cdlHwc7$*x2o_)iyFSjV3|YgM?^K)f=3mIea|3pJmp#>GZy^QbZ)3o+gPZ6$sASi*?ADf3 zbrLt$I<{kMQ7qV=^M7va$)vlDHV1}>^21w`;-fY67Op3{e7MUr8v5I?*N~g>#f9&5}ac@RTtawby8% ztg#%4?8aKke>V{~+t2Kkp%e&0pf@=aSSscq`fML7*-i+=!iiat>9_3>+Ed4!Z;@}* zYWYHz=2CMyGJh=RjpI)J;arxN9X}Xv8;3S?L&Z)WG~Blh``JXBHwxnT?x4Ll$noQ& zB2M6hLAyZqr_%@h;>?z^?LoJn&YFooZN-yYb_!XP4*suHNk`GdasK{byl2Sn9AZiq z4{=cmac>RA`L*~#ll(g2r~Gk}!RLf91sR-tMevnylu{|tE!v+c+0f8-X;;B(Q06GJ zg6i-OW&H~Q;elP&43ip#rEGu5WEBm1)_4>wVAXssV_1URMWT3WJ`X& z+g|FnU#V#4jcvcE4NG;rS1EDy%3edxK6jYNq7(Y1lPw&!^M-BVFl+SuVY_%3iTJ$q z!&So!IEz!5<;f{mmr0KWi3r#cMI{jFg~I!5^R^mNouri-=?TMyEM8i}8Yj@gBF%w) zHIZ&)`QQyoQo!o98P8ALyhH~fJebMU6AxD+LTCC5&?=`W4|~(2W!j1%P5K|l*@xro znu+$1)YXHBQHj(1pEIsAt*d*e%t?>$X~)~!b_f1yxXkT?cE=!{f219+Z?ghTyNUKI zU?$C%Op8_G-U$s)b0)Zv7395H4-2QKV1{x;^^$I3o@s`2#}KKe`Dcs?)fKI!?1E}o zNgEwHSqDuKjR` z-jHKV*&!eO%i0rq72|=8qQhadHb(x*XAh0XNR-qG7#`G6u`;EHN8xPV)1M?8>cMrS znG`rF7hc-l*v4p+%LVasCD5xQU@Acgu;R#-5}@UEMBX(MQ(h^Lm67|)r^;#IJcdUx zdijfZ!nK1>e2D;zilblE*+7&aMU{2>0Hv|;hl=v( zPouN95O(K{$m-g}rXaKQ+bXkz-4|tcKFrF6>wq33D@VS*pqxH46pJRyQ-T*7Sz1k5 zyG0NJMCz}=EZZjjLjVofKLWL^zS7osCp(b};4%~_7>TkUS{CCFA8|=z<4~<)D4?+W ziufY{U0Vx70o)pF&DJ{S`hN-f63{(sO+Yy@|K*XEyGHKhyiMGy?UQ0>u4PUx$MC>@ zWloj=0;XT4(*ESb6Hw+z^2@2?j!6nvsoz(%2dehlsy|Tm-&W%>HTyA>(K$Nj3u^F1 zvOlh8TOcDLNK1jX#p|<5Sts#2<+|J2#}&Cho!iI}qYkw5nN$rdSvtsnq$a-mjWyNA zSAz;lIjIbVBJG_>K_E^AuaV`_V0(~mY+afwnX|PppgT#|mP81dPm#p5)ErqTG5~7c zdc^lr3<(l&68e*^p`72ouFg_vm!W0!B~H?8PTZzkHESlYz=^fY>YcroDtzk|3teLQ zQWE-}t3xl!!UE6M{5c5*)wravyJSC8kYa`3DWCl{7|K>`2LVhUso+&RvZS*fNoqOq z8}``l_UP^a2Gim02o2cy5^vo`9xE!EgTSCF*8zdjcHpu&D;QpdtT%#fjC6u>AJeVr zeZEcHT2&}EWj&8dy)UcCc8BX_I8p79^BeI3Im|9&!p(0)iicAOURx>Q~{{(i-Yv|Z7_s9}Gu_`Iq;)9{rV-l~SL zZrH(9;wpjTb!mHs)N4qw(Fw)aCK90-bS6p0)wKwO(DNhu3*8kd5o*b4K^(q8C)eNx zOlZwH3w;g!WC$$uBAm@`b#y|&zykA7LxDoe8rUiCYZzsKhzh)48z|h_@VgpRzxI0? zHjFn_dD&t`j`1Vg|pg+0`}sWewuN zbYa@Kqh`0)Fs|79s_#Mlhs{}f2_HXNFyL{b8B778F)NMMMS;&UKl@`cNC`2HWk1&R zrW)Q+R6iLfb;wjlTsXPzY`jq(wf%6}ueOL4WOCL6DqUVyoteyR zCOIHeE~~T%{vmmRTOE930cuUlMVkE1NK+qUDg)sp#qqU}sap({5W%JqZF&OXC{4)R zWM~1a5D2S?C^5K%MkGKFl*3*#q>nAK1dj3wV%1+Wr?o|_HQ3#`KP-k|K<@}Se6*?X z!$+I`jQo4coAz?kUupV(G$ZGP7x((jz44}A?OpL<)BcRzwsZ7X<%n%r`TdHP-O}<~ zJ4gRT%im!WDy)W#3vL_<<|?^6qtwb3=!D4tE%5~w763)67I2d%M1m8|m*DOj5upkrX)E>)(AJ!>q?+g0;__TN1A$@+d5(B7j ziRQb85eR2AX4wK}_t9{FcwD9pP)O7Ui9V;t!i5TQy&?b(99s@{4IY#OZ->LB3{%~> z+s;n)9v2eL2M(Ux?Wc%Spiw2PV((vwPx4=ufJfMhg238Cis4pTlNDuIw>{kLk82-h z93dZdyaVzzz2IqvU$)T|?k)TBjC4_ZrrV!WUmooCht!idx@|S$K&Ll|0BiRqYEl4- z{N1xh|EHmrFJV8#viTqPSQ%Tp0M2FacKds3z6>)YM@r6Q5b8g--l9>NGkfT7k;rUG zV6$++AghruNxXjR`UQPr%(VMzue~l+S9F%6T{Ga<5&$V&QfYx4rl}$u(A)(7WG$+~ zXRluWU4hRgNi%8EZzDUX0N{n$alo!8-J41n4JEz0QE`J286%Ek=aq3(a85BhtE zSa;gJ5&p6zJPj4asA~j*UTl%SpS73FDcYy$f?(-Q39dMXWqQLOm15F`{5wwyvnGdo z(D%?BS(U7gEjcId4BG_PQt^udIa3%qvnR}=Sm&@0#z{W82zLRINOmsXB-z5T;io!L zB7krn5l1F7@g3q@CX75=TJx}WPKq+nmfoVxJMD%S)aE5>^X9^T70FL!^CD;WzIXPG ztM;|k``W{E?a{gR$Xt6(fkWI%u67~(M8Ho=Tdz$Nm{-F}q?#uplVV6w-8Jszw$n&| zDrrQ;6Xv9Wj*g2>8QmB&(q0aXQzbyDsG05}Xmu146Aw<5_Y5)Z21wOD?(Rlg`s7(h@$0)C@rBY3DG5~1i+yu3l|NH`J1R+CzQ)DScG@V9Gvg_4`}J1sH0M0Un@F6n-n^V zxIWmpH@QIcDk($6l#AY*W2H%Lved_<$PAt#=1Zd9JfAZHH^zu)!}8-3slHDLaF!=T z%g9{s6)wC_TB3a`a&XDHl9D0RY*$f!Bx#4eKo zRAg5uk?5Kt-Y5r_Ky#6NeD^5$o&B!PZWx6mug&~*naInLiW;&50FEqewegoC9$N8d zRr}EotHfg}Tzghc99@=8q1H7y30;0pCH|ZO*v#sttio|=bS3*)Yne)DQVm3rCW5>{ z+6)sTRs#ZI8$uTH2ckm8M>!_OEQP{mlev!1r8LG*+&IkIB)r*$NTv0Zyx~bjQZ4|N z00cB`Kb!VzVf`wHHfjHy5eX%S5oeQ(Yy^zv1g0~0fEdxFbYE(A@}#hq_H8h?V-+o9 zQY4_1(Xw9%vx@C(Tf=`eKS^ z9Znup_Pse%QLdSt(Z$|&cAkzbohd}UDzsPs$cF?{kJOCp8LHvbY^5S8F}eeZA&S)h z6HuE%^j9UV-5x}ViHax~QAOGeja3FCw!EvO>5UDus^K=k&!j?I;S+rUppI-Sq3Xm2K}>eEJWMav<4btPSZ^w(T1q|1;Rj54CmL$XuU>33 z!mLX2Z6p_%-a-3Ae3A*Lk6F8~VNQP2PQ=%;CaCw5R{=R8hsYTIpcYW}5Z$F=O(mi;jWv7Xd|tvuK!9Lv|^ z*Ub`HngOTJrcy@=DOU2T4*a7}1mDYmA*NSUwDU%)ca|tG61>n@o`cz~@DyS{D5b@w zOljd4y?{b7K>S-Am+{I?Gq$1@;qWyCqM>^HIv2e zXtRp7nxh_+WP5({gP9#-h}nimC-F31!^A{|d4LFMTGW8%dNypnH?T>9XG;w}g%Mwh zu)1Bo7FH+0r(7L%NLV7wt9c;4-}HN1_GQ>{4keXbO;}-vWmaRT*C+=M_aiXvzh~>EpuFlq(`&z%g;D2?!gn(a`j$d`)=mLAL0d zrY^H58P6?1bbZ=J2MULRQw&xQ>mjn!_zFKv--SVJ%gs6xubV!FXVwX4i!r9fLDLxo zOW%1GDeMp`geahueV};0DX#}D$b`sb4y~C?y}w0U?T}3AyqgZH^93E&Cg9NKuvK@U z%1?p+8r=ULN(ktm!84o2Tyh;=XS!x1Eci1ZLWQOOZ z{Oxf!g5?S_g!~*{kLgV)0-h)`RswQfK2ioVIi);C63nf4K!K)oCaPY-blcE>fqr?B2RKT(zzYN+7{`R20-&Ih4|?O{LifO5>X1eDh@Ib=BI_r?}hxn+(V~Wf$M~= z3UwZ!IiEcJ^{-`nMymSUPxc51`(=D@b20WEp-rg$4N^Vn4{h_ETDnMW(a%Pj;OzVu z-x2+#O0g!01BPD1o}3Bcq0Dt2s8&!FoN2cSf3h9 zm$!tzD+vT6f07sny24gHVPR5M;3$N;KzOx#IYwGCHxyd2eb}l?8byN<^>)!`P-EOfB3THf@XbvK7TUsQCQO@1M<#-&zhK*o zXv4sd8b9+HLNbQMY;)m$N+wBz=mMG)Hgm{BMaJG%*lJ8T4f~@aTVP5UTGa_6SP+{a zMq4CYQ8BzLvW2l61D*@UK;Gn#P=RmMnGw<`#u)*hZ1Jq2)MCK2<}YDHi6y}*bv+4_ zA}|Omk|Gpl#J##dviWr69`4^2i9^R-I&N&WKMacZW(3SMQZMQtplU9ZaMg1epDM0J zp=PEJ?diOszAiM9LyRLLD-+K-Z=68S+DJE~V0^3x0EzM7a^|DasP#%3g^Z*Gxqh+6 z6~_Kwj<+v7$5KM7*J7;tvFxX*MfvAcN}7s3b(OJCC6$dSnkC_8EZjA*EqmH00L~*^7hrlD_d*;^O-Dk9MQ^)^=8I7vy%n z3a)|@sO9u$Gy5>N#~KtpU|pV2L~63Lh4al5;yFWhM%C_`V3!Qh%I5aMVEp}{{Xxh0 zhe7|nqL~i^e&ioPTcZ8K6s1KL5+}Uv{!wwsDEQ!Qqx`;6eq3b99aW{cZ<+PGLNU0= z&_F@L4!Mg$?#GdOsJ13*pbVxz*6ejfmetu$#~;e{C8`nw&isZbE}^Ja z3d%tdDIYH$sYUtwy8S^xt$(W9JN4MKtGfIbU5q-jxe8Hyh%)&0b+BL0lYC$Jf{Nc# zx21JkQddVWiGCYtw~ffgH®1zz><^T4{kJ(j+82?dis(oVyDibgVqt%0<++Oom; z;2_h%F+Mct4+>BeI{{Esf@10y=MgxcRK%a?=#K z{Fpsdb9)QvnDd9(GeSZaN|#(eM-JJa26IXsvIPj+*xGZN{DX&l!H^v?WQQ_;e#lTF z=I5B=kO<)Q&(Qa>-aSh>^e8?JhP57%i{C=U$*P~^`>vJ2t}S2%7?DLacpvmwra2jC zAP7kdVqK_3l3R(6)i8QWEeK9Lntdjvzi1^99HjWDYMNf36emaNF(Q~a`YM6^U~$v2Lh(}yiGc9d*v!`Y|nl#|WKu(s{^w!NOq_*8d@ zpP`uBXS2`S=Q3DU&WdjA>|ZX^Jh;;wxh?KKfg=2EiF&XsZ43h|bNjkl@o(8Ti=h!}6%c#II(RZ+Y?K@e;zG>egcI>m+gnWPdZvGGU-?9VZ_xwPX+JW&O)2O*7 z*Em@_TZvjAhd>9jE~=+Ucl;&$@I^a9s5hSge1&B?)xU&|aC{swh$^Cq3FrtJ;&`nv ztsTzAD@;nqXnLwU^?;lk|l zCK=j)!1f7SH6d_olVTA*Qt&nX*brj+v_B$z$j>Jwmrvte!gVk%G(a)MFOY{W0 zQ?}~!2}hS3h57UM(_QZ;R|;1MbUCCRk3?kT?AUrdF{Qg>Sx{_LsU$uF^8)r2DUK9h z(D~C;+Qeuv-nW%>s7l#f%&?&e4Y74nRX-7Er#5G7*2$YwgeGyGN}r_gE+UkI87krx zDey$`;iV`gPF4x?gvoUy_;so5G|F@sEDMs@m9>~WL-q%erYCFu6n~*%r9)Qk>z_32 zlmu}wR+0=0l#E}xm?jI>D3H=-(q$od z8VOomyaewl5}?|c!2N<$9`>x2f*e8|W0hrsJ!6z{&sRr8p8){3NAR3htaXg(Tv2wF zjpHWGuv8AC1Q!OP0l~+bew83u_WdX&=};7MGrlYBdx?I3Na8qmreA)Q+ogHz$1eI% zDj?5Kj8e}dqb9s!36oL`JY`vA6cmEsh^3WdS@?{QPJGHBdNZ&?n(hgER?0mXv@o@x zig1Vem%g$^q}ta%;J0ThywuUtm`weIL<=A%hdmi60Kg~BBVXT?~~p6 zslq7%@nWCd+ON39n`92BGUpu_h5YOG9Yk9GV{Ja%pQsa4py}oyxY3=C?LzYk-e}IK zYgnxP?h@#EdV35%7bzf83g2JhPxL8monp_Qu$Hm==o|JxUZkD2GwssRc^eF_ zlmtLPO&Uc)Zdq`{Wa1Q;xfFs##1t@2*oLn8nOHS7Y@TtclQ<#uc z8cl2ST>oa6rewXOe!(=wI2{vYt#b`WC@Ps3MA8#6tUCC4O7APL&?WB8({sh{lq18U z?qtIN(Cbnj%&9Rhiguy8esOfnj4x^I(l;g$mbJCLRoHt48}|5nipggazJ+X+&MLXG z;#WyOk%{}7E~fhaF8@`REf#syI{H-+KgfCas}(;@^*Mea9cx*a-&eB-M7nW+X7T9E zj$$F9sUNPSKD>O1T-P!}f1$t9j0w9e2{%t9K}3oGOMu!^FeT{3NcE&LBUYM<%(sp<=Y2u2i zH?rZ}R@7~!i0yq%u=q8(fC+)ayNw7ozlHrk&(ZUQMtWA?&(poQi`haze(=>zr#hJr zL9F{Ac4ALRd};DokCABj8g;RVnjWAbUY+;{O`$9jD=iO|sAW&Dip{W>T+SqVc z+b&c-8o#h$#J^~b((YGt1@lsA#~|vsd=}eA%0)gGIx=lyct`frZ`SPjiDbqv!e49C~RY!;bNI0GhfkVD-{GKO7L=*z0yT*lc^*QKOXtp^mFAUepQv2 z=J)zDJ@$_3tE{ld>bRCreWPvy!>E!QlNjsH{=GOoUZW@H_a!7K+0K)_wD4iCrWE}A zGGk^>EnR!6&%PzKa8<8kYF*W96U)Sh`Mq$>liPk~o9X_XUD)wdcf%bTCv7fFGTwpiH9eRdl9Vw)F(5dZ@e=LZoH z@mgV;xCS?xFVTE-b9qDEkxlpRd^hvVip%fQ!)_ z(r<_N%iD5Z7ZMOfV7jFvlU)9XcD%389+DKcf?7*4z8YS{DX0x@bChL`P%MsVY8o=ds0Hy^A%h6m^APW*TL?|+m zLAsg3?~9JN8e83f%wP+slQ&Ja!^Y*R#!=%8RQj6I7L_w4H(KYH@TQ=@q{klUf!a&h z7S)%bxoSrZ_;Ca}Fkgl3fKT)MUc0K-2*SUrmk5KSa052WqjP>t6V~z#yK}%FD4)TE z&yuY|0FaAgzg#0FRx}XO39B#XhF^JCs>{(J+_M&@Ro7a>F)T+T!zy`^YV2GuuiX(U zWpnW`ZIRQj_UUx;5d$5K-2Mg9Lfhi~`YX=52_KP&D(a-|@86vgUZ)5U10&IbN=7gD zN&+~N^aw8gs@Lx7wL5!NE0BqNyY0V22a8WM^9g`vIv*{Gv>Z^Y(sIaDY2d{kdmY+L z^&lb1>UM-BENU9IsTUELXnJ+U4;!{iyX_LC49*|+XDjjON}T9VHsifbyMz*2M46}f z31bjMnQg5A{}d;f1}P&g9n>pXNm*?Y+%WM8&5-tr>!&2ZFzYlUD~D{kRFDnC=r2VK z0VIaAajyC4!$u9GJNwnsTLsGGF@XfJ#uGThw8`Nq79`$SUMJebv2K$H%vL&=_PyA7 zbeJ|KETAY)$MhzkjDdAXx@m`N$J!(P_GmxHNI=uceU?(J=&C3;&50cmJ<~1c1K+up zG)*c#+%eWx_1kK~#rxxP{dQrWEz(L`>rvG8Pcf*Dyi_EF>D6&JNl?Y^MOaQyH~${% zi>v!=6_5LB!g+X2VYiG0l^z;v`vXVa14YIJTKK_<^Du)~js?S(RpW_U{ho_7q?C_%=Zo$1jArWAl^L??-{VW2kf?ic-Uw=e02QnfIR?x=Gm&> zIbh|lf;(&A8s<47XoXoN7AMYA zLq1P@hrb9GseS|k3bi=pUN6e}5uNIBWl}&y^U%;fHq0!1s9}l}-r4EUwWRQjv+Kv% zMe5L9j?$J-;^5Z{~tpj95r44zhGn{~+a z#~~taqo_p9Ly`l?P|_7R6d%@a9LEAeeVe4E58ROpVHS8Goj{$9pz;a-y3%oN!LJf- zokRx|Uv%;$MtA8X#31eVrv^klubIRs9-ZVnk*rb9Y2`{ub7OgBH5J+S3(R9x?#kI zAZ>N$Q6pn1sRT_AR>Oyr>1jXHaE_W;tY%Rz^or*u`|pTJn+)xjeL@*c@Y<2ymL^9q zh>iPZVrJ4bb#oEtGZ(A2G1`|%mrx5t;Qh;OyD&5E;GbFlr{<@dW9UAe&Qg9=88R)l zxr`r*F-YX=qL!qeDHGyZWZ#Lc!G$??W5r#N5|YzI=|u$H=6(u>cCz2eJ2%H+tjgqm zChZcq9S@YDk#`fvZ|ngMGpE_|AK_lIv0w;EN3G$y^b*!>k`|B{QlJpMKX6o-iS#+_ zy+u04@;so|cH7-DQ#?^fd$j9hlvr8dO8A-1D9Ah-4O9~Y8_LL6S+mgeYNUxIvPw%| z?xZx&Jj4Q}mfdj^d(1ffXRYRnOu_fRpV>9@OAQ6f6(RzxN zF34g@B4ICpwufsOzP18GZ;kszHYq<2Pa|y?VSDCgypj&0m?}F!7V-~70`*q_W24sLW}gefD7V$D=(KAqBjm64Cgy!u{gk8xu&fg>97&COfXwT_p*1 zsfTn!03ZMZ#+<(l+TAP?xmh4j!Tnr?c{QO5mna#A0g^oNc+JlyV71~$lSoj+CzSep zUBm80L}UU+*<#AmXb%C7cB@Cu*(~cxFdrM}a=4E>IE5|Od_^VREMv4*`eT^Jnpnhu z6vb|$JSw+E|8?|xB0C0RL$BNQksTEM*68d?ftT*errlE~Muxg_<>|VVE;pQfpk;Ys z5(N1};b@7e{Gh!I4vjcC<-!bW*OqA<6PwJq+Y0xmb+o75 zIe&+cX!rTi4~|Y@iX$Xk9!8+9OciLS)DDGyShfu%bOvd$iTpFAQYsCo1+u&_!E!r8 zEfvEB9Zd@YeWf;_MS=RPNX)Vf6Co~Tx*-!zSre+xs<1InG(mSAmBT46GlXr5Kndg{ z5)P$n5zabBpY>IGbX*_7hGm5cVjw2_Bwq(kgvlyZc$)~eFyREnbPsF0S1f5YJG_SR z@YtFyP~o*T*&#;R%r-Vp;#Y(=;A~Xop9QvKnEAQzIP1g@?lOWgsogSPI_`UB@3M)K z`Mc)x-2cK2O6p-{p50~FRpX5!UZ}O-|!oHM^wdm&^9puwT`Dsj8*K#Wnn6 zzNi*2Qf=J#kU04F=Pr97X1J4|ZYpc8m+$~z*|cYxwz3(gal;9%cy(6Xi$S;+Iij)G zs0HHputj9e?v=CczM3z?px!w~&PknQK|Vt69y`po!GJzyKZ>V;$mPEdFN3J4j!z;g zj1^x|NmwDKNfxy})OrcOqY^G@3CqSgTBHP_9a|?clGK5f8#GhuBN(I_Ck7V9$yhy7 zhWErNVdgsFf^KL_at*@-B!Sbi9K~3F!8h;@$=)}o7QA@!Ps~pukO4|GQCc35)V%ON zG*KLhwW7IIIKSpqjBx=`b)V0uAm;FXIQs%(E-XvuprK+v*2(oNAN+pQgW&aMKPUfJ zY7X}uYkr*SK@;N4`vD4ur(+dkAfS-=c$)dC=~%V(=~ETbAU~A^Y+zJ&C~>nSWaCo6 z4=i8b=c_fG$)9%ES+5GYBE&)Q4uE>H@edAuxA|uOi=oLpFe+)keHmOJRWp&BlY#bz z&-bKtS+37m);MfID7yTWD0am0#mLS)j)cTSGn1HcQn`~9O$qGiVhl6tVJCWkO$8YC zV9Ol{Gm@^Y3{9vD+ls`qa|Mtr%#(9lE=YJDfg}^D<49*^lnwHvXo2BMVp7UfqIf1`PGBmA6h%?RcOx-W#&ZOTa9vDvWsJYfSWi$2 zm$o*Abxa{W3D|T{J%mClf;NdFikp+K;p=#MpMzEI7_eD%+1Wm?_ zeSeNo-wxF?)9v=$7a--kA18njTe|?mJ#pC-OM;}Xj`6pVaxHEv%wFIrSpIUA66CQL zjN-77BUVQgTg~@lX2Mg&E&Q2UqA`-Pg~}`GUvn=7SfP1<6=o)Rj))SK?!dSyT4u$60joLmpE;C?mJowNvF?<)NGkOfVY|w_wAFh$YF%i4#5NKR zg`d(qr@~$#ROBZ?AhQoB+12HTHvNz$5+S~8B)M+*T$5!$g|03?s>@I8@)NpnGfQ7m-N`#}|<+|pLRbCaAGjs8xRF7By5W$cNzjG_h$^VvmOnito z&=SJjn0O<#Y#F`?2C$-hm{ePS1*(!8PL6_36(s#2bQ=)qLE1u`1U~`KT4S%?W zIqG=)BGUer#+imve)BKdm#Td0UGv*mzUgj#bT1Tzr)ufg4hy7lAo-raoEs5uDEKL! z_b7eWa44mLoV>o>uEMIvWa2yzl<95bvt{IH0+@Uc{~Gsx%fAANyiiO0`pj-dKS*mH z7?4#QT4lFYsZzl>5_d|i zsorr-sG2B@%N*;J-#bT%q(z?tGwdumK%0$>UB&P1dul|XG5b(x(8742~c zWKw_c5*D$mIQE|0*u;}!vpK3;otc$dh;buf0gDrYxyAs%fpsX?~Di4coX_L^{& zz5}?6WV^Utzmj0d?yt($8lxpZZ@XD1_+}HK=XNM!>M?W{&MDBy{6RCU4RyPk-c`P_ z2#3qFe^$o(VDc2XTZkWnx-Pu!X}yg)7MQ;Yi`SxH^DHsn3s zc3G-_cuzM&71twYn(XHD-Ilb1ANOh8Pp9D=TG2G487g#?~e zBlltdK`q)@2>!I&S+KE#fI932r4nNkXC8d)Wox08um<5dod0G`S8P>>(* zL{v@w_(+8r1L2B(gg8~XytD@|n5tA>s$}Z_(DoNFe~_K7sEYZf$!u5!_fT@y?u0Y~ z=D!-A>IWlX6M7j1z>kshUY!*^PI#-pb$)!nwt{@7DV>Cex6zqgc_Qr^rGwtV8GtE> znW3`wQ5p-4jezyo&HW&7U`yE)s=TrS5V?$#A5YEoc1{XK(8k3POk>>N~J_o z={Pz$;)*0x995(4kMf?*U`vh=!yWqRh#^`(jWeD}U`nmOrPfawO0AQ>uGSM0mu>fU z+GdY{S->`V38v@R?&RXg!*g^1U_D~~xRivHkk5l8lq8AO;~VC0>zChacZKqo>DqFJ zY=5!CpE+9@@akOppVm_h>_;wM$TNa2b2o8(Ad#C|;;0ER^P8fx=l4yKoxfSVgD9=* ziA2z~if>FS7+{3H<+AS!)5iy@bfs=Wbbg${&g{q3B`p_k!V}0!N#pSSlrjwW6DB0X z#{US@|5ZVQ!?q&p>`hU(n+dy)+3}Ghyyg)25u$v4ShU0W3sWMVgZC#h0?ZMCJ|`3f zTvqt{5(Tu4%y9P{ralqK#IDZ-6%G7i|EoG6PWC zIc(TPL(NUY^qz1iWR~bth`ZVb7Ns)>y5`>sCt3DAJHWr^2gHAe4}2#}N8`J9u3P%6 zJ<+*`54~<>--`$69xLzucmGj&m(NC&|6X=Lu6qNH>nvUiAs2>Rp83x*Cg$(Kt8Zh{ z{ytcDI4U(EAJk3DZAH#j&JyLQ+`T-fez$YPtW4br$oJ~pSIPXl-0cG@3+8}taoSF{ zq7?Zj6a$6z5VhvNJJryMjG);0`Q-Tey@p9vme~8#X5CZ;;}wTg>`3#=qus#+kv+WU zM)r+H$G@Zu4UpqfR%4<=lMq3SgtpC)WTq+9GEtl@#}pKy8iXZxmY$(+nXGcjm&CD0 z_BfOqJvAnk5S_@`B%7!yA#Ym-4acoM#EmI$TqwbuMpI`bg7SNPNg<8qD? z)MJ9WX6B=r(;YG06~mcgOK5a#$>4TzB(Lq)0;a0Oo5}){lzJQ0n)IDt&q!!Y<+RZ# zEJG+GZ)%SYavPqKJ@i33ter*fOgiZ2{041KArN1a*&Xb{l0eMYx`K@aWad6wNMf$} zMcT~{GwqQUIYpmfQwqKU{GVh*5ovD=Qp9r}IVy|ubCggB0TLyvH`^#J2bJ<-6%p)6 zbf(lv;3Z+4or99WB-yk|2SSkqJ!VDfC6;gSuiV858B(4-hB1K=Y9^;-nuqn{ROrt} zitAB`1<|@h`IPAh96za9xx#i~RyvSpCM>OlkI#hGljce5Wn>0MuJr}7<{U#8<}Uj{ z+qRtE+24kFc#fbd^AAnB)tlzf$$t}Av21^-1682uyfOjxhUhm&l?TQN?)xLp{)_(* z^t&_zdY8qxD3uN-b_|QyUd#kpC?Ix&Z7bPKM|E7F1r>rJ6&NE_2dKmnlf;8K_t$`h zs3ez{+_fdT161BA;K|60xfud7v{prOGfSW0Qj2dFZnT-OCa zfvgBjy89zWbebg&0!=Py7Ki`^(;7tk5#jO!y2I<-9k=xzz^bp?S4;J%bbY6VN{HYN z9_CkSNreg}%r$l#;Zws7aSPkB*i=0Sa>*c`k%2G6c+TH?I8i8cXT|O!<|#fS zX|Lr+W_EwY?o+`Gq>%G!wvgyu)y>aWRBTxV`l{Fy1kbX=DJVl|jd)2|O$U&KQsDxi z6BF0!#4w6RdO4MHdHKD1`N372&u%4=f(Q78aeP*(^=3y@{b*z$<#8QHMJ>HC>lo(B zAP@kO-iO7W_w0}*Q-7rK@)Of{_9){;7;)L7;I)EJW3aw_!ZxOd$$Tj(AsG(bb}6gimf3eZ zaKqQj%)4jDa!ZEfO_j){W*6ovq~dW&CEii7+r=h8SoYu+F<0P-j^f}~RVcQCQH(Sm z*48H2+R4UIUWBA!?n&Xvx|hw?^a8ei%G!#n%OF%u(pmEGuc*Im&ydmBPf$ zHBm`CKqryqF>G#OmIZk9H;p=w*Ptj}ookDs<-&xjJ*kDr(j=BwhPot$ppbAa+Gf+e#eC1tqy>4=g1NTH-;nawe_ z4i%DC_#m~&TP&?>0JDfHMZ0Z76u3yNKvn!dD(k>Mw*&$FxwD>$o4 zImIXmnn(xmRNI#%o2%Z1d7BX`_L2|>;$s;(AMNF=@6->6L7s&WlIBQ9G{e2!pWQWTt4rsxdVJw+P`(?h;vY3yUdJTw=&%cc|Q1$tCQz27wKI3+-~pd%U#l}wpg z5x1)S3-_oFf!Q>9i~AWmmYg2mGA5jaX)87Nc>#Jk-GZmS0G@?vJTE{N|&n{u}n&2Q7Mj{_YK1|mijMku>oK*K6Rwx5zCL%J6$UUj*tE- zn4Dr0Ejy7o`s78yr^1eh+I8m=#=|J8hS2)c%umhYO?A6f@`N^FTT-{xxP#Iyzsww6 z=h+sU>>xUKez&+({EYYpLttUgv+`VxzM?Ig-e}p|Efsrwv*l~f-)=cqI1*=>M;XVU z!*!@bojqTZA8Srv%X`?$+9S@u3#J@+@Bs20tO(%b3ZD@Yu&spt#x`P51!PS*h$DYv zcQxlfan?$>txW?ms8cdkRnSZ7rS+#=3+7eJjh4e{iX%?HQtvPQASrpXFs%K6)(dRn z3wj_BU?;abyV$(NNCxo@cxYoKGw*HRhQ)~g&`R7f+miDw;EsO}wlp%rq2$rm8e5O~ zon52ZaC5IR0U60;+U4qj5X%gfDc^M#9^zMec4|*Nm#DQKUxXJwbymgvSUV+lBr<|? ze;Cm!Jy?W8spn`D?fIVgdXN3F$H|+(WRM;O$nwfDl4N;bKug0p!z;pxP(v2}?^^y; ziy@Y`ODtd^3HilKX0moBa5q8}RGDop`!olHHVLz35$K0-a4rr3^_3`nXWQ>-+k<^j z)~6v2X`R8vvmR*M|K{vH0Hvy~{r|JpK67U7+)9@waJe8=z(P@!5{#nJkSJ<2K~WJB z^Pc7?DIR8Ul+V2>g}#fFO5ODtGWg1w^<{eQmu%pfKvzxV%hnKNfj z*=6mu*IsR}m2~43l>lL*^tt%1ZPWEX$g8VQtOBh_J*}lORf&ZxSpz8#% zv=B9PNzO_=ao`p%o{|4z-gk%KFKi1jf1s`1+vN8tY~nL*X$+3g&+#4Jg{lFW6w;1r zRz4I(Ae)DNlbn$2*d==5kt7h%MlD?Wq%2Tcth7+++kXbLg+m=B*5}!C;B#!ND zVO_YU&aM_oyP+;!SZ9ms>?(eNpbPLOEU>ZV29}}x3RI0PVkc!r+@R|VQY5Z!9sX2j z%j)co{E6G@{LVUCRc8<8zwgV_35`jTekrUHO=h6s7FnaTYG^&u+C(2q2tjdW5+iGM zL7jIVF;NV0ZDe!30ZM24!2a%Ld;389jqQU@XE)|(?K5%OSy%w?5+a3ec1^Ga;wud@MQekUTujOK~Eg5NDp{odgBfx^OJdnEYk;J;?Z zYqOPH#TDvgycUB9Zy_hPW6-gpP_C`?vMxg0YugL8ndeIBUYq>hx9Vp@GD}rl6x)oK z=iHdi@LWn{vS3o60ljFVgeB$5#hw@EKxFxt!^!W<$qPKF*~V=(C`*3dl#p6akk_Ab zE*7MJo^FA7IOU%*xqjG~OyE{(OWd#bFizb<#?a#mzt@{-PYqF5-2@xN+!HO4bSk^Q z=3OW@Qec6?{D-a?lFVXyM{w=SlslX_20!FI$r6Ams+d)PjHuRBTX~gSd9VUc*3ECvi zq`MUAJPjKG{Z&6R??rJnQWvW%O#%_R=|FKhlou_YsF>=~xwEHgjsSX%{$h~5Cu#;Ub4ILH?bH?Pna+$vnV1$8 zxKa@Sbu(s~lJg67$1z#K7R%|j?G!uO`Ph^qpOlXs-6kT8PpL^R5K@W!^T*O&iZ$q$ zmJld2OUda)JEiC^lV{c^uRI{6j*QOeT&>?v)==TzgG*|MK&c>Ly{Gp-TSxh_dYW1_8H-633V zk00arAH(z0DZ@AIYn%540%`iUeIc^&(r9WebW8^*PU#8(M_ft91`u)BH^#6&XCFhA zPaWe=9^;=JgJdghmV~Txsb@B8ODkZY6^uFEkRlAbYq3c4m-vLFS&h&~#@kGg>p*}g8k1ET)Gk7^mS3r2 z8Qh0i4u2)8^cy|kK`=K~LN_m#ExEyoE6Pnn0e-%|8KN)`UWcULc{9(U5t?yWxX=qa zfpKz6_hLv-4LE+O77Qo1BEIY$i2YOp{9q(0Mny#_39*%~;$#Y~AshqCa#n+jDfUk- zUt%@q`_V~rd8?k4X}@}f%_M?Zy({t|ycD<+`+Wd+kf+)uXG-HF{y6_DVRH&({KmN9 z{*Z-F1aURS`=o3T{v&=_(d@zTT2^juFc{af234eZwC?vCQ!AI_R}lLbe{Kq>v&-Z@ zd_xgQ9vexNBY#6klt0&H{fHf(O6%;&Opms7lKf`JL81z~iSG!vHbMS}a4FNg?o=Wve-VkXD_6t4Du z$45gP<*3U-J$`r*0L`|kRL1G3D9$^RduoKFx%MbKvXHFI3r@Yi^`Ru`yo}mi$U_1?P(i!J!z}I3CfTwzIK8rPe={N18HbYPCflLX5yVlGyouNCdV1 zurxb=%>24c8Hlfgn_&pfC$NOyjjRDztxpeOp&cnseW2|a5k%|=qs3ldNpeUJP?RE) zVT>DCXjO+zuqaJQo;U{Aq7e6(d)KTxS9@ru#f1J)?+P}lG{ra&Db_iG4(n}ZB*7P! z?UJ&#Fo0B?T&$nvFI~tsAJE0?oLovgQDw#y@#?32yzKK4)2lfe=Kw&-%Pw!lZvz+% zH6S(3=TnzlM^=bEY|}X6rup)+jw`e&JF>x)%*4mRMWqTccqwxNN?<0CpD}9gT+ZGh zX(o0am|B~a3ppa-q`HZyKvHjI( zBTa=aqy1<=ogv`9TWgS1fPP{Y-q&V=chK$ny9MX_i-O-lSS)ZS*2?7e`;}susxUAU z^No#GBEvj~cO=+DR6fmj0$VYiG6;$sX!%i@_pHAlo0e;7g=0R_s?4c{a`31m(l)FM zp^?_M;?tPigkr`Xsbf)DQjfh-8|}`i=hv!9_UHs#Gr=F7;AT@&o?3G{#6p~@80 z%UWo131;cu3BG&+3*p~gPoJ4!&rXPBWTb${fnEXqDD5kx4?-yXH3Bh9r~XOj&AuO2 z!e}cf6j?KI?x5MdlVXY?~o2x%}M(Uz^4buV`*l6Ws*VxyuNliH4j$t*fG(@PLMXD6y zG3VK82^yCF7FOqH*_LbhGd0{PB@2*bnenVx;jMamyWZZa_qRb_$MNd!2Cj=yy{eTj zV#@&A>+x%XO<;3WE58i|6QF=t@YhztkG1ft7YfJYTlu`R0Q|F-jEewE+)Z+Pgp_Ph9z()bGWlXM;;1=QlCS1HUg zebH7loi+ifvK{HXwM$>t}wu~QXei;cc;N!QCOZAE)~u)ROr-X3ai90`5dHYYdFjko8= zg9?8~O8mv~h3i|}60$MJIpc~VcpJ%ijqm09zDvL3Ot`;|t)@C=$foxGrCj5s9(Y2I zX&c*XBOs|buI=E9#R23YvqW@dE3UJJ?U19sRB-LPe8IH8c0 zJNoJ4?S%1m;&?x0yj|ViZlkKb{*eUwd*el(4OlaVa1?C+?n5T4rb0`psR((ZZQwVc zk)S2>XzrAXY1SIHB8v3|8F#hOq58qnR$yvnU3eEqW9DwN_dqc2R&L=+uh54h%$Tsn z`qvRE$S`fAUK-+qVMoycY3m3+k&&qVThd$=p6qa>s{L6-B36h6u8N+x$!?p1_M5OZE!9x)DK!WAefRVh?^*0^ zy|O-mSj5?OS<+med_f@c$f1e?qEZ5sVz(5Dxw$n!txZ<5Jpd9Kc_G$wN&W7BZf`4q z4{$*PObau%NFyA#28U{s#iR#@3JRri3F9zUDh(o-oAZV_k>zdTcSYu(c_y-(4{Sb# zCHCh8A^%PABDn*}I+MtU6458E%$L9(DkgN(9@}8pZoET)_bGVOmQzi=N%c zJDOyyRPrvaj$eqY6u)7tIXdIkj11CKQ)8`N36-qQ4Ky3S01$Aa?KDVyq-uyju5Dlj zq?J!2!gmhD2-*Wg^s~bh)w>~?xvhPMa?@FVD&OGYCc>aZM^gM`y3!x9)t=ro*8Vuw zt{eL;B4INm&WE$x+gZ?Q+B&yADw(3+ zKIU7f-9uv;msYrjbwj_D;u0_RK@2Y|N}*3_D;tTF(faeadEd%g(YhKGyxK|Hsw_CQ zYk<-*#X2ZEb6Kuo+B1p-RMVZiJyKCSuS~5j_*%!vT!nh?tl=Bog>`Vt5alE-O;&Z| zov%9C?9TFrh`_#3aX=Pxoja+`P?V6%2_eF4D$(V*8G_xP%)2TX&=gx?(~>PqdM;0Q zpt4*amL0Z*tI>qp-ul7}azu@nPrl@AI$$Sv2xoV&vsjDpnvP4GSiFzaoD;kIST0NA z1n%+Q{ax$=ek#80p!suSRHawR|&YcSfW+5mLa~=WKB<2X}zFkc=~cT z+tAJa+6{Zw+1>1{Zgy@rduCf80dVi_ZV#wR_RrX@J$-pkUJwv88XX`Yv_f72x*!V5 z2a-Zlqm5j6aCkFVrrNoO0|T-sLoKqyCruV_2dvli@bx|X%^voC4<=Q~X7u!p&G6jB zDeU1l^q}tJxAXPAaZm1Puk_ZLw$o@lnsb&-J&$Eaa+W*BrB!%JB3-{7&AY6pFX-tX z_3%%7MA%`Bp;cm>BlOg+q`A6sWBq_h06aJMG)98sZPl*hU?T1}cABLSR(EXDT&055 z_j4Xlyny(Cd~)T_WGEvzIJ@~a6xxFA4Kqry3>&7TI~52ibVH-QCFStIh zuRo>V_F{{zZHeRmSs#${lD_s}_pquv$B66q$@%%w?&0z7_E>&pb$5t>loSo1bBo3; zU$vPSajH#jT{tJ{�cpLSlKKZaOkdZ~|m0tF0FXQ-n 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 TIlEZRrqd8|~N(P!pjv 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®+X{Ft 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

        6v63dOWR0aQG`iLsez;I~I<^&JRMs2)` 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�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ë`;M`ApH<+=E8I-g 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 qP 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

        ThraPY4V{wd%;2K>Fje-8LJ2mc)4KOX$IfPWtF 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

        MIT1hwQ#os&k>dF}kjYu{R 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