Compare commits
94 Commits
wip-nm-sys
...
tx-to-desk
Author | SHA1 | Date | |
---|---|---|---|
24ff2feb70 | |||
21c033f63c | |||
11c97fd4c0 | |||
a5cb989c59 | |||
3d77a7cbc9 | |||
8e7401955f | |||
fa605768e7 | |||
3c279edd31 | |||
a736d6d77b | |||
8ad118162e | |||
5c13bb20d7 | |||
170d36fc05 | |||
b828edf3c7 | |||
e10dfaefe9 | |||
49e1a85afb | |||
56dfe8baa8 | |||
95685fe91f | |||
8f6b4cc551 | |||
89c9733ed2 | |||
ec29ec76f0 | |||
0f97e3d7ed | |||
6fb5cedd69 | |||
0382af1fae | |||
b24b68a6bd | |||
952da0f314 | |||
cb32dc99cd | |||
5e7a05c183 | |||
656b478cc0 | |||
fbbc0eb294 | |||
502c9d1db3 | |||
36934eedfd | |||
56f982e214 | |||
54c4cd53b3 | |||
1c4fc335b3 | |||
21d3f41b38 | |||
031ce236f3 | |||
a4eb073918 | |||
75ae868bde | |||
b6d9d58a14 | |||
14a5b8d9f2 | |||
ede68b563e | |||
33f4db254d | |||
6e8cb1bbb2 | |||
b00fb22137 | |||
4d74c2ede6 | |||
c4c5a640ce | |||
514fbca3f1 | |||
71a19e247f | |||
![]() |
bcab89dbfb | ||
f219c59ad5 | |||
197df696be | |||
c9b7f58f3d | |||
6b8371c32b | |||
11cdac0357 | |||
8b607ddefd | |||
10158bb444 | |||
1dd10450f2 | |||
e104499636 | |||
56cd1f211c | |||
14f4f1e80d | |||
52a0e8cf53 | |||
50450fe7fe | |||
4a4ffadc64 | |||
8807140c83 | |||
adc811efa1 | |||
d8fed884d0 | |||
d75f59ba06 | |||
aa0a395353 | |||
56d84dea4d | |||
3aa2ece59b | |||
07239d2a75 | |||
3fd5e15e93 | |||
97d56b0314 | |||
c18554dfbd | |||
8105e00b39 | |||
7e32fab5d4 | |||
25298c9be6 | |||
e61549d917 | |||
eca14a644b | |||
3937121522 | |||
b334db28c6 | |||
b52057e317 | |||
414ab85e20 | |||
82133a8f16 | |||
43a63d4f6e | |||
9f9fc7d65b | |||
79d395e01c | |||
394259fe21 | |||
8c256c629b | |||
0e2d86ac96 | |||
e2a1e6730d | |||
a1e923f999 | |||
09333c992c | |||
80eb385c64 |
@@ -3,6 +3,7 @@ keys:
|
||||
- &user_lappy_colin age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g
|
||||
- &user_servo_colin age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu
|
||||
- &user_moby_colin age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9
|
||||
- &host_crappy age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj
|
||||
- &host_desko age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v
|
||||
- &host_lappy age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn
|
||||
- &host_servo age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf
|
||||
@@ -15,6 +16,7 @@ creation_rules:
|
||||
- *user_lappy_colin
|
||||
- *user_servo_colin
|
||||
- *user_moby_colin
|
||||
- *host_crappy
|
||||
- *host_desko
|
||||
- *host_lappy
|
||||
- *host_servo
|
||||
|
25
doc/adding-a-host.md
Normal file
25
doc/adding-a-host.md
Normal file
@@ -0,0 +1,25 @@
|
||||
to add a host:
|
||||
- create the new nix targets
|
||||
- hosts/by-name/HOST
|
||||
- let the toplevel (flake.nix) know about HOST
|
||||
- build and flash an image
|
||||
- optionally expand the rootfs
|
||||
- `cfdisk /dev/sda2` -> resize partition
|
||||
- `mount /dev/sda2 boot`
|
||||
- `btrfs filesystem resize max root`
|
||||
- setup required persistent directories
|
||||
- `mkdir -p root/persist/private`
|
||||
- `gocryptfs -init root/persist/private`
|
||||
- then boot the device, and for every dangling symlink in ~/.local/share, ~/.cache, do `mkdir -p` on it
|
||||
- setup host ssh
|
||||
- `mkdir -p root/persist/plaintext/etc/ssh/host_keys`
|
||||
- boot the machine and let it create its own ssh keys
|
||||
- add the pubkey to `hosts/common/hosts.nix`
|
||||
- setup user ssh
|
||||
- `ssh-keygen`. don't enter any password; it's stored in a password-encrypted fs.
|
||||
- add the pubkey to `hosts/common/hosts.nix`
|
||||
- allow the new host to view secrets
|
||||
- instructions in hosts/common/secrets.nix
|
||||
- run `ssh-to-age` on user/host pubkeys
|
||||
- add age key to .sops.yaml
|
||||
- update encrypted secrets: `sops updatekeys path/to/secret.yaml`
|
12
doc/recovery.md
Normal file
12
doc/recovery.md
Normal file
@@ -0,0 +1,12 @@
|
||||
## deploying to SD card
|
||||
- build a toplevel config: `nix build '.#hostSystems.moby'`
|
||||
- mount a system:
|
||||
- `mkdir -p root/{nix,boot}`
|
||||
- `mount /dev/sdX1 root/boot`
|
||||
- `mount /dev/sdX2 root/nix`
|
||||
- copy the config:
|
||||
- `sudo nix copy --no-check-sigs --to root/ $(readlink result)`
|
||||
- nix will copy stuff to `root/nix/store`
|
||||
- install the boot files:
|
||||
- `sudo /nix/store/sbwpwngjlgw4f736ay9hgi69pj3fdwk5-extlinux-conf-builder.sh -d ./root/boot -t 5 -c $(readlink ./result)`
|
||||
- extlinux-conf-builder can be found in `/run/current-system/bin/switch-to-configuration`
|
325
flake.lock
generated
325
flake.lock
generated
@@ -1,329 +1,6 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1688025799,
|
||||
"narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs-wayland",
|
||||
"nix-eval-jobs",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712014858,
|
||||
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lib-aggregate": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716725378,
|
||||
"narHash": "sha256-bNTVDAVBLFSSTU+q54cJnntmFKBi+F/D8sSqlZwBGiM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lib-aggregate",
|
||||
"rev": "dbc9130fe1455e0f6ee4d8f5f799f9be551f866b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "lib-aggregate",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"mobile-nixos": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1694749521,
|
||||
"narHash": "sha256-MiVokKlpcJmfoGuWAMeW1En7gZ5hk0rCQArYm6P9XCc=",
|
||||
"owner": "nixos",
|
||||
"repo": "mobile-nixos",
|
||||
"rev": "d25d3b87e7f300d8066e31d792337d9cd7ecd23b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "d25d3b87e7f300d8066e31d792337d9cd7ecd23b",
|
||||
"repo": "mobile-nixos",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-eval-jobs": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715804156,
|
||||
"narHash": "sha256-GtIHP86Cz1kD9xZO/cKbNQACHKdoT9WFbLJAq6W2EDY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-eval-jobs",
|
||||
"rev": "bb95091f6c6f38f6cfc215a1797a2dd466312c8b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-eval-jobs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-wayland",
|
||||
"nix-eval-jobs",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703863825,
|
||||
"narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "5163432afc817cf8bd1f031418d1869e4c9d5547",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1715037484,
|
||||
"narHash": "sha256-OUt8xQFmBU96Hmm4T9tOWTu4oCswCzoVl+pxSq/kiFc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ad7efee13e0d216bf29992311536fce1d3eefbef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1716684580,
|
||||
"narHash": "sha256-sIbMJWJr4hl2PWd9/iWlh89QfVzBn1NJ3u5RjeZADuM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "d0d27192931680482081aa1c38389da2af84a651",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-next-unpatched": {
|
||||
"locked": {
|
||||
"lastModified": 1717372940,
|
||||
"narHash": "sha256-fK1PJqC8kQOy8rD7B+qmJOTx9IV8AOmFtH5Z/ip7340=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c987c730bbf2121264ebd68921b443db5bb28543",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "staging-next",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1717265169,
|
||||
"narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unpatched": {
|
||||
"locked": {
|
||||
"lastModified": 1717392304,
|
||||
"narHash": "sha256-i9Kh2ty++/xMj4GPTMI7vQrpH4jopjT4BUq2GKX1zug=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "77a51024c0f953d503eb3ed364aa4bff378649f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "master",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-wayland": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"lib-aggregate": "lib-aggregate",
|
||||
"nix-eval-jobs": "nix-eval-jobs",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unpatched"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717175759,
|
||||
"narHash": "sha256-KiM5ue/UNQt8ktoqCV4yFqhHxM31U94Mf/piKW9dZ4c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs-wayland",
|
||||
"rev": "93b225ddba91179248b378913a91defbc6aeb899",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs-wayland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"mobile-nixos": "mobile-nixos",
|
||||
"nixpkgs-next-unpatched": "nixpkgs-next-unpatched",
|
||||
"nixpkgs-unpatched": "nixpkgs-unpatched",
|
||||
"nixpkgs-wayland": "nixpkgs-wayland",
|
||||
"sops-nix": "sops-nix",
|
||||
"uninsane-dot-org": "uninsane-dot-org"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unpatched"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717297459,
|
||||
"narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-wayland",
|
||||
"nix-eval-jobs",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711963903,
|
||||
"narHash": "sha256-N3QDhoaX+paWXHbEXZapqd1r95mdshxToGowtjtYkGI=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "49dc4a92b02b8e68798abd99184f228243b6e3ac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uninsane-dot-org": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unpatched"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715894399,
|
||||
"narHash": "sha256-h1EdA/h74zgNPNEYbH+0mgOMlJgLVcxuZ8/ewsZlgEc=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "e6f88f563bdd1700c04018951de4f69862646dd1",
|
||||
"revCount": 240,
|
||||
"type": "git",
|
||||
"url": "https://git.uninsane.org/colin/uninsane"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.uninsane.org/colin/uninsane"
|
||||
}
|
||||
}
|
||||
"root": {}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
|
272
flake.nix
272
flake.nix
@@ -21,71 +21,8 @@
|
||||
# - `nix flake lock --update-input nixpkgs`
|
||||
|
||||
{
|
||||
# XXX: use the `github:` scheme instead of the more readable git+https: because it's *way* more efficient
|
||||
# preferably, i would rewrite the human-readable https URLs to nix-specific github: URLs with a helper,
|
||||
# but `inputs` is required to be a strict attrset: not an expression.
|
||||
inputs = {
|
||||
# branch workflow:
|
||||
# - daily:
|
||||
# - nixos-unstable cut from master after enough packages have been built in caches.
|
||||
# - every 6 hours:
|
||||
# - master auto-merged into staging and staging-next
|
||||
# - staging-next auto-merged into staging.
|
||||
# - manually, approximately once per month:
|
||||
# - staging-next is cut from staging.
|
||||
# - staging-next merged into master.
|
||||
#
|
||||
# which branch to source from?
|
||||
# - nixos-unstable: for everyday development; it provides good caching
|
||||
# - master: temporarily if i'm otherwise cherry-picking lots of already-applied patches
|
||||
# - staging-next: if testing stuff that's been PR'd into staging, i.e. base library updates.
|
||||
# - staging: maybe if no staging-next -> master PR has been cut yet?
|
||||
#
|
||||
# <https://github.com/nixos/nixpkgs/tree/nixos-unstable>
|
||||
# nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=master";
|
||||
# nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=nixos-staging";
|
||||
# nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=nixos-staging-next";
|
||||
nixpkgs-next-unpatched.url = "github:nixos/nixpkgs?ref=staging-next";
|
||||
|
||||
nixpkgs-wayland = {
|
||||
url = "github:nix-community/nixpkgs-wayland";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unpatched";
|
||||
};
|
||||
|
||||
mobile-nixos = {
|
||||
# <https://github.com/nixos/mobile-nixos>
|
||||
# only used for building disk images, not relevant after deployment
|
||||
# TODO: replace with something else. commit `0f3ac0bef1aea70254a3bae35e3cc2561623f4c1`
|
||||
# replaces the imageBuilder with a "new implementation from celun" and wildly breaks my use.
|
||||
# pinning to d25d3b... is equivalent to holding at 2023-09-15
|
||||
url = "github:nixos/mobile-nixos?ref=d25d3b87e7f300d8066e31d792337d9cd7ecd23b";
|
||||
flake = false;
|
||||
};
|
||||
sops-nix = {
|
||||
# <https://github.com/Mic92/sops-nix>
|
||||
# used to distribute secrets to my hosts
|
||||
url = "github:Mic92/sops-nix";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unpatched";
|
||||
};
|
||||
uninsane-dot-org = {
|
||||
# provides the package to deploy <https://uninsane.org>, used only when building the servo host
|
||||
url = "git+https://git.uninsane.org/colin/uninsane";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unpatched";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs-unpatched,
|
||||
nixpkgs-next-unpatched ? nixpkgs-unpatched,
|
||||
nixpkgs-wayland,
|
||||
mobile-nixos,
|
||||
sops-nix,
|
||||
uninsane-dot-org,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
inherit (builtins) attrNames elem listToAttrs map mapAttrs;
|
||||
@@ -97,28 +34,13 @@
|
||||
# mapAttrs but without the `name` argument
|
||||
mapAttrValues = f: mapAttrs (_: f);
|
||||
|
||||
# rather than apply our nixpkgs patches as a flake input, do that here instead.
|
||||
# this (temporarily?) resolves the bad UX wherein a subflake residing in the same git
|
||||
# repo as the main flake causes the main flake to have an unstable hash.
|
||||
patchNixpkgs = variant: nixpkgs: (import ./nixpatches/flake.nix).outputs {
|
||||
inherit variant nixpkgs;
|
||||
self = patchNixpkgs variant nixpkgs;
|
||||
};
|
||||
nixpkgs' = import ./pkgs/additional/nixpkgs;
|
||||
nixpkgsUnpatched = nixpkgs' { doPatch = false; localSystem = "x86_64-linux"; };
|
||||
nixpkgsCompiledBy = { system, variant ? "master" }:
|
||||
(nixpkgs' { inherit variant system; }).legacyPackages."${system}";
|
||||
|
||||
nixpkgs' = patchNixpkgs "master" nixpkgs-unpatched;
|
||||
nixpkgsCompiledBy = system: nixpkgs'.legacyPackages."${system}";
|
||||
|
||||
evalHost = { name, local, target, variant ? null, nixpkgs ? nixpkgs' }: nixpkgs.lib.nixosSystem {
|
||||
system = target;
|
||||
modules = [
|
||||
{
|
||||
nixpkgs.buildPlatform.system = local;
|
||||
}
|
||||
(optionalAttrs (local != target) {
|
||||
# XXX(2023/12/11): cache.nixos.org uses `system = ...` instead of `hostPlatform.system`, and that choice impacts the closure of every package.
|
||||
# so avoid specifying hostPlatform.system on non-cross builds, so i can use upstream caches.
|
||||
nixpkgs.hostPlatform.system = target;
|
||||
})
|
||||
evalHost = { name, local, target, variant ? null, nixpkgs ? nixpkgs' { localSystem = local; system = target;} }: nixpkgs.nixos (
|
||||
[
|
||||
(optionalAttrs (variant == "light") {
|
||||
sane.maxBuildCost = 2;
|
||||
})
|
||||
@@ -126,16 +48,15 @@
|
||||
sane.maxBuildCost = 0;
|
||||
})
|
||||
(import ./hosts/instantiate.nix { hostName = name; })
|
||||
self.nixosModules.default
|
||||
self.nixosModules.passthru
|
||||
(import ./modules)
|
||||
(nixpkgs.appendOverlays [ self.overlays.pkgs ]).sops-nix.nixosModules.sops
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
self.overlays.passthru
|
||||
self.overlays.sane-all
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
]
|
||||
);
|
||||
in {
|
||||
nixosConfigurations = let
|
||||
hosts = {
|
||||
@@ -144,18 +65,39 @@
|
||||
desko-light = { name = "desko"; local = "x86_64-linux"; target = "x86_64-linux"; variant = "light"; };
|
||||
lappy = { name = "lappy"; local = "x86_64-linux"; target = "x86_64-linux"; };
|
||||
lappy-light = { name = "lappy"; local = "x86_64-linux"; target = "x86_64-linux"; variant = "light"; };
|
||||
lappy-min = { name = "lappy"; local = "x86_64-linux"; target = "x86_64-linux"; variant = "min"; };
|
||||
lappy-min = { name = "lappy"; local = "x86_64-linux"; target = "x86_64-linux"; variant = "min"; };
|
||||
moby = { name = "moby"; local = "x86_64-linux"; target = "aarch64-linux"; };
|
||||
moby-light = { name = "moby"; local = "x86_64-linux"; target = "aarch64-linux"; variant = "light"; };
|
||||
moby-min = { name = "moby"; local = "x86_64-linux"; target = "aarch64-linux"; variant = "min"; };
|
||||
moby-min = { name = "moby"; local = "x86_64-linux"; target = "aarch64-linux"; variant = "min"; };
|
||||
# crappy is technically armv7a, and armv7l uses only a _subset_ of the available ISA.
|
||||
# but it's not as widely cached.
|
||||
crappy = { name = "crappy"; local = "x86_64-linux"; target = "armv7l-linux"; };
|
||||
crappy-min = { name = "crappy"; local = "x86_64-linux"; target = "armv7l-linux"; variant = "min"; };
|
||||
crappy-7a = { name = "crappy"; local = "x86_64-linux"; target = "armv7a-linux"; variant = "min"; };
|
||||
rescue = { name = "rescue"; local = "x86_64-linux"; target = "x86_64-linux"; };
|
||||
};
|
||||
hostsNext = mapAttrs' (h: v: {
|
||||
name = "${h}-next";
|
||||
value = v // { nixpkgs = patchNixpkgs "staging-next" nixpkgs-next-unpatched; };
|
||||
value = v // {
|
||||
nixpkgs = nixpkgs' {
|
||||
localSystem = v.local;
|
||||
system = v.target;
|
||||
variant = "staging-next";
|
||||
};
|
||||
};
|
||||
}) hosts;
|
||||
hostsStaging = mapAttrs' (h: v: {
|
||||
name = "${h}-staging";
|
||||
value = v // {
|
||||
nixpkgs = nixpkgs' {
|
||||
localSystem = v.local;
|
||||
system = v.target;
|
||||
variant = "staging";
|
||||
};
|
||||
};
|
||||
}) hosts;
|
||||
in mapAttrValues evalHost (
|
||||
hosts // hostsNext
|
||||
hosts // hostsNext // hostsStaging
|
||||
);
|
||||
|
||||
# unofficial output
|
||||
@@ -180,54 +122,37 @@
|
||||
hostPkgs = mapAttrValues (host: host.config.system.build.pkgs) self.nixosConfigurations;
|
||||
hostPrograms = mapAttrValues (host: mapAttrValues (p: p.package) host.config.sane.programs) self.nixosConfigurations;
|
||||
|
||||
patched.nixpkgs = nixpkgs';
|
||||
|
||||
overlays = {
|
||||
# N.B.: `nix flake check` requires every overlay to take `final: prev:` at defn site,
|
||||
# hence the weird redundancy.
|
||||
default = final: prev: self.overlays.pkgs final prev;
|
||||
sane-all = final: prev: import ./overlays/all.nix final prev;
|
||||
pkgs = final: prev: import ./overlays/pkgs.nix final prev;
|
||||
pins = final: prev: import ./overlays/pins.nix final prev;
|
||||
preferences = final: prev: import ./overlays/preferences.nix final prev;
|
||||
passthru = final: prev:
|
||||
let
|
||||
mobile = (import "${mobile-nixos}/overlay/overlay.nix");
|
||||
uninsane = uninsane-dot-org.overlays.default;
|
||||
wayland = final: prev: {
|
||||
# default is to dump the packages into `waylandPkgs` *and* the toplevel.
|
||||
# but i just want the `waylandPkgs` set
|
||||
inherit (nixpkgs-wayland.overlays.default final prev)
|
||||
waylandPkgs
|
||||
new-wayland-protocols #< 2024/03/10: nixpkgs-wayland assumes this will be in the toplevel
|
||||
;
|
||||
};
|
||||
in
|
||||
(mobile final prev)
|
||||
// (uninsane final prev)
|
||||
// (wayland final prev)
|
||||
;
|
||||
};
|
||||
|
||||
nixosModules = rec {
|
||||
default = sane;
|
||||
sane = import ./modules;
|
||||
passthru = { ... }: {
|
||||
imports = [
|
||||
sops-nix.nixosModules.sops
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# this includes both our native packages and all the nixpkgs packages.
|
||||
legacyPackages =
|
||||
let
|
||||
allPkgsFor = sys: (nixpkgsCompiledBy sys).appendOverlays [
|
||||
self.overlays.passthru self.overlays.pkgs
|
||||
];
|
||||
allPkgsFor = variant: additionalOverlays: system:
|
||||
(nixpkgs' { inherit system variant; localSystem = "x86_64-linux"; })
|
||||
.appendOverlays (
|
||||
[
|
||||
self.overlays.pkgs
|
||||
] ++ additionalOverlays
|
||||
);
|
||||
allPkgsFor' = system: allPkgsFor
|
||||
"master"
|
||||
[(self: super: {
|
||||
# build `pkgsNext.FOO` to build the package FOO from nixpkgs staging-next branch
|
||||
pkgsNext = allPkgsFor "staging-next" [] system;
|
||||
pkgsStaging = allPkgsFor "staging" [] system;
|
||||
})]
|
||||
system
|
||||
;
|
||||
in {
|
||||
x86_64-linux = allPkgsFor "x86_64-linux";
|
||||
aarch64-linux = allPkgsFor "aarch64-linux";
|
||||
x86_64-linux = allPkgsFor' "x86_64-linux";
|
||||
aarch64-linux = allPkgsFor' "aarch64-linux";
|
||||
};
|
||||
|
||||
# extract only our own packages from the full set.
|
||||
@@ -242,17 +167,12 @@
|
||||
&& (passthruPkgs.lib.meta.availableOn passthruPkgs.stdenv.hostPlatform pkg)
|
||||
)
|
||||
(
|
||||
# expose sane packages and chosen inputs (uninsane.org)
|
||||
(import ./pkgs { pkgs = passthruPkgs; }) // {
|
||||
inherit (passthruPkgs) uninsane-dot-org;
|
||||
}
|
||||
import ./pkgs { pkgs = passthruPkgs; }
|
||||
)
|
||||
)
|
||||
# self.legacyPackages;
|
||||
{
|
||||
x86_64-linux = (nixpkgsCompiledBy "x86_64-linux").appendOverlays [
|
||||
self.overlays.passthru
|
||||
];
|
||||
x86_64-linux = nixpkgs' { localSystem = "x86_64-linux"; };
|
||||
}
|
||||
;
|
||||
|
||||
@@ -405,16 +325,19 @@
|
||||
};
|
||||
|
||||
deploy = {
|
||||
desko = deployApp "desko" "desko" "switch";
|
||||
desko-light = deployApp "desko-light" "desko" "switch";
|
||||
lappy = deployApp "lappy" "lappy" "switch";
|
||||
lappy-light = deployApp "lappy-light" "lappy" "switch";
|
||||
lappy-min = deployApp "lappy-min" "lappy" "switch";
|
||||
moby = deployApp "moby" "moby" "switch";
|
||||
moby-light = deployApp "moby-light" "moby" "switch";
|
||||
moby-min = deployApp "moby-min" "moby" "switch";
|
||||
moby-test = deployApp "moby" "moby" "test";
|
||||
servo = deployApp "servo" "servo" "switch";
|
||||
crappy = deployApp "crappy" "crappy" "switch";
|
||||
crappy-light = deployApp "crappy-light" "crappy" "switch";
|
||||
crappy-min = deployApp "crappy-min" "crappy" "switch";
|
||||
desko = deployApp "desko" "desko" "switch";
|
||||
desko-light = deployApp "desko-light" "desko" "switch";
|
||||
lappy = deployApp "lappy" "lappy" "switch";
|
||||
lappy-light = deployApp "lappy-light" "lappy" "switch";
|
||||
lappy-min = deployApp "lappy-min" "lappy" "switch";
|
||||
moby = deployApp "moby" "moby" "switch";
|
||||
moby-light = deployApp "moby-light" "moby" "switch";
|
||||
moby-min = deployApp "moby-min" "moby" "switch";
|
||||
moby-test = deployApp "moby" "moby" "test";
|
||||
servo = deployApp "servo" "servo" "switch";
|
||||
|
||||
# like `nixos-rebuild --flake . switch`
|
||||
self = deployApp "$(hostname)" "" "switch";
|
||||
@@ -427,31 +350,38 @@
|
||||
nix run '.#deploy.moby'
|
||||
nix run '.#deploy.desko'
|
||||
nix run '.#deploy.servo'
|
||||
nix run '.#deploy.crappy'
|
||||
'');
|
||||
};
|
||||
preDeploy = {
|
||||
# build the host and copy the runtime closure to that host, but don't activate it.
|
||||
desko = deployApp "desko" "desko" null;
|
||||
desko-light = deployApp "desko-light" "desko" null;
|
||||
lappy = deployApp "lappy" "lappy" null;
|
||||
lappy-light = deployApp "lappy-light" "lappy" null;
|
||||
lappy-min = deployApp "lappy-min" "lappy" null;
|
||||
moby = deployApp "moby" "moby" null;
|
||||
moby-light = deployApp "moby-light" "moby" null;
|
||||
moby-min = deployApp "moby-min" "moby" null;
|
||||
servo = deployApp "servo" "servo" null;
|
||||
crappy = deployApp "crappy" "crappy" null;
|
||||
crappy-light = deployApp "crappy-light" "crappy" null;
|
||||
crappy-min = deployApp "crappy-min" "crappy" null;
|
||||
desko = deployApp "desko" "desko" null;
|
||||
desko-light = deployApp "desko-light" "desko" null;
|
||||
lappy = deployApp "lappy" "lappy" null;
|
||||
lappy-light = deployApp "lappy-light" "lappy" null;
|
||||
lappy-min = deployApp "lappy-min" "lappy" null;
|
||||
moby = deployApp "moby" "moby" null;
|
||||
moby-light = deployApp "moby-light" "moby" null;
|
||||
moby-min = deployApp "moby-min" "moby" null;
|
||||
servo = deployApp "servo" "servo" null;
|
||||
type = "app";
|
||||
program = builtins.toString (pkgs.writeShellScript "predeploy-all" ''
|
||||
# copy the -min/-light variants first; this might be run while waiting on a full build. or the full build failed.
|
||||
nix run '.#preDeploy.moby-min' -- "$@"
|
||||
nix run '.#preDeploy.lappy-min' -- "$@"
|
||||
nix run '.#preDeploy.crappy-min' -- "$@"
|
||||
nix run '.#preDeploy.moby-light' -- "$@"
|
||||
nix run '.#preDeploy.lappy-light' -- "$@"
|
||||
nix run '.#preDeploy.desko-light' -- "$@"
|
||||
nix run '.#preDeploy.crappy-light' -- "$@"
|
||||
nix run '.#preDeploy.lappy' -- "$@"
|
||||
nix run '.#preDeploy.servo' -- "$@"
|
||||
nix run '.#preDeploy.moby' -- "$@"
|
||||
nix run '.#preDeploy.desko' -- "$@"
|
||||
nix run '.#preDeploy.crappy' -- "$@"
|
||||
'');
|
||||
};
|
||||
|
||||
@@ -495,7 +425,11 @@
|
||||
program = builtins.toString (pkgs.writeShellScript "sync-to-moby" ''
|
||||
sudo mount /mnt/moby/home
|
||||
sudo mount /mnt/desko/home
|
||||
sudo mount /mnt/servo/media/Books
|
||||
# copy photos/screenshots from moby to desko:
|
||||
${pkgs.rsync}/bin/rsync -arv --exclude servo-macros /mnt/moby/home/Pictures/ /mnt/desko/home/Pictures/moby/
|
||||
# copy books from servo to moby; delete old/untracked ones, but keep KOreader state files (sdr)
|
||||
${pkgs.rsync}/bin/rsync -arv --delete --exclude unprocessed --exclude '*.sdr' /mnt/servo/media/Books/ /mnt/moby/home/Books/local/servo/
|
||||
# N.B.: limited by network/disk -> reduce job count to improve pause/resume behavior
|
||||
${pkgs.sane-scripts.sync-music}/bin/sane-sync-music --compress --compat --jobs 4 /mnt/servo/media/Music /mnt/moby/home/Music "$@"
|
||||
'');
|
||||
@@ -528,7 +462,7 @@
|
||||
--option restrict-eval true \
|
||||
--option allow-import-from-derivation true \
|
||||
--drv-path --show-trace \
|
||||
-I nixpkgs=${nixpkgs-unpatched} \
|
||||
-I nixpkgs=${nixpkgsUnpatched} \
|
||||
-I nixpkgs-overlays=${./.}/hosts/common/nix/overlay \
|
||||
-I ../../ \
|
||||
| tee # tee to prevent interactive mode
|
||||
@@ -551,41 +485,48 @@
|
||||
# this gives me a minimal image i can deploy or copy over, early.
|
||||
${checkHost "lappy-min"}
|
||||
${checkHost "moby-min"}
|
||||
${checkHost "crappy-min"}
|
||||
|
||||
${checkHost "desko-light"}
|
||||
${checkHost "moby-light"}
|
||||
${checkHost "lappy-light"}
|
||||
${checkHost "crappy-light"}
|
||||
|
||||
${checkHost "desko"}
|
||||
${checkHost "lappy"}
|
||||
${checkHost "servo"}
|
||||
${checkHost "moby"}
|
||||
${checkHost "crappy"}
|
||||
${checkHost "rescue"}
|
||||
|
||||
# still want to build the -light variants first so as to avoid multiple simultaneous webkitgtk builds
|
||||
${checkHost "desko-light-next"}
|
||||
${checkHost "moby-light-next"}
|
||||
${checkHost "crappy-light-next"}
|
||||
|
||||
${checkHost "desko-next"}
|
||||
${checkHost "lappy-next"}
|
||||
${checkHost "servo-next"}
|
||||
${checkHost "moby-next"}
|
||||
${checkHost "crappy-next"}
|
||||
${checkHost "rescue-next"}
|
||||
|
||||
echo "desko: $RC_desko"
|
||||
echo "lappy: $RC_lappy"
|
||||
echo "servo: $RC_servo"
|
||||
echo "moby: $RC_moby"
|
||||
echo "crappy: $RC_crappy"
|
||||
echo "rescue: $RC_rescue"
|
||||
|
||||
echo "desko-next: $RC_desko_next"
|
||||
echo "lappy-next: $RC_lappy_next"
|
||||
echo "servo-next: $RC_servo_next"
|
||||
echo "moby-next: $RC_moby_next"
|
||||
echo "crappy-next: $RC_crappy_next"
|
||||
echo "rescue-next: $RC_rescue_next"
|
||||
|
||||
# i don't really care if the -next hosts fail. i build them mostly to keep the cache fresh/ready
|
||||
exit $(($RC_desko | $RC_lappy | $RC_servo | $RC_moby | $RC_rescue))
|
||||
exit $(($RC_desko | $RC_lappy | $RC_servo | $RC_moby | $RC_crappy | $RC_rescue))
|
||||
''
|
||||
);
|
||||
};
|
||||
@@ -631,6 +572,19 @@
|
||||
path = ./templates/env/python-data;
|
||||
description = "python environment for data processing";
|
||||
};
|
||||
|
||||
pkgs.make = {
|
||||
# initialize with:
|
||||
# - `nix flake init -t '/home/colin/dev/nixos/#pkgs.make'`
|
||||
path = ./templates/pkgs/make;
|
||||
description = "default Makefile-based derivation";
|
||||
};
|
||||
pkgs.python = {
|
||||
# initialize with:
|
||||
# - `nix flake init -t '/home/colin/dev/nixos/#pkgs.python'`
|
||||
path = ./templates/pkgs/python;
|
||||
description = "python package";
|
||||
};
|
||||
pkgs.rust-inline = {
|
||||
# initialize with:
|
||||
# - `nix flake init -t '/home/colin/dev/nixos/#pkgs.rust-inline'`
|
||||
@@ -643,12 +597,6 @@
|
||||
path = ./templates/pkgs/rust;
|
||||
description = "rust package fit to ship in nixpkgs";
|
||||
};
|
||||
pkgs.make = {
|
||||
# initialize with:
|
||||
# - `nix flake init -t '/home/colin/dev/nixos/#pkgs.make'`
|
||||
path = ./templates/pkgs/make;
|
||||
description = "default Makefile-based derivation";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
37
hosts/by-name/crappy/default.nix
Normal file
37
hosts/by-name/crappy/default.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
# Samsung chromebook XE303C12
|
||||
# - <https://wiki.postmarketos.org/wiki/Samsung_Chromebook_(google-snow)>
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./fs.nix
|
||||
];
|
||||
|
||||
sane.hal.samsung.enable = true;
|
||||
sane.roles.client = true;
|
||||
# sane.roles.pc = true;
|
||||
|
||||
users.users.colin.initialPassword = "147147";
|
||||
sane.programs.sway.enableFor.user.colin = true;
|
||||
sane.programs.calls.enableFor.user.colin = false;
|
||||
sane.programs.consoleMediaUtils.enableFor.user.colin = true;
|
||||
sane.programs.epiphany.enableFor.user.colin = true;
|
||||
sane.programs."gnome.geary".enableFor.user.colin = false;
|
||||
# sane.programs.firefox.enableFor.user.colin = true;
|
||||
sane.programs.portfolio-filemanager.enableFor.user.colin = true;
|
||||
sane.programs.signal-desktop.enableFor.user.colin = false;
|
||||
sane.programs.wike.enableFor.user.colin = true;
|
||||
|
||||
# sane.programs.pcGuiApps.enableFor.user.colin = false; #< errors!
|
||||
|
||||
sane.programs.blueberry.enableFor.user.colin = false; # bluetooth manager: doesn't cross compile!
|
||||
# sane.programs.brave.enableFor.user.colin = false; # 2024/06/03: fails eval if enabled on cross
|
||||
# sane.programs.firefox.enableFor.user.colin = false; # 2024/06/03: this triggers an eval error in yarn stuff -- i'm doing IFD somewhere!!?
|
||||
sane.programs.mepo.enableFor.user.colin = false; # 2024/06/04: doesn't cross compile (nodejs)
|
||||
sane.programs.mercurial.enableFor.user.colin = false; # 2024/06/03: does not cross compile
|
||||
sane.programs.nixpkgs-review.enableFor.user.colin = false; # 2024/06/03: OOMs when cross compiling
|
||||
sane.programs.ntfy-sh.enableFor.user.colin = false; # 2024/06/04: doesn't cross compile (nodejs)
|
||||
sane.programs.pwvucontrol.enableFor.user.colin = false; # 2024/06/03: doesn't cross compile (libspa-sys)
|
||||
sane.programs."sane-scripts.bt-search".enableFor.user.colin = false; # 2024/06/03: does not cross compile
|
||||
sane.programs.sequoia.enableFor.user.colin = false; # 2024/06/03: does not cross compile
|
||||
sane.programs.zathura.enableFor.user.colin = false; # 2024/06/03: does not cross compile
|
||||
}
|
16
hosts/by-name/crappy/fs.nix
Normal file
16
hosts/by-name/crappy/fs.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ ... }:
|
||||
{
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/55555555-0303-0c12-86df-eda9e9311526";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"compress=zstd"
|
||||
"defaults"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/303C-5A37";
|
||||
fsType = "vfat";
|
||||
};
|
||||
}
|
@@ -35,7 +35,6 @@
|
||||
sane.programs."gnome.geary".config.autostart = true;
|
||||
sane.programs.signal-desktop.config.autostart = true;
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
|
||||
|
||||
# needed to use libimobiledevice/ifuse, for iphone sync
|
||||
@@ -52,7 +51,4 @@
|
||||
# TODO: ALLOW_USERS doesn't seem to work. still need `sudo snapper -c nix list`
|
||||
ALLOW_USERS = [ "colin" ];
|
||||
};
|
||||
|
||||
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
|
||||
system.stateVersion = "21.05";
|
||||
}
|
||||
|
@@ -13,7 +13,6 @@
|
||||
# sane.ovpn.addrV6 = "fd00:0000:1337:cafe:1111:1111:0332:aa96/128";
|
||||
|
||||
# sane.guest.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
|
||||
|
||||
sane.programs.stepmania.enableFor.user.colin = true;
|
||||
@@ -34,7 +33,4 @@
|
||||
SUBVOLUME = "/nix";
|
||||
ALLOW_USERS = [ "colin" ];
|
||||
};
|
||||
|
||||
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
|
||||
system.stateVersion = "21.05";
|
||||
}
|
||||
|
@@ -1,7 +0,0 @@
|
||||
xkb_keymap {
|
||||
xkb_keycodes { include "evdev+aliases(qwerty)" };
|
||||
xkb_types { include "complete" };
|
||||
xkb_compat { include "complete" };
|
||||
xkb_symbols { include "pc+us+inet(evdev)" };
|
||||
xkb_geometry { include "pc(pc105)" };
|
||||
};
|
@@ -1,22 +0,0 @@
|
||||
# tow-boot: <https://tow-boot.org>
|
||||
# docs (pinephone specific): <https://github.com/Tow-Boot/Tow-Boot/tree/development/boards/pine64-pinephoneA64>
|
||||
# LED and button behavior is defined here: <https://github.com/Tow-Boot/Tow-Boot/blob/development/modules/tow-boot/phone-ux.nix>
|
||||
# - hold VOLDOWN: enter recovery mode
|
||||
# - LED will turn aqua instead of yellow
|
||||
# - recovery mode would ordinarily allow a selection of entries, but for pinephone i guess it doesn't do anything?
|
||||
# - hold VOLUP: force it to load the OS from eMMC?
|
||||
# - LED will turn blue instead of yellow
|
||||
# boot LEDs:
|
||||
# - yellow = entered tow-boot
|
||||
# - 10 red flashes => poweroff means tow-boot couldn't boot into the next stage (i.e. distroboot)
|
||||
# - distroboot: <https://source.denx.de/u-boot/u-boot/-/blob/v2022.04/doc/develop/distro.rst>)
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
# we need space in the GPT header to place tow-boot.
|
||||
# only actually need 1 MB, but better to over-allocate than under-allocate
|
||||
sane.image.extraGPTPadding = 16 * 1024 * 1024;
|
||||
sane.image.firstPartGap = 0;
|
||||
sane.image.installBootloader = ''
|
||||
dd if=${pkgs.tow-boot-pinephone}/Tow-Boot.noenv.bin of=$out/nixos.img bs=1024 seek=8 conv=notrunc
|
||||
'';
|
||||
}
|
@@ -9,16 +9,13 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./bootloader.nix
|
||||
./fs.nix
|
||||
./gps.nix
|
||||
./kernel.nix
|
||||
./polyfill.nix
|
||||
];
|
||||
|
||||
sane.hal.pine64.enable = true;
|
||||
sane.roles.client = true;
|
||||
sane.roles.handheld = true;
|
||||
sane.programs.zsh.config.showDeadlines = false; # unlikely to act on them when in shell
|
||||
sane.services.wg-home.enable = true;
|
||||
sane.services.wg-home.ip = config.sane.hosts.by-name."moby".wg-home.ip;
|
||||
sane.ovpn.addrV4 = "172.24.87.255";
|
||||
@@ -32,11 +29,6 @@
|
||||
sops.secrets.colin-passwd.neededForUsers = true;
|
||||
|
||||
sane.programs.sway.enableFor.user.colin = true;
|
||||
sane.programs.swaylock.enableFor.user.colin = false; #< not usable on touch
|
||||
sane.programs.schlock.enableFor.user.colin = true;
|
||||
sane.programs.swayidle.config.actions.screenoff.delay = 300;
|
||||
sane.programs.swayidle.config.actions.screenoff.enable = true;
|
||||
sane.programs.sane-input-handler.enableFor.user.colin = true;
|
||||
sane.programs.blueberry.enableFor.user.colin = false; # bluetooth manager: doesn't cross compile!
|
||||
sane.programs.fcitx5.enableFor.user.colin = false; # does not cross compile
|
||||
sane.programs.mercurial.enableFor.user.colin = false; # does not cross compile
|
||||
@@ -52,10 +44,6 @@
|
||||
# sane.programs."gnome.geary".config.autostart = true;
|
||||
# sane.programs.calls.config.autostart = true;
|
||||
|
||||
sane.programs.firefox.mime.priority = 300; # prefer other browsers when possible
|
||||
# HACK/TODO: make `programs.P.env.VAR` behave according to `mime.priority`
|
||||
sane.programs.firefox.env = lib.mkForce {};
|
||||
sane.programs.epiphany.env.BROWSER = "epiphany";
|
||||
sane.programs.pipewire.config = {
|
||||
# tune so Dino doesn't drop audio
|
||||
# there's seemingly two buffers for the mic (see: <https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ#pipewire-buffering-explained>)
|
||||
@@ -72,53 +60,7 @@
|
||||
max-quantum = 8192;
|
||||
};
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
# /boot space is at a premium. default was 20.
|
||||
# even 10 can be too much
|
||||
boot.loader.generic-extlinux-compatible.configurationLimit = 8;
|
||||
# mobile.bootloader.enable = false;
|
||||
# mobile.boot.stage-1.enable = false;
|
||||
# boot.initrd.systemd.enable = false;
|
||||
# boot.initrd.services.swraid.enable = false; # attempt to fix dm_mod stuff
|
||||
|
||||
# hardware.firmware makes the referenced files visible to the kernel, for whenever a driver explicitly asks for them.
|
||||
# these files are visible from userspace by following `/sys/module/firmware_class/parameters/path`
|
||||
#
|
||||
# mobile-nixos' /lib/firmware includes:
|
||||
# rtl_bt (bluetooth)
|
||||
# anx7688-fw.bin (USB-C chip: power negotiation, HDMI/dock)
|
||||
# ov5640_af.bin (camera module)
|
||||
# hardware.firmware = [ config.mobile.device.firmware ];
|
||||
# hardware.firmware = [ pkgs.rtl8723cs-firmware ];
|
||||
hardware.firmware = [
|
||||
(pkgs.linux-firmware-megous.override {
|
||||
# rtl_bt = false probably means no bluetooth connectivity.
|
||||
# N.B.: DON'T RE-ENABLE without first confirming that wake-on-lan works during suspend (rtcwake).
|
||||
# it seems the rtl_bt stuff ("bluetooth coexist") might make wake-on-LAN radically more flaky.
|
||||
rtl_bt = false;
|
||||
})
|
||||
];
|
||||
|
||||
system.stateVersion = "21.11";
|
||||
|
||||
# defined: https://www.freedesktop.org/software/systemd/man/machine-info.html
|
||||
# XXX colin: not sure which, if any, software makes use of this
|
||||
environment.etc."machine-info".text = ''
|
||||
CHASSIS="handset"
|
||||
'';
|
||||
|
||||
# enable rotation sensor
|
||||
# hardware.sensor.iio.enable = true;
|
||||
|
||||
services.udev.extraRules = let
|
||||
chmod = "${pkgs.coreutils}/bin/chmod";
|
||||
chown = "${pkgs.coreutils}/bin/chown";
|
||||
in ''
|
||||
# make Pinephone flashlight writable by user.
|
||||
# taken from postmarketOS: <repo:postmarketOS/pmaports:device/main/device-pine64-pinephone/60-flashlight.rules>
|
||||
SUBSYSTEM=="leds", DEVPATH=="*/*:flash", RUN+="${chmod} g+w /sys%p/brightness /sys%p/flash_strobe", RUN+="${chown} :video /sys%p/brightness /sys%p/flash_strobe"
|
||||
|
||||
# make Pinephone front LEDs writable by user.
|
||||
SUBSYSTEM=="leds", DEVPATH=="*/*:indicator", RUN+="${chmod} g+w /sys%p/brightness", RUN+="${chown} :video /sys%p/brightness"
|
||||
'';
|
||||
}
|
||||
|
@@ -1,271 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
dmesg = "${pkgs.util-linux}/bin/dmesg";
|
||||
grep = "${pkgs.gnugrep}/bin/grep";
|
||||
modprobe = "${pkgs.kmod}/bin/modprobe";
|
||||
ensureHWReady = ''
|
||||
# common boot failure:
|
||||
# blank screen (no backlight even), with the following log:
|
||||
# ```syslog
|
||||
# sun8i-dw-hdmi 1ee0000.hdmi: Couldn't get the HDMI PHY
|
||||
# ...
|
||||
# sun4i-drm display-engine: Couldn't bind all pipelines components
|
||||
# ...
|
||||
# sun8i-dw-hdmi: probe of 1ee0000.hdmi failed with error -17
|
||||
# ```
|
||||
#
|
||||
# in particular, that `probe ... failed` occurs *only* on failed boots
|
||||
# (the other messages might sometimes occur even on successful runs?)
|
||||
#
|
||||
# reloading the sun8i hdmi driver usually gets the screen on, showing boot text.
|
||||
# then restarting display-manager.service gets us to the login.
|
||||
#
|
||||
# NB: the above log is default level. though less specific, there's a `err` level message that also signals this:
|
||||
# sun4i-drm display-engine: failed to bind 1ee0000.hdmi (ops sun8i_dw_hdmi_ops [sun8i_drm_hdmi]): -17
|
||||
# NB: this is the most common, but not the only, failure mode for `display-manager`.
|
||||
# another error seems characterized by these dmesg logs, in which reprobing sun8i_drm_hdmi does not fix:
|
||||
# ```syslog
|
||||
# sun6i-mipi-dsi 1ca0000.dsi: Couldn't get the MIPI D-PHY
|
||||
# sun4i-drm display-engine: Couldn't bind all pipelines components
|
||||
# sun6i-mipi-dsi 1ca0000.dsi: Couldn't register our component
|
||||
# ```
|
||||
|
||||
if (${dmesg} --kernel --level err --color=never --notime | ${grep} -q 'sun4i-drm display-engine: failed to bind 1ee0000.hdmi')
|
||||
then
|
||||
echo "reprobing sun8i_drm_hdmi"
|
||||
# if a command here fails it errors the whole service, so prefer to log instead
|
||||
${modprobe} -r sun8i_drm_hdmi || echo "failed to unload sun8i_drm_hdmi"
|
||||
${modprobe} sun8i_drm_hdmi || echo "failed to load sub8i_drm_hdmi"
|
||||
fi
|
||||
'';
|
||||
in
|
||||
{
|
||||
# kernel compatibility (2024/05/22: 03dab630)
|
||||
# - linux-megous: boots to ssh, desktop
|
||||
# - camera apps: megapixels (no cameras found), snapshot (no cameras found)
|
||||
# - linux-postmarketos: boots to ssh. desktop ONLY if "anx7688" is in the initrd.availableKernelModules.
|
||||
# - camera apps: megapixels (both rear and front cameras work), `cam -l` (finds only the rear camera), snapshot (no cameras found)
|
||||
# - linux-megous.override { withMegiPinephoneConfig = true; }: NO SSH, NO SIGNS OF LIFE
|
||||
# - linux-megous.override { withFullConfig = false; }: boots to ssh, no desktop
|
||||
#
|
||||
boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-postmarketos.override {
|
||||
withModemPower = true;
|
||||
});
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-megous;
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-megous.override {
|
||||
# withFullConfig = false;
|
||||
# });
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-megous.override {
|
||||
# withMegiPinephoneConfig = true; #< N.B.: does not boot as of 2024/05/22!
|
||||
# });
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-manjaro;
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_latest;
|
||||
|
||||
# nixpkgs.hostPlatform.linux-kernel becomes stdenv.hostPlatform.linux-kernel
|
||||
nixpkgs.hostPlatform.linux-kernel = {
|
||||
# defaults:
|
||||
name = "aarch64-multiplatform";
|
||||
# baseConfig: defaults to "defconfig";
|
||||
# baseConfig = "pinephone_defconfig"; #< N.B.: ignored by `pkgs.linux-megous`
|
||||
DTB = true; #< DTB: compile device tree blobs
|
||||
# autoModules (default: true): for config options not manually specified, answer `m` to anything which supports it.
|
||||
# - this effectively builds EVERY MODULE SUPPORTED.
|
||||
autoModules = true; #< N.B.: ignored by `pkgs.linux-megous`
|
||||
# preferBuiltin (default: false; true for rpi): for config options which default to `Y` upstream, build them as `Y` (overriding `autoModules`)
|
||||
# preferBuiltin = false;
|
||||
|
||||
# build a compressed kernel image: without this i run out of /boot space in < 10 generations
|
||||
# target = "Image"; # <-- default
|
||||
target = "Image.gz"; # <-- compress the kernel image
|
||||
# target = "zImage"; # <-- confuses other parts of nixos :-(
|
||||
};
|
||||
|
||||
# boot.initrd.kernelModules = [
|
||||
# "drm" #< force drm to be plugged
|
||||
# ];
|
||||
boot.initrd.availableKernelModules = [
|
||||
# see <repo:postmarketOS/pmaports:device/main/device-pine64-pinephone/modules-initfs>
|
||||
# - they include sun6i_mipi_dsi sun4i_drm pwm_sun4i sun8i_mixer anx7688 gpio_vibra pinephone_keyboard
|
||||
"anx7688" #< required for display initialization and functional cameras
|
||||
# full list of modules active post-boot with the linux-megous kernel + autoModules=true:
|
||||
# - `lsmod | sort | cut -d ' ' -f 1`
|
||||
# "8723cs"
|
||||
# "axp20x_adc" #< NOT FOUND in megous-no-autoModules
|
||||
# "axp20x_battery"
|
||||
# "axp20x_pek"
|
||||
# "axp20x_usb_power"
|
||||
# "backlight"
|
||||
# "blake2b_generic"
|
||||
# "bluetooth"
|
||||
# "bridge"
|
||||
# "btbcm"
|
||||
# "btqca"
|
||||
# "btrfs"
|
||||
# "btrtl"
|
||||
# "cec"
|
||||
# "cfg80211"
|
||||
# "chacha_neon"
|
||||
# "crc_ccitt"
|
||||
# "crct10dif_ce"
|
||||
# "crypto_engine"
|
||||
# "display_connector" #< NOT FOUND in pmos
|
||||
# "drm"
|
||||
# "drm_display_helper"
|
||||
# "drm_dma_helper"
|
||||
# "drm_kms_helper"
|
||||
# "drm_shmem_helper"
|
||||
# "dw_hdmi"
|
||||
# "dw_hdmi_cec" #< NOT FOUND in pmos
|
||||
# "dw_hdmi_i2s_audio"
|
||||
# "ecc"
|
||||
# "ecdh_generic"
|
||||
# "fuse"
|
||||
# "gc2145" #< NOT FOUND in megous-no-autoModules
|
||||
# "goodix_ts"
|
||||
# "gpio_vibra" #< NOT FOUND in megous-no-autoModules
|
||||
# "gpu_sched"
|
||||
# "hci_uart"
|
||||
# "i2c_gpio"
|
||||
# "inv_mpu6050" #< NOT FOUND in megous-no-autoModules
|
||||
# "inv_mpu6050_i2c" #< NOT FOUND in megous-no-autoModules
|
||||
# "inv_sensors_timestamp" #< NOT FOUND in megous-no-autoModules
|
||||
# "ip6t_rpfilter"
|
||||
# "ip6_udp_tunnel"
|
||||
# "ip_set"
|
||||
# "ip_set_hash_ipport"
|
||||
# "ip_tables"
|
||||
# "ipt_rpfilter"
|
||||
# "joydev"
|
||||
# "led_class_flash" #< NOT FOUND in megous-no-autoModules
|
||||
# "leds_sgm3140" #< NOT FOUND in megous-no-autoModules
|
||||
# "ledtrig_pattern" #< NOT FOUND in megous-no-autoModules
|
||||
# "libarc4"
|
||||
# "libchacha"
|
||||
# "libchacha20poly1305"
|
||||
# "libcrc32c"
|
||||
# "libcurve25519_generic"
|
||||
# "lima"
|
||||
# "llc"
|
||||
# "mac80211"
|
||||
# "macvlan"
|
||||
# "mc"
|
||||
# "modem_power"
|
||||
# "mousedev"
|
||||
# "nf_conntrack"
|
||||
# "nf_defrag_ipv4"
|
||||
# "nf_defrag_ipv6"
|
||||
# "nf_log_syslog"
|
||||
# "nf_nat"
|
||||
# "nfnetlink"
|
||||
# "nf_tables"
|
||||
# "nft_chain_nat"
|
||||
# "nft_compat"
|
||||
# "nls_cp437"
|
||||
# "nls_iso8859_1"
|
||||
# "nvmem_reboot_mode"
|
||||
# "ov5640"
|
||||
# "panel_sitronix_st7703"
|
||||
# "phy_sun6i_mipi_dphy"
|
||||
# "pinctrl_axp209" #< NOT FOUND in pmos
|
||||
# "pinephone_keyboard" #< NOT FOUND in megous-no-autoModules
|
||||
# "poly1305_neon"
|
||||
# "polyval_ce"
|
||||
# "polyval_generic"
|
||||
# "ppkb_manager" #< NOT FOUND in megous-no-autoModules
|
||||
# "pwm_bl"
|
||||
# "pwm_sun4i"
|
||||
# "qrtr"
|
||||
# "raid6_pq"
|
||||
# "rfkill"
|
||||
# "rtw88_8703b"
|
||||
# "rtw88_8723cs"
|
||||
# "rtw88_8723x"
|
||||
# "rtw88_core"
|
||||
# "rtw88_sdio"
|
||||
# "sch_fq_codel"
|
||||
# "sm4"
|
||||
# "snd_soc_bt_sco"
|
||||
# "snd_soc_ec25" #< NOT FOUND in megous-no-autoModules
|
||||
# "snd_soc_hdmi_codec"
|
||||
# "snd_soc_simple_amplifier"
|
||||
# "snd_soc_simple_card"
|
||||
# "snd_soc_simple_card_utils"
|
||||
# "stk3310" #< NOT FOUND in megous-no-autoModules
|
||||
# "st_magn"
|
||||
# "st_magn_i2c"
|
||||
# "st_magn_spi" #< NOT FOUND in pmos
|
||||
# "stp"
|
||||
# "st_sensors"
|
||||
# "st_sensors_i2c"
|
||||
# "st_sensors_spi" #< NOT FOUND in pmos
|
||||
# "sun4i_drm"
|
||||
# "sun4i_i2s"
|
||||
# "sun4i_lradc_keys" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun4i_tcon"
|
||||
# "sun50i_codec_analog"
|
||||
# "sun6i_csi"
|
||||
# "sun6i_dma"
|
||||
# "sun6i_mipi_dsi"
|
||||
# "sun8i_a33_mbus" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_adda_pr_regmap"
|
||||
# "sun8i_ce" #< NOT FOUND in pmos
|
||||
# "sun8i_codec" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_di" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_drm_hdmi"
|
||||
# "sun8i_mixer"
|
||||
# "sun8i_rotate" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_tcon_top"
|
||||
# "sun9i_hdmi_audio" #< NOT FOUND in megous-no-autoModules
|
||||
# "sunxi_wdt" #< NOT FOUND in pmos
|
||||
# "tap"
|
||||
# "typec" #< NOT FOUND in pmos
|
||||
# "udp_tunnel"
|
||||
# "uio" #< NOT FOUND in pmos
|
||||
# "uio_pdrv_genirq"
|
||||
# "v4l2_async"
|
||||
# "v4l2_cci" #< NOT FOUND in pmos
|
||||
# "v4l2_flash_led_class" #< NOT FOUND in megous-no-autoModules
|
||||
# "v4l2_fwnode"
|
||||
# "v4l2_mem2mem"
|
||||
# "videobuf2_common"
|
||||
# "videobuf2_dma_contig"
|
||||
# "videobuf2_memops"
|
||||
# "videobuf2_v4l2"
|
||||
# "videodev"
|
||||
# "wireguard"
|
||||
# "xor"
|
||||
# "x_tables"
|
||||
# "xt_conntrack"
|
||||
# "xt_LOG"
|
||||
# "xt_nat"
|
||||
# "xt_pkttype"
|
||||
# "xt_set"
|
||||
# "xt_tcpudp"
|
||||
# "zram"
|
||||
];
|
||||
|
||||
# disable proximity sensor.
|
||||
# the filtering/calibration is bad that it causes the screen to go fully dark at times.
|
||||
# boot.blacklistedKernelModules = [ "stk3310" ];
|
||||
|
||||
boot.kernelParams = [
|
||||
# without this some GUI apps fail: `DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory`
|
||||
# this is because they can't allocate enough video ram.
|
||||
# see related nixpkgs issue: <https://github.com/NixOS/nixpkgs/issues/260222>
|
||||
# TODO(2023/12/03): remove once mesa 23.3.1 lands: <https://github.com/NixOS/nixpkgs/pull/265740>
|
||||
#
|
||||
# the default CMA seems to be 32M.
|
||||
# i was running fine with 256MB from 2022/07-ish through 2022/12-ish, but then the phone quit reliably coming back from sleep (phosh): maybe a memory leak?
|
||||
# bumped to 512M on 2023/01
|
||||
# bumped to 1536M on 2024/05
|
||||
# `cat /proc/meminfo` to see CmaTotal/CmaFree if interested in tuning this.
|
||||
# kernel param mentioned here: <https://cateee.net/lkddb/web-lkddb/CMA_SIZE_PERCENTAGE.html>
|
||||
# i think cma mem isn't exclusive -- it can be used as ordinary `malloc`, still. i heard someone suggest the OS default should just be 50% memory to CMA.
|
||||
"cma=1536M"
|
||||
# 2023/10/20: potential fix for the lima (GPU) timeout bugs:
|
||||
# - <https://gitlab.com/postmarketOS/pmaports/-/issues/805#note_890467824>
|
||||
"lima.sched_timeout_ms=2000"
|
||||
];
|
||||
|
||||
systemd.services.unl0kr.preStart = ensureHWReady;
|
||||
}
|
@@ -1,45 +0,0 @@
|
||||
# this file configures preferences per program, without actually enabling any programs.
|
||||
# the goal is to separate the place where we decide *what* to use (i.e. `sane.programs.firefox.enable = true` -- at the toplevel)
|
||||
# from where we specific how that thing should behave *if* it's in use.
|
||||
#
|
||||
# NixOS backgrounds:
|
||||
# - <https://github.com/NixOS/nixos-artwork>
|
||||
# - <https://github.com/NixOS/nixos-artwork/issues/50> (colorful; unmerged)
|
||||
# - <https://github.com/NixOS/nixos-artwork/pull/60/files> (desktop-oriented; clean; unmerged)
|
||||
# - <https://itsfoss.com/content/images/2023/04/nixos-tutorials.png>
|
||||
|
||||
{ lib, pkgs, sane-lib, ... }:
|
||||
{
|
||||
sane.programs.firefox.config = {
|
||||
# compromise impermanence for the sake of usability
|
||||
persistCache = "private";
|
||||
persistData = "private";
|
||||
|
||||
# i don't do crypto stuff on moby
|
||||
addons.ether-metamask.enable = false;
|
||||
# sidebery UX doesn't make sense on small screen
|
||||
addons.sidebery.enable = false;
|
||||
};
|
||||
sane.programs.swaynotificationcenter.config = {
|
||||
backlight = "backlight"; # /sys/class/backlight/*backlight*/brightness
|
||||
};
|
||||
|
||||
sane.programs.alacritty.config.fontSize = 9;
|
||||
|
||||
sane.programs.sway.config = {
|
||||
font = "pango:monospace 10";
|
||||
mod = "Mod1"; # prefer Alt
|
||||
workspace_layout = "tabbed";
|
||||
};
|
||||
|
||||
sane.programs.waybar.config = {
|
||||
fontSize = 14;
|
||||
height = 26;
|
||||
persistWorkspaces = [ "1" "2" "3" "4" "5" ];
|
||||
modules.media = false;
|
||||
modules.network = false;
|
||||
modules.perf = false;
|
||||
modules.windowTitle = false;
|
||||
# TODO: show modem state
|
||||
};
|
||||
}
|
@@ -4,7 +4,6 @@
|
||||
./fs.nix
|
||||
];
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
|
||||
sane.persist.enable = false; # what we mean here is that the image is immutable; `/` is still tmpfs.
|
||||
sane.nixcache.enable = false; # don't want to be calling out to dead machines that we're *trying* to rescue
|
||||
@@ -12,7 +11,4 @@
|
||||
# auto-login at shell
|
||||
services.getty.autologinUser = "colin";
|
||||
# users.users.colin.initialPassword = "colin";
|
||||
|
||||
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
|
||||
system.stateVersion = "21.05";
|
||||
}
|
||||
|
@@ -38,7 +38,6 @@
|
||||
# using root here makes sure we always have an escape hatch
|
||||
services.getty.autologinUser = "root";
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
|
||||
|
||||
# both transmission and ipfs try to set different net defaults.
|
||||
@@ -46,13 +45,5 @@
|
||||
boot.kernel.sysctl = {
|
||||
"net.core.rmem_max" = 4194304; # 4MB
|
||||
};
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "21.11";
|
||||
}
|
||||
|
||||
|
@@ -53,6 +53,8 @@
|
||||
session.COOKIE_SECURE = true;
|
||||
repository = {
|
||||
DEFAULT_BRANCH = "master";
|
||||
ENABLE_PUSH_CREATE_USER = true;
|
||||
ENABLE_PUSH_CREATE_ORG = true;
|
||||
};
|
||||
other = {
|
||||
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false;
|
||||
|
50
hosts/common/boot.nix
Normal file
50
hosts/common/boot.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
boot.initrd.supportedFilesystems = [ "ext4" "btrfs" "ext2" "ext3" "vfat" ];
|
||||
# useful emergency utils
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs ${pkgs.btrfs-progs}/bin/btrfstune
|
||||
copy_bin_and_libs ${pkgs.util-linux}/bin/{cfdisk,lsblk,lscpu}
|
||||
copy_bin_and_libs ${pkgs.gptfdisk}/bin/{cgdisk,gdisk}
|
||||
copy_bin_and_libs ${pkgs.smartmontools}/bin/smartctl
|
||||
copy_bin_and_libs ${pkgs.e2fsprogs}/bin/resize2fs
|
||||
'' + lib.optionalString pkgs.stdenv.hostPlatform.isx86_64 ''
|
||||
copy_bin_and_libs ${pkgs.nvme-cli}/bin/nvme # doesn't cross compile
|
||||
'';
|
||||
boot.kernelParams = [
|
||||
"boot.shell_on_fail"
|
||||
#v experimental full pre-emption for hopefully better call/audio latency on moby.
|
||||
# also toggleable at runtime via /sys/kernel/debug/sched/preempt
|
||||
# defaults to preempt=voluntary
|
||||
# "preempt=full"
|
||||
];
|
||||
# other kernelParams:
|
||||
# "boot.trace"
|
||||
# "systemd.log_level=debug"
|
||||
# "systemd.log_target=console"
|
||||
|
||||
# moby has to run recent kernels (defined elsewhere).
|
||||
# meanwhile, kernel variation plays some minor role in things like sandboxing (landlock) and capabilities.
|
||||
# simpler to keep near the latest kernel on all devices,
|
||||
# and also makes certain that any weird system-level bugs i see aren't likely to be stale kernel bugs.
|
||||
# servo needs zfs though, which doesn't support every kernel.
|
||||
boot.kernelPackages = lib.mkDefault pkgs.zfs.latestCompatibleLinuxPackages;
|
||||
|
||||
# hack in the `boot.shell_on_fail` arg since that doesn't always seem to work.
|
||||
boot.initrd.preFailCommands = "allowShell=1";
|
||||
|
||||
# default: 4 (warn). 7 is debug
|
||||
boot.consoleLogLevel = 7;
|
||||
|
||||
boot.loader.grub.enable = lib.mkDefault false;
|
||||
boot.loader.generic-extlinux-compatible.enable = lib.mkDefault true;
|
||||
|
||||
hardware.enableAllFirmware = true; # firmware with licenses that don't allow for redistribution. fuck lawyers, fuck IP, give me the goddamn firmware.
|
||||
# hardware.enableRedistributableFirmware = true; # proprietary but free-to-distribute firmware (extraneous to `enableAllFirmware` option)
|
||||
|
||||
# default is 252274, which is too low particularly for servo.
|
||||
# manifests as spurious "No space left on device" when trying to install watches,
|
||||
# e.g. in dyn-dns by `systemctl start dyn-dns-watcher.path`.
|
||||
# see: <https://askubuntu.com/questions/828779/failed-to-add-run-systemd-ask-password-to-directory-watch-no-space-left-on-dev>
|
||||
boot.kernel.sysctl."fs.inotify.max_user_watches" = 1048576;
|
||||
}
|
@@ -1,9 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./boot.nix
|
||||
./feeds.nix
|
||||
./fs.nix
|
||||
./hardware
|
||||
./home
|
||||
./hosts.nix
|
||||
./ids.nix
|
||||
@@ -13,12 +13,18 @@
|
||||
./persist.nix
|
||||
./polyunfill.nix
|
||||
./programs
|
||||
./quirks.nix
|
||||
./secrets.nix
|
||||
./ssh.nix
|
||||
./systemd.nix
|
||||
./users
|
||||
];
|
||||
|
||||
|
||||
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
|
||||
# this affects where nixos modules look for stateful data which might have been migrated across releases.
|
||||
system.stateVersion = "21.11";
|
||||
|
||||
sane.nixcache.enable-trusted-keys = true;
|
||||
sane.nixcache.enable = lib.mkDefault true;
|
||||
sane.persist.enable = lib.mkDefault true;
|
||||
@@ -26,9 +32,6 @@
|
||||
sane.programs.sysadminUtils.enableFor.system = lib.mkDefault true;
|
||||
sane.programs.consoleUtils.enableFor.user.colin = lib.mkDefault true;
|
||||
|
||||
nixpkgs.config.allowUnfree = true; # NIXPKGS_ALLOW_UNFREE=1
|
||||
nixpkgs.config.allowBroken = true; # NIXPKGS_ALLOW_BROKEN=1
|
||||
|
||||
# time.timeZone = "America/Los_Angeles";
|
||||
time.timeZone = "Etc/UTC"; # DST is too confusing for me => use a stable timezone
|
||||
|
||||
|
@@ -238,7 +238,7 @@ let
|
||||
(fromDb "youtube.com/@TomScottGo")
|
||||
(fromDb "youtube.com/@Vihart")
|
||||
(fromDb "youtube.com/@Vox")
|
||||
(fromDb "youtube.com/@Vsauce")
|
||||
# (fromDb "youtube.com/@Vsauce") # they're all like 1-minute long videos now? what happened @Vsauce?
|
||||
|
||||
# (fromDb "youtube.com/@rossmanngroup" // pol // tech) # Louis Rossmann
|
||||
];
|
||||
|
@@ -216,6 +216,7 @@ lib.mkMerge [
|
||||
programs.fuse.userAllowOther = true; #< necessary for `allow_other` or `allow_root` options.
|
||||
}
|
||||
|
||||
(remoteHome "crappy")
|
||||
(remoteHome "desko")
|
||||
(remoteHome "lappy")
|
||||
(remoteHome "moby")
|
||||
|
@@ -1,99 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./x86_64.nix
|
||||
];
|
||||
|
||||
boot.initrd.supportedFilesystems = [ "ext4" "btrfs" "ext2" "ext3" "vfat" ];
|
||||
# useful emergency utils
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs ${pkgs.btrfs-progs}/bin/btrfstune
|
||||
copy_bin_and_libs ${pkgs.util-linux}/bin/{cfdisk,lsblk,lscpu}
|
||||
copy_bin_and_libs ${pkgs.gptfdisk}/bin/{cgdisk,gdisk}
|
||||
copy_bin_and_libs ${pkgs.smartmontools}/bin/smartctl
|
||||
copy_bin_and_libs ${pkgs.e2fsprogs}/bin/resize2fs
|
||||
'' + lib.optionalString pkgs.stdenv.hostPlatform.isx86_64 ''
|
||||
copy_bin_and_libs ${pkgs.nvme-cli}/bin/nvme # doesn't cross compile
|
||||
'';
|
||||
boot.kernelParams = [
|
||||
"boot.shell_on_fail"
|
||||
#v experimental full pre-emption for hopefully better call/audio latency on moby.
|
||||
# also toggleable at runtime via /sys/kernel/debug/sched/preempt
|
||||
# defaults to preempt=voluntary
|
||||
# "preempt=full"
|
||||
];
|
||||
# other kernelParams:
|
||||
# "boot.trace"
|
||||
# "systemd.log_level=debug"
|
||||
# "systemd.log_target=console"
|
||||
|
||||
# moby has to run recent kernels (defined elsewhere).
|
||||
# meanwhile, kernel variation plays some minor role in things like sandboxing (landlock) and capabilities.
|
||||
# simpler to keep near the latest kernel on all devices,
|
||||
# and also makes certain that any weird system-level bugs i see aren't likely to be stale kernel bugs.
|
||||
# servo needs zfs though, which doesn't support every kernel.
|
||||
boot.kernelPackages = lib.mkDefault pkgs.zfs.latestCompatibleLinuxPackages;
|
||||
|
||||
# TODO: remove after linux 6.9. see: <https://github.com/axboe/liburing/issues/1113>
|
||||
# - <https://github.com/neovim/neovim/issues/28149>
|
||||
# - <https://git.kernel.dk/cgit/linux/commit/?h=io_uring-6.9&id=e5444baa42e545bb929ba56c497e7f3c73634099>
|
||||
# when removing, try starting and suspending (ctrl+z) two instances of neovim simultaneously.
|
||||
# if the system doesn't freeze, then this is safe to remove.
|
||||
# added 2024-04-04
|
||||
sane.user.fs.".profile".symlink.text = lib.mkBefore ''
|
||||
export UV_USE_IO_URING=0
|
||||
'';
|
||||
|
||||
# hack in the `boot.shell_on_fail` arg since that doesn't always seem to work.
|
||||
boot.initrd.preFailCommands = "allowShell=1";
|
||||
|
||||
# default: 4 (warn). 7 is debug
|
||||
boot.consoleLogLevel = 7;
|
||||
|
||||
boot.loader.grub.enable = lib.mkDefault false;
|
||||
boot.loader.generic-extlinux-compatible.enable = lib.mkDefault true;
|
||||
|
||||
# non-free firmware
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
|
||||
# default is 252274, which is too low particularly for servo.
|
||||
# manifests as spurious "No space left on device" when trying to install watches,
|
||||
# e.g. in dyn-dns by `systemctl start dyn-dns-watcher.path`.
|
||||
# see: <https://askubuntu.com/questions/828779/failed-to-add-run-systemd-ask-password-to-directory-watch-no-space-left-on-dev>
|
||||
boot.kernel.sysctl."fs.inotify.max_user_watches" = 1048576;
|
||||
|
||||
# powertop will default to putting USB devices -- including HID -- to sleep after TWO SECONDS
|
||||
powerManagement.powertop.enable = false;
|
||||
# linux CPU governor: <https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt>
|
||||
# - options:
|
||||
# - "powersave" => force CPU to always run at lowest supported frequency
|
||||
# - "performance" => force CPU to always run at highest frequency
|
||||
# - "ondemand" => adjust frequency based on load
|
||||
# - "conservative" (ondemand but slower to adjust)
|
||||
# - "schedutil"
|
||||
# - "userspace"
|
||||
# - not all options are available for all platforms
|
||||
# - intel (intel_pstate) appears to manage scaling w/o intervention/control from the OS.
|
||||
# - AMD (acpi-cpufreq) appears to manage scaling via the OS *or* HW. but the ondemand defaults never put it to max hardware frequency.
|
||||
# - qualcomm (cpufreq-dt) appears to manage scaling *only* via the OS. ondemand governor exercises the full range.
|
||||
# - query details with `sudo cpupower frequency-info`
|
||||
powerManagement.cpuFreqGovernor = "ondemand";
|
||||
|
||||
# see: `man logind.conf`
|
||||
# don’t shutdown when power button is short-pressed (commonly done an accident, or by cats).
|
||||
# but do on long-press: useful to gracefully power-off server.
|
||||
services.logind.powerKey = "lock";
|
||||
services.logind.powerKeyLongPress = "poweroff";
|
||||
services.logind.lidSwitch = "lock";
|
||||
|
||||
# services.snapper.configs = {
|
||||
# root = {
|
||||
# subvolume = "/";
|
||||
# extraConfig = {
|
||||
# ALLOW_USERS = "colin";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# services.snapper.snapshotInterval = "daily";
|
||||
}
|
@@ -2,6 +2,14 @@
|
||||
|
||||
{
|
||||
# TODO: this should be populated per-host
|
||||
sane.hosts.by-name."crappy" = {
|
||||
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMIvSQAGKqmymXIL4La9B00LPxBIqWAr5AsJxk3UQeY5";
|
||||
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMN0cpRAloCBOE5/2wuzgik35iNDv5KLceWMCVaa7DIQ";
|
||||
# wg-home.pubkey = "TODO";
|
||||
# wg-home.ip = "10.0.10.55";
|
||||
lan-ip = "10.78.79.55";
|
||||
};
|
||||
|
||||
sane.hosts.by-name."desko" = {
|
||||
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPU5GlsSfbaarMvDA20bxpSZGWviEzXGD8gtrIowc1pX";
|
||||
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFw9NoRaYrM6LbDd3aFBc4yyBlxGQn8HjeHd/dZ3CfHk";
|
||||
|
@@ -32,15 +32,33 @@
|
||||
# serviceConfig.Restart = "on-abort";
|
||||
# serviceConfig.StandardError = "null";
|
||||
# serviceConfig.CapabilityBoundingSet = "CAP_SYS_ADMIN CAP_NET_ADMIN";
|
||||
# serviceConfig.ProtectSystem = true;
|
||||
# serviceConfig.ProtectHome = true;
|
||||
# serviceConfig.ProtectSystem = true; # makes empty: /boot, /usr
|
||||
# serviceConfig.ProtectHome = true; # makes empty: /home, /root, /run/user
|
||||
# serviceConfig.PrivateTmp = true;
|
||||
# serviceConfig.RestrictAddressFamilies = "AF_NETLINK AF_UNIX AF_QIPCRTR";
|
||||
# serviceConfig.NoNewPrivileges = true;
|
||||
|
||||
# TODO: sandbox more aggressively
|
||||
# - CAP_NET_ADMIN *only*?
|
||||
# it needs these paths:
|
||||
serviceConfig.CapabilityBoundingSet = [ "CAP_NET_ADMIN" ]; #< TODO: make sure this is *really* taking effect, and isn't supplemental to upstream's `CAP_SYS_ADMIN` setting
|
||||
serviceConfig.LockPersonality = true;
|
||||
# serviceConfig.PrivateUsers = true; #< untried, not likely to work since it needs capabilities
|
||||
serviceConfig.PrivateTmp = true;
|
||||
serviceConfig.ProtectClock = true; # syscall filter to prevent changing the RTC
|
||||
serviceConfig.ProtectControlGroups = true;
|
||||
serviceConfig.ProtectHome = true; # makes empty: /home, /root, /run/user
|
||||
serviceConfig.ProtectHostname = true; # prevents changing hostname
|
||||
serviceConfig.ProtectKernelLogs = true; # disable /proc/kmsg, /dev/kmsg
|
||||
serviceConfig.ProtectKernelModules = true; # syscall filter to prevent module calls
|
||||
serviceConfig.ProtectKernelTunables = true;
|
||||
serviceConfig.ProtectSystem = "strict"; # makes read-only all but /dev, /proc, /sys
|
||||
serviceConfig.RestrictAddressFamilies = [
|
||||
"AF_NETLINK"
|
||||
"AF_QIPCRTR"
|
||||
"AF_UNIX"
|
||||
];
|
||||
serviceConfig.RestrictSUIDSGID = true;
|
||||
serviceConfig.SystemCallArchitectures = "native"; # prevents e.g. aarch64 syscalls in the event that the kernel is multi-architecture.
|
||||
|
||||
# from earlier `landlock` sandboxing, i know it needs these directories:
|
||||
# - # "/"
|
||||
# - "/dev" #v modem-power + net are not enough
|
||||
# - # "/dev/modem-power"
|
||||
|
@@ -61,35 +61,46 @@ in {
|
||||
serviceConfig.AmbientCapabilities = [
|
||||
# "CAP_DAC_OVERRIDE"
|
||||
"CAP_NET_ADMIN"
|
||||
"CAP_NET_RAW"
|
||||
"CAP_NET_RAW" #< required, else `libndp: ndp_sock_open: Failed to create ICMP6 socket.`
|
||||
"CAP_NET_BIND_SERVICE" #< this *does* seem to be necessary, though i don't understand why. DHCP?
|
||||
# "CAP_SYS_MODULE"
|
||||
"CAP_AUDIT_WRITE" #< allow writing to the audit log
|
||||
# "CAP_AUDIT_WRITE" #< allow writing to the audit log (optional)
|
||||
# "CAP_KILL"
|
||||
];
|
||||
serviceConfig.LockPersonality = true;
|
||||
serviceConfig.NoNewPrivileges = true;
|
||||
serviceConfig.PrivateDevices = true; # remount /dev with just the basics, syscall filter to block @raw-io
|
||||
serviceConfig.PrivateIPC = true;
|
||||
serviceConfig.PrivateUsers = true; # TODO: might break hooks?
|
||||
serviceConfig.PrivateTmp = true;
|
||||
# serviceConfig.PrivateUsers = true; #< BREAKS NetworkManager (presumably, it causes a new user namespace, breaking CAP_NET_ADMIN & others). "platform-linux: do-change-link[3]: failure 1 (Operation not permitted)"
|
||||
serviceConfig.ProtectClock = true; # syscall filter to prevent changing the RTC
|
||||
serviceConfig.ProtectControlGroups = true;
|
||||
serviceConfig.ProtectHome = true; # makes empty: /home, /root, /run/user
|
||||
serviceConfig.ProtectHostname = true; # probably not upstreamable: prevents changing hostname
|
||||
serviceConfig.ProtectKernelLogs = true; # disable /proc/kmsg, /dev/kmsg
|
||||
serviceConfig.ProtectKernelModules = true; # syscall filter to prevent module calls
|
||||
# ProtectKernelTunables = true; # but NM might need to write /proc/sys/net/...
|
||||
serviceConfig.ProtectSystem = "full"; # makes read-only: /boot, /etc/, /usr. TODO: "strict" would make all but /dev, /proc, /sys inaccessible.
|
||||
# serviceConfig.RestrictAddressFamilies = TODO
|
||||
serviceConfig.ProtectKernelModules = true; # syscall filter to prevent module calls (probably not upstreamable: NM will want to load modules like `ppp`)
|
||||
serviceConfig.ProtectKernelTunables = true; # but NM might need to write /proc/sys/net/...
|
||||
serviceConfig.ProtectSystem = "strict"; # makes read-only: all but /dev, /proc, /sys.
|
||||
serviceConfig.RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_NETLINK" # breaks near DHCP without this
|
||||
"AF_PACKET" # for DHCP
|
||||
"AF_UNIX"
|
||||
# AF_ALG ?
|
||||
# AF_BLUETOOTH ?
|
||||
# AF_BRIDGE ?
|
||||
];
|
||||
serviceConfig.RestrictSUIDSGID = true;
|
||||
serviceConfig.SystemCallArchitectures = "native"; # prevents e.g. aarch64 syscalls in the event that the kernel is multi-architecture.
|
||||
# TODO: it needs these directories:
|
||||
# from earlier `landlock` sandboxing, i know it needs these directories:
|
||||
# - "/proc/net"
|
||||
# - "/proc/sys/net"
|
||||
# - "/run/NetworkManager"
|
||||
# - "/run/systemd" # for trust-dns-nmhook
|
||||
# - "/run/udev"
|
||||
# - # "/run/wg-home.priv"
|
||||
# - "/sys/class" #< TODO: specify this more precisely
|
||||
# - "/sys/class"
|
||||
# - "/sys/devices"
|
||||
# - "/var/lib/NetworkManager"
|
||||
# - "/var/lib/trust-dns" #< for trust-dns-nmhook
|
||||
@@ -111,9 +122,29 @@ in {
|
||||
# ];
|
||||
# serviceConfig.Restart = "always";
|
||||
# serviceConfig.RestartSec = "1s";
|
||||
serviceConfig.User = "networkmanager";
|
||||
|
||||
# serviceConfig.DynamicUser = true; #< not possible, else we lose group perms (so can't write to `trust-dns`'s files in the nm hook)
|
||||
serviceConfig.User = "networkmanager"; # TODO: should arguably use `DynamicUser`
|
||||
serviceConfig.Group = "networkmanager";
|
||||
# TODO: it needs access only to the above mentioned directories
|
||||
serviceConfig.LockPersonality = true;
|
||||
serviceConfig.NoNewPrivileges = true;
|
||||
serviceConfig.PrivateDevices = true; # remount /dev with just the basics, syscall filter to block @raw-io
|
||||
serviceConfig.PrivateIPC = true;
|
||||
serviceConfig.PrivateTmp = true;
|
||||
serviceConfig.PrivateUsers = true;
|
||||
serviceConfig.ProtectClock = true; # syscall filter to prevent changing the RTC
|
||||
serviceConfig.ProtectControlGroups = true;
|
||||
serviceConfig.ProtectHome = true; # makes empty: /home, /root, /run/user
|
||||
serviceConfig.ProtectHostname = true; # probably not upstreamable: prevents changing hostname
|
||||
serviceConfig.ProtectKernelLogs = true; # disable /proc/kmsg, /dev/kmsg
|
||||
serviceConfig.ProtectKernelModules = true; # syscall filter to prevent module calls
|
||||
serviceConfig.ProtectKernelTunables = true;
|
||||
serviceConfig.ProtectSystem = "full"; # makes read-only: /boot, /etc/, /usr. `strict` isn't possible due to trust-dns hook
|
||||
serviceConfig.RestrictAddressFamilies = [
|
||||
"AF_UNIX" # required, probably for dbus or systemd connectivity
|
||||
];
|
||||
serviceConfig.RestrictSUIDSGID = true;
|
||||
serviceConfig.SystemCallArchitectures = "native"; # prevents e.g. aarch64 syscalls in the event that the kernel is multi-architecture.
|
||||
};
|
||||
|
||||
# harden wpa_supplicant (used by NetworkManager)
|
||||
@@ -124,7 +155,31 @@ in {
|
||||
"CAP_NET_ADMIN"
|
||||
"CAP_NET_RAW"
|
||||
];
|
||||
# TODO: it needs only these paths:
|
||||
serviceConfig.LockPersonality = true;
|
||||
serviceConfig.NoNewPrivileges = true;
|
||||
# serviceConfig.PrivateDevices = true; # untried, not likely to work. remount /dev with just the basics, syscall filter to block @raw-io
|
||||
serviceConfig.PrivateIPC = true;
|
||||
serviceConfig.PrivateTmp = true;
|
||||
# serviceConfig.PrivateUsers = true; #< untried, not likely to work
|
||||
serviceConfig.ProtectClock = true; # syscall filter to prevent changing the RTC
|
||||
serviceConfig.ProtectControlGroups = true;
|
||||
serviceConfig.ProtectHome = true; # makes empty: /home, /root, /run/user
|
||||
serviceConfig.ProtectHostname = true; # prevents changing hostname
|
||||
serviceConfig.ProtectKernelLogs = true; # disable /proc/kmsg, /dev/kmsg
|
||||
serviceConfig.ProtectKernelModules = true; # syscall filter to prevent module calls
|
||||
serviceConfig.ProtectKernelTunables = true; #< N.B.: i think this makes certain /proc writes fail
|
||||
serviceConfig.ProtectSystem = "strict"; # makes read-only: all but /dev, /proc, /sys.
|
||||
serviceConfig.RestrictAddressFamilies = [
|
||||
"AF_INET" #< required
|
||||
"AF_INET6"
|
||||
"AF_NETLINK" #< required
|
||||
"AF_PACKET" #< required
|
||||
"AF_UNIX" #< required (wpa_supplicant wants to use dbus)
|
||||
];
|
||||
serviceConfig.RestrictSUIDSGID = true;
|
||||
serviceConfig.SystemCallArchitectures = "native"; # prevents e.g. aarch64 syscalls in the event that the kernel is multi-architecture.
|
||||
|
||||
# from earlier `landlock` sandboxing, i know it needs only these paths:
|
||||
# - "/dev/net"
|
||||
# - "/dev/rfkill"
|
||||
# - "/proc/sys/net"
|
||||
|
@@ -240,6 +240,7 @@ in
|
||||
# "powermanga" # STYLISH space invaders derivative (keyboard-only)
|
||||
"shattered-pixel-dungeon" # doesn't cross compile
|
||||
"space-cadet-pinball" # LMB/RMB controls (bindable though. volume buttons?)
|
||||
"steam"
|
||||
"superTux" # keyboard-only controls
|
||||
"superTuxKart" # poor FPS on pinephone
|
||||
"tumiki-fighters" # keyboard-only
|
||||
@@ -373,7 +374,6 @@ in
|
||||
# "slic3r"
|
||||
"soundconverter"
|
||||
"spotify" # x86-only
|
||||
"steam"
|
||||
"tor-browser" # x86-only
|
||||
# "vlc"
|
||||
"wireshark" # could maybe ship the cli as sysadmin pkg
|
||||
|
@@ -1,6 +1,12 @@
|
||||
{ ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
sane.programs.brave = {
|
||||
# convert eval error to build failure
|
||||
packageUnwrapped = if (builtins.tryEval pkgs.brave).success then
|
||||
pkgs.brave
|
||||
else
|
||||
pkgs.runCommandLocal "brave-not-supported" {} "false"
|
||||
;
|
||||
sandbox.method = "bwrap";
|
||||
sandbox.wrapperType = "inplace"; # /opt/share/brave.com vendor-style packaging
|
||||
sandbox.net = "all";
|
||||
|
@@ -135,65 +135,54 @@ let
|
||||
'cycle_key = "c"' 'cycle_key = "v"'
|
||||
'';
|
||||
});
|
||||
mpv-unwrapped = pkgs.mpv-unwrapped.overrideAttrs (upstream: {
|
||||
version = "0.37.0-unstable-2024-03-31";
|
||||
src = lib.warnIf (lib.versionOlder "0.37.0" upstream.version) "mpv outdated; remove patch?" pkgs.fetchFromGitHub {
|
||||
owner = "mpv-player";
|
||||
repo = "mpv";
|
||||
rev = "4ce4bf1795e6dfd6f1ddf07fb348ce5d191ab1dc";
|
||||
hash = "sha256-nOGuHq7SWDAygROV7qHtezDv1AsMpseImI8TVd3F+Oc=";
|
||||
};
|
||||
patches = [];
|
||||
});
|
||||
in
|
||||
{
|
||||
sane.programs.mpv = {
|
||||
packageUnwrapped = pkgs.wrapMpv
|
||||
(mpv-unwrapped.override rec {
|
||||
packageUnwrapped = pkgs.mpv-unwrapped.wrapper {
|
||||
mpv = pkgs.mpv-unwrapped.override rec {
|
||||
# N.B.: populating `self` to `luajit` is necessary for the resulting `lua.withPackages` function to preserve my override.
|
||||
# i use enable52Compat in order to get `table.unpack`.
|
||||
# i think using `luajit` here instead of `lua` is optional, just i get better perf with it :)
|
||||
lua = pkgs.luajit.override { enable52Compat = true; self = lua; };
|
||||
})
|
||||
{
|
||||
scripts = [
|
||||
pkgs.mpvScripts.mpris
|
||||
pkgs.mpvScripts.mpv-playlistmanager
|
||||
pkgs.mpvScripts.mpv-webm
|
||||
uosc
|
||||
visualizer
|
||||
# pkgs.mpv-uosc-latest
|
||||
];
|
||||
# extraMakeWrapperArgs = lib.optionals (cfg.config.vo != null) [
|
||||
# # 2023/08/29: fixes an error where mpv on moby launches with the message
|
||||
# # "DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory"
|
||||
# # audio still works, and controls, screenshotting, etc -- just not the actual rendering
|
||||
# #
|
||||
# # this is likely a regression for mpv 0.36.0.
|
||||
# # the actual error message *appears* to come from the mesa library, but it's tough to trace.
|
||||
# #
|
||||
# # 2024/03/02: no longer necessary, with mesa 23.3.1: <https://github.com/NixOS/nixpkgs/pull/265740>
|
||||
# #
|
||||
# # backend compatibility (2023/10/22):
|
||||
# # run with `--vo=help` to see a list of all output options.
|
||||
# # non-exhaustive (W=works, F=fails, A=audio-only, U=audio+ui only (no video))
|
||||
# # ? null Null video output
|
||||
# # A (default)
|
||||
# # A dmabuf-wayland Wayland dmabuf video output
|
||||
# # A libmpv render API for libmpv (mpv plays the audio, but doesn't even render a window)
|
||||
# # A vdpau VDPAU with X11
|
||||
# # F drm Direct Rendering Manager (software scaling)
|
||||
# # F gpu-next Video output based on libplacebo
|
||||
# # F vaapi VA API with X11
|
||||
# # F x11 X11 (software scaling)
|
||||
# # F xv X11/Xv
|
||||
# # U gpu Shader-based GPU Renderer
|
||||
# # W caca libcaca (terminal rendering)
|
||||
# # W sdl SDL 2.0 Renderer
|
||||
# # W wlshm Wayland SHM video output (software scaling)
|
||||
# "--add-flags" "--vo=${cfg.config.vo}"
|
||||
# ];
|
||||
};
|
||||
scripts = [
|
||||
pkgs.mpvScripts.mpris
|
||||
pkgs.mpvScripts.mpv-playlistmanager
|
||||
pkgs.mpvScripts.mpv-webm
|
||||
uosc
|
||||
visualizer
|
||||
# pkgs.mpv-uosc-latest
|
||||
];
|
||||
# extraMakeWrapperArgs = lib.optionals (cfg.config.vo != null) [
|
||||
# # 2023/08/29: fixes an error where mpv on moby launches with the message
|
||||
# # "DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory"
|
||||
# # audio still works, and controls, screenshotting, etc -- just not the actual rendering
|
||||
# #
|
||||
# # this is likely a regression for mpv 0.36.0.
|
||||
# # the actual error message *appears* to come from the mesa library, but it's tough to trace.
|
||||
# #
|
||||
# # 2024/03/02: no longer necessary, with mesa 23.3.1: <https://github.com/NixOS/nixpkgs/pull/265740>
|
||||
# #
|
||||
# # backend compatibility (2023/10/22):
|
||||
# # run with `--vo=help` to see a list of all output options.
|
||||
# # non-exhaustive (W=works, F=fails, A=audio-only, U=audio+ui only (no video))
|
||||
# # ? null Null video output
|
||||
# # A (default)
|
||||
# # A dmabuf-wayland Wayland dmabuf video output
|
||||
# # A libmpv render API for libmpv (mpv plays the audio, but doesn't even render a window)
|
||||
# # A vdpau VDPAU with X11
|
||||
# # F drm Direct Rendering Manager (software scaling)
|
||||
# # F gpu-next Video output based on libplacebo
|
||||
# # F vaapi VA API with X11
|
||||
# # F x11 X11 (software scaling)
|
||||
# # F xv X11/Xv
|
||||
# # U gpu Shader-based GPU Renderer
|
||||
# # W caca libcaca (terminal rendering)
|
||||
# # W sdl SDL 2.0 Renderer
|
||||
# # W wlshm Wayland SHM video output (software scaling)
|
||||
# "--add-flags" "--vo=${cfg.config.vo}"
|
||||
# ];
|
||||
};
|
||||
|
||||
suggestedPrograms = [
|
||||
"blast-to-default"
|
||||
|
@@ -14,7 +14,8 @@ let
|
||||
# docs: https://github.com/nvim-treesitter/nvim-treesitter
|
||||
# config taken from: https://github.com/i077/system/blob/master/modules/home/neovim/default.nix
|
||||
# this is required for tree-sitter to even highlight
|
||||
plugin = nvim-treesitter.withPlugins (_: nvim-treesitter.allGrammars ++ [
|
||||
# XXX(2024/06/03): `unison` removed because it doesn't cross compile
|
||||
plugin = nvim-treesitter.withPlugins (_: (lib.filter (p: p.pname != "unison-grammar") nvim-treesitter.allGrammars) ++ [
|
||||
# XXX: this is apparently not enough to enable syntax highlighting!
|
||||
# nvim-treesitter ships its own queries which may be distinct from e.g. helix.
|
||||
# the queries aren't included when i ship the grammar in this manner
|
||||
@@ -167,9 +168,27 @@ in
|
||||
vim.mpack.decode = vim.mpack.unpack
|
||||
vim.lpeg = require 'lpeg'
|
||||
"
|
||||
'' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
substituteInPlace runtime/CMakeLists.txt --replace-fail \
|
||||
'COMMAND $<TARGET_FILE:nvim_bin>' 'COMMAND ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} $<TARGET_FILE:nvim_bin>'
|
||||
''
|
||||
# + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
# # required for x86_64 -> aarch64 (and probably armv7l too)
|
||||
# substituteInPlace runtime/CMakeLists.txt --replace-fail \
|
||||
# 'COMMAND $<TARGET_FILE:nvim_bin>' 'COMMAND ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} $<TARGET_FILE:nvim_bin>'
|
||||
# ''
|
||||
+ ''
|
||||
# disable translations and syntax highlighting of .vim files because they don't cross x86_64 -> armv7l
|
||||
substituteInPlace src/nvim/CMakeLists.txt --replace-fail \
|
||||
'add_subdirectory(po)' '# add_subdirectory(po)'
|
||||
# substituteInPlace src/nvim/po/CMakeLists.txt --replace-fail \
|
||||
# 'add_dependencies(nvim nvim_translations)' '# add_dependencies(nvim nvim_translations)'
|
||||
substituteInPlace runtime/CMakeLists.txt \
|
||||
--replace-fail ' ''${GENERATED_SYN_VIM}' ' # ''${GENERATED_SYN_VIM}' \
|
||||
--replace-fail ' ''${GENERATED_HELP_TAGS}' ' # ''${GENERATED_HELP_TAGS}' \
|
||||
--replace-fail 'FILES ''${GENERATED_HELP_TAGS} ''${BUILDDOCFILES}' 'FILES ''${CMAKE_CURRENT_SOURCE_DIR}/nvim.desktop' \
|
||||
--replace-fail 'FILES ''${GENERATED_SYN_VIM}' 'FILES ''${CMAKE_CURRENT_SOURCE_DIR}/nvim.desktop' \
|
||||
--replace-fail 'if(''${PACKNAME}_DOC_FILES)' 'if(false)'
|
||||
# --replace-fail ' ''${GENERATED_PACKAGE_TAGS}' ' # ''${GENERATED_PACKAGE_TAGS}' \
|
||||
# --replace-fail 'list(APPEND BUILDDOCFILES' '# list(APPEND BUILDDOCFILES'
|
||||
# --replace-fail ' FILES ''${GENERATED_HELP_TAGS} ' ' FILES ' \
|
||||
'';
|
||||
});
|
||||
in pkgs.wrapNeovimUnstable
|
||||
|
@@ -85,7 +85,7 @@ in
|
||||
"playerctl"
|
||||
"procps"
|
||||
"sane-open"
|
||||
"sway"
|
||||
# "sway" #< TODO: circular dependency :-(
|
||||
"wireplumber"
|
||||
# optional integrations:
|
||||
"megapixels"
|
||||
|
@@ -85,21 +85,38 @@ log() {
|
||||
|
||||
## HELPERS
|
||||
|
||||
isTouchOn() {
|
||||
# success if all touch inputs have their events enabled
|
||||
# swaySetOutput true|false
|
||||
# turns the display on or off
|
||||
swaySetOutput() {
|
||||
swaymsg -- output '*' power "$1"
|
||||
}
|
||||
# swaySetTouch enabled|disabled
|
||||
# turns touch input on or off
|
||||
swaySetTouch() {
|
||||
# XXX(2024/06/09): `type:touch` method is documented, but now silently fails
|
||||
# swaymsg -- input type:touch events "$1"
|
||||
|
||||
local inputs=$(swaymsg -t get_inputs --raw | jq '. | map(select(.type == "touch")) | map(.identifier) | join(" ")' --raw-output)
|
||||
for id in "${inputs[@]}"; do
|
||||
swaymsg -- input "$id" events "$1"
|
||||
done
|
||||
}
|
||||
|
||||
# success if all touch inputs have their events enabled
|
||||
swayGetTouch() {
|
||||
swaymsg -t get_inputs --raw \
|
||||
| jq --exit-status '. | map(select(.type == "touch")) | all(.libinput.send_events == "enabled")' \
|
||||
> /dev/null
|
||||
}
|
||||
isScreenOn() {
|
||||
# success if all outputs have power
|
||||
# success if all outputs have power
|
||||
swayGetOutput() {
|
||||
swaymsg -t get_outputs --raw \
|
||||
| jq --exit-status '. | all(.power)' \
|
||||
> /dev/null
|
||||
}
|
||||
|
||||
isAllOn() {
|
||||
isTouchOn && isScreenOn
|
||||
swayGetOutput && swayGetTouch
|
||||
}
|
||||
|
||||
isInhibited() {
|
||||
@@ -134,12 +151,12 @@ unmapped() {
|
||||
}
|
||||
|
||||
allOn() {
|
||||
swaymsg -- output '*' power true
|
||||
swaymsg -- input type:touch events enabled
|
||||
swaySetOutput true
|
||||
swaySetTouch enabled
|
||||
}
|
||||
allOff() {
|
||||
swaymsg -- output '*' power false
|
||||
swaymsg -- input type:touch events disabled
|
||||
swaySetOutput false
|
||||
swaySetTouch disabled
|
||||
}
|
||||
|
||||
toggleKeyboard() {
|
||||
|
@@ -28,7 +28,7 @@ let
|
||||
passthru.sway-unwrapped = configuredSway;
|
||||
};
|
||||
|
||||
wlroots = (pkgs.waylandPkgs.wlroots.override {
|
||||
wlroots = (pkgs.nixpkgs-wayland.wlroots.override {
|
||||
# wlroots seems to launch Xwayland itself, and i can't easily just do that myself externally.
|
||||
# so in order for the Xwayland it launches to be sandboxed, i need to patch the sandboxed version in here.
|
||||
xwayland = config.sane.programs.xwayland.package;
|
||||
@@ -60,7 +60,7 @@ let
|
||||
'';
|
||||
});
|
||||
swayPackage = wrapSway (
|
||||
(pkgs.waylandPkgs.sway-unwrapped.override {
|
||||
(pkgs.nixpkgs-wayland.sway-unwrapped.override {
|
||||
inherit wlroots;
|
||||
# about xwayland:
|
||||
# - required by many electron apps, though some electron apps support NIXOS_OZONE_WL=1 for native wayland.
|
||||
@@ -107,6 +107,14 @@ in
|
||||
default font (for e.g. window titles)
|
||||
'';
|
||||
};
|
||||
locker = mkOption {
|
||||
type = types.str;
|
||||
default = "swaylock";
|
||||
description = ''
|
||||
name of program to use as the screenlocker
|
||||
'';
|
||||
example = "schlock";
|
||||
};
|
||||
mod = mkOption {
|
||||
type = types.str;
|
||||
default = "Mod4";
|
||||
@@ -152,7 +160,6 @@ in
|
||||
# "splatmoji" # used by sway config
|
||||
"sway-contrib.grimshot" # used by sway config
|
||||
"swayidle" # enable if you need it
|
||||
"swaylock" # used by sway config
|
||||
"swaynotificationcenter" # notification daemon
|
||||
"sysvol" # volume notifier
|
||||
"unl0kr" # greeter
|
||||
@@ -179,6 +186,8 @@ in
|
||||
# xdg-desktop-portal-wlr provides portals for screenshots/screen sharing
|
||||
"xdg-desktop-portal-wlr"
|
||||
"xdg-terminal-exec" # used by sway config
|
||||
] ++ [
|
||||
cfg.config.locker
|
||||
];
|
||||
|
||||
sandbox.method = "bwrap";
|
||||
@@ -220,6 +229,7 @@ in
|
||||
inherit (cfg.config)
|
||||
extra_lines
|
||||
font
|
||||
locker
|
||||
mod
|
||||
workspace_layout
|
||||
;
|
||||
|
@@ -16,6 +16,7 @@ set $volume_up wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
set $volume_down wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
set $mute wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
set $default_workspace_layout @workspace_layout@
|
||||
set $locker @locker@
|
||||
|
||||
set $out_tv "LG Electronics LG TV 0x01010101"
|
||||
set $out_projector "MS Telematica TV 0x00000001"
|
||||
@@ -79,7 +80,7 @@ bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
|
||||
#### special functions
|
||||
bindsym Print exec sane-open --application sane-screenshot.desktop
|
||||
bindsym $mod+Print exec sane-open --application sane-screenshot.desktop
|
||||
bindsym $mod+l exec s6-rc -b start swaylock
|
||||
bindsym $mod+l exec s6-rc -b start $locker
|
||||
bindsym $mod+s exec sane-open --application rofi-snippets.desktop
|
||||
# bindsym $mod+slash exec sane-open splatmoji.desktop
|
||||
bindsym $mod+d exec sane-open --application rofi.desktop
|
||||
|
@@ -44,7 +44,13 @@ let
|
||||
});
|
||||
screenOff = pkgs.writeShellScriptBin "screen-off" ''
|
||||
swaymsg -- output '*' power false
|
||||
swaymsg -- input type:touch events disabled
|
||||
# XXX(2024/06/09): `type:touch` method is documented, but now silently fails
|
||||
# swaymsg -- input type:touch events disabled
|
||||
|
||||
local inputs=$(swaymsg -t get_inputs --raw | jq '. | map(select(.type == "touch")) | map(.identifier) | join(" ")' --raw-output)
|
||||
for id in "''${inputs[@]}"; do
|
||||
swaymsg -- input "$id" events disabled
|
||||
done
|
||||
'';
|
||||
in
|
||||
{
|
||||
@@ -74,6 +80,11 @@ in
|
||||
command = lib.mkDefault "";
|
||||
};
|
||||
|
||||
suggestedPrograms = [
|
||||
"jq"
|
||||
# "sway" #< required, but circular dep
|
||||
];
|
||||
|
||||
sandbox.method = "bwrap";
|
||||
sandbox.whitelistDbus = [ "user" ]; #< might need system too, for inhibitors
|
||||
sandbox.whitelistS6 = true;
|
||||
|
@@ -7,6 +7,9 @@
|
||||
|
||||
fs.".config/sys64/volume.css".symlink.text = ''
|
||||
window {
|
||||
background: transparent;
|
||||
}
|
||||
window > box {
|
||||
background: #000000B4;
|
||||
border-radius: 19px;
|
||||
}
|
||||
@@ -58,12 +61,13 @@
|
||||
# options:
|
||||
# -p {0,1,2,3} to attach to top/right/bottom/left screen edge
|
||||
# -t N for the notifier to be dismissed after N seconds (integer only)
|
||||
# -T N reveal/hide transition time in milliseconds
|
||||
# -m N to set the indicator this many pixels in from the edge.
|
||||
# it considers sway bars, but not window titles
|
||||
# -{H,W} N to set the height/width of the notifier, in px.
|
||||
# -i N to set the size of the volume icon
|
||||
# -P to hide percentage text
|
||||
command = "sysvol -p 0 -t 1 -m 22 -H 39 -W 256 -i 32 -P";
|
||||
command = "sysvol -p 0 -t 1 -T 0 -m 22 -H 39 -W 256 -i 32 -P";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
30
hosts/common/quirks.nix
Normal file
30
hosts/common/quirks.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
# quirks: temporary patches with the goal of eventually removing them
|
||||
{ lib, ... }:
|
||||
{
|
||||
# TODO: remove after linux 6.9. see: <https://github.com/axboe/liburing/issues/1113>
|
||||
# - <https://github.com/neovim/neovim/issues/28149>
|
||||
# - <https://git.kernel.dk/cgit/linux/commit/?h=io_uring-6.9&id=e5444baa42e545bb929ba56c497e7f3c73634099>
|
||||
# when removing, try starting and suspending (ctrl+z) two instances of neovim simultaneously.
|
||||
# if the system doesn't freeze, then this is safe to remove.
|
||||
# added 2024-04-04
|
||||
sane.user.fs.".profile".symlink.text = lib.mkBefore ''
|
||||
export UV_USE_IO_URING=0
|
||||
'';
|
||||
|
||||
# powertop will default to putting USB devices -- including HID -- to sleep after TWO SECONDS
|
||||
powerManagement.powertop.enable = false;
|
||||
# linux CPU governor: <https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt>
|
||||
# - options:
|
||||
# - "powersave" => force CPU to always run at lowest supported frequency
|
||||
# - "performance" => force CPU to always run at highest frequency
|
||||
# - "ondemand" => adjust frequency based on load
|
||||
# - "conservative" (ondemand but slower to adjust)
|
||||
# - "schedutil"
|
||||
# - "userspace"
|
||||
# - not all options are available for all platforms
|
||||
# - intel (intel_pstate) appears to manage scaling w/o intervention/control from the OS.
|
||||
# - AMD (acpi-cpufreq) appears to manage scaling via the OS *or* HW. but the ondemand defaults never put it to max hardware frequency.
|
||||
# - qualcomm (cpufreq-dt) appears to manage scaling *only* via the OS. ondemand governor exercises the full range.
|
||||
# - query details with `sudo cpupower frequency-info`
|
||||
powerManagement.cpuFreqGovernor = "ondemand";
|
||||
}
|
@@ -7,19 +7,6 @@ let
|
||||
haltTimeout = 10;
|
||||
in
|
||||
{
|
||||
systemd.extraConfig = ''
|
||||
# DefaultTimeoutStopSec defaults to 90s, and frequently blocks overall system shutdown.
|
||||
DefaultTimeoutStopSec=${builtins.toString haltTimeout}
|
||||
'';
|
||||
|
||||
services.journald.extraConfig = ''
|
||||
# docs: `man journald.conf`
|
||||
# merged journald config is deployed to /etc/systemd/journald.conf
|
||||
[Journal]
|
||||
# disable journal compression because the underlying fs is compressed
|
||||
Compress=no
|
||||
'';
|
||||
|
||||
# allow ordinary users to `reboot` or `shutdown`.
|
||||
# source: <https://nixos.wiki/wiki/Polkit>
|
||||
security.polkit.extraConfig = ''
|
||||
@@ -38,4 +25,24 @@ in
|
||||
}
|
||||
})
|
||||
'';
|
||||
|
||||
services.journald.extraConfig = ''
|
||||
# docs: `man journald.conf`
|
||||
# merged journald config is deployed to /etc/systemd/journald.conf
|
||||
[Journal]
|
||||
# disable journal compression because the underlying fs is compressed
|
||||
Compress=no
|
||||
'';
|
||||
|
||||
# see: `man logind.conf`
|
||||
# don’t shutdown when power button is short-pressed (commonly done an accident, or by cats).
|
||||
# but do on long-press: useful to gracefully power-off server.
|
||||
services.logind.powerKey = "lock";
|
||||
services.logind.powerKeyLongPress = "poweroff";
|
||||
services.logind.lidSwitch = "lock";
|
||||
|
||||
systemd.extraConfig = ''
|
||||
# DefaultTimeoutStopSec defaults to 90s, and frequently blocks overall system shutdown.
|
||||
DefaultTimeoutStopSec=${builtins.toString haltTimeout}
|
||||
'';
|
||||
}
|
||||
|
@@ -3,11 +3,11 @@
|
||||
{
|
||||
imports = [
|
||||
./derived-secrets
|
||||
./hal
|
||||
./hosts.nix
|
||||
./nixcache.nix
|
||||
./roles
|
||||
./services
|
||||
./wg-home.nix
|
||||
./yggdrasil.nix
|
||||
];
|
||||
}
|
||||
|
8
hosts/modules/hal/default.nix
Normal file
8
hosts/modules/hal/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./pine64.nix
|
||||
./samsung
|
||||
./x86_64.nix
|
||||
];
|
||||
}
|
343
hosts/modules/hal/pine64.nix
Normal file
343
hosts/modules/hal/pine64.nix
Normal file
@@ -0,0 +1,343 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.sane.hal.pine64;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
sane.hal.pine64.enable = lib.mkEnableOption "pine64-specific hardware support";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# kernel compatibility (2024/05/22: 03dab630)
|
||||
# - linux-megous: boots to ssh, desktop
|
||||
# - camera apps: megapixels (no cameras found), snapshot (no cameras found)
|
||||
# - linux-postmarketos-allwinner: boots to ssh. desktop ONLY if "anx7688" is in the initrd.availableKernelModules.
|
||||
# - camera apps: megapixels (both rear and front cameras work), `cam -l` (finds only the rear camera), snapshot (no cameras found)
|
||||
# - linux-megous.override { withMegiPinephoneConfig = true; }: NO SSH, NO SIGNS OF LIFE
|
||||
# - linux-megous.override { withFullConfig = false; }: boots to ssh, no desktop
|
||||
#
|
||||
boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-postmarketos-allwinner.override {
|
||||
withModemPower = true;
|
||||
});
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-megous;
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-megous.override {
|
||||
# withFullConfig = false;
|
||||
# });
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-megous.override {
|
||||
# withMegiPinephoneConfig = true; #< N.B.: does not boot as of 2024/05/22!
|
||||
# });
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-manjaro;
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_latest;
|
||||
|
||||
# nixpkgs.hostPlatform.linux-kernel becomes stdenv.hostPlatform.linux-kernel
|
||||
# ^ but only if using flakes (or rather, if *not* using `nixpkgs.nixos` to construct the host config)
|
||||
# nixpkgs.hostPlatform.linux-kernel = {
|
||||
# # defaults:
|
||||
# name = "aarch64-multiplatform";
|
||||
# # baseConfig: defaults to "defconfig";
|
||||
# # baseConfig = "pinephone_defconfig"; #< N.B.: ignored by `pkgs.linux-megous`
|
||||
# DTB = true; #< DTB: compile device tree blobs
|
||||
# # autoModules (default: true): for config options not manually specified, answer `m` to anything which supports it.
|
||||
# # - this effectively builds EVERY MODULE SUPPORTED.
|
||||
# autoModules = true; #< N.B.: ignored by `pkgs.linux-megous`
|
||||
# # preferBuiltin (default: false; true for rpi): for config options which default to `Y` upstream, build them as `Y` (overriding `autoModules`)
|
||||
# # preferBuiltin = false;
|
||||
|
||||
# # build a compressed kernel image: without this i run out of /boot space in < 10 generations
|
||||
# # target = "Image"; # <-- default
|
||||
# target = "Image.gz"; # <-- compress the kernel image
|
||||
# # target = "zImage"; # <-- confuses other parts of nixos :-(
|
||||
# };
|
||||
|
||||
# boot.initrd.kernelModules = [
|
||||
# "drm" #< force drm to be plugged
|
||||
# ];
|
||||
boot.initrd.availableKernelModules = [
|
||||
# see <repo:postmarketOS/pmaports:device/main/device-pine64-pinephone/modules-initfs>
|
||||
# - they include sun6i_mipi_dsi sun4i_drm pwm_sun4i sun8i_mixer anx7688 gpio_vibra pinephone_keyboard
|
||||
"anx7688" #< required for display initialization and functional cameras
|
||||
# full list of modules active post-boot with the linux-megous kernel + autoModules=true:
|
||||
# - `lsmod | sort | cut -d ' ' -f 1`
|
||||
# "8723cs"
|
||||
# "axp20x_adc" #< NOT FOUND in megous-no-autoModules
|
||||
# "axp20x_battery"
|
||||
# "axp20x_pek"
|
||||
# "axp20x_usb_power"
|
||||
# "backlight"
|
||||
# "blake2b_generic"
|
||||
# "bluetooth"
|
||||
# "bridge"
|
||||
# "btbcm"
|
||||
# "btqca"
|
||||
# "btrfs"
|
||||
# "btrtl"
|
||||
# "cec"
|
||||
# "cfg80211"
|
||||
# "chacha_neon"
|
||||
# "crc_ccitt"
|
||||
# "crct10dif_ce"
|
||||
# "crypto_engine"
|
||||
# "display_connector" #< NOT FOUND in pmos
|
||||
# "drm"
|
||||
# "drm_display_helper"
|
||||
# "drm_dma_helper"
|
||||
# "drm_kms_helper"
|
||||
# "drm_shmem_helper"
|
||||
# "dw_hdmi"
|
||||
# "dw_hdmi_cec" #< NOT FOUND in pmos
|
||||
# "dw_hdmi_i2s_audio"
|
||||
# "ecc"
|
||||
# "ecdh_generic"
|
||||
# "fuse"
|
||||
# "gc2145" #< NOT FOUND in megous-no-autoModules
|
||||
# "goodix_ts"
|
||||
# "gpio_vibra" #< NOT FOUND in megous-no-autoModules
|
||||
# "gpu_sched"
|
||||
# "hci_uart"
|
||||
# "i2c_gpio"
|
||||
# "inv_mpu6050" #< NOT FOUND in megous-no-autoModules
|
||||
# "inv_mpu6050_i2c" #< NOT FOUND in megous-no-autoModules
|
||||
# "inv_sensors_timestamp" #< NOT FOUND in megous-no-autoModules
|
||||
# "ip6t_rpfilter"
|
||||
# "ip6_udp_tunnel"
|
||||
# "ip_set"
|
||||
# "ip_set_hash_ipport"
|
||||
# "ip_tables"
|
||||
# "ipt_rpfilter"
|
||||
# "joydev"
|
||||
# "led_class_flash" #< NOT FOUND in megous-no-autoModules
|
||||
# "leds_sgm3140" #< NOT FOUND in megous-no-autoModules
|
||||
# "ledtrig_pattern" #< NOT FOUND in megous-no-autoModules
|
||||
# "libarc4"
|
||||
# "libchacha"
|
||||
# "libchacha20poly1305"
|
||||
# "libcrc32c"
|
||||
# "libcurve25519_generic"
|
||||
# "lima"
|
||||
# "llc"
|
||||
# "mac80211"
|
||||
# "macvlan"
|
||||
# "mc"
|
||||
# "modem_power"
|
||||
# "mousedev"
|
||||
# "nf_conntrack"
|
||||
# "nf_defrag_ipv4"
|
||||
# "nf_defrag_ipv6"
|
||||
# "nf_log_syslog"
|
||||
# "nf_nat"
|
||||
# "nfnetlink"
|
||||
# "nf_tables"
|
||||
# "nft_chain_nat"
|
||||
# "nft_compat"
|
||||
# "nls_cp437"
|
||||
# "nls_iso8859_1"
|
||||
# "nvmem_reboot_mode"
|
||||
# "ov5640"
|
||||
# "panel_sitronix_st7703"
|
||||
# "phy_sun6i_mipi_dphy"
|
||||
# "pinctrl_axp209" #< NOT FOUND in pmos
|
||||
# "pinephone_keyboard" #< NOT FOUND in megous-no-autoModules
|
||||
# "poly1305_neon"
|
||||
# "polyval_ce"
|
||||
# "polyval_generic"
|
||||
# "ppkb_manager" #< NOT FOUND in megous-no-autoModules
|
||||
# "pwm_bl"
|
||||
# "pwm_sun4i"
|
||||
# "qrtr"
|
||||
# "raid6_pq"
|
||||
# "rfkill"
|
||||
# "rtw88_8703b"
|
||||
# "rtw88_8723cs"
|
||||
# "rtw88_8723x"
|
||||
# "rtw88_core"
|
||||
# "rtw88_sdio"
|
||||
# "sch_fq_codel"
|
||||
# "sm4"
|
||||
# "snd_soc_bt_sco"
|
||||
# "snd_soc_ec25" #< NOT FOUND in megous-no-autoModules
|
||||
# "snd_soc_hdmi_codec"
|
||||
# "snd_soc_simple_amplifier"
|
||||
# "snd_soc_simple_card"
|
||||
# "snd_soc_simple_card_utils"
|
||||
# "stk3310" #< NOT FOUND in megous-no-autoModules
|
||||
# "st_magn"
|
||||
# "st_magn_i2c"
|
||||
# "st_magn_spi" #< NOT FOUND in pmos
|
||||
# "stp"
|
||||
# "st_sensors"
|
||||
# "st_sensors_i2c"
|
||||
# "st_sensors_spi" #< NOT FOUND in pmos
|
||||
# "sun4i_drm"
|
||||
# "sun4i_i2s"
|
||||
# "sun4i_lradc_keys" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun4i_tcon"
|
||||
# "sun50i_codec_analog"
|
||||
# "sun6i_csi"
|
||||
# "sun6i_dma"
|
||||
# "sun6i_mipi_dsi"
|
||||
# "sun8i_a33_mbus" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_adda_pr_regmap"
|
||||
# "sun8i_ce" #< NOT FOUND in pmos
|
||||
# "sun8i_codec" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_di" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_drm_hdmi"
|
||||
# "sun8i_mixer"
|
||||
# "sun8i_rotate" #< NOT FOUND in megous-no-autoModules
|
||||
# "sun8i_tcon_top"
|
||||
# "sun9i_hdmi_audio" #< NOT FOUND in megous-no-autoModules
|
||||
# "sunxi_wdt" #< NOT FOUND in pmos
|
||||
# "tap"
|
||||
# "typec" #< NOT FOUND in pmos
|
||||
# "udp_tunnel"
|
||||
# "uio" #< NOT FOUND in pmos
|
||||
# "uio_pdrv_genirq"
|
||||
# "v4l2_async"
|
||||
# "v4l2_cci" #< NOT FOUND in pmos
|
||||
# "v4l2_flash_led_class" #< NOT FOUND in megous-no-autoModules
|
||||
# "v4l2_fwnode"
|
||||
# "v4l2_mem2mem"
|
||||
# "videobuf2_common"
|
||||
# "videobuf2_dma_contig"
|
||||
# "videobuf2_memops"
|
||||
# "videobuf2_v4l2"
|
||||
# "videodev"
|
||||
# "wireguard"
|
||||
# "xor"
|
||||
# "x_tables"
|
||||
# "xt_conntrack"
|
||||
# "xt_LOG"
|
||||
# "xt_nat"
|
||||
# "xt_pkttype"
|
||||
# "xt_set"
|
||||
# "xt_tcpudp"
|
||||
# "zram"
|
||||
];
|
||||
|
||||
# disable proximity sensor.
|
||||
# the filtering/calibration is bad that it causes the screen to go fully dark at times.
|
||||
# boot.blacklistedKernelModules = [ "stk3310" ];
|
||||
|
||||
boot.kernelParams = [
|
||||
# without this some GUI apps fail: `DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory`
|
||||
# this is because they can't allocate enough video ram.
|
||||
# see related nixpkgs issue: <https://github.com/NixOS/nixpkgs/issues/260222>
|
||||
# TODO(2023/12/03): remove once mesa 23.3.1 lands: <https://github.com/NixOS/nixpkgs/pull/265740>
|
||||
#
|
||||
# the default CMA seems to be 32M.
|
||||
# i was running fine with 256MB from 2022/07-ish through 2022/12-ish, but then the phone quit reliably coming back from sleep (phosh): maybe a memory leak?
|
||||
# bumped to 512M on 2023/01
|
||||
# bumped to 1536M on 2024/05
|
||||
# `cat /proc/meminfo` to see CmaTotal/CmaFree if interested in tuning this.
|
||||
# kernel param mentioned here: <https://cateee.net/lkddb/web-lkddb/CMA_SIZE_PERCENTAGE.html>
|
||||
# i think cma mem isn't exclusive -- it can be used as ordinary `malloc`, still. i heard someone suggest the OS default should just be 50% memory to CMA.
|
||||
"cma=1536M"
|
||||
# 2023/10/20: potential fix for the lima (GPU) timeout bugs:
|
||||
# - <https://gitlab.com/postmarketOS/pmaports/-/issues/805#note_890467824>
|
||||
"lima.sched_timeout_ms=2000"
|
||||
];
|
||||
|
||||
# defined: https://www.freedesktop.org/software/systemd/man/machine-info.html
|
||||
# XXX colin: diabled until/unless it's actually needed.
|
||||
# environment.etc."machine-info".text = ''
|
||||
# CHASSIS="handset"
|
||||
# '';
|
||||
|
||||
# hardware.firmware makes the referenced files visible to the kernel, for whenever a driver explicitly asks for them.
|
||||
# these files are visible from userspace by following `/sys/module/firmware_class/parameters/path`
|
||||
#
|
||||
# mobile-nixos' /lib/firmware includes:
|
||||
# rtl_bt (bluetooth)
|
||||
# anx7688-fw.bin (USB-C chip: power negotiation, HDMI/dock)
|
||||
# ov5640_af.bin (camera module)
|
||||
# hardware.firmware = [ config.mobile.device.firmware ];
|
||||
# hardware.firmware = [ pkgs.rtl8723cs-firmware ];
|
||||
hardware.firmware = [
|
||||
(pkgs.linux-firmware-megous.override {
|
||||
# rtl_bt = false probably means no bluetooth connectivity.
|
||||
# N.B.: DON'T RE-ENABLE without first confirming that wake-on-lan works during suspend (rtcwake).
|
||||
# it seems the rtl_bt stuff ("bluetooth coexist") might make wake-on-LAN radically more flaky.
|
||||
rtl_bt = false;
|
||||
})
|
||||
];
|
||||
|
||||
# enable rotation sensor
|
||||
# hardware.sensor.iio.enable = true;
|
||||
|
||||
## TOW-BOOT: <https://tow-boot.org>
|
||||
# docs (pinephone specific): <https://github.com/Tow-Boot/Tow-Boot/tree/development/boards/pine64-pinephoneA64>
|
||||
# LED and button behavior is defined here: <https://github.com/Tow-Boot/Tow-Boot/blob/development/modules/tow-boot/phone-ux.nix>
|
||||
# - hold VOLDOWN: enter recovery mode
|
||||
# - LED will turn aqua instead of yellow
|
||||
# - recovery mode would ordinarily allow a selection of entries, but for pinephone i guess it doesn't do anything?
|
||||
# - hold VOLUP: force it to load the OS from eMMC?
|
||||
# - LED will turn blue instead of yellow
|
||||
# boot LEDs:
|
||||
# - yellow = entered tow-boot
|
||||
# - 10 red flashes => poweroff means tow-boot couldn't boot into the next stage (i.e. distroboot)
|
||||
# - distroboot: <https://source.denx.de/u-boot/u-boot/-/blob/v2022.04/doc/develop/distro.rst>)
|
||||
# we need space in the GPT header to place tow-boot.
|
||||
# only actually need 1 MB, but better to over-allocate than under-allocate
|
||||
sane.image.extraGPTPadding = 16 * 1024 * 1024;
|
||||
sane.image.firstPartGap = 0;
|
||||
sane.image.installBootloader = ''
|
||||
dd if=${pkgs.tow-boot-pinephone}/Tow-Boot.noenv.bin of=$out bs=1024 seek=8 conv=notrunc
|
||||
'';
|
||||
|
||||
sane.programs.swaynotificationcenter.config = {
|
||||
backlight = "backlight"; # /sys/class/backlight/*backlight*/brightness
|
||||
};
|
||||
|
||||
services.udev.extraRules = let
|
||||
chmod = "${pkgs.coreutils}/bin/chmod";
|
||||
chown = "${pkgs.coreutils}/bin/chown";
|
||||
in ''
|
||||
# make Pinephone flashlight writable by user.
|
||||
# taken from postmarketOS: <repo:postmarketOS/pmaports:device/main/device-pine64-pinephone/60-flashlight.rules>
|
||||
SUBSYSTEM=="leds", DEVPATH=="*/*:flash", RUN+="${chmod} g+w /sys%p/brightness /sys%p/flash_strobe", RUN+="${chown} :video /sys%p/brightness /sys%p/flash_strobe"
|
||||
|
||||
# make Pinephone front LEDs writable by user.
|
||||
SUBSYSTEM=="leds", DEVPATH=="*/*:indicator", RUN+="${chmod} g+w /sys%p/brightness", RUN+="${chown} :video /sys%p/brightness"
|
||||
'';
|
||||
|
||||
systemd.services.unl0kr.preStart = let
|
||||
dmesg = "${pkgs.util-linux}/bin/dmesg";
|
||||
grep = "${pkgs.gnugrep}/bin/grep";
|
||||
modprobe = "${pkgs.kmod}/bin/modprobe";
|
||||
in ''
|
||||
# common boot failure:
|
||||
# blank screen (no backlight even), with the following log:
|
||||
# ```syslog
|
||||
# sun8i-dw-hdmi 1ee0000.hdmi: Couldn't get the HDMI PHY
|
||||
# ...
|
||||
# sun4i-drm display-engine: Couldn't bind all pipelines components
|
||||
# ...
|
||||
# sun8i-dw-hdmi: probe of 1ee0000.hdmi failed with error -17
|
||||
# ```
|
||||
#
|
||||
# in particular, that `probe ... failed` occurs *only* on failed boots
|
||||
# (the other messages might sometimes occur even on successful runs?)
|
||||
#
|
||||
# reloading the sun8i hdmi driver usually gets the screen on, showing boot text.
|
||||
# then restarting display-manager.service gets us to the login.
|
||||
#
|
||||
# NB: the above log is default level. though less specific, there's a `err` level message that also signals this:
|
||||
# sun4i-drm display-engine: failed to bind 1ee0000.hdmi (ops sun8i_dw_hdmi_ops [sun8i_drm_hdmi]): -17
|
||||
# NB: this is the most common, but not the only, failure mode for `display-manager`.
|
||||
# another error seems characterized by these dmesg logs, in which reprobing sun8i_drm_hdmi does not fix:
|
||||
# ```syslog
|
||||
# sun6i-mipi-dsi 1ca0000.dsi: Couldn't get the MIPI D-PHY
|
||||
# sun4i-drm display-engine: Couldn't bind all pipelines components
|
||||
# sun6i-mipi-dsi 1ca0000.dsi: Couldn't register our component
|
||||
# ```
|
||||
|
||||
if (${dmesg} --kernel --level err --color=never --notime | ${grep} -q 'sun4i-drm display-engine: failed to bind 1ee0000.hdmi')
|
||||
then
|
||||
echo "reprobing sun8i_drm_hdmi"
|
||||
# if a command here fails it errors the whole service, so prefer to log instead
|
||||
${modprobe} -r sun8i_drm_hdmi || echo "failed to unload sun8i_drm_hdmi"
|
||||
${modprobe} sun8i_drm_hdmi || echo "failed to load sub8i_drm_hdmi"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
245
hosts/modules/hal/samsung/default.nix
Normal file
245
hosts/modules/hal/samsung/default.nix
Normal file
@@ -0,0 +1,245 @@
|
||||
# device support for samsung XE303C12 "google-snow" model, specifically.
|
||||
# see: <https://wiki.postmarketos.org/wiki/Samsung_Chromebook_(google-snow)>
|
||||
# - build logs: <https://images.postmarketos.org/bpo/edge/google-snow/console/>
|
||||
# see: <https://github.com/thefloweringash/kevin-nix>
|
||||
# - related "depthcharge" chromebook, built with nix
|
||||
# see: <https://mobile.nixos.org/devices/lenovo-wormdingler.html>
|
||||
# - above module, integrated into an image builder
|
||||
# - implementation in modules/system-types/depthcharge
|
||||
# see: <https://web.archive.org/web/20191103000916/http://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook>
|
||||
# - referenced from u-boot `doc/` directory
|
||||
# - <https://web.archive.org/web/20220813062811/https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/using-an-upstream-kernel-on-snow/>
|
||||
# - <https://web.archive.org/web/20240119111314/https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/custom-firmware/>
|
||||
# - google exynos5_defconfig: <https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/%2B/HEAD/eclass/cros-kernel>
|
||||
# see: <repo:postmarketOS/pmaports:device/community/device-google-snow>
|
||||
# - <https://gitlab.com/postmarketOS/boot-deploy/-/blob/5f08ebb05a520d0e6bccfcda324f12e4aac1623f/boot-deploy-functions.sh#L872>
|
||||
# - deviceinfo:
|
||||
# - deviceinfo_flash_method="none"
|
||||
# - deviceinfo_cgpt_kpart="/boot/vmlinuz.kpart"
|
||||
# - deviceinfo_cgpt_kpart_start="8192"
|
||||
# - deviceinfo_cgpt_kpart_size="16384"
|
||||
# - deviceinfo_kernel_cmdline="console=null"
|
||||
# - deviceinfo_depthcharge_board="snow"
|
||||
# - deviceinfo_generate_depthcharge_image="true"
|
||||
# - deviceinfo_generate_extlinux_config="true"
|
||||
# - modules-initfs:
|
||||
# - drm-dp-aux-bus
|
||||
# - panel-edp
|
||||
# - drm-kms-helper
|
||||
# - cros-ec-keyb
|
||||
# - sbs-battery
|
||||
# - tps65090-charger
|
||||
# - uas
|
||||
# - sd-mod
|
||||
# - pmOS also uses a custom alsa UCM config
|
||||
# - pmOS kernel package: linux-postmarketos-exynos5
|
||||
# - pmOS firmware packages (for WiFi/Bluetooth): linux-firmware-mrvl linux-firmware-s5p-mfc
|
||||
#
|
||||
# pmOS image has disk layout:
|
||||
# /dev/sdb1 8192 24575 16384 8M ChromeOS kernel
|
||||
# /dev/sdb2 24576 548863 524288 256M EFI System
|
||||
# /dev/sdb3 548864 31336414 30787551 14.7G Microsoft basic data
|
||||
# - built using `depthcharge-tools`: <https://github.com/alpernebbi/depthcharge-tools>
|
||||
# - expected chromeos disk layout documented: <https://www.chromium.org/chromium-os/developer-library/reference/device/disk-format/>
|
||||
#
|
||||
# typical boot process:
|
||||
# - BIOS searches for a partition `ChromeOS Kernel Type GUID (fe3a2a5d-4f32-41a7-b725-accc3285a309)`
|
||||
# - first 64K are reserved for sigantures (when verified boot is active)
|
||||
# - then kernel, some datastructures (i.e. config.txt, the command line passed to the kernel), bootloader stub
|
||||
# - BIOS loads kernel blob into RAM, then invokes the bootstub
|
||||
# - bootloader stub is an EFI application. it setups up tables and jumps into the kernel.
|
||||
# - so potentially i could put any EFI application here, and load the kernel myself from somewhere else?
|
||||
# - partitions are all 2MiB-aligned
|
||||
# according to depthcharge-tools, max image size is 8 MiB, though i don't know how strict that is.
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.sane.hal.samsung;
|
||||
# sus commits:
|
||||
# - ad3e33fe071dffea07279f96dab4f3773c430fe2 (drm/panel: Move AUX B116XW03 out of panel-edp back to panel-simple)
|
||||
# says i should switch to `edp-panel`; chrome is lying about the panel.
|
||||
# - discussion: <https://patchwork.freedesktop.org/patch/559389/>
|
||||
# - was tested for exynos5-peach -- which worked with the patch and uses panel_simple
|
||||
# - snow was *not* tested, but previously used panel_edp
|
||||
linuxSourceHashes = {
|
||||
"6.2.16" = "sha256-dC5lp45tU4JgHS8VWezLM/z8C8UMxaIdj5I2DleMv8c="; #< boots
|
||||
"6.3.13" = "sha256-bGNcuEYBHaY34OeGkqb58dXV+JF2XY3bpBtLhg634xA="; #< boots
|
||||
"6.4.16" = "sha256-hDhelVL20AMzQeT7IDVDI35uoGEyroVPjiszO2JZzO8="; #< boots
|
||||
"6.5.13" = "sha256-lCTwq+2RyZTIX1YQa/riHf1KCnS8dTrLlljjKAXudz4="; #< boots
|
||||
"6.6.0-rc1" = "sha256-DRai7HhWVtRB0GiRCvCv2JM2TFKRsZ60ohD6GW0b8As="; #< boots. upstream/torvalds' tag is `v6.6-rc1`
|
||||
"6.6.0-rc3" = "sha256-/YcuQ5UsSObqOZ0YIbcNex5HJAL8eneDDzIiTEuMDsQ=";
|
||||
"6.6.0-rc4" = "sha256-Kbv+jU2IoC4soT3ma1ZV8Un4rTQakNjut5nlA1907GQ="; #< boots. upstream/torvalds' tag is `v6.6-rc4`
|
||||
"6.6.0-rc5" = "sha256-ia0F/W3BR+gD8qE5LEwUcJCqwBs3c5kj80DbeDzFFqY=";
|
||||
"6.6.0-rc6" = "sha256-HIrn3fkoCqVSSJ0gxY6NO8I3M8P7BD5XzQpjrhdw//s="; #< boots. upstream/torvalds' tag is `v6.6-rc6`
|
||||
"6.6.0-rc6-bi-5188" = "sha256-TmRrPy2IhnvTVlq5bNhzsvNPgRg0qk1u2Mh3q/lBask="; #< boots
|
||||
"6.6.0-rc6-bi-5264" = "sha256-BXt5O9hUC9lYITBO56Rzb9XJHThjt6DuiXizUi2G6/0="; # *does not boot*. this is commit ad3e33fe071dffea07279f96dab4f3773c430fe2; actually 6.6.0-rc1, because of merge order
|
||||
"6.6.0-rc7" = "sha256-u+seQp82USt63zgMlvDRIpDmmWD2Pha5d41CorwY7f8="; #< *does not boot*. upstream/torvalds' tag is `v6.6-rc7`
|
||||
"6.6.0" = "sha256-iUTHPMbELhtRogbrKr3n2FBwj8mbGYGacy2UgjPZZNg="; #< *does not boot*. upstream/torvalds' tag is `v6.6`
|
||||
"6.7.12" = "sha256-6Fm7lC2bwk+wYYGeasr+6tcSw+n3VE4d9JWbc9jN6fA="; #< *does not boot*
|
||||
"6.10.0-rc3" = "sha256-k9Mpff96xgfTyjRMn0wOQBOm7NKZ7IDtJBRYwrnccoY="; #< *does not boot*. upstream/torvalds' tag is `v6.10-rc3`
|
||||
};
|
||||
in
|
||||
{
|
||||
options = {
|
||||
sane.hal.samsung.enable = lib.mkEnableOption "samsung-specific hardware support";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot.initrd.compressor = "gzip";
|
||||
# boot.initrd.compressorArgs = [ "--ultra" "-22" ];
|
||||
|
||||
hardware.firmware = [
|
||||
(pkgs.linux-firmware.overrideAttrs (_: {
|
||||
# mwifiex_sdio seems to require uncompressed firmware (even with a kernel configured for CONFIG_MODULE_COMPRESS_ZSTD=y)
|
||||
passthru.compressFirmware = false;
|
||||
}))
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
# boot.initrd.kernelModules = [
|
||||
# from postmarketOS
|
||||
"drm-dp-aux-bus"
|
||||
"panel-edp"
|
||||
"drm-kms-helper"
|
||||
"cros-ec-keyb"
|
||||
"sbs-battery"
|
||||
"tps65090-charger"
|
||||
"uas"
|
||||
"sd-mod"
|
||||
];
|
||||
# N.B: mobile-nixos says these modules break udev, if builtin or run before udev:
|
||||
# "sbs-battery"
|
||||
# "sbs-charger"
|
||||
# "sbs-manager"
|
||||
|
||||
# boot.kernelPackages = with pkgs; linuxPackagesFor (linux_6_1.override {
|
||||
# preferBuiltin = false;
|
||||
# extraConfig = "";
|
||||
# structuredExtraConfig = with lib.kernel; {
|
||||
# SUN8I_DE2_CCU = lib.mkForce no; #< nixpkgs' option parser gets confused on this one, somehow
|
||||
# NET_VENDOR_MICREL = no; #< to overcome broken KS8851_MLL (broken by nixpkgs' `extraConfig`)
|
||||
# # KS8851_MLL = lib.mkForce module; #< nixpkgs' option parser gets confused on this one, somehow
|
||||
# #v XXX: required for e.g. SECURITY_LANDLOCK (specified by upstream nixpkgs) to take effect if `autoModules = false`
|
||||
# #v seems that upstream linux (the defconfigs?), it defaults to Yes for:
|
||||
# # - arch/x86/configs/x86_64_defconfig
|
||||
# # - arch/arm64/configs/defconfig
|
||||
# # but that it's left unset for e.g. arch/arm64/configs/pinephone_defconfig
|
||||
# # SECURITY = yes;
|
||||
# };
|
||||
# });
|
||||
# boot.kernelPackages = with pkgs; linuxPackagesFor linux_6_1;
|
||||
# boot.kernelPackages = with pkgs; linuxPackagesFor linux-exynos5-mainline;
|
||||
boot.kernelPackages = with pkgs; linuxPackagesFor (linux-postmarketos-exynos5.override {
|
||||
# linux = let version = "6.6.0-rc1"; rev = "6.6.0-rc6-bi-5264"; in {
|
||||
# # src = pkgs.fetchzip {
|
||||
# # url = "https://git.kernel.org/stable/t/linux-6.2.16.tar.gz";
|
||||
# # };
|
||||
# src = pkgs.fetchFromGitea {
|
||||
# domain = "git.uninsane.org";
|
||||
# owner = "colin";
|
||||
# repo = "linux";
|
||||
# rev = "v${rev}";
|
||||
# hash = linuxSourceHashes."${rev}";
|
||||
# };
|
||||
# inherit version;
|
||||
# modDirVersion = version;
|
||||
# extraMakeFlags = [];
|
||||
# };
|
||||
# linux = linux_6_6;
|
||||
# linux = linux_6_8;
|
||||
# linux = linux_6_9;
|
||||
linux = linux_latest;
|
||||
# optimizeForSize = true;
|
||||
# useEdpPanel = true;
|
||||
revertPanelSimplePatch = true;
|
||||
});
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-postmarketos-exynos5;
|
||||
# boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_latest.override {
|
||||
# kernelPatches = [
|
||||
# pkgs.linux-postmarketos-exynos5.sanePatches.revertPanelSimplePatch
|
||||
# ];
|
||||
# });
|
||||
|
||||
system.build.u-boot = pkgs.buildUBoot {
|
||||
defconfig = "snow_defconfig";
|
||||
extraMeta.platforms = [ "armv7l-linux" ];
|
||||
filesToInstall = [
|
||||
"u-boot" #< ELF file
|
||||
"u-boot.bin" #< raw binary, load it into RAM and jump toit
|
||||
"u-boot.cfg" #< copy of Kconfig which this u-boot was compiled with
|
||||
"u-boot.dtb"
|
||||
"u-boot.map"
|
||||
"u-boot-nodtb.bin"
|
||||
"u-boot.sym"
|
||||
];
|
||||
# CONFIG_BOOTCOMMAND: autoboot from usb, and fix the ordering so that it happens before the internal memory (mmc0)
|
||||
extraConfig = ''
|
||||
CONFIG_BOOTCOMMAND="env set bootcmd_usb0 \"devnum=0; run usb_boot\"; env set boot_targets \"usb0 mmc2 mmc1 mmc0\"; run distro_bootcmd"
|
||||
'';
|
||||
};
|
||||
|
||||
system.build.platformPartition = pkgs.runCommandLocal "kernel-partition" {
|
||||
nativeBuildInputs = with pkgs; [
|
||||
vboot_reference
|
||||
dtc
|
||||
ubootTools
|
||||
];
|
||||
} ''
|
||||
# according to depthcharge-tools, bootloader.bin is legacy, was used by the earliest
|
||||
# chromebooks (H2C) *only*.
|
||||
dd if=/dev/zero of=dummy_bootloader.bin bs=512 count=1
|
||||
echo auto > dummy_config.txt
|
||||
|
||||
# from uboot snow_defconfig, also == CONFIG_SYS_LOAD_ADDR
|
||||
CONFIG_TEXT_BASE=0x43e00000
|
||||
|
||||
cp ${config.system.build.u-boot}/u-boot.bin .
|
||||
ubootFlags=(
|
||||
-A arm # architecture
|
||||
-O linux # operating system
|
||||
-T kernel # image type
|
||||
-C none # compression
|
||||
-a $CONFIG_TEXT_BASE # load address (CONFIG_TEXT_BASE)
|
||||
-e $CONFIG_TEXT_BASE # entry point (CONFIG_SYS_LOAD_ADDR), i.e. where u-boot `bootm` should jump to to execute the kernel
|
||||
-n nixos-uboot # image name
|
||||
-d u-boot.bin # image data
|
||||
u-boot.fit # output
|
||||
)
|
||||
mkimage "''${ubootFlags[@]}"
|
||||
|
||||
futility \
|
||||
--debug \
|
||||
vbutil_kernel \
|
||||
--version 1 \
|
||||
--bootloader ./dummy_bootloader.bin \
|
||||
--vmlinuz u-boot.fit \
|
||||
--arch arm \
|
||||
--keyblock ${pkgs.buildPackages.vboot_reference}/share/vboot/devkeys/kernel.keyblock \
|
||||
--signprivate ${pkgs.buildPackages.vboot_reference}/share/vboot/devkeys/kernel_data_key.vbprivk \
|
||||
--config ./dummy_config.txt \
|
||||
--pack $out
|
||||
'';
|
||||
|
||||
# the platform partition presently only holds u-boot,
|
||||
# and it seems possibly a limitation of depthcharge that it can't launch anything > 8 MiB (?)
|
||||
# still, give a little extra room so i'm free to rearrange stuff if i find a way how.
|
||||
sane.image.platformPartSize = 256 * 1024 * 1024;
|
||||
|
||||
# depthcharge firmware is designed for an A/B partition style,
|
||||
# where partition A holds a kernel and partion B holds a different kernel.
|
||||
# an update is to flash the currently inactive partition and then mark that one as active,
|
||||
# either switching the default boot from partition A to partition B, or from B to A.
|
||||
# anyway, this relies on the partitions having some extra metadata, which we add here.
|
||||
# i believe this metadata is stored in a depthcharge-specific format, not anything
|
||||
# which can be generalized.
|
||||
sane.image.installBootloader = ''
|
||||
${lib.getExe' pkgs.buildPackages.vboot_reference "cgpt"} add ${lib.concatStringsSep " " [
|
||||
"-i 1" # work on the first partition (instead of adding)
|
||||
"-S 1" # mark as successful (so it'll be booted from)
|
||||
"-T 5" # tries remaining
|
||||
"-P 10" # priority
|
||||
"$out"
|
||||
]}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@@ -1,7 +1,14 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.sane.hal.x86_64;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf (pkgs.system == "x86_64-linux") {
|
||||
options = {
|
||||
sane.hal.x86_64.enable = (lib.mkEnableOption "x86_64-specific hardware support") // {
|
||||
default = pkgs.system == "x86_64-linux";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci" "ahci" "sd_mod" "sdhci_pci" # nixos-generate-config defaults
|
||||
"usb_storage" # rpi needed this to boot from usb storage, i think.
|
@@ -13,6 +13,51 @@
|
||||
"consoleMediaUtils" # overbroad, but handy on very rare occasion
|
||||
"handheldGuiApps"
|
||||
];
|
||||
sane.programs.sway.suggestedPrograms = [
|
||||
"sane-input-handler"
|
||||
];
|
||||
|
||||
sane.programs.alacritty.config.fontSize = 9;
|
||||
|
||||
sane.programs.firefox.config = {
|
||||
# compromise impermanence for the sake of usability
|
||||
persistCache = "private";
|
||||
persistData = "private";
|
||||
|
||||
# i don't do crypto stuff on moby
|
||||
addons.ether-metamask.enable = false;
|
||||
# sidebery UX doesn't make sense on small screen
|
||||
addons.sidebery.enable = false;
|
||||
};
|
||||
sane.programs.firefox.mime.priority = 300; # prefer other browsers when possible
|
||||
# HACK/TODO: make `programs.P.env.VAR` behave according to `mime.priority`
|
||||
sane.programs.firefox.env = lib.mkForce {};
|
||||
sane.programs.epiphany.env.BROWSER = "epiphany";
|
||||
|
||||
sane.programs.sway.config = {
|
||||
font = "pango:monospace 10";
|
||||
locker = "schlock";
|
||||
mod = "Mod1"; # prefer Alt
|
||||
workspace_layout = "tabbed";
|
||||
};
|
||||
|
||||
sane.programs.swayidle.config = {
|
||||
actions.screenoff.delay = 300;
|
||||
actions.screenoff.enable = true;
|
||||
};
|
||||
|
||||
sane.programs.waybar.config = {
|
||||
fontSize = 14;
|
||||
height = 26;
|
||||
persistWorkspaces = [ "1" "2" "3" "4" "5" ];
|
||||
modules.media = false;
|
||||
modules.network = false;
|
||||
modules.perf = false;
|
||||
modules.windowTitle = false;
|
||||
# TODO: show modem state
|
||||
};
|
||||
|
||||
sane.programs.zsh.config.showDeadlines = false; # unlikely to act on them when in shell
|
||||
};
|
||||
}
|
||||
|
||||
|
@@ -1,30 +0,0 @@
|
||||
# docs: <nixpkgs:nixos/modules/services/networking/yggdrasil.md>
|
||||
# - or message CW/0x00
|
||||
|
||||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
cfg = config.sane.yggdrasil;
|
||||
in
|
||||
{
|
||||
options.sane.yggdrasil = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.yggdrasil = {
|
||||
enable = true;
|
||||
persistentKeys = true;
|
||||
settings = {
|
||||
IFName = "ygg0";
|
||||
Peers = [
|
||||
"tls://longseason.1200bps.xyz:13122"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -17,11 +17,6 @@ let
|
||||
in
|
||||
{
|
||||
options = {
|
||||
sane.image.enable = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = "whether to enable image targets. even so they won't be built unless you specifically reference the `system.build.img` target.";
|
||||
};
|
||||
# packages whose contents should be copied directly into the /boot partition.
|
||||
# e.g. EFI loaders, u-boot bootloader, etc.
|
||||
sane.image.extraBootFiles = mkOption {
|
||||
@@ -57,9 +52,23 @@ in
|
||||
default = (16 * 1024 * 1024 - 34 * 512) * 1024 * 1024 - 1;
|
||||
type = types.nullOr types.int;
|
||||
};
|
||||
sane.image.platformPartSize = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.int;
|
||||
description = ''
|
||||
size of the platform firmware (or, bootloader) partition, in bytes.
|
||||
most platforms don't need this. the primary user is "depthcharge" chromebooks.
|
||||
the partition contents is taken from `config.system.build.platformPartition`.
|
||||
'';
|
||||
};
|
||||
sane.image.bootPartSize = mkOption {
|
||||
default = 512 * 1024 * 1024;
|
||||
default = 1024 * 1024 * 1024;
|
||||
type = types.int;
|
||||
description = ''
|
||||
size of the boot partition, in bytes.
|
||||
don't skimp on this. nixos kernels are by default HUGE, and restricting this
|
||||
will make kernel tweaking extra painful.
|
||||
'';
|
||||
};
|
||||
sane.image.sectorSize = mkOption {
|
||||
default = 512;
|
||||
@@ -102,11 +111,11 @@ in
|
||||
vfatUuidFromFs = fs: builtins.replaceStrings ["-"] [""] (uuidFromFs fs);
|
||||
|
||||
fsBuilderMapBoot = {
|
||||
"vfat" = pkgs.imageBuilder.fileSystem.makeESP;
|
||||
"vfat" = pkgs.mobile-nixos.imageBuilder.fileSystem.makeESP;
|
||||
};
|
||||
fsBuilderMapNix = {
|
||||
"ext4" = pkgs.imageBuilder.fileSystem.makeExt4;
|
||||
"btrfs" = pkgs.imageBuilder.fileSystem.makeBtrfs;
|
||||
"ext4" = pkgs.mobile-nixos.imageBuilder.fileSystem.makeExt4;
|
||||
"btrfs" = pkgs.mobile-nixos.imageBuilder.fileSystem.makeBtrfs;
|
||||
};
|
||||
|
||||
bootFsImg = fsBuilderMapBoot."${bootFs.fsType}" {
|
||||
@@ -153,7 +162,7 @@ in
|
||||
cp -v ${closureInfo}/registration ./nix-path-registration
|
||||
'';
|
||||
};
|
||||
img = (pkgs.imageBuilder.diskImage.makeGPT {
|
||||
img = (pkgs.mobile-nixos.imageBuilder.diskImage.makeGPT {
|
||||
name = "nixos";
|
||||
diskID = vfatUuidFromFs bootFs;
|
||||
# leave some space for firmware
|
||||
@@ -161,7 +170,16 @@ in
|
||||
# Tow-Boot manages to do that; not sure how.
|
||||
headerHole = cfg.extraGPTPadding;
|
||||
partitions = [
|
||||
(pkgs.imageBuilder.gap cfg.firstPartGap)
|
||||
(pkgs.mobile-nixos.imageBuilder.gap cfg.firstPartGap)
|
||||
] ++ lib.optionals (cfg.platformPartSize != null) [
|
||||
{
|
||||
name = "kernel"; #< TODO: is it safe to rename this?
|
||||
filename = "${config.system.build.platformPartition}";
|
||||
# from: <https://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format>
|
||||
partitionType = "FE3A2A5D-4F32-41A7-B725-ACCC3285A309";
|
||||
length = cfg.platformPartSize;
|
||||
}
|
||||
] ++ [
|
||||
bootFsImg
|
||||
nixFsImg
|
||||
];
|
||||
@@ -171,19 +189,21 @@ in
|
||||
};
|
||||
};
|
||||
in
|
||||
lib.mkIf cfg.enable
|
||||
{
|
||||
system.build.img = (if cfg.installBootloader == null then
|
||||
img
|
||||
else pkgs.runCommand "nixos-with-bootloader" {} ''
|
||||
cp -vR ${img} $out
|
||||
chmod -R +w $out
|
||||
${cfg.installBootloader}
|
||||
'') // {
|
||||
system.build.img = pkgs.runCommandLocal "nixos-with-bootloader" {
|
||||
passthru = {
|
||||
inherit bootFsImg nixFsImg;
|
||||
withoutBootloader = img;
|
||||
withoutBootloader = img; #< XXX: this derivation places the image at $out/nixos.img
|
||||
};
|
||||
};
|
||||
} (
|
||||
if cfg.installBootloader == null then ''
|
||||
ln -s ${img}/nixos.img $out
|
||||
'' else ''
|
||||
cp ${img}/nixos.img $out
|
||||
chmod +w $out
|
||||
${cfg.installBootloader}
|
||||
chmod -w $out
|
||||
''
|
||||
);
|
||||
};
|
||||
}
|
||||
|
@@ -529,24 +529,24 @@ let
|
||||
"program ${name} specified no `sandbox.method`; please configure a method, or set sandbox.enable = false."
|
||||
];
|
||||
|
||||
system.checks = lib.optionals (p.enabled && p.sandbox.enable && p.sandbox.method != null && p.package != null) [
|
||||
system.checks = lib.mkIf (p.enabled && p.sandbox.enable && p.sandbox.method != null && p.package != null) [
|
||||
p.package.passthru.checkSandboxed
|
||||
];
|
||||
|
||||
# conditionally add to system PATH and env
|
||||
environment = lib.optionalAttrs (p.enabled && p.enableFor.system) {
|
||||
systemPackages = lib.optionals (p.package != null) [ p.package ];
|
||||
systemPackages = lib.mkIf (p.package != null) [ p.package ];
|
||||
# sessionVariables are set by PAM, as opposed to environment.variables which goes in /etc/profile
|
||||
sessionVariables = p.env;
|
||||
};
|
||||
|
||||
# conditionally add to user(s) PATH
|
||||
users.users = lib.mapAttrs (userName: en: {
|
||||
packages = lib.optionals (p.package != null && en && p.enabled) [ p.package ];
|
||||
packages = lib.mkIf (p.package != null && en && p.enabled) [ p.package ];
|
||||
}) p.enableFor.user;
|
||||
|
||||
# conditionally persist relevant user dirs and create files
|
||||
sane.users = lib.mapAttrs (user: en: lib.optionalAttrs (en && p.enabled) {
|
||||
sane.users = lib.mapAttrs (user: en: lib.mkIf (en && p.enabled) {
|
||||
inherit (p) persist services;
|
||||
environment = p.env;
|
||||
fs = lib.mkMerge [
|
||||
@@ -578,7 +578,7 @@ let
|
||||
|
||||
# make secrets available for each user
|
||||
sops.secrets = lib.concatMapAttrs
|
||||
(user: en: lib.optionalAttrs (en && p.enabled) (
|
||||
(user: en: lib.mkIf (en && p.enabled) (
|
||||
lib.mapAttrs'
|
||||
(homePath: src: {
|
||||
# TODO: use the user's *actual* home directory, don't guess.
|
||||
|
@@ -1,16 +0,0 @@
|
||||
diff --git a/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
|
||||
index a4352ab9a24..8a191e0f694 100644
|
||||
--- a/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
|
||||
+++ b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
|
||||
@@ -16,7 +16,10 @@ let
|
||||
else
|
||||
pkgs.ubootRaspberryPi3_32bit
|
||||
else
|
||||
- throw "U-Boot is not yet supported on the raspberry pi 4.";
|
||||
+ if isAarch64 then
|
||||
+ pkgs.ubootRaspberryPi4_64bit
|
||||
+ else
|
||||
+ pkgs.ubootRaspberryPi4_32bit;
|
||||
|
||||
extlinuxConfBuilder =
|
||||
import ../generic-extlinux-compatible/extlinux-conf-builder.nix {
|
@@ -1,21 +0,0 @@
|
||||
diff --git a/pkgs/development/libraries/qt-6/modules/qtbase.nix b/pkgs/development/libraries/qt-6/modules/qtbase.nix
|
||||
index e71b0a7613d..72779ac57a5 100644
|
||||
--- a/pkgs/development/libraries/qt-6/modules/qtbase.nix
|
||||
+++ b/pkgs/development/libraries/qt-6/modules/qtbase.nix
|
||||
@@ -5,6 +5,7 @@
|
||||
, version
|
||||
, coreutils
|
||||
, bison
|
||||
+, buildPackages
|
||||
, flex
|
||||
, gdb
|
||||
, gperf
|
||||
@@ -224,6 +225,8 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# error: 'path' is unavailable: introduced in macOS 10.15
|
||||
"-DQT_FEATURE_cxx17_filesystem=OFF"
|
||||
+ ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||
+ "-DQT_HOST_PATH=${buildPackages.qt6.full}"
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = toString (lib.optionals stdenv.isDarwin [
|
@@ -1,31 +0,0 @@
|
||||
diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
|
||||
index fadbc5d2bfa..e4f2aec5a32 100644
|
||||
--- a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
|
||||
+++ b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
|
||||
@@ -97,6 +97,9 @@
|
||||
, xnu
|
||||
}:
|
||||
|
||||
+let
|
||||
+ buildPython = buildPackages.python3.withPackages (ps: with ps; [ html5lib ]);
|
||||
+in
|
||||
qtModule {
|
||||
pname = "qtwebengine";
|
||||
qtInputs = [ qtdeclarative qtwebchannel qtwebsockets qtpositioning ];
|
||||
@@ -108,7 +111,7 @@ qtModule {
|
||||
gperf
|
||||
ninja
|
||||
pkg-config
|
||||
- (python3.withPackages (ps: with ps; [ html5lib ]))
|
||||
+ buildPython
|
||||
which
|
||||
gn
|
||||
nodejs
|
||||
@@ -304,6 +307,7 @@ qtModule {
|
||||
|
||||
preConfigure = ''
|
||||
export NINJAFLAGS="-j$NIX_BUILD_CORES"
|
||||
+ export CMAKE_PREFIX_PATH="${buildPython}/bin:$CMAKE_PREFIX_PATH"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
@@ -1,60 +0,0 @@
|
||||
diff --git a/pkgs/applications/video/jellyfin-media-player/default.nix b/pkgs/applications/video/jellyfin-media-player/default.nix
|
||||
index e781f80e455..d1990294141 100644
|
||||
--- a/pkgs/applications/video/jellyfin-media-player/default.nix
|
||||
+++ b/pkgs/applications/video/jellyfin-media-player/default.nix
|
||||
@@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchzip
|
||||
-, mkDerivation
|
||||
, stdenv
|
||||
, Cocoa
|
||||
, CoreAudio
|
||||
@@ -12,21 +11,20 @@
|
||||
, libGL
|
||||
, libX11
|
||||
, libXrandr
|
||||
+, libsForQt5
|
||||
, libvdpau
|
||||
, mpv
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
-, qtbase
|
||||
-, qtwayland
|
||||
-, qtwebchannel
|
||||
-, qtwebengine
|
||||
-, qtx11extras
|
||||
, jellyfin-web
|
||||
, withDbus ? stdenv.isLinux, dbus
|
||||
}:
|
||||
|
||||
-mkDerivation rec {
|
||||
+let
|
||||
+ inherit (libsForQt5) qtbase qtwayland qtwebchannel qtwebengine qtx11extras wrapQtAppsHook;
|
||||
+in
|
||||
+stdenv.mkDerivation rec {
|
||||
pname = "jellyfin-media-player";
|
||||
version = "1.9.1";
|
||||
|
||||
@@ -69,6 +67,7 @@ mkDerivation rec {
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
+ wrapQtAppsHook
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
|
||||
index eb309c9b283..d8a718db698 100644
|
||||
--- a/pkgs/top-level/all-packages.nix
|
||||
+++ b/pkgs/top-level/all-packages.nix
|
||||
@@ -5289,7 +5289,7 @@ with pkgs;
|
||||
|
||||
jellyfin-ffmpeg = callPackage ../development/libraries/jellyfin-ffmpeg { };
|
||||
|
||||
- jellyfin-media-player = libsForQt5.callPackage ../applications/video/jellyfin-media-player {
|
||||
+ jellyfin-media-player = callPackage ../applications/video/jellyfin-media-player {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa CoreAudio MediaPlayer;
|
||||
# Disable pipewire to avoid segfault, see https://github.com/jellyfin/jellyfin-media-player/issues/341
|
||||
mpv = wrapMpv (mpv-unwrapped.override { pipewireSupport = false; }) { };
|
25
nixpatches/flake.lock
generated
25
nixpatches/flake.lock
generated
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1675123384,
|
||||
"narHash": "sha256-RpU+kboEWlIYwbRMGIPBIcztH63CvmqWN1B8GpJogd4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e0fa1ece2f3929726c9b98c539ad14b63ae8e4fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
@@ -1,72 +0,0 @@
|
||||
{
|
||||
inputs = {
|
||||
# user is expected to define this from their flake via `inputs.nixpkgs.follows = ...`
|
||||
nixpkgs = {};
|
||||
};
|
||||
outputs = { self, nixpkgs, variant ? "master" }@inputs:
|
||||
let
|
||||
patchedPkgsFor = system: nixpkgs.legacyPackages.${system}.applyPatches {
|
||||
name = "nixpkgs-patched-uninsane";
|
||||
version = nixpkgs.sourceInfo.lastModifiedDate;
|
||||
src = nixpkgs;
|
||||
patches = builtins.filter (p: p != null) (
|
||||
nixpkgs.legacyPackages."${system}".callPackage ./list.nix { } variant nixpkgs.lastModifiedDate
|
||||
);
|
||||
};
|
||||
patchedFlakeFor = system: import "${patchedPkgsFor system}/flake.nix";
|
||||
patchedFlakeOutputsFor = system: (patchedFlakeFor system).outputs {
|
||||
self = self // self._forSystem system;
|
||||
};
|
||||
|
||||
extractBuildPlatform = nixosSystemArgs:
|
||||
builtins.foldl'
|
||||
(acc: mod: ((mod.nixpkgs or {}).buildPlatform or {}).system or acc)
|
||||
(nixosSystemArgs.system or null)
|
||||
(nixosSystemArgs.modules or []);
|
||||
in
|
||||
{
|
||||
# i attempt to mirror the non-patched nixpkgs flake outputs,
|
||||
# however the act of patching is dependent on the build system (can't be done in pure nix),
|
||||
# hence a 100% compatible interface has to be segmented by `system`:
|
||||
_forSystem = system: {
|
||||
inherit (patchedFlakeOutputsFor system) lib;
|
||||
legacyPackages = builtins.mapAttrs
|
||||
(system': _:
|
||||
(patchedFlakeOutputsFor (if system != null then system else system'))
|
||||
.legacyPackages."${system'}"
|
||||
)
|
||||
nixpkgs.legacyPackages;
|
||||
};
|
||||
|
||||
# although i can't expose all of the patched nixpkgs outputs without knowing the `system` to use for patching,
|
||||
# several outputs learn about the system implicitly, so i can expose those:
|
||||
lib.nixosSystem = args: (
|
||||
self._forSystem (extractBuildPlatform args)
|
||||
).lib.nixosSystem args;
|
||||
|
||||
legacyPackages = (self._forSystem null).legacyPackages;
|
||||
|
||||
# sourceInfo includes fields (square brackets for the ones which are not always present):
|
||||
# - [dirtyRev]
|
||||
# - [dirtyShortRev]
|
||||
# - lastModified
|
||||
# - lastModifiedDate
|
||||
# - narHash
|
||||
# - outPath
|
||||
# - [rev]
|
||||
# - [revCount]
|
||||
# - [shortRev]
|
||||
# - submodules
|
||||
#
|
||||
# these values are used within nixpkgs:
|
||||
# - to give a friendly name to the nixos system (`readlink /run/current-system` -> `...nixos-system-desko-24.05.20240227.dirty`)
|
||||
# - to alias `import <nixpkgs>` so that nix uses the system's nixpkgs when called externally (supposedly).
|
||||
#
|
||||
# these values seem to exist both within the `sourceInfo` attrset and at the top-level.
|
||||
# for a list of all implicit flake outputs (which is what these seem to be):
|
||||
# $ nix-repl
|
||||
# > lf .
|
||||
# > <tab>
|
||||
inherit (nixpkgs) sourceInfo;
|
||||
} // nixpkgs.sourceInfo;
|
||||
}
|
@@ -698,6 +698,12 @@ in with final; {
|
||||
# ];
|
||||
# });
|
||||
|
||||
# upstreaming: <https://github.com/NixOS/nixpkgs/pull/317477>
|
||||
libvpx = prev.libvpx.overrideAttrs (upstream: {
|
||||
# fails building neon extensions for armv7l; see <https://github.com/NixOS/nixpkgs/issues/208746>
|
||||
configureFlags = builtins.map (lib.replaceStrings [ "armv7l-linux-gcc" ] [ "armv7-linux-gcc" ]) upstream.configureFlags;
|
||||
});
|
||||
|
||||
# 2024/05/31: upstreaming blocked on qtsvg, libgweather, appstream, glycin-loaders
|
||||
loupe = prev.loupe.overrideAttrs (upstream: {
|
||||
postPatch = (upstream.postPatch or "") + ''
|
||||
@@ -709,9 +715,9 @@ in with final; {
|
||||
|
||||
# 2024/05/31: upstreaming blocked on qtsvg, appstream, maybe others
|
||||
mepo = (prev.mepo.override {
|
||||
# nixpkgs mepo correctly puts `zig_0_11.hook` in nativeBuildInputs,
|
||||
# nixpkgs mepo correctly puts `zig_0_12.hook` in nativeBuildInputs,
|
||||
# but for some reason that tries to use the host zig instead of the build zig.
|
||||
zig_0_11 = buildPackages.zig_0_11;
|
||||
zig_0_12 = buildPackages.zig_0_12;
|
||||
}).overrideAttrs (upstream: {
|
||||
dontUseZigCheck = true;
|
||||
nativeBuildInputs = upstream.nativeBuildInputs ++ [
|
||||
@@ -1223,6 +1229,7 @@ in with final; {
|
||||
# });
|
||||
|
||||
# 2024/05/31: upstreaming is unblocked
|
||||
# implemented: <https://github.com/NixOS/nixpkgs/pull/315119>
|
||||
webp-pixbuf-loader = prev.webp-pixbuf-loader.overrideAttrs (upstream: {
|
||||
# fixes: "Builder called die: Cannot wrap '/nix/store/kpp8qhzdjqgvw73llka5gpnsj0l4jlg8-gdk-pixbuf-aarch64-unknown-linux-gnu-2.42.10/bin/gdk-pixbuf-thumbnailer' because it is not an executable file"
|
||||
# gdk-pixbuf doesn't create a `bin/` directory when cross-compiling, breaks some thumbnailing stuff.
|
||||
|
@@ -1,84 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, appstream
|
||||
, cargo
|
||||
, desktop-file-utils
|
||||
, fetchFromGitea
|
||||
, gitUpdater
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, libglvnd
|
||||
, libepoxy
|
||||
, meson
|
||||
, mpv-unwrapped
|
||||
, ninja
|
||||
, openssl
|
||||
, pkg-config
|
||||
, rustc
|
||||
, rustPlatform
|
||||
, wrapGAppsHook4
|
||||
, devBuild ? false, git
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "delfin";
|
||||
version = "0.4.4";
|
||||
|
||||
src = if devBuild then fetchFromGitea {
|
||||
domain = "git.uninsane.org";
|
||||
owner = "colin";
|
||||
repo = "delfin";
|
||||
rev = "dev-sane";
|
||||
hash = "sha256-l/Lm9dUtYfWbf8BoqNodF/5s0FzxhI/dyPevcaeyPME=";
|
||||
} else fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "avery42";
|
||||
repo = "delfin";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-qbl0PvGKI3S845xLr0aXf/uk2uuOXMjvu9S3BOPzxa0=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-Js1mIotSOayYDjDVQMqXwaeSC2a1g1DeqD6QmeWwztk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustPlatform.cargoSetupHook
|
||||
cargo
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
] ++ lib.optionals devBuild [
|
||||
git
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
libadwaita
|
||||
libglvnd
|
||||
libepoxy
|
||||
mpv-unwrapped
|
||||
openssl
|
||||
];
|
||||
|
||||
mesonFlags = lib.optionals (!devBuild) [
|
||||
"-Dprofile=release"
|
||||
];
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "stream movies and TV shows from Jellyfin";
|
||||
homepage = "https://www.delfin.avery.cafe/";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ colinsane ];
|
||||
};
|
||||
}
|
@@ -38,9 +38,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
extid = "magnolia@12.34";
|
||||
updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
};
|
||||
# XXX: disabled because the upstream repo has disappeared, and gitlab auth hangs the updater
|
||||
# updateScript = gitUpdater {
|
||||
# rev-prefix = "v";
|
||||
# };
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@@ -1,11 +1,13 @@
|
||||
{ stdenv
|
||||
, callPackage
|
||||
, concatTextFile
|
||||
, fetchpatch
|
||||
, fetchurl
|
||||
, gnused
|
||||
, jq
|
||||
, lib
|
||||
, newScope
|
||||
, nix-update
|
||||
, nix-update-script
|
||||
, runCommandLocal
|
||||
, strip-nondeterminism
|
||||
@@ -15,6 +17,18 @@
|
||||
, zip
|
||||
}:
|
||||
let
|
||||
nix-update' = nix-update.overrideAttrs (upstream: {
|
||||
patches = (upstream.patches or []) ++ [
|
||||
(fetchpatch {
|
||||
# u-block releases betas, and worse, deletes them later.
|
||||
# i don't know how to ignore them through the nix-update-script API,
|
||||
# but this patch handles that.
|
||||
name = "github: Use API to properly tag prereleases";
|
||||
url = "https://github.com/Mic92/nix-update/pull/246.patch";
|
||||
hash = "sha256-cwajliS1YMEcS2MtrKtpNn64rWHjwNDLI49LKhnlQYM=";
|
||||
})
|
||||
];
|
||||
});
|
||||
wrapAddon = addon: args:
|
||||
let
|
||||
extid = addon.passthru.extid;
|
||||
@@ -111,15 +125,7 @@ let
|
||||
cp $src $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
# uBlock mixes X.YY.ZbN and X.YY.ZrcN style.
|
||||
# default nix-update accepts the former but rejects the later as unstable.
|
||||
# that's problematic because beta releases later get pulled.
|
||||
# ideally i'd reject both, but i don't know how.
|
||||
"--version=unstable"
|
||||
];
|
||||
};
|
||||
passthru.updateScript = (nix-update-script.override { nix-update = nix-update'; }) { };
|
||||
passthru.extid = extid;
|
||||
};
|
||||
|
||||
@@ -139,8 +145,8 @@ in (lib.makeScope newScope (self: with self; {
|
||||
extid = "webextension@metamask.io";
|
||||
pname = "ether-metamask";
|
||||
url = "https://github.com/MetaMask/metamask-extension/releases/download/v${version}/metamask-firefox-${version}.zip";
|
||||
version = "11.16.0";
|
||||
hash = "sha256-GqogHIqPneZ/Ngpf5ICm/LSMB3PIC2OjdZYZ5FSKJrk=";
|
||||
version = "11.16.8";
|
||||
hash = "sha256-32KkO72afC9Cm0siiobkCZKmfZqm8/Z6SJK8KwNdeTw=";
|
||||
};
|
||||
fx_cast = fetchVersionedAddon rec {
|
||||
extid = "fx_cast@matt.tf";
|
||||
@@ -160,15 +166,15 @@ in (lib.makeScope newScope (self: with self; {
|
||||
extid = "sponsorBlocker@ajay.app";
|
||||
pname = "sponsorblock";
|
||||
url = "https://github.com/ajayyy/SponsorBlock/releases/download/${version}/FirefoxSignedInstaller.xpi";
|
||||
version = "5.6";
|
||||
hash = "sha256-7HnWgGxDtkr0LXIGec+V1ACV/hhKAa3zII+SgMC7GSo=";
|
||||
version = "5.6.1";
|
||||
hash = "sha256-b2FIVcOaRyJjWOTtXT9XrLWzcptcuxKJltDGFjpWPRQ=";
|
||||
};
|
||||
ublacklist = fetchVersionedAddon rec {
|
||||
extid = "@ublacklist";
|
||||
pname = "ublacklist";
|
||||
url = "https://github.com/iorate/ublacklist/releases/download/v${version}/ublacklist-v${version}-firefox.zip";
|
||||
version = "8.7.0";
|
||||
hash = "sha256-70hdLWU8kfu7VO//aXeBi6HO6LvY20vT61zDw/pdQIg=";
|
||||
version = "8.7.1";
|
||||
hash = "sha256-FvZ2IFlvoAYMmZFXTkGtCZ+44MmXioA271DXvNY96j8=";
|
||||
};
|
||||
ublock-origin = fetchVersionedAddon rec {
|
||||
extid = "uBlock0@raymondhill.net";
|
||||
|
@@ -347,6 +347,15 @@ let
|
||||
}
|
||||
];
|
||||
};
|
||||
matrix-sdk-ui = crates.matrix-sdk-ui // {
|
||||
dependencies = lib.forEach crates.matrix-sdk-ui.dependencies (d:
|
||||
if d.name == "matrix-sdk" then d // {
|
||||
# XXX(2024/06/04): experimental-oidc feature drags in p384, which fails armv7l cross
|
||||
features = lib.remove "experimental-oidc" d.features;
|
||||
} else
|
||||
d
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
cargoNix = import ./Cargo.nix {
|
||||
|
25
pkgs/additional/linux-exynos5-mainline/default.nix
Normal file
25
pkgs/additional/linux-exynos5-mainline/default.nix
Normal file
@@ -0,0 +1,25 @@
|
||||
{ buildLinux
|
||||
, fetchFromGitLab
|
||||
#v nixpkgs calls `.override` on the kernel to configure additional things
|
||||
, features ? {}
|
||||
, randstructSeed ? ""
|
||||
, ...
|
||||
}:
|
||||
buildLinux {
|
||||
src = fetchFromGitLab {
|
||||
owner = "exynos5-mainline";
|
||||
repo = "linux";
|
||||
rev = "20e7d0fbd9213858325dfeb9be0da1a3756744a1";
|
||||
hash = "sha256-tbNYuOk4XHRH12B3EdMCgO7EUKaAs6Q7G+/r3r35ZFY=";
|
||||
};
|
||||
version = "6.8.0-rc2";
|
||||
# modDirVersion = "6.8.0-rc2";
|
||||
modDirVersion = "6.8.0-rc2-next-20240201-postmarketos-exynos5";
|
||||
extraMeta.branch = "6.8";
|
||||
|
||||
defconfig = "exynos5_defconfig";
|
||||
autoModules = false;
|
||||
# preferBuiltin = false;
|
||||
|
||||
inherit features randstructSeed;
|
||||
}
|
@@ -2,6 +2,7 @@
|
||||
, fetchurl
|
||||
, linux-megous
|
||||
, linuxManualConfig
|
||||
, sane-kernel-tools
|
||||
, writeTextFile
|
||||
#v nixpkgs calls `.override` on the kernel to configure additional things, but we don't care about those things
|
||||
, features ? null
|
||||
@@ -22,39 +23,7 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
# parseKconfigValue = str: let
|
||||
# inherit (lib) kernel;
|
||||
# in
|
||||
# if str == "y" then
|
||||
# kernel.yes
|
||||
# else if str == "m" then
|
||||
# kernel.module
|
||||
# else
|
||||
# # kernel.freeform (lib.removePrefix ''"'' (lib.removeSuffix ''"'' str))
|
||||
# kernel.freeform str
|
||||
# ;
|
||||
parseKconfigLine = line: let
|
||||
pieces = lib.splitString "=" line;
|
||||
in
|
||||
if lib.hasPrefix "#" (lib.head pieces) then [
|
||||
# this line is a comment.
|
||||
# N.B.: this could be like `# CONFIG_FOO is not set`, which i might want to report as `n`
|
||||
] else if lib.length pieces == 1 then [
|
||||
# no equals sign: this is probably a blank line
|
||||
] else [{
|
||||
name = lib.head pieces;
|
||||
# value = parseKconfigValue (lib.concatStringsSep "=" (lib.tail pieces));
|
||||
# nixpkgs kernel config is some real fucking bullshit: it wants a plain string here instead of the structured config it demands eeeeeeverywhere else.
|
||||
value = lib.concatStringsSep "=" (lib.tail pieces);
|
||||
}]
|
||||
;
|
||||
parseKconfig = wholeStr: let
|
||||
lines = lib.splitString "\n" wholeStr;
|
||||
parsedItems = lib.concatMap parseKconfigLine lines;
|
||||
in
|
||||
lib.listToAttrs parsedItems;
|
||||
|
||||
KconfigStr = (builtins.readFile ./config-postmarketos-allwinner.aarch64) + ''
|
||||
defconfigStr = (builtins.readFile ./config-postmarketos-allwinner.aarch64) + ''
|
||||
#
|
||||
# Extra nixpkgs-specific options
|
||||
# nixos/modules/system/boot/systemd.nix wants CONFIG_DMIID
|
||||
@@ -79,11 +48,11 @@ in linuxManualConfig {
|
||||
|
||||
configfile = writeTextFile {
|
||||
name = "config-postmarketos-allwinner.aarch64";
|
||||
text = KconfigStr;
|
||||
text = defconfigStr;
|
||||
};
|
||||
# nixpkgs requires to know the config as an attrset, to do various eval-time assertions.
|
||||
# this forces me to include the Kconfig inline, instead of fetching it the way i do all the other pmOS kernel stuff.
|
||||
config = parseKconfig KconfigStr;
|
||||
# this forces me to include the defconfig inline, instead of fetching it the way i do all the other pmOS kernel stuff.
|
||||
config = sane-kernel-tools.parseDefconfig defconfigStr;
|
||||
|
||||
# these likely aren't *all* required for pinephone: pmOS kernel is shared by many devices
|
||||
kernelPatches = [
|
File diff suppressed because it is too large
Load Diff
106
pkgs/additional/linux-postmarketos-exynos5/default.nix
Normal file
106
pkgs/additional/linux-postmarketos-exynos5/default.nix
Normal file
@@ -0,0 +1,106 @@
|
||||
{ lib
|
||||
, linux ? linux_6_1, linux_6_1
|
||||
, linuxManualConfig
|
||||
, optimizeForSize ? false
|
||||
, useEdpPanel ? false #< use `edp-panel` driver in snow device tree (fails to fix graphics)
|
||||
, revertPanelSimplePatch ? false #< revert the commit which removed B116XW03 panel from panel-edp driver (fixes display output)
|
||||
, sane-kernel-tools
|
||||
, writeTextFile
|
||||
#v nixpkgs calls `.override` on the kernel to configure additional things
|
||||
, features ? []
|
||||
, randstructSeed ? ""
|
||||
, ...
|
||||
}@args:
|
||||
|
||||
let
|
||||
defconfigPmos = builtins.readFile ./config-postmarketos-exynos5.arm7;
|
||||
|
||||
patches = {
|
||||
useEdpPanel = {
|
||||
name = "snow: use edp-panel driver";
|
||||
patch = ./snow-panel-fix.patch;
|
||||
};
|
||||
revertPanelSimplePatch = {
|
||||
name = "revert ad3e33fe071dffea07279f96dab4f3773c430fe2, and get snow to use edp-panel again";
|
||||
patch = ./snow-panel-revert-b116xw03.patch;
|
||||
};
|
||||
};
|
||||
|
||||
# remove CONFIG_LOCALVERSION else nixpkgs complains about mismatched modDirVersion
|
||||
withoutOsFlavor = defconfig: lib.replaceStrings
|
||||
[ ''CONFIG_LOCALVERSION="-postmarketos-exynos5"'' ]
|
||||
[ ''CONFIG_LOCALVERSION='' ]
|
||||
defconfig
|
||||
;
|
||||
|
||||
# XXX(2024/06/06): if this module is loaded before udev, then kernel panic.
|
||||
# see: <repo:NixOS/mobile-nixos:devices/families/mainline-chromeos/default.nix>
|
||||
withModuleFixes = defconfig: lib.replaceStrings
|
||||
[ ''CONFIG_BATTERY_SBS=y'' ]
|
||||
[ ''CONFIG_BATTERY_SBS=m'' ]
|
||||
defconfig
|
||||
;
|
||||
|
||||
withOptimizations = defconfig: if optimizeForSize then
|
||||
lib.replaceStrings
|
||||
[ ''CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y'' ]
|
||||
# XXX(2024/06/06): if the bzImage is too large, it fails to boot.
|
||||
# probably an issue with the uboot relocations; not sure exactly what the size limit is.
|
||||
# XXX(2024/06/08): it now boots fine with the stock optimizations, though the difference in size is only 500KiB (about 10%).
|
||||
# perhaps this was mis-diagnosed
|
||||
[ ''CONFIG_CC_OPTIMIZE_FOR_SIZE=y'' ]
|
||||
defconfig
|
||||
else
|
||||
defconfig
|
||||
;
|
||||
|
||||
withNixosRequirements = defconfig: defconfig + ''
|
||||
#
|
||||
# Extra nixpkgs-specific options
|
||||
# nixos/modules/system/boot/systemd.nix wants CONFIG_DMIID
|
||||
# nixos/modules/services/hardware/udev.nix wants CONFIG_MODULE_COMPRESS_ZSTD
|
||||
#
|
||||
CONFIG_DMIID=y
|
||||
CONFIG_MODULE_COMPRESS_ZSTD=y
|
||||
|
||||
CONFIG_DRM_LIMA=y
|
||||
CONFIG_DRM_MALI_DISPLAY=m
|
||||
|
||||
#
|
||||
# Extra sane-specific options
|
||||
#
|
||||
CONFIG_SECURITY=y
|
||||
CONFIG_SECURITY_LANDLOCK=y
|
||||
CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,selinux,smack,tomoyo,apparmor,bpf";
|
||||
'';
|
||||
|
||||
defconfigStr = withNixosRequirements (
|
||||
withOptimizations (
|
||||
withModuleFixes (
|
||||
withoutOsFlavor (
|
||||
defconfigPmos
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
in (linuxManualConfig {
|
||||
inherit (linux) extraMakeFlags modDirVersion src version;
|
||||
inherit features randstructSeed;
|
||||
kernelPatches = (args.kernelPatches or []) ++ lib.optionals useEdpPanel [
|
||||
patches.useEdpPanel
|
||||
] ++ lib.optionals revertPanelSimplePatch [
|
||||
patches.revertPanelSimplePatch
|
||||
];
|
||||
|
||||
configfile = writeTextFile {
|
||||
name = "config-postmarketos-exynos5.arm7";
|
||||
text = defconfigStr;
|
||||
};
|
||||
# nixpkgs requires to know the config as an attrset, to do various eval-time assertions.
|
||||
# this forces me to include the defconfig inline, instead of fetching it the way i do all the other pmOS kernel stuff.
|
||||
config = sane-kernel-tools.parseDefconfig defconfigStr;
|
||||
}).overrideAttrs (base: {
|
||||
passthru = (base.passthru or {}) // {
|
||||
sanePatches = patches;
|
||||
};
|
||||
})
|
@@ -0,0 +1,13 @@
|
||||
diff --git a/arch/arm/boot/dts/samsung/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/samsung/exynos5250-snow-common.dtsi
|
||||
index 65b000df176e..bc8060890137 100644
|
||||
--- a/arch/arm/boot/dts/samsung/exynos5250-snow-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/samsung/exynos5250-snow-common.dtsi
|
||||
@@ -205,7 +205,7 @@ backlight: backlight {
|
||||
};
|
||||
|
||||
panel: panel {
|
||||
- compatible = "auo,b116xw03";
|
||||
+ compatible = "edp-panel";
|
||||
power-supply = <&fet6>;
|
||||
backlight = <&backlight>;
|
||||
|
@@ -0,0 +1,100 @@
|
||||
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
|
||||
index 95c8472d878a..feb665df35a1 100644
|
||||
--- a/drivers/gpu/drm/panel/panel-edp.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-edp.c
|
||||
@@ -976,6 +976,32 @@ static const struct panel_desc auo_b116xak01 = {
|
||||
},
|
||||
};
|
||||
|
||||
+static const struct drm_display_mode auo_b116xw03_mode = {
|
||||
+ .clock = 70589,
|
||||
+ .hdisplay = 1366,
|
||||
+ .hsync_start = 1366 + 40,
|
||||
+ .hsync_end = 1366 + 40 + 40,
|
||||
+ .htotal = 1366 + 40 + 40 + 32,
|
||||
+ .vdisplay = 768,
|
||||
+ .vsync_start = 768 + 10,
|
||||
+ .vsync_end = 768 + 10 + 12,
|
||||
+ .vtotal = 768 + 10 + 12 + 6,
|
||||
+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
|
||||
+};
|
||||
+
|
||||
+static const struct panel_desc auo_b116xw03 = {
|
||||
+ .modes = &auo_b116xw03_mode,
|
||||
+ .num_modes = 1,
|
||||
+ .bpc = 6,
|
||||
+ .size = {
|
||||
+ .width = 256,
|
||||
+ .height = 144,
|
||||
+ },
|
||||
+ .delay = {
|
||||
+ .enable = 400,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
static const struct drm_display_mode auo_b133han05_mode = {
|
||||
.clock = 142600,
|
||||
.hdisplay = 1920,
|
||||
@@ -1699,6 +1725,9 @@ static const struct of_device_id platform_of_match[] = {
|
||||
}, {
|
||||
.compatible = "auo,b116xa01",
|
||||
.data = &auo_b116xak01,
|
||||
+ }, {
|
||||
+ .compatible = "auo,b116xw03",
|
||||
+ .data = &auo_b116xw03,
|
||||
}, {
|
||||
.compatible = "auo,b133han05",
|
||||
.data = &auo_b133han05,
|
||||
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
|
||||
index dd7928d9570f..95959dcc6e0e 100644
|
||||
--- a/drivers/gpu/drm/panel/panel-simple.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-simple.c
|
||||
@@ -919,38 +919,6 @@ static const struct panel_desc auo_b101xtn01 = {
|
||||
},
|
||||
};
|
||||
|
||||
-static const struct drm_display_mode auo_b116xw03_mode = {
|
||||
- .clock = 70589,
|
||||
- .hdisplay = 1366,
|
||||
- .hsync_start = 1366 + 40,
|
||||
- .hsync_end = 1366 + 40 + 40,
|
||||
- .htotal = 1366 + 40 + 40 + 32,
|
||||
- .vdisplay = 768,
|
||||
- .vsync_start = 768 + 10,
|
||||
- .vsync_end = 768 + 10 + 12,
|
||||
- .vtotal = 768 + 10 + 12 + 6,
|
||||
- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
|
||||
-};
|
||||
-
|
||||
-static const struct panel_desc auo_b116xw03 = {
|
||||
- .modes = &auo_b116xw03_mode,
|
||||
- .num_modes = 1,
|
||||
- .bpc = 6,
|
||||
- .size = {
|
||||
- .width = 256,
|
||||
- .height = 144,
|
||||
- },
|
||||
- .delay = {
|
||||
- .prepare = 1,
|
||||
- .enable = 200,
|
||||
- .disable = 200,
|
||||
- .unprepare = 500,
|
||||
- },
|
||||
- .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG,
|
||||
- .bus_flags = DRM_BUS_FLAG_DE_HIGH,
|
||||
- .connector_type = DRM_MODE_CONNECTOR_LVDS,
|
||||
-};
|
||||
-
|
||||
static const struct display_timing auo_g070vvn01_timings = {
|
||||
.pixelclock = { 33300000, 34209000, 45000000 },
|
||||
.hactive = { 800, 800, 800 },
|
||||
@@ -4134,9 +4102,6 @@ static const struct of_device_id platform_of_match[] = {
|
||||
}, {
|
||||
.compatible = "auo,b101xtn01",
|
||||
.data = &auo_b101xtn01,
|
||||
- }, {
|
||||
- .compatible = "auo,b116xw03",
|
||||
- .data = &auo_b116xw03,
|
||||
}, {
|
||||
.compatible = "auo,g070vvn01",
|
||||
.data = &auo_g070vvn01,
|
19
pkgs/additional/mobile-nixos/default.nix
Normal file
19
pkgs/additional/mobile-nixos/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ pkgs
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
let
|
||||
src = fetchFromGitHub {
|
||||
owner = "nixos";
|
||||
repo = "mobile-nixos";
|
||||
# XXX: commit `0f3ac0bef1aea70254a3bae35e3cc2561623f4c1`
|
||||
# replaces the imageBuilder with a "new implementation from celun" and wildly breaks my use.
|
||||
# pinning to d25d3b... is equivalent to holding at 2023-09-15
|
||||
rev = "d25d3b87e7f300d8066e31d792337d9cd7ecd23b";
|
||||
hash = "sha256-MiVokKlpcJmfoGuWAMeW1En7gZ5hk0rCQArYm6P9XCc=";
|
||||
};
|
||||
overlay = import "${src}/overlay/overlay.nix";
|
||||
final = pkgs.appendOverlays [ overlay ];
|
||||
in src.overrideAttrs (base: {
|
||||
# passthru only mobile-nixos' own packages -- not the whole nixpkgs-with-mobile-nixos-as-overlay:
|
||||
passthru = base.passthru // (overlay final pkgs);
|
||||
})
|
37
pkgs/additional/nixpkgs-wayland/default.nix
Normal file
37
pkgs/additional/nixpkgs-wayland/default.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ pkgs
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, nix-update-script
|
||||
}:
|
||||
let
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "nixpkgs-wayland";
|
||||
rev = "021a0a37c336730956f5ce741c2a5c0e5c113b40";
|
||||
hash = "sha256-NiBJ7EgvGmDmXy1MG1r++afIzFJBmir2PQ4wmMNIaWw=";
|
||||
};
|
||||
flake = import "${src}/flake.nix";
|
||||
evaluated = flake.outputs {
|
||||
self = evaluated;
|
||||
lib-aggregate.lib = lib // {
|
||||
# mock out flake-utils, which it uses to construct flavored package sets.
|
||||
# we only need the overlay (unflavored)
|
||||
flake-utils.eachSystem = sys: fn: {};
|
||||
};
|
||||
};
|
||||
overlay = evaluated.overlay;
|
||||
|
||||
final = pkgs.appendOverlays [ overlay ];
|
||||
in src.overrideAttrs (base: {
|
||||
# attributes required by update scripts
|
||||
pname = "nixpkgs-wayland";
|
||||
version = "0-unstable-2024-06-08";
|
||||
src = src;
|
||||
|
||||
# passthru only nixpkgs-wayland's own packages -- not the whole nixpkgs-with-nixpkgs-wayland-as-overlay:
|
||||
passthru = base.passthru // (overlay final pkgs) // {
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [ "--version" "branch" ];
|
||||
};
|
||||
};
|
||||
})
|
90
pkgs/additional/nixpkgs/default.nix
Normal file
90
pkgs/additional/nixpkgs/default.nix
Normal file
@@ -0,0 +1,90 @@
|
||||
# XXX: this is in the bootstrap path;
|
||||
# this means it has to be evaluatable using only builtins,
|
||||
# though i'm free to include optional functionality (e.g. update scripts) so long as i gate it behind availability checks.
|
||||
#
|
||||
# branch workflow:
|
||||
# - daily:
|
||||
# - nixos-unstable cut from master after enough packages have been built in caches.
|
||||
# - every 6 hours:
|
||||
# - master auto-merged into staging and staging-next
|
||||
# - staging-next auto-merged into staging.
|
||||
# - manually, approximately once per month:
|
||||
# - staging-next is cut from staging.
|
||||
# - staging-next merged into master.
|
||||
#
|
||||
# which branch to source from?
|
||||
# - nixos-unstable: for everyday development; it provides good caching
|
||||
# - master: temporarily if i'm otherwise cherry-picking lots of already-applied patches
|
||||
# - staging-next: if testing stuff that's been PR'd into staging, i.e. base library updates.
|
||||
# - staging: maybe if no staging-next -> master PR has been cut yet?
|
||||
{ variant ? "master"
|
||||
, doPatch ? true
|
||||
, localSystem ? builtins.currentSystem #< not available in pure mode
|
||||
, system ? localSystem
|
||||
#VVV these may or may not be available when called VVV
|
||||
, fetchzip ? builtins.fetchTarball
|
||||
, nix-update-script ? null
|
||||
}:
|
||||
let
|
||||
lock = {
|
||||
master.rev = "33605cdf028a6bfb96ce5d6e6e87d4779555f35f";
|
||||
master.sha256 = "sha256-Lp669vFtN0vaCyOmXiA1UWrBXyyTlxYu2cZhaD10gn4=";
|
||||
staging.rev = "33605cdf028a6bfb96ce5d6e6e87d4779555f35f";
|
||||
staging.sha256 = "sha256-Lp669vFtN0vaCyOmXiA1UWrBXyyTlxYu2cZhaD10gn4=";
|
||||
staging-next.rev = "33605cdf028a6bfb96ce5d6e6e87d4779555f35f";
|
||||
staging-next.sha256 = "sha256-Lp669vFtN0vaCyOmXiA1UWrBXyyTlxYu2cZhaD10gn4=";
|
||||
};
|
||||
lock' = lock."${variant}";
|
||||
unpatchedSrc = fetchzip {
|
||||
url = "https://github.com/NixOS/nixpkgs/archive/${lock'.rev}.tar.gz";
|
||||
inherit (lock') sha256;
|
||||
};
|
||||
unpatchedNixpkgs = import unpatchedSrc { inherit localSystem; };
|
||||
|
||||
patchedSrc = unpatchedNixpkgs.applyPatches {
|
||||
name = "nixpkgs-patched-uninsane";
|
||||
# version = ...
|
||||
src = unpatchedSrc;
|
||||
patches = unpatchedNixpkgs.callPackage ./list.nix { };
|
||||
# skip applied patches
|
||||
prePatch = ''
|
||||
realpatch=$(command -v patch)
|
||||
patch() {
|
||||
OUT=$($realpatch "$@") || echo "$OUT" | grep "Skipping patch" -q
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
src = if doPatch then patchedSrc else { outPath = unpatchedSrc; };
|
||||
args = {
|
||||
inherit localSystem;
|
||||
config = {
|
||||
allowUnfree = true; # NIXPKGS_ALLOW_UNFREE=1
|
||||
allowBroken = true; # NIXPKGS_ALLOW_BROKEN=1
|
||||
};
|
||||
} // (if (system != localSystem) then {
|
||||
# XXX(2023/12/11): cache.nixos.org uses `system = ...` instead of `hostPlatform.system`, and that choice impacts the closure of every package.
|
||||
# so avoid specifying hostPlatform.system on non-cross builds, so i can use upstream caches.
|
||||
crossSystem = system;
|
||||
} else {});
|
||||
|
||||
nixpkgs = import "${src}" args;
|
||||
in
|
||||
# N.B.: this is crafted to allow `nixpkgs.FOO` from other nix code
|
||||
# AND `nix-build -A nixpkgs`
|
||||
if src ? overrideAttrs then
|
||||
src.overrideAttrs (base: {
|
||||
# attributes needed for update scripts
|
||||
pname = "nixpkgs";
|
||||
version = "24.05-unstable-2024-06-08";
|
||||
passthru = (base.passthru or {}) // nixpkgs // {
|
||||
src = unpatchedSrc // {
|
||||
inherit (lock') rev;
|
||||
};
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [ "--version" "branch" ];
|
||||
};
|
||||
};
|
||||
})
|
||||
else
|
||||
nixpkgs
|
@@ -1,5 +1,4 @@
|
||||
{ fetchpatch2, fetchurl, lib }:
|
||||
variant: date:
|
||||
let
|
||||
fetchpatch' = {
|
||||
saneCommit ? null,
|
||||
@@ -8,7 +7,6 @@ let
|
||||
hash ? null,
|
||||
title ? null,
|
||||
revert ? false,
|
||||
merged ? {},
|
||||
}:
|
||||
let
|
||||
url = if prUrl != null then
|
||||
@@ -19,23 +17,24 @@ let
|
||||
else
|
||||
"https://github.com/NixOS/nixpkgs/commit/${nixpkgsCommit}.patch"
|
||||
;
|
||||
isMerged = merged ? "${variant}" && lib.versionAtLeast date merged."${variant}";
|
||||
in if !isMerged then fetchpatch2 (
|
||||
in fetchpatch2 (
|
||||
{ inherit revert url; }
|
||||
// (if hash != null then { inherit hash; } else {})
|
||||
// (if title != null then { name = title; } else {})
|
||||
) else null;
|
||||
in [
|
||||
# if a patch has been merged, use
|
||||
# merged.staging = "<date>";
|
||||
# merged.master = "<date>";
|
||||
# etc, where "date" is like "20240228181608"
|
||||
# and can be found with `nix-repl > :lf . > lastModifiedDate`
|
||||
);
|
||||
in
|
||||
[
|
||||
# TODO: apply this once it's fixed for aarch64
|
||||
# (fetchpatch' {
|
||||
# title = "libvpx: fix cross compiling for armv7";
|
||||
# prUrl = "https://github.com/NixOS/nixpkgs/pull/317477";
|
||||
# hash = "sha256-5W/5/u2CXJJEgTjPx/do6SRZ6WEfhlAi/qXYS/Lsb14=";
|
||||
# })
|
||||
|
||||
(fetchpatch' {
|
||||
title = "networkmanager: 1.46.0 → 1.48.0";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/316417";
|
||||
hash = "sha256-LfQyB3tzQa3UNyZl9HWCuoyBznIhinodlTL6TnPn0Uk=";
|
||||
title = "sysvol: init at 0-unstable-2024-06-07";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/318440";
|
||||
hash = "sha256-zVuZHGIFpXrXnpYM1v0IJ6zw5gwTgkTxq08QfBVSLpI=";
|
||||
})
|
||||
|
||||
(fetchpatch' {
|
||||
@@ -60,7 +59,8 @@ in [
|
||||
|
||||
# branch: wip-ffado-cross
|
||||
(fetchpatch' {
|
||||
# TODO: send out for review (after jtolnar's stuff is merged)
|
||||
# TODO: send out for review (after jtojnar's stuff is merged)
|
||||
# - <https://github.com/NixOS/nixpkgs/pull/306407>
|
||||
title = "ffado: support cross compilation";
|
||||
saneCommit = "001fe13a735cb9c6fad80525531e863f949e1495";
|
||||
hash = "sha256-rVsFR8vRTHqFJgDQFHI/E0LtllqKr79FyR92HPeLUb8=";
|
||||
@@ -80,8 +80,8 @@ in [
|
||||
hash = "sha256-IW+0u5lytIPU3xhgGtYgexXUrS2VFXAV6GC50jJS5ak=";
|
||||
})
|
||||
|
||||
# 2024/02/25: still outstanding
|
||||
# (fetchpatch' {
|
||||
# # 2024/06/08: still outstanding
|
||||
# title = "hspell: remove build perl from runtime closure";
|
||||
# prUrl = "https://github.com/NixOS/nixpkgs/pull/263182";
|
||||
# hash = "sha256-Wau+PB+EUQDvWX8Kycw1sNrM3GkPVjKSS4niIDI0sjM=";
|
||||
@@ -166,18 +166,6 @@ in [
|
||||
# hash = "sha256-oQEM3EZfAOmfZzDu9faCqyOFZsdHYGn1mVBgkxt68Zg=";
|
||||
# })
|
||||
|
||||
# (fetchpatch {
|
||||
# # stdenv: fix cc for pseudo-crosscompilation
|
||||
# # closed because it breaks pkgsStatic (as of 2023/02/12)
|
||||
# url = "https://github.com/NixOS/nixpkgs/pull/196497.diff";
|
||||
# hash = "sha256-eTwEbVULYjmOW7zUFcTUqvBZqUFjHTKFhvmU2m3XQeo=";
|
||||
# })
|
||||
|
||||
# for raspberry pi: allow building u-boot for rpi 4{,00}
|
||||
# TODO: remove after upstreamed: https://github.com/NixOS/nixpkgs/pull/176018
|
||||
# (it's a dupe of https://github.com/NixOS/nixpkgs/pull/112677 )
|
||||
# ./02-rpi4-uboot.patch
|
||||
|
||||
# (fetchpatch' {
|
||||
# title = "gnustep: remove `rec` to support `overrideScope`";
|
||||
# saneCommit = "69162cbf727264e50fc9d7222a03789d12644705";
|
||||
@@ -206,28 +194,4 @@ in [
|
||||
# saneCommit = "7a4191c570b0e5a1ab257222c26a4a2ecb945037";
|
||||
# hash = "sha256-FiPJhHGqZ8MFwLY+1t6HgbK6ndomFSYUKvApvrikRHE=";
|
||||
# })
|
||||
|
||||
# (fetchpatch' {
|
||||
# # doesn't apply cleanly. use build result in <working/zcash>
|
||||
# title = "zcash: 5.4.2 -> 5.7.0";
|
||||
# prUrl = "https://github.com/NixOS/nixpkgs/pull/229810";
|
||||
# hash = "sha256-ProoPJ10rUtOZh2PzpegviG6Ip1zSuWC92BpP+ux9ZQ=";
|
||||
# })
|
||||
# (fetchpatch' {
|
||||
# # disabled, at least until the PR is updated to use `pkg-config` instead of `pkgconfig`.
|
||||
# # the latter is an alias, which breaks nix-index
|
||||
# title = "phog: init at 0.1.3";
|
||||
# prUrl = "https://github.com/NixOS/nixpkgs/pull/251249";
|
||||
# hash = "sha256-e38Z7sO7xDQHzE9UOfbptc6vJuONE5eP9JFp2Nzx53E=";
|
||||
# })
|
||||
|
||||
# fix qt6.qtbase and qt6.qtModule to cross-compile.
|
||||
# unfortunately there's some tangle that makes that difficult to do via the normal `override` facilities
|
||||
# ./2023-03-03-qtbase-cross-compile.patch
|
||||
|
||||
# qt6 qtwebengine: specify `python` as buildPackages
|
||||
# ./2023-06-02-qt6-qtwebengine-cross.patch
|
||||
|
||||
# Jellyfin: don't build via `libsForQt5.callPackage`
|
||||
# ./2023-06-06-jellyfin-no-libsForQt5-callPackage.patch
|
||||
]
|
@@ -1,3 +1,8 @@
|
||||
# NixOS backgrounds:
|
||||
# - <https://github.com/NixOS/nixos-artwork>
|
||||
# - <https://github.com/NixOS/nixos-artwork/issues/50> (colorful; unmerged)
|
||||
# - <https://github.com/NixOS/nixos-artwork/pull/60/files> (desktop-oriented; clean; unmerged)
|
||||
# - <https://itsfoss.com/content/images/2023/04/nixos-tutorials.png>
|
||||
{ stdenv
|
||||
, inkscape
|
||||
}:
|
||||
|
26
pkgs/additional/sane-kernel-tools/default.nix
Normal file
26
pkgs/additional/sane-kernel-tools/default.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ lib
|
||||
, newScope
|
||||
}:
|
||||
lib.makeScope newScope (self: with self; {
|
||||
parseDefconfigLine = line: let
|
||||
pieces = lib.splitString "=" line;
|
||||
in
|
||||
if lib.hasPrefix "#" (lib.head pieces) then [
|
||||
# this line is a comment.
|
||||
# N.B.: this could be like `# CONFIG_FOO is not set`, which i might want to report as `n`
|
||||
] else if lib.length pieces == 1 then [
|
||||
# no equals sign: this is probably a blank line
|
||||
] else [{
|
||||
name = lib.head pieces;
|
||||
# nixpkgs kernel config is some real fucking bullshit: it wants a plain string here instead of the structured config it demands eeeeeeverywhere else.
|
||||
value = lib.concatStringsSep "=" (lib.tail pieces);
|
||||
}]
|
||||
;
|
||||
# parseDefconfig: given the entire text of a defconfig file
|
||||
# parse it into an attrset usable by the nixpkgs kernel config tools.
|
||||
parseDefconfig = wholeStr: let
|
||||
lines = lib.splitString "\n" wholeStr;
|
||||
parsedItems = lib.concatMap parseDefconfigLine lines;
|
||||
in
|
||||
lib.listToAttrs parsedItems;
|
||||
})
|
@@ -118,7 +118,7 @@
|
||||
, yarn
|
||||
}:
|
||||
let
|
||||
version = "7.8.0";
|
||||
version = "7.11.1";
|
||||
|
||||
ringrtcPrebuild = fetchurl {
|
||||
# version is found in signal-desktop's package.json as "@signalapp/ringrtc"
|
||||
@@ -165,11 +165,11 @@ let
|
||||
repo = "Signal-Desktop";
|
||||
leaveDotGit = true; # signal calculates the release date via `git`
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CBcLk54cu4PGGZbQsPeYjjWnRFmFPxM9+mxLdQKCPP0=";
|
||||
hash = "sha256-A+VcVo+avtIg7IbO1NWaG2nitnFG5mRfB55wgSiDsbA=";
|
||||
};
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
hash = "sha256-ImkJyphN0YfXOUuU14HII/3798kbQ4iwgXr600k4PHU=";
|
||||
hash = "sha256-q9kBoGXti37sgNhhYTqw+w8NHO35zp+v77mxKQTqv7g=";
|
||||
};
|
||||
|
||||
nodejs' = mkNodeJs pkgs;
|
||||
@@ -400,8 +400,8 @@ stdenv.mkDerivation rec {
|
||||
passthru = {
|
||||
# inherit bettersqlitePatch signal-fts5-extension;
|
||||
updateScript = gitUpdater {
|
||||
# TODO: prevent update to betas
|
||||
rev-prefix = "v";
|
||||
ignoredVersions = "beta";
|
||||
};
|
||||
nodejs = nodejs';
|
||||
buildYarn = buildYarn;
|
||||
|
36
pkgs/additional/sops-nix/default.nix
Normal file
36
pkgs/additional/sops-nix/default.nix
Normal file
@@ -0,0 +1,36 @@
|
||||
{ pkgs
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
}:
|
||||
let
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mic92";
|
||||
repo = "sops-nix";
|
||||
rev = "d4555e80d80d2fa77f0a44201ca299f9602492a0";
|
||||
hash = "sha256-8Q6mKSsto8gaGczXd4G0lvawdAYLa5Dlh3/g4hl5CaM=";
|
||||
};
|
||||
flake = import "${src}/flake.nix";
|
||||
evaluated = flake.outputs {
|
||||
self = evaluated;
|
||||
nixpkgs = pkgs;
|
||||
nixpkgs-stable = pkgs; #< shameless lie :)
|
||||
};
|
||||
overlay = evaluated.overlays.default;
|
||||
final = pkgs.appendOverlays [ overlay ];
|
||||
in src.overrideAttrs (base: {
|
||||
# attributes required by update scripts
|
||||
pname = "sops-nix";
|
||||
# nix-update-script insists on this weird `assets-` version format
|
||||
version = "assets-unstable-2024-06-03";
|
||||
src = src;
|
||||
|
||||
passthru = base.passthru
|
||||
// (overlay final pkgs)
|
||||
// { inherit (evaluated) nixosModules; }
|
||||
// {
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [ "--version" "branch" ];
|
||||
};
|
||||
}
|
||||
;
|
||||
})
|
@@ -3,49 +3,47 @@
|
||||
, gtk4-layer-shell
|
||||
, gtkmm4
|
||||
, pkg-config
|
||||
, pulseaudio
|
||||
, nix-update-script
|
||||
, wireplumber
|
||||
, wrapGAppsHook4
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation {
|
||||
pname = "sysvol";
|
||||
version = "0-unstable-2024-04-11";
|
||||
version = "0-unstable-2024-06-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AmirDahan";
|
||||
owner = "System64fumo";
|
||||
repo = "sysvol";
|
||||
rev = "a26809de285ee194436bc55ef701476765c5b15e";
|
||||
hash = "sha256-WiFm5SRQV2up9EBCR9oF0p9F+DQHDQZhxsaUuvpbMw8=";
|
||||
rev = "56d7dcda4b246e71b2c6d29cbb2315bddf446032";
|
||||
hash = "sha256-WOcy2R0El1vl57Zimb7Hoh9XYTnH/zJS1n+gcaTU4V8=";
|
||||
};
|
||||
postPatch = let
|
||||
# i don't know how else to escape this
|
||||
var = v: lib.concatStrings [ "$" "{" v "}" ];
|
||||
in ''
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace-fail 'pkg-config' '${var "PKG_CONFIG"}' \
|
||||
--replace-fail 'g++' '${var "CXX"}' \
|
||||
--replace-fail 'strip sysvol' ""
|
||||
--replace-fail 'pkg-config' ''${PKG_CONFIG}
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook4 #< to plumb `GDK_PIXBUF_MODULE_FILE` through, and get not-blurry icons
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4-layer-shell
|
||||
gtkmm4
|
||||
pulseaudio
|
||||
wireplumber
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install -m755 sysvol $out/bin/sysvol
|
||||
'';
|
||||
makeFlags = [ "DESTDIR=${placeholder "out"}" ];
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [ "--version" "branch" ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A basic GTK4 volume indicator";
|
||||
inherit (finalAttrs.src.meta) homepage;
|
||||
homepage = "https://github.com/System64fumo/sysvol";
|
||||
mainProgram = "sysvol";
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ colinsane ];
|
||||
};
|
||||
})
|
||||
}
|
||||
|
@@ -5,12 +5,12 @@
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "uassets";
|
||||
version = "0-unstable-2024-05-27";
|
||||
version = "0-unstable-2024-06-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "uBlockOrigin";
|
||||
repo = "uAssets";
|
||||
rev = "deb1f47b49461e1c2f307931fc6a02c76137168b";
|
||||
hash = "sha256-IhzNUSkGnGuY9YBq9rN7l2rwxHzRMQTp3aPJ6xF46lU=";
|
||||
rev = "e79260cc653865b9b562e1153d0b7c5e2b93a0a9";
|
||||
hash = "sha256-2qnrB+GV5LXlA5TgstbOc/YRewuExYtAQakfrE1XuuQ=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
12
pkgs/additional/uninsane-dot-org/default.nix
Normal file
12
pkgs/additional/uninsane-dot-org/default.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ callPackage
|
||||
, fetchFromGitea
|
||||
}:
|
||||
let
|
||||
src = fetchFromGitea {
|
||||
domain = "git.uninsane.org";
|
||||
owner = "colin";
|
||||
repo = "uninsane";
|
||||
rev = "e6f88f563bdd1700c04018951de4f69862646dd1";
|
||||
hash = "sha256-h1EdA/h74zgNPNEYbH+0mgOMlJgLVcxuZ8/ewsZlgEc=";
|
||||
};
|
||||
in callPackage "${src}/default.nix" { }
|
@@ -5,7 +5,7 @@
|
||||
# using the correct invocation is critical if any packages mentioned here are
|
||||
# additionally patched elsewhere
|
||||
#
|
||||
{ pkgs ? import <nixpkgs> {}, final ? null }:
|
||||
{ pkgs ? import ./additional/nixpkgs { }, final ? null }:
|
||||
let
|
||||
lib = pkgs.lib;
|
||||
unpatched = pkgs;
|
||||
@@ -28,7 +28,6 @@ let
|
||||
chatty-latest = callPackage ./additional/chatty-latest { };
|
||||
codemadness-frontends = callPackage ./additional/codemadness-frontends { };
|
||||
codemadness-frontends_0_6 = codemadness-frontends.v0_6;
|
||||
delfin = callPackage ./additional/delfin { };
|
||||
eg25-control = callPackage ./additional/eg25-control { };
|
||||
eg25-manager = callPackage ./additional/eg25-manager { };
|
||||
feeds = lib.recurseIntoAttrs (callPackage ./additional/feeds { });
|
||||
@@ -52,16 +51,26 @@ let
|
||||
libdng = callPackage ./additional/libdng { };
|
||||
libmegapixels = callPackage ./additional/libmegapixels { };
|
||||
lightdm-mobile-greeter = callPackage ./additional/lightdm-mobile-greeter { };
|
||||
linux-exynos5-mainline = callPackage ./additional/linux-exynos5-mainline { };
|
||||
linux-firmware-megous = callPackage ./additional/linux-firmware-megous { };
|
||||
# XXX: eval error: need to port past linux_6_4
|
||||
# linux-manjaro = callPackage ./additional/linux-manjaro { };
|
||||
linux-megous = callPackage ./additional/linux-megous { };
|
||||
linux-postmarketos = callPackage ./additional/linux-postmarketos { };
|
||||
linux-postmarketos-allwinner = callPackage ./additional/linux-postmarketos-allwinner { };
|
||||
linux-postmarketos-exynos5 = callPackage ./additional/linux-postmarketos-exynos5 { };
|
||||
mcg = callPackage ./additional/mcg { };
|
||||
megapixels-next = callPackage ./additional/megapixels-next { };
|
||||
mobile-nixos = callPackage ./additional/mobile-nixos { };
|
||||
modemmanager-split = callPackage ./additional/modemmanager-split { };
|
||||
mx-sanebot = callPackage ./additional/mx-sanebot { };
|
||||
networkmanager-split = callPackage ./additional/networkmanager-split { };
|
||||
nixpkgs = callPackage ./additional/nixpkgs {
|
||||
localSystem = stdenv.buildPlatform.system;
|
||||
system = stdenv.hostPlatform.system;
|
||||
};
|
||||
nixpkgs-staging = nixpkgs.override { variant = "staging"; };
|
||||
nixpkgs-next = nixpkgs.override { variant = "staging-next"; };
|
||||
nixpkgs-wayland = callPackage ./additional/nixpkgs-wayland { };
|
||||
peerswap = callPackage ./additional/peerswap { };
|
||||
phog = callPackage ./additional/phog { };
|
||||
pipeline = callPackage ./additional/pipeline { };
|
||||
@@ -70,6 +79,7 @@ let
|
||||
sane-backgrounds = callPackage ./additional/sane-backgrounds { };
|
||||
sane-cast = callPackage ./additional/sane-cast { };
|
||||
sane-die-with-parent = callPackage ./additional/sane-die-with-parent { };
|
||||
sane-kernel-tools = lib.recurseIntoAttrs (callPackage ./additional/sane-kernel-tools { });
|
||||
sane-open = callPackage ./additional/sane-open { };
|
||||
sane-screenshot = callPackage ./additional/sane-screenshot { };
|
||||
sane-scripts = lib.recurseIntoAttrs (callPackage ./additional/sane-scripts { });
|
||||
@@ -77,6 +87,7 @@ let
|
||||
sanebox = callPackage ./additional/sanebox { };
|
||||
schlock = callPackage ./additional/schlock { };
|
||||
signal-desktop-from-src = callPackage ./additional/signal-desktop-from-src { };
|
||||
sops-nix = callPackage ./additional/sops-nix { };
|
||||
static-nix-shell = callPackage ./additional/static-nix-shell { };
|
||||
sublime-music-mobile = callPackage ./additional/sublime-music-mobile { };
|
||||
swaylock-mobile = callPackage ./additional/swaylock-mobile { };
|
||||
@@ -89,6 +100,7 @@ let
|
||||
tree-sitter-nix-shell = callPackage ./additional/tree-sitter-nix-shell { };
|
||||
trivial-builders = lib.recurseIntoAttrs (callPackage ./additional/trivial-builders { });
|
||||
uassets = callPackage ./additional/uassets { };
|
||||
uninsane-dot-org = callPackage ./additional/uninsane-dot-org { };
|
||||
wvkbd-mk = callPackage ./additional/wvkbd-mk { };
|
||||
inherit (trivial-builders)
|
||||
copyIntoOwnPackage
|
||||
|
@@ -1,5 +1,6 @@
|
||||
{ callPackage, pkgs }:
|
||||
{
|
||||
depthcharge-tools = callPackage ./depthcharge-tools { };
|
||||
feedsearch-crawler = callPackage ./feedsearch-crawler { };
|
||||
pa-dlna = callPackage ./pa-dlna { };
|
||||
pyln-bolt7 = callPackage ./pyln-bolt7 { };
|
||||
|
30
pkgs/python-packages/depthcharge-tools/default.nix
Normal file
30
pkgs/python-packages/depthcharge-tools/default.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, setuptools
|
||||
}: buildPythonPackage rec {
|
||||
pname = "depthcharge-tools";
|
||||
version = "0.6.2";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alpernebbi";
|
||||
repo = "depthcharge-tools";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3xPRNDUXLOwYy8quMfYSiBfzQl4peauTloqtZBGbvlw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
setuptools #< needs `pkg_resources` at runtime
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"depthcharge_tools"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/alpernebbi/depthcharge-tools";
|
||||
description = "Tools to manage the Chrome OS bootloader";
|
||||
maintainers = with maintainers; [ colinsane ];
|
||||
};
|
||||
}
|
@@ -1,14 +1,68 @@
|
||||
#!/bin/sh
|
||||
|
||||
showHelp() {
|
||||
echo "update: updates flake inputs"
|
||||
echo "usage: update [flags] [input [input ...]]"
|
||||
echo ""
|
||||
echo "flags:"
|
||||
echo " --help"
|
||||
echo " --dry-run"
|
||||
echo "inputs:"
|
||||
echo " all: update every input"
|
||||
echo " safe: update inputs which rarely break the build, or are trivial to patch"
|
||||
echo " unsafe: update inputs which may be annoying to patch if they break the build"
|
||||
echo " nixpkgs"
|
||||
echo " next"
|
||||
}
|
||||
|
||||
inputs=()
|
||||
dryRun=
|
||||
|
||||
parseArgs() {
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
(--help)
|
||||
showHelp
|
||||
exit 1
|
||||
;;
|
||||
(--dry-run)
|
||||
dryRun=1
|
||||
;;
|
||||
(*)
|
||||
addInputs "$arg"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
# if no inputs were specified, assume "all"
|
||||
if [ ${#inputs} -eq 0 ]; then
|
||||
addInputs all
|
||||
fi
|
||||
}
|
||||
|
||||
# add $1 to `inputs` array, after parsing it
|
||||
addInputs() {
|
||||
case $1 in
|
||||
(all)
|
||||
addInputs safe
|
||||
addInputs unsafe
|
||||
;;
|
||||
(next)
|
||||
addInputs nixpkgs-next-unpatched
|
||||
addInputs nixpkgs-staging-unpatched
|
||||
;;
|
||||
(safe)
|
||||
inputs+=(uninsane-dot-org nixpkgs-unpatched nixpkgs-next-unpatched sops-nix)
|
||||
addInputs next
|
||||
addInputs nixpkgs-unpatched
|
||||
addInputs sops-nix
|
||||
addInputs uninsane-dot-org
|
||||
;;
|
||||
(unsafe)
|
||||
# these tend to break more frequently
|
||||
inputs+=(mobile-nixos nixpkgs-wayland)
|
||||
addInputs mobile-nixos
|
||||
addInputs nixpkgs-wayland
|
||||
;;
|
||||
(mobile-nixos|nixpkgs-next-unpatched|nixpkgs-staging-unpatched|nixpkgs-unpatched|nixpkgs-wayland|sops-nix|uninsane-dot-org)
|
||||
inputs+=("$1")
|
||||
;;
|
||||
(*)
|
||||
echo "unknown input '$1'"
|
||||
@@ -17,19 +71,21 @@ addInputs() {
|
||||
esac
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
(all|"")
|
||||
addInputs "safe"
|
||||
addInputs "unsafe"
|
||||
;;
|
||||
(*)
|
||||
addInputs "$1"
|
||||
;;
|
||||
esac
|
||||
# exec $@, unless we're in a dry-run in which case just print what would be done
|
||||
doEffect() {
|
||||
if [ -n "$dryRun" ]; then
|
||||
echo "dry-run: $*"
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
|
||||
parseArgs "$@"
|
||||
|
||||
echo "updating:" "${inputs[@]}"
|
||||
nixFlags=()
|
||||
for i in "${inputs[@]}"; do
|
||||
nixFlags+=("--update-input" "$i")
|
||||
done
|
||||
nix flake lock "${nixFlags[@]}"
|
||||
|
||||
doEffect nix flake lock "${nixFlags[@]}"
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDdDR3YitDWkxvVFpOWTFS\nQXNrbHZHSzZzanpnR1Z0bE82aFpiUmNMR3djCitYT0J4K0daZmlXTzhJbWR3K0tY\nZFA0QS9rdXV5bVVXRXVuUStVd3RMeUEKLS0tIExicUdTcEFMZHZEOEFmdkV1T0tE\nc01seHdzS3RyMjc4dXF0ME1seEUzUFUKvctFuHiqCIBYGqIKQhMO7imfylxlKXBY\nezzfi0MMlfoSMmz8XqkCYT1kdgYVM1cCOwtBBmTzE2muhWK7o0zPCQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnTVJOMHVUZkFydmp3elo5\nRHlETmJUZFhpbVhpOUJPRzFXMVdGOWR6d0ZNClkrdWJBMkQ3ZHNkMWlQZDlVMWxk\nVXFrT2h6R24ya0F6VFRMTDNXaHkwZk0KLS0tIElmdTU0TC9QSzZXb3Y5ZUpLenl3\nN0gwbWVuMnQ3bGpqeU94V3kzVlFyT1EKJqdCjXhQchEXOB02EwtqmNE0TWiaR7Hz\nT8FKJXMM+2ZX7kuhv0rp7bdS+mp5Guv2vO0aIF0rDmE1/7ety2OLfQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxWnhldzk0UFdIcU03UUtE\nZ0VRVzBBRHp2cFA5Q2RjbU9kT3V4eHR1SFE0CkJRSndMZ3JOVjFRVytXSXBIbEk1\nKzBUR2pZWTVXTTRhQ2J5VlR0ejRpa00KLS0tIDZveWl3dUJZL0tIVUhKTDJPalBF\nVFVWcDBDdUt4ZlBZejQ4MGNJTGNzSGcKM9jHMEkRCmil2GO4DRVJMdPd4wikyNyP\nbI86+Z7llsMSWZdl+M/ZcTuJSq9Lh69hVNzKObuuW2GgApwoju9Lsg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBadnFScW1Zb0FKU1ErTXBM\nS01mMzNqZ3lRdDBQMHg4OFM4c1A4MEFPb1FNCktseFpzVVQ0SzZ4ZHVncm0rZkwv\nVnIwbkV5OW1TbGEveHlqenFSblRRblUKLS0tIGw2V3lYeHR6MnFQUjFqVzBKRE1P\nQ0pqVHNNekJzdWxFckdwUDBOQkt0UUUKN4/UFM2Po0yoQQNuhjh7E+kHUMqeyj3M\nxnH4ZEq4DK1VG2E816dKrsPjo6Zy4/FA6WEezPRkQ/l3j/OmtlzpHQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5NUJpc2hpY0Vwb09GbHUv\nRWRjbjRHS2xxWWNhN3BlbHlOcUgranYxZG5jCnhQOWdBM1dKdGNTL2ZuamxjSlNS\nU2VCYTZQZVJTOE1sWEYvV0cyZUlNMmcKLS0tIHk0WXNyZHIxaHJ1Wm1xVk5ZZ1lj\nL1JnTjZrK3JjK25FdEFEdzlvTURrV0UKL0HMaRQBg4KJTW+pb8RWe6iZVMJhtwrI\naH83tABhElaf1JKx8YiCG9+RHkis35nzxqSoJDN0bN5jRgVVG6C1iw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKYVh3dUZ4RFA5TmErc0Ry\nL0NGR1o2L3ZzZDhHcnFTM3dwYVl0UTFyakJZCmhxVGNTWFRRWDhQODd5c25rdGN2\nOTk4M0Q3VHp6TVQxRitkOTVZcllPTTAKLS0tIDY5MGhyZ2xqZ1B6ZDZVOGdVNkhI\nSHhSQjdFbHpXSzVQN3g0bmZLS3BQUVUKvofjws2goszgGwS9l/q6EB7C4IprEkv3\nTnAvPF67F7sneWA5nEW/VnToJWKfdGuOHKim8BEiqfPB1CC9dMke9A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxbGt3d0k1SlZCemd2V01z\nd2R2NVAxZVlJdWpkVVh3bXBUcTZ0T05kTmtFCkQzWFVqd2pQelAzNGE5MnFSeVQr\nbjRjaUJKVVN6aGlQSWdTUGdHRjR1QWcKLS0tIGdrTTF6eUl6UHFlaTlQMENiMzFP\nQlJJWlZwMjdvNUdhVnBiRlRKL3hzcXMKNF9IEoY0seK15jiJqxWrOtMSPmBUU0jS\ndSY9KXeYLQNHuCzSC2T01UHmq5FDxDszRH3O8JQ+rBSLxNx3dLpetg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSdDhQbE9mY0Q0T3Y0WDdF\nNk9QbWVCWnNvWVRmNm9EbzBFSkJrd2xiREJzClJoOHYrQ25mVTlWR0tSRlNHQXdO\nRlA2bWZIL3JpSkxQNVc3bWhpbFpuK1EKLS0tIFFEVTRKaWxDU0tuejNLL0JuV1gx\nNHA3MWlOVzJJMDMzVGtubjg0b1h1UG8KVQ/tzduOz0P6pfVSnzBf8Bnd4bXA9sqy\nOWlSeB9HmFbHkqJx825r4lmbwozOqLHMMSc7c7HUPDsX7PUs7lzAJA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHd2hBcTBubGRXeWlWekRi\nTU52OE1pVVdWRU1ENkdJZ3dWWlFCNitYSlVrCnJXdGtnZUtyLzhrZ3FTRzdOMHhM\nL21iMzVpb1ZjR3FoRkUwT3A4c1VHczQKLS0tIFh0c25YSXNmcDBsZnlJNmVJbklp\ndDBhckVOakp1WFp1bGZ5QTl1WDZ6WVEKy0UHGQWGgPZ5sO3XsdMEqkFAz4Pl1pHq\nBRnpnl2oJ2SnwzkaS0Z/Ul+a456yPXHVFQbc3chYYwHlnD6cxt6EZQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCMEdCbHhFNWNuODRSNDU2\na0FzK09MME8rUWw0QnhpNG9NK0twNVp5RWcwCnBxZXJrZCtMRkFSR0lnRzl0TC9s\nUkpoQjFiU2t4djJNamt4NzQweUdOR1UKLS0tIFNoQTB4ODM1RTkrdGJxaCtSOG1D\nbFNUWktMRWZueWpDc2dkL2I0OTA3V0kKhWPOoRDueGpQntCeofze8yKgMtXH7Hn9\n04tlU0BFAWML7Rv2n9OeHAFcPe+n1DBoIZDF6U7ChItomIVmsYQZcg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3c0MrdWpneUNSMVlSWE96\nYlFJNjZpMkxTOFVuR1Z1d1BrQVlBN0piTUJJCjJkOXNjSm5meG10RENCUXRtMDRs\nZ3I2Q0lqZUo4TTY5Vi9sMEFxYmpRQncKLS0tIHJhSkV5dGZGamppUkFPcFFiK09z\nYXNGanF5SlN1bHNoeFhqQ3F6K01nUHcKeA4FMD01eAJ2jqkzwuOD5ZZIuooa8yPg\nGIboavpLao2xumV/3P7JCKrF8RTX+5YigaC2ZqrHR3Fgg/sCujAHBg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2cFRvc3BVOVFwb3QyaFBs\ndURLUlFWRGhqV2lpRkRrdDA3dFQ5c2V3aEhvCno2QmFDWEt1SGVRTGtkWnhHRUJn\nWTNmVlh4Tm8wZUpYSG11czBxS0hIRmMKLS0tIGZmd2NHWlhmTTVhSVVmS25XL1dp\naFVsQmJPdTF4K1g2WnBCKzJ4aDg4R3cK27ztxAUVvTFhaKvO4RorZaHNFtJ3LPv4\nFzpsko2dXTaksBHukBLsESCF89NlvxIJosgOMSqJzHwhODUeBPYwIQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWbmsxNmt6NTRHYXQzazdM\naWNScVNOZEo5eDJvclhsSno4aFNDakdoa0hrCjNpb0xKMWxuZWRUVW00clIvK1pJ\ncnVqQWQ0cVh6aDBHWU9pZGEvdHRNbG8KLS0tIFlNbjdPc2NpMzM3NjUzUWFsMkRV\nTzZHbnY0MExiTUJPd1U3N1lHK0tYU2sKOo5f+aJ9b9JVCWcSug+u9phwh2B4tk0v\nGslRh0FffQyfhDCPbe8RZTGZXatw9gxM8Sbl/CVWaUR2ULD4iYJKKQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4SXZDNFgzL1VBMFRlWlhx\nY21SYyt6aVdSdW41a0RYU3dIOXM4OThPMXlVCjllbk1VbVNpRmc0QkZwMGtmZERR\nMitjWjI0bkQ3ZlVLcWhjaE95Y3lFdnMKLS0tIGxYTnlEclhkc3dub2kvalVyUHZC\nak5IVTdaTjI5NHU2VHVWSWw3K004OG8KK2E91q5yKGXCqtjC49f7snkvZtfSRQhM\nh7d7ZcudW4OzrFaPFzmoj9OdD1kBMHR5QQQHu/aCV+ObFrp+by0utw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzMk54cU5sY0h3Y1dLS1pT\nSXgweTJMNmxtRXp2MlpwejFEYWEwZThjVVJvClQvUXVBLzdLUWNTWENlT3lQeGNx\nZWJWbk9BRmx6RTlVVjlxSGpKM3V3M1EKLS0tIExCbjlqR2xiYnVxbW1xMmxJWEZ0\nRjNrSkROd3JmUXpwM01hYlRTTEkxWUEKj+g43whHMLHcRuSAonSs8PnyHxzFi/7z\nOtYmmewimxLhRVowYWXxM7owm7ZxGqWw3jzdp+Xwl2FVIL8nxPgyrQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWU0xDUFRJZXVocGwreEVo\nSVFqRWpLSktBaFpoTXYvMTNYMHEzZjRraTI0CmoyN2pHL003TnBUdnFpSE1NdnJZ\nd0k3Q1ZvaXk3aWZtNEo2dWpTU1N5Y1EKLS0tIHdRNklxOWI4YytWcC9NSVVxTkhn\nTnZ5SzZaMnV5Rms5Q2NrZFkrSGRtT1UK/yBKQzkC+HQveQJtAJ+qulDCxjEhwJ1/\nSqEojNY/OV8q7YSR+PNJBsllQYS64z72hCyPpkQ67v5C2Xk5LCd+PQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0Z3dkRGZFczZubFpGU2M0\nUkN4TDh1VGdiM3h2MWRLcEdBbHRtUWcya2dJCjQ5c20wc1hxMGlSVGVDMWVBWTU0\nRERVUjVReFRTSDRJWjhzMW9nRmpsbE0KLS0tIFM0bGd3eHlqb3VRV0dhRGlHR0Fx\nMG9wWmtOOVlYMHg4dXhqVEljRTV0ZVkKNkuFVZ9yWgXy69yxGBJ9R4x2x762HbFg\njWrNW5HtDYyB8Q1vHVPaeG7beIbF6KbvK1/HfD0GVoQFkCk/XWjlfQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-06-30T11:08:58Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhRW1DZmVTVCs0Ym9vLytG\nUm1DWGZHaUhsZkNSTW9RWURDWmxhRFY4QkRZCkMvbExwWGplTFFnQUdDdG5RdFhY\nYWNEM1cxR0hIQS90dS9nVE1rMmhSdDAKLS0tIDFjcEVTZ3pQc2pwVU5yeEJDQjFl\nUmFLZGlQN29saTlramcxejFaWDcyamsKX3GnzkjF3Yqc3T2g0sw+8d0MHUCUDaGg\nG/HBpGBS2ESTH+jAVxv5PFbnS5VFpf4nlPxhUzdE3j7KTikvmAJoAA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVGtlZFE4clZJdVFyczlY\ndjh3Y0pEeEdNaGpsTlpNQUloSGdqb1BQQ1RjCm1ScVNyZElOMG1iYjNRWmlZczFM\nR2RDMTN1aDgvZTlhSmZPQWFpWTFWeU0KLS0tIFpENEtobFZ0cFRURFZ5MjJ5THNj\nMGFDeGM0RmNxSXoxOVJBTmxwUzVYUzQK4Kc5JyoDCN0/rVEjg39QdHSivd2gpxdV\nXbn/KCXVTox05VnKpqflucWuegpSXgGYuvJ7DucljvgItVXyxEa28g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6eWhOc0xNTDY4YUdyYmcv\nQWQ4WEFFcVpmZEhNbGthRVlVcVM1RzQraFZvCmN5L00zTTV2MXFTcWxaWC8ydytu\nQ0NTbDVsRXBaWTVMSzI2VTFCWGFxZFUKLS0tIFoxSTUvREVreEo5dmdmYmExSDB1\nckp5ZnUrOGZxSjB0SHFMaTB2VFFEUVEKqn/1aXfZ/WHtDDVOmGjOT/PUas+5eZ/S\n+QY0qc6mjeJ8yn8ULOmm9M1E4zk5dJGiOIHzJ/rSFZDO0ayR0tcbwg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhY1R6SGU4ZTNFaWlkWkZ5\nSUdFVHV2RlFYR0c4RSs5VldLSW1TK0ZaV2pVClNDeEZScUlnSVN6QlBMOXBCSEFH\nZmFNVHdNSWNYam03MHdYUjI2eUxSTG8KLS0tIFlhN1Z2ZitFeU5Md1pwTTA5NjIz\nWmJYMThYMGVIaENBeGhYWkd1WWNxWmcKQNtQgvPWYhm03zkE+uFNbzXXIN+8C4nz\nZiZlTVWV+I4FcnGwo0J80ZtaHrNxCBfRVgJmXYc5W0aXK3z9Pja6jg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiay9zZ3lCYk9oOVk1bzVi\naEhCeU9WOHFMdE5xb0RxeEhoTEpPT3B4em5RClhrWjN3YXRsd1E4WTVVc2RPMzJ1\nai94Y0RsUUxOSTlCTSs0SXdTL3ROVGMKLS0tIHBIcXFGc2h4WmtPZGxNM1hQamFt\nM1I3U1cySWtGK29BS0lXZ3paRXhVVFUKf/blwoKGYVgb1YbvDU8/gZbcQJaArKTw\n6oFb7R4bVAkmTtTuSEjRylGomu4tde562zuT3IiZ/ReNnNdcQOSi2g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOQ2JOajJ4K29xeE0xelgv\nQUdGVHhydjA0dXN3RGZDNzIyUXVMS20yeUNrClpRWUt2VHRodjNIdkVrWkJpWEhE\ndW9XV2FvYVY0MFhFWGVpbDRDTmNKeU0KLS0tIFhCREJSRFBoYlVGZFVocnpIYTl5\nYVhuVldtaXpsOUFrWDN4eHZ1eEN2U0UK1EP1VbD7bwAirOrmBZ5zAzkJYLx1ZEKF\nX7kfjcuWUMDGYx9ed0/tfJqAi0BVBi78MRlKHRs6D+s9gQbKVe5klQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSaVpFTHVlTjJYdEJVVVp0\ndTZobFc2dlorTUx5STd4c3k3K2VzTTVSMlVjCnBtaDdaMjAzOUQ1ejlUMGFmQjJO\nM1hPSXJMa0NmYmgza0lYeWRkaHc1VWMKLS0tIFZJTTM1TFRSZU5GejlRSTQxMlVW\nMXJ3VTNzUjJET1dpaEg5emk0T0xrbEUKBBYPgzSCKXU9jMD9Sc5YRNqBxoxN340R\njf4sBD2LWTofriB1E+ltrd82o0Gz3+JH21/+0cEI0MTD8H5o1r6Sqg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwcmsxRjZyK2JEK3dTb3p3\nejVQWkVIWnV5MTBGYnlxazZ0UDBSaUcyelNFCjhCNWxMOTl0a3BWMUJhNXNWL2Z5\nbHBNU29ySmJpWk1ReU9uS2xhLzRZTWcKLS0tIGwzWTdEVE1sSTd1Z1ZUcDVpZnR6\nbTdEcHJaSTFsZGdWK2NOT201amlWMDgKhPa8GRkNpyf7DJ7FWMYt1Jgffe3mtPNi\n7emn/1gCCtaoYwyLmoG3K+QNH0QuF4uK2dkOFZOhASt38BVH4iyyvw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxN2RtQ2ZqMzA4alpmRGtl\nTERGL1FzdmNmUERNeGlOczAwZ2hXb3piYTBRCktVa2JudlNUOE15aksvb0hDS0tI\nQzFzSXUxdTZ2LzZtOEhNOFlIV25FSTAKLS0tIGJ6ZTRtaGpKVzcwR1c0ekhPNkRQ\nanVKSnUza0R3MUdySW5sdExJZ1lCdmcKqp8hsFxhTjs27PLyuHYb3WV34yF3KUJd\nWaeKyUEDkbDwcjykJHz0O3D27YsSIRg5iBR7qVDN5jxxuuZcnO6Nkw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMOVR3S1pDZzlmZVJibENs\nU0k0M1NEQWRacW1oOXY3eVREWE5LVkNaN0NVCk9DNE5CVnpvcGFGSWxZOUFCQ1hn\nS1BQdXBVWm9ta1pMWFZlMm43Zm44WGMKLS0tIDViYmdYWENhc3Y1eDdXYXFDWUR1\na1dBQWtHRTJRTjFySytzSHliaGJ0MlEKKN+Nrqi2NHhV9debUfIIbgYo0eClSUkY\nb24VJc1vj9WBHu6xP0fOfhDaue5oOk0g+7w1RQE7yI5lYBR7DQyxJA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTdWZtN0Fvd1NzQmpSSjBZ\naUZQd003bm1OdWtjRHI2eU0vWW8xUTlPVDFVCm4wekNyUndJZE1IcG5XUnZKNlhG\nRzYwUGVHZlgrdkl2cUVSYlBrSXhsbm8KLS0tIFd1ejllaWc1ZUN4U1c4TC9Da3ha\nYzN5VzdBRlRTN29IUzJsbXFOU0VvVTgK2xxoAvCtV1Px8m6pgLoJjmYsqg49rtS5\nKnt+SFcpXY2uMMNwTEk0aaK+yDqlwlIL8rDhWBPJXwa9c9DxywytIA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6U1B4aHRyem9INTIzU3py\nby9OS1AxYkRlbVlHSTFCVVdRU21INGdVclY4CllvQVZWTVVPajUrSDBFaFdPaGFR\naVhRU0xpNExreVFQZUNzVUlyTzdTbU0KLS0tICtCVVBCWndGNTQvSm1naGY2OVZ4\nY3BDMzZuek5XeXIySEI3MEF2eHhNOUkKPVFHVOVyatt141Nb4EMXR7KdrVIIoDNI\njb86cX3Nq4CyrajmnXKJmBbNoSMHdiehUEaFoimMccnTmQhhxtXKVw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFQ1hobEVQdTJOT0dlUXZN\naUwrT2FzUm9SaHcxeTFGODRwWmdNQzNoaTA4CjdZSTd6UHA1RjAzb3FPYTk1cFBz\nZUE4MC9GcFhPQmFLV1JTa3lUb3IyajQKLS0tIEtGT3duRXRYU2swdTVQSEdpMlhO\neWRla3AybzRJeVgrL2tIZU4rZnhUM0EKDwmpESRyY8vZbQ8WexrxYEv9eCf0YqiC\nRqAg6Wmd2xafAtlo0HWZzLtG9wYmHgeeZycYXiY8xWv8ps524AMHvQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtbFNpQy9XWTlJTThOUmFD\nMWYyNEs5ZkVESkp3TFVPOXpIRUJrYTkzRXlvCndzZ1JsOXphZkRSY1BPd3NWdjFB\nY1dzQ3FZVi9rM21QNE9wRnVKdzB0a1EKLS0tIEsycmRiYTJGRFVUNTVoU1N5c0RZ\nTDlKclFZQVkrYXVaWEJtenRXcW5hOEEKFhbLhR2HH5j8iId1PEt2Qr4uLIcSSoiP\nmka7YtK2fe1W9012xKUqKtqZvjtbuFrHb/L7p+UfvCxBXy2c+bXG8w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmSFUwUklRVHUxZFh5RG9o\nWVlUay9RN2FpVDZ3NW1LcVAveDRHWTZiUkFVCnFTanNJTlc5cURaTWlEc3JlUE4w\nbDE4NWVmbGhVc1lkNDMwWUtrSXI0ZHcKLS0tIDN6R1loaTg4M3NZNEkyRW5MUDc2\nald2QWpvMlQxblRpWXdEWTRGNERMb3MKzECmbE1RX92YrvRBfRApiPKtjbj5Z9h5\nYOxmHnb2QWe4p+FiO7qTmNVrTD9OQ/VKt8u1gbclcjT1p0q+xPVM4A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDQW52MVVRell4eWVnMzZt\nenFqbnVtVGpGRlpVR0NnNkVvUk9Ed25qTXpZCjhlaTFzZXlUZHRsS3dHWDNUMUVI\nOVlmbkdiZnN2RnhVY3F2OWRqQUJBQzgKLS0tIHRJMHJ2d3RJV0JUVUdJTmMxYk1U\nTjQrUkZuQ0xVbWQxZm8xMm5RYzB1WGsKovG+0ueoZS0CQbTsC44upsX1tAXBtxn/\nxgdkUe7EiDX5QLq+AldVc0UzvEY5/ROBBf4d2LzSqp3jJPtEJbYc9Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHZjhZSzQzT21GUHlJT0Y0\nTG92dUs4bVphU0VIKzFMYXRoOWdNVzNCMEI0CnJhZ0xzZlNBU3pjTUs5NEQ5M3l0\neGEydllJMDFSYTFwaXhjb2hRZzRrRzQKLS0tIHVTaVJleTlXSFpXd2x5NjhGZUo1\ncVFhMlozNmpnYVd5dGRxQWxhbXBLd2sKg3fhvpfcOkUQIdlNmmqT7zJ+aB86QqqG\n+f2Mo4AtTx+lzf1En9KzeaIIHn4rbNpwsMMzQkTgbooPCe7svntwww==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2022-12-04T10:55:44Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrVGl5WEhVWEtGMjNZSUMx\nMStIUGpaQ2ttdmxjNUtyS1J0bVViY1k3Snk0CkhZMmhMQVQrM0lQL05hcFlTOTdv\ncFU2N01VNmlwWS9Tczd1aVlkUUpRem8KLS0tIDNXQ0xLVmUwYW5Edy8rSW9CaWhW\ndUVYRFdGMjVwV2w0My9PT0NHS1JtakEK/KjEcC0Ubci8hInUqc2G6uFs2hd9TN76\nPgMDTi8Mt1dM1cGNj7uiPeTo8/ft26yuAtikybpLGMdayuEXp6aTPA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBscVFva0cwbjh2QzN2WUNo\ncCs1QXJIWDhyN1NmNVVPU3dyN2kwTVFsMG1FCjMxZHNHTHYyaVQ1a3hkOHQ4ak1p\nUUdQWWhwL1ZodWhmT2FDcy9PbENwTUEKLS0tIGtKb0xaNjJUYm1YWHdiVk1yZEdp\ndHpTMTU1b1UwaklUQXdpZlR6c0dJZjQKmvMqC6v7NjlNijmvg9D4OjbVozPMwPPp\nC/hgv/PDLaH+y8VAd0tJTch6w5B5b6lCbOL1bySIUkqSs9gqRmFkWg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCTkNzYVowcGxwek4rdUow\nc3VYbndpSWVscVdmaXB2VFdVS3JpYWdPbGprCmtiQUJzSStjeTVpdGRodDRjcVlQ\nb2NFczZjUzNxSVd3Y0puYUV5WnM1V28KLS0tIC9HdlgxUVBFZ2hPdlBVcVRha05v\nb05hbmRqV29scGE5bjltVVNHZ2V5UU0KfKu9wvY0EfTxUB8Qiy7jc4eI5zoUBtIT\nDUdb6MO7OUHJxtq5YzVJcPui5krR4ehJI7vB5IRWXxT/Yx+BjUd2qw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIdHBNVE1SUG1MVlBHMW8r\nM21qNTFYcis0TWZuNW1pLzRIMFc5M3JDM1RRCmprbmJVcURzVEpWeWNHMkdGUzUy\nOUpualV5WnpJRWZYdEJkeVlzR1c3clUKLS0tIDZYSzNPTDRsQlVZWEI0SVArbDBF\na3A2TVZDMWRmOFBnOUlNWGxDbmllOW8KqGYOL/mXBMEFepD4qjOMSMPYmUJmLpx4\nAeR9gTeXr4cp0HkEtabo+EHLX2hZt9sg5Y4S1w7nIjy/o7yWzE5o5A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzUEZmNHBmTlUrSVNON0Vx\nU0kwRTNyQTY0UTdjaDVwUjZFSzdPaWgyL2trCkJCZU1MdFlhSndHNjZZb3VBdE9V\na3Iza3FyTUhEcTB3azBURXJKS3dkakkKLS0tIFNMNkZtWXNralFRM1FKVlZuL09p\ncHJGeUJxSXFSMDA4MU1lNU9jWWl4OXcKK71tw9/Xg9uCANFgDQ+kC9sgVP5UEa9S\nqaWPn+VGCMMiGb3TAb9BoRonfmj9eI+NxA/er5jpyT5g2GxKymTN9w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXQktYNmFYQXppRHVsYzE0\nNW9hQlFIMStzZWpYc1lBdUdjQ0VQalVlVldjCmQ5TGpKeTZySkhKZ3IzbTBiSS8x\nWGVoeVpnczVJWmxOZXNlYWR2eXFxTWMKLS0tIHM2OURCQ1FBakY4N0wxTFJyWmIw\nMW95UVpXTzB0TXJxRnQrM3pHWkxsUkkKNushqbOZqHca5f1ZUdf3YAurqeTW8Zgs\nzcmMZ10YQjhyPzH4cN325wG80EP+DX17GDhP5Ke+2ZIUtIlmv8o+tQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwUThqL2k0ZW9maHMzSVhm\nbFBBUEl1Vzh0ZW52S1ZxM1BBTG1ZdUxFQ0ZzClV6aE4zTzlkbW4vMjczMHBJNjRS\nUEs2a21xMndxK1FDMDZqN2xUTHFka0EKLS0tIG5paTZCUmJnN2Z2Y3JncWxPWTli\nSmd3dHZzT3l4MDBIeS9FMC9Bc1F2c0EK4jplLargqOCN5eSpsAqU7zmdEvZzN6Bd\nTLgiuOPwFeQwCJ28lPFXNtPYFQzXhoASatd4Sn/MOKWCQJeVJOhDog==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwTnFIdEQ4SzhEdXdDSmk2\neGtVN1Fhd3pLSGl6ZTJYOE1XTlFuMDExTmhBCmtQdUVNUDUzdzZTS083SFcrR2w2\neHBuMk9KUHZGcGY0WFRRT3pkeXBMMDAKLS0tIHpYdXN4a3FqTm9xVDNCdms3UHR2\ndVNQckw2cjk2dkswcSsrdFdzN09qRUEKOg55hpkIba7uqGBjwsW7ACN4Wxh7V98b\n3x7iR0TujTLDYyNmu2IqWQbKjsDi9U/V4au40luLnWwcQ0qMuy6FNQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvM1hrNGwvZXVFZ1Awd3ZE\nejNkZUN0NmY2THFTRU5CcHI0cVBPTnErR2pjCkg1VGE5M21PSVBIL0h5cmY5ZFRU\nZFdsZllDSFVhZk5VTWRRZW1OOWVqc0kKLS0tIGdiU0ZSQS9Sd3dzMlVGeG05L2VL\ndkhaUmUybHZCTXNnTmFERFlpQncyRDgKqy9AQmZvZ0zf3hgVYYOEE5yM/Xrf1zqv\nV+wdNgPNPyn0DraYKbiFBV2f4J8yk8xLG8II5T08WWlVH1Br3Zb9/w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSb1hNd1k2ZUM3U1REVTlo\ndkhLUG81WGFxQlRVd2cvUU9WVmNSb09Ub1RFCmhINEdhT1I2WS9rUE9CNlppbDRa\nVlgwNzB6RmIra2NRUjU0Ni9abVNSd1kKLS0tIG5pbityUFc2RVJGQTlTend1YTV0\nbStYSWIxSjdGYU0rMHQrTHFkSGNjd2sKBymQa50r5Uo727VI+nM+qc3YAGzM+ZDI\nU6T+MA8L5noCb/ZzKYZFAEN8z8a/xHT7nRiqp8NWQ8OJ0KJDzQvE3w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHOHZZYVJJSzFRbnBSTE5j\nYmxEY3lzK3NYMHVhWkFJN3JGblJXT1diYVRnClJxV01mVWFLOGtCTnJNMDh6c0w0\nd1kzNlQzRmpWZm9ORVlxWVAyU2xNcW8KLS0tIHVZVE5LL1M3OEpWRy9PaUNNVkhP\nMjJyT0doZ1Bkc2NFRThkRUNDZWV0VDAKBES6A/o7BomJ0v+XaeFTahVv7Q6hyTLw\nz0cGUZKfVJKd2lt05Jhd6Z+nfrZbx2FEKGBIGMhaU7gOPyxviGvnaQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxSHJtWVpWVE5mVmZ4RVV0\nS3J6MGhQY3NsYTk2S2FFbGJTQTBjaUlaNWc4CmZRamZmZ2l2OENKZWpOWU1IQXdo\nN29TSVM4dUJXbmZISkVyL0RCTFBrZ1UKLS0tIHY2SDBndG1PRVZqcGxJSjNXUWU5\nL3RyZ0JIblJPS0lmc1pDc2pGK2dTeHMKB1T/43hZDb4lP+seHsKt+aB1TdNyP6FZ\nOt8rezQZqeJ+GnHwV6qsdEtX1DE30niqe3upUS+igkHJ65RGd5TAuQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlb09Da2FmZGVBYVpjY2Rj\nNVBRS3FvV09zUEk4OWludk1vRHMyL051SURVCk9OVXdkMHdjaFN2WVRqTGt2dUdP\ncjhqSFhHcHpXekhMUmF2NlFFeFpCSUEKLS0tIGhNU2FCU0dGSFVpSlhLNXJTNHcz\ndk1ZSGxsYnlZblJTREFnckRFS2tCdjAK2oDI7PpNapR+ko835T2PwJpGTYq9zK7x\nswo56rL8y4rOKkARn5JS5L6/2ltcF91OC4/zMVg8HkEoSjBWmKYeXg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFOU9TWXlCRFh3Sk9aZkF3\nTDVUMWhzQkQ2OW1YbVlQSHUvdHBIWGx1R2tnCi9ubVJyV0lnUHYreDQwNFYxNTM0\nMEk0M1ZRQmliL0ZUVlZlYTM3aG01eXcKLS0tIDZxR3V1ZVpEWHRJajdCcU16NUZS\nNFpGanJxNlpKcm1VS1cxWHNieHVmbTgK0ggrvlCvK+j8F77b4gl1RsWGDfGiFmg/\ns0cMGtIflPT/0D43R/jczrJ/Xp1aBL0TeHyf9YxZu254QeZ5ZPa5kQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBreklVVUkwQ3h5VFpsYjAr\nUTYxZm10a29BcjN6aEtGZHpVS05kdUhQM1FjCjJ1Nm10VzZQMUs5dlpZT2xrNXNQ\nQldSdFFncUFHcUpManpJak1YMVUxWkUKLS0tIFVtMEIzY3VtWGVZaFRZVFhyaHF1\najNXMHZNU0RuWndDZG1jMlVUNHFKUVEK4PAvUJt2ayy5iXCEi5b/veaxnyFvVohl\nRhbhZR58hFzsTRSwqy2pIMqSO3tgtErr9B/KYPlQNOifgPamMbR4WA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXTVg0YTFFL1owd1RNUEEx\nMWJOeGttbTI1elhZMTU1VXcwcWt4ZzdJSW5VCnlQRk5OakJJU0grczlHRnhJTWxI\nd21pTDdVTk1vc0dsdVpuWGNrVUpEVDAKLS0tIGNYQVNjellNajR3czlKc0ZYbWpL\nbkt6QnZ1MGRGL0hSS2F6aktXMzB3aVEKb/XnuAMiB6Zn2Hr+LUlPdCii5G7TKYgp\njE7Loh9mPY/WPK2KvCAPYFcjNCmu0JYzCYgpU/i+4Wm7ObsrXh+lGw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOWFFJb2F1NU5TL2k1aGdq\nNGFYcWtveXd2WGxFRVc4RUVLbUgydVNUaGg0CkFhT2hVWlpoTExnWVhhKzJQSWZp\nWFFFV0lrY3lSU2lCUEMxdk9DTzRVVlUKLS0tIDM4REg4QW4wZWNUM01nbkJoWnkx\nYzhaN0VMRTFZWTZheGcrS2V0dU9hNHMKgmKgF1py9n9Ez49RDlsyDakNTiac0bB1\nkg+44Kb3aO+R/KOEHw3klHc+TetPWXgHPnuP2phmq/arSwpYyogAzw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2022-12-04T11:32:25Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqTXp0RHN2bW9wUDdvWlJa\nNFhyMEJ0OUhSS2RvLyswejc3ZUx2SW1rdDFVCmtZVG9wZitidEZMaE1rdjZSZito\nclB1N2s2bU93S0IwK1UrYlk4NjU1UFUKLS0tIEdvcytSOElhRHlKY1FyRTlTYUlR\najdHeGh6d2FROUJab3d1cExkYlJLQUEKJQUv1/2YuAOEQGaaJ5itEtXrfwB18RcI\nC3V0MXuLqpQpVzsMz6tBU66+343gPTVMZXi/cLLKjpzARKUCPJ3ghA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0ZCt2UzIvQ01pQ2dMamd3\nVXF2WnRmMDB4MTZsYzhlclcyR2k4TVhtdUJvClZtQVVYOXpuZnlOY21zTWltU2E0\nQmJ1cDNVRGsvV0xKbk9KNHJ5enRmMGsKLS0tIFhMcXhzazBlN0lTc3gwbmZpVEhJ\nTlZqOFVxOUl2NFl5QXhyUDNhMEk4NlEKvrWdvyL9lQ8kc/QJQKFBlAXw+NLmVO2W\nYo44HNxj+jbWFLhimV4qsdaZKb4w0z/YSSLPwP3cfAOblOVYHh8eRA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNdmtuT0NaUEplbzQ0WWV2\nQUsrOFRYN0ZET2lwNkhMeTE3bTV6OUUzWW5jCmtsT3dNbXdlSFQyTmlNdndqT0V6\nSGFDM3BaY1plUVYrRkZRSXQ3eno4dWsKLS0tIGRBSzQzVVdCQ3Q2WGpwdTlsSHJO\nZGR5NjRrbW1lWW80NCtVUWtIUEhGcTAKSRPJHEUFWCCe4v2nLnaDY3FIeWvc75jd\nMb8+grC61jBRO3kpMLrHb5dn3/okLX33nZtJNnkCA8jDlR1tyCXUuA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBONmxhcGNHN3BKcUlITkdX\nUWlCZ09ER0xlN2w1MXVNSVFaNkczeVoxbDJZCmdaOVFBakdJZzNYTkFnYUVxT0xN\nVmN4eHBXMkpTNldKYk1yL2V4cENaSFUKLS0tIHhSYit2YVVYbEd1WEVTcnNBclFu\nVytldE9XUlZPVmlnQWxCMHVEWVFWeHMK0r/c/cV4CyIc3HnKiPvHXwOUOdBj8lu8\nHMjdK+QMcZGSiSW87gmDr1wUf/aROYA8LTYZbuqkaf5zPYhFUpYykg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvRWZFWkVWVWlpWjBWenE3\naHp2d1RVcmNrQVVYNkVuWHRUcGRBNTBFbmdNCk4zUGFFSm5lWXhzR05RelNvbnBX\neHhoZDZjZTJPWndQT0dJajh0K2xhWGsKLS0tIHIyeUVoQ0szZHpBQkdBc0hVbFVF\nU29JWFNPT2VtaEFTSTc0OEpsYVVRbWMKLq33uUYhelMgkz/zuI3wmYTPbn+fv4uB\nkwUX2KDOzunPkfznFJ0/uGDHBRgTj5kYKid53IPPAByCGrWemXbbBA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmVHExL1U4WWVZK0hNcGpl\nUGJFc3R5cURxYzdyeTVSM3FESGNRayswVWtvCjJKMU9OWDNHenFNVy9DZ0RLTFN0\neFdUcXBTWFBvQ2NzYTJmbk45QUFQVU0KLS0tIGJQNlRURzZUL2xoZHhMNU01TTY1\nYXhvYXhkTFB0NGpzWkY2MTFBUjNJYlkK6CBy8Jkue18ru8eIl2ad0ud7FuRiEIf4\nKBkb15yhF+RlPOfpaKrmLgynEZILPfaiyNEaj0YOlIYP1qas5TNYyQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVNlFGNGZyZWdLQnRkSE1z\nTUgwOWFvL2ZQSWVOVTBBOHJOM0RSaHNFOWlBCmljOTdKQzB1UTU3ZFFENDJFRnps\nYi8xa0czTTNvTFFGc2QydWVmTmN2bEUKLS0tIFJQMkNQOUhDazlsRTlrRDR3TFJP\nLzl3UGRSakhITXdnYzEvMXdsZ3M2RjgKbXJw6e5aFsrL52zknH5vva3y7sLvqVTd\nsyOnStwaTwBWEMRAvG+vtEhgLIJDVCJGEYqKIBzzoOOujJ9ojuzOqw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBacm8xcklMZVZnRzBLWFhC\ndTljclRNU1R6clhObW9KZUFzRFNteWhmK0Q4Cmx1dzg3bWtQT0ZtUUhCbndDa1dl\nS2VwU29LaFQzeU1wVmpVSWJqTXU1UHMKLS0tIDU5WmU5YjRhTjFuZWRzcE1waGRx\na2t1cHliRlJ1aEJnNjQ1SFo0OFllcmMKIuaI/OnYpIB3RSU2zZWazLnNPdYJcWUk\n1oD8pEOZDqiu4Cf8ZqqhLmkN+jBLZuBAi0IJLIgbRvVjbaN0j7NtvA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtL2gvV28vMVEwbDdhcFNq\nNnBqTS8xZnFGMXl0dndiZUJLa1diV3ljbG1nCk5QV2grR0Z1TnRta1FBZzl0MnJo\nYlZ2MGlIUi91ZDhoM3FNdmU4Mk1vT2sKLS0tIEJSUEsyQStlSzdoTlJuR0JETWFY\nUmxBUXBYN2g5eSttVE4zNWxFWnJpb2sK9SQTiCHz5eQ2RMrydMZCoXAFCIl40f7i\nfsskeK45e9lgstetJfu8rDLOrCKr2GnIpR53wiJyPAq5TscGUBlcNQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRRmh3R05RNXhjclRHYnB6\ndmxIV1dPQTNud0htRFFHN3ZveUd3NSt1RENRCkRmQzJvNUxZQzc3enlvZjRGTE9x\nWmFxaGRrYzNTUm5WNUtkaHJzbmo1Q3cKLS0tIFVJdXliL0xnZHRnYVBwYkcrTnhx\nc1M2bzQvNmxHcEsyZmZNVUYycDh5QTQKyOSJlIwrwUaglkvdAw24NxxdZnmy88J5\nNWo04oEImdlMCEZQBQ3/o1xyftU8BNY+ovNy7Nym0darKM9f8ka1PA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRZTZMN0Y1VklpczdDTnFh\neEs5c3hLb2Fxd2Nkc1VOUjVkdWpBT0o2NkRZCnp0dlZpUXloMitlNFFiL3F4WEZn\nUS95cDRvRXFiTDVWSzV5cmlPY2JBME0KLS0tIDVxeGY1YS95ZDJrNUtVYnlteWU0\nL1E0SDVnYkFvdTBGZHZnV2lSYWVKZ2sK1N3lvvQP9DdPsCGYJXtjoqv4gLjSF3xW\nq0VmAQFynm3mSPfF+hOfF23+msudWcObHu818YjPshyjOzQXHXURWg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiR3VhRUZybjJuVVFrNXVo\nMkJwNDgweFFmb3BIeEhSZ01RNWk0dEQ1bHlVCkI5Wm42d3haTms3bjlJdldpSGtW\nSGN5cnlkZmlpSm11VjBFeHI4blI0aUkKLS0tIHhESkdjbGFPZis4V0tQcUpXaVJ1\nTEpadHlVL3NUeUZudU15WldZWlpKNXMKVxsLBUb7BwJJ0lJRQk1ZppMID8bt/cbC\namvKeagoT6QDR42FyA6W2Rp8+tBrrkBD3CGRAcXMfUSPIzN9p6kcQg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCQ1E5RXo1RzI2MkVudXhS\nUGIrbkhMS1NNb29kaWg1c3cyYWdFbnhtSzJRCjdZWER2NmRBTTJaS3RWd1gvOFFR\nZjZQQXBWQ0lPQnJlYytNNzMxODh0UncKLS0tIFRxNzdoM3RJWlkzTXZHL3R5UWpP\nV1lPcUNyRHVCOHprRWJJQWNTYUxZT0EKNcCmkEcxPd+V4MLnE20qUMTrCc5ibmoV\nZHGDbkGuy1dBYZhbbOlVucXOppovyLzT+yH41mnt0GV38BR252E4+g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPSXRPbW9OeGFpYng5RXR4\nT3BUMDZmOTRoNlVsVlp3endKOEJCWno2TjFZClpYWklWbDU3OGoySFFJUkRjS2tw\nUFhtZ0puTkV2ckRPMUhLY01MVW1kR2MKLS0tIGJkdHhaNzQ3WG9JRXF6OTNMNnF5\nQ3FVU2FVVDJyYUNqaVlhSkEyZmd6RGcKMRxyVMpxCYxoWXK6zlAPyo3YcPJtTWIO\no2RUlS8oSTB05G7sGkjq3VSFRSgNnekvXOBE513Qmym/cDDbusxpAQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYRHM3NE5Qa1JxRGZmbU9v\naEdVS05ZL2FyN0VKajk5emp4ZDQyTnNDMmpJCnRMbWNFRmlVNGdaM3FRa1NXUG80\nbzdRZUNuMndHS0EyYmV5WFR3WUs1S2cKLS0tIGdUY1BRM1pNT1VmNFVxRGZ3OGNy\nWjY4MXpCei9MV3BmTkRoTCtBWDBXV1EKzfx+IgDo4Dm1PchA32mv1gRGOE+4dI2J\n0iTQPkHeHCX3UwtQteyNKccoA1ztSRVwjV6gZXAmuhLy4Za7i9bnhA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzYnMxbDNUR2xyV3B5VzFQ\nM1IxQzV5OXM5L1VYdFRYWUt0cWl4ZUdsQVNJCmRjUjdPMmhoaEFmUUxrVmJCRlFl\nNzZqY3p0YUF3T2lYdysvakx4WVg0bFUKLS0tIFFlazJzb3hmVXNyUU5leUFKL3p0\nNlN0TGxVbGtoUHFtK3hBS2RiYUViVFEKii4w04zeDD6HWURzmAhJdxNdNmQgsPw/\nawI6HSVbbmEGXyL23Pe0oultY8k/ZVE4oHRKBkHh00XoCZM/Ye6neA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3ZHNES3BDYUhGcGlyTFQ1\naXVnZm1TeVovOFppck42Q0ZaRnA2dFJHTkVVCjZUY2h3MG9RS1g2aTdoeW9NS241\nWTJZbk00ZTMwSVpJOWNRMjRmdzdpV1kKLS0tIDFiS2tJRHIrMVNrZExKWE5EMzNt\nNGJCQXFMVk1zM0dIV084NHB5b0VLa2MKINozqIGHiddSjRXkcTLFRBR7HjRnseUP\nuu52jRstFcMEGmToXhNWsl0g3S4VOqNcA7jAGz7PMPTrD5l5sQ6w+w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-01-07T11:04:42Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVZXVTQmg4YlFEWlRKV0h4\nZm5mQzRYY3VoUExXRkQ2MC9FSGFXdnJnUFZFClBJMjFOSzdxc1R3NDJvUWZXb1R3\nc0E0WjRkNUpIcStEM0c5SzAxRUVoMFkKLS0tIDB2WDJ0cjdMa0FEbEcvTWxmczhP\nblE5Rk5Dc0RKUWlkc3EyWEJFa1V4ck0KEH636R2nV8u3YWL/Hfz2cXwLZMlkanMs\nVLDSUv99DlT0LoZGb2/bBweH7XR9eYuNeicyS+5uzopxG4ExK8t6jw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWdVJ6WmVyR2pUcjhtWTFX\nZzljQ1ZObGhzWjlYVjBERTlTZzBnbm1melZFCi9kVThDWFNKQnl4bFQzQXVyRTFZ\nN1Q1OUtjT25NS2pBNzFMY3hvaTVuVjAKLS0tIE13bDRTTENWRnZWNmNrTTNUUSs2\nQUNpdm9ITEFrZWtZMVhGU0dpMURlVDAK+x+tlgDECioZsiWdsaSKtmddQsl97SRb\n12mUcsvG4Fd6DQUQ0SWeu6gVo7tZgm6o7j86mdm7ECj9NzOgHrijxA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzZE9pUFZnVU9laTZWWGo0\nbUJoTHdEM3pab3JOcjJob1ZxZ1BGRWVKR2hnCjdXM1RIaW1sdjVaM1BVU2NzdkRO\nK1NnR3FJWWJKUkRrRFo1ZjhhMjhBMWMKLS0tIFhBZU85bk84K0JmdEhZSkJ6aFdD\nL2d0S3U5SGZjd0tCY3laMWt2dGg3TGMKvGZTW3UJpRFeBF7A86BpFzxl6cHMyoLB\nyZlsaK4Xk8fxaIg/W2PIYGzNGmiNPQ36IKJygBDdN/hz7eWMdbDpcQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOTlZxdU5md3hUSXV6Q0Vt\nRVZacnZDV2txd3hFM0p1eTNNZnlBSk1DWDJzCkhVanEwT3JKbEQwSEZCK2xqaVBI\nZEJ4d0ozQmV1WE5xeWF4RUxLbkFlSlEKLS0tIHpWcmdjZkZkQmkvNHRTdFVaT2cz\nU0poT2d5ei85TVBndWcrMFpTVWFpVm8KfPCOuicVZW+vp01owIfxkgN0V5MgfqGl\nE9K/WcJ3aDu2jLi1RQaYCmEeoaJbGsyjiOqIxCNcf0VomAqx0eIooA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYeHphd2JkeVNMOUdrS2c0\nSGZhQTNkTHBoSERCWnkrUmU3WWwwSStzWVY4CkZJMkZxcmtVQmFMWHhmVDNGeitI\nVVJVYytoRE8vN1QvMEFqZHRHSXBUNkEKLS0tIEl4MVc3aW5KM1I2MTVzbjlvNjRY\nVUZRdE5LMDMwb0lpVUVPekJqMHRjb2sKpAElXfn5q92FXNWlRKm82CTkzDwT/mgs\npXhGAQf6PWRxcQ2sonwze6JJGosS7dW8ULdxlkhg5KhZMbeuaBtKCg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1OHRid3FESkNJbTljMFFO\nVEg3WUhHOWdTaXBvM3lHOEdBamN2TVAyT1YwCkMyY1RhYlFFVk1FK3VvZHhoRXVO\nSE9CQ3UzcGxkTTJwM3VQVzFMOUJQQ3cKLS0tIEFTQldldTN6bnFzVS9QV0JaZk4w\ncGMvd0d3QWJ2SHJSMGZ3cnc1T2d4d00KBzNCz3oe78DS5zBu2Bth3qznHYKMFEBn\nCS5uZy/Or0U6CI7p1+ykoLBLTjVWV2bwYJOQzZAQmTmuSidbe4UKZw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrL2xKbkMvditBZzFrZlRm\nMS84RDN4VVlESEhzV3ptczFkVWd6cGJ2VUJrCnh2dVhBcnkwMjl6ektsRitoNXNS\nYldxcHh5ay9ZdnVrWFFzWFpNakRzeDAKLS0tIGtiUC9Rckg0d3JBbDhvcGFMMTBk\nUTVYbktHS3pMaHVpLzlSU0VKVVB0QnMKVJ/j1+L+fr8RiBTgT5J0gaeKSLzu1+lF\nPUMfnO/ciEmqa6uQW0YC5zplupSYCbtQa4FpCcz2ZZI2WORXd6jADw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTcHNUc1A1Rjc1S1J4aEVk\ncUxYYytQb1lWZmViQ1F2OUFaTXptZk9Ea0hvCmdvbmRNNVBBcVh2ZDkwOWFiZ1JS\nRzY4UDFnd2hSQml6OUp0QWlvQ3F2WncKLS0tIGxSNDBXWUlJdVFFWHBqY0FPbFpK\nTW1pL0c3bk5iTEVibDZoTW0yRkNaMlEKuHLkB/9dWPOXxcTyXW0WduEcnF2YRUpo\nEZNwre0P/62xX3RAjG6g/JSUwAt2cST9z+9K3SgxXUyunkPG0XDv+w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGQ3E3SEU0Sy9XbmQ5N3pa\ncVpqeFBmaEY2ZmtEbU5CTHJZZU1Db1ZxL0R3CnpNand3UmZISXJHMVVPUTlqeFhn\nWnJqSGdsSU9HWHU2YXU5Y04yN3hnbXMKLS0tIEUzSCtWTDdpUGx1WVZXeTRBRFRx\nNlhobUFuWllFcXhaVldYSXZJbjI3dEUKSl9Z1lKMurwbLtTqivGSLvNV7t3y+5z5\nImGeXwA8UE4PmQWwQPDD48kOmo4yf9fD25bVfps78NNjW2hGMBJ2Ig==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Rm5ZZ1MyZWI0MU9OdHFt\nTElKMVJKTVpNMi9FVTBuWDV4eS9rZC9aNFdBClZRMFpUeHlKMHJZc0VDa1ErZHFa\nSVovQXpuV3d1ZFFMK3M3bVNmVGsrc3MKLS0tIHpFU3p6ZlJYQno3dlBCd1RFWDhy\ndDExSTFKTFA5dFZkdDhJaUNuTVJMWW8KH8w/rBCkcDMoAhyqDu+AdyOgqI2e/JZe\nfLLnpaSQ+Ss96Tr4rvY3Fmf8PbttyJN2Hmbxjba0FAxHP0RdQhoVww==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1Rjk4RkoydDg0ZGF3OENI\nNVYvVCtCRncwRmUyQnJjVnhEalFrU1BtWXlzCjg4ZXZ0K1BmaGkvMVZ3WWJNSEVZ\nRWFndE14VWxMWFVDTlJDMkg4endiWmMKLS0tIEdMS2hYMHJRK09UVGFrZncxQ2tU\nWFBOalR0MXFGeE1tOWRZTWhqRjd6R0EKTJlLInIJGek9GsNSlpz44M58m0KyJjYJ\nJG39R8sByUuRVGLCw8JH4cNfKfKFxvCsAaWFzSxJjqo7K00d1n0dEw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjMGZkMy9QdEk0K25hN3RU\nM1JZdXpKVUVvVXBObGUzWlBHM1NNWDNXekdJClVaMC90dGJ6ZmJaTGN6KzhsRHB4\nRCtuWHAraDhYZHNnQm5yYmpiejJzYTgKLS0tIE02d05mdVhjYlhseDhOZjRBMlB2\nT2hVeWxHeWZRbkp5TFNPVDIwQ0NrNkEK9++qo227xeA2dTCuoUZozpokp9Ldjh32\nKl+4OTR2ivVgMJXN0sQ1y9EjkOk+lsK0jGSkcKxkw1OoEirzMCPUPg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1dDFoUkRCenRDNzh2U2dM\nRlZVNVIycmE4RmtZMTg0eHJwemRuL3hjT3dnCk9YaUd2dERFc2FDUHRyQ3A2dFlU\nZWFBTlNkV1lyWnlxKzlCQkhsUnZqNlUKLS0tIDVaWHE3QjhCTExHa1EybVNKc1Nv\nVk95WnNEL0RnTk41ZU5mamdnYnlHdlUKJNDsuMM5KrvW2JLTdaATtw6oS1LXnXT2\nOwsGm6aep93Pq2lvwLIUb2+KU+NJ2xrpZF30roVjXMMdpcpNsQWWRA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyd2ppUHZEcC9VRnp3Y0ZW\ncXl5RGl0UTVmK3djSlY3Qk1IV1NhU1dpV25jCnhacVRmOUpWWDNqY1NvVHNMYkNy\nTk9LWFdaR21WaUN4TFZhSEsyQmFRWG8KLS0tIEhERmFuZDB2TFR2dU1lNGZCUFlV\nSmtIMlhqVEFwWWRYcjYxQm41YXc5WEUK85kHEESZXk82GAbJtxxc8g5ogT+tMu27\nAE/Nk1geTylCD+F9CoZNq96AkNYLf04gh2FZ/oVR/z+9wd4T5c5DhA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkOXl3ZVdzcG1zZTVBUHNE\nTGFGRmlsZzlNNGxtTVJ6RE1JMEx4a1RDdHdNCmxGWWFCYndtS3A0RGN5TFNHekRh\nU3prTTlRNEJoeFdGbUc3Q0NjY01HZGMKLS0tIGVFejh2R0l6Y3pjU3lHMTh6QjBN\nOUt3ZlI5SENhUWg1TFZ2SEMyWEE1REUK3tt4C58+lk95ztX7KbRt/nT15XcEaglj\nX9llxVse8npEDqfn6vf3SCegcexUZlc7BD/Ti9RJzSw8QPjtwKkTlg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBERnB1bUExMDJ2TDZ5dm5L\nNXMvZEJGWlloZmE1ZFJNUE9WUWc2d2dacUFRCjNMM3hVVkVvbUNiYnVJMGRINXlP\nNzF0VkVSQU9UbFhNUEdZRjQrdzY4a2sKLS0tIHdwMndHOW54MnlNT3gwMWRrdVU1\ndW1ucENid3VxYlhtcTF1dWp6K3Z2UTQKjAZd4uw3kChy5aM5qTFxbGYN0oFs41J7\nsrSpgwxzx+hu1kDRkBIQJZ/QfiF68NFd6qfX6zk8baF1AdML58U1Rw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvTzkvcExIaWhrcG5EenJD\ndVJGK0kxdFFHNWRaNU9KVXFqYWFZcVBQUkNnCnV4clNNTnJBUEw3Vm0xeGZlZERa\nKzUzdVhsVWtrR3NTMWtZdDBKYit4UEUKLS0tIGFXWmplVnhNbzhkdGloZnRjdDd3\nY3dia3FOOEZGRjJQekpFY1M2dENlcXMKrfkvzKJXnw+vwytqC5HUDKQXHX7jF+/i\niatE7sfxzJOhnrmcEfEdDzMF1Uh5RmtF2AeqB05GmC78r2//nQga6Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-11-27T07:45:58Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxVHRGWEJ2T0pZZW5CZXE3\neFpvOXd4RC8ya3JhbXl5eVZtYkFZUERsOUIwCitncXZrVXBXdWpZVjJJN1pqK0sw\nTm1ZRG5Ga2VBaytLbmFVeTcxY2tRbVUKLS0tIGhyajNjSUF1dFZyOU4vUjJtcjQ0\naXAzL0kycTROSkVMck01UlNURmZPVjQKZ1lYv+tjIi8LvYtkFcfHUprNM2+/Nyab\nVOf28VE6p8H4Qfre8+KvUcfIch2guWGPpqY/IKGZaanszFtplw8UBQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIQTdTMVIzUDNDUTM0Mmh2\nNFZhcnlVTGJYRkJveGxxR1R0NTVNMEM4ZG1VClNmTGZBZWVWU3hVbWQzMG9lc1k4\nVUVaYjdoYXJsUHhVQTZzdlBqc1YxbkkKLS0tIDIwOGlFbjBHaXNwNG9MeUtBaElV\nQ29IK3ArS25sU3FRK21jMmhsNjl4SlEKCB5Lt7TuGwgNqh7/4NpSRjR+TUrHDYwl\nDkVMEm96VludN+QpmD7P/WhZvkTZG2rt+jFcA/f6JNEBVMJxEw9SeA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBielNxYTBpNklVeWkxY3pq\nL2RrUUZnSll3dGxVL1AxOTlEeGNBMlpFbndNCk94N2xsQkZhaGdsQ1BYa3lTZDVE\naG5KSDRyYWZ3MlpYYTN4Uld4Wi9vak0KLS0tIEVINHRLNnhlVjJTbzVjb1BSRWlN\nZFdPcEZoa3VQbHpOQWZTRVFESFE3TGMK4UqfVpy6tDlZaE9t8gays8KX6cN8Gt77\nRWZYbBKYhotlDCEAOQ28J8DQZwBVEPZNPp/KTCQs3DA5cQi5esiVUw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtcVFucjJERWlQekhnQ0J1\neCtyV1VoU3R4blV4cGd0V2loWmxYQXRxRDNVCmtUdGNkMGFNNU9xQk1qajhHMjlF\ndU1yZ2pldUdRT3F5ZzdtQ3IzWVV4ZFEKLS0tIGN3WklIbTluUVVObGJ0ZWFKaVVM\nRktNRjhEekYrczFPajBEV1ZVeWlvQkkKYGHFm7IYxnRW58CRUHE4p1bnVvQZrMpp\nWX2Cdi/ZV9DBMUsQ3hOJlVBbZP8F6ODvXRkH8fipjNuQylJNWeG4Tg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwWGIwRmQ5cFZ2VjRBNXpa\nYVYvamVWN3Jsd0Y4amE1R1JnVjM5U3c1eEJjCjRxRXNKMmFtZkRJamtzSUlpVHVq\nVnV5cDVtUzY0SUVuNUU2eGdKUHd5UEUKLS0tIFY0aHN2Y2wraXR3cHZXWERoK1dJ\nWm8wS0wzSFB3ZzJVbExaczFjTjZwOUUKasub5axckBoqLwTzM2zEjg7j8nMl3xgh\n5ttxPBXZDpMAi6ORRNnIHKXleYaRcHCN7rvLOSWCYC3QEnemwGEQ5A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvcFZCUnBDZ0UwTjVIRmJS\nZFBDaHBPQnBtT1dxRGlwaEtBZFBJdksvYVFzClBMRVd5TUdqSk9GbXNJMDBaai8w\nd2RRb3VrMzZ4aTNTSEVJL2NTYnB3N2MKLS0tIDNlREpUMTVtVXRZeDBXeitybERq\nN1h5TXkyZFNLdzhvZEd2SkxveS91VTAKzI4lJfFtD+MFpCFxoyYmTV+137rL90Fi\nPl2itQrDSC6epx9dInc/fpdajOcToDoGamNRXC2sMC8WqHAI92buvQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAydUt4aHY0bm9FbjZOTGQz\nTUxYM2RhL0gyYmdYQ3pabnN3cTJBUFMzeDBJCmo0MVNhWEs5OFBzZ3hNd2VVT3Q3\ndFRMbC94WXR1Qng5NldEZHVFK0owQkkKLS0tIG45SzBLd1V4R1RWTlFObUN0NGdD\nWkFFbkZMRnN5SU95blV3cVZsRzI0MTgKpqqeHrlVZDoeCSUgVB0n6GQF2BGDF4cs\nJCqZJd3XrPq28tqzfc8xwgGrX3JDKUSB1mnNHKT6oj858W2MjD5+Hg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGTWpvTXVYRmVQV1Y2d0g1\nL2Q5R3NKRXl5NWZubGpJdUppQzUzRjIxQWhjCnB2ZFgvMUhEb3l3cDNXc0dIMWxm\nSTI2bUxqY0F3RWo3RXVub0hhT1Rrb0EKLS0tIGt1TTFaU0RmRjFFRCtEYXUzMHRB\nd29BUWVzOUJXYU9EK1JSVlpiVXl4eVkKJK/f29Uoyd1v8GIdzgXlqkZpd4TPwwtn\nwHMPE8u11e0YVZYxovGZAqxyrnuywhWu2BXhtkc0ZCRc6r7OYbH7wg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoV0VqWklIbHZCaW8wM0Qy\neXhpaFFSZHlBL1VndmN6dThqdFJGNUxsUlhnCk1tMEs2eDNqaTBCaHdFZmxaUldP\nTXBzTXI5dE4yaldVa00xZUx2UHFyaW8KLS0tIEpuLzJ1SWFTRjZ4UWtHb0FaUi9T\nQzY0UmNaRHJZU3hVd1hNS1hoaG9zWEkKa5vaqYn3YQ8y2UEP4BHQYKUCrJmSHn6V\nuL7L/kP9H4rloroudvxYdiQXLK1VJYn2MyG46xn7/KvH6vx+HHL94A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVSVpRYlpIc0ppN2RVRU02\nenR1aXQ1bnFLeWVEc3FnTHpTaGNaTk5LY3hFCk5rUVBLNTM0ellwTDltd1ZvaHNj\nQUxZVThFT2RlWS9WdWlQYTFPMUk3L0UKLS0tIFJsaTZTRUhhc3JmWlI5QytheXVw\nSnlhUG5jOEJJMjhvT0tnVDltR01kaDAK4sWF7asgU/8VxQeNqMfKtzhEGxHFozO4\nu5OG8I4SP9ev0+nEytDP+hg+iWK8/MQPT8iPUuxfROVaVflyjr/hTw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIRlgwOUNZTWhyQ0s3ZlNW\nYkFLdHJXSnRyVGRJdmx6ODJqbXFyQ1pCdHpBCm1DK3BjRWtWUDh4L295bThsUGFX\nK1ArQ2ZJQjZMKzNrendOcFQwRHJJRVEKLS0tIHIrMjBYc2t0WmRpMjdTdDhnaXFy\nUm9ZNDhHMitRekl0SWVLUGlNSk9taFEKe/z+tEwjuARxuzFBW0vfrg4+GvMt919Z\nrYnIWVWR3cjHDI5UMzROjB9mVLdJxyBQAr8CzcPu+aatGGS+VsFonQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDZmJDV1hEUnhoNnlIVFRD\nY1d5Q3lZV3VtN0FTVzhkaC9WVHd5TVZtZmpjCnlJcmpYUjlNeTM4L0lRWjNzNW5T\nUmF6TzRYd3plNzJxd1hWMHlTY0RaRjQKLS0tIDFvRlcvUVE3S1RYbFJTMktrRWFh\nMjlONG5OcWRjOG15WHhpcVJ4QzNHMDQKDS1AjMxuf/mYTviqUgpNC2w8b1WOuU/E\nU/H++S6xRNtMDyPxQ3dlp5C8s6kxTYmQ6Fr9xV7ffXzOQ8rIiXg7TQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzSmFmdkhDb2hhNHhMbVVN\nWGxvblliZkh4eEJ5b1dZcjJjbVZ3M1I1d1NrCmJQS0hnMGI0T1F5aGZaK0dJQlkw\nVjY3K0JoT2tiRjF2eWMrMG9CTENvbjgKLS0tIDgwanErVDFXZE9OQUx3M2NudWVO\nZ2xrOFFtblZDQk95bGJ3WDA2V0VRRlUKEExB40RDfdHavKZWnDEMrzkJ8DI4iv5E\nvSxlX+IHjNXld1BmjIUdf/YN+ld7WAQwEKi9DfLWEsYLwVAPFHQsnQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtSTJVc2RLRmdSaGRCUUVl\nR0dWY2lsREhTL0Z1bDNJY3lzbXN5OHVrTkFrCkF1VVB3RWliakx6Kzg3bVJoMFln\nUzZVMXgvNzE4TS9iTktVZlM0T1dEN3MKLS0tIHBDaDFvVFQrZmZsNUdiQmVCM2gv\nOHF3TWJ1SDFuNE92MEtKTmhkK0ZNWkkKnuUh5MIkiedv8tTaX6LDSdkjTb/hvZg4\n0RYk6HQL1fZ5udEfPNxAu08tQwMXlb1RNpJAriMw+WXOvar0q8lyKQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2bDNiMEsxVFZhS0hpVXhO\nSThEcC9KZ081bVAra2lwYmFlUHVVS01PclZRCjJMTktJV05yNU0reG1mOWlrM0Nq\naHN1VmxkQkNadlJCdmVMSzBjcm5zaFkKLS0tIHRIM1IwOTJFaEZwZnl5SWdnTE9i\ndXZCcHFyeGtDSkZmZnNZbXg0ZEJQS2sKwWQHUg8OxQlHF2/SH17/whioqLV1vV61\nSRYGCrQhNzXxgZ/uLsk5O8o4r1qat0XT4GPX9zvPWH5GztS/op1+KA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzejNMN2U3b0ZyVlhnVHJ6\nL0QrWGFzNitLVE9kZXAxd1V1M3pRTjBZOFN3CkVuL3p2bGZDY2dMWGthZDg2WXVR\nWUN6R1p4ZVhvWS9XaU9XN1A4OCt4T2sKLS0tIFhzRTMyTlRpS0pxeUFwUGR4cUtM\nMG5rU0JKZlVPQ3pHYnI5aksrUVZuUnMKPatZ8cN058GwYeM+iizhVbE9xxDOBvvw\nnNNeWkKZoND7lboNu1r6UWqhcXh6kR1xBgutLMjFQaJBfu9XivurRQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3YjJaQXNGd1pEa05WRS9q\ndTF6VDJPRGpJRDBUUHgrMUh5eURFQjZhamdjCkhEWG00UTVGZnhyNG1UclNwZDhq\nR21aMW9tUXU4MVFhSElTTUhma1lYdDgKLS0tIE96RHhzOWphZlFsZENMWWFid2Ro\nVGhRcUYxL2I2TTQ2MHBZWjQ1YnJQMGMKkWYY1Cs8bfdeGm0baKZS83Hl5kdhZ6yY\nGCtPpx0QfRLqT/aXgwGb/rYsnbGJmhcqyaXCautFzpq1+sjgrgsynQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-09-17T05:47:50Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0SzNaeExweSs2bnFSbWRn\nMFFubFZHMDIzbVprZ1lMWjhFa2JmNk82R0hVCnJKdGdUWElQeG5FUFpLcmV3YURS\ndW1hQTgrN2hINEhBaUY3M1JTUi85QUkKLS0tIE8vM2pRWHdneEwvanBVMmoxaEV3\nM3BBM2QvK3hsZXl6K3VBaEZDSGxXeW8KLUdwhY10aDwFxWs66EVfDNKB4U4mLmeg\nplp68lCfCSIsU8nddPudAY9e9rKYOqyIEfY1+5xki4dCTJurq5F4aQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiNFp4bWhmanJtMWpGTGFs\nUjRUMFI4TjgrVW5lQnhxMm1ESVg4US8wVFY4CllwOFdtOHNsWjVxa3NzdS92SzNY\nYjViekJpd2h6dlFGdlMwZlFqQ1hZeTgKLS0tIEpHWUdkMFhlOEl1ZTRpOVB1QWov\nSy9xVThmQkd1cHhSMXg1YjIvWEUwU0EK3eF7waxzs0T7eTXGRz5rYlRixd4kU21b\nvoIskWz2e3HHWFEAvuaxU7rw1YGgDOm9hjKdhEy0YniAimKT3auExw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwV2dzeFZNeVA3SzF4UkpD\nU2xsSkF6ZEp0RlBOaUxOQVgvUnljTlVRYjNzCnByeDZLWlpqRmdzZzJSQUU4a2FH\nbk01djYvRDFhTUhaRlFCVE1YdU80b2cKLS0tIDVENDRCR3R4b2k3b3FxSmRreTdW\nRWt5eFpGVnQwNjJjSU0wN3FMVTJVRW8KY0oLtP087AZkBvG+JcGOBRs1a6P36W/F\nq/zhK/dMWJNCbOHEXyZxsn0I6Az322qCyRIarcnd16zQd0/ZW7kbaw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrVXBqSWt4REFqRjh6amMx\nMW5sZTNQSzRZUG1ONFpkcUxDU0pxczhQd2xRCmtRRTBKcnZJZjdnMFNwMjlBazdx\nOFlHMWNyYWUwRjhaTWZQcUhTY3U1MkUKLS0tIG9FQUpWc2tJOUkrMVEyOXBmdjFv\ncmxuY0JQUFg1bDBGRU9KVG42UWxxT1kK4OSJU5GrzPamKdQFPcKbCgNdNeuZBL/W\nZ7bmxD1YRGmlqtz9RS07dr9L6HO7TLlbkk9Ya4n5LLo9dFF9ev3lag==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2MjBpU0Fld0dsdlBCWmkx\nejFmdGhPSW1VckxYSzI2cDIvZi8wTHY2UzFRCjFaazA2MFgyblc4emc4SjN4RURr\nWnlyWGJNMnRmNys5M20wWGNSRGJRZVEKLS0tIHhLQ0pyTVRvRS92cFlabFRrWFpO\nelpxcndPQkN3bWllTUtpZXpOMzJ1bHcKmdHYvaUWpuLLznSZ9lK9zBpRUyZQJEmA\nxyEaIFRQrSDPs3MrAo9+oCvkYkJXTTe2Fnt3XZiBpSVU4Gy6doN+gg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzRDFLOFptQ3dxZ3FtaUk4\nL1lhODgxUnphWHJmTVlEbWNmLzlZamdVVmtFClE3RXB5elljeDlyUzZGenAwRTdE\nV3lGcUtmelIvNE9pMXJqT3dLWldjU0kKLS0tIG5KZ25XWGhXMjdsSi9XWFJBSUVO\nOXFVTjd2c2lET1loZytvVS9UNitHV3MKnzzEfokZnb6p7Z6ORAw19s2TZaI8u+53\nKJ6VQp0vjkp29LXLJiS+S8uqsdV4Dn/tkwXRhQV8CFfQHkqfKe4KMQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0UVpNenh0ZWZkRnBnWXF1\nbnUzQng2ZnRnU0gvUmFmOVRlRzRGbnd3cWtJCmFuc2ZRL0VYZ1dzZXE0REFmbURS\ncVZiU3IyVnBPQTZXS2diZXU4Mm16b3cKLS0tIHNsWTlZcWN5Y1JBbGlVa2lvZkpY\nQkEzcnk4Mm12SnIwZ3RqREJxSkVsU28Kg3wnYRmr+Ut/6Gq0AWzh8V7LgYpm6nsQ\nu7aUU7oOmvYb089X+/D7PtTINWMRXUR7fCmNVQ9AgQG2MydK5G2i7A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaNlhoaURJdURxNlp1Z0Jm\nbWFYYTlpcnNmZUZqWmRDd3RVSk50ZDRUcUdBClFzQ01GSmxwOStJVnhYMzJhZEdD\neS9Oa1JERFROc2N3OXZCZmowUDhUdlUKLS0tIEtKSEFRWmRyYlhVMk1lU1dvK2Fu\nSHpWWUkzNzg5T2hSWDlhMzlOSzlEZkkKNi4oVwsv8y2qpLeT7DvuCABsNyd03M1H\naHyrXTpE5v94cdkUuMTgS63+LeV3v1i/FzbaTd5IPZNMFTB6lyAVLg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMSFMrVTBxM1hUQUR0SU1q\neVY1NUVHd1MvWDh4Mm5JbDR1aURQRFdMdmg4CmxNZXFKeGgxVGJxR0FiTkkrRWtR\nNlVpTFg5RUpETytsTEo4Q3J3NGtwdG8KLS0tIGdkTHdOeDVuQndmZ3I2eTc5Z0NJ\ndTFRVHNteDErS05MTmRlU20zRkg5K1UKCN9+YK9I3MZXC/cIpnKKHUjI2/msLoNg\n9ANRBrqYe9YEbGffnd5U63XWxPRLD0lJO4NW3MOvnPSA6Wyrqx2eyw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKaWdhU2xpVm1vTkk5dDJx\nT3pIZ0ltUWpCemdackZ4TjBiTlQyVDFGbDBnCmhzTjQyeHJaVktwUjd3TzVHc1c0\nOHhKUUpYMzh5WXRvTnd6cUtDc3F0Uk0KLS0tIFJRU1FHQVljVURaRzd0cDVPOTBD\nd3FZVG9tWGpLeTIybHV3TUJNUjcwSjAKXcHCF5PO0QjlVJgGFstDo/LTwxDzRCaU\nyXdxyq/t7TiJo9ACWHoyYQECFfgM/Mx/4jOPFlSQtJYIzgSFXLKyZw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvKzRZeUlsVDJBVWVpTVQ1\nT1pZZ1E1SVhnR3lUdXp6MDhmaUkyTGlUY1Q4Cm5Jempnem5ralJ5cUtWbVI3dld1\nb3RTcHpndXBVV3Q0enVDQ0QzWUVPSzgKLS0tIC9WUEQ0ZkdidnJpa0c0R2lsMDZF\nbVBWaGZGL1VRaEVYL3UxMGVlSTFwOUEK4cLU3Mo2CeYLMlyeNH2t56BgzJPdq3d+\njgVoF9PMKzZiMa4UjUozNOXAqRygNcFSY7BBcjX/CRJ+QFYAid5tMg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIUVN1RjlHVEFDVzdIY05K\nT0o3M0FXOWl3c3FydjdqaEFJN1ZuQW5ocFRRCjdLNHlMYUcwL3JJRDI4cTMyNFYr\nZFcrbUhZN1BneXJaZElNK1o1eEpYancKLS0tIFhPSFJBL2RNRzd5R3ZVcDVYR1V4\nbHMraVVGQmV2TEJHM3YzWlhCWWx1OFEK1QCIKqng6nLwgzqqjwFXSrw7ownjM3xZ\nQsOR+6cKgrTHKSI0jYOUtAtLIkSpoxBipsKhtdwNapvs80uMyrcsyg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjT1U4TmJJZ3lJdkdwWmN1\na0Rhd2swY250QTNDajBKRGoxdkdhckpORUIwCjJlVkJqM0EreXl2bWlpREcxT3ZU\nNDZaTldpQ1RqTHFBLzV4OXh0RStaN2sKLS0tIDQ0NWpTdXlsNEJ4RFFRb0tBN0JX\nUEVHdGJYYzNBVkZzTkpHdWtpNnpqQVEKJe3DZrlb/9hFFnqquHVWWifSDiINn7hR\nFCdkA7/eqqu2fdH4tGFHz4tG25b+H55soDQHvFUPH/3nBB9il6PwLA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRUDBaZ3JKdElhYkFNN2g2\nRFJZWEdvVjRmTnhHVG5weFlLalF2K3BvWW5NClZERGtjS3ZYUHlVMGx6SkJRWnFh\nMTNFVk01VmlHMlgxcTQyTkJiSFNLa0EKLS0tIHkvbGczaEdiN1VQQUJkVEJVaXJM\ndmVFSnY1TDBnWEtzR1dVaEpTbVVXSFUKoYbEHnTx1zLbr+L+8Kv7GFJ8uJcyJc7+\nMPk5uJob4GJXKAxNlklJpM7z9RuZTZslf/pXeW+rrehy7C/DbWweEw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxcjlOcEltQ080Tzg2enpR\nV0RmblVva2FDS25uNmlJWDdiTHQxbXFKZm5RCkZRaDFXUFRxNFlPQ2JxZzdwbFE2\nQm5xR3FZUjFCcU9VUldCcElqWFREWWsKLS0tIDRMZ1g4UEhJMmEvL2E3dTlsSURR\nY1ZMYjRQSU0vN1BLQmVlTGpDMnZGM2cKvsBhl+entE8HvdWtO6+f0Se9J/psoGST\n5sBTUSj/F1OUwVMAnSZPWsnSjOMpJqoy3GemcCO+hqNORJ3DxxnHDQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwNy9FaFNpVUNMaUpaQkhU\nbklaM3UvSnd5U1ROMlNBdGZ1VlVLUllGRnhFCnJobUh5ODN2OWwzUGJkU1pOYjVt\nS0EwOVNwOGhnaE16WlM4b1dyc0Z6NzgKLS0tIDVKbXR1Sm9mWnlGR0MySi9YK1pw\nV1FVRlJncVZXdXpwWGIxRi9CUnFvbWsKEAKVX9SZ1c8PnkpRQi7b5J9INS5YWLNj\nRsJk1kCXCJKIS+49EJc8Pt0CrvET4sTlnxEl9KKA0WJu/ZixBLcq5Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVVTdybk1ySitMUmlwcVJo\nUWh1Nk5zL0kvbEsvNy9kNGZ3RzVVZ1diZmhJCm5ZSmR6bUdKOXB2cVlJeDhYRXNW\nY2J3aWdvc0tmM01yZzlEL0o5Q0VRdncKLS0tIEJaS3FER1gybUM5NzJaVWJuWGln\nTmdTMzdBOUxTNy9tZFlrVzUvMzg2azgKVPlWpt6EqzFn0FARLM847yCqeWb/dJH0\nggnHAMbzqhKaq/H9ZFyXvl0VCxlJ/5E4QZj53SAGeG10DfezlWLUuA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-05-14T08:02:16Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTY1loeFVEYkRYclRuMVZl\nVjVKTE53ZUZUV29wci9hZU9acG1EVVhZOHhvCnR5RGo3OE5CN0Q4R2FOV0ZaMXYr\nOFVTYTVmbkxxbmZqajlGaFR5cm9VSlEKLS0tIDk4VVVkVjVxci8xakN0R1Q3TEpn\nd3hwbk4zUDlmK3lERWkzajc2Sk1zT2MKstjQeXTdt7HJlhAeHInk+yPxcOmPv+zE\nQ8tB8do8lvSpDGVA8tWzCE0dXiX8AGXp2eW9Vu8dDLkToT9V7MDVeA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxV1RwRTlzR3dYZnJtSXp6\nWEhTaTJHRmtYaVF2bW1WOFhBWWw3UElKb1NrCjZTWGpZMVp0UlJHWnR4Z1pJR2VJ\nYlJpbElRZ2IxSVBWR1FFYkZadU5wUlEKLS0tIExxck93dUdyYU9ZYXRINVJ0MzBV\nVG43NkFLNElqTW5UL1NVT1F2UDZmeHMKSX30kfXXKNrbwmc/Tps4F44uvrlNWBPw\naivJSN3/o4qvrpsvnQ6HHx4/FS3Fvy88liW7qDA9IMtTpYChDo/Qbw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFeGdTV2FzS0pMZkFWRjVG\nbkxhL2pOdG9peUJZbXR1TGhOSWtoRzlvS2pBCm1LRXpqV3BqekVQejk4ZzcydEFs\nRk5tM1dLYS93dmRWMkMxR3R4T0dRM1UKLS0tIHN5U2ZwaVBCcmZSa09GSTlTZmxI\naEZ6SE1KODd5SUU4bDQzbXlldmRMOG8Kw3VGUaRVi/rdo7PsVDS8+TELqZYuQ91u\nknpWJyliPG+Yhst1FmxDTZGksRZcYBiwt3gYuHuBKm1WTwYVUevWEw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWa3pyK09vQmNuaXhnT2do\nUmpnN2JTVzdVUlFMQWdJR05tdTZQbHBxMkFzCnAxTytSbENWTGhQNHVWK1JTSzNO\nSllaZHIzSzBJMi9rSkZIczRsYk45K2cKLS0tIG83Ny9TYnpBVzUxYTllY2IwMlZo\nd2JpbEhpRkNUTXdWRi9XNWYxS1BvRjgKDu/vq8LyxpjvCG5yE5k2JeNfgTpP3yPc\n2Hv43IsvYELnpgYZ3DqCASFsk0dbP5R6vEcqMC1A+4Av5EsjW91dqA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOM0NVS1V0MEVrSzFkc0Q3\nb3dSUzcwVDNWVmFyVEVKdkdEZGdoY0lHSVNFCmZqVjRiSFZrb3N6NndFTG8rMXJS\nbkdzeXlOTE1qUFBtM05uMjJsakdKcFEKLS0tIHJPQTFwdVlWTlVYTEM4bmc3eHQ5\nSHVYeFZ3ZVAvUW8reHBjMkVVY25acVEKY9XbOaFURubHh4fTpVVkuTpQnYoABgxy\n/XyA79WpjRlzvXa52ac9K9QgE8R/HSIeIH1j2M3yRWXs+Jw2TtGaGg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIYWVzaGhVTlNFcVF0d1Vh\nSmdMVnNhTmVZMDV1Z21LcThDbUVYdWlwTXlJCkhzd1VraUpmMWVaK25kZ0VtUVhl\nZmdOeVhVYzBMTC9OWnp4ZEtYNEVqRUkKLS0tIE1SS28xS1ltUk02L0U4aTZFLzQ1\nR1VTenhtQTNJd3M5VCt1WHpkWHBKS2MKOsRIAgc7LoTdgjW1JnCGO5qNzBUYId+F\nNQ4cU0FDJyu5MSimQ2tMgLYjo1tHh/AKGT/niydx3d+uFpVrjUmUQg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNZC9SWGhUdzlYNWdLc21w\nbkVlUVZvbjJCL3pPOEJ5Rk5pQVVLRUN6clFrCkphUVUvOHc0OCtIRnNWWVRaWlNV\nQ20xSGo0b3htd1NlUXJQa2E3bFZSZFEKLS0tIHJhTkNoeC90RlRyUWlCNGtReTl6\nanNjV1NQeG1PempPOVNaMjJ0S3FLTTgK0EcUFCHfm47HEBHiEvs3TbylsSxAJ15p\nNOwgCIMFeaTNgkLuXDEYurNN0H6ioXaBNV2ecy7aHNLLgOyayW/jew==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDZVFJcCsyOGJCTHo0Mmpv\nOFdjQmI1M3JmeDE3c3d2OFdFa24xR0pzem1NCnl6STVYRXRydmgwMlBsMGx5TThq\nUHZ2SEI4MEJhZGpuZzhFMHU0clVSdkkKLS0tIHdyVWp1VGhDZDd5M0JaVmI5VS9E\ncHd4b0hFNEo2djJLaGFnaVpGbWdzRTAK0XNX+8xOfmR2JPe1syZ5hTSqhp6pUGdg\nEL7yIhoyVLedyDHTZLAk1XFfodXnbjMB+r3eSBfBHwS0PJRYdgnNxw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBadUlZUXhublJvVXFNdG1L\nWkJUSkR6OTdJOUpWVTE4Wk5ISTFtT3d3cjJNCldzcTl5R21FUlNyUThGTTdhUDNh\naDlKcDVlMlJtR21xVGlyTHgyeTBmUUkKLS0tIGMyYitnWnpzM1JhcXFGbUtTek81\nTUlFVzJEMUZFNVFCUkNicXh1aStXTTgKderfUTU74b4NA9vScYiMT8FwyWx/DoGZ\nYcdCp1ciEuC8j08QeLcPAyGrWtZBkKlZU/HxEA/QDM+PvF2I2GYNag==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1THg4QlVXQ2dFSG0zL29h\ndW1ubnpzeWt4cE8xMkVQbTU3QU9wQlkyWmk0Cm02VmlVTGRnVmhDdytuQ3VxdGRS\nTWh6UkpKajRiUnJxU0YvaWdhMmN3akEKLS0tIHJvYVAvMjl6eDltSWZsNjFvOHNX\nbzQweHc1d3FRK2VaVmQ1UjN1R0pEbFEKU/nabtnnzwoTjrJ7Rib44Fwfcce52Obl\nsoz5ZSOSGJSn4h/usUg/WoEJYe7Ill7skxlUXExAdnvIpMrBpQlcbQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqUUg4M3hVRm1UMzBzSkNt\nVFU5bXNMaW9LU0ZpRHlITlQ1dTUzemhEMmwwClF3d29xVDQxVFpuc29kMUYvUk1w\ndW91dDFYbmwyQmJ0T0Z3alVncUIzazgKLS0tIERGek5Oc3pMaTRDNmJXRjY2V0Z1\nM0hMa1RiWVFDeEh4UTlRa3FpSm80L0kKU6uM8MAztxg9v0kGRChJu/DkTF/rnu0j\nxFU0VqCP9VhLMXCkyr+DxgwGRvTkWbKwlSmpffi6WxhOj/GWkY457w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCUkE5L2RPRG4weUVBVGcr\nam9FVm0vYSt1NFZJVjV1ZStNRi8zUFZsSURRClRkY1d4R0xLaUw3ZWpZdnZUUFM1\nVmF3cFF5OWY3enR6TVNiOVhwOGRNVTgKLS0tIFhXdzZzTlN3VCt6UHVncTB1bHZK\nRkY4YjU4QVpFTU16VENMVnR0ZVl0QjAKMbnsrwvGcAVVpMMVmKR1XANWoI3ZmuCI\nXHQh+XzKcCOQ1tRG071RthuptK8ALxxXuGzNfXYqAhjF02v6U5SBmA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2TlpZM2doelowYmE2NklE\nR3UxK1oreHJ3Ni9LMmN4UjRrZGxtOWVJZlIwCkNVL3ViRGJybEh5L2JzS2ZBOTVU\nQkMvVGRYbGJsS3FXVTNTVCs0WmFLcW8KLS0tIHJLc1Z1dFlVTlFxR1FpTXluQ0JW\nVVVmcW1XdGhMTU9XWlhkUE5SRmNnb3MKyAjvmUuoFQmowdUPdvjWncfcmLTAQso6\nzxwgarw/Aj3h/ed4TYcufGOGjPPe3EBDEUaOnmRiaSOQ4IKqFYn30w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvQ2tTSHJiV3FreXFnTGdn\nM2xsWHdEeTY0U1VwaERzTlM0UlhkZ3RERXdZCmFHdFRrTC9wOHdLazNBVDhHcVM1\ndkZFdnZIV3VUZWtXbjFkNkF6SjhLWTAKLS0tIFppaUxZM3ZSamFrR3RCSlJsWXRy\nYmtPa0UyK3JlbHZ2VVUyeUE5VEJDdW8KO6AE2G7E08C+TAhEa0F25kD4fm/VLftT\nFrkA5KoAwv5tbtrLbRN7hS1JPoh2zktuH/v4o+bXhoKBOcftcbTa2w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVNHRycW9UK01XS01yZXhM\nSko4SXdlcGl1dFF2Q2hmZ1FTcHZiUkFyaVNnCjJLazZmWGFWSTN5dVNMQjVMblRY\nWVQySWtza2FwTTNrdzJ1aGlRd1F5ZDgKLS0tICsyYlNTam83Ym9kajViZnZ1aEVT\nVCt4M3hrUHp1cWZoQkpPa2t6ektOeVkKurB5LWVwA5Mc3iDe3DK91lLtEQUs3pRB\nrRAdrLhQqZUGFKTN9layYkjXRSt/tdTjhUlVZG/VvKwnNHJiVAlU0A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMUGZJckY2Q3VqSXZYQWp5\nNEc0WkFsSitmWEwvaTFWUW82YUlYMm40eW5zClBOeDBsb3Z3a1I3OHFMT1RxTHZ1\nbnNBRUZlaE5jcnVvQjQxaktkaTZkT1kKLS0tIEcvK0tieTZvdjEyTHVVckFZUERj\nQkFxc3dLQWd4dERiZGhza2NMM3JoSTAKkm3T5FYSo4DU7Pw4wjVoDtMk3WognNH0\niJ8f6kW907ypotbAH0NZffQtikzhO63F0cPI3zQxbx2/7Bf8lw6QjA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5SE02WXpFWVNWa3hUTGNr\nL2k4d2h1aENCNG1LQ21NeGdtQTd4VHRqOGhNCk1IMFphWGRhN3NMQUcrc1BzNmJQ\nS3FWT0lGQVRGL3FQSGVFQ0xnYkI3Y0EKLS0tIEt3aEkrUzRWdnhlR3RBSXBIN1Vp\nSWFoVldVZ2NtaWlxZm9oWUovUTdDTDgKRSA8p9CYvnnNEX2WARCJyqzMXKwQ1CBk\nKMh00D15+nQZO4Z2VCeOm3s1m7h9AuYzjYLK/igWGy0ZgAMfrpo9Hw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-06-13T04:08:00Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQSGNFU00rSERHQXJJTnpL\nRXNoYm4xazN6Z3dvMDZ1OTA2Q1g3OURrRFdjCkgxaUZaN3k5RHFGM0hTWkRybFBV\ncnVZVkFiV0NWeXJoWGloV0c5Um01cncKLS0tIGZFODFxeXVpNmkyRFN0SE1ZK2J3\nTkd6dzFNT0F5dTJ6VGVVYTJwY2xCL2MKTDHVtRp1uojeHJ2dILTvjQTXtWU0A2ZT\n6KEe5pkoadVoI3lu70RLyGGQuImGgc/ZsEJiV2CHIuKG17J3bexBBw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SGlxaVB4enJ3QjhmcC82\ndVlyc0JYUmhBbmQ0a3ZnSXRVUURmalZqZ3hjCm4yekRSeHZTc1A1dy9iL3c2WkNB\nSTIyNVVEWkNkRGlWSlVoaVZCNlo2WFUKLS0tIG94dFVNdzd3UDdBbStHWVhNTGp4\nYVFOcDNOaTFJN1hYZXVFSUh5WVpWSEkKzxXo3hCvdIROwi1v6nt73B+Sj03o5Mzx\n6di5nQH8X70hype2vEr85zfI92ON4fU6HdQXbJLVzyI1nrh5s9ZkiA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2TWYwdmQxVzRESGR4Q0J1\nN0JXK2V3SXB1SWJxeHJKNjFpOXI3ZkFTbFNJCmNQeHRiM281MXliNDVHNExVMGtX\nR3FZcmtTdWhtaU1NSmlwbjdkcUJtVGcKLS0tIEtJaXBsZXVBSFRnZjRWRGdVcVBQ\nQ0RqQmhMZEJ5cXBkVk1CdWZsMFROSTAKx+uAnbpXblkJi8zSiyJXO3UtHTydGbM4\naSN58lAR3yCuSuNHdUlDXr9TQfF4rTHEBGMBFh0ey/CmX8hzoJXiDQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxU0xIQzNHOUF5bVdua3hN\nY0ZzZkpKYzN2ZmZtd0VZN1ZMcHQrZjFnTndNClVMUmFzdWdxMk1LZnJwNFFKdkdj\naVlucjZibHhyY3Vxa0VjUyt4QVd1cEkKLS0tIEN3WkRzOG9XVEJDSzBvZUFEcHor\nVUZSTUJaSktuUDN1dkMrdHAzNU1udGsK90HcoYT9ojDuTux4LHBafFo2iTRVq9iq\nrcyJpnJnquLtyhK72CnRkfHNrXYWMOT5k6b0DTwvKERcLtyrbOnU8g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpZllMSHRDN0tUajdwdzR6\nOTdadjN3L2JFR2RNcVVob0NLWGlycFdMNm5RCk5XbTExc09leGpsMUxUTWFBYjhy\nMnNDazI5WHprMFRNWVc1QkdKTkppZmsKLS0tIEJWRzhBb2lKeDc5bHl6OXdvMDZD\nS0UxSXM5R2xOUU1Ud2s2UmRkVE5uNlkKAHjY/gUahrkgAbb+2Q43asvVrgdaKfWC\nO5JPHo+krBydvNZ2k4261lBF8zwJ++D+qZK396WxChMH/RhiiPUBSQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNUFhCY1FpeGhjRkFWUjdL\nclFpU1VYQk94bUFvMy9seW53em04d0xrTFQwClNGUFZlOW1tU0FJYjlBdDlRM0RX\nRDBQVXVSRFJ1VXVOcnJFdmE1bVdiU0kKLS0tIE9WSDJxWHZuLzhFa09QZFoydlNM\nVDZsUUZKU1BSOFg4dlZGVDkvYmFmc2sKf5rZdc/grXqm8HHSKoDqkjVaJV/ayIt7\nSlGFHu8W3TES2jsKZr/2BtXxGBQv9D5i9Upm2xM8MWn2mx/hWDf2uA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxYVJYL3pmVjRmczJjaTlF\nUW9OOGU5dzdWTHg1bzh2OHR5d0tNTGF0NmdRClQxNVF4b0Z6ZzF0YndvWmZoMlBD\nQXB0dmZhQ3N6S2VjRFh5bko1LzJYR3MKLS0tIEgxS3kzWHJSUStUcDRDRG84bGJ3\nYmRNeEMybDB3b1dFV1QxNmhJeTNCM2MKywwuf2TNR0VuEQcaZB4uYdxSyG6dzNiy\nX2/ke2xG8yApIKW5WIrOO+UgGB9i7ZdiGKUx73YUKgm/4IECfbHxSg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZR052NWQrRExVRGMwWlJ4\nV0lIQlI4bW5Rc1ByK3lTT3prMmc1azBoVUVvClpvaFRDdG5QQXBxNmlyUEF5N24x\nQS81QTZyRS8xT2V3RFVKZWY0YzdhRVEKLS0tIE00aDdzRm1sWmpVd21XY3dwZHBz\nWTVYaU11elB2S0JxK1lvUFF4NWRMVVkKqTMfsdlWzzpbSR54W8VANzIbzYQtZ/11\nwHF2cZHlrwTnucpoIWugynGsvu9R8x5i9lFjaNlavUwIJ2VR+BRMhA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0SlJWRUk4Y3R3MitrbjRy\naTQzTHlUR095S0VSTkdIVE1ualJibVVML1RJCnZtVlJjUFpkYXZhUElGZXo4TEZ1\nanFLcmtnNm5aSWI2Wk5OYXpyMlBPTW8KLS0tICtRcWxDd2c3ZHUyV2gweHdoNTlv\ndG0zTWJUa0d1U1RuN1VSbHc2VVNjeVUK4a5tW0cqY6su54HRDS+ZNdw+DB8ipxxA\ngMOE7vQwCzofvME5Vxg5Yf09nlsSwdhkoBZwegM/0vTTREM/oiwznA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLdmtEWXJDUUdKdjF6QmNY\nUGd3dW5BNXY0NnB3WE9aSWF3RWxiNi9TMDJnCmhxaDBEVHRWelpLdEgvT2d5Uy9Y\nOUFBK1ZNdHl1Mi9kZ0dZSmpVUVJyQzAKLS0tIFNpeDBFa25wNmhqZk5vT0dOYk1B\nSWhKV2JKMmh4RllQWC9EQ08wVmZ4UmsKQVCwHKBSFOTrG7z3njR7HV1CC/ijQksT\nB4iYhs8Vt91QPLvVte7P9PYk5yNu3cjeV65h4jHn9G/RzfUnnNyfPw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0L25BcUNmTmNqTldjc2xV\nVnB5bWxsNzdXWnI2MmlBOHVQamJqeU5ac2dRCmcwMUw5VHFuUUlGWlAxTlhaNC96\nSUdVcXJ4QUlGWS9xSmQ4ckVMMEJNZU0KLS0tIEpsRys5MVMzVnk4LzBFWElWV1N6\nRUVRMHVheGp3MXpsVlR2SjE1VDcxYUUK/eum+yorcNj3CuAhZVL7vUqGTNHW6yBO\ntF2RpTpIXp3dje+LH+o4wMFdFhi7x8EiL+o11NvTwOfDU4nyWWn73w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBRm9PMWpxMjlsTHpnMVk1\nRmFNclNqdFRPc1N0bU12VEpPcjhDS2JIbXpVCmo1TDdKYTZrNW8vSUdScnRSQnVP\nMENQUGg4Nm1ocEpYS2JGaCtsdloxc28KLS0tIHNjaWE4dFFyU1FBakhoa0VMZFBT\nTG1FODZGYUQwb2w5Z1pvV2tuS0xFajAKAADHxS6UTmdsAxtbR7ioemPLmxVqTEd/\nD1rhXomfMQ7NSkb5SUh8z7axGxY8BziVheQJWGwdIn6+u2KiI8b1ow==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBONlVFVkV5bzNud3FLdzhh\nYUJFbWxORTFaVTlOK2pscllub1Z5K05SMGk4CjN5cG5sUlY5VEpGd2w0M2VFc0M0\nT3FtTnBIbk9iNXh1ZlVaZ1UzUnRRY1EKLS0tIDhMWjhZUFhXYU1BNVdTVUhjRG5W\nY2NQamlDcjIyNW5tTkRWdVFCZUQzeWsKkms0SeBMI3MVdOPSq6e3QcTrLrDmuEOn\nOVK1NHeV7wYspVXjRMcCUX3d86Asf0E7rV942vlVxHX+rq9ueP6O3A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYYUp4VjV5d05xQWFXRjR2\nd1crNVZyRmtuM05aZHAzNE02NC9zVER4SVRFCjN2c0VlZjh6NUJheEFuSFE1cVlW\nTUhTdjhRNXJXanJFTEhlbGhaRUczVWsKLS0tIGlwRTZBWEhQSzFhY1BYQXdyMVVk\nRUFZcHQ5c1MyaVp5ZVJNamxuc1pXOUEKTsSzOuNOReMPZ99ICOW8/TCQBt8jjP6a\nO9DnwjImazq0i3HKjT+dgNYNlwG+MaUqUNdqIixjbE7s7pskSZlgjw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqODRqeEY3ZHQ5cHYzTUdv\ndXVrRmZIaEdrTGdKRGIwcDcwSVQzQy9RbW00CjJrQ2RFL1ZPSUMvQURZMTV6NkFt\nSUxvd3lkeTFYdnpsc1pGK1ByY2doUm8KLS0tIG5SRVdCcTBPTHgxdnl1TVFGR29z\nb3FPVWNzWGxxdWNlMXVVbDRmajVyMUEKWHTmJz7z2kHgHibJcy7258NY09T5H6Iw\nz6piXOYaZmFRDjj27HPz5pTEI4VXnO/7oWXcqodjGSvh2+427NSLBA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMUGlWNkg3aVpwZnppTUpY\nVzdaeXlHWUhFeTZsTDNkY1B2a1RRajQ5YUJvCmI1a0pOTjlnai91MjIrM1I2d3hI\nd0ZkOGk2WWo0U0hOdnRmaW1FQm8zR3cKLS0tIHBYdnFqdHRHbTM2OHpRcXFNN3Bz\nQUZVNnZSQkUxZGhRM2liSXZTRVRHcWsKGMhYTWmtcRy/WjxD9uWe+iQCEMncebzr\nnkOmOPHOdnvJY+WynTAbHs7nYKKRLizchN7WHLxWah39C5KzmTSQyg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmemhzSU45SE9VNzZwTE94\ndDQ5cUJBRDZPQ1dETGNZTGxUNEFaTGo2VzNjCmdBSndxQTB4eVhxejQxWUlSaDAy\nU2dEMFRlYlFOQ05ubEFXSVVJeHdudTQKLS0tIHk4VG1zWXBLUXpNVjNUMDRUM3Vn\nMUtueXJ4U0o0UXN3b3ZHaVpZOUJrTU0Kbs9GkyKT7efYaUpbt6bPFmtCb4sS9uM1\nJIINWHrWaa1QqVC1eCswuH/LVO0xPNxfnDU8i0Hk7HEcVCcBKjLtEQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-08-13T10:17:15Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGcEdPbGJ6RWFZYUVKRUtZ\ncDFYQUxEYWhIYUtxQ1FFZmtrbWdSTU5GM3g4ClFXdE1GQTZiM0ttZTlMVlQ3bVpt\nY2w4blVpRFppclp5WFlSWnNzRm5JT1EKLS0tIFFvZUdqUHE4VGVOR0RxR3BUQnJo\nVngrVlVtTHhCd1NML3ZpeC9XdHU4c3MKDXdy69z+LjN4qpVyoGDdCxFJBrJpNYY5\nr7eD0LXGxQ7Z5/YemPzc2FJQ+IUkxnwB1z7o0hYGQIrvX0TvpjlHig==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwSzRTVHN0TEJPeU5MRDdn\nOUV4UjM1TlhoY2E5eklMWVFWa3JmYjdnekJzCm90dDZOS0sxWnlqbE5tY2NGL3FV\nZWs3Mm9WZnJIQWpYeW8xQ0gyZWRVazgKLS0tIHk0Wk1YWG16dFJBTXp1OS9wSHd6\nZ2RrWlMrdjk3UG1YeGlZYWpydWxkUUUK1TPTtHRwq4ET1cNY5Ioq9hni+0wqzf7+\nBh8k4DFP+ana376xkL0JolJebZJk/pKiQwo9Ts4irZPSujDcIlUZEg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRUEZCdmdmZHJmUjhUTUV1\nZnFBQzl2M29MY2tKcnRyeGhNYUZlSEEyT0ZnCjRuMGgzZWtYQWZaZGpYWlJHMHVo\nNi9WU1grK01lVGZkdGZENU5XOTBCbWMKLS0tIFN5SkNhbXZTZDEwbE84T1Z6M0RS\nQmhlbHQwN2ZzSXR5Q1ZsbHBvOUdiZ2cKSTLrKPM0TELStaqGZ7PvTyQeotREzYll\nbVNpxfpHadfOYTu0Qn2d/H8haY58hYia6tzKrMFRrnxl8r5fnk4jeg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkTk8xWk56dkx5N3RXZ1Jt\naSs1a1dscVExS3VZK0M2bEJodWRhQnMwMDFRCnFuQ3Z2eDMxQ3dpeFl6MmpLYW9C\nM2tFTkhYNHZVMzVJbDBydkNqODRsUmMKLS0tIFN6UnM3MEFEMUFzNjRIZ3p3Wlpl\nQ2JoOEs4MDB3a0pIdzBka21DL2JsTEEKX1/oYpk2uNxfaMd5UDApN4/5wJAlybvY\nWKHCHctWxd8GFMHR9r0vQmy91zEkeXpCSGUTIe8fPD0hfJfSnbeGfQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjMjV5WjI2YmYzdWNtU1Fw\ndVNlUFZQYmVmallCNFYvOWxxdHVZRjgzWWxRCmovenJqL2JpRHMxYkZXS2RBcUtL\nWmRndFZuaW5WMFlGSWgrVFZuaDJid0UKLS0tIDVpaGZhVmFSYVkrQzlSeGFxQkFQ\nMklCNDlndkFTb2l1aU5Pa0FEZ2UveHMKQnm7zJxPNvCw92Jog76nDaDQYUQpSXZ+\nmbIf0daqIu4yQhKlen/I6p4hWvr8a4mvmVqIkwL13MNRS4hzKb3NLg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0RGJoYTZnS3ZGc09Sek9K\nS0NibFA4VFZGSXlCbnRCQU53WkR1ZGZPdG5rCnhmdDVEYmxVMXUwcmZLYzhJMzh0\nUFcwS1U5QTI4ZHZDdVNTSXhYZ0xNNncKLS0tIFV5eitHVGtUWDNIQkRJTVp4QUhm\nQjRjQ0NpNittcHRtUnNGa05wUzExS1EKU0GbPeVaKjhp+wBbF36EmAuAcYLSSDCF\nGat1MvC96CjULlWrTKVZkjMN4TDA5akPObij7PcsWHVRawaYM0bOpQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYTEZONjRZa0FvWVcxSkMy\nYjZKaFpxcnBYbFI3SFVzc2Y0cWVEZGlCVHpVCi9tZGFnazVOeHZEZVdnSmUvL2FE\nQnJJbS9KNmtwNElvcWE1WGVQcG1Rd1kKLS0tIFpzQXp2ODBiaWtCbnVtTEZyYlRD\nSU5KTWdJdW5oNUpLQmVIZXM5bGxMK0kKNMTR3OpNL0POPmS9SbMAPFzW33uaz5EJ\nnOTnSlaSe/50bBPiHY9P5UAmNSr6prA86FV4sneGDz9C8yxFGaA0fw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtQW1vUU5WZWovcm9zMUVs\nY0xXN3h6SlFuR0pPU1YzNC9QWERSVEgrVmlRCjZKTFhaVE11SWM2a0hLN05TbnBC\nemk0VnlveVVhNzdtQms2SUR5c2I5eDAKLS0tIHY0S0lueE9xWEw3dGRxS00ycmZ1\nYWNoVFVhVjd1a2oyeWc5cStLekoxSVkKs2GtyhNYE9ZfskfxBf3Y8nJN87Hh1baU\ns5pRlp5NTNKwtLwXUp5Cn7jBHd8KmiBIyJ/GMqaLJO5AP5+6KNJwGQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIQkxLOGk0ZVBPL3hFVjAv\nUytSZm1iR2dCcDVvUWEvOEtCcHpQdm9VU20wCndDZXRjQlBtT0MzOE1YNVR2R3Vm\nSi9FRTJkeHFLNHRjbjMwUHNLRjZzMFEKLS0tIHY0MWhveVg3VWhxekhWTTZ6NnBJ\nS2xtanlweElyZ0RKUUJDSHNtdFlYWEUKVgQS1G4mCeDrfA6Ugyj7qRF6aGho2AfR\nUpEp/Zv3SaWLRLGiqtwV9+6l0yDj+L7As6c3ldkLVPrNnXfWEMshcg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtS3JDY2NpeFpJNi9HZHF5\nVkViTkJvdUsyTmVEMUN2UVFBQ0dybUFLY1UwCnl1L1RTdGlkYlhSTEQ3N0xYQzBj\nV3lTRGFyVzgwWDhJTXMweVhsWm1nQUUKLS0tIEErL1k5QmpkektkNm1ocjJ0Mlg5\nakpySVdjQ1c4Y05PUi9uYTR5V3p1bU0KCM7XHKnwS356DuKE/P0uOXO4Yu6Eyi58\nDtmgsaojXMnD9+dIP0Y1+2BY6L/uXizEakdfLTaGJcELq2sZX9Qmdw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjT3hWMzVaMTh0RFJkRGND\ndC9zUHpJYUcrQllFVkZRZWVBNmFRa3ozZkZzCkxtNDFacmMzTWtiV1VyZXdzRkg2\nZUhhV3Mvc2FYSW9nWkp3eVRKTjdCOEUKLS0tIGUrYjlCQXBLcVhHWmFTV3BRc0FR\nZGVEUjVYSVEwSmpuVXpSa3Z2UUw4SE0KzuTxHeZ0eODvQvHzgjop5FOWhDTR8MeO\nkF9Kv6kurpZuRNRmWZ5hlaMoyT2D94SV/YtW+PGvC/7ZeqTObSiUNA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiK24zS0h0Q1FEZDBKM2t3\nUHdlWXpaYzNQQzQrN0NPUXVVdWo5dmY4dVZrCktNRXNvVDZpejIxT2FvZmlHWlRU\nWmRZb1N1VFJ0ampRRVhuZGJIQU9pL0UKLS0tIEFXZk1zLzh1NFFKQnF5RzVSM2J1\ndlRXYnFUTFVDS1pybjRzNWkyaUlyQmcKysTv+9YJ7E+KBBtzlAlilZlkGg94nWGE\nE773pduaDN12ojMfc+JPdOU5oTISZk4/QvBL+kmAQI8AlmSap9Ix4w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaVENPRTgrUUNZYnovalk5\nUDdRbmdSVW9kdUxrZ1dpeGp1K2YrSjJGZ1FRCjZJT2p6L0lRTkhTZmlOWUkyZjh0\nS1Nqbk05L2krS2xTU3B4L2JJQWMxOUEKLS0tIDlyUHB6d1pURHN5TjRaWU1GS0o4\ndXVldWJGVmpDVExNcHA2NHpYSHAwZDAKfqXzRXCTAhCYme3Wf+bJqQU4kFCy1wT7\nPPqjex3eeYBSFkwTzx/cPNOAJkTXwIPziVGjJ1dvqaI4LKPel9QZ8Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhciswMkkrRDVBZmdSeml4\nTkhHeUh6UkVUb2tielkydmh5U0NmaGVWUEFVCndra0ZLeHYwaS9lMHladzVybWNX\nL1hsYlFPTzJCMElJZ2hWVGcyYTdCZkkKLS0tIHI0b3lyaldqNS9WT3BZUjVKMmZu\nZzBmakRFeHFxT0RMWCtONVIwV0VpT28KizkDpls5SVyypJY7aUF4v1DGdVLTMLLM\n2efp7mQB5YYvjKzXCiG+hYRWSbIS/5sHtE40ofmcCPijj7jY3wegUA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3WVlGdXFFVGo0RlZiYzFn\nZzdiWUpaV3ZhVlJEWkVmM2NZUlpBbGNWcUJrCnlITTBNL000WE0zY0lVeWplZmRh\nU0cxTnhWeVpEcEgwWnRzWDFiVld1ODgKLS0tICtHNFpyVEx1aGZIWnBhWXhCTElG\nNmVqeWgwNlFWbzkrd3FTcVo5ekRZbDAK8yGUHZbfwBgKuhY9lJN6X4ZewQLGqNjN\nysEAeLppIqLoz96lmFmhuIOju+z40wBq/lLn4YoAwkaMV9z0dvKA3Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHNHlhMkpscUJzdk5JMXVI\naGpjdEYxV3BvdFd5bjJLaUNQVndRWERkOXk4CnU5NW9aS0NNVEM4b2xvemtEc05V\nT3h4UjNOZ3F3ZW9VclQvOTNtcER0dU0KLS0tIGN5WisxWHBNQk9sYWlDbUp2eE8z\nR2RweVR4ZEo2ek45N0UwQWM1eVBFdUkK4e2noR5Xn8evKxh7GbAi7szT8uXBfn8K\nqgWlCWkUusUanRqJkmdi0y3zJxjtgs5bMU8JSF14hTwWveoIc/Ec+A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeUovMXBJRTQraUt4NGd2\nL2JkdWIyYWo0S1RJT0hlZlVaTldadFNRSTNRClc3c0QwYVJ2bkZBWmE5cG55TnQ0\nbGxOS21id2lrV2pia05XUW9nKzRaTXcKLS0tIG5tQmdXVkh4czdzRDZwa1l0bmN6\nSWcvRlpNTFNpZEdQRnBIclJiaUhSMGsKgEOyyfSggqWUrS9hW1t0e1nOFxXzHVq8\n3tTEiMwpQTtJ8WSC1H+gPBUxoSBt/5S56XCHDQrLCojIseYW8FFR1g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-06-30T23:57:28Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNcmNwbU14bnFkTjMzYTZp\nblRGR0R0cDlrMDl6VDRRZmFGanM4NHY5Q1MwCjg3U2dtSGhHUmgrRzZVREZsL0ZH\nQTRyRTMxc05NaC85eW5Pc0ZJdHdFYzQKLS0tIDZFdGI0cTUxSlEwN1ZpMzFzMHlk\nWlJKNzZGN3N5bVk5cUI4T3Fya2NaMm8K3R99wPFdFiEtPCen2Wa9YzwxXnEcJobc\nuG8xvQUfUY/n0C2Ch4NJ5m9r+76WrnY3uG8f5o3OgWE9AiY1PUSZfQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZbjRLeFR2eUJzUENSajh6\nblFTMkNBRU5yak9BSUtnRnJpRjk1b1I5VzNJCk1ZVk8zaURnd3dISE1FWkpiYi9W\neFpXb2tvdExMT1ZlWlJoemdMUHczZEkKLS0tIGxkSGk5NzNOcVNNU0N4c3YxbFdE\nZGlMRzlRZWxaZ1ovSnU2Mlp1Qzc3Uk0Kf/jxKZF0dsYUFJHMXlk2mRV25s44nkOR\nxNHN9+Oq7h8fcPsE3dpFTajhVlbYNNY0Bkp1eBf6AVTfSQM5vhJUIg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzQnBHM0JJc0FJRUtnK1dV\ndmVwS3dnN2pKOHd1dU5SZ2hDT0grZEFHRFQ0ClRxcWw3NlM1Q0ZNVnY4N2JlUXpK\nb2l4cWVDNzViU1lYaStyK3pUM1Z3R28KLS0tIHhoVGtNUHVUUFJ3bFUraTJDdGY2\nMEc5ekh1a3hkTHZCNTRUVytieDhtNVkK7MR1CCPii79Yk3xJ4A+6oYnI54ykEXQM\nquEYdontLyX5s061p3PmHutEHOIGpQDQDDunbAnfIdSKngZuX/kY/A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxWGFIMFNOK1VneTk5Mkx3\naEQzdlo5WnFSQkplVjdyZFRveC95MVBHUTI4CmJDd200bnhUekRWOGExcWltUXUr\naGNmZERyT2FZQUNQN0JPU3V1MTFpSVkKLS0tIDJDcXgyN2trc29EcElRbHArWVdt\nSDdMT2xJS0J4QURiZFVjaU1ud2ZzY1UKecdHxE7a63R4qXg0sEPZ8K4JY3Opix2W\nVGs5fE6uV4NqGmOyiC+wAM+b5/5PJHX9TnhN1/QOwOUt5KNHljHV1g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUUTJLbEFsUW9LWEJrRjIz\nQ1dhZ2dGZFF1TDFSYUFmcERMemhaT1RXYUZzCmhCN2dSM0RJSDQ4WEtDcVN3RGhK\nUldnWHpnc1FWV2FOOGVINjZydCtBZ2MKLS0tIEJpaHB1KzBnQWg4ajA1dE9zU1FL\naHUrMnJQYk1BM1NpbEsrNWVBa1hXOGMK2gLe3Ddj9ErlzkR0RjlsmnEiY84VBMj8\nKV0NklDpxRdhYgrEKcJi6b+RZEKDLu1vlwGj70AzJUv3OK5uZoLCSw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGN3RZQUZUcThqWUpnQnhp\nc0lSK2lIbS9LSmpLZitnMGVkZEVJdjJaQ3pNCkZ6cG1mVm5kMzdhcHdVTjBuR0Nh\nNXZidDE0Z0greTZLanhrdm1ibHNzbWMKLS0tIERrQ0d1cEpUeit0UkkrbVBRU1dn\nSHZ5aWVkUWVNVSthOGp2eEtHZFM4L28K0fgqEtTV9z6IDRK7MXvgkIn3L+IZpVfP\nhJCcy1Qu48UZ8eCDaxPkG0VQwjdEHQXh+a+goMDaX+fmfpshQoF4qg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0WkhZZVlFaHFqeFp6aVdB\nMGRJSGVPRmJJeCttRjIva1pKM3EwMGVkdDFZCnFGTDdMc2ZURXR6NmRDTkRVYWg5\nbmd2V0FhdjNmQUx4b1NCRXEyU0lxL0UKLS0tIHJQRy82V0RkS2VNUGg0cnFFdHA4\nYUdMUStqM3NmRnVHQys2dzJ1cmhWYXcKxWRun88b2lClrI5zKl/XC8glXbE7nUFH\ncPdqSz4mYsPO8f5KZ8GZ8UZ68HBjrlS1vW6Zt1WmkUfXK3wOh2oKVg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0QjNKbGY0ajdnL1NDNzBU\nTlFuWnFWSFBManRTVnc3dHlER3c3OVQvTFdnCi8zVXplbzI5cktYOGxoUjdOY3BJ\nNC9jRlJwejZYQ09ReFBxN0RvSkpMcFUKLS0tIGxnczdZMnAvdm9PZWpUcGNSWndQ\nalFTM3VEUVhYeC96MTlZdFF4WmVZUUEKzEt0CxX88E7UggFs8zYARCC45L9aL8XM\nZdvAWnFmgEStZZUMb2pLUihGW97mjuOyyCQPzwrFRiu23HjHgoU0ZA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAySFBJSklZTHo4dE45K1I4\nUlExQnFTYW5MRTVVSVRJWEl2S1FRaWp4ZUU0Ck9jTzhVUlo5RWZaMFQ2KzVONjJa\nalVtaGhQS3JIOWhsVE1MYm4zZjZ0aHMKLS0tIHpqUFV1VDc2bmpuYVp1ZzAyNmFW\nY01lL0RiYzVkWXd0RmlOcFNKc2duVW8KltSO3djgCUNcSZTHH1rWYqVdgVfZayGQ\ndCuL6pBM2wH2qJrPnVJ+JpwIFKiw+8cT8GKWUsnTqzbuvcLPrP0Yjw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIWXZXM29MWVlzQ2dEdi9L\nSkNlTXhUMkpwUC9UdXNwZTFsWjF1M0pZNzN3CkFKcHVyaHRzbVVNK3ZvRXBrTHNQ\naEhLL0puRklJbkgxK1VoaHZkRFF2ZzAKLS0tIFh2NVFJbTBmWnFueFlDWnkyVXBE\nZGdGTkhMQzdUQmpCdGFyRjVXeWZoMU0Km9gc4GdQFFL3+O54TT50YtqkDtFYQggF\nqbVBXNjX8saxODceotz5+Kb2M4nkNl9k94K0dPIdbckLZasTfFHuWw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnb2ZweHF4TUdBVHRrN2hJ\nQm5hSVlhelVYTEN1dWxvdC8zR2s1eXFDZ0hnClh4cFdqeFE4ZzdOVTRXZlJsaGtk\nc1NadHhhNVYrc0xBc3BmNk9Qd3k3T2sKLS0tIFVlcDV6c0UwL2R6Qm93a256UEpJ\nd0MyWC95NmFwdWw1MUlNajhMdzF0TVUKVbkgJowUZhmUWZxlcpxvnpobNRcKZSjj\nL6gIV0pBc0eDlTokgDSdQXfODckZLu4pH8m3ki6SFSfdEUKPQia4ew==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJSDQ5TFRXOTkvZmZLS1JP\nYkh5M2pXNjRoakt1cnd1R1hpZnREUEtJVUNJCldCTEhMaUVDY3pHOU9IUFh5Yml4\nN1VLd2w3Z2dFZFdqNjIxa2pWTFBKLzQKLS0tIFpXMDl3bitkaDJIYWxFaWdibSth\nRDI2SGpxVFdKSmIveFIvLzQrMEVySVEKUOwds3HEfKN1KtmkU1z3Q8c9RUkYH8my\n3+1vjanX2pgYhdEd4X0N6Yfn0JohFQWUbc2k426D0OSQQal3V38zqg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIUDYwTUhkczVtQWIvM0Fq\nYTM2RGtDakd2dW5ZTk9jL2pBMUllVFJ1QkN3CkdqemhWYm1MWmE2YUdxdW9tVG9k\neTAvTHBQZm5rWFd5UjgvWUZPbU11ZjgKLS0tIHg3REMyc3RjMkNxZWkwd3lDc01u\ncHZPMjVhaVU1Y1d3RDVRMFIzRzk4d3MKL/kyWl4hR8iOI1/7RbDw20WKmKHf6xNM\nzc/rs8OVgOcLjjVLFq3XaQ65kI4uQ7NdbKJNv+PpDMg/7T/M5icEJg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhN3BzeFU0d1lOSTVLWWw0\nZ21POE53bXRtVVcxbEZyY1dVMUxrNDdvd1FZClZmdk1MQVhXMDk4Zm8ya01lWURx\nSGRBVEp3RmQ4MldVOFE3OWlnbXkzQmMKLS0tIG82MGg4TjhGV2cvbEJtak1QdkpG\nUnMwM215WWF2UU5aNlhsUHpOcGQ4RkkK5V2ldURjODktz57kq/Sw95HM5xt+qsZb\nkt51MqxZvVfOqBTtBljwv//7HofLj2i7igz8L2NC2xOMJfNLT+SCrw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTSWlXeWp2bmYrV3RTK2RX\namhyVmIxOXlENndPa0FCWUIwS2RoUkVHZG0wCjNva2IrbmhZU2lXanBuWDQ2Y1E4\ndVMxaTV5MmkrWDFjaWJtK3dyL3VmRm8KLS0tIHZ0bG05Nk93ZTlUTCttamcrK3B6\nbWlzendodm03M1VmYmJCVGJsKzJBalkKgVhZ/nmbqVhL+pBVOnM4pCPev6do+GP1\nSSeycSfnrLnxfSNFB7FXcq0VNshzeMo9RD/3qNjRfehXvXgzD5MnDQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2bjdDQXJYRythVTc0bDhD\ncWtWUmpBQXZrSW1PRThKS0VmK3A4V1FPa1JRCnhLVVFRT040bVdyZWVXRi80cS9j\nK2RvRjNWZ0ZieTh0WlA3aGxHZUdYWUkKLS0tIFI4TG84TVJnaXJEcDdYS29SZTRy\ndjYya1BmT0JhWVZQZ01FbTJsNGVvcnMK6yi1gBnKlXgEk/EzJUXMeXmsocDHF0ZM\n+yxXP/8YnBwpvArxO2hSNjjOrbU2NFfug4S1UAlYcBlK3Z7/tRAF9w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIYmt3UWpVZHF0VDV3WCtj\neEpndlZkVjVsS3FiTXBUMWMxc04ramZndFNZCnQ4empHUTBCUEh1SWM2cEkya2Fn\nRk9FYlk1VmFzSURrWUg1djU2elpuNWMKLS0tIDIrOWpmQVZaVG9wc0VSa2Y5ZU5K\nZnNSQ1BGT2VYUVUvNzZZSkNJY2xBSTgKLHMhtBgBYxxoGQ7GfLzc0tR0rvccqCrX\n2Ibez3//z7MeF2ZDhx98m2i+JQ07/l8S8T0Y0nqDeuv8KWbvszCkcg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-04-27T21:10:14Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsOHRvZ21vQzNJeXlVRjA1\nMzV0R0ZLN1JlbS81N2pnaEdsTGlCK0ZUeHhFCkN2T01DclNDbWtpQVQwbnZJazE5\nVVJtVGROdzJWOVQxeDc4eE5LWnpQZFkKLS0tIFg3UnFyOS9NeC9Wa3lJWWhmQWQ3\nbXpZMzhueE56VWlkRTFqN2EzMTJkelUKfikoZKm6z+nLooKWlHcr5Y204yPjWiuL\n8mezDTBk3c6YJ5vEGVWbrWoWPGqQ7kPPBUE1oJhoufGbtGOYNoMvcA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSZXVWT0U2T0ZncWNBY2Zp\nUFFJVExzVGttVWRlUVl6eGlEd1o4U1piSzBNCkxMNVlhRUlPK05WZTZURUt6R0po\nOEtscHRISmtuWU1wKzF2Z2tGZ0l0VUkKLS0tIFZnNnpRRXJPU2EwRlA2YTVaNnRj\nZEVFZWgzUWhCRndzZUJ5RDMvQmljUGcK6YWOAZmXSnoIwpBngkK7AHyzc/VGct+y\nEUIfj9K9DAEdkZZ0CfPMAOy6au5HvcWJ+ihmxfrDdtIyBdpaFmNrSA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2enNxVDBvNTl2REhpZkhN\nVHloWmpXYWx1YVZ2NEJNZkNNT0d2ZzdWUVRNCjdFVUlZbFIvRXNsZkxjSG1ITWZ6\nd1YyQmp5VG5hc1QyQzlhdzlpMDRxUWMKLS0tIHIrR215WWU4Vk0rYzEwelJOdXNG\naFZnT1doTmc1NGRvNEFLNUxScTBoZTgKKho/h/I1LlzOy5ZbEljQ9Q/3QNI9p9nN\n+g2lfENI4ZVbHJSWX9gQnj2DLVxW5hATUvl/3A4j6eUcPYU2QUQ+bw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDSVUwbE5uYWF6Nkc2bUlH\nbjdqcXl4dEhIS01idWVyUUFKOUwrOXdienpVCjk3bG5qN1YvRDBpemx5OFdnaGk2\ncHZRVXhKaTBzRFhqaFY4dUJUaHU4V2cKLS0tIE1kWVA1RXJZcFlzZEZ2T2NZVVEv\nVG1BM1pNc2ttcFdSUFdPcWkzdk5LVW8KaZm8fGw9SHPN1j2LWOs9WN7YIJ2k8fJK\nAfW7kmdKxW3zbxQfgjdfBPEeFg0fhOndsMWroF4u9kPWSnVPujC1gQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXdS9BL1FHSGhXQ2xZZWtD\nNGVrYW13aDgyaHpkMUFOTFpxZ2ZXYzFEUFNRClYwKy9DL1BvaE5MVzZDamdsc2sx\neDhaS2hjOWJreFFWb25NWjU4cE1ZQkUKLS0tIEhzUzJ3R2QwajJybG5aRE1QWEhs\nY3N4dU10N2R1VjQ5ZVByQnllSCtGTmsKy4CZvTIqEu7WuHixy8zuF4y1OmeCOplB\n5RscLEV3x45KRBnQRN/awO4cC4BD8O1Dm8nvgrhyQk/6uuZIZs8M0Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0Vmw4c3ZpVk5acGZ2LzBE\nR1JzcDQyUDRqczJGZTRxRVdMRlBzTzJ3MUVVCllsNHJQTWFFU2xHRVVxM0Nka214\neXhHVDQyakFOeDkzMzZHZHZHZmZKVU0KLS0tIHBIclgreHFVYnBsK0JXd2RaR0tX\ncnRUUDRkZ09KMFRjVFh0Nm91L0R3TFUKfmspzS6jsU+2FjD7InLGw8i64dA3dB8L\nNhnHOkynnO2NjWNMvkP3ten7qXo38v6m1jCtJ50nkFjbaoCJboTbJw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaQUlWbU9Lb2s1emFTWTFa\nSHVhMUZLbzRnQ0ZtWnU3dnBqdy9TWjZrWHk0CnBMQk42NUh0Y2dvZTJvN1pTZ01q\nT1dDM05qKzJSallzM1NpZmJRR3hCQzgKLS0tIC9ocnVzREZzcUVRODc0VlUxUGJC\nZDFkQ3grOTRWQnRMTkY5dGROZjNtazgK80OFLrUqPic2aOHxDUEV6Re8AqOsrvt3\ni6rwinsrV+ppTvY5A6xFpxTq6LwopC9ATYjVjHJiIMYRxv+qjPbQbQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5YjdQSHpXTXM0MXBsNWEr\nWG04V2VFcDYzMUVYbWRDR2xHRGMwSnBudnpzCkJvRXBROXFuVUFwRDZXQmZqZ29u\nRUJLcGZKWnR1TDUrRnJrRmV0UEk0eUkKLS0tIGtnZ0YrckdZR0NSN3c2ckJ1ODhG\nRHRGSWdjakNDdFBkSkpGQm1SR2RnRGsKqfkVvM6OoIzogrIMJq86PHDHuM/JNAni\nOZegNK0WpYmq4/LpdE+09R0BRmpFWOyTJEpZ98okJAM8aKGtRh1Vog==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaa2lHdms3RzE4ZFZDNmFM\nTXZvU0g1dm9od1pIWVRwbXVvbFdSOVhJYVQ0Cm1TbUhkeE9kL3BVaGhRYjAzbERo\nME0wRHZjVHJQNFNGNm11S1I4OTB6UTgKLS0tIEorRU41cC84cVJaaGd5T2k4Sm1j\nRG9pRW50S3RwYmo5VFpGRWpvTkZRcTAKgnt43ZSC4QoNicEHTddUuM9UNYxwY4Jf\n/izPmE9vSRvv6O/WCuGDcbhRZpqXnEZKqTpFtVmhAcPwfEz0OzZfOA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUTDVkblJVMGw2YUliQmVW\nK2h6Z3RVQS90L25vQkNLVDI1b2duWTVpaGlVCksvWENsMWwvWkRrQW5keG9tMlJa\nZW9KbmFyNTlyOXJ0M1pWM240ZHl3ancKLS0tIFFmQVpnOGlzeHdMb0F3RFltZGNW\nclBsczZBQ05LM2IrNlhCbEVoN3VMMDQKR8LBe0G9jSplKVwrHo+wuYT9UZM5QKks\n0JzgoewZYaWE6GoGuynCmgkJaKrU2WMEax2UcAn7LrWLwlx7zA+F2g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQbGFaakZoZ25ESzhNUmxR\nZWZYR0tDeGhXNzQ3UGRkMzJNTkp0b1RvMW1VCklLZTl3V1ZKVUlXZHp4MFpxUENU\nTFBmVEhqV1NoRk4xTmcwYzU0SGFYNEUKLS0tIGRQWHNsR2hqbThHODFZTHdTRkNj\nd2F1MjFBdjNPU1BJbUNJK0FibVdsVG8KmqaQb+r0YFvEJzvst66xB9HKYkRw0Zj7\nnMkAwiijAVcWjX95Sqvuo6jN2e70SmxZmRTnyZXOL11sR1U4/U/qGg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkOTU1YnM2cStJSUYzRDFh\ndER2RmRNeWFZWW5YQ0dZY3MwWGlWWFJ2T2hFCjRNT2VSMExBYlN3blArd1NWY0RO\na3NUdkZSTzFwWUpjTUN2c3pKaHZHMVkKLS0tIHBkUUpLSGh3bTFTbUc1ckJPUHZv\nWUlQS1ZNVlA5Q3pqSnRRV1pkR1ltencK3RHk2lrcWcidkRO/MBmYgVllqP+ZTwmn\nNKj1gydSbtkboPTDu7tashWA54OY8OUEDFUERN0ZsMF+5wn+xCrzbw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6RzE0OWo5aTZQdlJnOWtz\nTjRzWlZlN3IxK2U4RWdYMFVId0FielZ5TUVFClJreXFRbEdGa2tNRitRc0licHJn\nMzIwVzRWL295d1IrLzZKMFRLUVY5bk0KLS0tIFpuVVVpa1gya0JmNDhvbDR1Mmg2\nQWxrVGUvTnNwWlJycHJXYktkNWJoRVEK2lkqOwiQCKBiCBToAuisVxN+Zk7KPZlA\n1EkBhG9BiD6udJ82cKJS3OJdaZ0rXu8XbIejwkSuyb4vA5tcgR1VOA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUTnc5bzh4MS9rQnFXRlFy\nUmlJb2YycnB2ZlA0WnFmL0ltYUhMaGVqVUNJCk9Xa2ljSk1YVEF1dDRvajFhT09a\nY0RiMDd4MjRCdU1QTE1RbU53dEkrQ0EKLS0tIDlObjEvMGFQdkRmSHpSamhlMXd6\nM2FUeGo3am5SMldoKzZ2cDR5TjRGYTAKV6YX7BCK7U1y0OOX3cyHl3PwTcXdzs+C\n5Za16Gt3zpY1De5xuOGQSdLtuhbc+j2TXPP1BjS60KmZp3/benTH1A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUbzQrYmtpUWJQWmg2QjlI\nY2I2QVg3ZmFKT1NDdzNmR3d1cjFEZFVZNmxRCjI0b0M0UkFjWC9BS0NYOUNxaTVj\nUE1HWmFYUzhmdmxaRWVRNWVPQ1RDVzQKLS0tIFBMdHJ6Ykp4YTJqYUtxbitqa240\nMVozY2RNY3Z5RENJTk9zc0J2bXpFSlUKnQvUIA22JlVfEeWrnn8y3UiJ+Rqf1m5v\nFqxQ3ndh+j9rINpt3LvhuGdZqaTkewETdlTowVT73gLITieyRQUxDw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKMXhCRzVmNGFCZVZ4cjZn\ndEdqK1htOWczL3M1bDVrb1hqeE1SNkY2Nm1ZCkdoeThESTZHNUhpZTVwa2kvV3lD\nMnF4T3dDTG03cU1SZ1BuY2pzcng1SncKLS0tIDkyS0NsYm44RkE3NG9MditRKzBD\nL2o1dFBURUI2T3lKckdHVllzb3FWUE0K+qzPZWUIXMeXWuzpAhNES9Hqi98Qj4jT\nU/uff1VLwjE3SDwaFwW7rVur8gews4Bxph1qzJfZVnRFvON6xGqzjQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwcXlNMlFUaWhXbmlPc0Ir\nT2hRd3BMQUZ1TkVkWGlrdjJ5ZnhPdWhPbTFBCmdzazV5bzV0aTNNaTFpaDlBOWU5\naUdBTFlEeWM5T1Q3UGhrZWdGZkVPUzQKLS0tIEloSFVJd2JCNmY0VkpqTGppRE1p\nQ2Mvekx0RWN5dlhxWmwwaDVnUUVDdFEKJgyAed3yBaIBwfxypG7RKV+u80SiQV89\ntU4YMw0j7GvnkVhPenB8q0w3yrslCh35GDvKkaMpfp8jVFIpcrRXtA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-10-28T10:34:31Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2QnFzT1FabkJvWVJtbWdH\nWU9nQmp2cUlMNTRWM09HNGtibmNhNTRhT0JNCjNMdm5ScHhlWUN4d0R4cjRNVStz\nd0NLbkJpUHJtY1hYYWdmNjdTcWEwZk0KLS0tIDFmejRkQ2kzbGczc215QTluS1kv\ncHJtTHZZTmFIaDUvZHQ0UkVmNUlmVVkKoDh96fosdZ0W3FmnTkubzn648sSE0bPl\n+6V7njBcitIulPtv7vJS+RRe6CTI0hCATLw4wK08wj6y/QXUbeoI9Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBValk4T0NhN0lmdTdKa2lV\nSFZ5SFdES3Jva1NQNnpvNjdBNDVPYzdTb2trCmV0V1N0YVc0Z2hoMTNaZkY1ekRO\naUVIVG1XZ1BXTHhmaWNZSGNYTG1iR3cKLS0tIFNUbHRNSWFoN3ROc3VWQ1YvOUVW\nU1FZZXgwQzh2M0x6ZHFrb2M0OC9ScFUKqe0SbtfPJTkwevFZxdM/0Ts7WEGTwXmu\nnMf3r1e5G/QWHKFUL1KraoVD5Xt/GVqwUjfGJ0WPPPheI+yv42JXJA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQeEV4SEhsd2ZTUUtpMDVR\nNXVJYjBIYXlZNFJId3Q5aitmRk5jRExsMkVzCnRoMkQ0VUQ0RmEwWnpSSWd5cUdQ\nZ1dQS1BNM1Z5SW5MS3hvcVcweEdjZ0UKLS0tIElORFRxMWdKZUo3SzhxcHZFdW5D\nemxrYUxUUTQwRkJCSzZuSjd3SVgweHMKNyPLaqWCs6z5CkKin+pOezTQNuoiIqvx\nW5YyrphVL7q08LQLdATSRNRcaImxP0P0N8fhSVw2rvklYKRzTJOa4A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJNVVOT2UzeGY4WWpVWTYz\nTlB2ZmptekZZc3JYRVpBWU1tVTRDU3JKeHlrCmxYVkt0RWdJUkpRL2laaXVPNm8r\nTDRsWC9WRHpYOXlaZzhLNWFPWlBTWUUKLS0tIDRaemhtbmY3YU9RV2N4STAwcEZ3\nSHIydm40SENmdlBzamZjTTMvRWl5ZXcKMmbN8vCcY8Zr+UhmAHWit6D3TE0YTQ06\nwYsWQuQwvxmgf6k8BMpkaMt3Ech2RQJHCjpjHaLn3S92M3GeW4iymA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqT0lQTFVoV3FWenZhbkJ0\nNTlqUS9yV3JpU3VvbVNlSmF5RklFMTQzeHlFClM3K1duVXlkbHkrREQzQmYwYkNj\nU0ZvZEc2YlJxa3hSSFdwM3l3L3EzcnMKLS0tIGdub3d6NjVtaFV1OFhldDRqNnYx\nQ1NsOWxDZEFzZmswTVNmMkU4Qjl5cjAKIzP/HPFcomIOnkRSv6EQOmk2c8onhcxi\nLaG6xIjydye6W8sGRJxatthmRaxA0SsQKROwHj27EiW6GRZodSjKMw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFY2pTTWZSb1hWNHRUN0tt\ncEY0eHp5MzlkWDJFdnBRRTRQMWhLSk1zbmo4CmVtQkpQWjFIdWE0d3VTaU04QWY2\nMml1Y0RWVlUrbkdDZUJ0Y3QySkRDbU0KLS0tIE5PcmhhUitEWXpaaVlQSG01YzJs\nTkhpWFdUa0JDemh2eGh6dUcvbUxTMm8K9J9ygBOhYYHQmeFp7G4g/tlq5lFIplCd\nO63/B59Lv1tR+D0WMQCyTAIptocDZBUiBBWoGnrs3XSCcJ67ckbodw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCNVR1aWg1N3lnbHNoUlhK\nTjk0QkQ5aFFZMVhXeEtpa2ZQbkU0RkFxTVNjCjJEcjBHVXVLZWRMYVpwTFpMUnNN\naythd3BOdmgvekp0MUZCZmpmblV3UkkKLS0tIFRpZHFRLzhSdjBCN09rSUY5VUNT\nam1vQ3R2VnhUMThCN0dPU0ZlLy80Q28KehP5t4kIwUs9eu+8KWn5SCpvEKVnSHlJ\njR8RhRX7+f6hRP/OvryFxzGFmey3YApdHC3sDhvYjU8qDzs4xj7zAQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBESWhsQ2ZQeUl1Nk8zQ3NY\nVkdDU0FyQ09rcUZtWk8wT25tM252dktaT2s0CkJhWm1Qa1lXbG4zKzY0ZXRaSE5O\nNFVoQjZwSm9XeWc0OWZZQUFVUHFlOVUKLS0tIHY2bVJrWDhhdU95ZDZuU2VYQ3Bx\nMFZZek1GMVdXU1ZKUHBtcXRiaExRZUkKnC0H3LZVf1EFABg58sZDBXn8SEDbClVR\n10hSQFxe3XNQLFopJKdChTSeu4z50s8qgUPRCyqJYlPsrtSPqV8Odw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByMEVYTjlPVlBNeVQwSXBW\nMUxlQXlNMGhWRXlZdjBGdXRXWWlrcEI4U213CnFPQmlCNnQyOVg0KzBlQ0JvSS8y\nMXNibXlvWTNCcjVVYzdMczlQY2dONFUKLS0tIGh6REJWU3pxZDQrRWhqekxtd1hr\nSUlOK1Rka3ZsalgxRS8rWGdBTkZtcVkKfKlkXsWLtyAA7C0mPaJWyw6w4D2CjmfC\nMwLIYpKEUD2TIwkQZK7c0iY9m+KvsXtlh14cg+aasLpWHOYZ0ZLYww==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUVXFRRXNuTVJaUWRyRDIr\nV1FMcWlCUVluNWZZNUJxbU5UNzNsbHRLd1ZVCnlsUEYrWGtWem5DRElGaWxEN3d1\nWVNpT3d6d253RnhDamQ5Mkg0bDBQaWcKLS0tIHBiTDlMQmF4RVhqc2N1bDF5c0p1\nd3FiQjB6ckhJd3pSYVZHNjdhaEZEWnMKWdweoLlZg2CoB3VCjCo2J+injACNNXFp\nMjvWqzfibFetLNtxBpfCZY+7rhDDlT1njUBw1q1Dy1ZaIWOuJPYOwQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6ZzFpcnJXV0dLTmo2VFpV\naDgzMk1kYk12N3hWbWsvSXhEVHRjVm11QkJJCnlkdXRvekJpY3lEdHlCOHZxUGlL\nbU1DUWY1Q3E3b29FODVxVE1ROWlYUXcKLS0tIFVUNmFxK21IMWtueXlBc3plMndm\nR3NtT0NucVdKNFBYdlBoREgxT1ZsYWsKUAU+e2Jcz4ZPQpFcZbe62MS4dAx/xKny\nLInxd6oJEefUaVmSOnRY050qdnig1vpE7yMkX52dhgj0xsTwGwN3qQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnVVRFWnVBNVp3Qndyb3p0\naDFnRHUrWlB3akg0WnRuNHNNQWpySFVWUEUwCjRYOWJxRkVEYmpoV2ZSR2RmcGdr\nTk9rN2FJOGIyRWpaMUpFUXJ6YTZmYkkKLS0tIE96djFyeitLM2Z0MjdaUExQS0Fu\nNlRhT21mWHZ4WXBJSDY5MDlKZnhQNTgKzjHbxqT2oiGl5jR1F52CWf4MSICdAJng\ndZwTQbtwUNfwhzxCdQ8a8qWR+mOGsd0WtBlrT3c6Yy83HV+PAePFcQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5TWhwUWNDZVNudm8rOHpk\nMC9pL3pQWmhObFkrdk1zREZCeWxlL2pjeTA4CnBaVTg0LzRXVmt1Tm01VEgzWG9S\nY0NWaVY1QjdHL1EvcTBiZ2lrYnlEancKLS0tIERrT1RwUWNzZnNtQnVnb24wdnZY\nY2pmYUxBV0tzUWliSTg4VDFVK2kxOFkK6P3wplwx+ZDQdYh0H+BMZFA7qvV+5Z1b\nsakv5flbOXOAZxvIvFaDmSktIQnYdgMOmRoIW8q3gewCh1ddwkoxTg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4dTNwNVVmMUpCN1I2M25K\nR2VsY0c0Y0htbE15MktUZEt4bFlHU1BUaVcwCm9BK2EycTZFOEJBZ1VUZVdFZWhl\nY1dORGpXVzZwYml5c0tOUWZDVnEyWkkKLS0tIFdwNFFlVmhtVVZGRytDUWExU3BY\nWXgwbldKREdQUUVWSTRoR1AyNDc2VUEKy+b5IaoHLOha+kgVXlyOf2RuoXGvrMGJ\n1mYms2SLs+3/aUtz+nxGKm5H9aBSIf7wzjam6w9ASFIlQqd2Orpc9A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKODRpdWdQQW9vWGtCK20z\nS3pCSWY5eEN6SlBrWUFYQkkyWWhwcEk1a0ZJClBxQmd5ZWVXcXEwQUpzVWtWRWRE\nYW5vNGdRdHM2ckU1ei9NUmxldkx0TTAKLS0tIEowTElUMGpPN2tkeDY3U3JtOWpY\nMW1CQ0dQTTltdVFNK2hFaVlNUGI4dU0Kke+1y5EVssU3ze8jBuz+9hQ5BspwI8MC\nzlz5+lpZyfriHuLo8RmBmeRaQhfWMrXm42ah1VlasJj0xy9AJf5E/Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaeU5Bdjl6dDFhMXRuL3N1\nMVJ4V0VuQi91ZVZWTW9GbzVJR0FxejMrUEZvCkxxdjFzM3p6cjh1N0NFS3c3NWI3\nOHR0dWpUQ2Q1MzFyU2V6NlN5ajZqc1kKLS0tIGY0bG5BRG9zaVpqdWJZL0FhWS9o\nWi9Tend4c1RUK2QzVCtHalJBQ3l2THcKqUHi7CoHeUqRP/Dr/ZvLT2NgJJV3xC1D\nidZZgCRlrDnbcWnnx16tKyPNk/8pNGdnXbQrlgMMazkZEFqmznRZOg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsalRzRVFNVUlIdDBKWHF5\nMUJoTDNhd01SdFhkTVV6YmlUaGs3UGZ3VnpzCm8yY1hKNFczb0tWcUlsalNidmk5\nTWtUWVg4RE1TR0hrRVRPbEZSNEpmbE0KLS0tIGxuZzVrNjdRSmJsYUNwYkhabWxy\nVVYxVFV4V0VDbzV6VWVNaDVsNjVOMnMK4WjQZHawOgrqh37WvvEdOIqDZqMbrKSn\nQjZrfufh2+f7xy/vvAods2mYZAeNSGQJkc8vTsro/wLADhAuVqHl8A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-11-23T00:57:17Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvN1Nza3hHWm1pVzlpMGxX\nUWZJZUIxZHhRSnh1OXVtRWhEZVYxUGluUEdBCkZlQ1NNTjNLLzQ0MXZseTk3V2ZZ\nWGlSclRsTHBNV1ppVkZHNEpxb1dtQjQKLS0tIGxlUm9NRXA2WHhaYW5LZ2VHbjMy\namJHeFdsaVR2amkrdmo1b1RiL1pDeU0K5E8Ps6QI+8v3X9xJ1gvw7Rp1nv2G0V2i\nlWM0U8KG8qnh8rLf4Izal+68Zpi2MCKQ8cfyCrW/ga+GoxDq6cc+2Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmQUhjbjJlSmhodmVySnps\neEJYQmZiRjZFWHFMWFNWRXFZTmpjYkJiNUNjCk1DZ3huQWdrM2xFUlBpUGlFTHNQ\nM00vMHlrN01KUzh0bnpzMGk3YkdqaFUKLS0tIEpUYXJ6a2ppc2d3M1d0UnVLdHZP\ncnhKNDQvMUc3Z0Npa2NJWmlwMWxxZW8Kj20MRuKlcaiuBo0ftD8ceqS1Zd46M0x7\nXaG2C1WVZEky1/n2xr/g5/Xh4Jdb0+4kcCvHUv47085Qb5cgI5GuPA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnckJVVTdsT1U0ZVU0YVJB\nbGJHeGdJTTlmNy8xdGxGT2hmSWNpeTBWbUNBClNOdkZFL0x0d1NNaHFYZXlIV1g2\nY290dDUxVTBSblA5K2NzZ2pxOEtoZmMKLS0tIEw4YzJDK1lCMENlYW9tRllBZDND\ndUVQbURuSkJxMmRoakdiUDJ2ZzN2aEEKqXLx7YKJJ5/Z7tAkoOHqaMoTOpzHW+bQ\najRypOcADmw82uKq715djN+WAq5Xj8/v+94jBCZFmE0/Z0dSTb6I4w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZFN5SHpvS212b1RRZnRm\ncnJnRERvMndQWHhEdUgxVndLK29QYWNnWUF3CjI2NDZXZmxZazZBUG81dWgzaGsw\nNVdiYUxLQ3JNY05PYTRIYndHcytFUHMKLS0tIHoxRlhsZ3pITDlFdHRyWFRHMys0\nRk5hemc1aTFNVUQrajNjdHJ5Z1YzYXMKYOhinxnU+BTtsVisXDlfSdPl3SatBpO6\n1seSMvik/sPYH7J6D1PufOzHuSPi5bclEOANfN7Bvh2/cp6PoVwD7w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqRERDY0QzNkZtUDRMUkJU\nMVdUQ2FFNytKdW55WTdPT0tiV2JaVDNXemlvCjhhV2ZGTEYyU0dYNjdQMnBDMjAx\nMmkvL0JGWGh2UjluSFNZWVMrc1JpWTgKLS0tIGZnU1FOZ253bGFncE5UOXBKMVBz\nUHJ2NGloNjNKNUJha25jdXI3djg5cUkKD+k+RiS7LtDa8JlubZt/Tv3rlegqVjYF\nqlrundR3oVFJ+Y+VZh6a0xAtJexZ5BrdKtCAIgbdKAJUHF8lIB06WQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrYU1tclVUcjdXa0hYU3dQ\nYU5MVk1iZ2V6VXFOK2pYcnlUYi8xNmJjMUhjCmtkWXVDSkhKaEN5SXJLbk1EWksw\nSUlHZUVhbUQxQU41L2kza0hXSzdHY1UKLS0tIFpDZWJKTGt3bFh2VHpyelF1dUM4\nNW4vWkdsSExZOFY5QnAyQlJKQ0VwSGsKlHbOelGqu3KoznFoUdTD6CaEuV2p93yM\n2/oMEueWAy7pYldkHPEBg8cZNXdtvHOMEOU7sQcRyDB1ppXsMlIZMA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDZktDRmpmb3JtVHQ2bUor\nWElQYkdCLzVPYWJUa1VXOThrMVo5SDBKcEFRClhaWHAwZHBaSU53OUsySEUyRG4z\nNS96UFFlSnBTR1EvbFBqOVhISEtXWVUKLS0tIHdKWGp3UmZ4akFwVlNNNnNWU0hH\neUdZUkpMQWMxS2JHUGhWMnBZSHRvZmsKP6Fv+Opk7rNK7SBcqvMgQ0/hfv/PXRYE\nALCySAJpo8oEZ5wVxucJgDsn/1pWWQe7LvownV0ZoVwTe83/Gr7+sQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXYXZmaHBwU0xGeWp1eWZi\nS3BVMUMxQjFOcWcyYklrSW1JSk5PZFlTYmdRCm80NVk5QzlBMTZBM3FNVTF1NlRQ\nVVBUVm14clJmTG80VVYyUGxZNGgzQU0KLS0tIGE2dXR2UVpOeTUxSGF5YzZDSHdw\nQ1h6YmJhdnBRZ082b2ZQV2JZeFV0ZTQKTmLPhr/zH99UvHilzOav2YfdkQOxATLO\n9HcliaQkix7LLasS8FnLQ1ttg59QDlXfkTkWhyMu5XI7O81Xj3oGvw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3b09vMDh4Y0hBQi9KWVB6\namRzeVdsN0h1Um5qWnJUci92UVUvWVBZVzE4Cnh2SkdWV201OUhrdEpvdTJDN1JQ\nR21VeE52VDZFZ0ZMd1BteCtoSGh6S3MKLS0tIHFld2tabUJJU0FjeW5QWXlFNkRs\nR2tGYkE3SnBlbmg1eVhBU25iMEk5L1kKNeoho0Nd74Uz0n+i16sg9G6gqPdlf7QT\naLzSlmTfYWHL5M8iX5drzrz9zRzU8GGV/q0w9jeUApXWniaDPLfZHw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYM0hnSE4ydTVIbE9aRGtC\nRlIvS1hxZkxLOU9PZ1N6N2N2RzRHWDRpK3hBCjNDVmdwaFY4M05SVy8raENzaFlE\nNVFiMzg0TUF2REdUZHM5N20wWjlHb0EKLS0tIFN1dmdTS2g5ZXZnY2NIWWZ2TS83\nOXZmWTN1aXZONTZ2NTB1endoTmxBYlUKZ6pl9sDpp2puQ8UYZhd0/JmFusTfdbWr\nhxpDyMQ+4kdXztFqVZd3/MRMPGpJrlsMIHsCVdFBu0hquHGZgph9rg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWSmh2VGxaRmJFbGM5Q0w2\nUU9WMHc1Vkw3eEltNUdpOGVMcUJyK3dicXk4CnRyQlJIMWxiemUxQnlyaHNZWFRW\nRDkxbnlOK0xBSmxtNFlqdU0wVERUV2sKLS0tIG1VZmlNUGFSajM1Z1pVSWVxZ3pv\nUWQ3VjdLS2tRNnRJcjZ1YnBtNGV1YlEKd6JrmzdBOYYOOH0RlxL+RBdFrNfkKVbw\naDXCfMinYw23jFF7ZWUJ5N+WXj0O012tHgco2IidQyoaTnRQ6aikjg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2NFlUYThYU2dDcjZHckJB\nSVB1T0RlZnJRclRtRkt0Y28wMGdIZnl1T1ZNCkxNT2I0SFUrb0dISms3eFJoZnor\nSjdNai9pa0I0aEFNSlFsdnVWSzFnV0EKLS0tIFYrWlM3elVIMkFxdTd6VEJ4UVE2\nVFQ5Si9nUEptV1BZU1pETnVHTk40d2MKDupPEAcm9smyOOCbv9TF74wA+gr2rBAf\nPYoKhUPfa+KkahdUQDu19DPrGHfKgUO44hAR+sMqKPM9+0r72La+BA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZQmRiK01oOEN3ekM1L1hX\nd0dXSnp3VFdBUVhhUE1YTnM0dDl5ME5Zd2dvCkNKVkJjK1F5OXpxcmRYSjFuNVQ0\nUG92QXdMTTNCZVdIYUtram1Vb1pNcEUKLS0tIEdGclhOQVlGT3VydjFUa29VdFRE\nNVhzR2kxU2V5VnFKUmRIaEJMWnVxZzgKAhIQZJypVZy16g5UX7s3gXzwUGP1p71V\nzKCzCRUYvY6XUXIpGbXUmZyLqpUxM1wDlTbngfFTAmWjFzJTUm2MqQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAybXFsQTdyV1hpV3lteGxl\ncC95eko1MHoremczOEo0dklHM0FqRlBjdG1RCksxck5kWlp0ZTIxUzAxWGhxdGMv\nUS9LRHc0T0l0NDV2bTVCTkFqTER0Z1kKLS0tIEZXaFBWVU4zOEJSVDRPWlVya1pW\ndEdUbE9WSmZCN01uaTdjekNuSmNOY2cKMIeJFfDJVDJPj7sXWJKRQIEmFrZzPm7f\nmM6F3C1oT5mJF8GSkZ7HMrdbVTi/JL2t7yqZpeC34HMnLXMPHPTayw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmSjg2aHFObDFhZzN0MWVT\nSE9PZTN1ODhwVHRuY2MwcHpDS1BqZGlCWlJZCjM3WkdVcjBVUXFXUi9tYU5qSDU5\nTVlBMVhJOHpCWThTbEd0cmI0RjJYcmMKLS0tIFlXOElrTnRDeGd2MlZIMHhsRmhF\ncU43czlWbE5ISkFNRDFzOS9ObDdJVzAKUOCvf2sPfLgDYKKbpd7chLZIBalBv3F6\n4ASwdtBe0/PIgLqFIT2XCf9tzVRCRjM8c7wNKC5mZD0KIUU1uIIQXg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyaFRxQTZpUUxnZXdKQ3dP\nRUVlNkEwT2N0N1FGbWZDejVLM3dPWks1aVNFCk0vTVU5UjlKWUI5YnhUb2QwK2w1\nYjMvYXA0NnhRczBZWGtZeUxQTkJBdUkKLS0tIEJWcm1OMjdMNm83dllSQW5yRnNl\nRWdudm43eEY4SVdpVkhsWjgwTjlhWlkKSprhV93WhL6uLPeW/dW2ZibXMghLMI9t\nTm50jEzcg+kp7AIxSUOdTjnPM5TG05q8edq1TLYOol+cbh0fPBH02g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4Rld0T0Q2dlo5dFdmRThC\nVUNOQVE4U2x0bVJKdUdiRURneVVEd0QyalRJCmFLVGQ3YUtKcXVESitpamJsZmly\nbU5zcE83MGRsRW5IZWFMaEsyUWNFVUUKLS0tIHl6dlZXeEJRU1IzNDFZbVdpZWx0\nZ1JuNktOdDBoSDEzT0dwSGZhSHJUc0EKxK/tsnz1VJ6KyBRL2A/WAZGdlb5M9dRR\nhwvLhrkV19Yjxq/GVWCyKabkjM2DgisFmdKnsgCRnml9isVOSiAVRA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-09-25T16:35:34Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4Wmx4QUZSZVFYM1NjRGxO\nRzhmSGV1RTViTjljM0kyaitsV05Jc1dQcXpNCjdFR1FWTFY0L1NkclVJQ2t2bk1P\nNk1WeDA4TE9Zcjc2MkNTeDltQk5TSW8KLS0tIGIvcmNVdDN6eldMamxrWUJ0ekZF\nWlcyN0haZFpmQVcyWS9vOFBHVmFiamMKwROo4FD5Y6TiSDK8byxAq4T9Rtvy1Dr+\nExZFzLeJxXBukLJgzxV8UpBNbcGejetyOZiH+GPwdwO4QKlMGiCsog==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaTzlOSUpBMzJqWXlKb2pH\nQ0kzRi81SFc2eVFnVU9BWHV0a1dBNDdOSmdJCmE1N1ZwbkdvTmFxcGNia3dJOVlj\nUTBEK2tLSjgzNzFiYjF1WWhKUE5TancKLS0tIDZJMS91R2ZXVjVDb0xrS3lsYnZG\nd2IzNkREZC91ZlpXcFhHYUN6eSs2bVkKti3pFasMPr4WoUri4z5OGs1RGfBnnIHe\n73JH8C7kQjfvH0LlH6/C4vGtL0bdWwBvjJN1tc2FQ2n+8HrAaigrXA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEYzhiZjFVWEZidGJpRkpl\nOSszdUNiWDlIMVVTaGFVdi9oZjFoYVhwOFM0CjFNR0ZadExxZDBnOEU1eEJXaHda\nK0NyWmhHZzdSOHFHbEYrQnhwMTcxdVUKLS0tIGd0WjFOczRCSkpkZFpOSDdlTFhG\nQUFQMlRDa1YwM0F0N2U2ZFdxa3YrMFEKXNdULEzPEh3Wk+PxgRt0fypVNAaa682u\nMZBfQbNnAOVU5xlM66+YGWXY/ENWwr3nEauNKq7pWLZqQOCA9RnvvQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZdlMxbUpLbTIrdTFzOExu\nZ1hvNk5oKzRSb1hhTytHWVZ4UVliYVovQ3o0CnJpdTBnNUl2TUNnbk9XYzhSaThZ\nbGh4MU1UUG5qUFNDcC9ybTVLMmVodG8KLS0tIEF4ZFc3dE13R0FOSlNROXJGY2tq\ndFlnU2NlalBDbEpvQk8xbXp1eUdKWDQKxWGTu7pCg+RaXP6nXh+txalInuIZQxwk\nkAQ1OCRDvny1qbdiJUHXL1RLFyF+L5035LAxMF07WV1As5bUAxgwWg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1TFcvWll5RGZDeU5RYnpS\nb1hHcG4vbzBxL3RiRjl2eUhGbHFjSTJYZ0hBCkhyQUtacktuR0ZZNkM3cEdyMTd1\nVnpMZlNPL1NzcUZzWnd0VC9veW1jL0UKLS0tIHdQalI4N3ZRVFdsMEtCUllBREZG\nUmdQYVVqUGZ0QXJKODFvblgvYnRnZTgKKMmEswejP1HdEtg9hK10pRlt89Iz2iF8\npcZTBFjMnahLvxI4M8HCF7ESxI46jebyna43ZzELQQLPGLuZG0n3Bg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhL3RMWEdSM0c1bGY3dHkr\nenMwUzdLWFUxaE9YRHAzQU42ODN5WWRoYnhBCnU3czFnYlVmbDlSRE5WMGhkVjdS\nUzdMZkJGdWN5WU5nUkpKRDU3OWk1MEkKLS0tIFRrWWRDUitnMTVUYlMvYTZmYVBr\ndmRXZk9xQkZCaVZnU0pPRVZ4R3NxZ1EKzJh5qtYcEVntuIgqRar4GSEpmt0nkEfB\nL07HhgEYcSxnw84kMgesQPqkwgju6trMJr3+3+ZyhgAEp564UqgO2w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBScXJpV2NkMFhJaDNGVHRZ\nVlRCZVkzSWFyTFRCUktYNFNYekwrNkpITUMwCkZlZm14Q2dZVGlFd2VZZWpmSFU4\nelhNVmE1b015YWYzcGRRa2VMS1ErMDQKLS0tIHFxaEJ4M3cxSHlNV2ppaFUzcTlk\nZWVuN085TnRES0ZGZko3Ym9vOXRhSEEKU8YZFKtDzokS1OXlqA3vBe2C5N7Em+Oq\nDh5N+2qrvqKUzT/YVg9j/YIPswrn2WMJ2xgMgT5VVK+2kn38fk4n4A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1UkxWWDNSckZhQ1gvY1Nx\nSUlGZmRTV3EwaHg2ZVJIbk9nOG5UbVlDRlNFCmppT1dMUWtjZmo1N05WVlcwZmhN\nd1Bicm5aU2VQZWtBUGdnazVEYkdGT1UKLS0tIGFCYjk0VkcwUTQ3YUZ5bFdhWVJI\nMlNyaml6M2Z5QTcwcEdhYlNNVW9lRW8K3jdNQP3erbNCQKLZ1/gh28ohYijR1q5R\nK+4F16oo0vP0BgPckee9ymtcd+VCtP/TzwOklRIXT06qTRUTv7uDXA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPU3dCNlBYOXNFSlpFek1z\nS2w2Q25CaFZQU3hRRzZvUDEya2ZCMXBUUmtjCmh4RGNvclBMU1BlZmdGcjdSeXEz\nN0Y0ZFZuVFprazVaaE5jTlRQbHFYZE0KLS0tIC9RTDQ3bVdkUFE2ekptSkFJY2Zy\nMURtcGtpWG80c2VSRGNqdCt6QVZ1VjgKh9v1SIVvcMksZ+hSU4EILcoklauBTRyB\nS1BWRi22VvghCxVZfnG/fTYiu5ANc22GS8OpjM11r+SCtGkgLh5WEw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZWWFFZGVPTEVlc1hvQ3Qy\nUTNrc1Y0ek9ONlQ0RzlkbTNWangrdnFVZ0hNCkovNCtkaG9JUlpnRFJBMFE0Nmkz\nNXByUjlLRUd6RUV1OU53UjBEZnNjTUUKLS0tIDd4S3VrVDkvanlzZStkYllQT3NN\nYWxyYW1pVmt3djIyWVhtdEZCVlducmMKI94q+UTXpUGa/up0lVbWqmBYcPpuoLZD\neW2KbX2MTzotJVXlJyckYvaylEyyN1pKO37OViPnzik2cJYCyD8QSQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCWE9BKzZUMEw1bzhTdFhP\nWnA1RTA3b1VzaktORW4yWkdmcTVkcUtFL0ZrClVuZFZuM0RSU2NUcWlrQ1NVRTBX\nUjRWMVZsRU4ycHJkbUZ4ZGJMbDZKUVkKLS0tIGxJbHdHRGFxcHM5bFN6RUNtc2RU\nVE52bDlaSFFwWExUdktNdytoVDBtMmcKQVs4Z5qS7zkrGIDUhyRf+gWYUN9mFT6a\nYKpNTIBouycwPs6zQlsTPiuA+k8woqi83VOiTWC4+eye0YJrLNJjDQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhN2ZkbzB1K0g4V0NPQ21x\nckQ3MFVwZzBwNDMzVk9mb0YvVmJxYm5hTTB3CkgzWTR1dUkrdkFKeDBjNWpCcnl2\nY2lCU0dPcUh1VXdWbExST29nRFFQcHMKLS0tIEFucEpGc2s4VGhGYWlQQW9Kd1pt\nTGY5YURVa1NYUit1UHpPVm4zTHNTVVUKTyKPabMpXBkiV9MSfoJr41DfJjzW6FVP\nHWVfUwoVeKEYVJEPYIcso4kywroBWJ5tBpeOdsbth9en3TOHHlBXCQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4VUJTcWx2UmRKQmFtb1V3\nMWd4dnpzUDlrSFdNcktlVjZYN01GdDNSQVJvCjZJb3VzZ0oxT3JsUTZPSVV6RnpV\ndHpBRSs4Nk5MdUt5QkREcEFVNTdBazgKLS0tIERIaXpnYjdYUW00bURqQ3dvdG5n\nRlQvZUkyYVpiUXFmVmhUM3krZnlQdncKFPHSykUf/Yuup+Hi6YrzEjfX8g0OnEL3\nNwaXWlY2/7vvbobaml79wzDxKaDRyyiXBANokQMg++trFaGn7Zd0Kw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvN2dvUDRXUWc2eVVoQ2xK\ndXc2anJZVjhobjJrODVlbXNuZjNhZ2lpNERnCkN6V0Y2QmlGNHVJM3JoQ3hwbHJo\nTncrVVN3R0wvQVAzb293WFpCV29BNUEKLS0tIFdhV3RSbkZQVVBxVWpuYzk4bzZt\nekhxSEFFMHRBZWZaOWxUVnFUbkluUFUK53HBDttykEO7lB/86d/ey4I4AZsLrvLm\n7J/rItqQeNJ1qYp/J3HSilbDZmQBI8jM95SP75tUPsmWndK1i9gHlA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuckxCSjYyam1wTE5IcGJ6\neGd6bXZBQXI3OFcwN0ZGREk5NlgyUjVVY0ZJCmg4MGJORkVsNU1FZVNCbnBKVis0\nZmhzSlZKdHVvRFJ1WkRJZlIwNnk2dzAKLS0tIFJYdGZjTU5Qc01XTTFRcCt0OXpJ\nbXdSb29qSkdPZjJreHM0YWYyUjlWR0kKVl9wkGFA5ol8+UU5B5uWn/429vR0kS9f\nuYR28B8lBQSsg1MwKK5RLfx49iBJ7YMLMSEYP8/D86i+MY//jSmv8A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHNXB2dkJoMzlJRlJxbGRS\nNTl2YmRUb3YxdEcwRnhuT1RHMTJMNm1MQUZjCkMrNGEzV05sdWc1OUROU2V2UVlJ\nSGl1bGxNSzBZalRZd0YyMElEbGlXZWsKLS0tIFRVQmpqRGNmTW9YaTN2Y0JtNHp6\nbkw0dTlmNVFwQkl6Q1ZIcUNxTGp2TzAKaZawNzF3mYl/m0X/IbfWL8WhLllF6fkT\nl5BQg3uMLC4pTnRcZHmBLrzRHhoOy9qLLkiimkQaseUhI+hAUt9bAQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3NWlBd3RXQWk5NjhGZmJF\nSllscWJLbjVTL2NqRDk0bk1JckI2NVh5TkZvCjhZVFYvNlBnVHJQQ0lPQ3lMYzV2\naXFaMUpxQjVkeEdDYldCMW9Jcy9YeUUKLS0tIDNuK1FtZE9zSEhvMkt6cXBtc09Q\nVmorTVA5ZktFd0hEZnp0ajZyUkt5NEEKu7IV6PElauOcMthMP11os8/Y6mjTYHXv\nTw5/VAzPbttzkgvOyYlk3rCKuH1RzOh2Vty835cJzBFUAXlu3EIJSw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-03-03T08:41:07Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKUThYRXJjM0JUbXh3QUVq\nRFpBdFAvamJmZ3VjUUc2bDZIdzFqZUNmODFjCnROYUQvTE9LVitLMEZwZ1FBMVIr\nQmdRUHBZTW1hR3Q3NllXYjNTN3pEZHMKLS0tIENEL1Ewa24waXZOSnk0OUREbnNx\nSFFtbmg5SmxWQys4MzgyMysrVDAzSlkK22qvkQQYSNsqvC7ISo57QUVhM7MNBKuJ\n+fa+uZDwTQrQ8CYWXQitN3nZAm+2BKGZDImaujs+HXqlMvMBKVavmw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkdVRta1lwdzFoY1A5Tm1E\nbEkyd2gwZS9CV0hBQkVsZTNPNGhjTjQvWDFVCmRrSHhyeHdPSjV4NFM2Y3MxMmFx\nZkhKQ3U0b1BreGlpOFBWdU9TOHJFTmsKLS0tICtqL1A2R1ZrSDVYOEVhaXBuRGJ5\nSHdhS1ZhUzFHb1gzd2o0ZVhZOFNkMzQKOg0YCukzuLQUrkaX49oGYNDXKT+O8xwA\nYibGQIm4H07268gfi8kjeiNZ51Gp3eBRDraJ2tlST+tO3Qt+SOLTXQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3NmNqWnJZWGtWZWpVRVRC\nR2dPcFhyODl3Q0pGTTZHRlNhL1Q2bnZaRkFJCkNhQzEyaWRTeC95OVBib05uQjMx\nenc2c0NwQXBRcmt3cXAyK3hVc0FJL3MKLS0tIHpnWUNwYUtMQXB4MWpjcWtZS3Rx\nbS8wRGdOY3RjY2ZZN2VHeXRQVERDbXMKZ2pjXapOyvaBwsf66TU4Zo1HTWynaDP1\nWPv1lnAdT4LDidIH59PnyYkQ3B3D5CqJlZZRLg1rvZ2Qog5qjikbCg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYQ0MwZ01rWUovYVZHRGgx\nSjF4R1VncUx4NktnRks1OXRDSTJYZ3VsaUcwCjI5dWU0VGdmVjgySzdKdFJjdEZO\nOGh4MlZqdFZ5ZEZvcStWWDlVZjFMQ0EKLS0tIG1kVjR1QUFFRzN2MDg4VFgyOHg5\nUms1MjFtakFBMUhQMnpKdEF5UTlSS2MKRtMJR8fFn4l8uhaizbokXlCUtArTRnqb\nzZX1RDQBXHxkyqGN4VASCEluxyxTopOBtmHbfSSGZEg2qPHmyZMJ1A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiSkhTaU8rQ1UvSjVFaXBD\nejdabVR3dzVPYkxrNnFTVUZLQjV6WVhqTTJNCmd0ZnN1TGdpb2VISHArRy9sam1J\nWUZCWmkrY1A1RkZ3aFFUWmRRNnhKQ1kKLS0tIG8zbTN3Z0NDQjVtc1BYZXBWQnIv\nUGR3R1E5VElFTVlKdXlwNm0yQjJSaFEKqJdVWzrf+/XPJ530HC4uj9w7fM2wyK7D\nQrm6nATk4dSYrmd95t3qFXXtfhniPLiNDIUWX1pPzRCZc8Uo5YLZZw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMWUNUTWttVjhyK1RYN2t3\nSUF5cStLbXp0bnVhSGdnaCt0eDB2SXJIM1VvCjN4VEFtenhqaUJsNFdaYjhvaVVi\nV2ZKeG1vajYvN1dtS1ZtaEh0ZVVUaHMKLS0tIGNXNDZKelZBeTVqRFZnaWh6c3BM\nWDJVZHNRcDVBL1kwUTdrdFlLaFNiajAKoYlVibB//rwxhv5zl8MoLLtmclR8EsHt\nyeqva2PHNDiFd9UKsLWfF0IEAHqwEA5R2Qwm+nkmK2k1mIs6+T3fYg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIOS95ZlZ4SENOUFZZdWU3\nSm1UTzE0R1RUbEZLVDFyTlJIczQ3b1BwUzFjCnVET01VTXQ1RUQ2d0FIbElOcE1R\nQmtmbE85aDJyTXJYUE1NZkF5WWNvNFUKLS0tIEVBekIvN1QzTnJtcGFjQ052VWxU\nbmJLQ2NreUtjU1JiYThQVlYwMDJpK1EKn0Az/iElcN5H/1WoV898u4Xvxam5OLKh\nmiJwVCCNfA3Ht8lSNBCM+xrnAmM0Xghp8UJ4PPkwxH3Q+a2VMVAMJg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUM0ZuejgyTU5icm9sUkZj\nclViN29jWWlwT1B3eTV3V2dGZ0lyb0ZEam13Cnc3eTJDejJ0SzJNc1lobldWQXFV\nMkluYVBZV1lJb0k4OEY4R3RLSHN1S28KLS0tIG9MenRXNkZsUVJ3YW9mNFE1a3k5\nS0FmNFhyRTNBUFB1VlY1N3k5ZDNjQk0Ktva7aAJSBS+3ZzEPc/nl+MWgF1fGmKTJ\n9MsE7AyL4ItaYVcZYYX+fJtCMobbzNYYZ9nwKlEW2FYL9z+BsmnG9A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjM1A0eHVBRlJ4MnhMYzlE\namNaZWl2dVB4WklFUmhMSmh3T2ZHUnNDYm1FCkVHVFhjdDlGVVB5djJzNFdjZGhl\nYm9GeW9qY3NJMnE1U05yWVZlc2RzaWcKLS0tIHM1cW9RUXBENlZZdzZxcm5SeE03\neUFQTWg0cWNWM05laUFBdXo2SHNIWncKSQJOZagkU53ZToI+hFpK+G5M7jSB7ObC\nGOBiSDL8D1+GcIVlFqmLb+4TycB8qIv78mxgWvdCgoboU3I8L1cTdQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLQUxuSGxQMndraEtDeGRk\nZkg1UG1vR1dxY1lHZ0VUSldkcTZJWTAxemlJClA5TXBqdUZ3WEZWVUV4ajhhRU1Z\nZGNLVVVjY1JjTWpWTDBSR1RFb3Y0LzAKLS0tIGZkOEtobXhOampmRXFRc3RYbEg1\nZFNTdnVpMU5KM3c1QTV3TXpackhnS2cKNJpKmhGekZsmvTTdBPzyzXRakm4OJdxf\nUFJIALykZNX76liHbO8yB6ZlbgUCNDyPzRvLXSfzgMYDfk2VeidEmA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvd1RDVWMzRjNSSVNSZHJY\nMjFvbWxaNlN6RE5lNUdkWVR4amFEZGdKUzI4CmNvbHZUd2pZd0ZXaDRPQ2RXY0to\na3IrZnpNcXB5dzl1YWs1bG9jRkw2Z0EKLS0tIC9sTkF1d0piWHpSY1R4VHpZSGli\nYzRiUmZkRmcwenoyZWhaaU9XL1BFcmMKyyzuL1AfFeFovPkV6+EGhVWbC1mDKBr9\nKl1tv/odlgnTnROnYBrXwc92g3dQ/d/2FneylDiNEiwAdFEP5OfZiQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaazBhbGdtb3pTMHQyaFEy\nNjBVbjVJWjgwU1dzZk8rUUlaQlFKT1hZWkc4CllTQlVhTWRKVHBjZ1B2SmtJVlFB\nR3l6amkzZ2pCcFFwR2VlRmwrYVhIeWMKLS0tIGdhWTNnakZyTUorb0xRYjBPWU94\nbndsdk90VnhrZ2V2RFFFcm9LU2NXYVUKIUtp4KzqKw8yh7cUA5QJxQhzmjJdjD4c\n72o1kh6lUmoeT6dM3Oq+2TZ4Yn98QQHiw4mZGdcPL56jQj4888OM1g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsSEhSWUVVVHZMbmJ2eTBv\nb3FuQnA0T09uNWRhclljdGlrWm90eHlDcmxjCkNZVk9XWTM1aUY2WGpjdGxXWFcr\nbEFLSVNpZlRyYk1odXNxS2p6dlRndWcKLS0tIFlyRGE0RUF1SE1nSnd6OXRUT243\nNEhpbXErZjltbDR1YSt0eGkxRE9MMUkKzm++4gPp+6kB2v/s6J8uiRLPkDpnGtpk\ne6MvT61BUUM24hvuRKHHBlZ566oWthVIF3Map35vMQceNif6weGx/Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqd0VqZWN4U2NwY0JLY3E2\nVkRFRmd1UCs5dUtIRkFEbnc3MkFJVkpqaXl3CjdRSEFFK0h4RVYwTGEzaE9SRVZP\nem5CRVgrYkxuY2x4Ykt3ZWFiQS9za0UKLS0tIEtwM2FVeEtQRDZOUC80SXcyM0Zn\nYWI5SE1KelVDbGsvTXNqSlRGVjhrbVEKkEwf/VboXehq2l3ZU5RjAbrSdcrs+yzt\n/NRLynAh3QvXScIeaMe1hFAlesA73NV7vrfdzjZcA6Q6J58A4H1Eww==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvNnl4VHFWNnFYTnBjb3dO\nMWNnRlR0aWk3UEJ2ZGhkejV0VnZrdU9WS0RvCjhiOGQ4cUQ0Z0NualVYUjk3YzIr\neXdLdml3SC9jeitsWG9sanZEL2tWS2MKLS0tIEtRSGZPQnVkWTZIODRuVFhmQ1VR\nT3dldGtEblZTWHYvNGhxd3hGdEdMazAKO9lfRxUqSs6wGlZ839IUYCqCEwP3Jn17\nvAPuqluQCkPAu1EwPaFjaLAPa1AKeaqqU9Ga76D/LPzOWIxxGDpvhA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4ZEpkR1hiRW1taFBHMVF3\nb2ljTEdSMXpCNUU1cmRUYUQ0RVVQY2J3MG1rCmR4ZTUwWk80a2NtMjNkRXdTQnYy\nY29uaHZvNXV5OXRIOE1yc1Q2RlY1YkkKLS0tIFNqT1djeE5CdnFwK2x2ejhkR0do\nWGVaeUVUcGxhaUdNNy9EOVhWMFB0Zm8Kcx6tCNpX4Tzkk8Li9AJZUlOO5yAYiC5B\niycZNb1SbwDFFoixb/p1FAGsD15YoYr/P9Y6Ta7kkaENQ6cQLsI4Wg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4K1ZRMVJxUGJOUnhMcnI5\naE8rYzNSeDdOWEhrQzd2eGE4MHFaV1RLZkJJCjZOMjZFQkIvZTVRNTd5ZjR6NkVP\nckJyRkdVbjdQdEFHZnVKN1hReG5IT1EKLS0tIFZRUHZUQVp1R1ZVNkRRdGhIV2NS\nRXhZdU8xSFQxSzN5WjNnUnVvcFZwdjAKpSw+C2DsJXk/EQtUaM3V9q2un9+w/9R9\nHLAGLUL7vcDucKp2FFezkCRzQmpJ9WWxcofcIv+FJtoxR32Nr3mD6w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-05-14T08:18:32Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRckdRTENnNlBINXozam52\nSzhqRUExSGh0UDZFcGFuM3M4UlJIaXZOYWpBCmhDUzZvbmxmc1M1Ni80MUNSYk5V\nSFJ6aVJXZG9yUmhWWnZ2V29ud2FuRVUKLS0tIFppTGlRZXhvdXNkZWFnRzlZTG1G\nMW9EaU5JYm5DaXdCek9xSjZHRCtxUmcKIprII4X7F6kymyx4b/+hGF8uWYGLN30P\nAk1+7m4TJ8VJHlKb1mlyj6dnZSpYxmqwTMVuI9uZVSk+hijJHUZVOw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2WFJZbDRrSUJmanJyK2Q2\nbzlraGlTampUMkVtZ2ZnbEc2cmtMQ3lWMldZCk4rSWZubWlzT3M3SE5NWDA1eVRG\ndUZ0eG1ETy94SjNNUDh6UzZnVDZhOFEKLS0tIEl0L2QrYzVVaFlXL2N3djlkaUFn\nUnF4NjlpN0plU1gyVkM3bnVNQ0dGOGcKDH810lgm8d8QAmygJ0rBozrVjFjIaLxi\n7vupQF0xy0zxmzPPDq+RqzJPndkaQBFRlYBBEZqVDCZ/CrRlZuyBMg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIZ3k3b0huTlVpU05CR1lT\nbHU3OHRoK3pwdGszZDh2TGdDWVVkUHlZZUhrCjB1WGxkZ1lvMFlJMldvV05rZG1V\nLzNmS21ZTlllTUIza1Rja3g2RDhFZ0UKLS0tIHloSGlZdjI0YkZMR2JmZm45M1Bp\nVTQ0dStuQXRmd3JpLzJ2eVZGZU1oSkUKDzYsmu7al8Wf3E2/vnv5oxmBvhsn8d8R\nsUESSxG1khLY/aPIzLi05NyvGWN/Cjmoy7OsFFRLoQxFZ6Q37Qgbpw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwVWpEZ0lGb3RMVVY5bHNH\nYm4wL3NHN1A5a25lc2RXNVV4dkpidkdyQWhZCnBCdFVHRnZoeCtEYURwcklaRFlG\na0hEdlJXTUcxOW40WkpGUXV2OHpxdWMKLS0tIGs0eGU2c2pEc2xDNmdXbzQ1Mmor\nYjNxcE5GM2xLOTZHSUxxWk9SWjM4WHcKVt19s6xd5f5rTvwKAeHVSccp8W5u7+RZ\nQ0LR0JOStBzTUWrQp59WUNTO1j/5puZb1ZTyCcj0B8JErPfbSENDjQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGVWNrMzVSQ2tEMlJtYlJ6\nS21ZQWpqaDhMUDNndVVQMCttM3V2K3RSMVF3CjgxOVg4Wm80RFErNHcrSVo3T2ZF\nK1dxbFFOeVJqS09Da1dPdTNaUWZkdkkKLS0tIDloVWZhaW9JVHdpcTcvSlJ2cGNC\nQkZzcnpHRGMxRnJZcWtKb2J6UWhsZUUKXjL8c6qyhTNKj9fBi8FGQRYF3U6Ablo0\nuKTm5MLlM1vaHZlBOhrF53wC9q6bYuJyvN7cvLOHICKLtvIYewBbyA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTTjNtNlIrR0xUTHhCbWJn\nL014ajlBUU1UTGsyRFRta3NaRVl0Q21XTGdzCjIyVnQ4cXZicEE2OFRwVFgrK3pJ\nNjB5R0p3cld1cW1GN0hTZklZbnF5bGMKLS0tIFhLQ3NweXhLcmx2cVZZN3pabDlO\nUHdFaG5wVitvc3hHa1FmUzRaNmpITGcKj013RabdlCB4UFpsGahnpDpnTyprZfAq\nVea40U4mkAB+HqvvBGNZXX5gtZJ2IbPENm8v4kt3gwNbqEw0eZLfVQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWVjRFK1Z2K1FBN1BKVHRr\nV1NmU3IvYVVWNnVLdTVQZUE5ZE9PQndsTEhrCkVPenFEeml6cTVJSlBGRjZmK3Mv\nSGdIS295aG8vSHRUNGxlRU56ZUtReWsKLS0tIFhwZ3Z1NTJWNkZXTXBKcm9OR3c3\neDRxaWNJdXlGcVQ2TEdObGNMekp1VWcKjI9EnjYhlI7Lh3m3ubWBXCLHP2jhtw76\nuHJKd+pJXw/aoE4wC8q2GjtppxQIu73ACvAjmThYQJNVZaZuRZNbHg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvZ29lbTE3dG9UV0pJeW1v\nOEdNMXpPTnhhcjZHYlp6MTlUQStnMjZVODBrCklWOGFOcy9wUU9sN3YxZnJLSldq\ncHd4WVF2Z0tyaTRWMGpqM0pGc0dUblEKLS0tIGZUUFBNOGFhM252T2syanhhcDh2\nM056aHhCZWYzeHhQWk5uNjdxNjRtVWsKG1WPVz9CNw36lbq4MpxXkdOl3Vk9xoPv\nr5kAg4/sUcwZykXuC5LnAZ15ZpFERm0OAv6C1WQv0m7ZM3Mwlx+Mrw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBONXZLcmtKNzJwYnNBMFBz\nQUU1Q1k1eVl6dGlldHVQeXNBRGloM0ZUdjJBCkU4R0R6cXRnMEs4RG42SmlkaVVm\nNkdTU0R0UEVkbTlucnJLZi83SGsxczgKLS0tIEVTUkFaMU5KbmlFSDRFcDYzam4w\nR3lSd3UxK1dmcGhTMzNFZmZhM01GVlEKpUyrjO1aHs6Kzx+iFb/xMvoRy4xgWMnV\nuTrQ0kNnsAZ8l2K/nYsadXfLHjz4N2H53VEn7T54YChY9L0o34EazA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2clVTS2U1MGo0YnNVMDFw\nQ3lJL3BtanlWZENDUWVRQlgvb05NQ1E4Q2xJCktaYmMwc1R6TWYyWEEvVG9PK0R2\nQjhxZ0VlOHd6WjVJVk5hdjY3VUJrS28KLS0tIFRRNzdXcG1ZempHTUJVaVV2N2N3\nTnI3aHlZSzZIVjJLRlUvWUNsWWhhMzQKiQnwyy4sw3lTkm9KFcsG5R5qFOhbeh4D\nQW3eos/2M1s8/ChCsrzupkwy+e6CwzpSja9meU1/Lqa+4ySMDR/rXQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwSmlkUW5kd2cxYUptN0VL\nZTIwd014R2JROUtmZ0oreGVWd2REdjhvN3cwCm8rUmI0aWlHVUd2aU5rcVRla3Jt\nZU5OZzN5T2EyRFlRemFRZThyYVJnV2cKLS0tIEFqTlp4RjVpNlBtamdQM2Q4b0ZD\nNTgzcWREbnpTbEM5U2gyd0lLZmxMQk0KGdm01/9bPPn/sO9LQpKuRgwa/w9oX8Rq\nWQAoeBpRdmO5tWi3tbq1AOlsjHuVG56/W+dcAOCqOZhM4ZZl0vCb5w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKcHRNVlp6NngzUG84ZCtO\nMUVpbHVYdmxQRG84ZnFGSjNqMjhmSmUxYmo0Cnl6TVR1aGFwUVhOZ3JkSjRuWDZr\nVG9ib2pqUzBhbXBGQ2crd2QvSFZXYTgKLS0tIFc4eVJxTUE2RjhHV2JUTUZuY0xw\nbDFWY21WWGZJZmRsWHpnekt3N3lPaG8KaXnWSxsndJ5TqDy3daPIY7X6LPyJTjvE\nC0/n4Au7LvkwRmjcTshKvbtnD1YKxL3ppJE5AuciBrP9zuwX70d/gg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUTXJKYk9TaDl5c2h1bGxB\na2hTUllScVk0M0twN1NzNk5Va3JPb2kvREVNCmZabjl1ejJjbm1ZNVpIYVROWkM2\nbWs4YkRyVGpnYU5nL2pPTGx5UXc0MFkKLS0tIFV4ZENEWFhZUXdhQ0RjUVV5eGNq\nSjVkd3NQRWwwU0lKMENwRGF0cEpnSFUKG6hSzqtV9UaBUnTIBBOHh1RCF2n0jcdF\nlgb6uvkRPhGUqaXQVbii9+T9hGe3IIw4jGADiv/XA0is28BQVHAc1A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOZHlwb2M0Vms2NXBkdU13\nMVcvanA5SWJWVFEweVkxMVJiYnpPdTNMZ0JnCmE1bFRQOXhlcnZzQ2RGSmJpeGVx\nSVdsZzlKWnJhWHVKR3VlcXZsbUVBNjQKLS0tIHpkMS93UEVRcDVnOTZON1R2d3M0\nS3N4S3B0ajhXMzdXUExmditXcmRKcjgKRLCXWvavIDw6AwJbX7ZsZja3cV58RLMl\n/r6gWTOrYeE0D2j9NU8+mm3pbCq8K27G2+90/m4A48we7YBliFH1Sg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrOXBja2hKQkVNR3FWY3pz\nOUtxMVRVMWh4OGxJZXV3bFlINzZjMjVxL1F3CnRZSkVZOHkwOEFGUjdGcUhnaStG\nTGtWVk5aSG9PbERsOUpCNS95RE84VW8KLS0tIEJ4b0V0Qlg3Vkl0RXEzL3lQSVBC\nQXdzYlIwTFdqU0JGeS9HekVNNDIwNEEK4CDAT3pVtRMXFmzaj+36XXUx+5QACh3b\nQMpeluaU953i4/4P0nzUV1+C1rQhWU0nlRKrxMgYeHVyRbRdWiiQxQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLZUw5NTJKclFseENOZi80\nTC9WbnF1VWNTUFEvMFkzbkpBRHY5dFJJaFYwCkxOaEx6a2tBbEpOM3Q1UGFmZzRS\nTTJjdGk2bXJTK1ZPSWRPYlc3VkFFWTAKLS0tIGNTY3RwaENGV241aVBTd1h6VW5X\neFEraW1kUjVsQ1lFaEZkUnRoZ3YyN2sKphoc7lfNufjLG/OVbQCDB2ZO60AGyMLS\nzRTgyt9LUzNOo++qZ4beRHKBcQuolblAeQgK4WDvJbaVOAJnKkfbMA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzV2NHSm1FdlRucGFOQjdi\nZEdDWjNaZzZFbEVNNkNkdEdUdFNCNzhlK1JFClRzQ29GaDFWbXNYRTBaOENkL2RN\naVlpL25YVWxGVFJPT0dlY1lhTVN3MDgKLS0tIFFwZXpLRGVoa3FXb0VPbWxOQVJX\naEoyT08wVXhTVkI2SmhMb2dDMEsvQWcKh7BcjJQRgzCBeBnKXRC1B8zQnk1LQ4P4\n+viA4gHOGDzqxV1IiimCpedKpFPk3pDNBCthAqSFl6cMvCLvhSDgIg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2024-03-07T09:47:10Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJSWtaTS91bS9JRjA2b0VY\ncEl6ZklsNnYzZGVKeTEyQ3JzYnNINitoZ2g0CkhqVXR4bVV6WXlsemFIZUFHczNu\nTTNJbXJvVFpJWExSWW1CN3lVZ3BYTWMKLS0tIEZzZDlmbTlDT1ZLU01EQWU2eVo5\nRmNOWlc4NDVuNG8yd2g1T2tWQUwybXMKwsTiiSFXYTzzyr7ksp6q3MviI4uAPFVB\nuWBxstuloxkcGSvklQk3zR+Y8s/BjyWFRB2dMvz7xMhTJupup0M0Tg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBONWFkZlAvUktrSEd6ZitC\nV29kU2tGTnVrdHRuSGUrMUFrTVc5dWU1ZFdNCmZ1MWNra0lJM3NReVR6dEpuYTgz\nSW9aWlZKM28vYVBjWG9HbER2MHdJNTAKLS0tIDc2OFZvSWphUUpHVmo0cmxtTlA2\nbVNUWE4wYVZPWHZEWkltY3h1SmR5TTQKjzph6D/nHhdgekDG9Nxb2FVa0Xa9hBGO\njnHXBuRjTD3ATTzCWJEbkE1UR1r/7Ri8V5HGcD3gL3igK6DsClBgVg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBNDhHY2YxZlBBOEdzTGdS\neG9GVW9aSXUzVkpqMTcyT29IZFBCeGljRW5vClU1T2c4enhnL29PeWpOTVN0Kzlm\ndHQzQnpmZXFTZFp5aTJYaEpiRzFhRWMKLS0tIGlFVjByWXp3cE5aRU4wa2RGVkNn\nZUFicVJrUUlnZ2M3VkplOTFYUXB6ekEK4iIwDQZ5+/oB6h85yWD2jWdfE+qIr2fG\nfL3AyEIjWLdTgtFNNwoMiEWyZLKYYDNYKL4DqL+XOgh6O2XcE9wOcw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJTUI4MnRTcUFVQVJCeks3\nRTF3UTQ2UThMRHl4TkI2SVFucU5ZRHhTSUI0ClNpRFBxdkY5amx4RTRYejFZUXlY\nektKU0RlN013SmJXUWFUMjU3dldJU1EKLS0tIHlFMzNoRjdhN25MSlcyYVROaFFa\nemlvdkt4NnpRTnFycUZwTlovTFlTbW8KuyMzHJsYRS3rDm7JuuzAT/ACFaHVr0Cw\nU/0Jk8vJ9PCv2pLfTHgp5uZBNzn4pEkmH/5kyy5Ck40e4AsnDngrGA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3dGtJakRaWi91REV4cUlz\nZXFPZGdScnJiRjhZZ2NsZVNjQVRuOUhMM1JRCldOVzdCK3ROQ3BSN0lCNmJBK2lr\nb0xQSkR4aEcwZHFVN3o1RTNDSDFzeXMKLS0tIC9xSGc2VTBoaHpYWkhzL2ZEeEhM\nZE4xZXdSOWkwd0U1SGVJRHhGVE1leW8KDs1OITgmYQ0VBrRzmXYmhDTTPbjjDm3g\na2F86dBYHQwyigBHGIcfOJGENSOV9gDmLnAOgc7j8krfUm1PRTjXjQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1cUE4ck45TWMraXRKUURM\nM1NuVWpQVnc0TGY2eVlEZDBrdENPdlBtY1FRCldYek5yTTRLZE1Ga0ZqQzdRaGNB\nNDYrM1FEc25zaitFb0dwRGxpTThZWnMKLS0tIGJBbkt5alpxcGRDNTFDeVZMZzFN\nVFF5ak45OEx0V3FnSGNXU3F3MmZKZUkKhPQLlniSr5Q2b5OV1f2cMHTJRI+u1nkT\nPGkie0UT+cRdvWu+iK+nnoH00Hre+1P9I+SmmU5R4kBTAq5lknEfcA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSNGhZK0MvWHNVMXdEMGQ4\nSWR2eWpiSGV2ZHFtWHNIUkU1ZWc1VmtmK0ZJClRvUE55ckZmNGp4U0t3U1BoRjNE\nbFdpYzJrbENHbVNGK3RZaEgwWnNibWMKLS0tIGhUREFaODlmMTZpMGFZZkJ6Z3VV\nQU9ZUURCL3NFZXpWUGM3ZURzcllUWHMKOAdCwbkRmZC1Ns7W2DaToIupJJZyJESe\nDBAYfynr3vCMCT5hjLm6boYbMyZAmvE4HSJs7hDgsrVfoReN9dYnyw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0dSs1K1NMY2FSVkRvdERV\nOGxvUFYyVy9iK2lSWnRTQWN2OHU3cVdxS2xNCk9HK1F3U0IwanVEWUFzMEd5elM5\nR2dRUWpvd2tvZ29UQXcvT25INU02U0UKLS0tIG1mdjVOU2Jxa3E2YlF3cmNhdVVZ\nQ1pUR2RGY0pDRzJTdlJyZmtYNUd2eTAKZ/sz3K7Lw1BD4runYyH3ygWi6o1i7aX3\nShKlHn3s/+iHjtHwblDrVj+NNgrMy3/k08Im763QduIBkkyBmysAcQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3a1FzaFQvaEpicldUVFcv\nOGtDalhkellUb1ZhREJBWXNrY0EwcytQR1ZzCkhOakpDbXhvUnlvY3RpVDRGUXlK\nN2RPdHRJcjE0cW4zZHNxeGI2WldVUlkKLS0tIGhISVRpOWM1RlRvS0V0WHNaYm51\nZ0pEcVBqWGQ3L3F4WWlXUm9MdDFhRFEKJ4j+xV90NZfEJl5NtvZUpvPDFc0Itz//\nXbNYC3Sz6H7d+0u8Oaa8LgTlpwk4chqIjZ0na/uYwA4EZ59ET59NeQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSNnFuNjFHSGhxbzVMY3BW\nano4YUpENmhiNm9lczgxcU1rTUhHTlMwR20wCmFaeDNFTFRJSDdmMXFFQklUdldQ\nM0lkZVhhMlltUU43ZUNGaG5PL3lCM28KLS0tIHBXNlZQZFV1V2x6cG5RNlZVN0Fj\nNnNtdXhGVldpTU4vNnVkNDZ6aERQdlkKjeYpM0lu31oO19SJuc4EJIl56GVmQi/b\nPHFOMrX1ERD6laF9/8hsPwsWUTBIhC9dHZqdRBddpRmYZZFAulyCbg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBybkczSWZlNDd5b3NnVDNs\naVN5Zm8way91MFV0RDhhamJrb2hEOWg3ZnhZCmpXWEhjMlRJN2c1UlJkcy8zZWNh\nSWFOSSt3WlAzRzBscVRWU0NQMi8wbmcKLS0tIGNCRTJ0Q1N6L3plZGpuOTRGeTVl\nSkpabWJJRUh5UVhadWsxRTltMkxVcFEK9VYqomigK2G10fhHy8inl1YI38P4RF+U\nTHs0FjxbdZTn0eouzFZmA2KOuPM0/WfqYv10+836yF8NlCcUW9clFw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhL3dUWEpJaitBTWs1MDV1\nMHlWUExWcTRMcWtrVUg2ZkFWZlNpTklzWDA0ClNlMzhhYnpocWkwNWZDV3lVcGpL\nU0pJcDdWNjk1eE4xSXRWZzJqbHd3YXMKLS0tIHgydmF3NkpFcHlWLzc5K1ZrM0cr\nREhLRDlCU3FnNzhiME85U3dKNlcvMjAKw27C++42fb0Ky3GwaA9VU9P9p9+TfV+L\nhXnHArh4PQ9dSXBB1gNrpBqB60wizkbWFHZcyZax6pxdtyqIspXDfQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNckxReDBITk5xVG5kKytT\nNmVOZUJaUTYwR2xyNU9tVmJjc2ZzSDBlRjBBCmduQk1jSUE1U2pXYmg3OWxlejVt\nZHgvN1BRMGVkaEkwQjBsbU5xSFI2SlEKLS0tIGtORU9jdUs3UjdwSUs5VDRKYmxO\nTjJZLzhHekQ1RGhTS2RKMStlcUtsT2sKwF4ltXxoqdvbf2pZVdbtkqlWlSJflEQa\n1eXnIul2PMFApACGlbu+YNerZ04g/aAO/ntBCVZ+hmTDupQl2y58nA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwNHN1NlZ4bXg1OGZ6Y3kw\nUlJFK1R3UTljdnNCdjlrZXM1eXEvby9oZ3dNCkQwN2srdVVKSjg3MUVzOEFwM2Vy\nMk9pbTdGN1p0RGtRSk0zaFhuSzF2MW8KLS0tIFNtay9FcmY3L0hjNXFaNmhlY3hm\nc05Ja2pGVWM0dFlxdCs5ODlCQ1J5b00KDZbAGiDc0yP1GtxwjASm1CZs93tQwvrO\n3jkC1rTtNCxfh8TE3tk/qFBquQcS9hmF84JWzf3LBAwr2J3VHK5AgA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjZUJqVEJlbnJTVDdTSlhk\nQWNYSGxkblRrWUVzMkcxY3FjZytmWkp0bTNJCmFIcGdXSU9LK2Y4bGE0UUtJVURI\neUs1cXJjc0J2M29sZjZCME0rL2t2SjQKLS0tIHVXYXlaVEJzRGQ3UkhreEJlQlpk\nV3hsS2dhUTdZMEdTQWNkZWkxTGx4cU0KbXfrIRe7rtIQdYtl94rHW2vT6dyFhwiZ\n18K6tdRyoOuoyYWKHkh+oMLTNksQ+XaOXzDp3WSOtx+F83jWSKAJ1g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByTXlSVVhxczNIRGIwZEdW\nSm14aFYzTEFoSGt2SzZKc21OaVpTVmNrSXd3Cis5UTRQMzJSaVdwTkdrQmxLSlRp\nUXBGZ0huUUJnVHVHaUtyUGI4cXdrTVkKLS0tIHVWeEVsOXRRTFRZalI4bWdwcy9a\nV1EwTHhqemRFVHlZR3N4SGRibDhWZzAKVfqqfrKPWtxnIgdvgo7yTe24dleOZAIZ\nZKFCZ3NqibMaRI324E2PrJSAij0lNJyulxpLx4chA7yN84v4vuQToA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuaWRla1BQekphZzlCYW9C\nZVVDcVdrMzdhbkZ3c3ZsZUQzcHlHZG9udTFNCi9wYU1YUEVZa0c3Sk5ZUmltMlNG\nckZuMzdtYVBLcm1vYlQzOGdCcGQ0OE0KLS0tICtLTHlmOG5LNGJkSWthM0JyVnIv\nbGZicXdndVZiOWdQcEJVMHZxb2VFQ2sKFAT9bD578FykLrq5F4Koq533e0UAgHuI\nlCEFd8CseRx766irA05WhzXmKUANzgFDEkTD+Ig/CmnE9P8voLXXJw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2024-05-28T01:39:42Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpaDFHdDMwWTJYQkVRYlhS\nSDk4QUVURlFNd24wbVJZQURJZU0vY3dtQndjCjM2dVZJenJJcnEyaktXeElNcXl6\nNFhDUTJpeERJVE5sT2dpbHA1OHNOakEKLS0tIERHQXZpcmoxUGZsVU5TK1BvVFRZ\nc1B1UXBJcWxpUWlJSzlSaXFYUGgwODgKfJQGk8/Zn5BVljQmf1IP/6ifzdq2vXxJ\nF9Be+shVW9GiBC25pitkXJ7SPP7q2FbXGIYV3OHHXd9w5REbtdGvhA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzY1lkdzB2SjlaNC9GdHpm\ndjZiZDMyamxaSkZiSkRQY0hnRXZRQ1BqTlRnCmNOdHFXS3Y0b0dxTGExaGJ2MFhK\nWkNTOXNFQTMweFcxVFJtMVJVc3JtNTQKLS0tIE5KeTlxMldCSWl0YVBPamxoV2NM\nbHAwOFZjczVOUy9PY1VXM1FJenpDeUEKAvQiIR58vUkHZvzconQy7/Lascq1Bjqa\njDP7unvmKB9U9chfErnEv3FPsCuQ8F1XenpLemJKxyxhaslwXF9FhA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDNVVYUGkyaUlSaHFwRXJu\ncFFKVGg5VHBaVFFvRDJIS0dCcDBVQnYxNjBRClJOa1YwVXFzVjRTcEdaR1dhYklo\nekNVcWZkQTIxa1N0aFVPZlZSWG55THcKLS0tIEM4MUNsNnp4YlJZYjFRa21JRm5X\nU1VzREFKbnVaTzV1SnJQUlQ0L2FjTFkKiLs1/FkyGLHFoibq/xUPkt2faFyJQi2M\nkkM29QEXIWdAFnOhK/byxfXbviLkwfWRgv3jHhX2vQZgUmkxzvbwzQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnQVQ1Skx5OU81anYxc1ZU\nWWxjRm1Bb3ZCY3NtMXJjWlF5YmNyYzNQR2cwCkdiMmg3QjhFVkVVd0JrUkdib0F4\nckg5dWg5SXVOVC82TFVFWVhnaUpzQ00KLS0tIDQvYWtKK2xpNXZBWVY0VHdxcCt5\nbXdHN0tlelNLVzF2MkgwVlg4MG1LTEkK+yl5+9BJJdVLDyMMxkuT2f5dx/AeGn4s\nEbg3L5+EN/TFh4Yd7CduGYAztfYK4icwnu5q7GT/egqg6lSJLWXiQQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4WGpKN2lCZkdtcWxkcW5F\ndEhhM3FSRW42MFEwcEUwOUt0aEU3UitiZDNNCllBQkQ1cFVDVlJHbmp0ZEtWdmVr\nNlNXRjA1VTZEeE1pNVhObksrZnB4bm8KLS0tIFlxV3lsaE1DZGhoSGdFY2tXaTlR\nck04TXByMnZpRUh0L245a3BpQnBCODQKgmLZODwTxI9/AL3BONvo06YdlmKjj31d\nGyC/smOd2ebvi5forMda8I2F3vMwsx+G2uI241aqRk1777SRLfVMcw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNQ1ZpMkJMS1A5UENwRnFE\nS1lTek9yc2JielJrU1hoVG9lR2EvcGxBOGhRCjVSb0d0UlR1MjhlRVRZMys3QmpZ\nMWptYkRXWGM1UWl3YTFHUVA2U1plc0UKLS0tIEJMV2VTaEV1KytEMkhLSDUycDhl\ndkpiZzhXYjU1N2tRM3h3Z2UyQlhLTmcKOZhffLf2Y3AOoO1hK28F/p9qjd7MOnvZ\nBhNZbBA1oekAxo0Mw2wiPA8oy+DSMbuAfqluvYTeuRkEEG/oR+dVmA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6UGY0dVR2elJzbTFYNFcy\nc0dwazhIZlBHbjdrL0ZYOTRXMi9yMWozdmlRCk9scXRwaVFlMFRDZVgrL3dVZ2Q0\nVmNPN3crSmdvSlFGU0FYcXRQSHl4QUkKLS0tIGx2ZlhDMzRhYzRIamQya0Exbm5H\nWjZuVVE4SUJuR1BzZjBHTDl3dVBmUGMKKf/Df9xGqzXAg7D0BmBJWX4knWxJ1lUA\nzGVB8quooAICFNpO4BB9tYlih9YhKIGzE/E5MihRS0ttOxwaAB913A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2Nk1tY1RUSGtjRzZTaDFk\nQlBXL2VyTm9zeko5R2ZIZUw2eE1acnlnN2xBCklpekJEV2Q1VllwSG1DL1R5VDRT\nSU9TSTVEZGppeFF2VU9JUzhlTVdtcjAKLS0tIFBZZzFWc0M5ZnJubzJ2V2ZvRGw2\nT1duREEwQ2I3czhXYm9yYlNkZkVValUKRAuIrfLO7iOwG5mgOqkyMvfn6vk12o/4\n3CQ1fDBDjTZajfmwAoALwcgwKVyROlHk4pDfskAEiGElqG21OkcIRA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCdXNMRGRudHVGV1c4RlQ3\nc0pLd2l0NlZUSmZpWlRWdzhjZlJrZ0E2blhvCmpROXJRU08zekhpdWlzOGdVTGRR\nbVduRkNENDZXUThWWk1GdElTK3dFZG8KLS0tIDVYUDhERVNWSnNCbFdJOXNoYjdU\nN05idXZLRkhkMFBuT3JyVHR4bmp6U1EK7gkrIlZlY2gT5FM9HOEolkcB0kXLNW3A\nrP702dVMWHKf47khNIHiwNG7abmg/MA3Bnv4M/c4ofHjg0lzZuhd3g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMU2dIeURqZVlIcUlZZHpw\nQVExQm9wdVBsY3RPNkdzT0NiRTBVNGphMXlrClZLb2xQWE8xbUVUWDZSOXZSRVpW\nS00yNkFRdmwzdVpkUEtDK3VnYlNYYmcKLS0tIG9ROEZMUWJpTXVwMy9PeE5BbTBP\nQmxVeUNoTVdjYXhJdEdEWEFRc0lYa0UK9d7tmFJ3/uB5apafXY7UEXX6Nt36EzFZ\ncxjElkmy0YXtHnPBB+VXB1rYvN+FjTfPx0o7LZFlW2Ni7C8JLT3d+w==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBNDFORkdjcStOSXJlVWti\ncmxRbmcwdDhoRG1WZnU3RUVlTGU4UDZJTFE0CmFGMWE3NjVkYm1vekNtZTVrVm9I\nRVZQWUY4K25zOGc5cXlkZ0lOa0Y1TFUKLS0tIGRFQjVlOU1Ld3pnU0VreEx6OEFa\nZ0FsMlErTG5FY0NabW5tMkR4Z1IxSFkKH85zMJ9ouiutEFVRBGv9YYObnmLmzDQo\nQ8mMkiUSu1dcgTd2OUGRGkJQiYf/QzOf5YjXlbpQNIYvPKURxC7ZXw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuVi90bDJta2FsZlZUMEM4\nWTVkZW1kWTBrRUloRDJFMmtqRHpORjNqR2dJCnhxbE5ybTNIYmN5STI3dTlpQU5X\ncTlITlljYjlQdVFYWld4S3liWDZuVXMKLS0tIGlhY2dWMG1iRjBhRW9sek9PbDZV\ndjVTY29jOGZoQkllVWsrVEo0RlVKK0UKDfQzUTCBILXawPpWP5QHdmJjOEiZ970i\n2UuV4pt3rlYMvz/4LooM4/1J46ot35jSTPglNqmHioLYMmVXyMIfkw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxRDJLNHhQaGE3QTBIbnZ4\nQ0RsVXdzRW1EVFM4Q2R4ZlJ2QjBwNDdCbDJFCmZpYTAwQmtTV3dOaE9YSC9UTUxP\nMFRIcnZpWkQ2SEJzWXFtcDRzQ3hvMTAKLS0tIHcvTkNreW5La1ZZdkJFNVFoVmJh\nR3RyWnBybGpNeE9aeWdUNzlFdnYxajAKbA97Z1uELvJNz1o+BDVXK2xt61mLkFcm\n/8R2X/heLrpLW1AMqo9XOMBI1oLi+OGRPNT/soBB5ap//rDo30IT/Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBadjlrdytoejE5d0dnSVRN\nNFY2c3NFN0VJdm01aUZndllsb1ArTGljckNJCm5BRFphN1FlVll3c0JuS1FkczJs\nTlRldlFMRlYvMW9ENmlqeDNRK2x4bm8KLS0tIEtxOVo1OG5jVURKRDdzSFJYcTBS\ncGQ1cFN3RS8xNVV1UkxVYTlkNGIrdHMK8uEXVgxzmtyftdQQZRzPlJurjm8GWmhd\nzZ7s4qAhAKHMcxW4+leREXP3PzwUd1SDVm1/y5tSvnO6zD7GqFy2qQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQMTFYYkFRVGdNZXBVK0Ft\nWnZQK3pjbjFrTXlTNm0wYnkxLzg4YnlaZFdjCjRsYUlHMnEvQUtiWGZwUGFyNEJw\nWVA0RC9QWG0xa0lPTks3UkthL0lhQkUKLS0tIHp3bzdxSVVFRlhaaGE3Q2tpQ3VE\nQ0dKNEdNM05HNjBScE9GampoY2ltWDAKooOw7FidAJX0tFL5dNwJAi+m7rManl4o\n6XwoeoRmVZ4AevtJyVKS1gtVJazluClQH8Bph4+qkdxWWe2DKnFGQw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZVXU2U2xlSVhYRHRKZEI2\nMEI2TTYwZjVia0FkVHdTUkQ1L1l6blp6MVVJCnF0M3gzSmljV1JSTVhHN2VVdUFP\nbnB3UU8rYXA0cDNEZ0ZBS0h0em0vM28KLS0tIDdtelpHRzZoa2R2ZVF3ZkpYVnZy\nc1d6UHVuMFVZTkFoNEQ2Z1NOTWp3ajgKN2clvD3hobFHvY2jCPwxe00IuJTtvZe4\njbkS24mmK6vwRNxfx4VCYjCdwYmMvC9NKUebDrLvXjyiTNwQFMSEng==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzSkw4d0xnQkdkVVc5OVFV\neENIQVY4WFAxWGtjQStURDdrQmllOHB0VzJjCkh5WGhjb1l4d0IwN1k2M3RDdEVt\ncWpNNjhxSXlCTDVsR3gxRFhtbHBPdjgKLS0tIEVnS2tmQi9GUWkxTEs5cTQrZnhx\nZlZwVTFvR3lKV3NwMFN4Yk9TbFJtRDAKuDpXya93suUkC8Ss/rQyLUNDfwvp2hK+\nB6Dzbx7xYu/1gyKfJ9ppcfZx7WsTAld3NT0T1jla0iFqp/pfCYiCfg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-11-10T18:54:18Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxYmxWMDZoQXR4ZjN2aDV0\nN1pZaXpJTGJyOTdnY0ZjN2tPclJrTnlGRFY4CmNZazlOVDNYY0pSWm1LcFdXcUhk\nZjgzSndHdFFBNXlhZTRhRlhiLzZwc2sKLS0tIEN0SWRJMUJyWnRPZnhvZVkvUDN1\nMXBVWUVFMExaVFdEUFZxa0RvZjRQdlEKqpUPDwN9fqB66LZuDd51ANl6o+OXoIe1\nSYb8n/hOUC1QOTLb1i1k+Myzbdu+SVs2Wn25sBi4z66nhnOBcCF39Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0WVlTM1p5OE91VkpEenI5\nOGwyYjFLR09UK1JzeHZVZmtQS24yQlNpaVZrCk9MaU5HM0VhTTBWWHV6TVpVYVUy\nWUVpL3I4VEhOS0RwQm1WYlZqKzVWYTQKLS0tIHdQTnV1bndDRXc0YUt5NmxpWFA0\nVzhNci9MN09kcUpxdWlCNkMvemZkTE0KsbyXuX/U6pJy7ImJ3D89jhUUVzqn3KHh\nRr1ALzObzsBY8GHfef00QVUQ1Yy5GXxAe17KL+EgvqZY3V2NHScJXw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRWDZSZi9paGxVbnpML2xq\nSDRaS1ZMQVhSYkJNbGJlK2dGNkozRlNCOXdNClBidFN6WlYyaktmWHNMemJFY1I5\nSW5adU13aDNpa2lyVkNFR2hzV1RnV1EKLS0tIHYzdVdGWHY1MW5mbXUxbzh3OFZL\nV1FUbzlDb3ZRMWNXQkZzdW53TDdrVEUKVzyl9Rsado15s4Qe8rPQ0lXKP0ENS5C8\nBHu260eP+AhH+iR76Lfs41cvEV4VfnLUUi8u+9wtd8QvJBPfpUS0fA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBncGRyMjkzTFBBdjIxbHFu\nQVlvOEF2aUtJQ2J4T2VwV1Jub3pwNUpScWk0Cm9xeFNPaWJ6Q2RJQzJmdlJsUzRa\nV2J0cmhCbWo3ZytWcHgzaEppcGZOMVUKLS0tIFFpNkF0cGZ0aDliNDhNejBqNzY0\nOU1XV2FFL1cxajFSQ2FRLzd2cytLc28KnssYZkJTo3OzazR/JcIpKekQ4+GV28kT\nl1JAvvSe5DB6w8+srifWt9D4lIVvD+H8wm7kizvO/FHZGWNqMle77g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3Q0l3RDlvdGVkVjVBU2FB\nUDc5cXo0WlJpZHZ6SDdrQWMzaVR0Wm5wVzBjClVSNWV0UGFvWTBPMzFUU3ZpbDBr\nTFdPOVhtMnUyZTJvYi84dURhVllFTjgKLS0tIDZnNlZGbWY1QUdqL1ZUaDJpTzA4\nb05FMExLT3Y0M2xNeGh3Qng1bjFLOXcKdimvuj6pfppDHmPVZFxDsn/J2uBifgRk\nk7KxjgM/xyjnMa+rnFBWymONwJhuoXmKROrwcS7XGlx7IyrXERG0vg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpM0dhN1VCZE5tS1BSNldi\nMU5xUXRvNER1YnU0aVpySVlOU0JUcXZhMlNrClcza2pZSUxBbnF1VjJDVWVpMkxJ\ndHUzMXFKVW9yNHV2QlJYdVp6WVFvTG8KLS0tIDREd1ovNHRJNXNoa1phd0w4MEt5\nZGxUYmc4aktWcUx5VllIczZqakpXQXcKYZ+V3YrsTnCdaqs0KmGApUzsln/gVjhd\n2wXCS8ce7a3pFsTWQot564+Vv9uAn865TMnj10Jn8ddHD15fU+pzjg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGbFJ4VkhQSXNZenpDbHVI\nVk9ZblNhTnZIMXNidTVYT0pMTnJqV093YlZzCk1JcXJJeVZTUHdrZlZaQ1MzamtJ\nWGVJS1lIZlMxVFlHMHhhNzRIcERWZHMKLS0tIFJRR2NLOFZUTTVtdE9VSFRSMmpl\nZ1JZWDFKSEtpTVBXMXRqd1ZPakVXVUUKd3EwiIlwtHTNvjqtZdP3h6k0h61l5hlO\n+/631VWCccAxWwDHNRVVJZFmZUuPCEhrJEduZVdr5woxtLB852ZiEg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoZUd5S000ZlFJUkNxQ3FR\nK2JvTGxRNjZuMjROSU9JMjVFNHYyY1gwYXljCllvRCtoR2lDYnY1UFVSNlpkY0tS\nRld2MGZncWh4M1o3U0lHZFE2NHB1QUkKLS0tIFUyVjBISUFSK2M5Tzd2LzhjUUxY\naERleE9rTnpJaWs3SUhNNS9JVHVnM28KlDRbyRAoDuNRRzFZ3d4mgzpbBu4uiR8u\nJSBP4a8McQ+0AsFpIOw6bYKGRk0T3Aax6WGvm35lH6EcDZnRIw3YJQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBadzQyeW9ldHV1WVorNjZG\nYjFBTk1lRHhoQm1aS1NnN0JYcDBKUHRHMERZCkdFOXpkNGt3Z3E5aDhEVU9kZXgr\nNWZCRG00RFBKMExnYjBjcnp6OGt6WUEKLS0tIGM5YWNwaUNKcEluRjVCQUdCbU5y\ndm9lbXh1aG8rVmNJS3R1SGpWQTdKem8KYIwGF+SClfbUjI2rQVKBxhda6S6k6pq3\n9OcjFa3wuLKIOa+Ua9eW/jXcFv66Yv3XamVdxxWM6f6FI3kbagVU3Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByc0IvUE1DSWIzM21XU3JW\nVHpHYTJyM3diUWErOEY4YWE3a3RhMVUwcjNvCmpFdU1vNnpHZ3R1Z0hkQVpRSC9N\nRXVRYTJKQmE5aHF6TEdBOURMRkYzYjgKLS0tIHhoNmk5Q2NJNkN3bDYxWmFvWi82\neVErNDZuWDRwYVJzYUFROElDYzRXUHcKiYg+LkqEtzqLvMtGjCkNbcbqy0F3anKR\nhF81aQfbEoQhARy5sPG9L8xccbp1E0GHnmNSUt21VVVz3gk8tui21A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5MklRNWR5Njl2RWlUbTFD\nM2UycWtsU2YxTzFheTdNYkF6dmlzSktRY1N3Cng4dG1iS0dlOWxLQUo4S0dxRzhK\nWjVaWlUrQ2t5Mm9xZHY5QWRTTTdlZTAKLS0tIDZpekhIdUdETWl6U2ZOMkRuMlRB\nLy8rSUh3cmJadThpQ1hzSUYxUE4rbzQKZ97qLpRtpwnd4qvvUVhgOsf9NPrvRF8B\nxXBnwKNoniAUWne2/yQdW6K8fuO8vHzDoVB7tMaXyXmX80X4okfadQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxeFpHMmJDYUpTMmpzYUlV\nMVRxd3JJRGE3ajdHMFB1UFI1a1BlaGd0bnlzClpNL29HNm1XYVhvNHV6N05NMEQx\nenZuM2pMS2krN2hLNTV4bEtiM1VHQUEKLS0tIGgxcHNPT2hoaGFRa1lpU0tBbmRm\nTDJyellYNm5objR4TnVLSEFjQ1EwTTQKsByLYLgw1g7ILxai9eKGkMKiV/gdsZXT\nzLwTAfOTMOzbSyOHnAr+CJMhc6V+sFUYf0XLE5y1DceGKEL2JzqdpQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZSktXamFpZGxNTmNacWg4\nY1RJVzgxWXkrWlVHYkRHR1pPQ2VEVzgvMVdnCnJGV2JhS0NTWXF2NW5UWWJjUnc4\nOE4zUEJJak5Tc1haQUxBNGMvYXk4T3MKLS0tIFhEZTRkM2VOR3J5OElZRG5yckhR\nU1dyaXZNWG1BMitXM0NUM2MxaTh6d2sKcP/0MSl23ocyhOYyGTVhmXj/lZIyPbGk\n187SnmEDyKmyGvTcXiQybASWrXUITTIcVZU8eBCfxbfmCJQBSvN/wA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyUzJmRWxlTTBqT3NZcFhZ\nNmhETmNaMWJPdkVGMWhqWFZjK2EvZlRqbFM4CnRabVJ4QTdRSzVRc0RiQ3ZzSkFr\nUzdDL3NNMkZtTEtabFhHRjZLTlo1NHcKLS0tIGxDaEtTcEwxMnBPdFVuRzUzTGth\nMWk3emZYNkt2ck80THloQkpsbG02UlkKBIG/UVQPa68k5S0PduqWa6mc2WNQOFtQ\nj9sSBcK0lWMwIuW+rs7aZJ1ZZ6i6F0KwTaRXSJTUZAFgF0jlWN0oPw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFRGs2NXh5K1lCRVNaOUsr\ncHhNeklOcDVFMlJ3YWc3c3JXOHhaWjY1alZJCkc2UU5ZVThNdmg5VXByZGxVRUlG\nS0NNamxDbE84QUxrb1JSYUJZbmtISncKLS0tIFNJOTkvVzdueUlJeStuQ3JWR0hH\nSkhTMm1uN1htakxYaG1YUEJKOHlLNXcKPy7FCGYEVbvSxb6Hp7r1/8OGY7JWUxmq\nIh5VvBmI1mUwup6cGvaqkqmpCqjC8z0NmQUsLoyWw4ta8ujG4Dln0A==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqczE0RnlXb2NnUVJEQVZD\nQmw3ZU5kYnd4Q29yTU91dzJaOVlTTTFFNmswCi9aYlM1ZjFXa1VmUXNOZjczeC9U\nRWFjR2Fzd1NlL1NEeHNob3NRTVNNeGsKLS0tIG5qcFJxTWpEQ0JVVFc5MW9IZCtq\nZHQrRkdvWWpWVWRLZ2tlS1NCVDRYL1kKx2ZuKMdvtQkN/x7TLg+deDxPFqXjPYNc\nUVrryXoei8/4LCJXIvouugnUe0Fz7SQekiymgd7aP35lgXn1yVSCsg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3NDB5Wi9jdm9ScS9jUmJC\nS2dSNUZ1VXpxaWRQRkxlak1GcXdnK05JY1RrCjNhUnNhR3RjUHJuSHF5UTRBY2NT\nK1l4L0VNUGJkdHl4R1Q2VkZsNElybHMKLS0tIFRZR050akFoQW92Qnh2RTBhWWtO\nK3NFMHpqaFBqcXE2R3Uyd0dRbFVEUE0KqcAU6kZ2Q7UIFCfsbmHQtMrvGwvZ2GrA\nlFwAJS27B9i1V1CNX4xDZ4Ls0po3KsT47iWv8FrJAbib1xF4iUt2Vw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2022-08-10T06:12:46Z",
|
||||
|
@@ -8,35 +8,39 @@
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1tnl4jfgacwkargzeqnhzernw29xx8mkv73xh6ufdyde6q7859slsnzf24x",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzZUhCME5zUjVhWVFjQ2Z6\nR2NTczFybG1yQkFaTDFlbVVndTREcU9HcUFNCmhxOWp1NzJwNVBBcTZ2U052U0w0\nQWFEM3lNQlVoTTlRMk9NSnYrRWtzaGcKLS0tIHYzZHMrWkFTMHY2SWZFazFiN0dW\nZThoVWZJK0xhOWZuOUM5ZTFTTm93cXMKV2yCHihby+B3pdMW4l5a2eDV2m3xmEEq\ns5jNA2haUYyOVfp+mcgM0OyxKwHi5RhH4RBvmkAK5dvpRjRAJ4blKw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0RXA5bEtIemtGdG5QS2pD\nSUdnck9BTkZpSEJScmRYcmU3bGFGSml3d1hBCmpINm9uTGhHekcxd2toWmdsYUcr\nZzJ5OEQ5T045d0RQVDE2Q3NtVXJGVU0KLS0tIEFjenBGNUlIajVkZVBDbE9LVSs5\nWS9LWWdEUHBnMndFa0h3TGc1WkRwMUUK+0d8sNmajXkWloLAME9w55Wan7g1L+eL\nMJim/GRI/CmOn0qBXTpvvnAVWxpZk6nH6pF0ahod580H2veGIMjygQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5aERSdjZWZjhtcXBQZjNM\nWGhDQVI5TTRENVdjZ1JpQmp4dDAwdjZMam5BCjk4bk1XeE03MldVaE9xd3NpZVJ2\nOWxjVkdkUWwrdEJiR3hxWDVDU01iZ1UKLS0tIHJzU0d2WlBHbTg3amxod3h3cVVX\nUmJlTWx3YjZjdXoxb21uMUtwcUpmTjAKCwarxI60oP+NYxcIV56rnEF233XNdjJw\no7ZcI9QbGlZoAap/6SV7SqV4wtcliTp7EU8CCLjM0OX4wdQ+3wbyGg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWXN5QTdqNE5BeCswWHNy\ndWluMTlHODIwVlJzR0hkNU1uQi9vMzUvbTNNClkyYmxLZGRCQVE4WkJ3dXQrMURw\nK3N4dkFBSldld0tIcXJwTEh1N0ozb2MKLS0tIG0vK2dlaEhMQWdGaDJhSURKN1lU\nNStmYlpQSkJnc3prNkVhWmdCK2hzMmMKvSVUSFIdoenvobY0YyEClmULHeBfv4X1\nCQhDJc9wGlMvgQWhcPkLY79MnOa1IYgz0ve36RBV3SMqWDWSjlg3zQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArMFZWb2h1Y0xwWXRPOE1p\naUpqU0hOYU5lVlFJV095S3lRVzBLUWIwMERjCkx4Ykg2ZlkrUnMxVVE4bGtoS3Nw\nMkxSdFNDek5xREliQ29Zdk1ZM3RGMFkKLS0tIEJyRDdjUFF1RVhtYXQ4dmhZQjcz\nUFkrWmFqdDlrQTFpSU5Lck4xbVVqVTAKA1G9XAMjrQD/mByV2KMP65GE+ApdSDlu\nh57EAmBmXlgFzdK59Qrd5feM9UPa5bIzj4szqQkS2G4Zn+JZfbtrXQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKUHg2YWZiQVZ0OUZTUksy\nZ1M1eG43NEMwK2dMbGlHRDkxcEZwUzFmb0ZBCnVobWhKZENsNUNueUJ4NEwyanRp\nT2d3aGMvaElBb0Vyb3pGVHZLRGtQNTgKLS0tIE9xQWUyV3BjWlN3ZmFxUGF5TDY2\ndlBsTU5BdTlDZ295N3hRa1F6TWRBU2sKwyxVLRAsqtHuzJcvM595xdXQEl5t0lMz\nR9QAl8mS74GVNNG0ma5UClJgKCGJOlxUL3AwtpgEcGbN8obhZQIQdA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0SEFrNjNYRGZxaXZMQklT\nVkZZbkplaE5lbWlmTmdWZWZ6ajFMU0ZYWDA4Cm9vbE9ER1JTWUZKTlFxZElDNWRt\nTWJwQi9zR0hHR1lsNmEwcmlRS1c2RTgKLS0tIGQ3Zjh3MTJhV1RZQWltRkYxOEUx\nU1hBTTZIYVRieUdRY2UyY055YU9qSHMKuCBEh7diZ1jK58CXZtpsNIe1MQNdEsur\nkUkNNaLRDGZNrAcYQ24oiSmLZGQR18wRI9QkajyOUU3GB8iWrOpnOA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Q2dQejZsbndNeFhBcXRh\nbExFYU1NZXB1eHMxbm1IeUpmN1ExYStEM2swCjdxaDU0VW9UREFRT0tQWGhtaTB4\nSlFGODh4N2VXR252WlhibXFkTU5HK0kKLS0tIHloSDAzU1NyVmRoMElOeVNMVFRm\nQVR5WVFvYzBpbjczcUhFY3g0ZWxzMHcKMAeql/tfKxyk2hurcT3vdYlPCObCpZSj\nKixNdQghwC7xwOkF2sgLCff+KSJHbir2SJZJ6gwBQU3EqbzPc6IkGA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBreFhicHJXR01xZDVUYTUw\nVUg4cWhPZmdXUDh5SUNVZHQwUk1OL0MrSkRNCktHTDJOeU1qVlduS0RIMlh4QlY2\nM3orRVUyYVZ3bXpwNFdZdGFKQUptMzgKLS0tIEtiMk9ncWdnVUlWVzkyM1Y4T1ZU\nSUUyKzZ3Njd1Rlp1cHU3STdqVHZVZkkKKoRsOSxhOlbN16SeN350HpvTm8GVI/4b\nEPap3rzH5kbSngxkKIUdwbbUe3XwXauA84gdLbzkLZSVJzYcb5eBVQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRaC9uSWFKU2VMcTVsV3Rl\nYmp1TnZJWTErYU5BR0treCtTb1h3ZmFadURrCkdENGVoZHUrVkJBZ2RzZWxFZnJi\nL3JWcGJZUVJYclpCTFVjVW5ISEN5ZjAKLS0tIHpRQVd5MjZYZjhHZCtWNWpVUG9Y\nb0VUeEpsdXZhSEN3bG9pWlVSZElFQTAK4o9/KM6Rf7F/ZFcETCpAKY4y2v8dW78P\nCkd5x4fOiDugxh4rWdlguwhQRsRI1vujSdFYJ5KJzBxQsmMa2HuHRQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsU1l5MW1OQytBSmRwM01s\najVsTXRtaytDcnFhK2hkWGxXT1lTWEg4UEYwCmJ4ZGtIUTZRTVN2UW9WQytNRTBD\nOGdUeHBwb245OTNSU2xiVFJRTUFVTDAKLS0tIDBGdE9ZSkd1eSs3WWxYS2tPN2o4\nN3VidlpiYTVjck42ZFpOeFFtNFluTGMK4cXvbuGTTquncPXU0Xes1wssTUp2t8ry\n+G/cgUOZMqiIn4E+UmTc62+HKl7/CTZhpXs8FKVRPQq++ZqR4OtazA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwRHN6eVVVT2dOUTVSRkZa\ncG45enZKM1IvYjZWeXZhZ0FxaG1hVkhKUnk4Cm9pR3ozUjgrQlZOMHRjdUVER0Y4\nZi8yY1ZvbG9qTmJKYy93akVVUW92cGcKLS0tIEkrdENUU1g5T3FxRUw2UW40UzlE\nL2pZWHlqYXNWUTZ2SUpGYXpycXZlcVUKxYDykX2n7sha2BCsAcHXwUjMRPad+vSL\nPBifvQrMe1YUA0WZsuBxrNcoyHzyC9dbY5Ma0K4tqMUEEerioG2Qlw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzTm16bU1PSFlFRnhoNkF0\nZ2FMd29HT1VIUnpDVUJUUWNZUFcyYm5FSERVCm5QK2pQU1lQdHdzVEZxbk5QaE9C\nZDlvUjFLNjBqN3ZMOUVqR0xPb0tVSTgKLS0tIG1BQUkxZmxaUFNvaHhaUzZRVjF1\ndjBmY3lhclpRZzVlb2VYYnkvc3R4b1EKFocZkzsjVjhRCE5qCXZy2fZmaJ68Ees3\nSmAQcDrkQ2fqnj7nRKPKqav5zSdf1Y5ItaQf23pg9Q7Pq4yrcd1ICA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiaUo5bGJTdUZnQ2JmQUdS\ncE5OYXdsdEgzbUgxdTFicVdIL2l1VjZMb3hzCkxaMUFyS1pnT3BZdlJaWVBjL0x0\nWXB3STdyeVJUanprRGJhRytycEpEb1UKLS0tIEVZclBJMlNtakFLZ0NVcnpMTHFz\nTTZBeGNsRlhPY2VTQ1VGb3l0MWVIdHMKRO/04rcYZyM9kiqRSbN3AeGqZc6Lq4VP\nWBDXnAIJHeRLZABslxhSCLmymgg9vD44q7OXk//75/GdlrtQsngw2g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2ZXBxTnBUbVJBdlVtOGNQ\nSUcwamRHZHJyS0FOSHREeWJuYWo5alMzVEhBCjVRR0NPSDZUK3JUd2hNRkVHc2pZ\nR0VsYTZIaWQ0S0FrbFhsQ0JTMUdoNVUKLS0tIGN3VStnVmxHSFJaWUY1NCt6YWZK\ncVgwYXRRZVNwbEkzcUk5OWRYZS9xK1EKXaz8zXIIE+7mBf6F+ZUciRY0RkFBqkR4\nS59RU5Bfe7Xdmx461DxASvr6vYC+cnaR5gYkumgce0oqaptuEj8xUw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age18vq5ktwgeaysucvw9t67drqmg5zd5c5k3le34yqxckkfj7wqdqgsd4ejmt",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLMjVHdFcwUFEyYTFUQk00\nVm9CWUNwMFg5U3RQSm02b2UxdXpPOGNiSlEwCmFUY0pZeGFCellEejhLU3NKRHFr\nMVJnN0dZUERtMUFpU0dOaHY4SHlKancKLS0tIG4rbmttdHg0SytGenNRMm5XbWEr\ndnVDdUtNalFMYjBGcW9mdjJ6Yk9Fc0UKQxpNwY0phEwgiM3sWHEbBBIrpPZebmXO\nSsOdVox6/O65MAr7ejQaDTRxmJ25YWQf4Xv68/6i1cEaDjahwjLGhg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Qm5xREFCTS9xYWpxTHVJ\nRHhlUks0OWJOV3lIaVZYYk1QY0pMazdqbmtrCnpGN0R1c01VbG10cDF0MmVOdjA0\nTnJxaGpHS0hXaW1BcnlOdzRHRnd0NXcKLS0tIEhZWEUxYWU3Nm90S1p3SUo4RTNp\nVEpMelo2Nzhod1dMUXhJYW12Q3ljeEkKnN1eFIWuek8eD9bg+u8ISGt5fhfY919e\n2q1qLWwIbMjySD+LfySUczQsHTFfHkmT6EQ8LYNMTMkZNIM36UVekA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2023-05-14T08:07:51Z",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user