Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add devnet 2 #6

Merged
merged 4 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ This repository contains the infrastructure code used to setup ~all~ dev/testnet

Status | Network | Links | Ansible | Terraform | Kubernetes
------ | -------- | ---- | ----- | ------- | ------
Online 🟢| [devnet-2](https://peerdas-devnet-2.ethpandaops.io) | [Network config](network-configs/devnet-2) / [Inventory](https://bootnode-1.peerdas-devnet-2.ethpandaops.io/meta/api/v1/inventory.json) / [Validator ranges](https://bootnode-1.peerdas-devnet-2.ethpandaops.io/meta/api/v1/validator-ranges.json) | [🔗](ansible/inventories/devnet-2) | [🔗](terraform/devnet-2) | [🔗](kubernetes/devnet-2)
Off🔴 | [devnet-1](https://peerdas-devnet-1.ethpandaops.io) | [Network config](network-configs/devnet-1) / [Inventory](https://bootnode-1.peerdas-devnet-1.ethpandaops.io/meta/api/v1/inventory.json) / [Validator ranges](https://bootnode-1.peerdas-devnet-1.ethpandaops.io/meta/api/v1/validator-ranges.json) | [🔗](ansible/inventories/devnet-1) | [🔗](terraform/devnet-1) | [🔗](kubernetes/devnet-1)
Off🔴 | [devnet-0](https://peerdas-devnet-0.ethpandaops.io) | [Network config](network-configs/devnet-0) / [Inventory](https://bootnode-1.peerdas-devnet-0.ethpandaops.io/meta/api/v1/inventory.json) / [Validator ranges](https://bootnode-1.peerdas-devnet-0.ethpandaops.io/meta/api/v1/validator-ranges.json) | [🔗](ansible/inventories/devnet-0) | [🔗](terraform/devnet-0) | [🔗](kubernetes/devnet-0)

Expand Down
4 changes: 2 additions & 2 deletions ansible/ansible.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[defaults]
ansible_managed = Ansible managed. Don't change this file manually. Template info: {{{{ (template_fullpath | replace(playbook_dir,'')) }}}}
stdout_callback = yaml
inventory = inventories/devnet-1/inventory.ini, inventories/devnet-1/hetzner_inventory.ini
inventory = inventories/devnet-2/inventory.ini, inventories/devnet-2/hetzner_inventory.ini
roles_path = vendor/roles/:roles
collections_path = vendor/collections
forks = 50
Expand All @@ -16,7 +16,7 @@ fact_caching = jsonfile
# Keep facts forever
fact_caching_timeout = 0
# Where to store the fact cache
fact_caching_connection = tmp/devnet-1/
fact_caching_connection = tmp/devnet-2/

[inventory]
enable_plugins = script, yaml, ini
Expand Down
62 changes: 62 additions & 0 deletions ansible/inventories/devnet-2/group_vars/all/00-defaults.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
ansible_user: devops
ansible_python_interpreter: /usr/bin/python3
devnet_name: peerdas

# IPv6 Specific configuration
global_ipv6_enabled: true
global_ipv6_subnet_ranges:
hetzner: "64"
digitalocean: "124"

######################################################
##
## Role specific overwrites
##
######################################################

# role: ethpandaops.general.bootstrap
bootstrap_user: root
bootstrap_default_user_authorized_keys_github:
- barnabasbusa
- parithosh
- samcm
- savid
- skylenet
- pk910

# role: robertdebock.fail2ban
fail2ban_loglevel: INFO
fail2ban_logtarget: /var/log/fail2ban.log
fail2ban_maxretry: 10
fail2ban_bantime: 600
fail2ban_ignoreips:
- "127.0.0.1/8 ::1"
- "{{ lookup('ansible.builtin.url', 'http://ifconfig.me/ip', split_lines=False) }}/32" # Avoid banning ourself


# role: ethpandaops.general.docker_network
docker_network_name: shared
docker_network_enable_ipv6: "{{ global_ipv6_enabled }}"
docker_network_ipam_config: >-
{{ global_ipv6_enabled | ternary(
[ { 'subnet': ansible_default_ipv6.address | ansible.utils.ipsubnet(global_ipv6_subnet_ranges[hostvars[inventory_hostname]['cloud']]) } ]
, [])
}}

docker_networks_shared:
- name: "{{ docker_network_name }}"

# role: geerlingguy.docker
docker_users:
- devops
docker_daemon_options:
"log-driver": "json-file"
"log-opts":
"max-size": "250m"
"max-file": "2"

# role: ethpandaops.general.prometheus
prometheus_container_networks: "{{ docker_networks_shared }}"

# role: ethpandaops.general.ethereum_node
ethereum_node_images_always_pull: true
148 changes: 148 additions & 0 deletions ansible/inventories/devnet-2/group_vars/all/all.sops.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
secret_zerossl:
ACME_EAB_KID: ENC[AES256_GCM,data:MaFunLQX31XPGGuAdmXJEb+2jMVN5g==,iv:QjZR7VKAYrue+i0jcld/tmQi3Qwfw6HogpLVzDRFpaM=,tag:kuc2r54Osz41eMzWou9wIQ==,type:str]
ACME_EAB_HMAC_KEY: ENC[AES256_GCM,data:VrtHU5kn3P7yG9ek6x5+k7YhvIS50q+0T1+ryJ+D0tZeQcp+tuPUXDYk9PFjVdCy9gr1MJF4OiKU+ynsd3jhSDOlyJGuZqyLfqSSMER6dntXdyhqSKU=,iv:tbxaCn7+aJUh8JsiAQ1gnMLyqm1aAnPSECjI//NLqLc=,tag:UyJvxuVHYIrjFjXF36R2Cg==,type:str]
secret_prometheus_remote_write:
username: ENC[AES256_GCM,data:qrx8l1iyav2ILWIBEfOZMA==,iv:+yO5APfg2qK4TBqrdM4TUzLIxhlOcmh9uGA5MrVdluE=,tag:xqJMbmLFb4KxtmaA0Hrqvg==,type:str]
password: ENC[AES256_GCM,data:S29UyYV1ySAmsA7JkjWeRXDRhyjQH9iR6TbUI7aPZkU+Za8L,iv:6eT9fH3LFdgjk5JVrk/KvHYbOsxdO3d8whk8bj7GzV4=,tag:PhsAUbbOqYp4TOi35VFCkg==,type:str]
secret_nginx_shared_basic_auth:
name: ENC[AES256_GCM,data:bjlM,iv:DiOGlqfOfrDlt7X4OGY27OYlkDDEHguv+kg1zRhBek0=,tag:ZPlucwl2PNXeXcOc8PmCBQ==,type:str]
password: ENC[AES256_GCM,data:CeX1jyv0KDK151kGStjh,iv:aXD2auKPfUAHolr2ucFNPr95ZrtfD6ucwJhGeGTwUF8=,tag:wVfTl+zuf5IqynDdvxNRNQ==,type:str]
secret_ethstats: ENC[AES256_GCM,data:HIwmSTRE8lJq903D0Vig1PldLPJ6QVh9ZQ==,iv:XQ3L/Jn+1qeF6Qqmizu4iUsJXKGvoLovNtxlns2FIoI=,tag:JM98o3sPU2ZIDOif+y6rlg==,type:str]
secret_genesis_mnemonic: ENC[AES256_GCM,data:ZgfN0UKNL1/1LfDuurC7vT36tYtf5pIqdVH4KDmh8m2qJjaSjLZN7WHIRCLH0F+6EdTP/BnqwDrVEJInOL447JqqWRuAqPgaAOE0wP9c6WtTFCE7zQShTc1gmWskBDHAX8EEEqxLn0gBqQu+NGlqx/kcTsr5VcihG3dX6vuXAIH4VNMywkscPNX3HLaNhrJxMPdR3rUECe3VTZE7cHpdOBt89TZb,iv:hUwVngpfwfoQS47+XEOF1/KnPvkWulvp5fvBMHxYzkI=,tag:Dd8dvLDqbr+WwotFPic8bA==,type:str]
secret_mev_signingkey: ENC[AES256_GCM,data:7xug6L4MXETqWb7cmZS6BpAxBercs4mnJEg1NKp+LwZjCWl5pPAlTbfZASwXVBMo24Xoqi9/FbjeJML6WtaJ2Q==,iv:UGcVz81+wBNdb4cmkg9t4tSamqOaBUfWk6glh/6jUA8=,tag:W5Y00+vamA2tq2tEpAEhQA==,type:str]
secret_mev_flood_private_key: ENC[AES256_GCM,data:2vVJ+N0XLer202Dc5J2HVjTEW6XUa+LpmhS/mo2brt+qzabraTSaD7d4P5rVqbovW+W5Je5FdDr4s7rScyn/RA==,iv:1qNfUVqJ9eebRmA4Ly59KFR9WmaQ8eelSvNLJAWCJ10=,tag:knDhqt3zak1OEsHi2nQ3oA==,type:str]
secret_mev_flood_user_key: ENC[AES256_GCM,data:+XXSXUZdEKClV09Pfy/YWULlRl+5njMWcKOvPwuF6YUWHP2spLbJa8BnOimxxi6v7ioGMXEZW7XROVqqQiY4Aw==,iv:efkOBcrGeGJwT91SR+2wFI/fpnWASQeqjH3MJSIQBAA=,tag:KjJMfc7VgZkc8cy/IHrNNA==,type:str]
secret_xatu_sentry:
server_address: ENC[AES256_GCM,data:U3A2QJfVr5/cj7sMbf1C8ztynZc9MS5K9tstLiNYRzhGtC9ZU6npoGL/xsV8y5Z8yg+Z,iv:fuAuq7J/ksqoOiUKMmL96DB5Qbx6HJs4qHVYMoAziOE=,tag:LhQAkrXq9QsWrUneltJXig==,type:str]
user: ENC[AES256_GCM,data:6Rl/PXMHqw==,iv:gHXmk6tie0m6usKO6v9kwBI3BW0Kjj04wuMiijQYVbg=,tag:qjLt4uzXQ2s3j+xvEGlYFQ==,type:str]
password: ENC[AES256_GCM,data:Qs3nM2MRodo/iUNB+w6ezZo5jIBpWp/vjuZmzDly55IYMobc,iv:qdGn0xmCaDu8W+y2cOh4tDaXz9eifsMc186OqaPFcAk=,tag:kiSkV9uWDoAtzSSWkHiZ/g==,type:str]
tx_fuzz_blobs_privkey: ENC[AES256_GCM,data:XUiDF6puTOcP0veM5k2x9PmPSA2vP1FeoxSY7rn0bxLMB0b/DsB7y7bfsjBlgPIiL9f2AOSfsol8WWxd3zT6IA==,iv:qTk22/lpJyWFycayBupQp0sBaw2E2oq7peWypQh+0Ic=,tag:Eeqpv2JCfrsQd5ovOcpdVg==,type:str]
tx_fuzz_txs_privkey: ENC[AES256_GCM,data:c52KtPzcxyZPj3vQ6tx0Di5uLFy5JoRUSZ5ZH/WEj7nqC7JTwRw3+bNPk8Y43wjE7caqRZ7eq0la0Bc42ydpew==,iv:gHO+ttqzJCbRBCUvmlsTVNQK6vpnGXamIag63HS/fas=,tag:1Qultc6tndFGDuSKjm/TVg==,type:str]
goomy_private_key: ENC[AES256_GCM,data:+AwqAcOobrvR5gXxdABQki0rH41Ns8H3sJvVtQb5sh/596u1oDPq2bEh6Tpkfx8B+x4rSp+MRQi5wHwk9/Nqcw==,iv:Ibm4sLvU+tNk7EqaSPs/2CRLU1yLlNDgSWjR+uNPrvQ=,tag:oWbWW/jt9pPTWFcRoVTBsg==,type:str]
nethermind_seq_api_key: ENC[AES256_GCM,data:Zg0SODORD54P9n85F/2cp3MiQvQ=,iv:tNCA6W6hJm1PybTE2piAhfUjDKCqQWeN2FQfgiayJC0=,tag:Vo+R3gcYDAAGRPq3cMcvvA==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-09-24T13:17:05Z"
mac: ENC[AES256_GCM,data:s/+sUGu0zFBv6kIJBf30NSYLNsI4D1ajBWJZ3m9bvszD2ymJU53ZQmrmDK8+ShIS1aO7g3d3/L0EOOCFoFP2RVO2CaTpRIGshlBqDcRRyPGllk/8vk9J1X919gmaKNS1LrAqwyvdiEPivYDllC/sMMnchp6JumcaWYSDIP8GPEU=,iv:nITrYik72sMDhDohwjIuXtiLu2rCjBOXYl1g41VcbKE=,tag:fO3rGKnASE9a+sHtpGtwwQ==,type:str]
pgp:
- created_at: "2023-09-28T11:48:21Z"
enc: |-
-----BEGIN PGP MESSAGE-----

wcFMA32GcoRiZf6pAQ/+K0pHUTKocKocuNwu8d4rWDcVWqzYk2GaOynxQHmNlyhi
TWEb6YUuE6aLoXL8/Wwx0qtBTESS7g3UnjnukLukOW+GphZZuDVeEre1il03JaiD
rUpQFkBiWQZAZbzVHsg9OLQUhgrAN03WfCQW6eL/IP61q+S08OSHC4Yn39EJWSXp
QIAwRFBCROF21IYeMAOZVjnfVykVn3sybaUuYqaSP/LhKsc3q1lF3RFM7MP/zv8q
dSwOCsw+uprIUU8z1j4CJDjzitlKxfsAGHVCipG63WfuqhmtBoNMl2tCIMYcw668
fDoECYOs4jlNuMxa7bGoAHLXfezqS1siy3T/YHYic8maf8PkDEjUKWX2orR5LTWb
MetbUwaylRpJ9VWlBFaXa/nqMlair1SHz3XkARnnR6blVh1AlxIEYyXsCNk7x3cV
7wDRkyc/Vmf1MzoVDHSCwjgaAS/FpTbPM6iysG1bDUktUENwDoZ4eS4KQ6D3tvFh
huWCRnwCvNsLdvC/imlWxSYr3SF2WDGR+mEbmSJcxaKW/KkhP5EG3qGQa48txmH5
hi/AnYXKMgOyFOtjrDJJfCVW/bRd/GmO/6fbu2twpKlbx3k3Rrr5Jwa5hiYAMKr9
h0KUp6s6jF+hyNioXIdlPD+jXkf8QoO6zWpKoy4oItr5D4GDRTCebmfxkk60pCnS
UQHNPsBsQGPD6059xZQ05BvHk8OISNohfeYSgnRwFeC1PGO8jMj0FyBbfm2RkX1Q
zZ1X96Q4FI2bAb0aimqiZGHG8gq+DfhrrfaPSvSscfEyhg==
=5jV7
-----END PGP MESSAGE-----
fp: 80DB2B4EF6CA4D9829C280605636BC0E08138A24
- created_at: "2023-09-28T11:48:21Z"
enc: |-
-----BEGIN PGP MESSAGE-----

wcFMA87Wber4r4dGARAAo+HyY/BCDL7QhVgD+tfeMYikHg5n0zbqduXIGchgG+gk
o9UKK3O6F8V8mWoyf5Tat8cQOZpizTY2nGDRde/6CGLgOak1FRHDb8nhCuiiy6mC
ChuzerSmpYsx6UpqRhTS7IXtmdg0p3pe5o6JCZEUKrvP9ijWLQTUpy3K2u1H7qRp
SWmrvOiAQ5LjbYMl3lU71U0oykc3T/7q9fiZptZTFhzzDrBLnomp1ZdUmRzYtbhx
3Zk3QLhEJGRdQUwHEIDKGVT6AXS73R2xBZlp8elmwM8T5ze7GzOo16RRfw19sV/p
jmBZqhNZD7vb88jtoMa30FFj8kp5rMq1AvFeO+7PcnKvW6sMDX7iaaLPZ2Vzg3Tx
/AtqShFImJr9j0Oa3B2THfGk2hsSJLuwpWIuJhyADrgijxavS3I//K5taJXgNsTY
ER7junq3kZzfBIpWQB7e4DokvbE87pBF9cKdNRoPGr+iy1tvh9eex+eThuqCpuy0
Ot6HR+R3M0GAnqXZ+dihBMxFGpfadYX7dcNMXc0Uqpv/rgq+fUgz1i/JwjwuMoEW
kcnqjGDNsYGmG3/l0RfpmvkLFPt2Niji8DXl5Zt8ti8fW7HON6ddd57uYQ1o+O9m
yGetEZOF5obJeQPNWXXbYsmEZwN7EcRBMhivVamouLAe/HNYgJdQHOcCSW45ZDPS
UQHXFVtY2va6BfLgzZDKx6bGGUWAZZb54nB+5Rrx16tEFJekOHTmIBBxD0zWiMKJ
IRJh1DtPleiv7M87SBAWVBqLSY5ZBfiElQs9MiO7oIGkxw==
=6fxS
-----END PGP MESSAGE-----
fp: 69F66EEA7AE36CCB77DDB8CA1BC39532FB4A2DBD
- created_at: "2023-09-28T11:48:21Z"
enc: |
-----BEGIN PGP MESSAGE-----

hQIMA4hw3nPn82LyAQ//TAEBuAoCaspDCZMSloKrzEN64GIv2QJNy4PdTcx/3yZ9
JmYaxNG4Fu6f1xGrpwoUIOIJQ4Oi2osU3xP04d4gi7hEUPbEBH0V1QhHbB2ci8Ry
Ylf3sRDGGs8OZnDNHSRMc1UxYRqoK4nQEalYqTeiQGOvSBNMN9vJZHyAvx8hMHnM
Zn+OPuJ8rdsuXQ2AnAevz5pC0Qo143JDmdUl7rTenKT05yfEfF9aKSIrpjg24fgZ
nl1KMCZzudfp3wZvvR7HIy2LYG/dLd4SBvQVsLPpDRhPR2ieg520aiKTfWT1i5zR
fBPCzpgVzm9ex2QPBVpbt7XrCwmoU5ltWRg730gGxzIl8tWU7xR7CZtVtP4qMVuv
v6dFwIJeLLmPAKq0WOo2eNOmDdOIcX6WkTMocZh2q7N5VlAZZFj4/o0Pp/mhaG2m
DNtZuxLuNXhXdFvuP2bCwNID/4tEJya3jcQFIby+zaOGp/mfxUmuK83In9WzPTfU
rNlBe9i6g5nwfNmVyl7/ZclNpVFy/95KCjFv1ZqzE04DoYMyDLqSJ0IgjiGc1x40
X6Fm7uIVDNrNqZeOyda7CDxsiNjyFNwle8ChqEoohuK50wvZonL+5iJtYnEdfdZT
q8gMtiqAlYMoPu4USxtVS8tbzjJwSw536jSHcS+QWmi0h3htQB81X6Fmokyw8SbS
UQEci/lnKwM0fmilDWHn85sspZN9h47NFAJ7sgXiSrEUDxLUfj4mZpUWOn5U61eL
3pbepyoDhznykX+sQIeFvpSJ5AFjoBetSewP4OGgZ/YmZw==
=1Tcn
-----END PGP MESSAGE-----
fp: D1002590180DE371BCB455EAEFCD4ACD0B4D3F6E
- created_at: "2023-09-28T11:48:21Z"
enc: |-
-----BEGIN PGP MESSAGE-----

wcFMAw01qfIBwY0JARAAv2FxRfh+MMFJFdnTGWOS/i/SSOYqlw0Fcr72OYPHPRSQ
XXPkM065g117CT0aUhTwfs/DD8aukT4mwgxmXwM8/yI+hjZ0uT6Unmwr1PCo5JN1
tIvPDh9ZoVxi0Wq67cIu96eKzlOLU6bWfz2HayxiSNIAQjUvHNZe8GJ5WxXj7W57
Zx6YsDTm0Fsd3ndyhC61wGdqFleRAerturQAmgVdbJ9JeNpgSHQXUBtlZtLEHWRK
d3te8AbkkN3HOKJ4OKhQv2htmHM2L1tEM++l+1tr2r2ekGetzZvLm+5bksAwdwkS
GxCnyTU9sC2CLmdE2QTGrhlZd3YDZ/3WcDZhKn+xHsOBFp33Qy+yVSGUh/XDYUDJ
xR2HDfdrS1ehmiuQR56YpDM6VtlGAlFkw9sQst5v5j6U1dbnjgouX6WxhAzOoMYK
uR6x0KY4EEj0DugrSPMFTCSiwqONWVmh5UnW/R2tDfS7w+78NZmIlL2rEG47LDo7
+bbMHP1PDxoNsTq6kpl9vEY4tREkaXGZvTP4HXfd+01GZORQ7ybPqmEMC6AuetdC
NRUYoh1BDP6oTpZOS0qm5IihGJRIzSDl40zAVdDQXkDdgPoGov0XWJYTmXcNSCaj
sUdOHj8LZkVHCKG7jHKymR2uHkJ9DDNj07zdCEUwIPJq0IvazgdFebWcCky6MbDS
UQHyt+BqP1M8ICtXlaBrREkZPSzZvLTJLgqrs43EVOpNH1BP2U3X4T8LgdWVYHGy
oBCC3fzJ/F+gHQgUgZeb78FHBppXtZzWN91gQyGso0z0VA==
=l9+P
-----END PGP MESSAGE-----
fp: B9F81F327CF5346860E85269D7AF98F214C59E4E
- created_at: "2023-09-28T11:48:21Z"
enc: |-
-----BEGIN PGP MESSAGE-----

wcBMAwDFOgk9tOQ+AQgAq2I9Xdaf7oNR3GNtgnpBeLMlm9i6NKqmLWCWZpa6AK5Z
yGYFRAya9/FEzdA3IWTLPtK54PExD22Ltj36YgpXLTzAVex+eCtvIq0ADsLa9dwm
2wB6ZcNQFBP6XlovHO3dP1cAf1z0KMWhdZ3TaS+6Su775t74t+eqyAY80AO8HhFJ
+mx2ryYTau2eugQ97ijGFCrb4e+3C/uDjLkPSFN8EA021VcyPJQ+3wN517LcSw7k
OgQ6dGCq1eRcHjlu0SkiMBf1G7l5H3kzPQqX7Mbd45QUxnIUScS8UEO5p6XLm2jL
54AR2iw/ztVm1mQD4hKw6xC7zO5nbNpgvKvEqGLVQ9JRAabGwRVVuTGLyIV+BYc5
y/dFrT7+apeV9oTpjV2dxJ3ShxgO8QaEDrsFsoRmSjrTTa+3yY3q5rcJv97hTeXw
iuC1i7RZ8drFqIbzMVIVIz0E
=4RwK
-----END PGP MESSAGE-----
fp: 0600D41E1313E31016F7C55BF597BC0C5F22D1A2
- created_at: "2023-09-28T11:48:21Z"
enc: |
-----BEGIN PGP MESSAGE-----

hQIMAz4a8AV36xppAQ//T+sI4myUCRgzDzLGbILleBgOo5kxtWsqUvqyg4QZNsS4
+t6oJKgO/qOc8u/O+FzWsTRLzHYolsqgJx+wmwTQEQi6yvrikwxHG5GLBbsX5hn4
KohjQankBEN+GCmGH+R4fXnXUhERuobqByosbX2qZY16gaaToYbhFqBh1zBvFkCn
MSZBjvgVQmHEwYtR5/bbUg5UwlTnROcNhpQndkwPt3b7B5+N+H4Dw4aJUWs0SX/A
QGkeXmCNCWUQQ/wpK7doTQ2VcX6jRb9Ocrl+JFMRGWentgfF74l7Y98T9brv1r0k
m4+wstSPIJnNKSaBDKjmkVDb8GvsIs6M9+DCzJdgTNWAc1ww1WtLnK/7Mf2Um+jb
ntc2IMXFwy7sblopQzz3z5H+rbYVZGhA4oyOnBznyW1P3BzkWQ//DmgAAp3/QV1j
pCkqAa3dNOadErbn8fbmK5Z/fIh1KMS+DqjGqARkd5v/oLqzCxx2Hz7Mj1qAT9UX
6lhTpJtwXVYKvkjHwYIEOYWdYm4Ft/AqdNJ0S1s0nM1Iiz044HT2s3/pi3Kh0I58
RmL8M0P/4Mldn33jPyTqUNwuJVtdedEW1/MtiRuQrMMKMlj2wjws9mmrDHAu7ejC
ooIK+URuYAiA+tDcJjzOQsNpn4NN6CpUr62qeGCDh6JScIvLdCVHMZ3I+L6XY57S
XAECAgszZJCCewO77rvSwggDv7BsU9vt3SOmSKsju8qIuu2bzEapmsRsrkzzZBHJ
p2QAB/4TUXzujNighZ9KnRIjrewFTJyQG6JVG9a0Ig3uz5yxb5bdewbvzRYx
=ixtV
-----END PGP MESSAGE-----
fp: 29C50D01122FDE78E257482DAA497EB2610A8435
unencrypted_suffix: _unencrypted
version: 3.7.3
Loading
Loading