1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-12-24 11:57:59 +01:00

Add sequoia-wot-vectors module

This commit is contained in:
Paul Schaub 2023-07-14 17:42:47 +02:00
parent 5ec0008f8d
commit 688b13fdc4
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
70 changed files with 16485 additions and 1 deletions

View file

@ -78,3 +78,8 @@ License: Apache-2.0
Files: pgpainless-wot/*
Copyright: 2023 Paul Schaub <info@pgpainless.org>
License: Apache-2.0
# Sequoia WOT Vectors
Files: sequoia-wot-vectors/src/testFixtures/resources/*
Copyright: 2023 Neal H. Walfield <neal@pep.foundation>
License: BSD-3-Clause

11
LICENSES/BSD-3-Clause.txt Normal file
View file

@ -0,0 +1,11 @@
Copyright (c) <year> <owner>.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View file

@ -1,3 +1,7 @@
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: Apache-2.0
package org.pgpainless.wot.cli.subcommands
import org.junit.jupiter.api.Test

View file

@ -0,0 +1,12 @@
<!--
SPDX-FileCopyrightText: 2023 Paul Schaub <info@pgpainless.org>
SPDX-License-Identifier: Apache-2.0
-->
# Sequoia-WOT Test Vectors
This module contains test vectors (PGP Keyring files) from [Sequoia-WOT](https://gitlab.com/sequoia-pgp/sequoia-wot/-/tree/main/tests/data)
which are licensed under the [3-Clause BSD License](https://opensource.org/license/bsd-3-clause/).
Kotlin wrappers have been added around the PGP files for easy access.

View file

@ -0,0 +1,47 @@
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
}
}
plugins {
id 'java-library'
id 'java-test-fixtures'
id 'org.jetbrains.kotlin.jvm' version "$kotlinVersion"
}
group 'org.pgpainless'
repositories {
mavenCentral()
}
dependencies {
// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
// JUnit
testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion"
testImplementation "org.jetbrains.kotlin:kotlin-test-junit5:$kotlinVersion"
testFixturesImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
testFixturesImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion"
testFixturesRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion"
testFixturesApi(project(":pgpainless-wot"))
// Logging
testImplementation "ch.qos.logback:logback-classic:$logbackVersion"
api(project(":pgpainless-wot"))
}
test {
useJUnitPlatform()
}

View file

@ -0,0 +1,18 @@
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.junit.jupiter.api.Test
import org.pgpainless.wot.network.ReferenceTime
class ExampleTest {
@Test
fun test() {
val vectors = BestViaRootVectors()
val network = vectors.getNetworkAt(ReferenceTime.now())
println(network)
}
}

View file

@ -0,0 +1,28 @@
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.PGPainless
import org.pgpainless.policy.Policy
import org.pgpainless.wot.KeyRingCertificateStore
import org.pgpainless.wot.WebOfTrust
import org.pgpainless.wot.network.Network
import org.pgpainless.wot.network.ReferenceTime
interface ArtifactVectors {
fun getResourceName(): String
fun getNetworkAt(referenceTime: ReferenceTime, policy: Policy = PGPainless.getPolicy()): Network {
return getNetworkAt(getResourceName(), referenceTime, policy)
}
private fun getNetworkAt(resourceName: String, referenceTime: ReferenceTime, policy: Policy): Network {
val inputStream = ArtifactVectors::class.java.classLoader.getResourceAsStream(resourceName)!!
val keyRing = PGPainless.readKeyRing().publicKeyRingCollection(inputStream)
val store = KeyRingCertificateStore(keyRing)
return WebOfTrust(store).buildNetwork(policy, referenceTime)
}
}

View file

@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* When doing backwards propagation, we find paths from all nodes to the
* target. Since we don't stop when we reach a root, the returned path
* should still be optimal. Consider:
*
* ```text
* A --- 120/10 ---> B --- 120/10 ---> C --- 120/10 ---> Target
* \ /
* `--- 50/10 ---> Y --- 50/10 ---> Z --- 50/10 --------'
* ```
*
* When the root is B, then the path that we find for A should be `A -> B
* -> C -> Target`, not `A -> Y -> Z -> Target`.
*/
class BestViaRootVectors: ArtifactVectors {
val alice_fpr = Fingerprint("B95FF5B1D055D26F758FD4E3BF12C4D1D28FDFFB")
val alice_uid = "<alice@example.org>"
val bob_fpr = Fingerprint("6A8B9EC7D0A1B297B5D4A7A1C048DFF96601D9BD")
val bob_uid = "<bob@example.org>"
// Certified by: B95FF5B1D055D26F758FD4E3BF12C4D1D28FDFFB
val carol_fpr = Fingerprint("77A6F7D4BEE0369F70B249579D2987669F792B35")
val carol_uid = "<carol@example.org>"
// Certified by: 6A8B9EC7D0A1B297B5D4A7A1C048DFF96601D9BD
val target_fpr = Fingerprint("2AB08C06FC795AC26673B23CAD561ABDCBEBFDF0")
val target_uid = "<target@example.org>"
// Certified by: 77A6F7D4BEE0369F70B249579D2987669F792B35
// Certified by: 56D44411F982758169E4681B402E8D5D9D7D6567
val yellow_fpr = Fingerprint("86CB4639D1FE096BA941D05822B8AF50198C49DD")
val yellow_uid = "<yellow@example.org>"
// Certified by: B95FF5B1D055D26F758FD4E3BF12C4D1D28FDFFB
val zebra_fpr = Fingerprint("56D44411F982758169E4681B402E8D5D9D7D6567")
val zebra_uid = "<zebra@example.org>"
// Certified by: 86CB4639D1FE096BA941D05822B8AF50198C49DD
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/best-via-root.pgp"
}
}

View file

@ -0,0 +1,49 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* Check that an expired certificate can't be authenticated and can't be
* used to authenticate other certificates.
*
* t0: Create A, B, C
* t1: Create certifications (amount = 60)
* t2: B expires.
* t3: Create certifications (amount = 120)
*
* ```
* A
* | 1/60
* B
* | 1/60
* C
* ```
*
* At t3, the new certifications are ignored, because they were created
* after B expired.
*
* At t3, B can still be used as a trusted introducer for C, because the
* initial certifications were created before it expired, but it is no
* longer possible to authenticate B.
*/
class CertExpiredVectors: ArtifactVectors {
val aliceFpr = Fingerprint("1FA62523FB7C06E71EEFB82BB5159F3FC3EB3AC9")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("B166B31AE5F95600B3F7184FE74C6CE62821686F")
val bobUid = "<bob@example.org>"
// Certified by: 1FA62523FB7C06E71EEFB82BB5159F3FC3EB3AC9
val carolFpr = Fingerprint("81CD118AC5BD9156DC113772626222D76ACDFFCF")
val carolUid = "<carol@example.org>"
// Certified by: B166B31AE5F95600B3F7184FE74C6CE62821686F
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cert-expired.pgp"
}
}

View file

@ -0,0 +1,34 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* The same as [CertRevokedSoftVectors], but using hard revocations.
*/
class CertRevokedHardVectors: ArtifactVectors {
val aliceFpr = Fingerprint("219AAB661C8AAF4526DBC31AA751A7A0532863BA")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("90E02BFB03FAA04714D1D3D87543157EF3B12BE9")
val bobUid = "<bob@example.org>"
// Certified by: 219AAB661C8AAF4526DBC31AA751A7A0532863BA
// Certified by: 219AAB661C8AAF4526DBC31AA751A7A0532863BA
val carolFpr = Fingerprint("BF680710128E6BCCB2268154569F5F6BFB95C544")
val carolUid = "<carol@example.org>"
// Certified by: 219AAB661C8AAF4526DBC31AA751A7A0532863BA
val daveFpr = Fingerprint("46945292F8F643F0573AF71183F9C1A4759A16D6")
val daveUid = "<dave@example.org>"
// Certified by: 90E02BFB03FAA04714D1D3D87543157EF3B12BE9
// Certified by: BF680710128E6BCCB2268154569F5F6BFB95C544
// Certified by: 90E02BFB03FAA04714D1D3D87543157EF3B12BE9
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cert-revoked-hard.pgp"
}
}

View file

@ -0,0 +1,128 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* If a certificate is revoked, this impacts the validity of a
* certification on it and the validity of a certification that it
* makes. There are 8 scenarios:
*
* 1./2. t1 - A, B created
* t2 - A certifies B OR B certifies A
* t3 - A is soft revoked
* => certification is okay
*
* 3./4. t1 - A, B created
* t2 - A is soft revoked
* t3 - A certifies B OR B certifies A
* => certification is bad
*
* 5./6. t1 - A, B created
* t2 - A certifies B OR B certifies A
* t3 - A is hard revoked
* => certification is bad
*
* 7./8. t1 - A, B created
* t2 - A is hard revoked
* t3 - A certifies B OR B certifies A
* => certification is bad
*
*
* We want to consider both B as issuer of a certification and as the
* target of a certification. When B is an interior node (i.e., a
* trusted introducer), we do both. (Note: when B is the binding that we
* are authenticating, then B also has to be valid at the reference
* time!) To check them separately, we can consider a path that is just
* two nodes long where either the root or the target is revoked. Since
* roots are targets are treated specially, we also want to check when
* the revoked node is an interior node.
*
* Thus, we need to also consider the
* subgraph A - B and the subgraph B - D.
*
*
* Consider the following timeline:
*
* t0 A, B, C, D are created
*
* t1 A certifies B - 2/120
* B certifies D - 1/60
* A certifies C - 2/30
* C certifies D - 1/120
*
* This results in:
*
* ```text
* o A
* 2/90 / \ 2/30
* v v
* B C
* 1/60 \ / 1/120
* v
* o
* D
* ```
*
* t2 B is soft revoked
*
* This does not change the network as the certification was made before
* the soft revocation. That is, we will be able to use B as a trust
* introducers for certifications involving it prior to the revocation.
* But, we won't be able to authenticate a binding involving B, because
* it is revoked at the reference time:
*
* ```text
* o A
* 2/90 / \ 2/30
* v v
* B C
* 1/60 \ / 1/120
* v
* o
* D
* ```
*
* t3 A certifies B (amount = 120)
* B certifies D (amount = 120)
*
* Because these certifications are created after B was revoked, they
* should be ignored.
*
* ```text
* o A
* 2/90 / \ 2/30
* v v
* B C
* 1/60 \ / 1/120
* v
* o
* D
* ```
*/
class CertRevokedSoftVectors: ArtifactVectors {
val aliceFpr = Fingerprint("66037F98B444BBAFDFE98E871738DFAB86878262")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("4CD8737F76C2B897C4F058DBF28C47540FA2C3B3")
val bobUid = "<bob@example.org>"
// Certified by: 66037F98B444BBAFDFE98E871738DFAB86878262
val carolFpr = Fingerprint("AB4E3F8EE8BBD3459754D75ACE570F9B8C7DC75D")
val carolUid = "<carol@example.org>"
// Certified by: 66037F98B444BBAFDFE98E871738DFAB86878262
val daveFpr = Fingerprint("DF6A440ED9DE723B0EBC7F50E24FBB1B9FADC999")
val daveUid = "<dave@example.org>"
// Certified by: 4CD8737F76C2B897C4F058DBF28C47540FA2C3B3
// Certified by: AB4E3F8EE8BBD3459754D75ACE570F9B8C7DC75D
// Certified by: 4CD8737F76C2B897C4F058DBF28C47540FA2C3B3
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cert-revoked-soft.pgp"
}
}

View file

@ -0,0 +1,81 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* Consider the following timeline:
*
* t0 A, B, C are created
*
* t1 A certifies B - 2/60
* B certifies C - 1/60
*
* t2 A certifies B (expires at t3) - 2/120
* B certifies C - 1/120
*
* t3 A's certification of B at t2 expires.
*
* This results in:
*
* t1:
*
* ```text
* o A
* 2/60 |
* v
* B
* 1/60 |
* v
* o
* C
* ```
*
* t2:
*
* ```text
* o A
* 2/120 |
* v
* B
* 1/120 |
* v
* o
* C
* ```
*
* t3:
*
* ```text
* o A
* 2/60 |
* v
* B
* 1/60 |
* v
* o
* C
* ```
*/
class CertificationLivenessVectors: ArtifactVectors {
val aliceFpr = Fingerprint("77C077250C26357E5E64A58A41426350B1D7F738")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("840891562819D3A108C4DA1BB31438DE34F8CF69")
val bobUid = "<bob@example.org>"
// Certified by: 77C077250C26357E5E64A58A41426350B1D7F738
// Certified by: 77C077250C26357E5E64A58A41426350B1D7F738
val carolFpr = Fingerprint("E8BB154D000C17AC87291D7271553C836973FE01")
val carolUid = "<carol@example.org>"
// Certified by: 840891562819D3A108C4DA1BB31438DE34F8CF69
// Certified by: 840891562819D3A108C4DA1BB31438DE34F8CF69
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/certification-liveness.pgp"
}
}

View file

@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
/**
* Four certificates that only make certifications (depth is always 0).
*
* ```
* alice
* | |\
* v |
* bob |
* | |
* v |
* carol|
* | |
* v /
* dave
* ```
*/
class CertificationNetworkVectors: ArtifactVectors {
// TODO: Extract Fingerprints, UIDs and timestamps
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/certification-network.pgp"
}
}

View file

@ -0,0 +1,62 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* Alice may realize that she made a certification in error, e.g., she
* realizes that she was tricked into certifying an incorrect identity by
* Mallory. Or, circumstances may change. A person may leave an
* organization, so the CA admin needs to invalidate the certification of
* their organizational identity.
*
* Consider the following timeline:
*
* t0: A, B, and C are created
* t1: A certifies B and B certifies C.
*
* ```
* A
* | 1/60
* B
* | 0/120
* C
* ```
*
* t2: A revokes their certification of B
*
* A should now no longer be able to authenticate B or C.
*
* t3: A recertifies B
*
* ```
* A
* | 1/120
* B
* | 0/120
* C
* ```
*
* A should be able to authenticate B and C.
*/
class CertificationRevokedVectors: ArtifactVectors {
val aliceFpr = Fingerprint("817C2BE18D9FF48FFE58FF39B699FC21AD92EFDC")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("4258ACF6C3C8FCE130D6EBAB0CC5158AEA25F24A")
val bobUid = "<bob@example.org>"
// Certified by: 817C2BE18D9FF48FFE58FF39B699FC21AD92EFDC
// Certified by: 817C2BE18D9FF48FFE58FF39B699FC21AD92EFDC
val carolFpr = Fingerprint("36766215FFD2FA000B0804BFF54577580DDC1741")
val carolUid = "<carol@example.org>"
// Certified by: 4258ACF6C3C8FCE130D6EBAB0CC5158AEA25F24A
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/certification-revoked.pgp"
}
}

View file

@ -0,0 +1,12 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
class CliquesLocalOptima2Vectors: CliquesVectors() {
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cliques-local-optima-2.pgp"
}
}

View file

@ -0,0 +1,12 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
class CliquesLocalOptimaVectors: CliquesVectors() {
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cliques-local-optima.pgp"
}
}

View file

@ -0,0 +1,111 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* Creates 4 10 element cliques. To authenticate the target, the path
* finder must find it's way through them. If the algorithm is NP
* complete, then it will take a long time to do this.
*
* The cliques-local-optima variant includes an additional certification
* from the target to a-0, which will trip up simple heuristics.
*
* For added fun, we also add a local optimum in the -local-optimum
* variant:
*
* - root -- 200/30 --> a1
* - root -- 255/30 --> b0
*
* And a second local optimum in the -local-optimum-2 variant:
*
* - b1 -- 255/30 --> c1
*
* ```
* root ----------------------+-.
* 100/120 | | |
* | 200/30 | | 255/30
* v | |
* a0 a9 a8 a7 a6 | |
* \ | | / / | |
* 100/120 Clique | |
* / | | \ \ | |
* a1 _a2 a3 a4 a5 | |
* | |\.---------------------' |
* 100/120 | .-----------------------'
* v |/_
* b0 b9 b8 b7 b6
* \ | | / /
* 100/120 Clique
* / | | \ \
* b1 b2 b3 b4 b5
* 100/120 | \---------------------.
* v |
* c0 c9 c8 c7 c6 |
* \ | | / / | 255/30
* 100/120 Clique |
* / | | \ \ |
* c1 c2 c3 c4 c5 |
* 100/120 | \---------------------'
* v
* d0 d9 d8 d7 d6
* \ | | / /
* 100/120 Clique
* / | | \ \
* d1 d2 d3 d4 d5
* 100/120 |
* v
* e0
* 100/120 |
* v
* f0
* 100/120 |
* v
* target
* ```
*/
open class CliquesVectors: ArtifactVectors {
val rootFpr = Fingerprint("D2B0C3835C01B0C120BC540DA4AA8F880BA512B5")
val rootUid = "<root@example.org>"
val a0Fpr = Fingerprint("363082E9EEB22E50AD303D8B1BFE9BA3F4ABD40E")
val a0Uid = "<a-0@example.org>"
val a1Fpr = Fingerprint("7974C04E8D5B540D23CD4E62DDFA779D91C69894")
val a1Uid = "<a-1@example.org>"
val b0Fpr = Fingerprint("25D8EAAB894705BB64D4A6A89649EF81AEFE5162")
val b0Uid = "<b-0@example.org>"
val b1Fpr = Fingerprint("46D2F5CED9BD3D63A11DDFEE1BA019506BE67FBB")
val b1Uid = "<b-1@example.org>"
val c0Fpr = Fingerprint("A0CD87582C21743C0E30637F7FADB1C3FEFBFE59")
val c0Uid = "<c-0@example.org>"
val c1Fpr = Fingerprint("5277C14F9D37A0F4D615DD9CCDCC1AC8464C8FE5")
val c1Uid = "<c-1@example.org>"
val d0Fpr = Fingerprint("C24CC09102D22E38E8393C55166982561E140C03")
val d0Uid = "<d-0@example.org>"
val d1Fpr = Fingerprint("7A80DB5330B7D900D5BD1F82EAD72FF7914078B2")
val d1Uid = "<d-1@example.org>"
val e0Fpr = Fingerprint("D1E9F85CEF6271699FBDE5AB26EFE0E035AC522E")
val e0Uid = "<e-0@example.org>"
val f0Fpr = Fingerprint("C0FFAEDEF0928B181265775A222B480EB43E0AFF")
val f0Uid = "<f-0@example.org>"
val targetFpr = Fingerprint("CE22ECD282F219AA99598BA3B58A7DA61CA97F55")
val targetUid = "<target@example.org>"
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cliques.pgp"
}
}

View file

@ -0,0 +1,55 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* ```text
* Alice
* | 3,120
* |
* v 255,90
* Bob --> Carol
* ^ /
* 255,120 \ v 255,60
* Dave
* |
* v 1,30
* Ed
* |
* v 0,120
* Frank
* ```
*/
class CycleVectors: ArtifactVectors {
val aliceFpr = Fingerprint("BFC5CA10FB55A4B790E2A1DBA5CFAB9A9E34E183")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("A637747DCF876A7F6C9149F74D47846E24A20C0B")
val bobUid = "<bob@example.org>"
// Certified by: 4458062DC7388909CF760E6823150D8E4408638A
// Certified by: BFC5CA10FB55A4B790E2A1DBA5CFAB9A9E34E183
val carolFpr = Fingerprint("394B04774FDAB0CDBF4D6FFD7930EA0FB549E303")
val carolUid = "<carol@example.org>"
// Certified by: A637747DCF876A7F6C9149F74D47846E24A20C0B
val daveFpr = Fingerprint("4458062DC7388909CF760E6823150D8E4408638A")
val daveUid = "<dave@example.org>"
// Certified by: 394B04774FDAB0CDBF4D6FFD7930EA0FB549E303
val edFpr = Fingerprint("78C3814EFD16E68F4F1AB4B874E30AE11FFCFB1B")
val edUid = "<ed@example.org>"
// Certified by: 4458062DC7388909CF760E6823150D8E4408638A
val frankFpr = Fingerprint("A6219FF753AEAE2DE8A74E8487977DD568A08237")
val frankUid = "<frank@example.org>"
// Certified by: 78C3814EFD16E68F4F1AB4B874E30AE11FFCFB1B
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cycle.pgp"
}
}

View file

@ -0,0 +1,36 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
/**
* How gpg interprets ownertrust is a bit complicated. For a certificate
* that is marked as "fully trusted" or "partially trusted" to be
* considered a trust root, it also has to be reachable from an
* ultimately trusted trust root. Further, it is permissible for that to
* happen via fully trusted or marginally trusted trust roots. Consider:
*
*
* ```
* root
* 0/120 / | \
* a1 a2 a3
* 0/120 \ | /
* d
* |
* target
* ```
*
* Clearly, d cannot be authenticated from the root. But if a1, a2, and
* a3 are partially trusted trust roots, then it can be. This means that
* sq-wot has to iterate when adding gpg trust roots.
*/
class GpgTrustrootsVectors: ArtifactVectors {
// TODO: Extract fingerprints and UIDs
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/gpg-trustroots.pgp"
}
}

View file

@ -0,0 +1,286 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
class InfinityAndBeyondVectors: ArtifactVectors {
val u1Fpr = Fingerprint("B557862780A97676CC32F4BB1491A9C2BDE6F1DC")
val u1Uid = "<u1@example.org>"
val u260Fpr = Fingerprint("B69A678AA242FA4F0BBF12205C0608799B0E3C51")
val u260Uid = "<u260@example.org>"
val u254Fpr = Fingerprint("AF097DA4DB5C0E2116EF583B25A6B381B621C082")
val u254Uid = "<u254@example.org>"
val fprs = listOf(
Fingerprint("B557862780A97676CC32F4BB1491A9C2BDE6F1DC"),
Fingerprint("0618F850B6D0C48DBF406BBFAB3DAED809A35F78"),
Fingerprint("70B0C5FEFFE6B55F2CEE85455621246D16D6785E"),
Fingerprint("EC4475DE5BD76EA7DD4798777E9C990C249738B1"),
Fingerprint("FB00C7044A9DD164243CEC460B48AA8ADD29A129"),
Fingerprint("7DCB823AB1B33C6D22FC84AC3026DA74AEEB4A6E"),
Fingerprint("0058DCF7A7C6C4360DE9095DB6F33843D961E818"),
Fingerprint("D0BF1856B95A62763DE49088CE6FF96D17E0EAF0"),
Fingerprint("7F945244A20A74E1BA50BE73E917BC24D2D53F79"),
Fingerprint("12C92685CA2A867B93FD79762B2D56CF0B94304E"),
Fingerprint("02B1DB86B6869BCF92C0F74312D1A5F22E128F18"),
Fingerprint("9C8245F2DD06E4A2FE21FB1643A9663DDF7DF168"),
Fingerprint("CB7C6D3FCBB8DA0B3D7F6EC0DD193A96517579DC"),
Fingerprint("66D0F95325D4A02A36C14265FD247584CCA3C8BA"),
Fingerprint("291ABB75D735BC5B625E221B021152DF0CA1F86A"),
Fingerprint("27DF659AEE573E30D3A65B6E43474D9A4CA64DE3"),
Fingerprint("591492CAF51C06516278723EAFB9AF2643B89A3A"),
Fingerprint("20B481FFB7B72F6781BA49806C8E35B5C79A3E41"),
Fingerprint("270E3D9E87CA0999D422CD22F905BF87E8F60A36"),
Fingerprint("192124BD42BA6BF54A8820FB94B6B70D818241E3"),
Fingerprint("07C1D93539328F97517C59D27ABC3071DB73A790"),
Fingerprint("A915D1BA3F066E989B965ADFA27CC8D161C0F48A"),
Fingerprint("D968AFB7EAF13E04BB71D96100CC514119C8303E"),
Fingerprint("A62F988F2896A0286F92F8B8201E7737D11D7039"),
Fingerprint("9BF8933FCA5306F567F5F5750CE3375AFA9398A1"),
Fingerprint("5EC7400A739E579B704E618809345EF1045B304A"),
Fingerprint("2C7B74D1388CE0F2C4002CE41EAD11DBB281472A"),
Fingerprint("C18D79710A68696E972B0F321E6DE596CD08B4FD"),
Fingerprint("C1B1150980254353538D9CC5A91187FE2DBD51FF"),
Fingerprint("4FD94C288F39C4633FBBD120BF1A1C6B6789F983"),
Fingerprint("DE70A745F098EBCC45B4A3B25D0195EC3C6E0D65"),
Fingerprint("44350591F20A4069F131156283AABF91FE4AE5EF"),
Fingerprint("76E9D213C5F67F2DBE410F57DF3F9BB9622AAFC7"),
Fingerprint("A48F536C34D4A493CD233870C05B675B873B139D"),
Fingerprint("7C3FEDFAB082D236A9181B8E2B6483A582756C6E"),
Fingerprint("0FDFAF64606B6C72BF1C940D24F80C95D5B8310E"),
Fingerprint("6B5A25C2DD40AE58272FB17D15C33EF13B9D7FE8"),
Fingerprint("3814E465DDDCDB7F352E513D9C34D38E08A4360A"),
Fingerprint("2BF243991E5B6444861FC662E93888456D33F149"),
Fingerprint("124760101EF948B0E9EC24D9326FFEBD505BE4D3"),
Fingerprint("074E083627D1ED618486FB18865EA7123912BE53"),
Fingerprint("955B6A60E5EA85BADD68B1E08AF3E45D3AB93DE9"),
Fingerprint("857B9C8DCF9EBD72556237A40E652DDF8101E2D0"),
Fingerprint("FA11A49DA2E22F686471A4343E6A36C53F7C2155"),
Fingerprint("90DF0E04097EBFD295E05B9F40BE700A2E8D0995"),
Fingerprint("90BA919C17ED4252F8F0ED327192D79A112A0CE6"),
Fingerprint("3762EB478F47FEA848ADA9E1611C433D28D84071"),
Fingerprint("E960CD893E6CF7F41E752BEF15ED83ECDF49463C"),
Fingerprint("B1256D987F2789601FC5D8FAF268AB5F6AB44782"),
Fingerprint("5EE4B68A4828F5C15DD87114DC4A8509993DCFAB"),
Fingerprint("5C472E1C68A9A587C2AF9F00BC59B13A9918BBC1"),
Fingerprint("5320428600FCDB9A3AA32DA3E14D0128D7C372EC"),
Fingerprint("41958AAE8E1EED80B680F4DCD5ABFA33A1DB1C23"),
Fingerprint("7F4DFF6FC276995C94C2BF92146B7BED38209DB9"),
Fingerprint("6DE33C3735906B7E69AE593A0CD724AF410A89CE"),
Fingerprint("70F56B5B0EA57CB9ACDEB08B5333D900488A16B1"),
Fingerprint("02C9977BFF7BA0295AF671AA31894E2CD88A0F0D"),
Fingerprint("81FF106638ACE77B0C1039D5E69BCC93690A6B8D"),
Fingerprint("136368A84C7E56A86515ACC6DCD0744ABE10225D"),
Fingerprint("2B5E1D94813CED1CD63A3F28FEF343EA790E2333"),
Fingerprint("680ADF1182D00512D298417C6DBFC9084BFDB79D"),
Fingerprint("17DFBFB2149AB4A82B1DE5E5AE63FBDCE6874162"),
Fingerprint("2FD6D0F680B55F9AF128DBCBA4C71E44F433B728"),
Fingerprint("26551C85DBFDDEA97B7E7A0068DBDE9E792A7A49"),
Fingerprint("341BB68A3695B3D9EE307D7794317B145CEFCB60"),
Fingerprint("2E65A5B2F70D16D5D4D0664D360AE9BD58C555C1"),
Fingerprint("DEE7D3162919AC8AC9592051BFACF193B344DEF1"),
Fingerprint("2A8CE469DD783B95C92A6F3294A5A609AA679F71"),
Fingerprint("8A9FE07B40482C5559A6770B57B79188B52BD346"),
Fingerprint("6993EE3E5C4653A03EACBEC25604E4A55B4F75AB"),
Fingerprint("66DF2690FEAC606C285AA4D986376ACD1964BE48"),
Fingerprint("29FD7B1C6B29663CFA64306670E67F3E7F6FBCD4"),
Fingerprint("2C6E7C99DE5F5922E05D11D235C2E562CC528E76"),
Fingerprint("88E99AC4D5CB6ACF3CD396D5D6AA9961B4F938AB"),
Fingerprint("4471A85059215D231D47B1D4A109C3F0B6BDB258"),
Fingerprint("2C755244C6B83CAA7E48BD234C7FDB8645611B3B"),
Fingerprint("9C015FEBD3D19A81716E7700052058B47F889611"),
Fingerprint("9014E514D677C2ED19D93329C1485FE55F1C72D6"),
Fingerprint("343F2C6F9DB8F9EE4E59F5C0886BAE56FA55CE26"),
Fingerprint("13C37CE8ED0ACC92CF61808755241D6DA1633FA4"),
Fingerprint("ED5C07A820DCB2AA6DAFDE9C8562765D88A4BB36"),
Fingerprint("21655669D7B36A2EB5007B31442FCE197ADCC8D8"),
Fingerprint("CD220E58B30D2D1CBBC5B921555C92A70B303860"),
Fingerprint("5FF5C8CBD8D670565B300519887E3ED2F9E0DDA9"),
Fingerprint("B47FF2EF9DEB08C7FC55532C746F0F2DB723C462"),
Fingerprint("F8F8F30931EEB93C2FDE9363F9EE328402F33860"),
Fingerprint("3714D9CB0A8A0B4EE695B21AB052CAE69A2A7689"),
Fingerprint("FF093E66CCFB8804193115058643E0CB52C5A793"),
Fingerprint("0A5553209858B36F3EA0EFA463FD6758FF116167"),
Fingerprint("D9C06C9D100813BEBD35427DF65F7634EB2EAD6A"),
Fingerprint("05CA2D388297E826B9C3B431A8B15D93895257F9"),
Fingerprint("BF79DD51D462180014D2AD71D2462BE4CF36F625"),
Fingerprint("FC0DE4AD683BE64F47E8642F7472D7BB781E5C76"),
Fingerprint("F1FE09936F39A4E7A907D909CDFA4993BE4124AF"),
Fingerprint("465CD9AD11B5003A48BB28118DB2CEBD29D4F603"),
Fingerprint("9DF99BDB7078BE13CE3F66D97F212BF669F995C6"),
Fingerprint("57071A60EFBBFFA6DDCE7796F14A1B2C681A8A83"),
Fingerprint("8AB11E4F18DC57F2BA400B8D7B5FD8990C1CCAC5"),
Fingerprint("286EC5D4E5D1D136E54C996FE2D9E350B7CF3D8A"),
Fingerprint("AF87AF1183FB3E9370D509CE4E255380D5F3A8D5"),
Fingerprint("036F0956E3436BB10D030C89241EB37A3E931678"),
Fingerprint("33C2757572312304682BDD62C46C67D099B92680"),
Fingerprint("47A458ECE5784E7AF11C2286AA75FA9B8401E257"),
Fingerprint("43950C8B0B46693E9E48676637A98A31CF4B62AD"),
Fingerprint("A881411005DCCA6AF01331438783D3432031442F"),
Fingerprint("AA96AB4A6A98A839676621E66E756674E8DE55F3"),
Fingerprint("6844B0D8AB1D74A5766311157F652BC182F0875D"),
Fingerprint("B6F83FFF8B788418D48C11FA084D0F3AC9A2AECD"),
Fingerprint("99B269CFF458C780108B370C7A3F523A4DD62521"),
Fingerprint("48ADBA117B6D38703248D7AE72FB58B9E9798B7E"),
Fingerprint("FBC503FCBE4143C984E88358E700E23D4F573CCF"),
Fingerprint("E249A634759A417A040615736E200525AAF6F629"),
Fingerprint("BC782C4357D9E72075AF3DBF2C2FCAB09C09C252"),
Fingerprint("7B47E68EFB03A0C8346BD80E4A2FA75B6488D6D3"),
Fingerprint("DC2807A9E1CCD83B797A1EB2829D1F4641E0DB9B"),
Fingerprint("33C7585C640E74974790F349F64B2668DF09DE8E"),
Fingerprint("C766141BA6C7998C7EE40DE116FB427F2C57657F"),
Fingerprint("D0DF7D293426D9451E9EE0FD03A4D8196D10976D"),
Fingerprint("D56E5DB01CFAAD99697B33163B81D229170F58B4"),
Fingerprint("97D592FDE6199E3A4F6B437F40B34142AA67397B"),
Fingerprint("8C19F12A8386D0EF3FC0AFD28D7FE8D90F070EFB"),
Fingerprint("5B87566BAA2C8EC78C7D44594F21D5ABA36767F2"),
Fingerprint("53AB6BCCE1111DCD151E66625F52509FC67F4076"),
Fingerprint("318DA1A8A8E92698EAAC0AB468406FF3D0B6733A"),
Fingerprint("350068CCCD295D7EB80C6A97060FCBD15175ADB2"),
Fingerprint("3A7DF039CCCA3B3C9286B01619D8EA302427C910"),
Fingerprint("3C964F3E9C57330753EE5923B49FC01974400307"),
Fingerprint("4E9E5E2E1A868706DAADFD5A362C66828E5E4621"),
Fingerprint("36328DA9EAC85DB46843FA168A4AA6C4B47ADE22"),
Fingerprint("0AB20633A6D636B80337EFE3403702D89A3CD852"),
Fingerprint("8CDF07D3CEA5ED1B72ECD8869CA0A447943C1F3B"),
Fingerprint("E052363BDCA7BB374570774F9EE1EA2E8BF88026"),
Fingerprint("6603EA823BC641A465D8E5C45EDAD32360EDFC6A"),
Fingerprint("7D2E0E09E14B5BAB084A268786B0C6357215757B"),
Fingerprint("44F5446DBE64118D55D007453C6EF4840B47CD82"),
Fingerprint("419FA3D74A917B54F53AF2157B81A4A67CBA27F0"),
Fingerprint("36EB37E159817A86D0D4F506A3DDF317DFEDF32F"),
Fingerprint("9F5918BE6A7898670283859B05280E0DDA09EC95"),
Fingerprint("24EFDB2253318E11B73B617C6A7C5DC8792A2A55"),
Fingerprint("4AF832B3208DB3DD126C21E3CAF4AA3126156F8B"),
Fingerprint("E00EE6E5D079CA81E37F964EAD799F4D59738D54"),
Fingerprint("5A962B09EF649F4267DFDAE046B2F28E5134573F"),
Fingerprint("BAB9FB2EC409E68165AEF78D58BB96EB511C41B2"),
Fingerprint("ADD6E345227F27489E1E8AA7E0CD788437CC47BF"),
Fingerprint("BCD1FB9A7524E6B2D1ADB920653E81204C30A119"),
Fingerprint("17DE4392A165DC82CF50E879B5CB17B550CC0DE2"),
Fingerprint("5E9C128259B95B3C90C651E3E106A3276D83FFD1"),
Fingerprint("837B524C48C821FB23C4331A764076A4958D02E6"),
Fingerprint("1DBFA683F2744FCCFCF46D35989519FEB16FB4B1"),
Fingerprint("16561C850378BDB387F6E620B261465512DF841D"),
Fingerprint("40903D9038604F9F0325F4F595735AB9651D3899"),
Fingerprint("542CE462E1A66CEECDE4A15E3B614535DCA71EEF"),
Fingerprint("91FE56BE25CCB3CF5439DFAAC42E3BADAAFA919A"),
Fingerprint("0EBD96F41958B13F8F69B5FFD95B370820AE2176"),
Fingerprint("FE6500EC3768698238FA02AE836FE5675367B4F9"),
Fingerprint("34E96CA46093CDFC25ACE6A3A2FE701D926F093A"),
Fingerprint("45046E989B2E1B90A1DAEB5ADB7580D1B78D3BC6"),
Fingerprint("64A9859344F5073B183BD5C8AA60941E63199D9D"),
Fingerprint("729EDA4A2A634E776780E1847CA24E9550F7D0A7"),
Fingerprint("8844DCA493E8F20107CB447191FEA3BD4C01890B"),
Fingerprint("F965044BE1E7300C7B6716E293C396B4FA94CD92"),
Fingerprint("BC007EC19B0BC8DDE59847B09EA70EB3222D9E51"),
Fingerprint("B333A058F7209C46F2D027BB03738EAAC50701ED"),
Fingerprint("A9A1A3B0F12233D6120809D6F8F0C11D96152693"),
Fingerprint("2BFE10D7FEE9E5DF5833B6F61B584BAB2FD86575"),
Fingerprint("E5F3B17D545521F9B5395B10E92020FDB3E8109E"),
Fingerprint("58035C57B66B0EBFB069F9B7F3C623A5C52A3B92"),
Fingerprint("003E9C5A9DAB8626FD1694AAC2C43642A20E1496"),
Fingerprint("E7947E382B12FE628BDA130201EFC9D900B5540C"),
Fingerprint("17B55B1078D282C73FA2E76287FAB537AEAFE66C"),
Fingerprint("27CE83D68C669FE4F1B8C938D4A919E6F59E4D0B"),
Fingerprint("86B1E98692F4CA34122012C1524B4079CF57E850"),
Fingerprint("5B8A8AC5213064AE84C97DE41ED4BF239D9C10F2"),
Fingerprint("3FEAB08FC63829C080412CBFC6D3836C6E817789"),
Fingerprint("231605AEE34762F3BBC8ECF73808EFA9258837F8"),
Fingerprint("AE2759F4EC850FA6CE98FA4729FD82649411B973"),
Fingerprint("E7529E3567F59BBCADAAD1246613DBC86DAD45F8"),
Fingerprint("CF320590351A8C41C9EA0C1F4C6F00F7AEA73AD5"),
Fingerprint("475A44091578C02A0C5C2D62F106918D87E15476"),
Fingerprint("5B88BF2E7163D0594CE0E302C2AD0FE43D473EFE"),
Fingerprint("E4ADA4F5D702AD510C2F7A19316950AD7429C1FA"),
Fingerprint("6D6B846B8661F1013E7BC8D64C7280F7DF9DA6E6"),
Fingerprint("49883F6CA68B9F452F2A5F2F04687A6078E00FBF"),
Fingerprint("3046B5075B9DAF5645F51717D01AB61342900011"),
Fingerprint("16213F8B540AC28FE0CB3548D84F0D748AC23379"),
Fingerprint("9C68E98198FF9964FA2366ADCBAD3A465C76396B"),
Fingerprint("6EC3A10AA0B6B70DC5408CAE74B0BE836FD382D6"),
Fingerprint("E25E062BE69B48D3B99A96086991D15CA7370F0C"),
Fingerprint("A01A30A1AB191AF9C148C3704F4582E27D8D7527"),
Fingerprint("5D33551903E14FAABF75E9ECFB7AE6C2AC9959FB"),
Fingerprint("B37AE84FB0B4226FB935A3090F7C543F95A21EEF"),
Fingerprint("65B2CD9E6A6F6A36496B54A285F9BA4B68AA5174"),
Fingerprint("C0AA5CFC45580335A785DC2B3F9EE769EAAFE70D"),
Fingerprint("09973DF6334673259B774B840B1496371FDC2BE6"),
Fingerprint("29AAA5AF7CF941F4307DE966BD9E690D59FE5383"),
Fingerprint("9BDA50D8A6C78525051AAE07CC26594022C7D4AE"),
Fingerprint("2B0B6FDB04B9E8FF3A31EBE16A6B0A72A6571C45"),
Fingerprint("5C2650D8DA9842951614026288805244633C686B"),
Fingerprint("EEA6502B34AB08FA2F3BDA1E355AC29B6D8B67FA"),
Fingerprint("61B00DCDC02069F46F20D7F91075929DC6DA674C"),
Fingerprint("A1F5307F398FA45ECFC68CA92A5FC888D2DD2728"),
Fingerprint("AB0ADD3BF024EB6C75D9A366ABE69FC6E9F60DA0"),
Fingerprint("20DFEEF42F418CCEB02DB3E896E40B0413F1B4C5"),
Fingerprint("59C4E41C31D1E16F11BCF51304E7B81D67AD1FA0"),
Fingerprint("C0A3A190F8BFB6115A87CF7CBEC9211A2E210C86"),
Fingerprint("8932D417D3C0C4E3694E90480B92349F276E4EE0"),
Fingerprint("5BE288B0F7DCD89200D112D009E73AB06030B4EB"),
Fingerprint("CF472156042D6F2032BC025B68544E0A5844F3A7"),
Fingerprint("D54401DBBDE32805DAF08C4E1177C10E27F7D235"),
Fingerprint("56100D18E943687F7CFBC3CB20479A11B7DD5E1D"),
Fingerprint("9349703A779BD3725C5C822E21DA8172102EC4CD"),
Fingerprint("5DCAAB77198D13785C340D7B375DD44D815A0481"),
Fingerprint("5959CAC7EB9C1C7D9ECF10B8C023ED12A0F7F556"),
Fingerprint("7D4EA25C4F364AF1B61B64164816D289775352A8"),
Fingerprint("84291C882E059C5100C5C1AD1746298F01E7D682"),
Fingerprint("F3A95472FDB65D965EC2C4E3D22BD567B60BE41E"),
Fingerprint("0B9B18FB07F29E89D33AA0A86ED47AC9E7B86518"),
Fingerprint("2A11B65832E97E65DAA69D690C304130A843F532"),
Fingerprint("BB1B2F93AE4C4D41B4385AB653A4193345AA17C7"),
Fingerprint("4B526E27DAA41961F9D89404ED2F25E650D82444"),
Fingerprint("8DC51F77AEFAE450554792A0C704999EF5D32A6B"),
Fingerprint("ACD80C31E49FEAF9AA07DBD9FA96E7E857A694DE"),
Fingerprint("F2A4AE3ABC6DE0475E22B836DB0B8264BE496577"),
Fingerprint("14AA7B5B7D9088CBBD5FF8CB95F34513BA887EC0"),
Fingerprint("185A81E45751F6322490BE7987DDCD2A02E38D38"),
Fingerprint("BFCC758F6B567FF489801B539ED707902064CF71"),
Fingerprint("6F80DC80D1F4C14810750CAF51FAB910F100F6AB"),
Fingerprint("D220EB0F833DB97983F221D902D45679E35E555A"),
Fingerprint("6F757C636ED4E157D6F6570DBC03D6A8FCC6CD68"),
Fingerprint("C0C4B2D29A88A8F042FB13422605B3290364FF74"),
Fingerprint("23EBA00A8576434AE4B077F9819A1B623B2E138C"),
Fingerprint("88C18A2D51339461068DDF72693871FAF6FFC6FF"),
Fingerprint("CDA5DE7236C247F0D116CC0A1A25910D0CD909C0"),
Fingerprint("E405060228D49BA43C6ED9A3E25ADFDCC0012F48"),
Fingerprint("575DB527D78D5A063AB4197891DB2946F8EE3A8C"),
Fingerprint("D4BBE60FCA2FC7850FF7309102DEF04D111BA114"),
Fingerprint("97794BE1FD5729470D049D86BE16BB8E38D6D8EB"),
Fingerprint("4C011F0F9E4C58022DBD2E1FAA549F086FB77001"),
Fingerprint("950D06C53390F94AF59A15609900DA7A91A638CF"),
Fingerprint("013B231F139A46312550BBCBC52451FDB72285FC"),
Fingerprint("A814BA237B27B4605C71A907B8A8D55FC49CB5E6"),
Fingerprint("A3AE147DBC887FA325852A4DC3FFE143772A8587"),
Fingerprint("4D88E9B314F4ECAF99E02611C985FD350408C791"),
Fingerprint("CE9A27BE12483A5F094F85330E51D13DC2830B24"),
Fingerprint("B6565ADDD563FDD720D05411CD3449BD50892312"),
Fingerprint("F1EBB0F94C08A777867F403E9FAFBE3A10228952"),
Fingerprint("94D627E627E15F9B9144457816A736F442FD6A6F"),
Fingerprint("B3B1CDB5875CD8725B5FC915B1ED7C0FCE7721EE"),
Fingerprint("9E80CD683AA01265FE25DF265DADCE433039185C"),
Fingerprint("AFDE99A008E9BC761DFA6367C984AF52546308CF"),
Fingerprint("364854C36A1EFFDCAC7B80296A8F683B48BC5F33"),
Fingerprint("77C3730DB611591E71EE4528A15EE7D5EF32333F"),
Fingerprint("138CC2085B1A06F02DE1946D5FB391D63C886EE6"),
Fingerprint("AF097DA4DB5C0E2116EF583B25A6B381B621C082"),
Fingerprint("02DF6CB2758D7695940B6937804CAD30CDAC243C"),
Fingerprint("7F7C33899D1A34BE0D2B3C1C3B8F983DFABA03B4"),
Fingerprint("041549DBA90F2C4EB9E22505B4515224EB745A2C"),
Fingerprint("B73206C4F70E0735E9288128BAC3400233738122"),
Fingerprint("FCDF4C1D67ACFA8B42F6A77C408A9CB7367171C2"),
Fingerprint("B69A678AA242FA4F0BBF12205C0608799B0E3C51"),
)
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/infinity-and-beyond.pgp"
}
}

View file

@ -0,0 +1,25 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* If a root is isolated, make sure we can still answer queries about it.
*
* - t0: A is created
* - t1: A's User ID is revoked.
*/
class IsolatedRootVectors: ArtifactVectors {
val aliceFpr = Fingerprint("DCF3020AAB76ECC7F0E5AC0D375DCE1BEE264B87")
val aliceUid = "<alice@example.org>"
val aliceOtherOrguid = "<alice@other.org>"
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/isolated-root.pgp"
}
}

View file

@ -0,0 +1,84 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* The best path from A to F is: A - B - C - E - F (amount: 100). Back
* propagation will choose: A - B - F (amount: 75), because it is
* shorter. Make sure we don't choose A - B - D - E - F.
*
* For F, A - B - C - E is optimal (amount: 100). Back propagation will
* choose it, because at B, C - E and D - E have the same depth, but C -
* E has a larger trust amount.
*
* For G, A - B - C - E - G and A - B - D - E - G are equally good. But,
* we will select the latter, because when we have a choice (at E), we
* prefer more residual depth.
*
* For H, A - B - C - E - H is better.
*
* Notation: amount/depth
*
* ```text
* A
* | 120/150
* v
* B -------------,
* 100/50 / | |
* v v 50/100 |
* C D | 75/200
* 100/50 \ | 50/100 |
* _\|v |
* o E -------- v
* / \ `->F
* 120/0 / \ 30/0 120/100
* v v
* H G
* ```
*/
class LocalOptimaVectors: ArtifactVectors {
val aliceFpr = Fingerprint("EAAE12F98D39F38BF0D1B4C5C46A428ADEFBB2F8")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("89C7A9FB7236A77ABBE4F29CB8180FBF6382F90F")
val bobUid = "<bob@example.org>"
// Certified by: EAAE12F98D39F38BF0D1B4C5C46A428ADEFBB2F8
// Certified by: EAAE12F98D39F38BF0D1B4C5C46A428ADEFBB2F8
val carolFpr = Fingerprint("E9DF94E389F529F8EF6AA223F6CC1F8544C0874D")
val carolUid = "<carol@example.org>"
// Certified by: 89C7A9FB7236A77ABBE4F29CB8180FBF6382F90F
// Certified by: 89C7A9FB7236A77ABBE4F29CB8180FBF6382F90F
val daveFpr = Fingerprint("C2F822F17B68E946853A2DCFF55541D89F27F88B")
val daveUid = "<dave@example.org>"
// Certified by: E9DF94E389F529F8EF6AA223F6CC1F8544C0874D
// Certified by: 89C7A9FB7236A77ABBE4F29CB8180FBF6382F90F
val ellenFpr = Fingerprint("70507A9058A57FEAE18CC3CE6A398AC9051D9CA8")
val ellenUid = "<ellen@example.org>"
// Certified by: C2F822F17B68E946853A2DCFF55541D89F27F88B
// Certified by: C2F822F17B68E946853A2DCFF55541D89F27F88B
// Certified by: E9DF94E389F529F8EF6AA223F6CC1F8544C0874D
val francisFpr = Fingerprint("D8DDA78A2297CA3C35B9377577E8B54B9350C082")
val francisUid = "<francis@example.org>"
// Certified by: 70507A9058A57FEAE18CC3CE6A398AC9051D9CA8
// Certified by: 89C7A9FB7236A77ABBE4F29CB8180FBF6382F90F
val georginaFpr = Fingerprint("C5D1B22FEC75911A04E1A5DC75B66B994E70ADE2")
val georginaUid = "<georgina@example.org>"
// Certified by: 70507A9058A57FEAE18CC3CE6A398AC9051D9CA8
val henryFpr = Fingerprint("F260739E3F755389EFC2FEE67F58AACB661D5120")
val henryUid = "<henry@example.org>"
// Certified by: 70507A9058A57FEAE18CC3CE6A398AC9051D9CA8
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/local-optima.pgp"
}
}

View file

@ -0,0 +1,49 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* This test is similar to the `multiple-userids` tests, but the two
* certifications are for the same User ID and key. This works if the
* certifications have the same timestamp.
*
* There is also an old certification, which should be ignored.
*
* ```
* alice
* 50/2 / | 70/1 \ old and ignored
* \ | / 120/255
* bob
* | 120/2
* carol
* | 120
* dave
* ```
*/
class MultipleCertifications1Vectors: ArtifactVectors {
val alice_fpr = Fingerprint("9219941467AA737C6EC1207959A2CEFC112C359A")
val alice_uid = "<alice@example.org>"
val bob_fpr = Fingerprint("72CAA0F0A4A020F5FA20CD8CB5CC04473AA88123")
val bob_uid = "<bob@example.org>"
// Certified by: 9219941467AA737C6EC1207959A2CEFC112C359A
// Certified by: 9219941467AA737C6EC1207959A2CEFC112C359A
// Certified by: 9219941467AA737C6EC1207959A2CEFC112C359A
val carol_fpr = Fingerprint("853304031E7B0B116BBD0B398734F11945313904")
val carol_uid = "<carol@example.org>"
// Certified by: 72CAA0F0A4A020F5FA20CD8CB5CC04473AA88123
val dave_fpr = Fingerprint("4C77ABDBE4F855E0C3C7A7D549F6B2BFDA83E424")
val dave_uid = "<dave@example.org>"
// Certified by: 853304031E7B0B116BBD0B398734F11945313904
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/multiple-certifications-1.pgp"
}
}

View file

@ -0,0 +1,61 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* In this test Alice has certified two different User IDs for Bob.
* First, we check that at most one of those certifications is used.
* Then we check that both are considered. Because neither certification
* is better than the other (one has a larger trust amount; the other has
* more depth), different scenarios will result in different
* certifications being selected.
*
*
* Alice has certified two of Bob's User IDs. One with a trust amount of
* 50 and depth 2 and the other with a trust amount of 70 and depth 1.
*
* Using Alice as a root and authenticating Carol, we can get a trust
* amount of 70. Although Bob - Carol has a capacity of 120, we only use
* one User ID per key.
*
* When authenticating Dave, we get a trust amount of 50. This is
* because the delegation with a trust amount of 70 does not have enough
* depth to reach dave so we use the other certification.
*
* ```
* alice
* 50/2 / \ 70/1
* bob@some.org - bob - bob@other.org
* | 120/2
* carol
* | 120
* dave
* ```
*/
class MultipleUserIds1Vectors: ArtifactVectors {
val alice_fpr = Fingerprint("2A2A4A23A7EEC119BC0B46642B3825DC02A05FEA")
val alice_uid = "<alice@example.org>"
val bob_fpr = Fingerprint("03182611B91B1E7E20B848E83DFC151ABFAD85D5")
val bob_uid = "<bob@other.org>"
// Certified by: 2A2A4A23A7EEC119BC0B46642B3825DC02A05FEA
val bob_some_org_uid = "<bob@some.org>"
// Certified by: 2A2A4A23A7EEC119BC0B46642B3825DC02A05FEA
val carol_fpr = Fingerprint("9CA36907B46FE7B6B9EE9601E78064C12B6D7902")
val carol_uid = "<carol@example.org>"
// Certified by: 03182611B91B1E7E20B848E83DFC151ABFAD85D5
val dave_fpr = Fingerprint("C1BC6794A6C6281B968A6A41ACE2055D610CEA03")
val dave_uid = "<dave@other.org>"
// Certified by: 9CA36907B46FE7B6B9EE9601E78064C12B6D7902
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/multiple-userids-1.pgp"
}
}

View file

@ -0,0 +1,60 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* This test is similar to [MultipleUserIds1Vectors], but it uses regular
* expressions. Specifically, Alice certifies two different User IDs for
* Bob. One of them with a depth of 1 and no regular expression, and the
* other scoped to other.org, but with a higher trust amount and more
* depth.
*
* ```
* alice
* / \
* 50/1/'*' / \ 70/255/@other.org
* / \
* bob@some.org - bob - bob@other.org
* / \
* 120/2 / \ 120
* / \
* carol frank@other.org
* 120 / \ 120
* dave@other.org ed
* ```
*/
class MultipleUserIds2Vectors: ArtifactVectors {
val alice_fpr = Fingerprint("F1C99C4019837703DD17C45440F8A0141DF278EA")
val alice_uid = "<alice@example.org>"
val bob_fpr = Fingerprint("5528B9E5DAFC519ED2E37F0377B332E4111456CB")
val bob_uid = "<bob@other.org>"
// Certified by: F1C99C4019837703DD17C45440F8A0141DF278EA
val bob_some_org_uid = "<bob@some.org>"
// Certified by: F1C99C4019837703DD17C45440F8A0141DF278EA
val carol_fpr = Fingerprint("6F8291428420AB53576BAB4BEFF6477D3E348D71")
val carol_uid = "<carol@example.org>"
// Certified by: 5528B9E5DAFC519ED2E37F0377B332E4111456CB
val dave_fpr = Fingerprint("62C57D90DAD253DEA01D5A86C7382FD6285C18F0")
val dave_uid = "<dave@other.org>"
// Certified by: 6F8291428420AB53576BAB4BEFF6477D3E348D71
val ed_fpr = Fingerprint("0E974D0ACBA0C4D8F51D7CF68F048FF83B173504")
val ed_uid = "<ed@example.org>"
// Certified by: 6F8291428420AB53576BAB4BEFF6477D3E348D71
val frank_fpr = Fingerprint("5BEE3D41F85B2FCBC300DE4E18CB2BDA65465F03")
val frank_uid = "<frank@other.org>"
// Certified by: 5528B9E5DAFC519ED2E37F0377B332E4111456CB
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/multiple-userids-2.pgp"
}
}

View file

@ -0,0 +1,61 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* ```
* a
* 40/2 / \ 30/3 \ 10/255
* bob@some.org - b - bob@other.org bob@third.org
* 20/1 / \ 120/2
* c d
* | | 120/1
* 120 | e
* \ / 120
* f
* ```
*
* The first time back propagation is run, the algorithm will find the
* path a - b - c - f (b prefers c - f to d - e - f, because the former
* is shorter). The second time it is run, it will find a - b - d - e -
* f. The path's trust amount will be 10, because we suppress 20 between
* a and b, and we can't use the bob@some.org certification as it doesn't
* not have enough depth.
*/
class MultipleUserIds3Vectors: ArtifactVectors {
val alice_fpr = Fingerprint("DA3CFC60BD4B8835702A66782C7A431946C12DF7")
val alice_uid = "<alice@example.org>"
val bob_fpr = Fingerprint("28C108707090FCDFF630D1E141FB02F0E397D55E")
val bob_uid = "<bob@other.org>"
// Certified by: DA3CFC60BD4B8835702A66782C7A431946C12DF7
val bob_some_org_uid = "<bob@some.org>"
// Certified by: DA3CFC60BD4B8835702A66782C7A431946C12DF7
val bob_third_org_uid = "<bob@third.org>"
val carol_fpr = Fingerprint("9FB1D2F41AB5C478378E728C8DD5A5A434EEAAB8")
val carol_uid = "<carol@example.org>"
// Certified by: 28C108707090FCDFF630D1E141FB02F0E397D55E
val dave_fpr = Fingerprint("0C131F8959F45D08B6136FDAAD2E16A26F73D48E")
val dave_uid = "<dave@example.org>"
// Certified by: 28C108707090FCDFF630D1E141FB02F0E397D55E
val ed_fpr = Fingerprint("296935FAE420CCCF3AEDCEC9232BFF0AE9A7E5DB")
val ed_uid = "<ed@example.org>"
// Certified by: 0C131F8959F45D08B6136FDAAD2E16A26F73D48E
val frank_fpr = Fingerprint("A72AA1B7D9D8CB04D988F1520A404E37A7766608")
val frank_uid = "<frank@example.org>"
// Certified by: 9FB1D2F41AB5C478378E728C8DD5A5A434EEAAB8
// Certified by: 296935FAE420CCCF3AEDCEC9232BFF0AE9A7E5DB
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/multiple-userids-3.pgp"
}
}

View file

@ -0,0 +1,27 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
/**
* alice
* | t0: 2/120, t1: 0/120
* v
* bob
* | 120
* v
* carol
*
* At t0, alice makes Bob a trusted introducer. At t1, she issues
* another certification, but only certifies bob. Make sure that before
* t1, alice can authenticate carol, but after t1 she can't.
*/
class OverrideVectors: ArtifactVectors {
// TODO: Extract fingerprints and UIDs
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/override.pgp"
}
}

View file

@ -0,0 +1,29 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
/**
* This is a simple network where a User ID contains an email address
* that would be normalized by puny code.
*
*
* ```text
* o alice
* | 2/100
* v
* o hANS@bücher.tld
* | 1/100
* v
* o carol
* ```
*/
class PunyCodeVectors: ArtifactVectors {
// TODO: Extract fingerprints and UIDs
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/puny-code.pgp"
}
}

View file

@ -0,0 +1,56 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* alice makes bob a trusted introducer for the "example.org" domain.
*
* bob makes dave a trusted introducer for the "other.org" domain.
*
* This means that A - B - D - E is invalid, because ed@example.org is
* out of scope of the B - D delegation (i.e., it does not match
* other.org).
*
* ```
* alice@some.org
* | 100/3/example.org
* bob@example.org
* 150/0 / \ 100/3/other.org
* carol@example.org dave@other.org
* 100/0 / \ 100/0
* ed@example.org frank@other.org
* ```
*/
class Regex1Vectors: ArtifactVectors {
val alice_fpr = Fingerprint("3AD1F297E4B150F75DBFC43476FB81BFE0665C3A")
val alice_uid = "<alice@some.org>"
val bob_fpr = Fingerprint("20C812117FB2A3940EAE9160FEE6B4E47A096FD1")
val bob_uid = "<bob@example.org>"
// Certified by: 3AD1F297E4B150F75DBFC43476FB81BFE0665C3A
val carol_fpr = Fingerprint("BC30978345D789CADECDE492F54B42E1625E1A1D")
val carol_uid = "<carol@example.org>"
// Certified by: 20C812117FB2A3940EAE9160FEE6B4E47A096FD1
val dave_fpr = Fingerprint("319810FAD46CBE96DAD7F1F5B014902592999B21")
val dave_uid = "<dave@other.org>"
// Certified by: 20C812117FB2A3940EAE9160FEE6B4E47A096FD1
val ed_fpr = Fingerprint("23D7418EA0C6A42A54C32DBE8D4FE4911ED08467")
val ed_uid = "<ed@example.org>"
// Certified by: 319810FAD46CBE96DAD7F1F5B014902592999B21
val frank_fpr = Fingerprint("7FAE20D68EE87F74368AF275A0C40E741FC1C50F")
val frank_uid = "<frank@other.org>"
// Certified by: 319810FAD46CBE96DAD7F1F5B014902592999B21
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/regex-1.pgp"
}
}

View file

@ -0,0 +1,48 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* A - B - C should be valid. The regex only applies to the target.
*
* ```
* alice@some.org
* | 100/7
* bob@some.org
* | 100/7/example.org
* carol@other.org
* | 100/7
* dave@their.org
* | 100/7
* ed@example.org
* ```
*/
class Regex2Vectors: ArtifactVectors {
val alice_fpr = Fingerprint("5C396C920399898461F17CB747FDBF3EB3453919")
val alice_uid = "<alice@some.org>"
val bob_fpr = Fingerprint("584D195AD89CE0354D2CCBAEBCDD9EBC09692780")
val bob_uid = "<bob@some.org>"
// Certified by: 5C396C920399898461F17CB747FDBF3EB3453919
val carol_fpr = Fingerprint("FC7A96D4810D0CF477031956AED58C644370C183")
val carol_uid = "<carol@other.org>"
// Certified by: 584D195AD89CE0354D2CCBAEBCDD9EBC09692780
val dave_fpr = Fingerprint("58077E659732526C1B8BF9837EFC0EDE07B506A8")
val dave_uid = "<dave@their.org>"
// Certified by: FC7A96D4810D0CF477031956AED58C644370C183
val ed_fpr = Fingerprint("36089C49F18BF6FC6BCA35E3BB85877766C009E4")
val ed_uid = "<ed@example.org>"
// Certified by: 58077E659732526C1B8BF9837EFC0EDE07B506A8
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/regex-2.pgp"
}
}

View file

@ -0,0 +1,59 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* Here we have multiple regular expressions on a single delegation.
*
*
* ```
* alice@some.org
* | 100/3/example.org|other.org
* _ bob@example.org _
* 100/0 / | 100/3/their.org|other.org \
* carol@example.org _ dave@other.org _ henry@their.org
* 100/0 / | 100/0 \ 100/0
* ed@example.org frank@other.org george@their.org
* ```
*/
class Regex3Vectors: ArtifactVectors {
val alice_fpr = Fingerprint("D8CFEBBA006E2ED57CF45CC413F0BAE09D94FE4E")
val alice_uid = "<alice@some.org>"
val bob_fpr = Fingerprint("A75DC1A1EDA5282F3A7381B51824E46BBCC801F0")
val bob_uid = "<bob@example.org>"
// Certified by: D8CFEBBA006E2ED57CF45CC413F0BAE09D94FE4E
val carol_fpr = Fingerprint("4BCD4325BDACA452F0301227A30CB4BCC329E769")
val carol_uid = "<carol@example.org>"
// Certified by: A75DC1A1EDA5282F3A7381B51824E46BBCC801F0
val dave_fpr = Fingerprint("2E1AAA8D9A22C94ACCA362A22B34031CD5CB9380")
val dave_uid = "<dave@other.org>"
// Certified by: A75DC1A1EDA5282F3A7381B51824E46BBCC801F0
val ed_fpr = Fingerprint("F645D081F480BE26C7D2C84D941B3E2CE53FAF16")
val ed_uid = "<ed@example.org>"
// Certified by: 2E1AAA8D9A22C94ACCA362A22B34031CD5CB9380
val frank_fpr = Fingerprint("AFAB11F1A37FD20C85CF8093F4941D1A0EC5749F")
val frank_uid = "<frank@other.org>"
// Certified by: 2E1AAA8D9A22C94ACCA362A22B34031CD5CB9380
val george_fpr = Fingerprint("D01C8752D9BA9F3F5F06B21F394E911938D6DB0A")
val george_uid = "<george@their.org>"
// Certified by: 2E1AAA8D9A22C94ACCA362A22B34031CD5CB9380
val henry_fpr = Fingerprint("B99A8696FD820192CEEE285D3A253E49F1D97109")
val henry_uid = "<henry@their.org>"
// Certified by: A75DC1A1EDA5282F3A7381B51824E46BBCC801F0
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/regex-3.pgp"
}
}

View file

@ -0,0 +1,85 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* The best way from A to B, G and H is via C-D-E-F. The best way from A
* to I is via B! (A has two local optima.)
*
* J complicates things a bit when doing a backwards propagation.
*
* ```
* A
* | \ 6,120
* | C
* | | 5,120
* | D
* 100,60 | | 4,120 5,100
* | E <----------------- J
* | | 3,120 |
* | F |
* v / 2,120 | 1,100
* B |
* 2,120 | |
* v |
* G <---------------------'
* 1,120 |
* v
* H
* 0,120 |
* v
* I
* ```
*
*/
class RoundaboutVectors: ArtifactVectors {
val aliceFpr = Fingerprint("41E9B069C96EB6D47525294B10BBBD00912BEA02")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("2E90AEE966DF28CB916439B20397E086E705AC1A")
val bobUid = "<bob@example.org>"
// Certified by: 3267D46247D26101B3E5014CDF4F9BA5831D91DA
// Certified by: 41E9B069C96EB6D47525294B10BBBD00912BEA02
val carolFpr = Fingerprint("92DDE8747C8E6ED09D41A4E1330D1190E858754C")
val carolUid = "<carol@example.org>"
// Certified by: 41E9B069C96EB6D47525294B10BBBD00912BEA02
val daveFpr = Fingerprint("D4515E6619084ED8142DF8589059E3846A025611")
val daveUid = "<dave@example.org>"
// Certified by: 92DDE8747C8E6ED09D41A4E1330D1190E858754C
val elmarFpr = Fingerprint("E553C11DCFA777F3205E5090F5EE59C2795CDBA2")
val elmarUid = "<elmar@example.org>"
// Certified by: AE40578962411356F9609CAA9C2447E61FFDBB15
// Certified by: D4515E6619084ED8142DF8589059E3846A025611
val frankFpr = Fingerprint("3267D46247D26101B3E5014CDF4F9BA5831D91DA")
val frankUid = "<frank@example.org>"
// Certified by: E553C11DCFA777F3205E5090F5EE59C2795CDBA2
val georgeFpr = Fingerprint("CCD5DB27BD7C4F8E2010083605EF17E8A93EB652")
val georgeUid = "<george@example.org>"
// Certified by: AE40578962411356F9609CAA9C2447E61FFDBB15
// Certified by: 2E90AEE966DF28CB916439B20397E086E705AC1A
val henryFpr = Fingerprint("7F62EF97091AE1FCB4E1C67EC8D9E94C4731529B")
val henryUid = "<henry@example.org>"
// Certified by: CCD5DB27BD7C4F8E2010083605EF17E8A93EB652
val isaacFpr = Fingerprint("32FD4D68B3227334CD0583E9FA0721F49D2F395D")
val isaacUid = "<isaac@example.org>"
// Certified by: 7F62EF97091AE1FCB4E1C67EC8D9E94C4731529B
val jennyFpr = Fingerprint("AE40578962411356F9609CAA9C2447E61FFDBB15")
val jennyUid = "<jenny@example.org>"
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/roundabout.pgp"
}
}

View file

@ -0,0 +1,46 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* B tsigns <C, c1> and we want to authenticate c1. This should work
* when B is a root as C is considered a trusted introducer. But it
* should not work when A is considered a root a C can't introduce c2.
*
* ```
* A
* 1/100 |
* B
* 1/90 /
* c1 - C - c2
* |
* 120 |
* D
* ```
*/
class SelfSignedVectors: ArtifactVectors {
val aliceFpr = Fingerprint("838454E0D61D046300B408A908A4FDB4F368ECB9")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("7A7B5DE6C8F464CAB78BEFB9CE14BEE51D4DEC01")
val bobUid = "<bob@example.org>"
// Certified by: 838454E0D61D046300B408A908A4FDB4F368ECB9
val carolFpr = Fingerprint("830230061426EE99A0455E6ADA869CF879A5630D")
val carolUid = "<carol@example.org>"
// Certified by: 7A7B5DE6C8F464CAB78BEFB9CE14BEE51D4DEC01
val carol_other_orgUid = "<carol@other.org>"
val daveFpr = Fingerprint("51A5E15F87AC6ECAFBEA930FA5F30AF6EB6EF14A")
val daveUid = "<dave@example.org>"
// Certified by: 830230061426EE99A0455E6ADA869CF879A5630D
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/self-signed.pgp"
}
}

View file

@ -0,0 +1,17 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
/**
* Certifications made prior to 1673363202 are made with SHA-1.
*/
class Sha1Vectors: ArtifactVectors {
// TODO: Extract fingerprints and UIDs
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/sha1.pgp"
}
}

View file

@ -0,0 +1,56 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* A straightforward certification chain. Note: when A is the root, she
* can authenticate D, but not E due to depth constraints.
*
* ```text
* o A
* | 2/100
* v
* o B
* | 1/100
* v
* o C o Frank
* | 1/100
* v
* o D
* | 1/100
* v
* o E
* ```
*/
class SimpleVectors: ArtifactVectors {
val aliceFpr = Fingerprint("85DAB65713B2D0ABFC5A4F28BC10C9CE4A699D8D")
val aliceUid = "<alice@example.org>";
val bobFpr = Fingerprint("39A479816C934B9E0464F1F4BC1DCFDEADA4EE90")
val bobUid = "<bob@example.org>"
// Certified by: 85DAB65713B2D0ABFC5A4F28BC10C9CE4A699D8D
val carolFpr = Fingerprint("43530F91B450EDB269AA58821A1CF4DC7F500F04")
val carolUid = "<carol@example.org>"
// Certified by: 39A479816C934B9E0464F1F4BC1DCFDEADA4EE90
val daveFpr = Fingerprint("329D5AAF73DC70B4E3DD2D11677CB70FFBFE1281")
val daveUid = "<dave@example.org>"
// Certified by: 43530F91B450EDB269AA58821A1CF4DC7F500F04
val ellenFpr = Fingerprint("A7319A9B166AB530A5FBAC8AB43CA77F7C176AF4")
val ellenUid = "<ellen@example.org>"
// Certified by: 329D5AAF73DC70B4E3DD2D11677CB70FFBFE1281
val frankFpr = Fingerprint("2693237D2CED0BB68F118D78DC86A97CD2C819D9")
val frankUid = "<frank@example.org>"
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/simple.pgp"
}
}

View file

@ -0,0 +1,14 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
class TrivialVectors: ArtifactVectors {
// TODO: Extract fingerprints and UIDs
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/trivial.pgp"
}
}

View file

@ -0,0 +1,60 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* If a User ID is revoked, then that overrides any later positive
* certification.
*
* We need to test three cases:
*
* 1. We are authenticating a root binding whose User ID was revoked in
* the past.
*
* 2. There is a valid path with length > 0 to a binding whose User ID
* is revoked.
*
* 3. There is a valid path to some binding. The path uses a
* certification of a revoked User ID.
*
* In first two cases, it should not be possible to authenticate the
* binding. In the latter case, the revocation of the User ID should not
* invalidate the delegation.
*
* To test this, we use the following network:
*
* ```
* A
* | 2/60 at t1; 2/90 at t3
* v
* B <- B's User ID is revoked at t2
* | 1/60 at t1; 1/90 at t3
* v
* C
* ```
*
* Using the above network, we can test all three scenarios.
*/
class UserIdRevokedVectors: ArtifactVectors {
val aliceFpr = Fingerprint("01672BB67E4B4047E5A4EC0A731CEA092C465FC8")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("EA479A77CD074458EAFE56B4861BF42FF490C581")
val bobUid = "<bob@example.org>"
// Certified by: 01672BB67E4B4047E5A4EC0A731CEA092C465FC8
// Certified by: 01672BB67E4B4047E5A4EC0A731CEA092C465FC8
val carolFpr = Fingerprint("212873BB9C4CC49F8E5A6FEA78BC5397470BA7F0")
val carolUid = "<carol@example.org>"
// Certified by: EA479A77CD074458EAFE56B4861BF42FF490C581
// Certified by: EA479A77CD074458EAFE56B4861BF42FF490C581
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/userid-revoked.pgp"
}
}

View file

@ -0,0 +1,45 @@
// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* If the most recent certification has a trust amount of 0, then that
* edge should not be considered.
*
* To test this, we use the following network:
*
* ```
* A
* | 1/120
* v
* B
* | 1/60 at t1; 1/0 at t2
* v
* C
* ```
*
* At t1, there is a path from A to C. At t2, there should be no path
* (not even one with a trust amount of 0!).
*/
class ZeroTrustVectors: ArtifactVectors {
val aliceFpr = Fingerprint("931E51F99B89649783A1DFF265266E28246040C2")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("A1042B157AFA71F005208D645915549D8D21A97B")
val bobUid = "<bob@example.org>"
// Certified by: 931E51F99B89649783A1DFF265266E28246040C2
// Certified by: 931E51F99B89649783A1DFF265266E28246040C2
val carolFpr = Fingerprint("E06DB0539D99759681D7EC8508A267AE8FA838F4")
val carolUid = "<carol@example.org>"
// Certified by: A1042B157AFA71F005208D645915549D8D21A97B
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/zero-trust.pgp"
}
}

View file

@ -0,0 +1,146 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVG+ZhYJKwYBBAHaRw8BAQdAtdsP6WxEKhz0Hlc3oNBnUCdEdQ0TL7iRSzB5
qoauNtzCwAsEHxYKAH0FgmFRvmYDCwkHCRCdKYdmn3krNUcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdq+txOS4WmRytttTJbstrZeUVff5AK
S/Cgso2zLbxjSwMVCggCmwECHgEWIQR3pvfUvuA2n3CySVedKYdmn3krNQAAGi4A
/2OnTQcMgE/XnApp2loueCzMTE9BMuurNELIlsvH5rNlAQDcSrO3buOu1zN2iBVe
wsHF5m6p5VkFIiyw9MuQdp+dDc0TPGNhcm9sQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCYVG+ZgMLCQcJEJ0ph2afeSs1RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ6mkj1mcU0ePSGN0HGwlQsfjVIsNXhq/SjJDMs5HPS5lAxUK
CAKZAQKbAQIeARYhBHem99S+4DafcLJJV50ph2afeSs1AADiUQEA1sR8eYcAsfYl
n8xxkGvJNIBwma3sdjNZUIewq781QS4A/1CFjkbDphqebEKMy6tLdIvC1PJl3tLt
Nt1XojF5EtkGwsAHBBAWCgB5BYJhUb6iBYMJZ5o7A4UKeAkQwEjf+WYB2b1HFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnu06YdDh0oqZ/PR9J
wfNni4kdDHRqakE39f82pH8MjZYWIQRqi57H0KGyl7XUp6HASN/5ZgHZvQAAKrAB
AIgb/maaqGjvekaTZZ6ZLrm7yN3o/T5YSqcFiQhCCAkvAP45lS+pl6ZiyTdjhCfv
AiRzVrjIiC5jZZGXsd68pSqeD84zBGFRvmYWCSsGAQQB2kcPAQEHQBJRCBxyGfbm
/xDAQf8Cbhn+b0wKDGVi2eKKp/fD50YcwsC/BBgWCgExBYJhUb5mCRCdKYdmn3kr
NUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcgXBOBo19E
FZLxiZgOhgPQoYxn2/IS0UYoIPiRs4Z4WQKbAr6gBBkWCgBvBYJhUb5mCRCOWe/r
HOpknkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfEpXIZ
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
59kmWd9/5xssX5jx7AfOMwRhUb5mFgkrBgEEAdpHDwEBB0Agp2LFotJ4CsBGi1d0
Og07kSbUT5oWHTRqFJ3eIxTMysLAvwQYFgoBMQWCYVG+ZgkQIrivUBmMSd1HFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnhAqzslG9I6FgZ05v
l2YC8V/QBNUsERM138zTyDAuC+sCmwK+oAQZFgoAbwWCYVG+ZgkQJ5+s1MvVzeZH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnGsMMci9ikHMB
/Veqf2a5DSeaLElu98ozc/PA55iPD60WIQR5HRghMz70u4wrxGMnn6zUy9XN5gAA
tOQBALMz4kc160999DQEpq35MuYgG7pnYL1oBDQnBpRQa1hiAQDm/QCONiN/whBz
GqFgquxgmuauI+EdNzyIGpwJRRYxDBYhBIbLRjnR/glrqUHQWCK4r1AZjEndAAAI
JQD/RFBtIM1bduBTqwfkSQMASSgPyocTXpLVMjq70IWJBn0A/ROAXhcRSO9Or2qK
0vXoF3lMF5JsXh4nb8yr7VryQGsJxjMEYVG+ZhYJKwYBBAHaRw8BAQdA3gLEoo5N
Qo65WGpyLWgvA8hrFSjJ0cuULq5En3cIkpfCwAsEHxYKAH0FgmFRvmYDCwkHCRDA
SN/5ZgHZvUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeS
dsZ/hsxXLqtMoqpks0go13beDgRuabMrX0vyQiG0KwMVCggCmwECHgEWIQRqi57H
0KGyl7XUp6HASN/5ZgHZvQAAnOAA/0K5xyd62gYm3O0jsvjFAaORukvyYdFI4dav
WLn0pCuGAQDOX/985pOEM2qo6fwMmvIyB3Aya8AyH15kHRT3zWZpDs0RPGJvYkBl
eGFtcGxlLm9yZz7CwA4EExYKAIAFgmFRvmYDCwkHCRDASN/5ZgHZvUcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmftn31Kb0lfvDfKgqfk/wa5
WKd0pa9sdIgjCRSUoBn6jgMVCggCmQECmwECHgEWIQRqi57H0KGyl7XUp6HASN/5
ZgHZvQAAd9YA/15bWZ+7nwQJ3+gtCAG5IZCrBtEzicQ0uj89zXyuC9SvAP9NwkHB
UhvkZ1G/V2xvnWKrx3tbQvNsbjehxiqqbfjFCcLABwQQFgoAeQWCYVG+ogWDCWea
OwOFCngJEL8SxNHSj9/7RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEt
cGdwLm9yZ9FN5ZWk9vGF1Ik/QBaK98YETkm5EYK/1tW4j+kkwOMzFiEEuV/1sdBV
0m91j9TjvxLE0dKP3/sAAIXwAP0a8R5Pj2haj9pG8FG7bkApz5w4hULStiHwLgGK
MtVNMwEA34cn9weR2AmYMACODV+LY01SOqT3XvP4eyUE7ydkHAPOMwRhUb5mFgkr
BgEEAdpHDwEBB0CYFpFQqqkkprOV+kHW5PBgRi5uD+i8BKxMya22yOrNC8LAvwQY
FgoBMQWCYVG+ZgkQwEjf+WYB2b1HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3JnosQCXlYachJTg4xf3sBXijHYCvubmBnvGM4LCOQQr+0CmwK+
oAQZFgoAbwWCYVG+ZgkQb5eTU2hVY5hHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMu
c2VxdW9pYS1wZ3Aub3Jnx7pbElDoeBjCBNj3Ho8ZaNQgosLtbO3sEZ4QC1beuK0W
IQQOauvaJfRpkXt6zsBvl5NTaFVjmAAA8TkBAKLuLPW6h8ipAMea8fRGnDacAAKO
y/ZHEZMdaSJIoaypAQDi7VD3j67yRpTVl0M66DzleinkO085FQlHP/UzBTyvBhYh
BGqLnsfQobKXtdSnocBI3/lmAdm9AABcYAEAwInWhvRBAEElclbO6JvcijAOfMKh
tSxrVCVzCLkTJL0A/RI+Of0QWp9BMvElx5hDM/YKhxhYdr1CLopo0USqwPIKxjME
YVG+ZhYJKwYBBAHaRw8BAQdAETEZjg8JmeJhYxpHXfooNuZMvI0udYYfrqCsJb9v
8gHCwAsEHxYKAH0FgmFRvmYDCwkHCRBALo1dnX1lZ0cUAAAAAAAeACBzYWx0QG5v
dGF0aW9ucy5zZXF1b2lhLXBncC5vcmftDUDOgkBhW6AB+OctH2WSxhXUel1ovW7S
YiWT4LgGWwMVCggCmwECHgEWIQRW1EQR+YJ1gWnkaBtALo1dnX1lZwAAnrcBAOac
yT9nmccfFOiz4R3fnBIR1H/noOuYPMEL9v8lo27IAQDW59N4dm0/t6Cf7S0EVDGf
KInZI/CajiGiYhqD3X44Bs0TPHplYnJhQGV4YW1wbGUub3JnPsLADgQTFgoAgAWC
YVG+ZgMLCQcJEEAujV2dfWVnRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVv
aWEtcGdwLm9yZ0WvuUU7DhK67xlQNKkFM8cZQ+Qeb1iIEBQH+L9+Gg3KAxUKCAKZ
AQKbAQIeARYhBFbURBH5gnWBaeRoG0AujV2dfWVnAACc5gEAotG/y8lfyt4qyrA8
Y0Q/ycQkgdpONjhNj7XNKbk8kRMA/0lsOMpoaaIxFBAwAMPb9NEFuMl5wN1TIzGV
rDkcKwUJwsAHBBAWCgB5BYJhUb6iBYMJZ5o7A4UKMgkQIrivUBmMSd1HFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JncVKMezKHLiFIRL6YgWbZ
l5lPAmX2nhSzNDe0B9ORu/0WIQSGy0Y50f4Ja6lB0FgiuK9QGYxJ3QAAOtoBAP7F
h/fvdhltpiRmed2yvXb6HOE49wDA6uOMDFvpMVdqAP4pXWHS74lRiRGqTMvH4kMw
fVF3I52gu73fc9hejPCIBM4zBGFRvmYWCSsGAQQB2kcPAQEHQCNkNzecTa57qn2/
FGUv2FqFqBOsiFKI+zUdcTYOoCObwsC/BBgWCgExBYJhUb5mCRBALo1dnX1lZ0cU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdFANPMCwBampRC
262Tv/P6VziTtU/6rFlucXtMg5j9+gKbAr6gBBkWCgBvBYJhUb5mCRAS7bqwYpYM
vEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeWFV6BSAcM
PTntifZ+5fPNWwZfTC8WINFPVzy0DxSbUBYhBLjyOEOTqttd3n7KPRLturBilgy8
AACgowEAhQsfkaauTI6k9KBZcLyND9k8KR9CY6h3izmLysWejmcBAJrxcR4zEWfu
sOgw/Gmj7l+r5rfT0B0jl1QbQyvUTbEBFiEEVtREEfmCdYFp5GgbQC6NXZ19ZWcA
AIcYAQD1qU7FPLV+nTmbr0Taxj2mKMmxIHdrbvCbQJhoVVqzDQD/YW8V6aTN78IC
CCXry5uefxpzPMhT3T3davSrGauJlwrGMwRhUb5mFgkrBgEEAdpHDwEBB0APESbb
kWx6nSowSdoQMba351ps5nFYpMByInDp+XIriMLACwQfFgoAfQWCYVG+ZgMLCQcJ
EK1WGr3L6/3wRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z88IVMXePQwungc/yoRR0VhYJina7VykDTOrDCPLkgGWAxUKCAKbAQIeARYhBCqw
jAb8eVrCZnOyPK1WGr3L6/3wAADOxQEAmGkY68QwUCIX9c9akvv7rpuICGt2fI6Y
TuDy6gpHiYUBANFzBdzK2Wer9dOMCzNi50kJ+LH+Knzag+nux9gjV/0JzRQ8dGFy
Z2V0QGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVG+ZgMLCQcJEK1WGr3L6/3wRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ3hdrUjn2Z0c4Aj5
BohjF2wZ5VcfNy46NS8aBfP+aI1SAxUKCAKZAQKbAQIeARYhBCqwjAb8eVrCZnOy
PK1WGr3L6/3wAADcowEAz0XL754GlZ0NAVwaqbNBkYgOyt20BEvL91KSqzJYnbUA
/R71a3dW8EwoLE5QMK2+S5DdaHbpAwJpzVzWLutKNX4JwsAHBBAWCgB5BYJhUb6i
BYMJZ5o7A4UKeAkQnSmHZp95KzVHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3Jn4KcgJ+J5IRrO3KEmPn8IfYqnz0uwNock2JXxGWkwSbcWIQR3
pvfUvuA2n3CySVedKYdmn3krNQAAShYBAMT1wm6VizvRNnQ7HepkPwCBgmhTCffm
VHxH5o90FAqhAP0R5EQUGBhWxDkk3LZ//8mMkJQ77RfbPs5FP3+G0sp9DsLABwQQ
FgoAeQWCYVG+ogWDCWeaOwOFCjIJEEAujV2dfWVnRxQAAAAAAB4AIHNhbHRAbm90
YXRpb25zLnNlcXVvaWEtcGdwLm9yZ7TJPlEp7iskvVYCEad66hP/ZmPrKh/pbY30
yM3wxfGIFiEEVtREEfmCdYFp5GgbQC6NXZ19ZWcAAK1zAQDUBom5DNwEPI3AjtNg
JIhkBEpYbye7ieE20xRukwVFpQEAhAnLhtUWfvdUktjQdM/yz5Tw/ME9toJK8mDc
WsWvCAvOMwRhUb5mFgkrBgEEAdpHDwEBB0Dr9ztPkV0fqqQpaxS9HEI3+ok8bGxe
l6SRdEhmBFuE38LAvwQYFgoBMQWCYVG+ZgkQrVYavcvr/fBHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnj6SJQsx/FcCupOIu8HWYGxEWuEUk
Z7RDZQUpITfJH98CmwK+oAQZFgoAbwWCYVG+ZgkQDANvTE5JQfxHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnGXuE/ag/0DJHp8EkfD6ISqRS
0mOW65TvFZu74Q1gkCUWIQQboh6ob9LO5MxTzawMA29MTklB/AAAuLQA/2fZ82eT
Ml5/fuLB4KsMzzKWSvtfKIXpoJl2/OfisaDWAP9H6iedQcLWMQnMGKuFAdWLZ3aB
Th4+MwvObCctUz7CDhYhBCqwjAb8eVrCZnOyPK1WGr3L6/3wAACWVQD9HvV/XDJT
N/sq5TVMjeYqYKmgEMbrMYah6xX+XsC7XDMBAI9Zpkl/UQT069kX6Pl+XwIXg0+A
SoW3+b63VkHhKSkN
=SZhf
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Tz+QZA4=
=Sesf
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,111 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdAmBAnRPbQ8kxpYFYNyi/iJs2L/1EvB44dVd0Z
KfrP+KXCwAsEHxYKAH0Fgl4L4QADCwkHCRCnUaegUyhjukcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeuunycYEoBL2z0M+LUMX95atzZfka5
VurCjWhshCJV6QMVCggCmwECHgEWIQQhmqtmHIqvRSbbwxqnUaegUyhjugAA4AAA
/3liOXNzpzUNGAbpFHEvKXpZD5i375uo0+9UF4IT8lpQAP4pXPPq2DSVrGDvdZrc
Dzo9aXwNI/+wz5UKPUXn2tZKC80TPGFsaWNlQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCXgvhAAMLCQcJEKdRp6BTKGO6RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ/6ctGt6wzg5TDkhDYXrkKhHFklkNzFEfy75uOk46fg3AxUK
CAKZAQKbAQIeARYhBCGaq2Yciq9FJtvDGqdRp6BTKGO6AABcvQEA4wZMmOev/Row
E+yFBQNo6pKYKMImemYEGPG++9ttmZ4A/3yshwGMRxbL+GWshferOFKuqXxHkbB2
SLQc5z5KFIgIzjMEXgvhABYJKwYBBAHaRw8BAQdAqjemXq25t94cpIpulUqKR8DM
9QIEyd0JLT1b1WtOub3CwL8EGBYKATEFgl4L4QAJEKdRp6BTKGO6RxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyMaTp6IIJIcan4K0PYZdR80
sNuq35+mk10oyWIuiJVKApsCvqAEGRYKAG8Fgl4L4QAJEBUzrVPCfimeRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyYMx6BTk0pNNBiCQK4S
bOsn7Sr+2DGG4WsPrTavJtYRFiEENfd7dUHjFnnJz9mXFTOtU8J+KZ4AAP4eAQDf
sigQj6pDNm3DqoYUUTigYrFF+a6+uJaXwAXrTFh/gQD+NVZfKKbWgdtyltwxKEMY
nhkOuXee/9uIwZc1UEefHAAWIQQhmqtmHIqvRSbbwxqnUaegUyhjugAA+28A/jiq
tP+sy5i463z43clux7HrXc8QR8d3qu16VojI5G99AQDHqaEMDaiHQ0wA8BLIubIw
Kro9YvAlXr8rYbxwgQS9BcYzBF4L4QAWCSsGAQQB2kcPAQEHQKYRIkpV0aBAhIkl
ETzDmxgXlo/hzcCLhr1JsFdLDkb8wsALBB8WCgB9BYJeC+EAAwsJBwkQg/nBpHWa
FtZHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JngbOv6Fgd
ebucVO+uiuSIE/dTPnOMh2MkjTn5dfyEaRwDFQoIApsBAh4BFiEERpRSkvj2Q/BX
OvcRg/nBpHWaFtYAAA4VAQC/OKE9QSY/1UecvMqndgMlJs9KKfYa0DHv21LBw17A
GQEA5tSjkgPyF2h/MsPVwcErodK4DPIUeTk1Nnw06DQEmgvNEjxkYXZlQGV4YW1w
bGUub3JnPsLADgQTFgoAgAWCXgvhAAMLCQcJEIP5waR1mhbWRxQAAAAAAB4AIHNh
bHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZycXivKq8tnrdR9nFB75kN9eQQhW
hTP2wYdP/AK0ZYRQAxUKCAKZAQKbAQIeARYhBEaUUpL49kPwVzr3EYP5waR1mhbW
AAAOowEAoQaKLFOGCqer9TZfyDpo9zBVcMsdM6dE/r5IvacVUCABAOvCcL/L+6+i
TgHmiuvB3/Mdhy0ni8Q7w/RSnUbrYiYCwsAHBBAWCgB5BYJeg9mABYMJZ5o7A4UB
eAkQdUMVfvOxK+lHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Au
b3JnSSL/+MxfvpyKJNESkvF7tVtoIsYgZeZ9mTYsK6q8rVQWIQSQ4Cv7A/qgRxTR
09h1QxV+87Er6QAA4wUBAJOMv8CUv2ZQlE2scwymYNHWxkdt2OJkBzGKqSslfZ0q
AQDnb1O6/giZaDfHSKkeDttOCG/T5BBUHsaqPHdR1S/NAcLABwQQFgoAeQWCXjS/
gAWDCWeaOwOFAXgJEFafX2v7lcVERxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ1TMrkfbYGziuSEIfafiQu+U4iho+Zy+oYG+ioghtxscFiEE
v2gHEBKOa8yyJoFUVp9fa/uVxUQAALx9AP93Yz3N4TumIQRMIAMrxHmaPY7uNtF0
0tsANPZENumwhwD/XL3sKJ+lnKnk6WORg9SwFdZi6aWh4DvotUkTvzSIuwXCwAcE
EBYKAHkFgl40v4AFgwlnmjsDhQE8CRB1QxV+87Er6UcUAAAAAAAeACBzYWx0QG5v
dGF0aW9ucy5zZXF1b2lhLXBncC5vcmfoydbacr2EVGfu8SIL80LcGkwn1Caouk82
iBbDctOnkhYhBJDgK/sD+qBHFNHT2HVDFX7zsSvpAAAczwEAxshMuiJYDeD5YLZK
XRlDXe94qyhP5KkpQQvKotPHflsBALG3EybkpQInrgZoY7W4QLyvt6TI4J38e4L5
5ZwK2X4DzjMEXgvhABYJKwYBBAHaRw8BAQdA385Q2fcP6nlpCnJ3aBJorQNWcx++
UMFG2y1deO1q23LCwL8EGBYKATEFgl4L4QAJEIP5waR1mhbWRxQAAAAAAB4AIHNh
bHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ++KNdQFf6Wb5Y49++LPZYlWPBqQ
cRm3NXjJW0jCoSh6ApsCvqAEGRYKAG8Fgl4L4QAJEGydV1KFUSAcRxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZzYJ9kLnCc/hSfP/FXANg9aI
E0xMZ0lZX1CappeH8Q1NFiEEMpoUVebPBAN7a1dbbJ1XUoVRIBwAAEqMAQC6/1sN
Vll/+0wAtC6oCtGFYCvfMLScqC/HmDNbbNscJwD6AiKj9U7YierLymk3eUQNy78Y
kPvXKH/EZRW3GG6BHgoWIQRGlFKS+PZD8Fc69xGD+cGkdZoW1gAA3P4BAM76ZTrc
DX8XDtyYCuAuyj9xI6jezpGhfxKaDEEkHxJRAP0WZsHy+cDA8UVKesnQqmbec8Mv
/XitAw7LZKWg6/HMAMYzBF4L4QAWCSsGAQQB2kcPAQEHQG1SxvTSaTTNTSUO1Fv3
Dk+oVqApcqS6yMIWgWZlvhYfwsAMBCAWCgB+BYJeWvsACRB1QxV+87Er6UcUAAAA
AAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcvs8dY5faQd/ZORLno
3Kl7+xbntsMskOH7FjLdTHBZ/A4dAnNvbWUgbWVzc2FnZRYhBJDgK/sD+qBHFNHT
2HVDFX7zsSvpAABrOwD/R2RnuabbidiNr2udGfJUqlmDj9EMN5DbG2ofa94DuVEB
ANHPESYhtH/9WYuHZj7CcfAnl4BEfcBBTjj4rwIcjOQMwsALBB8WCgB9BYJeC+EA
AwsJBwkQdUMVfvOxK+lHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1w
Z3Aub3JnMIBwRvqbORueUzCqQ6wTO3J6OM1Hw+kJgrHjKRdkeUcDFQoIApsBAh4B
FiEEkOAr+wP6oEcU0dPYdUMVfvOxK+kAAJ0NAP0fpH/6ofJPHGY25LCNQ5ZrPxTA
Zo27QSeFzrxW0j+OxwD8CKpHFEbFYB8fBtHAjp2vIxT7RmOgbBQk1f5EGhapBAvN
ETxib2JAZXhhbXBsZS5vcmc+wsAOBBMWCgCABYJeC+EAAwsJBwkQdUMVfvOxK+lH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn5DxIDi+CjKIO
l3tHtGdSSVe8b7apUMFKCUOY/klX8iQDFQoIApkBApsBAh4BFiEEkOAr+wP6oEcU
0dPYdUMVfvOxK+kAAI0JAP4mnv7AMpN8fCkUhIdUq8jH6f3FxJJtcU2/fizsBZTo
sQEArrHk48dLpatStgg+1QW81Tue1/xaEgDZSWfkCylH1Q3CwAcEEBYKAHkFgl6D
2YAFgwlnmjsDhQF4CRCnUaegUyhjukcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmfs0nsAp2993D94jlJw5lmYiY4CVZqcdgg+dPK/JY/Z3BYh
BCGaq2Yciq9FJtvDGqdRp6BTKGO6AAA4iAD/b8/VfIxPSe2N/W2ooSoYyP1s52ll
OUqOI91nM9ngPfEBAMbQVnXxxsazyW15uZRhZ+FT6464reol//7FRi3tPZsJwsAH
BBAWCgB5BYJeNL+ABYMJZ5o7A4UCWgkQp1GnoFMoY7pHFAAAAAAAHgAgc2FsdEBu
b3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnJ/9igdtS7qdeViYr6WmMVI58UfcPfnEE
I67dsuzLUhIWIQQhmqtmHIqvRSbbwxqnUaegUyhjugAATkMA/Ahgc9Qyw5mNbaMl
dUjD8KIOVrNEPHRuq2h5zZcyAFchAQCKB1me0kiA9tfjWBcB57K5YU7xJgHJfB+0
o3DuiZCiDM4zBF4L4QAWCSsGAQQB2kcPAQEHQMAj63wXdrzDcND2k5/qn718e6vO
8FR6fspo5Wi7M0aEwsC+BBgWCgExBYJeC+EACRB1QxV+87Er6UcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmee1UdO+WTdqpRdvI+ar5cQM8u2
nSi4kT6hOF8x49K/6AKbAr6gBBkWCgBvBYJeC+EACRBvwBwfSkPW7UcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfFh/jfwcIqGVuHO0Ur1j9n
yr09EH0Jv3hOZz8DxUUIqxYhBDwoJGSXGBM9vF++NW/AHB9KQ9btAAAb5wEAsHWJ
Gq5ZvXHYl+fG90BXpKxD/e3WU0Mom2q2DLydBoMA/jNUk78aQSXIoxDg1jRFL2dN
57ajiioAeZDZmFw1/cgLFiEEkOAr+wP6oEcU0dPYdUMVfvOxK+kAAOGdAP9wn+cI
pO75/ZJrtwCON7d6qZcZ9i7mu1Q5Zb6FyHrEaQD43PGVDZkNTtaTTgY4xnBjUr1Q
dGTt8Eief0QuwaVuBsYzBF4L4QAWCSsGAQQB2kcPAQEHQBdBVoZzzJKwoGKeezNB
g+c3iT5CqwpVnuVIDV91dSq6wsALBB8WCgB9BYJeC+EAAwsJBwkQVp9fa/uVxURH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnzmjmSYYuZSx9
sTMeUO8OMRzj7iPRyd/SNdoX/ixCFykDFQoIApsBAh4BFiEEv2gHEBKOa8yyJoFU
Vp9fa/uVxUQAACTbAQCMrzPWaCJCWoIpYqilw7jNxMBqvIy2d1o1BWj8N8555QEA
yYG0wX4p2DAj+ryycZ9y/POqIDnIgYlwzVo0DJkCeg7NEzxjYXJvbEBleGFtcGxl
Lm9yZz7CwA4EExYKAIAFgl4L4QADCwkHCRBWn19r+5XFREcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcme4+iFL+cquSeo+b/p2YaLWqJKAijic
6Yu16sXI+QWHwgMVCggCmQECmwECHgEWIQS/aAcQEo5rzLImgVRWn19r+5XFRAAA
rZ4A/joE4JRGwMH7QXt9n0v/PRY+xNeTc62PnAEyN2IpOEi/AP0QOQhE6XzFUOG+
W/UrkIg9vbktk5EOkHyd4Ak101Y1DcLABwQQFgoAeQWCXjS/gAWDCWeaOwOFAh4J
EKdRp6BTKGO6RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z6wBIsYeTZS8tmX3//2NOra93WBnWNx6FjuiEnJkrU3mFiEEIZqrZhyKr0Um28Ma
p1GnoFMoY7oAAHPJAP9EKb4+0x+IeBNGSfH5hobQ7I1GPlJuvAT6SKHz0sq4IQEA
vHIIW+xrByvwnhrX7X3dMSKGqwbhGJcSTsHH5sZNoADOMwReC+EAFgkrBgEEAdpH
DwEBB0Cptk293zoT2iuSST2yWmxon6aSgGiJ/OrnuFtNO6xNQcLAvwQYFgoBMQWC
XgvhAAkQVp9fa/uVxURHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1w
Z3Aub3JnFHJ0x6RDawJeN7JwrJ3Cfhh7wWCnGkDn6yNbsbNQj2kCmwK+oAQZFgoA
bwWCXgvhAAkQ5q91RF7gAoZHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p
YS1wZ3Aub3JnLvJPwopgkycqUSXzBTYYrBIHcqNg5Pv9D3odTLOtPyEWIQTLpOHu
eQFmZKbTuubmr3VEXuAChgAAy8ABALr8v3m5pUoykqPyzZZdVm4qlq0kAtepSq+x
5LpQykRcAPwICbC6BwpU7v4GEcZTWpTtel0IxNSU4XQ3W6WNOMSGBxYhBL9oBxAS
jmvMsiaBVFafX2v7lcVEAAA/RAD9EiA5uaBj2YSPE4Mbo4xKRCI02bEdmFYnYpiB
OAX/+aYA/RShkFupW3ToidZQQptPk0DW1DjdJawamPKbOmz11woL
=RvKX
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,111 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdA8y8LlHJUsnwhFSABHa3yF1nyAFealUz2kXNY
XA2Ocw3CwAwEIBYKAH4Fgl5a+wAJEPKMR1QPosOzRxQAAAAAAB4AIHNhbHRAbm90
YXRpb25zLnNlcXVvaWEtcGdwLm9yZ+thHblIkK5D/QLIZJJj/Mm9DGMxmC/mdlDK
WBr0vBCxDh0Dc29tZSBtZXNzYWdlFiEETNhzf3bCuJfE8Fjb8oxHVA+iw7MAAICo
AQDA+uUFrs+GBvyTt04m6XZai5ldct0sC4xErmLFMuS9UAD9FYz7oIXutX4enk3w
h4ZIZy77rSJxymz5Zjwl9T3nGgnCwAsEHxYKAH0Fgl4L4QADCwkHCRDyjEdUD6LD
s0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmceySxlNKj+
C239rumCpdwwBOAZ8vg7OIELRpPsY71GoAMVCggCmwECHgEWIQRM2HN/dsK4l8Tw
WNvyjEdUD6LDswAAYQ0BAMv3lxpsOhKpQSnTyzcstlz6KO6esffGO2/UWmT9g72u
AQDFNtdmt+68kL+xyzYC6NjakyY68/IWQj+5ZoOrRY6jDc0RPGJvYkBleGFtcGxl
Lm9yZz7CwA4EExYKAIAFgl4L4QADCwkHCRDyjEdUD6LDs0cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdih74hXce4aUP356vH41nuVp1iwZaE
vxGdhQwgQxSEhwMVCggCmQECmwECHgEWIQRM2HN/dsK4l8TwWNvyjEdUD6LDswAA
HiEBAIc0/rp44l4+Era+BiK3YV2A34quhXe2cwKnVdhQNEqeAP9JVDaGO8MPqgaQ
WTtiPauB6Hv17wKHjsE55ETYr8TnB8LABwQQFgoAeQWCXoPZgAWDCWeaOwOFAXgJ
EBc436uGh4JiRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
ZwNcOTuNVCIsPtlMm3nLYgkOAeY6b61S9yHdn4yPhKm0FiEEZgN/mLREu6/f6Y6H
Fzjfq4aHgmIAAGhuAQDjCDll4c9g/+yzEziWnL/etMC5gu7WKeBgLJsqldrFrgEA
yt8Ff2L4SrVhn/inohDKwP0Kh/Zu0qUS0LItMoQqugvCwAcEEBYKAHkFgl40v4AF
gwlnmjsDhQJaCRAXON+rhoeCYkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmcqC54B5MxUjdUYFYc1G0z3IFY9bl9hVmGZYzALO7qunxYhBGYD
f5i0RLuv3+mOhxc436uGh4JiAACi+wD+KH+AobqIzKRgsTldN+0ZUZneU3Age13E
ZgAaI+Y4YssBAMfKO19CuESpUIBUy08T791o+cbxRgidVfBeGMUl95cGzjMEXgvh
ABYJKwYBBAHaRw8BAQdAe14y4wbsugSXTCYbcbtKabDb14nH14K9TBcEfCtAZkXC
wL8EGBYKATEFgl4L4QAJEPKMR1QPosOzRxQAAAAAAB4AIHNhbHRAbm90YXRpb25z
LnNlcXVvaWEtcGdwLm9yZ6vBgjxxKBwIjqiNrmmJIZtFkwPD4IJEqIINOzhfkXuQ
ApsCvqAEGRYKAG8Fgl4L4QAJEBwHgaRywjVWRxQAAAAAAB4AIHNhbHRAbm90YXRp
b25zLnNlcXVvaWEtcGdwLm9yZ2n0ohIR9Kt6y2F8OtH8MLzO6Dgjv25Ca4eXH5s3
qlDTFiEEFrmn+aCTonj3IYT6HAeBpHLCNVYAAJb5AP0ULxpF8Kh+QlYqiYojpKYo
mPTgZqkbc7JY0KwHXNcHkAEAogL9yMeDnbjZiPUWODlf1ED41HprrbZZN7ADpZyl
2wgWIQRM2HN/dsK4l8TwWNvyjEdUD6LDswAAb3oBAJ5b/ObUGFEcE6J0lk3ldvGM
JEVpF+g6bllozfqdxNdiAP9zL+8yZTrNO9UjKrZoe2n4gKJ2kNQvkydmmzl7Zcbv
CcYzBF4L4QAWCSsGAQQB2kcPAQEHQDuz70xSHZdmOlPFOhT7+bGAt9dWJdul3Z6u
BAuC0HpiwsALBB8WCgB9BYJeC+EAAwsJBwkQFzjfq4aHgmJHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn8ei4XbDg0jU6Zxg1qs8L+xWIEzff
3a9efsZdcP3ylR0DFQoIApsBAh4BFiEEZgN/mLREu6/f6Y6HFzjfq4aHgmIAACg8
AP9jqokwnvBNhm7ObAwC8TdxoxG6mVNhv+uon1WD/PDO6gD8DpzHBrgvuvS87eUA
elkuTOJN9m46udFoN0C8iMdLagfNEzxhbGljZUBleGFtcGxlLm9yZz7CwA4EExYK
AIAFgl4L4QADCwkHCRAXON+rhoeCYkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmcKzsyguAPAEjTm2nNpLqC7EmR1ZtTbaOTUhhJKPx/XPAMV
CggCmQECmwECHgEWIQRmA3+YtES7r9/pjocXON+rhoeCYgAAIpsBAOIzZ5SLTu8p
1n9XT02k6p/IHUraayDaS4e0xQmAvbsdAPwK/lOe8mmLGb1KyAmCeHire3KInouF
xS9B9K8Jl5ZUBc4zBF4L4QAWCSsGAQQB2kcPAQEHQJOMaGWUZQ2Y6+3ARQfgUgDE
sYz6KvYsYdE1H3kSmh4cwsC/BBgWCgExBYJeC+EACRAXON+rhoeCYkcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmf3uhQtGFUerlk/p/WJ3Tzi
vPwvVPXq7/BY9V7FyxHdWAKbAr6gBBkWCgBvBYJeC+EACRDKRM4YdYNlNUcUAAAA
AAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcZE0a0itWnJUAQZasL
28KRz3sU2PVZjQT5a78B3AlU4RYhBGRcBNbLOgUQmQjPsspEzhh1g2U1AAAwwwEA
rIO7Vjipyn97PaQGFOVQqRbKMtC6vB0yfurnUDdnCd0BALbDpRjMmqN/mVTjN/7Y
PwqsLHlV7w7jiR9b57zH4aoMFiEEZgN/mLREu6/f6Y6HFzjfq4aHgmIAAN6yAP4v
8HYJT13wI1roqkHa2VPALr3/z5ZH+b/mxdkqVqcGvgD9FGvSIFTfLkM5xsT8UkMN
eCmwW2fYiPyRHEbwmwrU4gLGMwReC+EAFgkrBgEEAdpHDwEBB0BJht+5DDAvd77f
DWYxC+RJ0fyO8iZNatnhsQO+NgrRcsLACwQfFgoAfQWCXgvhAAMLCQcJEM5XD5uM
fcddRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ6yiaf2l
2haGAYCOoJF7ZuJoiVf08U3xBg9TtMMofID7AxUKCAKbAQIeARYhBKtOP47ou9NF
l1TXWs5XD5uMfcddAAAd2wD+IuZEOBO+5jezmegAic3Ix/qEdDaP0xXXuG7Rm6ke
PPcA/RnxkInASIIKTLgJ0z+cwT9prNp64YZIR1JEBvKhjKEGzRM8Y2Fyb2xAZXhh
bXBsZS5vcmc+wsAOBBMWCgCABYJeC+EAAwsJBwkQzlcPm4x9x11HFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnsBeRfaZEbj5jZx99YWTSDpJd
+Sx0fQpoaPgephSzaTADFQoIApkBApsBAh4BFiEEq04/jui700WXVNdazlcPm4x9
x10AAIQZAQDLeJYsYektiJlW11IqBK8S8bsQbgdhNlrMUSCeatkdOwD/X/tBYCTd
CEp8MS/J4qrorSLKplbgO/hig4ARJQ7s7QHCwAcEEBYKAHkFgl40v4AFgwlnmjsD
hQIeCRAXON+rhoeCYkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcmcH0LDJ6sbEY7dQUDKcv+yi8PWvNIgeMIsx3ykv93pXlhYhBGYDf5i0RLuv
3+mOhxc436uGh4JiAADJSQD+PI0psa36UL1RO7WHbaNwgWQUyYckSwKcpwmr8mOZ
vm4BAN/fqcGTO6AtOlGuHhKQH/c2Fk0dNQXF9Hp59ZD0DNAJzjMEXgvhABYJKwYB
BAHaRw8BAQdATSzlqzTrECBOHXsEicoRL032B9etxzKyAXstSMGcv7nCwL8EGBYK
ATEFgl4L4QAJEM5XD5uMfcddRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVv
aWEtcGdwLm9yZx8It8bhfabIAMFdbZOurCWBmlTURyCDlWi8mVuR7y80ApsCvqAE
GRYKAG8Fgl4L4QAJEOJv5rkociaORxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZxlqKSUS+dEMoKFNBcldS47ZV0E/4Twq5+p3msD2eTirFiEE
so/CHBIV0OmCxBKK4m/muShyJo4AALwqAQD25rC/mnhH09l5ivXZR9GspgPJ7KU0
8O+ACXaQ5712XwEAybY5q2sBVk4/PttKN+bzzsbxeEmOtj8vmQhNAE+WmgoWIQSr
Tj+O6LvTRZdU11rOVw+bjH3HXQAAxdYBAL76gcz0uV7HBZ//fLF0PSXHysBH0Wt6
XPhEsL+70M6RAQCFquFekEv07svx1NzUYKsHvqWum9xtoounNQzhBbBiCMYzBF4L
4QAWCSsGAQQB2kcPAQEHQDLRO/CGbiae652WLT9fbwc+MoCCqGtFoKOT6hPlspw5
wsALBB8WCgB9BYJeC+EAAwsJBwkQ4k+7G5+tyZlHFAAAAAAAHgAgc2FsdEBub3Rh
dGlvbnMuc2VxdW9pYS1wZ3Aub3JnYUdPd0PzfWEYp9ZzD1vmO1ko9VuWN/2GA4Ws
9lOTjHQDFQoIApsBAh4BFiEE32pEDtnecjsOvH9Q4k+7G5+tyZkAACfkAP4u3Wj6
Yrn7/zVRhd34+j7qUX3Z5snDr1wWp0NGR62TWAD/eJedIfzmPlWloQ1ND4Oz5USY
sopmFMy3my/Rkq7ybwPNEjxkYXZlQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCXgvh
AAMLCQcJEOJPuxufrcmZRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEt
cGdwLm9yZ6UcXqrxmqmolg3unKr/fnN9QL0wPEzjHNX7a6qlIcgfAxUKCAKZAQKb
AQIeARYhBN9qRA7Z3nI7Drx/UOJPuxufrcmZAAD63gEA5T4cxzzNwM+IDNEyFU6a
Moi0zD2JsLWH6Gq1bklb+dkA/RWfWWBgLrPg07CtKwXLv684Aw0KehSU7/k8M+kW
xcQKwsAHBBAWCgB5BYJeg9mABYMJZ5o7A4UBeAkQ8oxHVA+iw7NHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnUs2cPBm+gFQsOvLNTt8k2WKa
p5TMWlrvkjmoZksuZCQWIQRM2HN/dsK4l8TwWNvyjEdUD6LDswAAidAA/AulYkp5
ge98uccUXmvi3MvvL9/GZB2m95O/253i75OfAQDstfI0MSL2jhW3+gws4s25dFPb
swpYeYth9TyURIXMBsLABwQQFgoAeQWCXjS/gAWDCWeaOwOFAXgJEM5XD5uMfcdd
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ6LJ8vsZFInJ
L2/6GhdYmYXypH68g1AQ/ItDp1g/ioW6FiEEq04/jui700WXVNdazlcPm4x9x10A
AOXGAP910RqShZzWprynjZwOs+2RAtTOdLAHaKWPJFPhRU4+0QD/QrKO+SedH1nK
skyw+uPVR2WT1Ch1n+lKduh5fDjYOw7CwAcEEBYKAHkFgl40v4AFgwlnmjsDhQE8
CRDyjEdUD6LDs0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmeGRHfsGr7bFc4IK0V1is+Cu3oQ8/8L4o4R5hK+/lpf8RYhBEzYc392wriXxPBY
2/KMR1QPosOzAAC/4AEA0HC5Aa+39nAl8ie7fVWJUHJ2KuLI7qkQQU3k9aY8ajMB
AM38MyyKu84f0Ff8TafFVbaNsip3OovWiX+c5EM7ed4NzjMEXgvhABYJKwYBBAHa
Rw8BAQdAr6StRwze1t8ycBcEB/LoR4N8VoxPXi9hSPyW1PHeJw7CwL8EGBYKATEF
gl4L4QAJEOJPuxufrcmZRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEt
cGdwLm9yZ/Nji46QO366570jXS8Qi6RdGIYjZ5SjyEdJG20qWlO5ApsCvqAEGRYK
AG8Fgl4L4QAJENIm805wBkc6RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVv
aWEtcGdwLm9yZ9G67uBJ4ifXTaBkgaGY4TG4LeRSQHbI1ma3nwsPrCG1FiEEARSn
ZpdvRWoe7RdT0ibzTnAGRzoAACSdAQCy56dQFGaR+TF1NBK2N/3fZe1JZ4mbdr6r
5qpcyanIcAD/RjZMD4Zg6eW4ltTG+8eENozwVzNfxNPG8m5QUJUR3g8WIQTfakQO
2d5yOw68f1DiT7sbn63JmQAA1xgA/1LUIQ7LHcPZZAx/Ab4xq2mA6p2zgk4tdS08
/1V3u+RXAQCv5JJWBfkFnSkIFnj/lTGm0OXGSqfy1CDiBM4nw+iwAg==
=KuPt
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,79 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdAXWPlntnFYE1OUQN02H8OUuAvFmhxzeSgnAn+
A/BUEA/CwAsEHxYKAH0Fgl4L4QADCwkHCRBBQmNQsdf3OEcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcme1mYvhTLz6scxW5gCYfsRVvlljIpKT
9XKUYqrLpObpcgMVCggCmwECHgEWIQR3wHclDCY1fl5kpYpBQmNQsdf3OAAAwdUA
/1xv2LcFvMVIb11dc6pReidGWYp8dVBU+luGWN4Gvyg+AP4ytfyomPbvg8lCz4oR
x99ncYQxbmQGcRuLuUjuxrkeDM0TPGFsaWNlQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCXgvhAAMLCQcJEEFCY1Cx1/c4RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ7S79xWQN3gTYum65Zkvitqne09PJ51TR4DThJexod/gAxUK
CAKZAQKbAQIeARYhBHfAdyUMJjV+XmSlikFCY1Cx1/c4AAAKPgEAg4ByLb4RALia
CC6mesBuWt4fTBheLPZfI8IlUCrzFWwA/1qSk30cYdD5mVsdX/ie/6l7Fyh/Zfrm
zo4/l+pImC0CzjMEXgvhABYJKwYBBAHaRw8BAQdArzoRj8l5QVC2MO5reqfSn+I7
lOJOgZwhLCtDA1IJxJrCwL8EGBYKATEFgl4L4QAJEEFCY1Cx1/c4RxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ9Bp85ZhHv20b4Em7HVu7VUu
nR/pynMEuhuK+Czs4gRZApsCvqAEGRYKAG8Fgl4L4QAJEMybJIf3yVUSRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ+Qg21FiO2mi88OGkenh
ufiVFpzk+6ODDDXJJNCi6wbjFiEEw2nzD9cbrdg+2N86zJskh/fJVRIAAADSAQCQ
3pQetyGeEuoQcXQ11OFPWA9xsa+0YfV/NPrREp/ySAD/ckPNPTX7ebtnSAG1c4gL
PB8B69jEHXG8rW39e/aEAAQWIQR3wHclDCY1fl5kpYpBQmNQsdf3OAAAdUMBALXc
ZHdyHQRBstsj2kEsulDv0jDriwa7w+YGPQNfC+2WAP4jLKcJiI7ID36BzyA0yFvp
KVV4MLIKGcA+xEnoVaspBMYzBF4L4QAWCSsGAQQB2kcPAQEHQAR+3gawye7GFbCr
GVdXj7Oo5MCC9D8JJrK4pyiBbm1RwsALBB8WCgB9BYJeC+EAAwsJBwkQsxQ43jT4
z2lHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnpyr4eEJc
wLfz1UTyy24CLWqBtd3xLNe69wrSi/RJoxcDFQoIApsBAh4BFiEEhAiRVigZ06EI
xNobsxQ43jT4z2kAAII1AQCjefft6ZFnO4m7dnpOUlq6ZmT8Ome9PSXrgYUEXShD
CgEAgSU70d55v45eMnNhUtITEJxjgtBLALO/OE1nijYVdgHNETxib2JAZXhhbXBs
ZS5vcmc+wsAOBBMWCgCABYJeC+EAAwsJBwkQsxQ43jT4z2lHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnrloAr4zoXEWc4UfkKYbUACOFFrVH
dRKfVcJu91pg1C8DFQoIApkBApsBAh4BFiEEhAiRVigZ06EIxNobsxQ43jT4z2kA
APzRAP4yJFnmOozbmLy2B3s0lPtEgbh0elE/sohWFcXcf+hzugD+JZzrWU0hqdlb
QXxK0MTeLquAQOcVfRZBBPNz994VwA/CwAcEEBYKAHkFgl5a+wAFgwAo3oADhQJ4
CRBBQmNQsdf3OEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmdnMoV6hv0DtVCK/4kDrIZxnfXeU9U/loQUZcJkeVE2ERYhBHfAdyUMJjV+XmSl
ikFCY1Cx1/c4AABFAAEAjGGC57FDqiT5fsRk+Rr/4Cb/ifD7KnEineojsWjuAnMA
/Rj//Ckk38Sd1dPya/nlWUhPBmAzqZcuZ7eRZpGwtpoKwsAHBBAWCgB5BYJeNL+A
BYMJZ5o7A4UCPAkQQUJjULHX9zhHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3JnD4b0askhQg1LajK70KFh+YUfMTkdiSVurZm4w6O6e9QWIQR3
wHclDCY1fl5kpYpBQmNQsdf3OAAAoRgA/35OQZE7apigWxjNx0B9Zvf7K/MgoPMg
0BeOFDLfyJ/HAP9/P1DxSLnVfYcnx9k8icim4iYPRibQqs1maUO6knAUBs4zBF4L
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
=Khkp
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,82 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEY8kujBYJKwYBBAHaRw8BAQdAWTNBNzb2n4kEsVt5MnuxTlHtoKVatVpguukL
zByL1NfCwAsEHxYKAH0FgmPJLowDCwkHCRACPMAZc+2d80cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfOZuykxfZxcuJmM2CQdrLhaX1L56gT
VRt06gWe92cwZAMVCggCmwECHgEWIQSaGuk3tcuLxGBIq2MCPMAZc+2d8wAAD68A
/jpczJOkjNhtGi1Zmer13q1Ufa3yoSM5Ah9+GnqvtU44AQDr3DWXRfXSiDV1OIRR
ZApWuJIh6qTYFgi+vdXVfYknCM0SPGRhdmVAZXhhbXBsZS5vcmc+wsAOBBMWCgCA
BYJjyS6MAwsJBwkQAjzAGXPtnfNHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3JnDB7h6it/wA4hVyg7GEZdcMgdRC3qMrQROz3Gz9tRDOcDFQoI
ApkBApsBAh4BFiEEmhrpN7XLi8RgSKtjAjzAGXPtnfMAACcZAP46dblIYoHnyLmr
0i+D5diKR4jdLhwXRWKOZAfxjIe6lgEAr8/0DUUYWEGgqgjS/EsVRl8Plf4kvvsc
4gq3m9w5HADCvQQQFgoAbwWCY8kuyQkQl1V90UfZnJdHFAAAAAAAHgAgc2FsdEBu
b3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnfA3OtnGbuuceG0sNijXElTPlJdBD4lWL
+hvesdXDeiQWIQSrnvHIljFRmELtVZaXVX3RR9mclwAAL/sA/1KK+ZTRbb4wo/j7
vVMd43pUNLxMdH/IXa0wbacR2qTHAP4/9osbkWshzvGEEsz1zNmW4+TRNHZPcdWZ
PuUCeKb5B84zBGPJLowWCSsGAQQB2kcPAQEHQPSd6esOsGVxKMhuE+YcnetwK+z0
QY+rdzwchYvnFcVfwsAABBgWCgByBYJjyS6MCRACPMAZc+2d80cUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdbLv9YW0qYCTdo+AuOIGwxFwDQ
w8NZby2iZXnP/VzRjAKbIBYhBJoa6Te1y4vEYEirYwI8wBlz7Z3zAADp9AEAsdNW
IDf7Wa3r48F+9nH66yk/tj+ZYnVVcoFDNKPXEpEBAN8s3XLBpHCFa2Slf8PqnvOY
MfN4bUx5JlsHn4zJz24BxjMEY8kujBYJKwYBBAHaRw8BAQdA4cAHLeVcg9bGjBCR
tpUVDRwuQC26MvDz52gn7h+nwT/CwAsEHxYKAH0FgmPJLowDCwkHCRA8X1u+a3kM
BUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdLJosueLGr
nIfAOKmbwKtmK9XyWkCyadOcZt8TTxv2bwMVCggCmwECHgEWIQSmjfAOuC+cScJ8
x3I8X1u+a3kMBQAAmXkBAJqDDwKxwCDVzQs9d/0eqHa/T4Cauh11QpKRZhFMd5bO
AP92yCTBrL5NOrkDUIDyuYgtFz9d4Yfma3DkWoIASYieAs0RPGJvYkBleGFtcGxl
Lm9yZz7CwA4EExYKAIAFgmPJLowDCwkHCRA8X1u+a3kMBUcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdqzjeSSIWu41AoXOp/0tsY4HLgpIl/
xSBcmX0IhGjYXAMVCggCmQECmwECHgEWIQSmjfAOuC+cScJ8x3I8X1u+a3kMBQAA
ZeYA/RB9AYJG9xipHkfI14qQAkLoh/oIfDYClLrRZ82QHy1OAQCriagNJAnxLS/k
w6AokXsLwrlemsZMH1ZWlqggimxqC8K9BBAWCgBvBYJjyS7ICRDYE2C0wEiSJUcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeObgWaD/Y4PsfK
S3mxeOaZdUJKyU4a7TXfElnoNwFaaRYhBLKzcSFO9xr9FuQsYtgTYLTASJIlAADF
PwEAuM5kIqG11Nqnb2rubGEBu2x741cSKV3uwjkS101g26gA/iqHRsbxEGqgXvuV
z9msWCb42Od3f8CMyS7oQUypIQsGzjMEY8kujBYJKwYBBAHaRw8BAQdA09qXxgC7
HDAwngup4nZGJSjcCAK3yRtlbHtVc52nUtPCwAAEGBYKAHIFgmPJLowJEDxfW75r
eQwFRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZxaoYqMI
oa+mNbdjnCVrdkN6ulLykBLpr+3RkV4fltHvApsgFiEEpo3wDrgvnEnCfMdyPF9b
vmt5DAUAAHTjAQDT118jtjM5WUlB96axrHiOSQlaYgNa1zYTWmf9tVHYAAD+LYnz
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
uqeYZXB6S2p/n1w9F/Wii3QO
=eBns
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdAoO8+HL5GUTPfyz/d40rN5sOrIyiN0759JSDL
bHaJGajCwAsEHxYKAH0Fgl4L4QADCwkHCRD1RXdYDdwXQUcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeMdimt54PIWNAfjbEYS/eKbLjzVRx9
DJ/TYkGmWt/v3QMVCggCmwECHgEWIQQ2dmIV/9L6AAsIBL/1RXdYDdwXQQAAAKEB
APggUKXhr56+IZ9LsVkOgHW2/0aH5muLRhPvqUUszHLmAQCMezbU4/7HDIXP7shb
ie72KYsHIUd6Hyheu8Z1KnTaAc0TPGNhcm9sQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCXgvhAAMLCQcJEPVFd1gN3BdBRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ20rwE0RuELAFifoMELIybf6acjfkpS4NNBldhCnRvH2AxUK
CAKZAQKbAQIeARYhBDZ2YhX/0voACwgEv/VFd1gN3BdBAADo5QEA4g9cAZivzmvT
ErH/IpJI4dhX5shlZRI2Qv9xus5jh7wA/1Ty1+vwKW+xKHWD3iQyX7OHgOgs8Xxs
13BnmdnrBbcMwr0EEBYKAG8Fgl40v4AJEAzFFYrqJfJKRxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZxDX4Ah0wP0scv/afi9ZC8kRxvfb4PKk
Vso7X1Q6PgUsFiEEQlis9sPI/OEw1uurDMUViuol8koAALg9AQCDrcrhR4ibGVlE
qVF7K9B7ilLXmIkxnSeY7UGEg7HeAAD5ASuHVyAZWl0qsqQOaQ9J8HnInHLiPuBl
b2S05mT37Q7GMwReC+EAFgkrBgEEAdpHDwEBB0BhTGhuqgfte8qqXVj9cokFyIKP
o+tIaBJyfmrSmR3TrMLACwQfFgoAfQWCXgvhAAMLCQcJEAzFFYrqJfJKRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZz6CZ8IqCzpV9UpMMBZ8
KWXa53VvQvyL00fuHNojgHczAxUKCAKbAQIeARYhBEJYrPbDyPzhMNbrqwzFFYrq
JfJKAAAnjAD+MrV85hkzDEWKklkU+N2KyxDdaeCS9Pzi3O5GFT7Vq2cBALVFPZ3C
IuWOpiaDuYyyJpk1n+FahXWpAW9BL/YPIC0DzRE8Ym9iQGV4YW1wbGUub3JnPsLA
DgQTFgoAgAWCXgvhAAMLCQcJEAzFFYrqJfJKRxQAAAAAAB4AIHNhbHRAbm90YXRp
b25zLnNlcXVvaWEtcGdwLm9yZxfYYOSFMomVtL5skilMSaOMn2WW2LbAO3+w6zjV
eehMAxUKCAKZAQKbAQIeARYhBEJYrPbDyPzhMNbrqwzFFYrqJfJKAAA1BQD+JBXw
zFPLSjH92zrVdrTDePshca+fswjyNc9tjK/+txwA/03TikGBEtk6bK/MoejcfXU9
XVVTRNmxoye12IBK1ooFwsABBBAWCgBzBYJeg9mAA4UBeAkQtpn8Ia2S79xHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn7GbtINRLvUjrvLrF
R9cBKzybR99vhw0gESVvCjih7jgWIQSBfCvhjZ/0j/5Y/zm2mfwhrZLv3AAAJ+0B
AMxLDAdUZc59+BoW5L1C/PM5FL5zaAAckESkzFkTJ1UhAP9QWISLxLo68gzhZSax
IkQWoP0F0vdKOcfCOt23ZwztBcLAAQQQFgoAcwWCXjS/gAOFATwJELaZ/CGtku/c
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ9l4Z5W3VusE
Tmq9xhfl9BVgUOQdlPpRzz451Ic8vgLoFiEEgXwr4Y2f9I/+WP85tpn8Ia2S79wA
AIRHAP0f6jIuoh7lOXdGEhEnWZj+innilEvmp+V0kJ3285E5nQEAqNUl5F3Hg2X3
dEuEssr/Pgvn5sdR1NElc5EqR+/EBwHCwAwEMBYKAH4Fgl5a+wAJELaZ/CGtku/c
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ4I00skye5d7
pZ0KIWyD115QKvhbGNHrtNMulOJ2Hu3JDh0gc29tZSBtZXNzYWdlFiEEgXwr4Y2f
9I/+WP85tpn8Ia2S79wAAK+eAP9KjlMmZIDxxzottt1mQc8Y3zvH7t/uesRqIKT9
cngP6QEA87TlF2kj9MkiMofNkmexxiulAaFymNZYJOGW0KgjYAjGMwReC+EAFgkr
BgEEAdpHDwEBB0DEi6mwX6qn/YTC84oGr4bTuwRn1WDnz9OikI9WiMHyRcLACwQf
FgoAfQWCXgvhAAMLCQcJELaZ/CGtku/cRxQAAAAAAB4AIHNhbHRAbm90YXRpb25z
LnNlcXVvaWEtcGdwLm9yZ01quOeePiRMNTRTj7VdVKgStFgdhqjm4jCSo0EpBQFo
AxUKCAKbAQIeARYhBIF8K+GNn/SP/lj/ObaZ/CGtku/cAABsxwD/Qy8RyAdrlZMR
twcjOgBYZMEcRX00IFmD9jMjctlmHKYBAJpZsK8fhjx9ZPxkbfYUNNsC3uCbeg2K
3IkgTeFktL0EzRM8YWxpY2VAZXhhbXBsZS5vcmc+wsAOBBMWCgCABYJeC+EAAwsJ
BwkQtpn8Ia2S79xHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Au
b3JnS70+bOjWWtpBTBTQoeBu7+ovIOVqnaRcOB9pwcVpFMMDFQoIApkBApsBAh4B
FiEEgXwr4Y2f9I/+WP85tpn8Ia2S79wAAKrQAP9OtsJ/QQoWL5sVHZNVhQO0B9zy
Lu306OfCPL98nLrdGgEAtx8UkXe6JZjXmwwVSOU9As6qGnlCJW59DK7MeOwkYQo=
=4JM9
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,146 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVbkCRYJKwYBBAHaRw8BAQdAaH+/6DIzz+NXGDKiN4u+K3I+rUVXaONd8bkQ
ze7aF0zCwAsEHxYKAH0FgmFW5AkDCwkHCRBNR4RuJKIMC0cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmf2zc+XyK0ZQAYfCOpb7b3BiXpnXtyJ
KPnC767t85nWnQMVCggCmwECHgEWIQSmN3R9z4dqf2yRSfdNR4RuJKIMCwAAgm4B
ALBhhqXjHxC7h+I2atQawZAEHlSl9pqBfc39h457mrcHAQCcZ2CO8x6tF28dMCZq
Rql8EPpOLNc/IJJIfARf5ChrBM0RPGJvYkBleGFtcGxlLm9yZz7CwA4EExYKAIAF
gmFW5AkDCwkHCRBNR4RuJKIMC0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmeNkv8W01TfJOmcJIcT1Jo3GaF7sTSEhxMWF61m0pi9pAMVCggC
mQECmwECHgEWIQSmN3R9z4dqf2yRSfdNR4RuJKIMCwAAP1MA/1R4S7Bnbw43pzFd
6jqyKnB2BAlnLl50M+D+rcpUmYLwAQCfsYp6H17mA9ncfjnqlMlGhdEuUiOexBeT
S0YFzzuKBcLABwQQFgoAeQWCYVbkRgWDCWeaOwOF/3gJECMVDY5ECGOKRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ91qLr3vCVdL+iEhYTmr
yBcVmdTVrPV5fJZbSCtyV8gzFiEERFgGLcc4iQnPdg5oIxUNjkQIY4oAAOKsAP9S
quKE9pb16oxk9x5bTDMaQLplJAPdyrEJ2e4lo94T0wEAmKZRxYT7Uzu+IsUkVAz7
i7mKwfjVWJXOGLC6VbWP6QbCwAcEEBYKAHkFgmFW5EUFgwlnmjsDhQN4CRClz6ua
njThg0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdus7Fj
seMD4oYDGBwTXdv2TcV3r9YCru5QTmiiGko7fBYhBL/FyhD7VaS3kOKh26XPq5qe
NOGDAADi7gD9FFEilzxTieekcjsDIx/whhePEBvaPIZTSP0xp6okEqUBAKrl45z+
WZ1RuJWwKFnHs5aWW9kEUZ8q2G1k3JIsRgAAzjMEYVbkCRYJKwYBBAHaRw8BAQdA
M+C2oUwMKATQ5GDzZyr6+Ahq0L4vp3+yYUpsfO9FCPnCwL8EGBYKATEFgmFW5AkJ
EE1HhG4kogwLRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
ZzuQwDu/T9jiZh+JBP0xr2zSWIFzlvXsv4og1FhoVvAnApsCvqAEGRYKAG8FgmFW
5AkJEPohf9OgOrS7RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ088wiutK0HP4KG04dySM3amS20IIDla7vjNzEN/+5WCFiEEzzuma6JgKmEc
Hf4D+iF/06A6tLsAAK0oAQDBOXkbDreV13FeUFYVAOfWjdbPxAldneL6PFP8w2BG
vgD/S/99svHkUU6mPDtrhywjnEBUKXJT5LOOUqCqkCKABAIWIQSmN3R9z4dqf2yR
SfdNR4RuJKIMCwAAgpUBAN2rlfa+99APs5MvnUK1sYUepjXuebVilWhLrUFqlI9+
APwK31pO+85zLKkp42IVt4EhrXayC/p/z8DS8p1K/sMJBsYzBGFW5AkWCSsGAQQB
2kcPAQEHQKhD+pwUzzQJaxPeGGfXt0R1fAqFGUQuhDen4dMxXXdVwsALBB8WCgB9
BYJhVuQJAwsJBwkQh5d91WiggjdHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3JnqLgibpltx6IqKJnPj69QMgJhBXVHGGW0bnTPEKvGkWMDFQoI
ApsBAh4BFiEEpiGf91Ouri3op06Eh5d91WiggjcAAPKKAQCEgaOUHXmeApUU7i+H
RIA2JLWBzmX/6QfS/bpiRMsdkQD/cQAoAsbAL6bJ1kE3umaQ96N5vZlgCrO/xGGf
3YjpvwDNEzxmcmFua0BleGFtcGxlLm9yZz7CwA4EExYKAIAFgmFW5AkDCwkHCRCH
l33VaKCCN0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmep
y68AVEyV420DRdic5n5tXnAiprtkSm28NB54y/ZGfQMVCggCmQECmwECHgEWIQSm
IZ/3U66uLeinToSHl33VaKCCNwAAQwcBAIxkttuJXQN3Stf7L8aMrzC6cFNy/vPV
ZcuwjRUnb3KaAQCy4nyf8CngMOR52SihJuIYmxmfzgw4pX7qxCLSnPtZCMLAAwQQ
FgoAdQWCYVbkRgWDCWeaOwkQdOMK4R/8+xtHFAAAAAAAHgAgc2FsdEBub3RhdGlv
bnMuc2VxdW9pYS1wZ3Aub3JnBopilGTk8JFw8A1I5jtWCabmpUXyYOiDWYPTFcR7
9GgWIQR4w4FO/Rbmj08atLh04wrhH/z7GwAAp+cA/iyMCQd1LE9k8yL+UzAWZaBN
e+UTmAtr7SV7IvHwTYUnAP9gDl5ItinDIrpYCd8lfplymVTbYMkRdtniG9JO7eJD
Ds4zBGFW5AkWCSsGAQQB2kcPAQEHQJtT+Y0O83XvZVBFM3LcY6MJlckVgNDXFvIO
dA8Lio1IwsC/BBgWCgExBYJhVuQJCRCHl33VaKCCN0cUAAAAAAAeACBzYWx0QG5v
dGF0aW9ucy5zZXF1b2lhLXBncC5vcmeqnIqGeUcQ8jNwVpF3W4WF82dFvGU/zKLF
5dPUZ401ZgKbAr6gBBkWCgBvBYJhVuQJCRDYp4FYxIeWaEcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeaihAM6q2h+8DW2EyyE69iPbiDhoFv
0AYUR+O+6apbmxYhBIZRvT46ffou/YXH39ingVjEh5ZoAAAhUAEAkKwKDMUlarGY
2lGZvBkzU8luxzuKlQu3/cA87OsXfBUBAONB4j5LWrSPvwsxybmBpUpqF3+IiD0M
mBA8neHNB2EBFiEEpiGf91Ouri3op06Eh5d91WiggjcAANYEAP9o38efTX5+Qaon
E51Y3MmCaDocoJ21IZpUyT8gywg6PgEAmYF14X5KFk7Bwxq7fGHWCqUW6yyNZFY1
12bp3haTugvGMwRhVuQJFgkrBgEEAdpHDwEBB0AQfHxzDqx7/ao9QkyGgwD2NpJz
xOkEgP1MwrKmsoQ5V8LACwQfFgoAfQWCYVbkCQMLCQcJEKXPq5qeNOGDRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ0HDcyPtCwcMGifee25f
Slij4dVg7rTurxms7gpqGzrrAxUKCAKbAQIeARYhBL/FyhD7VaS3kOKh26XPq5qe
NOGDAACpLwEA68JEgNJykk9BDlsm5DhkpUcUJ4u3/bhGe4zDcfpMQrYA/jpohnjG
Y63uL0GcTZX7kl4SbekdPCltxS3ChOcIZKIKzRM8YWxpY2VAZXhhbXBsZS5vcmc+
wsAOBBMWCgCABYJhVuQJAwsJBwkQpc+rmp404YNHFAAAAAAAHgAgc2FsdEBub3Rh
dGlvbnMuc2VxdW9pYS1wZ3Aub3JnSMts5qslr461NGFwtLxlCasFkkFAY7VnImfC
kR/IEbsDFQoIApkBApsBAh4BFiEEv8XKEPtVpLeQ4qHbpc+rmp404YMAAL4EAQD3
5MiCLW6l6tRMZ5OqnSyablMOhNUec+sSg252vVjbSQEA5bX0XcIY6Z1mQjSMqrDt
pBYjwnxilD7C7vIvRJn1vAHOMwRhVuQJFgkrBgEEAdpHDwEBB0CCAb04nnNCYQI5
V9qCddcl4z0dmcW/UPRltjAwmpa8ZMLAvwQYFgoBMQWCYVbkCQkQpc+rmp404YNH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnW0HXbOfdQLjq
R9NLn0aaOOUez00mZ3rk7DWy6VW8etECmwK+oAQZFgoAbwWCYVbkCQkQ6I0tUhU9
049HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnB90zq4VU
5wDk9qKs5azXTnAh47rNh1AjY6WOCqGG/UwWIQTzIi/hFCDtY+cazQzojS1SFT3T
jwAAlRIA/jTKCBH8yNK/ykalZG5ACDPBPrJNKQPnNTwFnWvg2tu2AQCsw7ip2oh7
mqjL49PomF+rPGhEV3loMKYkz9+QjT11BBYhBL/FyhD7VaS3kOKh26XPq5qeNOGD
AADbQAEArYsmGJw4Dwo6twaJFtggJflkk48//YvAaBEOxOPOd1AA/j058S94N6eG
Hz39MYb4VUQx0njs2xdXBsEep3rDM9gExjMEYVbkCRYJKwYBBAHaRw8BAQdALfVf
9BauRDDB6iwDVaajFRjTxgP75GBtk/9RZFvI72jCwAsEHxYKAH0FgmFW5AkDCwkH
CRB04wrhH/z7G0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmexo+Yx9r2mb/1Yw4vXviKgwfmcqvognkjtu0cIWmEEOwMVCggCmwECHgEWIQR4
w4FO/Rbmj08atLh04wrhH/z7GwAAktYBANhxlQ4CUZXEW8rjOCt0q1Phf+8bJZw+
Igh9//X2BKfEAPwKL4Ft3zFA5Ume9BhqaGod8KUWcE9J0BFwynS5GybPCs0QPGVk
QGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVbkCQMLCQcJEHTjCuEf/PsbRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ4DrzKDVHkNThJZ1ni6n
pq19veHO75YOvVfu4wHsFAgxAxUKCAKZAQKbAQIeARYhBHjDgU79FuaPTxq0uHTj
CuEf/PsbAACa1gD/b9VszOFwUi0WzOAnhDwcjx3SGvMxjzYl5q0KQ4RobP8A/3Yj
MP6J9agVNdgAjQ55AKoBKuHi6vj5FyEiqzrToC4CwsAHBBAWCgB5BYJhVuRGBYMJ
Z5o7A4UBHgkQIxUNjkQIY4pHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p
YS1wZ3Aub3JnSRoFNI/xXGObtsBltCrPTM4R5S/NVzFzsqoQZeq+aCcWIQREWAYt
xziJCc92DmgjFQ2ORAhjigAAFyEA/R4CZfUddfbS8BlzAfyB1gbPXRfikiZYJLNd
QmRm/hgXAP0TNzO/9QBanZdF9Z2xU0S/5Lsh1YQkiZwHOYC2P0niAM4zBGFW5AkW
CSsGAQQB2kcPAQEHQL/RWZkqKkgoi+ISxa4Xe+1fYO4qy1cEvysKqfqrb3wrwsC/
BBgWCgExBYJhVuQJCRB04wrhH/z7G0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmcJhc7p0i+9tw85fNaKm7qNj91V+tpPZGMNBZEkAkdptwKb
Ar6gBBkWCgBvBYJhVuQJCRBHdJ919AScGEcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmdwdxuUsjONWNrMohN2v4ALkRxP+I10C8/W1q/pefOp
fBYhBKP53nLiS1hxIHWa5Ed0n3X0BJwYAAB6tgEAjhMX0XDa+d9lbUdMMN/DN+H8
F1k7pLwJ4fsFe0+4ai0BALUHHKSzzDGDOPoLP+zOC9Gq75O+ufafnsjml3u2EeAH
FiEEeMOBTv0W5o9PGrS4dOMK4R/8+xsAAMw0APsFTwSwk72pvnhxUQN+44WIjsrU
vhU+D2wMyDaMzE5bYAD/QLcRVyiFqmG/4OlUxrF59keSFidQNgbTEtCOsQgcbQHG
MwRhVuQJFgkrBgEEAdpHDwEBB0B8CndciNB1AjIuiWWQFnSBqam+7w37Vcj8MDiU
LW5GCMLACwQfFgoAfQWCYVbkCQMLCQcJECMVDY5ECGOKRxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ0ByikUxPcOKNvRzSr45CYvnLgRKdn8q
W6agYa4rTRYTAxUKCAKbAQIeARYhBERYBi3HOIkJz3YOaCMVDY5ECGOKAACQxQD/
RFWCut0TPRH7mnceiY2teLZ71jknOXdnVeBzni1ZLRkA/j5cFvOCuYTX9MJ4KHq1
evQVBomwlOa44+dNKTuAvFgGzRI8ZGF2ZUBleGFtcGxlLm9yZz7CwA4EExYKAIAF
gmFW5AkDCwkHCRAjFQ2ORAhjikcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmdsqGOo8SmDGm5jInLe6PFuZHEaGkqO1Ma3JpfIdmVv9wMVCggC
mQECmwECHgEWIQREWAYtxziJCc92DmgjFQ2ORAhjigAAQvUBAMCEqGEV+2kA05i5
T5h7kjQQ8/sJQ7TRWwTK6iVECIFeAP4leATpefxH9mGaEXcP5rTMdbB0uFrTizTj
UdYVzx3cBMLABwQQFgoAeQWCYVbkRQWDCWeaOwOF/zwJEHkw6g+1SeMDRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ/TmkzcJv0uT1yVGXg/y
taVLzPqVDa58lLPG56pL59CGFiEEOUsEd0/asM2/TW/9eTDqD7VJ4wMAAGCwAP0b
ZgFBBNhySVQWZjiAKobvGPyBvLbPoA+LihqTMFZ2XgD+O2VyxDWep4wJs3RbBdg5
NY+/XushN9TPtHuQ+QYJygTOMwRhVuQJFgkrBgEEAdpHDwEBB0DREwhYj1q6Lh/S
wc3LMZ37/cK+NiYH9DB5ZYF1Bt6tjsLAvwQYFgoBMQWCYVbkCQkQIxUNjkQIY4pH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JndGFwhiWIzg1y
geDmmintSFwLgwNIrOPHX3u4rsbiH9wCmwK+oAQZFgoAbwWCYVbkCQkQ1XQADzMm
grBHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnjDWfiI6K
azfGQkxsXXjOVqdCEvdjNAqPHn3i9EqjygkWIQS2C/lhIz9y35SLlQ/VdAAPMyaC
sAAAMLsA/A34iZfgkQx0zFk+ogrRQrn1mIbupCzLAmuVO596XWiYAQD6yVTHSm5Y
dA5k3/l3FfjRIllLhGTR6e5NrBWQd1RMCBYhBERYBi3HOIkJz3YOaCMVDY5ECGOK
AABshgD8CCTDe4Tt6s/yZAINWDB8inYRVpdluQKLFiJtlDp965cA/RtkocoK/YYX
NCAnaCNxe17NTHEs8bdYYraQlPixXtoNxjMEYVbkCRYJKwYBBAHaRw8BAQdANuqu
M29TCnvdYslezgS9rtCki8Byv4EZKix1DT73E0LCwAsEHxYKAH0FgmFW5AkDCwkH
CRB5MOoPtUnjA0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmdYcYIy+4cmBFdmOKf05bCEtkP0955JBwk9UtwSVpMN2gMVCggCmwECHgEWIQQ5
SwR3T9qwzb9Nb/15MOoPtUnjAwAAkq0A/i78vqfCIR6DkxFhzo+BCQ/u0i1STYKs
XqlZGJbfJ0icAP48M9mffIVCh5R3VKoLt86yFw1gTz9avMB0brXNQnT4BM0TPGNh
cm9sQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVbkCQMLCQcJEHkw6g+1SeMDRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ5yDmsjHwAErziB9
ANGhUmNCKSk5zlM1FgpbhybsgqVjAxUKCAKZAQKbAQIeARYhBDlLBHdP2rDNv01v
/Xkw6g+1SeMDAADZIgEAqTPdfeml7Mf7TBMVOruIxhVheqBQGm9JhJShNq17ddEA
/1p2kpHURICnmevwAhbrmMFGM58gVWnHozYXYP+fYMoBwsAHBBAWCgB5BYJhVuRF
BYMJZ5o7A4X/WgkQTUeEbiSiDAtHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3JnggxRXeVcZsaBJZxbon1mKwMMlwJCGJLEUbSi3wKAxwMWIQSm
N3R9z4dqf2yRSfdNR4RuJKIMCwAAgfYA/ifYGjCujVHWTl0gCFUK5ViWQJ5RbxlY
HA9umP6b6kOxAQD2trs5sGuMLJe2YO5AVCDcIww54t2YEMPrexSk1JzsAM4zBGFW
5AkWCSsGAQQB2kcPAQEHQKBFNdp5UcVyRvXT50MGVh+Qd0myf3v2lHcYsBpRNItK
wsC/BBgWCgExBYJhVuQJCRB5MOoPtUnjA0cUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmeRPzLiOp0sIbe3g0DqsOfbZgeCkDsCyucoe/p5S99Z
xQKbAr6gBBkWCgBvBYJhVuQJCRC3rsfWj7h0g0cUAAAAAAAeACBzYWx0QG5vdGF0
aW9ucy5zZXF1b2lhLXBncC5vcmeSnxrVn3gu1Xao5ekixAASjrYE/3cVlI0/R3f1
cn7OCBYhBJI61uMFJzgx2MiTKbeux9aPuHSDAADxxgEAwypbJHii9sbOnEovqX2u
rmTrBEfRJx/bo3E/EJdYO24A/R+WGNLM0ARCOd4vD3e1Xyrbec4U9EJU56V8uQbi
srMLFiEEOUsEd0/asM2/TW/9eTDqD7VJ4wMAAOQFAPsG3AT9CSiKGKPU3qlKLdPw
Ku3zx4qTWYYPJudHWTsk/gEAsUYl499aTWPUNQw+MXlWtZ3DmHPoN/hFuIRpN0p9
SQk=
=0fqz
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,93 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdAOZf1PMJnbUO+nQT60QRUhTeBbKdySIPjNgD7
GNRgv+vCwAsEHxYKAH0Fgl4L4QADCwkHCRDyzTHcw9yqAkcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcl6AE3zGcslWKdoPuQSzdjGfPqWIob
xFF0jGqCur6wmwMVCggCmwECHgEWIQQwoYXqkxn/HQvL2/zyzTHcw9yqAgAA++wB
APSpW92nMY22RaJOR8IVLsNIWu01z3SqdMxRQQzC2ZIiAP9qgfD4McnCpm8vElcg
rqc6cDiQYYoUfc/m910Dr+ouDM0UPHRhcmdldEBleGFtcGxlLm9yZz7CwA4EExYK
AIAFgl4L4QADCwkHCRDyzTHcw9yqAkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmeGXMSqEwsUxD39MXW20KDU06oT+Brtd8blyQBDFUa5aQMV
CggCmQECmwECHgEWIQQwoYXqkxn/HQvL2/zyzTHcw9yqAgAAtbMBAMGX/72h0Ykz
McDChouOBYbfkMQcak7qb9cES2qpfnkpAP91ww0Vrj9WoVfNSDL096HmD2NUbGfQ
DGGC5M9V9+PwCsK9BBAWCgBvBYJeNL+ACRAG1HS/NqPU+UcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdrK6t8mxPYRdWQz0IqQ4oaMXF7gzDB
pd/znddCEVA2phYhBLsDM6mKBUMP9qeEpwbUdL82o9T5AAAIxgD+Kk7JShc8WpLl
sUdwmNlaRlz5pYmvxgR9rQvqhkANCQcA/1P1X3VK5lnIQSrsOe7WEbITG9lNuXKU
2Uz/4xMB1S4CxjMEXgvhABYJKwYBBAHaRw8BAQdA9WkYMaFswUsX3opdua5gBAhP
criyaNSif5tCF5jHdrHCwAsEHxYKAH0Fgl4L4QADCwkHCRBETUwPUV0mmkcUAAAA
AAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfjvR1RDo8m0ZLB3AQK
a/YtJb51f+AnUWM1oNBFDzIUygMVCggCmwECHgEWIQSAZm7dIaAI1GckPkdETUwP
UV0mmgAAcCAA/R9F7Y0GYylITc1ECNLMaIcmwOc8yaXrn+YDiDHkuu6UAP0Vubrz
Q/DCkEDNLbGsPP+lMe6bPFtYKAVbEoMbVzIqBM0QPGExQGV4YW1wbGUub3JnPsLA
DgQTFgoAgAWCXgvhAAMLCQcJEERNTA9RXSaaRxQAAAAAAB4AIHNhbHRAbm90YXRp
b25zLnNlcXVvaWEtcGdwLm9yZ2beqMdbitoXz+VKmVw7V6ZIv4TUSdmTcyWmeKo7
nTyFAxUKCAKZAQKbAQIeARYhBIBmbt0hoAjUZyQ+R0RNTA9RXSaaAAAqSgEA36ir
zWI/681kFX74wg2C6M7sCg8K85+0ImQkg+e3sIwBAPhidPbXY9gWqAgZM9vTXixr
gVqwI7vuR9V9WJGKIHMLwr0EEBYKAG8Fgl40v4AJEKrn6ewhKc7DRxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ/g/wVoInu1E/8bK1/7YXNkf
6Oy3XYTGPSgSkrY7iEKoFiEE2DMDVOmdtQNymmjUqufp7CEpzsMAAGOWAQDOaqko
aJC0DxZ7QFp/Ieas97uLpRmCaA+J5Rx/HyfIugEAzTb9pO/MMJCuOl+xgPQZEUj8
AzLMSE2kmMndFQjkLwXGMwReC+EAFgkrBgEEAdpHDwEBB0D0jqk7l7rRgdwwNfrn
3ZbEZgbhjF8O91oyhsXOPesR3sLACwQfFgoAfQWCXgvhAAMLCQcJEJX9idpwk7c1
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ3Rcl+RCjh0o
/H5fQLRkQIYMtKQFTdQIsVKxENi9rHanAxUKCAKbAQIeARYhBKbS9QsclUSnF7di
U5X9idpwk7c1AACAgAD/Sz6dF1CByyWYHhBHw67iAWak+VnHVUzPIIoRCBMgDkYB
AIidEq9bnteAebFOakl9594WW8lNAoTErFjlaChCZbkDzRA8YTJAZXhhbXBsZS5v
cmc+wsAOBBMWCgCABYJeC+EAAwsJBwkQlf2J2nCTtzVHFAAAAAAAHgAgc2FsdEBu
b3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnuVX+GAayIlyzwi5Jvti2ypo3IvPXOJ55
UGCISWw3yCcDFQoIApkBApsBAh4BFiEEptL1CxyVRKcXt2JTlf2J2nCTtzUAANX0
AP46MQzRJDT5SNsRGn+8yuBhkLTu2+bmPTsmawvCA3oMHQEAhc/lEnc1kWXB7qzE
wwoopfUlODi9ebBdSa+SnrlX5QHCvQQQFgoAbwWCXjS/gAkQqufp7CEpzsNHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnahxTPIZX7029U4hA
Vgxclj4TwRbWLMHBQLBUGlKyZtMWIQTYMwNU6Z21A3KaaNSq5+nsISnOwwAAZSMA
/ij1SXTosvpLLsFFo/rEcFrUxu2axaQAJ1jWDMFvvvq4AQD3PlpG7HQi/B/OlIKD
JoGJO+0w2ldKPbjWjfF3Ce3xAMYzBF4L4QAWCSsGAQQB2kcPAQEHQAe2oHGfeHCs
5mkpHNdf9Fi88LDgjcuHuWGPd+MFM7+nwsALBB8WCgB9BYJeC+EAAwsJBwkQ7sxP
DqA6XzVHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnU+4X
qoPgS7Oj9y78IedecQXwsW6h5ctZKo2WrlzreT4DFQoIApsBAh4BFiEEr92K7NmZ
9c3HAnsj7sxPDqA6XzUAAJinAQD5BN5XUt8v8jJMJ6CkdeZPnFk6Wh5Jf8r9OVlz
9Rg18AD/RALGVmUkBlEweAp4LCP7lESBtlPVjk1CCJlOp3hfmgHNEDxhM0BleGFt
cGxlLm9yZz7CwA4EExYKAIAFgl4L4QADCwkHCRDuzE8OoDpfNUcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmf131wcALU/1HtGCx8qRdVFaoja
o7uXexGi7DAqsImGCAMVCggCmQECmwECHgEWIQSv3Yrs2Zn1zccCeyPuzE8OoDpf
NQAA3dsA/i5N371rF14oHp7NYocUWlKwzXdwGGOz0smM2nwUzwlEAP0R3rohpkil
fFBcC10wR4QMn/I08ZeaZuQlkyFx8r8uAcK9BBAWCgBvBYJeNL+ACRCq5+nsISnO
w0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfux7Gg8Pso
8n9MCZx1WKPBVeO7j0/ynwszaVzhd+CN1xYhBNgzA1TpnbUDcppo1Krn6ewhKc7D
AAC30AD/dlAb2e1XfoDjWSc9mbHTyDtym8qerxlo4tYyQvzvTt8A/0/EuACwb1Qr
YVk/ADdcn71MxzjJeoDNDE8rIbgOV9AKxjMEXgvhABYJKwYBBAHaRw8BAQdAmmLI
sk7qu1r/h7chIjkEBZRbjM195krY8qYtH5ftmH3CwAsEHxYKAH0Fgl4L4QADCwkH
CRAG1HS/NqPU+UcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmeGmD9VnYFgjxv+eJx+TtzyjUW1Kl/BP14FQVUX1rdtvQMVCggCmwECHgEWIQS7
AzOpigVDD/anhKcG1HS/NqPU+QAA+58A+wSNmkOsWE72ohbwz2AzIlWfMQel/eyr
Tufs23JkCaQLAQCVwPWNHRJ98wJx7kCa+/f8eA5B8y8lKKB5RCiOmEpBC80PPGRA
ZXhhbXBsZS5vcmc+wsAOBBMWCgCABYJeC+EAAwsJBwkQBtR0vzaj1PlHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnO8+FOSuUMWxsv0R+/BUM
D8s2pGXTEDQLJU76xnWfuEwDFQoIApkBApsBAh4BFiEEuwMzqYoFQw/2p4SnBtR0
vzaj1PkAAPY9AQCvFMNq3lrk6P98SQNddi9caTD5Z5+3JKhvBFq/06zJGgEAonB9
WWEdtWALaWHAGOMAx+vK473w1ptZKBVOe+tJIg7CvQQQFgoAbwWCXjS/gAkQ7sxP
DqA6XzVHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnka4c
fTm4OAt8fRtATIOy3qu8ESZxJA/cBH+ZDQl/V4QWIQSv3Yrs2Zn1zccCeyPuzE8O
oDpfNQAAHMABAIgwupgj5z+GEU8tGdMoJ6OJJ/xMRxsMF046wNvCfmkSAQCdwSkY
tsLb0lDR/Fa836tl61ln325OS06VHg+Zcbo7DMK9BBAWCgBvBYJeNL+ACRBETUwP
UV0mmkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeXorz3
cfCZB9Tp7I/kCPstEmj7Aa4oCZvMvn0y7ob+4xYhBIBmbt0hoAjUZyQ+R0RNTA9R
XSaaAABDMQEArasCTRsEUzUnwcImIhYGmEKJ0od/hNcBnK5XcTao0NkA/2okHAZT
E00AV09CfDwwGzf4knKFl8+3fBAFpjw14zkHwr0EEBYKAG8Fgl40v4AJEJX9idpw
k7c1RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ/H9VxUl
5z5FVN7uxu0WGBcnapYwsSKO33rleF9Ks4NHFiEEptL1CxyVRKcXt2JTlf2J2nCT
tzUAAK4eAQDbUjPiVMjVn/o0GFZdNBvfLY6Gnph+gWSe0mHbwjbvvgEA/GwDrTux
yS9cK8B29mIinODgpFuzMA6fraXEDFS1NgvGMwReC+EAFgkrBgEEAdpHDwEBB0CB
TytVHYcFcqc7Ic1sykeo4gECebyI0DInAv2MC8176MLACwQfFgoAfQWCXgvhAAML
CQcJEKrn6ewhKc7DRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ1bvVt72dOrAw7oEaIHn3pPI6awAKRGajIWMDb2I0QxsAxUKCAKbAQIeARYh
BNgzA1TpnbUDcppo1Krn6ewhKc7DAAB4xQD9HVbWn8dBxs4bb6BDMFjLS1s/B3hG
SPAOlPRCo/+WvSMA/ihi7NL/cbRg6/UCSarY7WvMFvaOK5SumNJ8C+yNss4KzRI8
cm9vdEBleGFtcGxlLm9yZz7CwA4EExYKAIAFgl4L4QADCwkHCRCq5+nsISnOw0cU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcEwmnl4lPKyplL
ewBxCCdZar4rQBYHl6SRKLKyaubWmwMVCggCmQECmwECHgEWIQTYMwNU6Z21A3Ka
aNSq5+nsISnOwwAAXpoA/1sMbV5dBcQp2TweFJyzzBEM21MMOjfy9mAV9+sGRZhT
AQDmuul+UZED9aoUH8+PTXhKt98WtezANC7d3ELzLcy6BQ==
=Y68O
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,24 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdAMq4pmfuDPclWlLi906XRYrxhFbiseHw1R0T4
LRVdI2rCwAsEHxYKAH0Fgl4L4QADCwkHCRA3Xc4b7iZLh0cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdtqWVEun7iuWDWwSkTfLRSGVBBrjfe
tU12c5GzsR8TLwMVCggCmwECHgEWIQTc8wIKq3bsx/DlrA03Xc4b7iZLhwAAYLEB
AKlDrkhrb8PSWDDwArs0XzLQ/oqSq9O8LJfEQjTLVsIcAP9GR0LjAKD4euAkm0oW
Uu8k2XpQJiswhaVBCox8g6rkA80TPGFsaWNlQGV4YW1wbGUub3JnPsLADAQwFgoA
fgWCXjS/gAkQN13OG+4mS4dHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p
YS1wZ3Aub3JnHAp6oI4Uhh6h9Vy5oMbxtJpKno5Q1G9jDwG0rSYu5psOHSBzb21l
IG1lc3NhZ2UWIQTc8wIKq3bsx/DlrA03Xc4b7iZLhwAAeOoBAIeO9Aw9cTU7ci6s
z+CRF43UrbsWvglU50aC9wLHCTiDAPwIai76BkxZPdum1TByens01cKZpJnL21gG
ovdCPRrMCMLADgQTFgoAgAWCXgvhAAMLCQcJEDddzhvuJkuHRxQAAAAAAB4AIHNh
bHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ8jHVBIyDwh7Q/4NYsYL8p8zDSSu
uFcG4k8nv+KHwdXwAxUKCAKZAQKbAQIeARYhBNzzAgqrduzH8OWsDTddzhvuJkuH
AAD0YQD/cEfxZVcDA6fXMMRGwpijZthIZqDwhEQljhNn9tplaI8BAIwtYqjSOQf3
amQoLaTT3/p7KYtiKCPCnjcM/hpPhesJzRE8YWxpY2VAb3RoZXIub3JnPsLACwQT
FgoAfQWCXgvhAAMLCQcJEDddzhvuJkuHRxQAAAAAAB4AIHNhbHRAbm90YXRpb25z
LnNlcXVvaWEtcGdwLm9yZ6IPs0QsIO/jUq+/L/izJXUbL+dLztDhjjF86QHynW2N
AxUKCAKbAQIeARYhBNzzAgqrduzH8OWsDTddzhvuJkuHAABskwD/e+PDVDXj0GHn
KjNAmUjac64Z3m7PdozpRpjECBNDThQBANEAKAn8Vb5gUKI+cMApQE09gA34Vsvr
UFNBO6KIoyMP
=AQQ/
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,197 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVbhrhYJKwYBBAHaRw8BAQdApDGeJWbumY6ZxnF8xYsjU2Bb/WigZd+RuU+F
AUkBcxXCwAsEHxYKAH0FgmFW4a4DCwkHCRC4GA+/Y4L5D0cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmencVx+F2+jbSKeQe6A9FQAxu6phI16
qde8mghNFTjZDQMVCggCmwECHgEWIQSJx6n7cjanervk8py4GA+/Y4L5DwAA2UkB
ALT40u8fCX8BDNpRBTuqXGGxlEqMard3O96vXi32XVv1AQC5w/s+ekj/jMQj6XtM
bbd14JXORvBNttC6nBeK+hT2Dc0RPGJvYkBleGFtcGxlLm9yZz7CwA4EExYKAIAF
gmFW4a4DCwkHCRC4GA+/Y4L5D0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmcC29mSpbeG2glMoCx58yIWtOQruZsRfUp/Mw3C5XIfcwMVCggC
mQECmwECHgEWIQSJx6n7cjanervk8py4GA+/Y4L5DwAAX+4BANFvS4MUhpGWshp2
a/2oYyg2X4ts165YrB7Slhr4gKwoAQC2+zUty4B7UTuYdr8vCzwBXGgsXxzOV4Ym
Tyu/Jz7sC8LABwQQFgoAeQWCYVbiSgWDCWeaOwOFlngJEMRqQore+7L4RxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ62Q2HKe7AMWW4L8HWG5
eIStBVvQ1p5EkKDcE9KjrUAyFiEE6q4S+Y0584vw0bTFxGpCit77svgAAFSHAP9k
7i3tciQp//FdoTqyLZRLMu4vobeb7q7xapsu8S0g2QEA52q9FO0gf0QFtvBXEAdl
RTpoXquO+BdbMsf2jRytZw7OMwRhVuGuFgkrBgEEAdpHDwEBB0BcaNSn+RZEw8Ak
xWMwvX2CT3KWFzDNFi0JqZS4MLp64sLAvwQYFgoBMQWCYVbhrgkQuBgPv2OC+Q9H
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnT4Jbm69vT+rM
q1Q7rudKnnLVoBitUX+znf2+u1oVoCYCmwK+oAQZFgoAbwWCYVbhrgkQAeQK1/UC
Li5HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnL4S3uUNR
zzqCLSOAzvgMGN6MZFLocUxnt8Qkbd+O4AsWIQRYDow276egm8TzjwgB5ArX9QIu
LgAA0WQBAIXCzWUfyfbmkMRa7bJby7lJATXxAsi3f74j3hHGcLutAQCuPZh7fGRS
0cmUg/N+b3P3uTOxsJL/8cUPJB8gg0OyBRYhBInHqftyNqd6u+TynLgYD79jgvkP
AABXhgEAuamSBVrVAdKTgdL4fRO0O5uvHNF3vJQURSrvjJ6HpUQBAPj2Aq9b5WoN
YVjlV7eviyEyaWBehqa7Shy+IqYEJVcAxjMEYVbhrxYJKwYBBAHaRw8BAQdALaYn
2T27LyH5CAd39/hvyLUdnaUhKxBWzZsDu2ZZ3qnCwAsEHxYKAH0FgmFW4a8DCwkH
CRBqOYrJBR2cqEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmdWLIGlEwMyFuSeFKoLkpaEPiQEyg66CeAoiU8yVpMPIgMVCggCmwECHgEWIQRw
UHqQWKV/6uGMw85qOYrJBR2cqAAA5PABAOrGya5jbDCCfC0DiJ47NuAErBZwl5Py
mV2ngYCb2eIkAQC5ikanrK0KJq65oGgYgCrNJYEETgB6+W2zc0GcJbESB80TPGVs
bGVuQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVbhrwMLCQcJEGo5iskFHZyoRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ20FSQSgy89PEszL
/tmDEh6If7rebwkR7IWXCRv+GlQIAxUKCAKZAQKbAQIeARYhBHBQepBYpX/q4YzD
zmo5iskFHZyoAABcRwEAgnh3qAgPEZNP6IA9+Ve8R2r4dTyqdslZEXvkZ9dlF1QB
AO0frKz63dma3mlHpkXIdUgg9Xnccr/hRHW8dkD8L9kIwsAHBBAWCgB5BYJhVuJK
BYMJZ5o7A4VkMgkQ9VVB2J8n+ItHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3JnostzcAKwd5Wx1vfTR4S1V1FPJf3nje0qBjYNWBTl4MAWIQTC
+CLxe2jpRoU6Lc/1VUHYnyf4iwAAUmUA/jcdf7ecc9UlyxXuLhuQoW1vr6S9Bl34
AcJ5kmrmTW7tAQCUDt30mODaKM6AuIxqVKlACE1q1zc+BKSz2pka+clmDsLABwQQ
FgoAeQWCYVbiSgWDCWeaOwOFMmQJEPbMH4VEwIdNRxQAAAAAAB4AIHNhbHRAbm90
YXRpb25zLnNlcXVvaWEtcGdwLm9yZ7JwpSoT4hO91rELqeNrLhfcBANp2XbeBmis
ii5TCIRhFiEE6d+U44n1KfjvaqIj9swfhUTAh00AAJt1AQDtPRdiCNuDnXBRxPof
2iCZdOR+JUYejx2i/qgzvXNcMgD/STFSzcQJhV6QLjWU/QISWXo8E8V8Cy8ZQNpI
r0Gz6QjOMwRhVuGvFgkrBgEEAdpHDwEBB0AfP4Tz3zobgB9//171zG9bZrC9CZVl
8h1jO7pLP3BQNMLAvwQYFgoBMQWCYVbhrwkQajmKyQUdnKhHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnBedqa0s4V/iQnbNGU0HO0sQH1XUf
afVcAOdz7TUEbj8CmwK+oAQZFgoAbwWCYVbhrwkQFPV8kprGvHBHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnxVm6t4KNhOXpKwpnI9MUj02u
Ak8UxC8VPxA3gnpQ9f4WIQSxvyuZqOfYn1xmGjYU9XySmsa8cAAAI7oBALjsU1co
R7Wd7V0wOVQ4j7/7iZuHOX6nYCWrZ/I6I/MYAPsGNB3QM0T3ihauZ2tfNrnTFgq6
K96A6P0PqL6L9iZ6AxYhBHBQepBYpX/q4YzDzmo5iskFHZyoAAAlOAEAjCdwvrjv
uuLjLpVFnC0fb6Aok22nCkbg+SCmgkWD9PwA/37I6pcLJQVFI78f0MBNoU+Lq3CC
SQRq25ioi/gbA5AIxjMEYVbhrhYJKwYBBAHaRw8BAQdA6SxM/N8xKyeRszgKm95d
94JYsvktcNy0g3nXUBKQm6jCwAsEHxYKAH0FgmFW4a4DCwkHCRDEakKK3vuy+EcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeuc6XtoNAKdwPT
6zJSsiUxXfDkQFtwDZNPHBsCBdwyewMVCggCmwECHgEWIQTqrhL5jTnzi/DRtMXE
akKK3vuy+AAAsl0A/1ZUOQ5QITzOP4yFsv1GOxkrXbQG+empovfXtfUBXXOtAPsF
YB83QDt6LONNHVm+fePJ9ZycVjYFdtERTSQKjm4WAs0TPGFsaWNlQGV4YW1wbGUu
b3JnPsLADgQTFgoAgAWCYVbhrgMLCQcJEMRqQore+7L4RxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyXbheoBXioB1QVYqavomCXoa+RSjWW1
aJG/F4XECdibAxUKCAKZAQKbAQIeARYhBOquEvmNOfOL8NG0xcRqQore+7L4AAAD
8QEA4aziXbnbYjYWWHLUagviDOQg8sXcg0aWXymSwG4wir4A/A+7guItntm19lvd
TK3PQq/t0hpy/d3dotdH8e70IYcKzjMEYVbhrhYJKwYBBAHaRw8BAQdAOlHgjqE+
YEqtGlvJgGhjZnxPISAE0LsB+QBEztA6zHjCwL8EGBYKATEFgmFW4a4JEMRqQore
+7L4RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZxeCGZEP
FuRBZwKzI/3IU3nUD0WxB8pxL4mGVrNiLo9kApsCvqAEGRYKAG8FgmFW4a4JEM9z
2GXM1SbZRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyGm
/aGv2HagyE9f1QQXkKrKZz+d6PjiKHihqisbBTWZFiEESucngTqJ+wWSo+UGz3PY
ZczVJtkAAEyeAP9jJmbna0la/+KRpgu64gVK74Z0cDCnsECJWtzYTnrXSAEA4Htk
RQgaNvPp8IP6Q+M1M/9eF23KerGgehlyL9RTuw8WIQTqrhL5jTnzi/DRtMXEakKK
3vuy+AAA59oBALnMsnyYljJ8xLIBslT+22V/tNS9uHeANIrs8ygCdBMKAP94gfY1
Qg37O2w9FNpV0XcOKpTJTLE9KiC76Q3U4avqAMYzBGFW4a8WCSsGAQQB2kcPAQEH
QJJc3iRq9+TocM0C1K7nes01XeKACSB0RHOb2mYX5ZG8wsALBB8WCgB9BYJhVuGv
AwsJBwkQf1iqy2YdUSBHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1w
Z3Aub3JnUNdcqjgReoPyCGFJJZv4caHjpf31lPPzVhR5Rpjrc7wDFQoIApsBAh4B
FiEE8mBznj91U4nvwv7mf1iqy2YdUSAAALOnAP0V5UCvOFkQPl4KvGUPos/S6gGC
tOEnzuiDjMVeLNw64gD/QcGRJCFZ1a7MZ1uJUUHqvOx56GOuUcVmjyx9u6FqFgDN
EzxoZW5yeUBleGFtcGxlLm9yZz7CwA4EExYKAIAFgmFW4a8DCwkHCRB/WKrLZh1R
IEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmc7iFGTw4fy
FfDCApJALWtEAZ47+2muA3D6azqOk5ZJxwMVCggCmQECmwECHgEWIQTyYHOeP3VT
ie/C/uZ/WKrLZh1RIAAA67cBAMFADDnki7xWK/OOZhepRyq9gk4jpzR96vML+pNE
/8OAAQC8LQXbkBQM2qvG78eEFMs4Mc4e+DQppowfypdDzRDPD8LAAwQQFgoAdQWC
YVbiSgWDCWeaOwkQajmKyQUdnKhHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3Jn5uwefd6uzGLWkfjgNlffJpI5F2nl/CEDmXlnpwyr4t4WIQRw
UHqQWKV/6uGMw85qOYrJBR2cqAAAImkA/0GGVmB038E1sLI2EbMZ3JndqwnBhLCx
o45/1jKl+jqlAQCruvXP5mZrMODjVUtQ7IC2ULxzdbSdsSoW8O3zfweuDs4zBGFW
4a8WCSsGAQQB2kcPAQEHQP+7H9iKMfMAAlkby7cQI38s8QkqPRJt27QeaYET85IR
wsC/BBgWCgExBYJhVuGvCRB/WKrLZh1RIEcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmdcfA1xlLgC4lc/cLcE2v/h7gM1rPGVR288zcBvBJze
dgKbAr6gBBkWCgBvBYJhVuGvCRBBN/nCNanHvEcUAAAAAAAeACBzYWx0QG5vdGF0
aW9ucy5zZXF1b2lhLXBncC5vcmftKfntFsRUqwzMzSe6vDShrnokYwI31ZG5fjwC
iI99fhYhBHYEk2sUMFw7A4FyaUE3+cI1qce8AAD8MQD+N8KcMYxMqiMYgYi+YzMP
3bmfeTB2g+tsF8wEjjdn1I8BAO271sc8NrohDa1kEwbAXUCvyiYu/wfizt0pfm2Q
jmICFiEE8mBznj91U4nvwv7mf1iqy2YdUSAAAICUAQCfiu6uWBxhHlC2CqxE2eTi
V98BsL1/WjnPqo9HCVGdJAD/WxoeuxnPjFtilf2uBiSXJdYJ/DXBg89IoQOqRGCt
Mw7GMwRhVuGvFgkrBgEEAdpHDwEBB0B/D4WvCQiTAaInZWB+G3WCHP+cqiB0Hmtp
V0PQVe53XcLACwQfFgoAfQWCYVbhrwMLCQcJEPbMH4VEwIdNRxQAAAAAAB4AIHNh
bHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ7y/wenpgYgFJaqVgOLPzfSsjOnX
CFrrmvX9jXwcBuU9AxUKCAKbAQIeARYhBOnflOOJ9Sn472qiI/bMH4VEwIdNAABt
4QEA3Gj11emHwf+jJffFTjQ6E6dkHT9E0UDaN6mB3gHKPSIA/3YLvFCMsZoPINj6
ekQ7B3ZNStR4fixSZzZCTFZtM4EOzRM8Y2Fyb2xAZXhhbXBsZS5vcmc+wsAOBBMW
CgCABYJhVuGvAwsJBwkQ9swfhUTAh01HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMu
c2VxdW9pYS1wZ3Aub3Jnl2avyAxrpOWHfvQEo3fMm8w0Fjgid02o8sqBxgntqSoD
FQoIApkBApsBAh4BFiEE6d+U44n1KfjvaqIj9swfhUTAh00AAKVRAP90g78im/+0
LE1K9Y8NLwbixkaNGEGw3QmWe8uY6PwS0AEA3rsZxaLaf8NPg/GN8Bx85JOY94IR
kEkxq5CAe5YC6gbCwAcEEBYKAHkFgmFW4koFgwlnmjsDhTJkCRC4GA+/Y4L5D0cU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcWMiJlxdSvT8cy
fk0XbJb/iomyL2Gc8Zr7bQoTCWF6pxYhBInHqftyNqd6u+TynLgYD79jgvkPAABo
nQEAqq+gNBQh798TBbwQfpB26hzG8nfuQDhNAT39X2RDK88BAI39l3KdTgizfMoY
D/SrtR74n7sJj5K1X3iC81UyF2EIzjMEYVbhrxYJKwYBBAHaRw8BAQdAADs8tRHr
5OagoiK4ASpSB67Y2v5SBGqqk4stZ657FpzCwL8EGBYKATEFgmFW4a8JEPbMH4VE
wIdNRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ68jzW4s
DOWc2V25SjRM2JXIcneamwieOeRea3q7vabaApsCvqAEGRYKAG8FgmFW4a8JEMbj
DdFxQx+aRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ93v
6aWy3IdviG4enjhInUc0DPHy/otbEksuWQjXZpDqFiEE/MHBBgaxbtfyVFW1xuMN
0XFDH5oAALJnAQCuwbICo611Y0Mljic7J7LPEUtRJSooT4Q8OxCq9SANFgD/afIn
w+t6gd3eWCo7cmc75usxIBlhLmpRchooU5RV1AwWIQTp35TjifUp+O9qoiP2zB+F
RMCHTQAADgoA/idW/v1P+BD+3d+YGd1OghZ0qi5jhFTDJIROomwvEh2tAQCJ0dbj
/Pf6e+dXj8z01r0mBnLTGD0jt1/8wmn041VyAMYzBGFW4a8WCSsGAQQB2kcPAQEH
QNc2197bZGl4d3T43cQDLzcA06wSqSxXxBVwabwJLnFYwsALBB8WCgB9BYJhVuGv
AwsJBwkQd+i1S5NQwIJHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1w
Z3Aub3JnX/hYftTNr1GYMT8Ueu3khAWpI5+5AD23ry/EWd9hpuQDFQoIApsBAh4B
FiEE2N2niiKXyjw1uTd1d+i1S5NQwIIAAMwTAP0dPiQXja/3T6P7BbdQ9bPDx9Pt
H211+mpwf/ciq+B5zAEAiM/bt+LtBTw1x3Ck60n3/OVTqwFNmAEspo55nuOQlAPN
FTxmcmFuY2lzQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVbhrwMLCQcJEHfotUuT
UMCCRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyfPV6B5
eXLapYJrG+p7ooFWjpvNylKR+A2nHMH4sq50AxUKCAKZAQKbAQIeARYhBNjdp4oi
l8o8Nbk3dXfotUuTUMCCAAAE8AEAnczRfTZCwnyIfTdKoRA7cbBshVpYJ6/1IeUa
zHxalIMBALJ/APTrXcLTI6uOBVDQwy7NZLj615OqSFAYNfdHLrEBwsAHBBAWCgB5
BYJhVuJKBYMJZ5o7A4VkeAkQajmKyQUdnKhHFAAAAAAAHgAgc2FsdEBub3RhdGlv
bnMuc2VxdW9pYS1wZ3Aub3JnEW7isi6YSTQapXFFs3Uo1V8KMPvyvYhAxLs8tNon
TU4WIQRwUHqQWKV/6uGMw85qOYrJBR2cqAAAU8IBAK8TpcClv2ereTTb2/opFghU
IHs/hFGXo1h5YporG7+qAQCYX82VesNXnjuJ1nhlLHXgNZgrxu8jIbPTu0JTCJKC
AMLABwQQFgoAeQWCYVbiSgWDCWeaOwOFyEsJELgYD79jgvkPRxQAAAAAAB4AIHNh
bHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ+HzwOYddmBwY7DPB8kiknecYe9y
7ELRgtLeE9CUqOX5FiEEicep+3I2p3q75PKcuBgPv2OC+Q8AAMyYAQDWvJGadKD8
pbFgxXW4R/Fm7YLtsbh6lvJrnwCw+MtKCwEA2PsY3Kansf9lz/I6QDJwZcF7ZZhG
z9U5itMU6vpcdwXOMwRhVuGvFgkrBgEEAdpHDwEBB0DV9xSxvsZQF6p2EWhMw7mN
ANIUC+EmnaaPy+aiK88pTcLAvwQYFgoBMQWCYVbhrwkQd+i1S5NQwIJHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn76+ePXSyFOzzwjfrvBTY
EsecwcZEjeWO+K4nZlGhkh8CmwK+oAQZFgoAbwWCYVbhrwkQcwOHC+NYNHVHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn1bSzTIoF7zmjYJy7
pz5qYl6MndPVhTXHoVvjMLO+wNkWIQThMYqmz0A1xVcqk0tzA4cL41g0dQAAC1QB
AOV8ZbKFAPhglJPRrxIr9MKU6XWqiXFg2AksVfpGkUzrAP999x4Mf/cLpPZka6Xu
iOToxTcmWcMudEyt0Q4otqSpBRYhBNjdp4oil8o8Nbk3dXfotUuTUMCCAACp1wD9
Eva0CRkJVCMSwKHwXot+xwRdE3Uf5/qzgdxGdVTWgQkA/0HoMsYlGtMmjl9vCiaP
+0+s7YAbGoWwB4Tz+bEiS3EOxjMEYVbhrxYJKwYBBAHaRw8BAQdA26TEGUWRrHx3
+AUSSm8gDNqYpplXecxxrEkt24SlnUTCwAsEHxYKAH0FgmFW4a8DCwkHCRD1VUHY
nyf4i0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcme4msA8
NyDnZiYYylXxQnxQihFYognbKK8OE0WT39lITAMVCggCmwECHgEWIQTC+CLxe2jp
RoU6Lc/1VUHYnyf4iwAATF0A/1QlTJfFLjCR2qSsEhspGC9F6Qy/nVHu70O1nATW
Q6YIAP9z+HoohmBcTKR3SytmdSDI2m3fZtehHaAVlAtZJiJaBM0SPGRhdmVAZXhh
bXBsZS5vcmc+wsAOBBMWCgCABYJhVuGvAwsJBwkQ9VVB2J8n+ItHFAAAAAAAHgAg
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
9EdBQqd2NLzHeOeWA6AJMLqi264QA3QC
=lFYI
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,103 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVRZkhYJKwYBBAHaRw8BAQdAzeGwyohsu3DK9/4Xoh4c1KntuR3hVrvm7+u4
fk8yRILCwAsEHxYKAH0FgmFUWZIDCwkHCRCHNPEZRTE5BEcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmd6xwrHuLcVvxn+o1Iu2waphLsvc6rc
5BrY01wUjODfWwMVCggCmwECHgEWIQSFMwQDHnsLEWu9CzmHNPEZRTE5BAAAMl0A
/2fMrxf9xgCw9VcXd39Wdlm9W9lYISupv7v6XEZ01frSAQCOnHWBktu55OLupXeN
lN8qwWPM0w5Pnatgs73FGsl7D80TPGNhcm9sQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCYVRZkgMLCQcJEIc08RlFMTkERxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ7lmOA6JXZdVP5VrO7ukqfsTjkPkX9pObKZHwyQSQr+oAxUK
CAKZAQKbAQIeARYhBIUzBAMeewsRa70LOYc08RlFMTkEAAAKvAD/d/qJ8X3UDJhb
PhbK4i/nfye4GMs41YFuq2Y3+VPb/yoBANRbQGpkfkvx53WuPAAoej8ZHd8P9nzx
dq2A2BsDEjgAwsAHBBAWCgB5BYJhVFnOBYMJZ5o7A4UCeAkQtcwERzqogSNHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnIkPSXi9MzNo/0CTf
c4ww20VS1Tz8YwJqix7XZSQlLcQWIQRyyqDwpKAg9fogzYy1zARHOqiBIwAAqZ0A
/iQZQ9w9XoEwvE8F0J9NuaqHY9Nae9M3yiJ85FBWMOCTAQDBOP+HuK1tZ3wOmM+v
SDyF/6hXZgK7aPNTTt5diGY0Bs4zBGFUWZIWCSsGAQQB2kcPAQEHQC2+5enH3Xor
xdmDb48V77yrZhnKLRWVR3mOyaqDe+9uwsC/BBgWCgExBYJhVFmSCRCHNPEZRTE5
BEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeNnXXp48tf
MtER69A+eXlypKgEEQUC+s+64fHZILnc0AKbAr6gBBkWCgBvBYJhVFmSCRD7aTk5
YtWk+0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmd927qr
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
vAW7AaKvesAeMw0=
=uKNF
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,103 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVw2ohYJKwYBBAHaRw8BAQdAPDd3I2+R3bAADmF/2PZ4ajvrV6DQCJ+8T2pi
1t7SMITCwAsEHxYKAH0FgmFcNqIDCwkHCRCs4gVdYQzqA0cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdPNo7mSILVpMZH+6YeEYEB4H0rcL2D
8PCsIdNzvTOmhQMVCggCmwECHgEWIQTBvGeUpsYoG5aKakGs4gVdYQzqAwAA+CwB
ALYuoR7L6HP4Nf0m0rflgh9pbKUhs/l1K9VQ7tcqQnpRAQDhfmNcnUzyuH9FVjXD
g+QDnmUAuS4f2RpGom2AT2FUDc0QPGRhdmVAb3RoZXIub3JnPsLADgQTFgoAgAWC
YVw2ogMLCQcJEKziBV1hDOoDRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVv
aWEtcGdwLm9yZ+0kXWrRCp7lt7AWDWXjAjZ89TIh+/8jFsWZp+iUiHa0AxUKCAKZ
AQKbAQIeARYhBMG8Z5SmxigblopqQaziBV1hDOoDAAAtHQD/Vf2QHja6xjJcS0BP
LYVAD2CRTEb/bEoVEk1OVcMCFnsBAKz/9hHy56r5wnfK4ENbqky6vAhZ/8//MVSX
k2M7r/4BwsADBBAWCgB1BYJhXDbeBYMJZ5o7CRDngGTBK215AkcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeYN8US6eODPR7kfvRjoEeW3mtP
yt1ds41mtzt5Tr8pXhYhBJyjaQe0b+e2ue6WAeeAZMErbXkCAAAw2AD/UmzUCuml
9LvE6S/7LVacx/3lpmaDba7xNYGKpPoWTHkBAIWqEIB1CFtWsy8v6q1N4CFW4pQ+
AzCwMiPR0k3ZTqsDzjMEYVw2ohYJKwYBBAHaRw8BAQdAgEfyWpL1gySc4IgW+p4N
gkKLx+LwzzClMDZuchXJQITCwL8EGBYKATEFgmFcNqIJEKziBV1hDOoDRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ6IwMNVICHbYLCcFpj/W
Y7EUfjH+eSXwIVexGjabK6SlApsCvqAEGRYKAG8FgmFcNqIJEMIjwc6epbKuRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZw0Rzg97+q1NxZao
qrLfl250/8b7ZccLPPa/K5z+BrQrFiEEjFhBRy/Oz8ttpwUvwiPBzp6lsq4AAKvo
AQCLlI1xvjAUZSXe8w4mbUGwU98O/F/ywfHrISK3PjXaDgEAyCMaYNSmPjXLzifi
WfHdZj4+Bz/avutycHKYfd+wsQsWIQTBvGeUpsYoG5aKakGs4gVdYQzqAwAAposA
/iHyiymQfsw5RUiuLNm2AWHrRqJ7GRyq71G1zfKu9zmlAP9bbTEKiZ5fQr1Drpg8
eu7RTEkOzsSGeT4sz+dBFi3PBMYzBGFcNqIWCSsGAQQB2kcPAQEHQEcJfUQa7RKp
hDEGVCDy70vjMaQfxX9KTZVABTVlZE8pwsALBB8WCgB9BYJhXDaiAwsJBwkQKzgl
3AKgX+pHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnto9D
1Hi8CK1cyPuJJofGYM0OTk+QggZrd5AtHhLQF5gDFQoIApsBAh4BFiEEKipKI6fu
wRm8C0ZkKzgl3AKgX+oAABzmAP99McELRS3IpQA++u4GWKJB1Uu07K0oF/tEz8pW
wlwmowEAnsndbSaeB89gh/KsrwArxqo+hRW1+ytUamM8M4oTOwPNEzxhbGljZUBl
eGFtcGxlLm9yZz7CwA4EExYKAIAFgmFcNqIDCwkHCRArOCXcAqBf6kcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcu384BpSI7+RW4Z4Tf24jl
Gk8i9oh1sG1KWx2fgyXFZQMVCggCmQECmwECHgEWIQQqKkojp+7BGbwLRmQrOCXc
AqBf6gAAOP4A/1mxJe3A1TtOS5vaQWPL0I1Jtysz+NVD97QR5bZiBBAkAQCf8Z6f
JME9XnWX8TKVo8lhzqubnZkXbzfU/7+yhcvNBc4zBGFcNqIWCSsGAQQB2kcPAQEH
QImCfiaNMV+cNBvT8k9cCBogjQI+RpOSkF3Pd5ie2IW6wsC/BBgWCgExBYJhXDai
CRArOCXcAqBf6kcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmeXRpEVGcRepccZOhKbeWLIxCpnOXX7x9vF8sIvDdOGpgKbAr6gBBkWCgBvBYJh
XDaiCRAmJwxe8t01VkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
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
6tVijMwJwsALBB8WCgB9BYJhXDaiAwsJBwkQ54BkwStteQJHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnjTc2/TQ7sXs9xg3bTbFCM566Io1a
yY+iMHugCLjVapUDFQoIApsBAh4BFiEEnKNpB7Rv57a57pYB54BkwStteQIAALEm
APkBGsLA1gIGyoiHsZBoSMlpM8YzXLyycTmrh8wXbvKOMwD+MLDwaK/Lk2iWP2XR
YkvjL7t28PRW5QntfmbdeYo7LAfNEzxjYXJvbEBleGFtcGxlLm9yZz7CwA4EExYK
AIAFgmFcNqIDCwkHCRDngGTBK215AkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmfUhcm0SLsYBE2Fo52dDQlwfeR9kewpQ30vU6/Jmt4fiwMV
CggCmQECmwECHgEWIQSco2kHtG/ntrnulgHngGTBK215AgAAl9YA/1ZkLO/pwSMp
LDoVIF0mwxmdt8dM4w2OhyC/2YQDz3ucAP9jcN+hyK5VOQSFP2aVgpuOYKdvCY8P
BmAORyXrthQMD8LABwQQFgoAeQWCYVw23gWDCWeaOwOFAngJED38FRq/rYXVRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ+NLCfmOtfrpdDHh
XaJpTr+FgUarTg/N8eB2cGjp3dasFiEEAxgmEbkbHn4guEjoPfwVGr+thdUAAFmK
AQCAe4NyivnvivrzigfqLsw4kFT0qT+bPmLYKex4S2/exQEAs+uZA/9XLtTsh4vd
3F12bsN70ocR3hxUOHdp98pHIQ3OMwRhXDaiFgkrBgEEAdpHDwEBB0BbMrenaGBh
zwHw0/KNbeIfo3xOGIw7gS9XQoPUg0gRAcLAvwQYFgoBMQWCYVw2ogkQ54BkwStt
eQJHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnJkfw7t/i
0OgLq7OrweNN1Bl6R4k5Hq6+U8l4KREVKLcCmwK+oAQZFgoAbwWCYVw2ogkQ0VOh
kefqDZlHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn5Aqa
ybGveCfZO7Apy9LAnV0tTB4f6b/VgeJXiXc5KnMWIQQVTST19kFQCy0jRXbRU6GR
5+oNmQAAyNgBAIQDCVx/z0hDZXNw47jcyoY8UVtDA9e7Oo7QdIIPbXzEAP9/MRy3
ivHBtoqskLALcDwOpK6r36fDEAYfXL6FUSn8AhYhBJyjaQe0b+e2ue6WAeeAZMEr
bXkCAAD+iQEAwOh/nX9ibmwd74yJqe2XGRPkW/hJnL+hBjA0bUksnVcBAImFwwWV
0VVaM7ese03qfeFrCrATp2+BuRjWPB4rIFYC
=tJ73
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,150 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVw7LxYJKwYBBAHaRw8BAQdAIyDryhHnCv0cRrufsE4DSgNUzf8h2vguogNv
LoNw+BnCwAsEHxYKAH0FgmFcOy8DCwkHCRBA+KAUHfJ46kcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmebEHkcRhKfvuXoxUTNrhFtz7/wO92r
d7ZHOWqZRO//BgMVCggCmwECHgEWIQTxyZxAGYN3A90XxFRA+KAUHfJ46gAAjqwA
/3xmhxa5BKv1xVd6gnSaPeJDOHjFiBiFjQF2u/SZLCanAP4o97ogoXbXVXilGXMY
ZBKJOgf7hGMdtqWoehFAXD5uDs0TPGFsaWNlQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCYVw7LwMLCQcJEED4oBQd8njqRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ6rzGhaXu9mJHzXRqoHiBxzL7xhLknGovA2bo04yEmIhAxUK
CAKZAQKbAQIeARYhBPHJnEAZg3cD3RfEVED4oBQd8njqAADaWQEA1ZZZr6SuGluc
76SuirpN0Pn/xM8FGzJM3YpfnTNoQ3AA/3PXe3BcXzkpGU1nIkYUrQPBcQ11zqkD
duLxV7MNFmsEzjMEYVw7LxYJKwYBBAHaRw8BAQdA36fJe5uw6sDJi7Gg570A61wL
xi/aaeS3ZIda9KxzfarCwL8EGBYKATEFgmFcOy8JEED4oBQd8njqRxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyn7ff5e3BXFZeS1PUtmzxwR
iQv+v6LUICPfJoO1pZeOApsCvqAEGRYKAG8FgmFcOy8JEJgiRHhhsA0gRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ8VX9AiVPRqrgmwqTZ8Z
QmkTMzh1AkFn+jocsjBbcasUFiEEcqaq90zQpalQVdOHmCJEeGGwDSAAADLUAQC9
I9WOIrK2lEJfjKDoG9Ahkz9/hSzR/CQwK/9CSVeiCQEAjEIb6O0VktpN88YABLxF
KBHzeqppuDL/bFt2nc7brQEWIQTxyZxAGYN3A90XxFRA+KAUHfJ46gAAkqQA/07+
+DkgANW4N/oCmYfn6r1ebgOU/Hpg1AjZ+qLXJYD1AQDRuxhBw+qkVYvmB22z24hQ
8erXvRgQj2WkDzKL6IxDA8YzBGFcOy8WCSsGAQQB2kcPAQEHQFf7UtrsNcdD3caO
64dTpac9KYyR6KbEv6LwP15/VjkbwsALBB8WCgB9BYJhXDsvAwsJBwkQxzgv1ihc
GPBHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JndkeHXkqW
dLQf1scTYWce8AdkW/C/SosZ1phhknPvAAsDFQoIApsBAh4BFiEEYsV9kNrSU96g
HVqGxzgv1ihcGPAAADWFAQCORCF67zFuoHc1pcP445w0m0Br28vhK5dE+gztdpHk
dAD/cajZ4shmmLZhrKUZGzbWUuuwknT7OmWdCHaUcrhuJgnNEDxkYXZlQG90aGVy
Lm9yZz7CwA4EExYKAIAFgmFcOy8DCwkHCRDHOC/WKFwY8EcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdOosKM0EuwOie6/qnp4Rq8hDBrTDki
FiJZ0byBUrRn9gMVCggCmQECmwECHgEWIQRixX2Q2tJT3qAdWobHOC/WKFwY8AAA
a4kBAKqN8sVPTul7Mr3D8zR2cK40ABq5H1LOIqMQv3VRuYPQAP9m9ENyyMK2q24n
pwGkbMI82EWrNlPezsR6CX7sOmrGBcLAAwQQFgoAdQWCYVw7bAWDCWeaOwkQ7/ZH
fT40jXFHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn0Nzm
M8fdfd0x38KrY0K3x+k9dEPD8WYPuED6ViRZh7IWIQRvgpFChCCrU1drq0vv9kd9
PjSNcQAAC4wBAIOeQBmNI7C4dVPho7W4j/24NITB5iPnZhz5AXWqHlLOAQDV30ba
JqwTp2YuMdXzLcJZcbR4g8J6TkJ9ryF3XzYyBs4zBGFcOy8WCSsGAQQB2kcPAQEH
QEEF7A6+KRKngK6vzBF2Iw50MAx1dQGyumu7btTdivuowsC/BBgWCgExBYJhXDsv
CRDHOC/WKFwY8EcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmfvlrExrsc0mxi7yNHFHNddHFUDx/KpZ/goN8MoYd/NnQKbAr6gBBkWCgBvBYJh
XDsvCRABrHKY4dzSakcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcmeOR43iKs6y+xnfczlKmqKsF75Jm0BMc4Lbmz+XH+UOghYhBOC2plUY2qJr
r5XDLgGscpjh3NJqAAA3NgEAp9elQa8+X1NdcGn3joBG5SX/xfhfi85HhP2ZnspH
NCMBALneMvxuRj6T0gzh2Fg3TzuF4VjUduBoidkYZKJEkOsPFiEEYsV9kNrSU96g
HVqGxzgv1ihcGPAAAP9nAP9hge/R2WIH3ZZ1Oan08t17lIFtxRxlX53T+WB8gLLX
owD+L/e3jstgZZxOmiHpv+QAFSmtvVyW5E/yA+LTEfcYtw/GMwRhXDsvFgkrBgEE
AdpHDwEBB0A881dSIh05SjlDy/tkjV0wohfiWDYeXLuMB9l6kjiPUsLACwQfFgoA
fQWCYVw7LwMLCQcJEO/2R30+NI1xRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ9Rf2SR70BOzcN9N6xtSKdpDCVrcq2GaUmPO9bSYLYaIAxUK
CAKbAQIeARYhBG+CkUKEIKtTV2urS+/2R30+NI1xAADyHQD/UJW3EAXhev3HcJot
SvzXgF34SwG6VGTmQ3wfM32IlrYA/19XEU1hXCbjgVcLhbq6GxoSSoB0t+KRkEyp
VifQfxIHzRM8Y2Fyb2xAZXhhbXBsZS5vcmc+wsAOBBMWCgCABYJhXDsvAwsJBwkQ
7/ZHfT40jXFHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
uoHfw/ZDlQm1GeAifFgG/VtrZBFLV7MTLmjS/nwI8+0DFQoIApkBApsBAh4BFiEE
b4KRQoQgq1NXa6tL7/ZHfT40jXEAADF9AQDf8JjBMapdY1CexnjT4Z9KdwOx34mL
0hdML2FOkWcejwD/cvid69hS6BAv28fouue1z4RDoNQ/2EvK30JyZOsgSQHCwAYE
EBYKAHkFgmFcO2wFgwlnmjsDhQJ4CRB3szLkERRWy0cUAAAAAAAeACBzYWx0QG5v
dGF0aW9ucy5zZXF1b2lhLXBncC5vcmf0etZmDtWmQi+vtRfyHmM4M9c0aZioL8x8
4LlLWTCcJRYhBFUoueXa/FGe0uN/A3ezMuQRFFbLAAAdLgD3W/pSxErms2P1Ew+V
/HYoxr/tMV8z8DS1fta8E5Gb8wEA0J5DyUXLL5BvsUh925TiS+U49zMorP2Gj8hj
EVQdCwjOMwRhXDsvFgkrBgEEAdpHDwEBB0BrmR/IH2qeJi0iFAbimQQJWeynEVpg
LxCmXkklEoLvwcLAvwQYFgoBMQWCYVw7LwkQ7/ZHfT40jXFHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnkXBf3P7eJJ+sLvrPB0modP9Zqcwr
GP4mC9oaFEqiK/gCmwK+oAQZFgoAbwWCYVw7LwkQ+UG8hD57VgBHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnNvMYjrc9iG03yPPEagLgU8qT
fd7+1N/UeT7kONbqb0gWIQTkTvowOLZhDN9KT7P5QbyEPntWAAAApBMA/jKglIgk
Nq29pk/ZUsy2ydx4K4ConGWJmmlMQljgvhJ4AP4lSYJXNQm5DSFWiH4ohxARu2Av
2Oe5mCf6vyNh6MSEDhYhBG+CkUKEIKtTV2urS+/2R30+NI1xAACNpwEAsYBB30Oc
O2Hi5o8vhO7XkJFA+c/3G/ck9hxynz+HgGkBAMIAjwJ4Tw0Lwn99nka5WcPWE+8E
bx2mUiGuitDbwWYOxjMEYVw7LxYJKwYBBAHaRw8BAQdAEfjVcN97e33nOlZlcVeq
D/Qd1c3JHn0Ixro9D45D29vCwAsEHxYKAH0FgmFcOy8DCwkHCRB3szLkERRWy0cU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmf/WrI/Pu4CPera
wA4RU97PdOPkIW7DQagBB7pRkbGXuQMVCggCmwECHgEWIQRVKLnl2vxRntLjfwN3
szLkERRWywAA50QA/1Jnw+pWYgjPcWQjcv2MUiowLD9G3GQ9OtLmB0LWAD0pAP9Z
+WGHraSzX6R0FbTCPTVy3ve+sCM0CsBAUPu4+xh7Bs0PPGJvYkBvdGhlci5vcmc+
wsAOBBMWCgCABYJhXDsvAwsJBwkQd7My5BEUVstHFAAAAAAAHgAgc2FsdEBub3Rh
dGlvbnMuc2VxdW9pYS1wZ3Aub3JnyHe3qxnnB2maicyjGH5rJcHZItL981PbfICu
/Dfp7fEDFQoIApkBApsBAh4BFiEEVSi55dr8UZ7S438Dd7My5BEUVssAANYaAQC6
6zF39XZW0ecSzPho8wZvrmkVq+tj6twPcSbmDrMTAwD/WG+rvz5DbbDWnGpfofAi
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
VaHUP2GjcbiJK8DC5VnFY/lYJZvCwL8EGBYKATEFgmFcOzAJEBjLK9plRl8DRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ4z2SWv5L2JtFSDk
5vbQL0Nv6TSNStwz/wSIxgj/iKiCApsCvqAEGRYKAG8FgmFcOzAJEMAbtiqrB1Cc
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ23sxfrXTzLt
FupeU6YELCUKe+Q34qyQaEb0HvXJDVvtFiEEk+4dT4DNa7eYAxiMwBu2KqsHUJwA
AGwDAQCxQQdJBIA+EDFu2jCLQkS2iXR2eN/f8saaIRAL1LDW0wD/YcZvgAnz53Km
6GV1dhLMG3ORUCSquEuI4ziZA7XuvwQWIQRb7j1B+Fsvy8MA3k4YyyvaZUZfAwAA
woQBAK2PwoWiBSikLnSXMHnCjuqxSSGvhgv7UeVeCpq+7tDAAQCiZr/8xobWvBcT
fusE1Z+gEM8lr7Qp3BBYhFsabUIvAMYzBGFcOzAWCSsGAQQB2kcPAQEHQKmqY1TU
33xTHcKp7wGEYygNTFFzSa+NuYgdeJRf39IbwsALBB8WCgB9BYJhXDswAwsJBwkQ
jwSP+DsXNQRHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
+iFCJp8aCPHKKpfzQozgBqoLFMism9bpah8XtW57bdYDFQoIApsBAh4BFiEEDpdN
CsugxNj1HXz2jwSP+DsXNQQAAG/VAP4hOYTPP3p4ggHLPrs8I05rrhXdLfdqvd8E
Xzo463ThEgEAkZ59YEv4xEQbBnZQNPfPBp1dLCb9WS83MAg9LRfNbAnNEDxlZEBl
eGFtcGxlLm9yZz7CwA4EExYKAIAFgmFcOzADCwkHCRCPBI/4Oxc1BEcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmc/AuhzWxwGYUhK+fE6MAif
c2G8djR7o0FbJI17OUYU4wMVCggCmQECmwECHgEWIQQOl00Ky6DE2PUdfPaPBI/4
Oxc1BAAAJaAA/3vhsOIIjwtUBlBe9sx0CML0Ch9SgpZMDdC6VzWgP7iRAQD+mok5
ZrUYQtbqz7xzEAlC6K768SOFOmVo21rmJDjADMLAAwQQFgoAdQWCYVw7bAWDCWea
OwkQ7/ZHfT40jXFHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Au
b3Jna8BzUAwUdJXYkOdU9Kflk8RjN0jLr7Ph19Q2F0fYAC4WIQRvgpFChCCrU1dr
q0vv9kd9PjSNcQAAdhoA/2Vwt4OX5WDOPOkDwSDFU5UySLcPUzXvvF1VFpMPqT0F
AQCg3hKjNjnkmtHLhfp2vIbJU43AtX6npGX31viZM5gcD84zBGFcOzAWCSsGAQQB
2kcPAQEHQKK2XxyLVReZiqBzQ8Wj8qGK7Y32LDvlomwjzfleTNDswsC/BBgWCgEx
BYJhXDswCRCPBI/4Oxc1BEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lh
LXBncC5vcmetVpolfIqsjdAEVj/L9JpR7gBC+K7HOUsomTZFNCUTCwKbAr6gBBkW
CgBvBYJhXDswCRDDDVwDNJyG60cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmeTyuXjqoyVot9y+zmEaaHyi1jBoxwjkcTRYwdiIS9MUhYhBMgq
6BVZ1+ywJrEt3sMNXAM0nIbrAADo8QEA/HKxae4ZaHYFP5fZJO6HVBqqLViTdmSv
NIuBgS1mXTcA/Raoi8mNjtWFllYUXMOjjcg68cDNiYKfq5ei3Gs51vAKFiEEDpdN
CsugxNj1HXz2jwSP+DsXNQQAANZwAQDeOl8WG6TodPKCfkiuCWezk5Q3xnkqQ/nu
/pWAH4JpMAEA3tnFnt3Zt40lmY2qtKsP5wTOw04fwfvxUev5kYl/yA0=
=bvGd
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,159 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYXpcuRYJKwYBBAHaRw8BAQdAGBvnDrcf5CydXvRHmzLlf5f5ZZvI0UNUPEIk
qGm3qUTCwAsEHxYKAH0FgmF6XLkDCwkHCRAjK/8K6afl20cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmevFTDqE2ey24Xdk40+eUx6dBhDjZ0f
8omq+p47vhRqugMVCggCmwECHgEWIQQpaTX65CDMzzrtzskjK/8K6afl2wAABn4A
/jDn0xkV0BoXFg6mB2sfDODZXIayrUfUc7ZS6Pgmz3mxAQC2V1FsmrP3RG0zWzwB
HN9uS5fJ1vkfEKgzZUG+3ejrA80QPGVkQGV4YW1wbGUub3JnPsLADgQTFgoAgAWC
YXpcuQMLCQcJECMr/wrpp+XbRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVv
aWEtcGdwLm9yZx+NC46moeiwqd27n+4oToItAyTGvIfsCEEE7ikLTK7QAxUKCAKZ
AQKbAQIeARYhBClpNfrkIMzPOu3OySMr/wrpp+XbAAD2gQEAuA0qDbPpM2LIznAj
lmvSw0tSrh093lB3Drk8mbDGsAEBAJ5Cp94nJA4x9HCzYl3FO/rVmUV+eOCYSGLf
jdyk8tINwsAHBBAWCgB5BYJhelz1BYMJZ5o7A4UBeAkQrS4Wom9z1I5HFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnUAnE/PmjNt7fsBaW5tGl
BDFgaGlD61VW0rWoi5aBZQgWIQQMEx+JWfRdCLYTb9qtLhaib3PUjgAAAmQBAOp8
hbaj4WF8VqMnluZlLI0nTWB33+Anig4oi6hEbjy6AQCKm+eyHhZinsPc1n/LZ9EJ
KOrJxkmQowM2PsgqX82TDM4zBGF6XLkWCSsGAQQB2kcPAQEHQCkwFkWH3WzkGu6D
W4C/6VWUZCzZp7Vw7rZGEKI75KjiwsC/BBgWCgExBYJhely5CRAjK/8K6afl20cU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcuPum54zsBWRc/
+tCfLjYnvGdiBo0e8ZqHhpbWgkh3qAKbAr6gBBkWCgBvBYJhely5CRA/1ceDMGVl
xkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfvL++4TUgc
HTWfQr1apcpkbuOIflSEceScbdXbHLXzGRYhBMgzAtaqUHLOH5NatT/Vx4MwZWXG
AADQQAEA1wj149hdS00j8DexIdLWzaW2ATHTQkpN+Z3i67bm/XkA+wRrjq0meCsX
RHYCj54dFHhQpv/sFCxCVquAj5aMq5oFFiEEKWk1+uQgzM867c7JIyv/Cumn5dsA
AOgGAQDpl9d12LueHTdtflhjiIBu4m8h4x3dV+4RhzVg4hoP3wD8ClGwR9LS8zBl
sBowossekIlj0Vqg7D+5vejGRNEf9wbGMwRhely5FgkrBgEEAdpHDwEBB0D7G2/m
oYa2MQxxIQFW8gcA9XGBqr0eG3isKllSqenoIsLACwQfFgoAfQWCYXpcuQMLCQcJ
EEH7AvDjl9VeRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z2dE7fk4BpF8P127WYWdF+PPISnqeRGQ3ywRw7Qi12LnAxUKCAKbAQIeARYhBCjB
CHBwkPzf9jDR4UH7AvDjl9VeAAACYgD/XVAclEhBzQFqjcP1E5fDEs9WiBGqKAN7
Q90QVy5dULgA/iWuGlD66VGGMwWyS89CT5OZS1dD16s/nV5b8Omy6UsCzQ88Ym9i
QG90aGVyLm9yZz7CwAsEExYKAH0FgmF6XLkDCwkHCRBB+wLw45fVXkcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdRJkam7P83o54FOmn5OTjD
BrQhu5Y6X1PHqXrdlTexlQMVCggCmwECHgEWIQQowQhwcJD83/Yw0eFB+wLw45fV
XgAAS6oA/29aOS9b6c7ZgA8jsRqpbt2hGqUHTbYnAbwXN3OAV6BfAQDERauP/R0p
mN3flNklKcbhVxj8AplLYxLd1ErW/BFJDsLABwQQFgoAeQWCYXpc9QWDCWeaOwOF
Ax4JECx6QxlGwS33RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZz88I2vQyKrtMNQAuPT91DpD5zrM2E4u1XdzmeTgZfIzFiEE2jz8YL1LiDVw
KmZ4LHpDGUbBLfcAAMRpAQDFgqMH743Ym+cknsDKFNU6jX0SAx7m8t/xUSv77Zl6
igEAskujHrWABPNtKGKKJh4nFRPI8qdsQohbGWFIH8fcoQjNDjxib2JAc29tZS5v
cmc+wsAOBBMWCgCABYJhely5AwsJBwkQQfsC8OOX1V5HFAAAAAAAHgAgc2FsdEBu
b3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnPypA7bgIbuuCPMmR9SZqgI6KwHgmaJd/
FOybgVTHMwUDFQoIApkBApsBAh4BFiEEKMEIcHCQ/N/2MNHhQfsC8OOX1V4AALs6
AP4t73CgOYvxdPPoKwPBLN1lCTTHVU7z41nswpkVSPRDMgD/QTOgfhGFjUJ/4sAd
4qijp0fg7yO+b0DDSPCwkE2hig/CwAcEEBYKAHkFgmF6XPUFgwlnmjsDhQIoCRAs
ekMZRsEt90cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdx
pzImCpZVPvUCqI62A2cI9eT8stm75q9jAvqmESAkcxYhBNo8/GC9S4g1cCpmeCx6
QxlGwS33AABV2QEA+6viLRy7mkILcUEtNEsz19IQgE1/SsH9T/MhnpRXlpMBAMMr
WNV3Ipk/3s9pw/8IszHYMgu3E+MxbZwPwqNJJKsPzQ88Ym9iQHRoaXJkLm9yZz7C
wAsEExYKAH0FgmF6XLkDCwkHCRBB+wLw45fVXkcUAAAAAAAeACBzYWx0QG5vdGF0
aW9ucy5zZXF1b2lhLXBncC5vcmcq1h4bBrYfjzWvSxYsUBuE4PzgVXqpw6HjIInJ
5IfBHAMVCggCmwECHgEWIQQowQhwcJD83/Yw0eFB+wLw45fVXgAAkA8A/3JZHr7U
uyupfK3WNbVOHuvx1ZCtMWwLl+ZvL0YCrpM0AQCDFFfput/VbIOhnSVbG7VMdRD1
vLmvF7pKeaxVa2FaDc4zBGF6XLkWCSsGAQQB2kcPAQEHQHwYtlCU4ERmswS5H3TT
Z7QmoL69YktMtI6/itEyLtL8wsC/BBgWCgExBYJhely5CRBB+wLw45fVXkcUAAAA
AAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcme2BJ0xkdIk+7BFRO6U
MSu0C6M2eDcDAwh8GzhtM3urfgKbAr6gBBkWCgBvBYJhely5CRBXM6b36ul61UcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcZA9KHYlG+GPpH
7JwdYci/I2cySG55OrJdsIeHtXPQExYhBHYw/jxu8ex4oJyfylczpvfq6XrVAADd
wwEApL0ZjKSYFARegSsDYMbwPHgqm3/EKQKeNNEYHryncQgA/A0AQ01cKchn/RDz
cf0wpay+q4q1oJ30W0W0D2GqZ9EDFiEEKMEIcHCQ/N/2MNHhQfsC8OOX1V4AAClD
AQDHjQNjdLOtg6r/bP6XhzTnnHIaNFL7gSnjxAMDnuMRtAEAo4hbF1VAyonsoA/D
H2SIhMH30ssZ0KY0YleqT6DODgPGMwRhely5FgkrBgEEAdpHDwEBB0C0cmsXadfM
VBmufHHUoVjtYTo0Kzo13GUKSN2aVd7BacLACgQfFgoAfQWCYXpcuQMLCQcJECx6
QxlGwS33RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ/vp
/TqnTz6fY0s4F6I5/7AzT+GgRXoFyHV8uoA3LyX4AxUKCAKbAQIeARYhBNo8/GC9
S4g1cCpmeCx6QxlGwS33AAAmLgD4zfW55NqdHwJVuT9pHqBBHjnNsv5t2CW2H3Fj
F/TsFwEAmN0bwVdOixKyKomqEdNm8DOK14C50PrURniADbUhCwDNEzxhbGljZUBl
eGFtcGxlLm9yZz7CwA4EExYKAIAFgmF6XLkDCwkHCRAsekMZRsEt90cUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmd1nVkIoC1QtaldAqHwhshe
KGphIxZX+QfWQUylALQ5gQMVCggCmQECmwECHgEWIQTaPPxgvUuINXAqZngsekMZ
RsEt9wAAzJwBAO0fhGQ6D9aA/TcoI9RrPzh5cyZK84gKz9je4Fd2fa9uAQCHZZyY
gRiscAQzwFbpbWiNpEko1CYWODUyg9P40hvtBM4zBGF6XLkWCSsGAQQB2kcPAQEH
QIOKhAQhF5KEPfGglx1WPCJnQsXKVtrsBXFcSVnmVYxwwsC/BBgWCgExBYJhely5
CRAsekMZRsEt90cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmco+gRkqOGwIYJI7HetZl9aHeK33tnicdgh04qRZYENdQKbAr6gBBkWCgBvBYJh
ely5CRC1uaVE8WFDeUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcmcXduMa0mL8RXxAzg12N7Mr2iT68b27YvSptfUdrRZifxYhBGHEgGJAfvDZ
+b1gALW5pUTxYUN5AAA04AEAv9arhngDskBZquv/qnjF2Wj3YZwrY2YnI0qAflhx
0ykBAL79YhMd/zGZwZwhj6WIOgO0Lvwecrz/sNefiv58Uv4OFiEE2jz8YL1LiDVw
KmZ4LHpDGUbBLfcAAN8rAPoC9KNtKaBT0sAxibv3ajwqVkqy7wOxWd8vu4Y92Pjn
mQD+K4k3jG6zNvLdGwaCWDTju4HB4aYUj/FuuHONaKO0HQrGMwRhely5FgkrBgEE
AdpHDwEBB0CZFzA63n0H0z8msWpUI+3rJn4LnFjrZMf9WIvTGL8H9MLACwQfFgoA
fQWCYXpcuQMLCQcJEApATjendmYIRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ18Vry6mFWIZ+mC/GClsMG1Ri3y9YNUduOLUVHMT7GvfAxUK
CAKbAQIeARYhBKcqobfZ2MsE2YjxUgpATjendmYIAABUXgEAlLw4chiTUdPw56sg
wLW4IAkbfZtnss/bCc3aDS7qf48BAK6PY8xR51gNVe4Q/aFZVOK6tPQm3ZTTe/9F
zAXU+jcDzRM8ZnJhbmtAZXhhbXBsZS5vcmc+wsAOBBMWCgCABYJhely5AwsJBwkQ
CkBON6d2ZghHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
UMI2eaWSTnasdKXu3u+Mu59Z+f85KsuGIIT+OkP0PREDFQoIApkBApsBAh4BFiEE
pyqht9nYywTZiPFSCkBON6d2ZggAAKfiAQDaJvR8ts4+iIvvNJR/k9lxQu4hgONe
rbLtCpqPqUS2MAEAhmdM+vJdS2FFm0dTtRGkBWGH4A4jsclPdo58yntD0Q/CwAME
EBYKAHUFgmF6XPUFgwlnmjsJEI3VpaQ07qq4RxQAAAAAAB4AIHNhbHRAbm90YXRp
b25zLnNlcXVvaWEtcGdwLm9yZ9tGGYJK44LQto+hVlxsetTvj6f3VUN0gVAlD8S9
7VAXFiEEn7HS9Bq1xHg3jnKMjdWlpDTuqrgAAFUWAP4xYztbNlt9hDw725Ol42Sc
p23A+8KQtKV7Rpj/05kfMQD+KywMcRN2sdHdVUnrwAF7diVKBmu4rwgFuaMJuXFc
BgHCwAMEEBYKAHUFgmF6XPUFgwlnmjsJECMr/wrpp+XbRxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ5K0WYn9O+zppUiRy6nVsKDXczj/foFx
0CAaKl3hn4cIFiEEKWk1+uQgzM867c7JIyv/Cumn5dsAAMjYAP9TCo/fNOjRbhKD
EAN6m5hFB135rHvcUrgiXgozwKpGnQD+LKunb9fj4tNZD1i3/V6d/rYv+QrGq3D3
algmgckqyQLOMwRhely5FgkrBgEEAdpHDwEBB0DBIXaRdRxgp6Xa5oANUe7odZFM
iQakrdDg12aW87XE9sLAvwQYFgoBMQWCYXpcuQkQCkBON6d2ZghHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jni6p9esFvIaeymJ6c3wy4f0ej
TUZkUVsXYgi505VT1RsCmwK+oAQZFgoAbwWCYXpcuQkQbF/phcvj8cNHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnXzZKeydD0hTD4CaaW8PR
BNb+FRVFTma0JNfUBITitYoWIQQo6YOG0ahi1sh4AEtsX+mFy+PxwwAAleEA/AxB
SMPfq7NreSGTAqIM2qCXBtkH7FfKRVOP0y2guC2FAQCG+I2DRzMkhbuRk7UX15TN
4kJj96VQi4k6EknZjAKQAxYhBKcqobfZ2MsE2YjxUgpATjendmYIAAB2SwEAt0pC
cHBgstxZZ5xxLTDVN+zfHxnQrMUcAMiVGADebuIBANWb38S8ddJdicuEWIwP+MxR
UptxxP3uBlipv3iwErEGxjMEYXpcuRYJKwYBBAHaRw8BAQdAll0WophO0LdcUzh1
ueBnTQXVSlCLoU0wO35A3LgdSmbCwAsEHxYKAH0FgmF6XLkDCwkHCRCtLhaib3PU
jkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfkTKKzAjT6
QhKaZ4V3QilcLoREQ/xG5+XE1MEpOobgGwMVCggCmwECHgEWIQQMEx+JWfRdCLYT
b9qtLhaib3PUjgAAp3wBAI6S7ksZowYMU/TcqTHIQ7UJispkno5C7GsyI0upCpkG
AQCS8gZja4XAegPr/e8WE0TdIHdIbyaA4s0gg1tj6Fp1DM0SPGRhdmVAZXhhbXBs
ZS5vcmc+wsAOBBMWCgCABYJhely5AwsJBwkQrS4Wom9z1I5HFAAAAAAAHgAgc2Fs
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
HKmnSK4sC3JN72l9K1nkzGkB
=VIP0
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,63 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEY8CfABYJKwYBBAHaRw8BAQdAnSnqyCNV7jtKX4rwSxZ4CyJmEv8Odgy3Y926
pyZDV4jCwAsEHxYKAH0FgmPAnwADCwkHCRBXzNmL6xfqOEcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfPZxnri/J+mm92/N1Vbqc26ECAvS3y
N7pRFzgJa6M+PAMVCggCmwECHgEWIQQsbKADB8d2OGZGx2dXzNmL6xfqOAAANzYA
/1LqviQJRvmYwqQ9p8g84hWNVe/3uDFftkKvkD/mkEzNAQDhWf+xRxh4OzHMej8k
X91xd389zkTSscgOvSQUoFKWAs0TPGNhcm9sQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCY8CfAAMLCQcJEFfM2YvrF+o4RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ0L4GhD6AuKiFrIaA0EkkaMv6htBVIuicZTPfRLLqGMkAxUK
CAKZAQKbAQIeARYhBCxsoAMHx3Y4ZkbHZ1fM2YvrF+o4AAAIrwD/Zae7xCJcEvdm
Fb8iFoJ1dSuXY0FD9ICSIPIZLBFRPzwBAOHS6QfUbWojB8na6z8IK/8I+bdt6Yr5
uHaeJRF+444Mwr0EEBYKAG8FgmPB8IAJEGD80rBV/7SiRxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ66/9II3TkXmWPlIkvyWZCaWdQjOU879
dnSXkelaKAeyFiEEPiy7/mcuEB4AYdVcYPzSsFX/tKIAACN2AP9LrN+n/HNB2EUk
WX1DCi06oeXcNZulA+t9hYIj72D1LQEA+T5fQQ6IyIwlepcnXIkWwv3aggwECv2N
HzDnzFTxsQ7OMwRjwJ8AFgkrBgEEAdpHDwEBB0COaoqxjlIHUSK+yBUxizwJSzmQ
Lj+oAR0N26kzPmWS/MLAAAQYFgoAcgWCY8CfAAkQV8zZi+sX6jhHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnwmYRmhKdcv0MGYZHoT11RmS0
AuccJB93gsHzrdQv6hACmyAWIQQsbKADB8d2OGZGx2dXzNmL6xfqOAAARtEA/A0z
Jqif5Q7lAKNicQVYPhaDQPSFWaaiIF810e8VgqlTAQDEaaxuebU0fTZKZVwo+diu
VeXrctq6sQVo09jP9NPdDsYzBGPAnwAWCSsGAQQB2kcPAQEHQO60D9rLzjCJRRxj
0FPNSxIZxaq5DLSLRU0QFSmhKEuqwsALBB8WCgB9BYJjwJ8AAwsJBwkQYPzSsFX/
tKJHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnYRipIT1Z
EzOyP1FmdMsifxS/ktQ5Mm+jQGKmU3VSy8UDFQoIApsBAh4BFiEEPiy7/mcuEB4A
YdVcYPzSsFX/tKIAALF7APwNbBAEixWY6S18Q1pDTke4DXP9fpJi9yn9LcHbk+Jp
4wD+Jrwb+wRlDBWsvduSo6RVdz/tDCBPxQpDqwxg2FOfPAfNETxib2JAZXhhbXBs
ZS5vcmc+wsAOBBMWCgCABYJjwJ8AAwsJBwkQYPzSsFX/tKJHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnrUU4hlZqEtIfQpKzKEt5UumZInId
qSlnaaSgtgIIrXsDFQoIApkBApsBAh4BFiEEPiy7/mcuEB4AYdVcYPzSsFX/tKIA
ACzkAP9+WruqfAXZNISzGuiSkBs7r2B9wjE8/qR3V0roHZ323wD/f9EvsOSALYe1
htJDA7YoR8D1b1MVM0mzRD35wdQ0mA7CvQQQFgoAbwWCY8STgAkQfhD256wdCk5H
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnd2p+ctUF7Yvs
wann+nmbBXVxlSzVeZhsckfxnfwsm+8WIQS0JZ4MHXZGFcpWDuV+EPbnrB0KTgAA
MU4A+wYnOOB4vmniLM2Uu4LwRSvxqhpWgNqBd5xEtRYLr76BAP0cmbftgfZru/lJ
5ckurh4a4/yKESmZVZiK3sC9JVrfA8LAAQQQFgoAcwWCY8HwgAOFAngJEH4Q9ues
HQpORxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ2V3Sc7w
367jl+M7l1k+JuVtvOvwyhCeNVYjHXr60EWqFiEEtCWeDB12RhXKVg7lfhD256wd
Ck4AAD2BAP9aIL4Ms8D9szhgZWMVGQMCqgXYlU/9UFK6Jt7MEK+CSgEAwBJ1dl/J
ST6z63Ks/jwtZc16IIpsqFawVTWSHksKMQTOMwRjwJ8AFgkrBgEEAdpHDwEBB0Av
NaWfliDiiWIR3Kh6HJlibsOYTp+JdwJk2Klx5eq9AMLAAAQYFgoAcgWCY8CfAAkQ
YPzSsFX/tKJHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
ebgJpGhpAam7x91bfwSU0PedqZ/+oGZrYbNbIk8UrcACmyAWIQQ+LLv+Zy4QHgBh
1Vxg/NKwVf+0ogAAG0AA/RiRQ6RtmV0GftgWYfEqtzim0SfpQFsiSFdL3hOZlVZE
AP9XRm94zOYhIJoVs7Ie2k/y+pusylsk6nb2GqZmX9f7CsYzBGPAnwAWCSsGAQQB
2kcPAQEHQNbfL9QnAFoaYLvgVrhL9vqH/NcjPY3ecSZ/SWB+f/ICwsALBB8WCgB9
BYJjwJ8AAwsJBwkQfhD256wdCk5HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3Jn6W2vGwmI94viGQBY5DuA4IuI9hDPzJmiQnUzodPOAvYDFQoI
ApsBAh4BFiEEtCWeDB12RhXKVg7lfhD256wdCk4AAEwjAQD/5B1sJTaoUT8//4nI
XsA0FmFMV0HNqGly+NYkcuDQ0wD+KdeNTRnA0Tr4l8MdoPIQim7kEvV5sEpSS+C8
OpX9PwTNEzxhbGljZUBleGFtcGxlLm9yZz7CwA4EExYKAIAFgmPAnwADCwkHCRB+
EPbnrB0KTkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdV
jAjsbgXQwgCGcaD8IhIbFh7F9lzLSK3uHV3xnsmb1gMVCggCmQECmwECHgEWIQS0
JZ4MHXZGFcpWDuV+EPbnrB0KTgAAUAIBAOV56yX/B98sQIY9QJopM9+veCPEMqZc
Q8D63mx3DmAgAQCiSv7BgPRNrcNrK1SvzPXco1IBaUV/A27LqbsWVmU4BM4zBGPA
nwAWCSsGAQQB2kcPAQEHQE5W5DaS0jlqH+Ji5er5BIllO0eMfMGBwB4qNZXAmAAh
wsAABBgWCgByBYJjwJ8ACRB+EPbnrB0KTkcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmc2A8PR1iuK2LXWA3wssdICyxuraWFGUu+WhFlASyWy
SQKbIBYhBLQlngwddkYVylYO5X4Q9uesHQpOAAAzbQD+K7vNDm8/w15tooXO8oY4
PoCKo/lBQPrsKhiXYIA//J4A/2ALoDegj2ZFHByBY3QNHYyME1rAH2FqzQ/a/XrD
0ogB
=gVxV
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,71 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYb5eGBYJKwYBBAHaRw8BAQdAU1nm6ngUIGEAwJqKHfRU83nPipGZWJawUd2o
ZnZKnCvCwAsEHxYKAH0FgmG+XhgDCwkHCRBWK5re5/eJ9kcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdTFuOqygaXJ+MtCylqsUyPftVPHEYc
TzSFIo57cJjkKQMVCggCmwECHgEWIQR0MsEjdhuU7FDVDPZWK5re5/eJ9gAAsEgB
AJaVBY42rWGwxuW8jWi1r2iZztCAHFp5iFLOg3N7yFJSAP93JIHBPkUWpXDxhwpb
TxaLiyU3CB5fPxrk3UMS7x8UDc0TPGNhcm9sQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCYb5eGAMLCQcJEFYrmt7n94n2RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ4JGKTVlZ/XToSXrlJdySpJmkWVtANeCMgKlDXlbJt4KAxUK
CAKZAQKbAQIeARYhBHQywSN2G5TsUNUM9lYrmt7n94n2AADlAQEAnR6msNsYfyyc
+f+4cF9xY8zmthltGdH5monJ75EE63oBAILO+WS1m033RpKo7PCz+R0A3r/1JlFf
xT9aTLsawPUMwsAHBBAWCgB5BYJhvl5UBYMJZ5o7A4UBZAkQnehn5spqJ1ZHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn1Fe/1KSDN6ysQHt8
JeONCHcVmM+04X5DFOE/PuMvvMUWIQR0dnxPKxX1fzOU/Kmd6GfmymonVgAAYNUA
/R2fw0BYl/nJQ728PpfEjBct877YSWc5gLyXFiPjcOoCAP0X3uGSeCYQ6sx6hU37
DWRXdwO5TStUlrPufxK4xqFqBs4zBGG+XhgWCSsGAQQB2kcPAQEHQJdSHuo9Rski
e1lg7qfTsFQqdD8ahdzvjJyyLKTlVCeawsC/BBgWCgExBYJhvl4YCRBWK5re5/eJ
9kcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcMWIYlm0sz
su//dPXX5+P+wPSLxBjTZyeJjbnsKBa21QKbAr6gBBkWCgBvBYJhvl4YCRDysLla
pFSI2kcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmegmG9+
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
Lqf39H1ma/rXuEebYHsrScSQtQA=
=Rfni
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,142 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVcGVxYJKwYBBAHaRw8BAQdA70kq9pBLDB2loVcuFnXkPYBtwswWCgth98AC
BYFvUH7CwAsEHxYKAH0FgmFXBlcDCwkHCRD1S0LhYl4aHUcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmd0X9lHa/ABs8PnIILJVsDtyIPyfTXT
gQw6yz8mediOSAMVCggCmwECHgEWIQS8MJeDRdeJyt7N5JL1S0LhYl4aHQAAUcUA
/RrwuFNJdakUD2fCyloX/J2LqL0+iuFBZoSXyjavqtytAQCtYmbjLTKmfDrbTiN5
uokIZk5FH9EzSD6NNrDYCJTDBc0TPGNhcm9sQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCYVcGVwMLCQcJEPVLQuFiXhodRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ5NQqKEu2mYINFGW+isi9QZp0QNVyEEBhXZ0qKGbW7p/AxUK
CAKZAQKbAQIeARYhBLwwl4NF14nK3s3kkvVLQuFiXhodAAC7egD+JnDMIIiJbdx2
Ffd/ICWvo5qlxon36RQtGHcWJoqlvQ8BALmvvesajBL6gmbFsX78WELvk5zWsT0j
obd+FF1ofKACwsAHBBAWCgB5BYJhVwaTBYMJZ5o7A4UBZAkQ/ua05HoJb9FHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnpb9ObBnjo4yC1s8a
5pJWUYhC+xxFG/hGX2to8aTIvjQWIQQgyBIRf7KjlA6ukWD+5rTkeglv0QAAwqkB
AOg421OeLz+0X7x4mMgpV8HLnduQSOYuqa+BQWtecZ/iAQC8cx2vNZ1v2UqLDD+g
EDoEyzZIGeS/pu8E+e5gqCbNDM4zBGFXBlcWCSsGAQQB2kcPAQEHQE/+sj7UGSAl
hEddglTjZm/Yjs7ROIHUAoEgCfB8ucMlwsC/BBgWCgExBYJhVwZXCRD1S0LhYl4a
HUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfL+9DMmm5S
FlS0yTPdl9ABJXQChQwYQ7+Ic2KkI/20vQKbAr6gBBkWCgBvBYJhVwZXCRCG7on3
lfp7S0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfGf0Jk
ueebZ21Y+e4jkYn9nh97qX2Bgm884gfFRCHpMRYhBKBDttxCPJSIiIVpV4buifeV
+ntLAADGuQEAn3eGsmZpRKT4cwezFWjFJEF+2yEHYp3lXQ6vmB0CNk0BAJw6ENtN
uCm/0GQ7Mo8BUB3EywGtsk4jw3ak+Gx2u/wMFiEEvDCXg0XXicrezeSS9UtC4WJe
Gh0AABK+AQD2VODIcYQhDqbmghwP2rZgqdGrCZteAGP6bMSNUfupjAEA9Wbk1ct+
1PWQrDRCg89/wLgUeMxwgEysHuez3MMafwPGMwRhVwZXFgkrBgEEAdpHDwEBB0AZ
rnMuUEsKlOxMzoL16ySiz2IfMTHz4snV2ONwlsix18LACwQfFgoAfQWCYVcGVwML
CQcJELAUkCWSmZshRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ/5TGo8wRJyrEIwX9ESbfOgT3jE4Ejq7bYi6oKNXdAv/AxUKCAKbAQIeARYh
BDGYEPrUbL6W2tfx9bAUkCWSmZshAACFeAEA1qaIe5AT07VTxr3uwYWnLZ/YPJ1M
0q9Mwq94j9WDEHgBAJMY/h18JwmVLG3GHNpenm6NI9S7OTOShkgftoB8ogAAzRA8
ZGF2ZUBvdGhlci5vcmc+wsAOBBMWCgCABYJhVwZXAwsJBwkQsBSQJZKZmyFHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnIMVPXZchRWak+2yU
NmtVhjxEcM6kVcCmItl9bZtoMx0DFQoIApkBApsBAh4BFiEEMZgQ+tRsvpba1/H1
sBSQJZKZmyEAAASmAP49m8nT1+24Vb/lThqavBEGc0zxR51JhY1rFqnNKxiokgEA
kVavJ2PfFd3QtyTyV/uX/vDmEO2ZwLwHqoi/kVE39wvCwCAEEBYKAJIFgmFXBpMF
gwlnmjsDhQFkGIY8W14+XStbQC5db3RoZXJcLm9yZz4kAAkQ/ua05HoJb9FHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnhF3BwofMYKlKuZ5S
7u7z+n0cs1mr/m5/62MQxJHlqigWIQQgyBIRf7KjlA6ukWD+5rTkeglv0QAAa9QB
AKpjvPT+MacpSHyqc6a0j4E+lNUZ0/g0TLS9no4Ea/ioAQDefv1MAPigBqASOdFv
Z692/qCuVVls6mod39kUKCFTC84zBGFXBlcWCSsGAQQB2kcPAQEHQCyWXqi8zK1m
LNZZZtSZX4cwlqw/6EFlaEeRfdVmINVCwsC/BBgWCgExBYJhVwZXCRCwFJAlkpmb
IUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmf0kE2i/jot
XWfXwYSyhO5nqOTKFpKjgq1xzXeQBlX6eAKbAr6gBBkWCgBvBYJhVwZXCRB3QPDh
TI8SMkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfy5fn2
TkmrHGqgW1ftIj5EQHGT5O0JOcz3tQs8TSEsKxYhBD4hpvBFHZJ3Kcy/XXdA8OFM
jxIyAADJLgD8Cd3SibtQgOulYoTUh0o83QWWnn3qkIiDB7CyHADUuC0A/A84KOFf
28hyfT41cE872Adp9xuZPJshBSxok+De0UwOFiEEMZgQ+tRsvpba1/H1sBSQJZKZ
myEAAAaFAP0fGCenAqbQknJU6hFIkcYhfZD/fwXK5U0dnXg+kH4TPQD/WvNXMB3D
otF7xRtdEkuE379Ye23RCdRYWcb+BY+EagHGMwRhVwZXFgkrBgEEAdpHDwEBB0Ce
fJhQH0vmtg68mMix0SBjfcfPgROgfUBcFA2PopSKoMLACwQfFgoAfQWCYVcGVwML
CQcJEHb7gb/gZlw6RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ99vgRi/ir2JWnTgjiGQhYAwOrdq6uZq+sx7mmDAVueJAxUKCAKbAQIeARYh
BDrR8pfksVD3Xb/ENHb7gb/gZlw6AAA7rAEA8ucNfm4+Vn37H/MHpdtdy+hLDcm2
o0GTnTMFmY0oZsABAMvQ28nOaXhYCMIy7ucmod2AuM9F1IOU8dfRHT++WL8CzRA8
YWxpY2VAc29tZS5vcmc+wsAOBBMWCgCABYJhVwZXAwsJBwkQdvuBv+BmXDpHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnlltW8Ny5tXZHWImJ
GpbPf2fmrQwgsla6lYuGfWl3zroDFQoIApkBApsBAh4BFiEEOtHyl+SxUPddv8Q0
dvuBv+BmXDoAABnqAP9esqq8PEdNEc6SkOJDb21i6X8nJsCF3afbTWNAg4YsTAEA
i1c/3FPDbtHSLyX7Ukm0uii9fO/KpAexoGH0q7O1ugHOMwRhVwZXFgkrBgEEAdpH
DwEBB0ANOZAkOujt8WWtY9hS6p6gAXyR1Zo7svghIhXmJDHvLMLAvwQYFgoBMQWC
YVcGVwkQdvuBv+BmXDpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1w
Z3Aub3JnQm09bsBijma+/NRH53iJwWPANNr9kQaewRMYnXsQZKICmwK+oAQZFgoA
bwWCYVcGVwkQA0aBvzdx2ftHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p
YS1wZ3Aub3JnNWIR/dGFPhwsy27go1TUP89ok6ImMTTiV6q7lDqlddwWIQRubz2U
ghsYIYaZptIDRoG/N3HZ+wAA4KgA/3Jmv8ExtxqJLVaxj1Gi97p6v5JcpQzPV6jh
nZ6g6FeaAQC8dw1x10CWXgBBUMYA4CNDwAomenwpNJ8JnC4wgedOABYhBDrR8pfk
sVD3Xb/ENHb7gb/gZlw6AADxHAD/YC1tF2r7cPEupntSaJnr0JT0l4pzGZkDSWR4
qpJmAzsA/REdR7D8iucnzHRvDehKwkkWBoKfY7tGAEMCSafoJ5YOxjMEYVcGVxYJ
KwYBBAHaRw8BAQdAqiDS6t6QSGbXPC7QzGh4MA0FPlAWtdZRkp9T8zh8OiTCwAsE
HxYKAH0FgmFXBlcDCwkHCRCNT+SRHtCEZ0cUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmc5wOKHnP7nKh4s1FEvrEtXkV5fNNoqw7XQbwZWOTdH
ggMVCggCmwECHgEWIQQj10GOoMakKlTDLb6NT+SRHtCEZwAAJ3YA/A63nvbTxelc
Fl2BFWpdTk1lmoWnZjEpDIJxKpQcEJhKAP9HBOn1P/AVPW0Ge3FgXlK0X10eP+PS
WlzIwz/Wb9d2A80QPGVkQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVcGVwMLCQcJ
EI1P5JEe0IRnRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z5ks5LIAzcZN1trVhO5AR9hv0hwAjzsNe9m4FzfDkAYCAxUKCAKZAQKbAQIeARYh
BCPXQY6gxqQqVMMtvo1P5JEe0IRnAABqxwD/XY1FUrj0O0m3ztO2+MaSG/GTo00t
M8En76ptKRxjv10A/igYSOuJkiEH7CptbBsMILGATUtekLVI83+rigapMNkAwsAH
BBAWCgB5BYJhVwaTBYMJZ5o7A4UBZAkQsBSQJZKZmyFHFAAAAAAAHgAgc2FsdEBu
b3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JneFmrNgu+z3tQITEDqCYbVHVTNgr8GW+I
K2gl8/jX0rcWIQQxmBD61Gy+ltrX8fWwFJAlkpmbIQAAfGkBAJSjZA7Z+f7tF9mk
qvBtEqxQHKwt4fOlsjj/d8smpwCxAQCdaWPTQOxuXrpGpoRpn0ahxJkB+s4y2hv6
nDmJXhQICM4zBGFXBlcWCSsGAQQB2kcPAQEHQHY5l2V02rn6W7EBxRlNYqJj2Yke
oGF55+3303EWmmZOwsC/BBgWCgExBYJhVwZXCRCNT+SRHtCEZ0cUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdN6BulP3w834Yw+clKMLEz0Cg7
icsyO+cgy8b68m797AKbAr6gBBkWCgBvBYJhVwZXCRCV/CgtAPzX9kcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcpLM2AhnAkzX86PXdN5riS
Lx0C+jxOEGpcKe00bXzumBYhBID4hSqMm/1CXBkGx5X8KC0A/Nf2AAByvQEA9c/i
8bCzqFzulIdOD4rzQdDFggR9VxNZuAUXq2EyU8UBAMomjfyC/rzs2WcfCPxN8BWA
WQT5lk3zhwOo+v6xok4EFiEEI9dBjqDGpCpUwy2+jU/kkR7QhGcAAD1yAQCMD1gI
RHJdEFNu92bpS72DZ9SGeitCaZmFnnHMyRaJ6wEAtSsbqJ3LYE8BWjAhferzLZwN
OqjkGNtX/9x4Qd6eQA/GMwRhVwZXFgkrBgEEAdpHDwEBB0BJe+yCdzB/DMpKAY6B
Uo4bHqWJjrdWicIXs5sZmMwc7sLACwQfFgoAfQWCYVcGVwMLCQcJEKDEDnQfwcUP
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ6PzYFhdu1gc
5iqagjVPcNdYb9glT2abjP6Rm5hb8NL/AxUKCAKbAQIeARYhBH+uINaO6H90Nory
daDEDnQfwcUPAAA+YAEAlm3dPcHx6TBDIBUOZLvuYPDXiuPcVDmpWbm7ttFAHIIA
/21atdMxwBL69DBmbbFHcMlMrpKrgtKRPcZUqW/IQM4GzRE8ZnJhbmtAb3RoZXIu
b3JnPsLADgQTFgoAgAWCYVcGVwMLCQcJEKDEDnQfwcUPRxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ36xh8YvDXWdLiyH4hhR/RRkT51S0ney
12KKP1mj6GYdAxUKCAKZAQKbAQIeARYhBH+uINaO6H90NorydaDEDnQfwcUPAADX
rwD8Cxo9o+Z0x3GvQsUNg34f3duUIOvBM5uJo9MTU3liSHQBALQBMpKqJnNNlJij
5DeGdNF9eoAgU1vjnz5wS3t2em0BwsAHBBAWCgB5BYJhVwaTBYMJZ5o7A4UBZAkQ
sBSQJZKZmyFHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
9+Q1JDoh0OVjX0vFCXvXp/Q1Mfpna0MZGxEsgcqRAWgWIQQxmBD61Gy+ltrX8fWw
FJAlkpmbIQAAi5QBALfHVAXWeYG/OhvTty7S/T8WHBXqdraG2rQ9MibjBUFMAQCS
rHS+dI2twlNLHs5+xyAamE1RauXOHCTxZ+eEfkIQC84zBGFXBlcWCSsGAQQB2kcP
AQEHQJYhrNfxL1RSmFFI/RqvZmTIv3nTpBr7H12nUbuC987TwsC/BBgWCgExBYJh
VwZXCRCgxA50H8HFD0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcme+R5CCH5m9tzoXhZyJbufCUe0X02vg+JWpZ+70vWBFeQKbAr6gBBkWCgBv
BYJhVwZXCRDFZKLIqZVKtEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lh
LXBncC5vcmepsQsIa/ToC2BSmiD2px4QW5KgRDSX3xvktfsZEetPxhYhBPDaQoTV
iAPmfMveWsVkosiplUq0AAAxIQEA4o/8NwpWSiIcPQearT0mWcdqvKxHLn3HOHb3
ihG4pJEBAOsp6rewH13Vv7/NsedwrKzte+gU1oy3JBJbReFY0EYEFiEEf64g1o7o
f3Q2ivJ1oMQOdB/BxQ8AAL/3AQDQ3kz+zzLdFlKKq4Dk2ZTfQwg3jJI/ezqPShVe
eTi0WQD/a+eyK5Q/HSFoSe3OSn//eOGkXgybj1CTsKXQLJW/NQvGMwRhVwZXFgkr
BgEEAdpHDwEBB0DLs0DI4FJXuBYxQFSztfPY7dshTnZ30K3WByh2AHhuSMLACwQf
FgoAfQWCYVcGVwMLCQcJEP7mtOR6CW/RRxQAAAAAAB4AIHNhbHRAbm90YXRpb25z
LnNlcXVvaWEtcGdwLm9yZ1KEtQO1M3h02VZoHyFyTAsY14ioKEUJiWhBZ4gmazcr
AxUKCAKbAQIeARYhBCDIEhF/sqOUDq6RYP7mtOR6CW/RAAD3ygD/ZEu11aezo+K0
qVS4vlU7/0PYAISoWKGHusfhfci4GpABAKqrQ8vGgdgKqiLiErBrN9hmCJzV3uZH
7eArEGk3XGAOzRE8Ym9iQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVcGVwMLCQcJ
EP7mtOR6CW/RRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z7wJ6L8gOVEV7C/egRdMTq0XfbQwCkiGBTHP+UYAuheVAxUKCAKZAQKbAQIeARYh
BCDIEhF/sqOUDq6RYP7mtOR6CW/RAAAxeAEAqp3ihqwnjjBbfiBSXJbt6uNaSV6v
08UP9exgE2xw4kgA/Auis4K81ktCgVtr4pHZyK0tplfysAKnBhcSQlPh5PALwsAi
BBAWCgCUBYJhVwaTBYMJZ5o7A4UDZBqGPFtePl0rW0AuXWV4YW1wbGVcLm9yZz4k
AAkQdvuBv+BmXDpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Au
b3JnmsruU4P2g8zqw66el1hGKOOREvDR2OttZB1eJkXgwDkWIQQ60fKX5LFQ912/
xDR2+4G/4GZcOgAAsgIA/1XupnmB0vbTIZP41pzxg2cwrIXZ3oHGzK6GulTDg9Sl
AQDjwYNJLDEi3RoBAkjAksTGDfy5DuhLFGNVWtgt66biCc4zBGFXBlcWCSsGAQQB
2kcPAQEHQAK39Q3kyknhsqZqpCCyPEww5NsqY3JBwOKaLoGsuG+NwsC/BBgWCgEx
BYJhVwZXCRD+5rTkeglv0UcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lh
LXBncC5vcmfuz2c6NpKI34Fl/o64EtkE47ZCYKJFjDmG3DVopa4iiAKbAr6gBBkW
CgBvBYJhVwZXCRBZKyQ9Ebpic0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmfXCDlI8jJi7GmXP3pK0T6lbaAQewLPMqLCVmtgqA7nSRYhBAUm
Ea/HiODCW/Z4ElkrJD0RumJzAADdogEA2TZWJNGR0M3L2DAl6sTdG4+exZnEUQeS
gZH6nLQzxmEA/R6HqOFuyqNzdMSc8ofhG7VOUGRH7xyxg7shWu5NW8IJFiEEIMgS
EX+yo5QOrpFg/ua05HoJb9EAAIArAP9z08/RYZtnp8FYf9nBVdOwazOWrmZ25FhQ
rHmmcj5CCgEAhn2Q965GAG3mZXh9ipL+sGC7UprjtV+YZozT2i2pLAE=
=sg1w
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,118 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVcIrhYJKwYBBAHaRw8BAQdAHWKX2waT0MCeu6kda2P+sLJQBAqGw/7apb3/
9yUO3vXCwAsEHxYKAH0FgmFXCK4DCwkHCRB+/A7eB7UGqEcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmc1laMKO2ZdKBhmbK6eJ9vjtujQgTX0
zXYtDEOSn33A6QMVCggCmwECHgEWIQRYB35llzJSbBuL+YN+/A7eB7UGqAAA9wUB
AICZ/5bN6Lg6qOe+2zQAKLWuNGFwaAJqdsRlGvI4T9eCAP9/LuuL7GnDWwyeSuKx
brvttJP4xAgi5AhwZLexT/2eD80QPGRhdmVAdGhlaXIub3JnPsLADgQTFgoAgAWC
YVcIrgMLCQcJEH78Dt4HtQaoRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVv
aWEtcGdwLm9yZ3oVJcs9lEAu1DoLJKLHbyCfzNlggdY8R9mTOYcBkFLbAxUKCAKZ
AQKbAQIeARYhBFgHfmWXMlJsG4v5g378Dt4HtQaoAABwVAD/UYcQoIeT82mqzYHC
graJ1a/aNYzUJvVqEqh4tTRV3MkA/iOA6VJ7vgNGXZK9UC3wZRadI/sfQpo1Wjex
T+5hY5IIwsAHBBAWCgB5BYJhVwjqBYMJZ5o7A4UHZAkQrtWMZENwwYNHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn7G2wXFDUGB8S0nxQVEcN
fA9WoN2U07TwIBLQEfoRzmgWIQT8epbUgQ0M9HcDGVau1YxkQ3DBgwAAgQMBAPWt
AzG+2e+F6L9WpYla/qcneFCN4kdRCX3XD6PNPi4FAQDbwS3dkxRnuBLU2Rd5ahTP
J4CAIruT0zxIPNmdsDoBAs4zBGFXCK4WCSsGAQQB2kcPAQEHQPzlcJ264z/EslqH
P0SBWU7EwVv5uqRl3svTZn/VOHdiwsC/BBgWCgExBYJhVwiuCRB+/A7eB7UGqEcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcLHGDeL6McQNt+
OVUrywUyjsYlQbUX6PiPW65Dk0gxFwKbAr6gBBkWCgBvBYJhVwiuCRA+NLOYGLwx
CkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmc+PuWMnYNH
LJvirRdM7x2Y26H0OqQhBhExKdVBH/juExYhBAaFIJJX4EneFRYBsD40s5gYvDEK
AAATAAD9EnNs5LA0jma4KoXPL+zCzlOOA/vD2hAih5REC7bbmUgA/AsdPxpWzyOm
6APJdXKGA08zd0VnhDPZpx7faQIg6XcPFiEEWAd+ZZcyUmwbi/mDfvwO3ge1BqgA
ANlPAP9gZkgUcBU6O3icpMwlZmthscMDxIVhQHLcBCwFQOv6JAEA8DvUx4c9BnUf
Zg2hpziaqXkrfyQ24l/ih6MFDjruFg7GMwRhVwiuFgkrBgEEAdpHDwEBB0BEkmJn
ZZzW4XMjpCsHQZsDNgVX6hzbEVWE3Dcr/gwVwMLACwQfFgoAfQWCYVcIrgMLCQcJ
EK7VjGRDcMGDRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z+YaHoonUWzl4ty3kDRLxRmRq0dFFYNimquu2bTnrojqAxUKCAKbAQIeARYhBPx6
ltSBDQz0dwMZVq7VjGRDcMGDAAA5wQEA0bvqDTkpGzP7REE/58vHGMeJCRrS6p+G
VpAR6fBNvJ0A/iXcn0nB/LjE1GbH0aJzUMcSXz36DcTqXZ0ZqR9zCZUFzRE8Y2Fy
b2xAb3RoZXIub3JnPsLADgQTFgoAgAWCYVcIrgMLCQcJEK7VjGRDcMGDRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ9MuEbP76iHwZntibtM5
WEGbOnxLV9dZ7jd7lScDgZpfAxUKCAKZAQKbAQIeARYhBPx6ltSBDQz0dwMZVq7V
jGRDcMGDAADnVQD/e3F3PPMgp+7JW+1kEiBrF13jr3InkeTY2nbX60wEmCUBANSM
luN1bv88TBUS1hjoMjCLkL0O7ZphEmnnSfHWe2UJwsAiBBAWCgCUBYJhVwjqBYMJ
Z5o7A4UHZBqGPFtePl0rW0AuXWV4YW1wbGVcLm9yZz4kAAkQvN2evAlpJ4BHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnWS3hAg+xliH3fbnQ
ogebYou5+PfoCb3YKLk6P5X0CP0WIQRYTRla2JzgNU0sy6683Z68CWkngAAAovUB
APZaoy/j3OLEhbCXPJer9OPNV5/VJ646A5t406nyHSgEAQCOheJuQR0OwNuEMjv8
Q7uSQuh85myAqjfEy+UpEZkcDs4zBGFXCK4WCSsGAQQB2kcPAQEHQMaOW5BfVkuV
PzEW8+aoZM4QKBGr4IFDof3HYJuW0++2wsC/BBgWCgExBYJhVwiuCRCu1YxkQ3DB
g0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmem/FHOkOWS
bp7aUG+fsTOD7Dw4eBYHGpm5QEEzKznIMQKbAr6gBBkWCgBvBYJhVwiuCRDVYIst
HDpXbEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcr2pLv
Wx0OI14dXPa/MWtMyR11yVIJqQnh+J2LIV1u6RYhBKhrEYgPyD+aqkKYttVgiy0c
OldsAAAYWAD7BAQ7I94F9Ciz0sQgO9ydrEnGQwDSozXu5YdoN5IxjnsA/0jUu4UN
lffvCHEcCSN+iX5UfPYBECL9iSJhAX24NyQIFiEE/HqW1IENDPR3AxlWrtWMZENw
wYMAACXDAQDjtgoSgfYsuYz3NDf6krNz7aq7TbfFwPsEOM07pJugsQEAxNBopo/n
enOdn+HBlYHNZXDsmDB6Rqjj/Tdt09lUCw/GMwRhVwiuFgkrBgEEAdpHDwEBB0Bg
BuSHqHiW2R89coj2VwXISVXdvUhBRqBnX0y2arMx6cLACwQfFgoAfQWCYVcIrgML
CQcJELzdnrwJaSeARxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ2fbheZSD5i25ljHYTiXffTZ1UlImfzn8jT9DkyYW3NBAxUKCAKbAQIeARYh
BFhNGVrYnOA1TSzLrrzdnrwJaSeAAACl4gEA0srlPUWuPPnOEPACM0EUpjpJClJ5
/qoLkC8zzJ5texEBAKsGu6yuPfrMaTrCij1SGlum+SuNH59cnWPrV0Ecu7oNzQ48
Ym9iQHNvbWUub3JnPsLADgQTFgoAgAWCYVcIrgMLCQcJELzdnrwJaSeARxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ/POUFhPT/44x6JRUf6A
y0xpOdJdCvDnr6V7OWGg6rIMAxUKCAKZAQKbAQIeARYhBFhNGVrYnOA1TSzLrrzd
nrwJaSeAAABMPgD9E+mHAwHBg9erF+iB43tIn7oYMhkr7ecPQrD+PRQD//MBAKCg
YlKK3yYjrSr1dBRvsHgECBuBdj/AhxKgIxko0+oPwsAHBBAWCgB5BYJhVwjqBYMJ
Z5o7A4UHZAkQR/2/PrNFORlHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p
YS1wZ3Aub3Jn/s1ANKdS3H9cR/NfjPyAq2AQYTa4mMgIGm8YxZimycoWIQRcOWyS
A5mJhGHxfLdH/b8+s0U5GQAA26kBAOwHZk/ooynHdjKK8me5MPiHpf5rSxf+3mox
KsJV63olAQDhPIR+NTa62D7JnTUr7sxB/rrzGmQ8aPV/c1VKgHn3BM4zBGFXCK4W
CSsGAQQB2kcPAQEHQEmnOh/dr2w+wI+YOROT7KjbxgnPUap4NnmWoUB717wawsC/
BBgWCgExBYJhVwiuCRC83Z68CWkngEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmdMRbknLujAd7HyOm9oITBav6uFFyCZqYNLcqDP2M19YwKb
Ar6gBBkWCgBvBYJhVwiuCRCXDrogyI730EcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmcRSelOGy/9du17YXHrnsz73i+V863dh6zYYfQb3uPb
rBYhBMwARk142Gq5K+PYLpcOuiDIjvfQAAB97wD+NRKGO7t5DuAolbgmwOjBhixN
WkVQ1GLYAwkeVmdKqVoBANz3vN89UfXhIDpDSpPUDKmWWGUMPUVYBmZo9MLCPBwH
FiEEWE0ZWtic4DVNLMuuvN2evAlpJ4AAAPnTAP9T0caEtpUHArHuupPn5aP3bf4S
/G0CjJFQZaXx+G6NkAEA2Hbm4p1hPxbjSgsUVjYueUYUYrHySx/xkToxbD8lnwHG
MwRhVwiuFgkrBgEEAdpHDwEBB0BZmDH0Lq1Z9FUdqlJkUi7wSgoiSkUS3i1+M2Dr
ZPOxIsLACwQfFgoAfQWCYVcIrgMLCQcJEEf9vz6zRTkZRxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyFIMYnLnm/DM7EIPGbcg2Rq3oVlKU09
U3FhQOSsY04dAxUKCAKbAQIeARYhBFw5bJIDmYmEYfF8t0f9vz6zRTkZAAAudwD/
c3eSAMr2F6kiVNY0dE6+QVfcrp3H+IXQ51ovgMmI6K8BAMM6wXeL9wd1lzmPSV/1
GS2eLVZikcyAaqTQNyHgLb0JzRA8YWxpY2VAc29tZS5vcmc+wsAOBBMWCgCABYJh
VwiuAwsJBwkQR/2/PrNFORlHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p
YS1wZ3Aub3Jnrg04t/upquXa8Bo0jcnz2ao9+pnAB0RD6loIMyw1UZUDFQoIApkB
ApsBAh4BFiEEXDlskgOZiYRh8Xy3R/2/PrNFORkAALqYAP4pFeun1ohaFHAuQ8im
u6/SYknix4aN5CO1RC9TU53euwD/fiRNpfrh8pTfH2WheLSydxhTTTMsfY+XPA8+
DT8yJAzOMwRhVwiuFgkrBgEEAdpHDwEBB0ASBfvAgBwoDaFCHuL0DXfwqaPpeaLQ
XYLibmeHiQ3VBMLAvwQYFgoBMQWCYVcIrgkQR/2/PrNFORlHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnxQzPgUcBtfRiFysevdhEPT/qBXGT
6dbe/y07OEYRUhkCmwK+oAQZFgoAbwWCYVcIrgkQWZQVbY+YLJVHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnUM78pcSNI6x/ZVjWHeoscwYy
drRRJlSOmDzXrVtz4TwWIQSsIiLk1PHNvsfWJKFZlBVtj5gslQAAXnUBANpq7KXz
VHtPogvfjwaWnnpUkPsvABohdmC7na54s7fFAP9WqaWodKUXBw58WtxXsP8zYiIE
nN5Cx9ANXImG9JzTChYhBFw5bJIDmYmEYfF8t0f9vz6zRTkZAADpJQD+Kib4Dznu
UAWrIs7AqzHir06rHFPFSmbI7TSEizNrsysA/RPlvR6rWDPfFZ9+p+liOaBb0wHL
W5171lTIT7E5xN8KxjMEYVcIrhYJKwYBBAHaRw8BAQdAglEwcZ9qqVYZGN84YMV0
h7mNTv9lxPojsLwg+4KYWiXCwAsEHxYKAH0FgmFXCK4DCwkHCRC7hYd3ZsAJ5EcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfWTaMOPGG+ge4V
XJn5iU39zN6L0iUSq5drF4d3VQ6CHQMVCggCmwECHgEWIQQ2CJxJ8Yv2/GvKNeO7
hYd3ZsAJ5AAAOY4BAJfpCpkv6qjdYp4SLsN3dt1PEmjTZu59CDi11wvi8D89AP4g
pxLTxSs+6rNw9TlnicpeGMz3FigvOc5vCEoAJKTPA80QPGVkQGV4YW1wbGUub3Jn
PsLADgQTFgoAgAWCYVcIrgMLCQcJELuFh3dmwAnkRxQAAAAAAB4AIHNhbHRAbm90
YXRpb25zLnNlcXVvaWEtcGdwLm9yZ/8J8XH/sOjoRnJQYxEMSYiBaZbbjQ0hKK1V
TrxPNX7aAxUKCAKZAQKbAQIeARYhBDYInEnxi/b8a8o147uFh3dmwAnkAABquwD/
UVTieJq6A12ZnA+ggZIJb6MVzXWQrLeNk+Rd9D55fzYA/iqgo6mefS6fdiGDC9MC
KkMVzt8hggWLSsLXVkafpjILwsAHBBAWCgB5BYJhVwjqBYMJZ5o7A4UHZAkQfvwO
3ge1BqhHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn1VyW
6fg+TSg9OwkL/rOfZyDL9sCgK/60mKlhEsJXdC0WIQRYB35llzJSbBuL+YN+/A7e
B7UGqAAArTwBAIvh98l6blb+hhaSyYFIrYz+Vnzv2vhoSL6MhyJSp+4oAP4/ZiOy
Dho5Q1wSsg08tNPJ9iFLmuoa0yNs1k3NpGmDCM4zBGFXCK4WCSsGAQQB2kcPAQEH
QIoeDfJ+7KDFRjGRgMnVBpd+jwh9GAMk0tlqo/iv95DhwsC/BBgWCgExBYJhVwiu
CRC7hYd3ZsAJ5EcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5v
cmeC+SHa5JNp8u/uExeDfvWjLMc6v4baGCtGcEBZf4QuLAKbAr6gBBkWCgBvBYJh
VwiuCRBc7FBa6kFKAkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcmekzWu0l1aPllYky+BiAn3nQWCnhlT6pFp/N7nt/lxqPBYhBNpyR9bUKZ2U
yWJfTVzsUFrqQUoCAAA41QEA8xI/Jaz+76HEviXiE0vGzhY+rQ9Scn5hUpiSwoU9
S8YA/2iZ1Uro56reDAVofAwGiYSq35riWvhma37CbZiyB4YCFiEENgicSfGL9vxr
yjXju4WHd2bACeQAAH5YAP9A4Vm1Rui3NVI7O069hAyGxs4oMa3qOUEZcr4blqje
VgD9EfDdZGemXpzwOb7gJ52vaaoY363TpM53Qfnm+9wMBgY=
=yaa7
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,190 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVcsqRYJKwYBBAHaRw8BAQdApIvw+GEPabyGFJ5z0YXRlTFj1397FaIpS7Ez
V6P8OyvCwAsEHxYKAH0FgmFXLKkDCwkHCRAYJORrvMgB8EcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfQWgajZskoOauLbaYBfXvX2c+JI5T3
7oxZWz2FDImp4gMVCggCmwECHgEWIQSnXcGh7aUoLzpzgbUYJORrvMgB8AAAP6IA
/0vP3Yce2hD78cIvtjNBuEdgNL6kMsLvf7pRnoMmyfSvAQD8xSqYrTPV34OMCOAs
uPws2MEIYJkKJ7YTsAVp34xoDM0RPGJvYkBleGFtcGxlLm9yZz7CwA4EExYKAIAF
gmFXLKkDCwkHCRAYJORrvMgB8EcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmdMtTo94y1MYIPjO/Gj+K/zdFC+3ORViWuUYkoow6ZYNQMVCggC
mQECmwECHgEWIQSnXcGh7aUoLzpzgbUYJORrvMgB8AAA5qoBAK5kJicpowbm0qj8
ZgZemF7ka9QTx9gBg3KBWWf9IGd2AP9qnT8LYoe9y1oPLM/NcDt1u6zomFNPf11m
Gs1GrWGRA8LAOwQQFgoArQWCYVcs5QWDCWeaOwOFA2QahjxbXj5dK1tALl1leGFt
cGxlXC5vcmc+JAAYhjxbXj5dK1tALl1vdGhlclwub3JnPiQACRAT8LrgnZT+TkcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeXcItiJWyeZtI5
kJBSXWoqPJeUx0c8rPYYVKFBJJ+pZRYhBNjP67oAbi7VfPRcxBPwuuCdlP5OAABm
DwD9FC6/uHHi9gb2ZcgA8M6aosr9t9rfx4jCkgkzY8Dzok4BANB4f7VEgPqb5vgh
0A4+N7NRHKmt0d6GrH9y0El7lRsJzjMEYVcsqRYJKwYBBAHaRw8BAQdA3zklWGtV
oYMCKpSj1cjpFzFI/LELSzfdM/KyRZXAlnjCwL8EGBYKATEFgmFXLKkJEBgk5Gu8
yAHwRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZzuRuQvR
10P0Jza+Z2AwusCqfQX/InmWBGplzeE56UyXApsCvqAEGRYKAG8FgmFXLKkJEI5m
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
ma4KVz2Yg2nAzmTcRdPk0xPJw9XaQs4DTgEApLBiibOH2pR+fqKEULen9SWDEmaf
YGqDFsphl/ylDQHOMwRhVyypFgkrBgEEAdpHDwEBB0DQ8MfnO9MoN3sHb6YWC7ol
CzxNku1jqpWgeE/HGPPenMLAvwQYFgoBMQWCYVcsqQkQOU6RGTjW2wpHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnx7bhE/wJ06gBwB7EMQgX
zCfRF0CrQv0f1cowjSEslUECmwK+oAQZFgoAbwWCYVcsqQkQ9iFUzMbFPsFHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn+n5x3RjIqDv3eglb
Aqghla7ul9JVoaa1BASIdNeAmJgWIQQhFVRxdsIiRCpBmv/2IVTMxsU+wQAAdnkB
APObFy9YL2QihwviqLAvhmdckFfv4hg30+Qdg3tHrd2zAP0dAUeEx9Fz4I8gJz0Z
asdmBtaReDMbuYtDWB02t2OmChYhBNAch1LZup8/XwayHzlOkRk41tsKAAAY0QEA
l05tWAbc6gxP8Memt60ZjfMChzgKgAfOPUiyPOeFYOIBALxP5JvK45KwT1pUZPke
uW8Qq/7TB0aX623RzSS83Q0KxjMEYVcsqRYJKwYBBAHaRw8BAQdATriu/j6ll5eP
fkkh6N/x8lGRsExnxXc2MK3x2G6o5uPCwAsEHxYKAH0FgmFXLKkDCwkHCRD0lB0a
DsV0n0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdNAoAw
PLzXAAEapr9QBnozKcH4lFTlBIYMicHsPHKabgMVCggCmwECHgEWIQSvqxHxo3/S
DIXPgJP0lB0aDsV0nwAAMzsBAJVF8M8YMQ6OlBbyp5RPRiEsANVQIZ7hMDu8mGIP
g5nlAP46LySfxILvsti9YRPiV7XX6fMACy68oWAWdDjv6OMWD80RPGZyYW5rQG90
aGVyLm9yZz7CwA4EExYKAIAFgmFXLKkDCwkHCRD0lB0aDsV0n0cUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmex3Ckk9VKWd3AFiA0HJyDnvwz8
THTsTTJIFInH/BcDLQMVCggCmQECmwECHgEWIQSvqxHxo3/SDIXPgJP0lB0aDsV0
nwAASooBAP7F+Xjo94ypElVWVjuVeUI1MRRW7SxSsvpntQtKCI1jAQDBhFIXEiz9
MgO+V1ppr3bhLi/X6fWI961qAIrmiQttBsLABwQQFgoAeQWCYVcs5QWDCWeaOwOF
AWQJECs0AxzVy5OARxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ/X8U79SVYIxeK/+qxRWwYWp+502MznPswlFSCuGqNO/FiEELhqqjZoiyUrM
o2KiKzQDHNXLk4AAAJ/RAP9USWb3Lv+kOV34oBwnFp+T0SO8bar11GjrrUi/ENMM
ygEAlgkIAagPPlBj1EvrAl+kcvS/AIfGCDmb8N9oCl0sigHOMwRhVyypFgkrBgEE
AdpHDwEBB0DKfRuYQLiLIZIaXYfYErNla1aQZzWu5uubPneclmj9w8LAvwQYFgoB
MQWCYVcsqQkQ9JQdGg7FdJ9HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p
YS1wZ3Aub3JnYPq+v8YgJbw4rlCDoLQ9IBYw8AC43gcayysk0HwWWnMCmwK+oAQZ
FgoAbwWCYVcsqQkQptYmuInuzL9HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3JnvELQaUxmhtae2ZpY41iqhzBvDWXrlOAqJD0IjcLq3vIWIQR6
AxQpLi1wH+9hJKim1ia4ie7MvwAAJ48BAJEneFvm/Zi7ZC0/+i5AucBOtmgW7Mbs
0wiQsk5MNu9kAP9G5oK4QXR/H7c0b48hlkaS2WtxbqehPeNFwNeTjShYChYhBK+r
EfGjf9IMhc+Ak/SUHRoOxXSfAADk9QD/f+3h/qLHVtCRQeKFAzKwwd3+cPDdnwji
/3YCXMBbiuEA/3gJtitFx/zqXyE7c0XRcP8+lU68gwzMJBr36as25DEHxjMEYVcs
qRYJKwYBBAHaRw8BAQdAz1NtV4r2WnU4sFGlJGxnii4IE7zNAPgULlNUIy0DyIXC
wAsEHxYKAH0FgmFXLKkDCwkHCRArNAMc1cuTgEcUAAAAAAAeACBzYWx0QG5vdGF0
aW9ucy5zZXF1b2lhLXBncC5vcmc8m4Ibykv8nB/k90IpFwyzo85RP8lYCGlonXPh
Qi7W/QMVCggCmwECHgEWIQQuGqqNmiLJSsyjYqIrNAMc1cuTgAAAQs8BAPQxYVsZ
NCowBWK/9nt0sHg7bFfXJXF2WorX5PqFQq7fAPwNaB9al6t2Rd4rCgpDJ0j8IZRK
ZLcpBfD+XnaVR4JjDc0QPGRhdmVAb3RoZXIub3JnPsLADgQTFgoAgAWCYVcsqQML
CQcJECs0AxzVy5OARxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZwZSUbORv+BhdC2URgSKS1DgQE49lwrE0zry9XTAFbmUAxUKCAKZAQKbAQIe
ARYhBC4aqo2aIslKzKNiois0AxzVy5OAAAD93wEAmDlDGGUeAWd0CWw1dWuN2d7r
Yrh2NH3Ypju0HBGPS+gA/2JIWu0/uAwo7mEhP73C2Lmb7hX+2jEqWJozorg0y5wL
wsA5BBAWCgCrBYJhVyzlBYMJZ5o7A4UBZBiGPFtePl0rW0AuXXRoZWlyXC5vcmc+
JAAYhjxbXj5dK1tALl1vdGhlclwub3JnPiQACRAYJORrvMgB8EcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcTGrXfbe1O95lSNK18Lp+P/ZPN
MSt2dmjauea1oPDJlhYhBKddwaHtpSgvOnOBtRgk5Gu8yAHwAABZswEAg/YtHYyc
fOYXorpjOG7DCyOKOjRvpbFsU7b3B8myhqkA/j1p1ukZnjWJoXI4y/6TR/D4xtr9
VgLlq4Hoy/2zXigJzjMEYVcsqRYJKwYBBAHaRw8BAQdA29I+PqmTP+yMikKbK4qD
rl9MCd+IhAcpO2V3lGL7pEPCwL8EGBYKATEFgmFXLKkJECs0AxzVy5OARxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ9X0VhCiIoGUo8QNUAMp
c+bmGnGGZ/j0U445cPsTYF+wApsCvqAEGRYKAG8FgmFXLKkJEJ9/ytfaVvRgRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ7jD3FQ3WGpWNs8w
w/dTLJ//SOuwsQdQcnLkH797fnDvFiEE08502V1Nl8/qEZQwn3/K19pW9GAAAA32
AP9KDSCZlOBpeXH72z7AOQTYMHuegVcbpPNA2FHw2x9WBwEAn+JCU+kGAZRP42pM
u4JrNCXUKnFUqOKALc+wD265Qg8WIQQuGqqNmiLJSsyjYqIrNAMc1cuTgAAArxsA
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
PWJiBhbSYZmtG0x9GXF910Jaw0QWBUGoi0gGQwEAzLtYZ9L6tJHOM7tu1IcaXSOT
Hs9F8I5uvc5C+Ruq8gvOMwRhVyypFgkrBgEEAdpHDwEBB0BOGH1ye5YmElTg6dlr
XwtluPTrfIXxZr36KPKjOLYWBcLAvwQYFgoBMQWCYVcsqQkQOiU+SfHZcQlHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnUH9MGdUsKqBc2I82
OU3SCRLAU9sQ4YEFNOVCdficr5UCmwK+oAQZFgoAbwWCYVcsqQkQBQC30FAMPcRH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnCOt+rYHteXGZ
IVkG2RLuj60c5MXyWeBMkDP1//mNIAoWIQQ78NwXBLHF2zS++84FALfQUAw9xAAA
2nEA/jJIDcWBM4giImsmxN4hp7fKoEhDdqe2IyMbugMUoNPRAQDj9ltKnnfyS+sb
8nl9JWyp3IA0g9X/yOypb3cEcBiSAhYhBLmahpb9ggGSzu4oXTolPknx2XEJAADT
fAEAmLfsc034qvBdey8Ino/VIhGV0SlbGkezsxttNl83Xl0BAN24WgBXLDgvQwtA
j6u874WXc0eEf0Odin6JgndyWsoPxjMEYVcsqRYJKwYBBAHaRw8BAQdA7C8Ak0Zc
p6lfjHJgxjX12ZWeqD8f71qM8n76py5LZtzCwAsEHxYKAH0FgmFXLKkDCwkHCRCU
Gz4s5T+vFkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdM
tinpQjyIsnritGHxEOYZaLPwGScf7pYXykcdljLcRQMVCggCmwECHgEWIQT2RdCB
9IC+JsfSyE2UGz4s5T+vFgAAIrMBAPoMnJ8zu6mp2rt9Xfl2AtvFXookbKh0B0JP
8ZFFsW0PAP9D/NLfNf9PeY4QI6yPoLGtfmRTE9Xd672K0gmq3HjcBs0QPGVkQGV4
YW1wbGUub3JnPsLADgQTFgoAgAWCYVcsqQMLCQcJEJQbPizlP68WRxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ9cnBOt4/KGNsY1gIY/z04Tv
Qz7qUXaAjEve0Fp0iZMaAxUKCAKZAQKbAQIeARYhBPZF0IH0gL4mx9LITZQbPizl
P68WAADmHQD+IzFN7KrMsypMnQi+0F0+DmpO6ibjIj+PcYFUNVmjg0oBAOi/RJNE
B6w9E+m+3/TNTMvYEMnFYXgUvHgiRAr0pNoJwsAHBBAWCgB5BYJhVyzlBYMJZ5o7
A4UBZAkQKzQDHNXLk4BHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1w
Z3Aub3Jnu3tgcKh1g7+MPWRI2wQ7609dljlBz9PIaKkqY5IFALAWIQQuGqqNmiLJ
SsyjYqIrNAMc1cuTgAAA09MBAOT1J7UWCPN9Z3g+Xl/uopEySgFiJ5Uic1Wb9Ku6
KVojAQDBBuvgCtOydm2zgzXJuxyFMX0BLNrUz4ZDxHwB6Hu6As4zBGFXLKkWCSsG
AQQB2kcPAQEHQMDDPdMYqeoFNjqCMWpNyPdFwZ3NUeHGmbD2QqvrFpacwsC/BBgW
CgExBYJhVyypCRCUGz4s5T+vFkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmfQTQ7mc9ZrtuW9B0GKlzh/xRUESdWcODpk1plQ3ZcqTQKbAr6g
BBkWCgBvBYJhVyypCRDJRZJwxgfuMkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmdkarLZzLp5ak+D8Q0IeL3wEg6UPixVzAjOqy5ID+zquBYh
BP4EdjKlyDLKOPq8tclFknDGB+4yAABfLQD/Spw2PvrOkinkTJUBLqsyWbNgCIMg
7NzRgC/AMaV0JQEBAJuxW5jviDQe0Akfu1xn2VDHZp9k8Bj5cdEBKZT5BKgDFiEE
9kXQgfSAvibH0shNlBs+LOU/rxYAAId5AQD7u9kTGUsRdHY6HdhmgE2x4jCeeN3C
b/3Oc3hMga990wD+O5MBxdDomgiWXY1+NA+PW7wtWVDndiFZ5Syl6y5cew8=
=nldu
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,244 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVR62xYJKwYBBAHaRw8BAQdA+ELIvx1nB8BnAr6h7G9UMjkh+bKYbqn7ofHX
aYQk9mrCwAsEHxYKAH0FgmFUetsDCwkHCRCQWeOEagJWEUcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeZprypj6ETB8FbPChIyksUEltYAsE+
+3NEFbCEvsqGTgMVCggCmwECHgEWIQTUUV5mGQhO2BQt+FiQWeOEagJWEQAAi+QA
/iCrGUO2uryJJH/0mfItevcE/Afxq4AMj/ICLnDh7qaZAQCG3oNd633q05FRx3Ug
KgUzO3Z3GkDAqtt5hxhLFucvDs0SPGRhdmVAZXhhbXBsZS5vcmc+wsAOBBMWCgCA
BYJhVHrbAwsJBwkQkFnjhGoCVhFHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3Jng7G6E5G5CNidgxPdFcWid9eQOrUb8y4Bshq8EToUobsDFQoI
ApkBApsBAh4BFiEE1FFeZhkITtgULfhYkFnjhGoCVhEAAD7IAQDsq2uZi8cYr53V
c5MUJtUt3UZN9lHJBYcl/XLOW/5DRgD/RyaEoPwlzxdypcHPeAPEKuLTRBGRuQfq
WzzrsgK+WQ3CwAcEEBYKAHkFgmFUexcFgwlnmjsDhQV4CRAzDRGQ6Fh1TEcUAAAA
AAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmc7/3JrMtfloJDx9Gmx
tBbHjqEtO2xg+dhcihC+hOON6BYhBJLd6HR8jm7QnUGk4TMNEZDoWHVMAADluwEA
vVukwx8sCfDksQj1R4DxS781NaFpbUwpP/NJ76HMojMA/AwmVQ1PRxNwyea7t3uH
24v298lGOiJC0axh6h1S5AQOzjMEYVR62xYJKwYBBAHaRw8BAQdAeKK4ZWkM7bbI
kfRp25dxO3LQ+4LE6MfpCx4rskaYrkHCwL8EGBYKATEFgmFUetsJEJBZ44RqAlYR
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ2LLX7jxt9Uy
hS8V8I0+ut39J21JcEbHIC9SBO4VzPvKApsCvqAEGRYKAG8FgmFUetsJENLP7vRy
79n0RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZzRoXeZc
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
w40kORZoowjOMwRhVHrbFgkrBgEEAdpHDwEBB0A7MRuTwXEG8Z/1huc/vPSo3XLD
9Sfa1fVxwzMISIe8ZcLAvwQYFgoBMQWCYVR62wkQELu9AJEr6gJHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnhS7n2yNxjcuh4ioAxZ9ndpxc
OqpclLkuX82CYo6fP1UCmwK+oAQZFgoAbwWCYVR62wkQGYweM8CV69xHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jna9nR2rqaUASG3GPyjwuv
b/5GJTN5Lm3S23lCOZuXPz4WIQQ4UUIO9pHKpr/uR1wZjB4zwJXr3AAAK1MBAJma
gUZt58PSLIGvpqxeOgkczpkSQWosYtvb3NGx98+qAP9o7T514i5fxvtwfLWSWJKD
fu42if6haWW4AsvvcCwhDxYhBEHpsGnJbrbUdSUpSxC7vQCRK+oCAAC/0gEApDny
ZdtVCUBC2tNBh7QGH/IO/YdE8QeCaeDdKMru434BAK6B4El98+yCb0/t+NbwOSEj
+Nh+ACkLCopAsTy18QIIxjMEYVR62xYJKwYBBAHaRw8BAQdAzs8utd9wQoW8tWot
WLbvm4WYxVgrcsE13ZrK4+nrFtfCwAsEHxYKAH0FgmFUetsDCwkHCRAF7xfoqT62
UkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmf8SCfB3MXV
qcJxtPOiLYETacwZKMr7sXFhanY6iRxBZwMVCggCmwECHgEWIQTM1dsnvXxPjiAQ
CDYF7xfoqT62UgAAsNkBAKEcuw4p6eEyLcPveVWi4Wt91WIFPM3g2iqsNd4D7Rvb
AP4oRdHmUnGpleQ6a1QzK2Lk3TC3GLwKekDmwjobGSQPBs0UPGdlb3JnZUBleGFt
cGxlLm9yZz7CwA4EExYKAIAFgmFUetsDCwkHCRAF7xfoqT62UkcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdWSNkoJkpckPflQ2IDnN3naAbK
iNmUNCPidng3MW+bEgMVCggCmQECmwECHgEWIQTM1dsnvXxPjiAQCDYF7xfoqT62
UgAA2t4BAP6035G7oRGIKOpxM391ApziK45M4TiYZg1NRsBXp32CAP9aBEjTuxu7
3RXckcTOeMgoClyhKhERLLdV5iWxyTeYBcLABwQQFgoAeQWCYVR7GAWDCWeaOwOF
AWQJEJwkR+Yf/bsVRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ80DC7XnpKNKPj17r+RDSnU9Ko7/I4hfNMKCDKO2vqj2FiEErkBXiWJBE1b5
YJyqnCRH5h/9uxUAAGIYAQCiOowGTyeKRaH74MNGol2LMiJJJyGR2JpcZTIl8vF4
iQD/Su0tKqWo2xtFs5b4MbH1c3SE03pVGKfEunFl/t17zAfCwAcEEBYKAHkFgmFU
excFgwlnmjsDhQJ4CRADl+CG5wWsGkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmcnZZfP8VptvjdAe8ylO1OQSc7tBWo+VLxfegQwkS6p3hYh
BC6Qrulm3yjLkWQ5sgOX4IbnBawaAAAxJgD8CCryvgk86SqGCW9PUrKhX6u25NAD
EdiGXObKT8qS5XABAJTddqa+Wn7hPoB8aZWL3/RsY64e5lTchbLM4V9Vw84KzjME
YVR62xYJKwYBBAHaRw8BAQdAHjnjHWWTglvHqFrZdeURlVBLhl/J73VXHq6y9yuj
DSPCwL8EGBYKATEFgmFUetsJEAXvF+ipPrZSRxQAAAAAAB4AIHNhbHRAbm90YXRp
b25zLnNlcXVvaWEtcGdwLm9yZ6aaNMLp74z2u3ES6CqNEzV5E8403Y0MZVY8NRVr
RHbLApsCvqAEGRYKAG8FgmFUetsJEHJPuzWJeYvdRxQAAAAAAB4AIHNhbHRAbm90
YXRpb25zLnNlcXVvaWEtcGdwLm9yZ/0F+nh+U/HiBRGPm0YUCMHAaZabN6baSawn
qI0zBFroFiEE7Ml+t4dJ98UzhYGAck+7NYl5i90AABp+AP48Id/I+I6s/sYFc+Gs
FHuN93MWf6AKmoJXBydbZ7W7uAD/fwJyDQmvWH/eimvwFtcELU7uN1SyYhlnZF4q
QKYoSQ8WIQTM1dsnvXxPjiAQCDYF7xfoqT62UgAAGxQA/jtHTmHHqpz8uMec8i1k
hSyxLEKjvUJBk2ysVzUIYn6UAP0Ye3XjKOEsdE+SVIVORvmXwIkTz2/8SLFVpdE7
vyOrBcYzBGFUetsWCSsGAQQB2kcPAQEHQK+mP3taeULLSEyqk9OzmgK9Ev3PcvfQ
gM28aCkH4zCxwsALBB8WCgB9BYJhVHrbAwsJBwkQMw0RkOhYdUxHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnFdxnxRDqo1Pq2L2ABx4Z00vo
g9NvjuVubpK/VUy0rCQDFQoIApsBAh4BFiEEkt3odHyObtCdQaThMw0RkOhYdUwA
APiIAP4jl31f2sMwSBHjXQASvEPRYeboH/lB3eKrhWSu9t17DgD/WB0rTOPegzs1
G3FzRhSmjg/kkNLq9SNOimQSsA7PWA7NEzxjYXJvbEBleGFtcGxlLm9yZz7CwA4E
ExYKAIAFgmFUetsDCwkHCRAzDRGQ6Fh1TEcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmcub1q9H0Zp0BZGTZ/4XIa+NPBX/2oZwE8qk4a8riIX
+wMVCggCmQECmwECHgEWIQSS3eh0fI5u0J1BpOEzDRGQ6Fh1TAAAIwUA/RYVeJTf
q9bVqftv3UOEZNWRpNJOhmsEQSH24jNvmMAyAQD2YRytW5dTjp2P3ppF3h9YW4+j
sSaiHjF6usTOonb+DcLABwQQFgoAeQWCYVR7FwWDCWeaOwOFBngJEBC7vQCRK+oC
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZwWnOqvNOKkQ
P4GnBtnDjW64U05vqqFYC5obfgJF4j1MFiEEQemwacluttR1JSlLELu9AJEr6gIA
AO3FAQCwrIttMciJSffSVSIuVddcpHZhpb0KNOljrdYWaVEzDgD/SWWHsUJsbq2D
ua4LzwQ7Ow0wyu6eFmjAFAjUR4LbMQrOMwRhVHrbFgkrBgEEAdpHDwEBB0B+QoEV
tlBzIrbR1asqSpZ6GOmOLJcwkFtQWu9WEv7c+sLAvwQYFgoBMQWCYVR62wkQMw0R
kOhYdUxHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnRnRm
/v2+8WnYAtkcPeeRvDOj5ozZXXJuPcKbYgyUiNwCmwK+oAQZFgoAbwWCYVR62wkQ
TZBS4xsUvs9HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
Am13dX35pzJea6T0skV3WvNKGh+nAKUFjIZwyO5ICdUWIQQivpYUOTKKL2eewaFN
kFLjGxS+zwAAmboA/0XXOCpLkpZNXOFzBvVPKGmy3wY4Nu0bjidLLyEIOTZNAQDn
CMvgn3rtz0HLwV6B4tEFOQV8RNoqMrMP4bqGOdypBBYhBJLd6HR8jm7QnUGk4TMN
EZDoWHVMAABRWAEAk1Ee387fHaGVgDiJPxLd67J5V3e9PU1It6HjkHJYryoBAPWq
MbKByqkp9S9iIh14PK5TIdxCSPEDp9zuXmQTGnUCxjMEYVR62xYJKwYBBAHaRw8B
AQdAbTuaBphO9IhF8b41dBEw/g4o+bOCruhQLdvlbN+2bMvCwAsEHxYKAH0FgmFU
etsDCwkHCRD17lnCeVzbokcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lh
LXBncC5vcmcQW3XQT6BCAn0Xu0UbeQRjSh/HzIwWcVy8pm+vJFIR+AMVCggCmwEC
HgEWIQTlU8Edz6d38yBeUJD17lnCeVzbogAAEKsA/0nwCZRGYcMufkCyxruL7sWr
ZZ4nw1Fo21ZhP5mXeBy+AQCWufv0+l/PnIu7HWrygrncHSfeh8A7k1SEs3yueM7z
AM0TPGVsbWFyQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVR62wMLCQcJEPXuWcJ5
XNuiRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZwKjRrFV
d8t9f0oSUJ17vXuPbU/7GTdhekCJ3t+dm7+DAxUKCAKZAQKbAQIeARYhBOVTwR3P
p3fzIF5QkPXuWcJ5XNuiAACBvAEAsjLULj5hY6CRCmluoG101gdYWB+JjMNK2kKf
Xc8Y+hgBALWtOt4wBwj5s3l0nt/s/Fig3r3iSsfgDFDWc9AawoILwsAHBBAWCgB5
BYJhVHsYBYMJZ5o7A4UFZAkQnCRH5h/9uxVHFAAAAAAAHgAgc2FsdEBub3RhdGlv
bnMuc2VxdW9pYS1wZ3Aub3JnU5ooBa1b1s4tIJrIDl9yP6bcPRETQW7QTgMRGrol
hPMWIQSuQFeJYkETVvlgnKqcJEfmH/27FQAAWd8BAM5RHDsTxKycydS5hAMB12HW
TclCK2qB+FijH5XOdXYPAP9Bc0qfpyK21hyGPZddCWrUb+eFhHOERsOhQ71dzFb3
C8LABwQQFgoAeQWCYVR7FwWDCWeaOwOFBHgJEJBZ44RqAlYRRxQAAAAAAB4AIHNh
bHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZzUnc0DHcaKbw6/vbHt4lj+0IAzd
dzdVBtaRNWDvka6LFiEE1FFeZhkITtgULfhYkFnjhGoCVhEAAHhmAQCNebncriN+
X7Vd6FVd/F0B01u/jj4s0bU2CbdVC4LP7QD+OPmiofjrtl2LzFDbtVS4RchGokjQ
P15ObVBbLwWoXQPOMwRhVHrbFgkrBgEEAdpHDwEBB0Czdj02w3jyoQsaxRww9auV
FfbuCCvn5lN4mFo7Djt2PsLAvwQYFgoBMQWCYVR62wkQ9e5Zwnlc26JHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jns8+M6iQZ8TdPmKSJrLbR
HAw/0Wq0DEcnLsdxIPsoRR4CmwK+oAQZFgoAbwWCYVR62wkQdqq8aXZmmIFHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnuIMFd+9z8ssoKYHw
O+XqloK/8kWcLhZf9xKjecf0JmkWIQSyN3kbFL6f5DWEsYx2qrxpdmaYgQAATKIB
AP8oAXr4KzexpYEEmWOsCuJO3/BgQHLTAQ37hueXVyytAPwIqMTbjmMZez9TFrUI
CzA7UvFMaYrVGepcgXG0wpkrCBYhBOVTwR3Pp3fzIF5QkPXuWcJ5XNuiAAADpwEA
rDAjKL7mcIlf8CVd/La4AKm2TGcDi7J6KbY46b1c1kgA/3YIIVyAQOVO66IE/dUI
ErhIhcQppFfdjgfuGF2WOQUAxjMEYVR62xYJKwYBBAHaRw8BAQdA8gk5SRwNlEoy
htLyJmW+X9kLeIVVmRDxyWghssoJod/CwAsEHxYKAH0FgmFUetsDCwkHCRCcJEfm
H/27FUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcme/g2Ls
K8bCkleII9yzKEdfWwSix05U71HfTMNXGdOi8QMVCggCmwECHgEWIQSuQFeJYkET
VvlgnKqcJEfmH/27FQAAOgYBAMtSm2kf4szwkLG9bRtoM3PRZFgjIuVaukwEzswO
Zd97AP45RyB8KZzJ8L/muwW/UDTsw3XBJ4f8yTH9SPzRlNViA80TPGplbm55QGV4
YW1wbGUub3JnPsLADgQTFgoAgAWCYVR62wMLCQcJEJwkR+Yf/bsVRxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyJ27pS7dTacrUszMfK1clFB
mOKaLWJ+Xx7VdBfJ8B3UAxUKCAKZAQKbAQIeARYhBK5AV4liQRNW+WCcqpwkR+Yf
/bsVAADsMQEAmOnZfGn+cyOtknam6DIukv5uKIGBGHm+LYgP+HiOgmgA/1esFo0f
nYPX13kInACMw1ZMGQ0MC4L/Ei54/toOdAUDzjMEYVR62xYJKwYBBAHaRw8BAQdA
0/2df8Fyrpjo04us/wpmXxCL0sJan0cpzm6WsybfMQ3CwL8EGBYKATEFgmFUetsJ
EJwkR+Yf/bsVRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z98yRZxOwbXrmZitlQpUl38CnkaCogCQhFdH2jCuVutqApsCvqAEGRYKAG8FgmFU
etsJEF0HFzv7MJJ7RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZxknA7+RUivZi386PibTnq54uXWjsN2lONCtD8gJ6mXHFiEEjvEOzrOry5ta
hnwiXQcXO/swknsAAF1XAQCbLUCE5oVmzIw5HyyGBaKfOlixJ/VvdgPdrhoKNKo+
hQD9GBI8MJxZJsQHulYKnKqcodkdwNnF55fezUM5x0Ff5wUWIQSuQFeJYkETVvlg
nKqcJEfmH/27FQAA4lYA/1xeS9yCV7J5N2RYz/F1r66HNuIlToGUZbx4g6dwGrBo
AQD9mpt1qQWftVpWseILNuO8IXNEN2mROZEJkjiLuZ2tDsYzBGFUetsWCSsGAQQB
2kcPAQEHQBksO05pOU2ezNKtLO/kqY61Fp3Hl+gZzttR/ZFxbdfzwsALBB8WCgB9
BYJhVHrbAwsJBwkQ30+bpYMdkdpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3Jn/ih8nT+V3T9t7W4sTq4dnLXHFpAkFlfQT6uPX/a86REDFQoI
ApsBAh4BFiEEMmfUYkfSYQGz5QFM30+bpYMdkdoAAMPdAPwM7yZbz36CtcXlUPDo
8eC/68IYG5WCXbZVjyCTlDpjdAEA4sNubNLKxzCUCb0iqd0H0iQUaVDbs0nFY1Tc
PUAeiwnNEzxmcmFua0BleGFtcGxlLm9yZz7CwA4EExYKAIAFgmFUetsDCwkHCRDf
T5ulgx2R2kcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcy
MQZPzMnr8dVTUsG8oAui+uJ8g5MsylWSn7C+Hd3xFwMVCggCmQECmwECHgEWIQQy
Z9RiR9JhAbPlAUzfT5ulgx2R2gAAbO8BAPcdQzpEsGNhv+3rdEQS8uXw/N0JSBNI
YTv1sH+ux3XUAP9fWSJEjCzkBJcuARRyLCYJXeTGUkWYcTQBXhU9uKkSD8LABwQQ
FgoAeQWCYVR7GAWDCWeaOwOFA3gJEPXuWcJ5XNuiRxQAAAAAAB4AIHNhbHRAbm90
YXRpb25zLnNlcXVvaWEtcGdwLm9yZ7vc9Ju7Kje6ywP+HsbtIUWIzHhcsWrQaO3L
vM44XX6rFiEE5VPBHc+nd/MgXlCQ9e5Zwnlc26IAAN51AQCjPb8itbTB5+0z0pxX
K+dCbJ2c5aQ3zuIG/6rluWxlJwEAhIeDxDBS4zbPE9rFi0uIU/Lmjq1X0n2ki5e/
ADHLbAnOMwRhVHrbFgkrBgEEAdpHDwEBB0Cm4ZcNdtV1sxpi8wcZWZflJMsrNzjy
Nj+bfOy7eVSgwsLAvwQYFgoBMQWCYVR62wkQ30+bpYMdkdpHFAAAAAAAHgAgc2Fs
dEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnMCClI4uhmLqQ84ZmlkMbdfS8f6bX
e3kjll4l5IR9gbgCmwK+oAQZFgoAbwWCYVR62wkQmDa+mrGtQnVHFAAAAAAAHgAg
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn5aYxYMWIsTcJPdlynAHKZyAD
TPxXY2Yce4OcJkxO19IWIQQ/S/GfwtlWNgs5/Y2YNr6asa1CdQAAxTUA/3z8jgsi
JpCMERfh7jpXtN7XJf0xjpf4RkxZV3uBewq5AP48jzt9QFQGCB6KVvV47KlxNPGG
vIR2lnJf6fm1WCJoDhYhBDJn1GJH0mEBs+UBTN9Pm6WDHZHaAAAxqwD/bZbelefT
4L1Jd+uKyM5uroQNzZ24S6xdPv+xAPGYOIMA/jJE3oLXBI2qAG3qt83px9gmjqTz
V6wFaUxubRQXAs0DxjMEYVR62xYJKwYBBAHaRw8BAQdAv1w5GJmu7+w8Ec1iRP7j
ms9MRRa1HK7yN6GDX/OOrB7CwAsEHxYKAH0FgmFUetsDCwkHCRDI2elMRzFSm0cU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfsGe8l86CB4lt0
SQLeODSN3f5QTBEX85SMw8PCN+auHgMVCggCmwECHgEWIQR/Yu+XCRrh/LThxn7I
2elMRzFSmwAAIh4BAJpjm/nFfDaFdXcF8Ijq6NB3jlCE2sxUNCGe94WS0EKVAP9P
9vtv+cF4J4aHF4KrrDQ/WHNeDtB/rS01Viop4/15AM0TPGhlbnJ5QGV4YW1wbGUu
b3JnPsLADgQTFgoAgAWCYVR62wMLCQcJEMjZ6UxHMVKbRxQAAAAAAB4AIHNhbHRA
bm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ74BeVmPofPq7a8j/IDecJHMtK/W/dO5
GQamdBaVzfHHAxUKCAKZAQKbAQIeARYhBH9i75cJGuH8tOHGfsjZ6UxHMVKbAABa
PgD/Y5xEtoIa+sFx0XKc2gA9m9YU/q1ZwVYOjOk1FjTNr68BANqqx2kDBcTVj4nu
qTpve9Y4Bi1CGV2JQ3sjGnyBvgoEwsAHBBAWCgB5BYJhVHsYBYMJZ5o7A4UBeAkQ
Be8X6Kk+tlJHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
wMKd+RTRWXGmO4OtYNe3bvP6cwu7q7fuCnPo/YklMcUWIQTM1dsnvXxPjiAQCDYF
7xfoqT62UgAAP94A/RujDantedVOm8do2x7ZxfS0P/inEqe9Z1+XBlAyOJLvAP9z
kFPztIog1+wQUTK800yHVDiyhGEHZA5Rn2U5Ynq0As4zBGFUetsWCSsGAQQB2kcP
AQEHQOr8kNpTR5ZzvTvXw+49yOzwYgTKyf67RVmW950NhEnOwsC/BBgWCgExBYJh
VHrbCRDI2elMRzFSm0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcmdvc6tcPIHxgWrrVsAM4rCgC4uTyRVhNmvZW2L7RaIvTAKbAr6gBBkWCgBv
BYJhVHrbCRAxcOOdhCc3jkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lh
LXBncC5vcmel9G342aFwWUNMXGLx//Oh5w8JOviQ+Tm2vr+bjFf0CxYhBLvCrKCW
8lvQWYXuOzFw452EJzeOAABkUQEA/q+X9DqE0pAZEcF9QpEo8bpY9GFWLwi8bSJN
40LrZesA/A/n0rqMDvVezoqb34KkmMJ1AODmESo8eCuoHH3V5IoJFiEEf2Lvlwka
4fy04cZ+yNnpTEcxUpsAAEtnAQDu0XRf0QIqAp2ZD6Yf5x2pNLs1oQtAanN0Hjf7
QGCSvQD+Kd/lMc5y3MZEoaEdz/mUieRdCJ5w4IK3WUl/JftrpADGMwRhVHrbFgkr
BgEEAdpHDwEBB0D/RG/pIPqGjRRJWsvu/JiIFFQBC7V6xycRLxJtSLGPnMLACwQf
FgoAfQWCYVR62wMLCQcJEAOX4IbnBawaRxQAAAAAAB4AIHNhbHRAbm90YXRpb25z
LnNlcXVvaWEtcGdwLm9yZ7UDyQa2uRDij1ztCioMg3iyJhUydEWM/2T1dm6s4u3J
AxUKCAKbAQIeARYhBC6Qrulm3yjLkWQ5sgOX4IbnBawaAADQWgEA00/D+4L8daSi
HbK3IWj3E6UDK2gHMAXWSEXc25FlAT8BANKun2qlOnB9upM9CXebzPHpcdtXDRoZ
FxevSwXElBoFzRE8Ym9iQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVR62wMLCQcJ
EAOX4IbnBawaRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
Z5685cqSzVpYKLKd6QlDQ2yR7c1reMXsHpC8cRBbDMxFAxUKCAKZAQKbAQIeARYh
BC6Qrulm3yjLkWQ5sgOX4IbnBawaAAAI+QD7B7PDR7fMneqZKqqFOimw7O/zefHu
/98nKMU7Uw+ZUTkBAJ1uDuvuuAsadwUKN0/XVIcib3gMpPuJps4UCny2wewGwsAH
BBAWCgB5BYJhVHsYBYMJZ5o7A4UCeAkQ30+bpYMdkdpHFAAAAAAAHgAgc2FsdEBu
b3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnPqYmHhqQFNjqp/TyEB6LGEP6rUH3d7Kg
aha4lPYiWwAWIQQyZ9RiR9JhAbPlAUzfT5ulgx2R2gAAPOgBAMt+vufotYanal8J
3hvHL+eT8RIWRGGctMo5SMvSTa1jAQCHjoZ5p3x3ZyLqIh/82ru/Vkwd2nTo5xne
Y48WaoWOD8LABwQQFgoAeQWCYVR7FwWDCWeaOwOFZDwJEBC7vQCRK+oCRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ8Zb5S15jsgzszifXulA
JqE5ogy5RfR+fTzVwtsNTfvMFiEEQemwacluttR1JSlLELu9AJEr6gIAAIPOAP9e
VAViYWt3xinGYRL6VKON+McF3LgoOnsRqH1VcK2xwgEA3iNc2kkm6Rb1EUyxDOOl
9wGdZnm+RK0K4m408qz1BwjOMwRhVHrbFgkrBgEEAdpHDwEBB0AfrL4PfeAUW9fT
RbcZzLV2CHBaG1/kDVLT57DsKbZiD8LAvwQYFgoBMQWCYVR62wkQA5fghucFrBpH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnApQ1Ic/qHKHd
5GMDpk9cFQFbckc8aM8m2J1e2ANlikMCmwK+oAQZFgoAbwWCYVR62wkQY7tCkEe8
Ie5HFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnxl5Ik+9O
1hanrIYMOzZ90f6M3zl+WBkjg8f2HKV0HOAWIQSyPkVLQstd2CyeEnRju0KQR7wh
7gAA1xgBAOW6WcYczLQk9CcMf/NX6Kqd5QkoZO8OYf7je3dgct+KAP9EGhbx0bNu
1qK85VQcvJVsw9gbsPzVn9sStIXzOQUSCBYhBC6Qrulm3yjLkWQ5sgOX4IbnBawa
AABQhAEA83vQhBcdbVsrfiylnZ9KjQ0USMXUUcUer2CLRG1VtVwA/3nzl1Rc0CT0
r0MVHJufqzxraEaKb0FkixRPqXVSYbYP
=tfhi
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,62 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYf/xiBYJKwYBBAHaRw8BAQdA+x+GI010aorGV6fLQeG57iqSvdu1JIVt/uaQ
fnt13BzCwAsEHxYKAH0FgmH/8YgDCwkHCRCl8wr2627xSkcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmekkhTOPUhDev/7WgFfVB62Uz0FDULJ
+TD2sgdUmqUHZgMVCggCmwECHgEWIQRRpeFfh6xuyvvqkw+l8wr2627xSgAAIV0A
/RjLywe3ICnxUfMJIFdclavzOAE5t09kpkLDsfyZvWCwAP9H++R/29FySIfhiS5H
dtN0QOHSTVIZNuLHB+Ax7YHYD80SPGRhdmVAZXhhbXBsZS5vcmc+wsAOBBMWCgCA
BYJh//GIAwsJBwkQpfMK9utu8UpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2Vx
dW9pYS1wZ3Aub3Jn7v0LnhtQIoYbyjc5QFmxawl1Bspz5Y1gkgdnmQimuc8DFQoI
ApkBApsBAh4BFiEEUaXhX4esbsr76pMPpfMK9utu8UoAAHa1AP40ztneISFZVlxe
LpvlA2z8zIhv9XpR6Dcg6K2PhSHZpAD/S0DncqKkTSpSulrkgwKogxk04iIJT7LZ
eXdxAxtZxAXCvQQQFgoAbwWCYf/xxAkQ2oac+HmlYw1HFAAAAAAAHgAgc2FsdEBu
b3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnn1OnwRsW+rk9rs4+1MEdcxOs4ysA/Zgo
lnneV58oDv4WIQSDAjAGFCbumaBFXmrahpz4eaVjDQAAiXgBAIUKg23w+gCQP+Q3
62KL2MJ6btqwdLtyvC5FpEksLABmAP0fKTdy0YvoMt0oa6VkusIVQLnDcTmLKlYq
3+hJANuUBsYzBGH/8YgWCSsGAQQB2kcPAQEHQCkAYeuI8imqI1p9gpMll/RKAo8b
5lebiOJuABDagUhRwsALBB8WCgB9BYJh//GIAwsJBwkQzhS+5R1N7AFHFAAAAAAA
HgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnJyUWPNusgtJ6932aeu7D
RPo2rQXAL1cezWy1IdQIu/8DFQoIApsBAh4BFiEEentd5sj0ZMq3i++5zhS+5R1N
7AEAACH0AQD6Gp7Ml7VJeeWhcfcd7tSO24Vx8og7k/JBt8dd3Aqi+wD7BOwqhyQG
WPWjywHzlqmcNhc71kzsE6E+qn9CHYr11QbNETxib2JAZXhhbXBsZS5vcmc+wsAO
BBMWCgCABYJh//GIAwsJBwkQzhS+5R1N7AFHFAAAAAAAHgAgc2FsdEBub3RhdGlv
bnMuc2VxdW9pYS1wZ3Aub3JnsyqU1ylcbrnkq1P4ldpHTzrCd+0/ofIJLdXeqgtq
4H0DFQoIApkBApsBAh4BFiEEentd5sj0ZMq3i++5zhS+5R1N7AEAAFdiAP9bI5QU
Av/tu+lqji9d6ZhfpJlJEaco3kBYxmcL7gi4iwEAgDlMX8Six46eOW7gyHGzH2oo
C73mynryPZKuMoZ98QjCwAEEEBYKAHMFgmH/8cQDhQFkCRAIpP2082jsuUcUAAAA
AAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcSgIcfpoTBKNIEkEQw
rufuTEFZuhQHxLv3jWfx3JYXnxYhBIOEVODWHQRjALQIqQik/bTzaOy5AACNDgEA
5IwywmLIetvgtd+ARH5Iw2eJ43wVOAs76GbofJjXgX8BALLwDj90x+0nM/gKEKux
ruaqHqbSgSC/RghlxvuIc4IExjMEYf/xiBYJKwYBBAHaRw8BAQdAkFbSMIjcgmJM
mSSBg0YfmpkxjLwW8TRFTKII11MsNVfCwAsEHxYKAH0FgmH/8YgDCwkHCRDahpz4
eaVjDUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcnvrWs
vukOGPZHsOlR5BLOKFw6LHQABA9nZN5+zmki1QMVCggCmwECHgEWIQSDAjAGFCbu
maBFXmrahpz4eaVjDQAAVlABAJfbFjBYbhXEq+RVkd4pepMTcfMsUD8+9yDuaAJg
ILo3AQD/8uPicVKdhZPuHMQakBjvmwyF+1LR61ZGOSfppFsXC80TPGNhcm9sQGV4
YW1wbGUub3JnPsLADgQTFgoAgAWCYf/xiAMLCQcJENqGnPh5pWMNRxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ7k3fuC7hSutgzaVxSunoywh
/U/IuGpA+1BEBs6/axU9AxUKCAKZAQKbAQIeARYhBIMCMAYUJu6ZoEVeatqGnPh5
pWMNAADsEQD/UNrafaCgaMZ0JFTIIf2mYNMn6prO9ifCcSUy5GrhObUA/1m6jijI
hTAPZKRTF0qlgQcMInjo9MLg0rTK8rKNQxMNwsABBBAWCgBzBYJh//HEA4UBWgkQ
zhS+5R1N7AFHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn
ETGBPAigPXVb+fCd/MVz2t7J+ePTolQOHzbK/dszt6YWIQR6e13myPRkyreL77nO
FL7lHU3sAQAAxqAA/i4ZpuijfEcdrptWWtTIcSd//3c5g0tRePW+xSRP4eNiAP0e
ndA4KViXp6ztWTKrWurJc6Ix74Oy4Lz0cGUTRYIjBM0RPGNhcm9sQG90aGVyLm9y
Zz7CwAsEExYKAH0FgmH/8YgDCwkHCRDahpz4eaVjDUcUAAAAAAAeACBzYWx0QG5v
dGF0aW9ucy5zZXF1b2lhLXBncC5vcmdcMud8P7bqc/atRzCIInd+1LlbfKqAcjCd
4LS/yKyuWwMVCggCmwECHgEWIQSDAjAGFCbumaBFXmrahpz4eaVjDQAA86AA/RwA
E3idsw6QmEVTyMNgzDEi26ZTb7S3BzFZnbiCOuiaAQDe1ZnDQVK7kAedDNurSCgr
Hi8UAoXj7MRngBFSYjx/C8YzBGH/8YgWCSsGAQQB2kcPAQEHQMP1TVFXe9XXwIC6
bI1oa1XapL24ohOunCERIhbigtk8wsALBB8WCgB9BYJh//GIAwsJBwkQCKT9tPNo
7LlHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnsyht56/k
F5H4Kk4l2Rgf5flE9terDLDDpUtt4+r6EykDFQoIApsBAh4BFiEEg4RU4NYdBGMA
tAipCKT9tPNo7LkAAIizAP9GSnCGTuRU16Ncs5rWioR9s3ven1XorsU8I/tHvYdp
TAEAqEoMTqEjquInrCFQRT1Q706wsv2mLKib6kbijb2e8A/NEzxhbGljZUBleGFt
cGxlLm9yZz7CwA4EExYKAIAFgmH/8YgDCwkHCRAIpP2082jsuUcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmd3js16H7YMe2Hs2TSuQk7uIyOq
Ge/ql5BNhUV5PK9ZpgMVCggCmQECmwECHgEWIQSDhFTg1h0EYwC0CKkIpP2082js
uQAAmLYBAO1CSrO6PjL3odY8I0JM+uOLbFefEtdDTj2Fz392dKMTAQCO0YI7jjEJ
6dCPjxJV5aI1JSX5aZX7RQt0IPyaK/BnAg==
=H3/F
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,31 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xVgEY7191xYJKwYBBAHaRw8BAQdAt3Jnair5yJx4QkkXlq/BL5OaIv3CNOChNkJS
k8pfhzQAAP4thMBQGCbMFzftJi5cCq93+QHkRPfvJjsCqqb1X2GngA97zRE8Ym9i
QGV4YW1wbGUub3JnPsKQBBMWCAA4FiEEIxvEq52Mq4bRYizgLAzlVJmO7NsFAmO9
fdcCGwEFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQLAzlVJmO7NufhQD9Hs3h
bdIz/FipSJcWBwl8kSYIowh9XlvhgYMMBayfoegA/RKnRMaj8RlilQl5gfyUhM9H
BIZcjl6sekRukxbDiiQIwnkEEBYIACEWIQS1+gibp2/j4X3BFmCWDlMoZzj5TAUC
Y72AHAMFATwACgkQlg5TKGc4+Uw4ewEApnGFy6ayTMra6FBbeoRoHdIlKJRerCvq
SkfIxsSW2R4BAKnHPFqlX3XcGIM0krsw4lpnHlxISjjMgFcsoT4YXAMCwnkEEBYC
ACEWIQS1+gibp2/j4X3BFmCWDlMoZzj5TAUCY71+oQMFAXgACgkQlg5TKGc4+Uz1
AAEAh/TpOxN4AZrYmfl/eA+McYCAlt+6xLwVIZuZwd0dn20BAP2Tj2pTFgOhUpWB
g5mj8Zoj8kU2xTlJ80FnexMtGlYExVgEY719zhYJKwYBBAHaRw8BAQdA87Vhi+ek
HS8TQ8xU5c2mgB1ezzzdXjDRIPOgSuCiP9AAAP0bejiDjIlbxBf+N7aKzSUpyGlg
DVoFj24Dm6CRcjJqcQ5wzRM8YWxpY2VAZXhhbXBsZS5vcmc+wpAEExYIADgWIQS1
+gibp2/j4X3BFmCWDlMoZzj5TAUCY719zgIbAQULCQgHAgYVCgkICwIEFgIDAQIe
AQIXgAAKCRCWDlMoZzj5TAwBAP9FLJeKOyd9+DnITTOSKusHUb8TL54yFSQUYhGx
t92/1gEArci0UDsVzpcddpQzToyQyHcUraQ7FoWPCAnqfpG1qQzFWARjvX3gFgkr
BgEEAdpHDwEBB0Az9tiv+Hr2aAv7aPgJXLe1tTbueOoUYPy8K2eJgt1OfQABAKxZ
fGL/qwuY4626kefpvDWAVbZ9u2FO+QzuNGO6x4zWEqzNEzxjYXJvbEBleGFtcGxl
Lm9yZz7CkAQTFggAOBYhBPq6hIWy1NW/FYKqljqBFed0+phSBQJjvX3gAhsBBQsJ
CAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEDqBFed0+phSFwIBAPPjbKWpKK2EhA2B
E3pfab2F0D/RBnA3U1u4EeHn95ghAQDE5YbOy67HPVtRJ9+b4wx17RQv+Noxlsou
U9MeHvkNDsJ5BBAWCAAhFiEEIxvEq52Mq4bRYizgLAzlVJmO7NsFAmO9gEEDBQE8
AAoJECwM5VSZjuzbPp0BAN0Sz7zJPowGPe7Tmy07b5YQi4nNwSIeaAW5NsONX52a
AP9jIr9eJk35Zt+frsdjLKkZAHMwtCXL8soz4cnIb7bGBsJ1BBAWAgAdFiEEIxvE
q52Mq4bRYizgLAzlVJmO7NsFAmO9fs4ACgkQLAzlVJmO7Nv06gEA5g0gIH7BsKN5
vFhBu1jUBVQyOEwkTaELqZpEG33aR/QBAPM2PSocPKKISF7ilaELKsUS2V+WLWmw
E2U5yD8GjoML
=Up35
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,137 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYVwdmxYJKwYBBAHaRw8BAQdAk8bI3OCZQGs6/5RRr0wdXEkUznIxgIh3oLLZ
HLmWT3jCwAsEHxYKAH0FgmFcHZsDCwkHCRC8Hc/eraTukEcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcme3NNjp6ZM7I1EjMzjTdxwlz7fWnES3
4kL4kwoq+cNiOgMVCggCmwECHgEWIQQ5pHmBbJNLngRk8fS8Hc/eraTukAAAZjkB
AO44HIBtXzYNiVUGHJhp3A16Qeiw55hv9acDhUjMnL0gAQDT2eQfFV16L0/GCp9q
DharuFPy7MYVEYid9QJ6JH06Bc0RPGJvYkBleGFtcGxlLm9yZz7CwA4EExYKAIAF
gmFcHZsDCwkHCRC8Hc/eraTukEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmfuJdEIyEhbj7f+JMVhtlFcqjgUXEJL5/wOK7yYXmY7jAMVCggC
mQECmwECHgEWIQQ5pHmBbJNLngRk8fS8Hc/eraTukAAAt8MBALgsEpMAAtyES4FU
CmblPgV+cgRREARciTft9PbnOgaAAQDFqL1d480WU++kyitL5mUKlyhxxjXtoPtm
O6gkvwn1D8LABgQQFgoAeQWCYVwd1wWDCWeaOwOFAmQJELwQyc5KaZ2NRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZw9BTBFY2ZZ4SmpzUGQv
b4/iWzIPaEeXbxnKen9KUDf3FiEEhdq2VxOy0Kv8Wk8ovBDJzkppnY0AAJC+AQCL
VDuN70ntwJxtjysSvzYU9qZDFjcAzP/joMh608ve3QD2NqAlAZ0CI7BgvzNigpN1
fR2m1XC0v4yezybC4CQaCs4zBGFcHZsWCSsGAQQB2kcPAQEHQHzVQ0sO6/t83vno
pQOQlopwjaHInq/afjZVDmtSJUojwsC/BBgWCgExBYJhXB2bCRC8Hc/eraTukEcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmf9t3J5Nd1DbTwq
kRswDnG+YmAGRlMkHfJGZNbskgXZkAKbAr6gBBkWCgBvBYJhXB2bCRBz4vrc/Kki
LkcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcNVLVTxaXP
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
zYVyIe6ksXCTAcLABwQQFgoAeQWCYVwd1wWDCWeaOwOFAWQJEGd8tw/7/hKBRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZyPcvKx5CEPlPwS9
XeC/FkwuEeIXwBpfMCKQBO4+mV9VFiEEMp1ar3PccLTj3S0RZ3y3D/v+EoEAAJhw
AQDROKCDXEGeZOsEVkatgrJYSFzBGX+xU2NrM6R6CHRywQD+OzbYktS8sAmE7MOd
LjgS5RkLue2LSSfSDmXR2r6PGQnOMwRhXB2bFgkrBgEEAdpHDwEBB0B2qg/kQ5ii
ZxubFFwaFQ/vCMAMSlMWrPLR/4cc1vTqGMLAvwQYFgoBMQWCYVwdmwkQtDynf3wX
avRHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnGTMWmoOh
7alBTD9MiAmgrZwqf7hXC5iP+3ZFGRiTreECmwK+oAQZFgoAbwWCYVwdmwkQNhsA
H3EgoCdHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jni29b
7AKRh3IsUvJwGZaMkXBbYLEE3zZL240KJ5Yd/NAWIQTS2X0aQMxF7OMwBG42GwAf
cSCgJwAAlwIBAPMitwdPaDSCipP5PTpn73S6QQ/oakY2GXQQpSILoZ0sAP9ma52e
zd3Ef4MS6grWtM7YziFT0TgXJgkqXb9op2K9DRYhBKcxmpsWarUwpfusirQ8p398
F2r0AAACigEA2RCf3gA19TtoYYPUeE7wf9CzbeR0plGRhIGYxej2jGwA/RwuDeiI
aqwLN99MAY4w5akwDVZOHplXpFms8Ki1WnUHxjMEYVwdmxYJKwYBBAHaRw8BAQdA
8uA9nQIUSGk+eVWb/VEr6RMv7IO1CUzEZUseIa5m5YPCwAsEHxYKAH0FgmFcHZsD
CwkHCRC8EMnOSmmdjUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcmdxon0OeFIi+jtSAiPy42gVKo2hgFQYBqp/AZ8OpXPNqQMVCggCmwECHgEW
IQSF2rZXE7LQq/xaTyi8EMnOSmmdjQAATfwA/iK7Ab91rzETGQXmlRCvH1Yo7oph
PmNRa0srdiT4p/ywAQDLsJbZY9MPcVh82DxL1w/vC01zXbO0AGlEYUQDGxBLAc0T
PGFsaWNlQGV4YW1wbGUub3JnPsLADgQTFgoAgAWCYVwdmwMLCQcJELwQyc5KaZ2N
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ9+0s4dvx5ca
70dHxiLPzovre+NqtglUL6YxrnRAYF1jAxUKCAKZAQKbAQIeARYhBIXatlcTstCr
/FpPKLwQyc5KaZ2NAAAZ0gEAunPv0OLMDRsOA5/qVSFrf9ERK9KyGesjs7EQ9Rl5
liMA/2xV/X80DwKY0ytoF6Gmqxr5wMSns5ZcvDBbGJl7qM4NzjMEYVwdmxYJKwYB
BAHaRw8BAQdAW21wFQDicmTa+zseQ6C8qGXSiGs/v6rnJLgO/LsJQsnCwL8EGBYK
ATEFgmFcHZsJELwQyc5KaZ2NRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVv
aWEtcGdwLm9yZ/jmilhMLNoEq8L9amKw6JuAQQses4ZsHjd3PaJZgyTeApsCvqAE
GRYKAG8FgmFcHZsJEB+OyxG/TbN0RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ5d+CLnY3K/5d64iFHXzo8Np6V5zIUs+6S7quw7A3YmwFiEE
VIxzLR3oBVQH/bOOH47LEb9Ns3QAAJvyAQCvsq1GfYP+mHKedbX1MpiW4FbYFR1x
wzN80NpuF/cX/QD+K9CSFfMYDteF89A8oXGSaPGsK37Zs4znSLyJwgfFfQkWIQSF
2rZXE7LQq/xaTyi8EMnOSmmdjQAANu4A/A/p6c2ImEi0PWhzclre1+9/D/eg7/gI
iSUC40OiCgthAQDgrEp67PQBPuGBBpEoYumMdlDZWH55zIm6YZEKUvw8AcYzBGFc
HZsWCSsGAQQB2kcPAQEHQAXJdxpg5s179q02cQAJFOI7oont4QTI1VEr73jl1bSn
wsALBB8WCgB9BYJhXB2bAwsJBwkQ3IapfNLIGdlHFAAAAAAAHgAgc2FsdEBub3Rh
dGlvbnMuc2VxdW9pYS1wZ3Aub3JnulTVgQDVcGnq1pIWl911apVKeSdAALgwocRk
NlvWKXUDFQoIApsBAh4BFiEEJpMjfSztC7aPEY143IapfNLIGdkAAFO/AP0e2lUg
Zge4ZyYUL6mh6pZeQOyzKnzPIFtgYq5Fn0eW/gD/WaK5e4h2As7WbeEBm1KkQ28y
ST1RKDP692I1MV2k+AjNEzxmcmFua0BleGFtcGxlLm9yZz7CwA4EExYKAIAFgmFc
HZsDCwkHCRDchql80sgZ2UcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lh
LXBncC5vcmcPnps0Dp5p0YJ/AjuWO0Fr+16rqp8oX6VaEy4uMPIgqgMVCggCmQEC
mwECHgEWIQQmkyN9LO0Lto8RjXjchql80sgZ2QAA4ZQBAPUWBaex2nKunWta81+h
0n1uQqFSpLx/wFU1MVxkvJIzAQCdthYV3FUMXBhb/PTEW3rfcU4F0Emm5221x6U4
sxn+C84zBGFcHZsWCSsGAQQB2kcPAQEHQITURTrPxNzEJGkh1r4YUgD8dfWAkfSH
g4MX3piLSolfwsC/BBgWCgExBYJhXB2bCRDchql80sgZ2UcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeYFfx77wKkI80lLycQaD2wVBe8sPaL
G8nbBBXidVmB2gKbAr6gBBkWCgBvBYJhXB2bCRBM3zDGnGovIkcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdf1slPSghIYzgQ7X1X1TUUJWaG
xyrHUBfeW8jWbaEKkBYhBCqESu3tyggv1PeZoUzfMMacai8iAABZMQEAxWSNnObr
JX8g1D1WL9EqlX8iUK++B5bvMv+Lda5pPNoBAPt8p6l1fEWNKZXtWxnbC9SVSm5J
mL8asTSEDDcHZQgDFiEEJpMjfSztC7aPEY143IapfNLIGdkAAGrYAP46iX0UVZC9
9NxlZRON4d/+JHKvCrCOaDX4wTEjAFrcogEAqDDPOvZWO0HO8rR0YivR1wU0kwHG
Uujn4XGt2u3GygHGMwRhXB2bFgkrBgEEAdpHDwEBB0CLheVc9lxL6EfpgSCeVl+j
oMjxZ0TeXufKaFeEwzT0QMLACwQfFgoAfQWCYVwdmwMLCQcJEGd8tw/7/hKBRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ6nLVMH/XWlzbxMX
e/6vzRsE/gYP32ACMJftuYMSd+K9AxUKCAKbAQIeARYhBDKdWq9z3HC0490tEWd8
tw/7/hKBAACulwEA1GMTIrbA8vq2ZPFRwaw8rdGiNWhQxDi9/SNgCBu9HAABAL5u
IYWLF62cmWkkXZvnVQybWBoEWqqAo4nd6A8silQAzRI8ZGF2ZUBleGFtcGxlLm9y
Zz7CwA4EExYKAIAFgmFcHZsDCwkHCRBnfLcP+/4SgUcUAAAAAAAeACBzYWx0QG5v
dGF0aW9ucy5zZXF1b2lhLXBncC5vcmctbryiXEnpUrOLEhcNOX3wAiRbxjWRvCZf
oU4FxC86dgMVCggCmQECmwECHgEWIQQynVqvc9xwtOPdLRFnfLcP+/4SgQAAaf4B
AIQqi/mq6OzedNxO3YCqVDgnkR9GzPUoNUrm/pSvoXqnAP0VmRN/VR29b8+kDUjM
xI46Ogm1fh7vFTtbJju1+ELwDcLABwQQFgoAeQWCYVwd1wWDCWeaOwOFAWQJEBoc
9Nx/UA8ERxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZwzy
PrSNt7XRHHhvnZAPPeY1TtrtSPZXTpZgXvkf0savFiEEQ1MPkbRQ7bJpqliCGhz0
3H9QDwQAAHp6AQCa8V9L2z/hLfFFHEgwzmrPROY2/o6e2XvOUs89zVCBvgEAqzzw
NUUDBEu2nT/cYN2cBPNDvE0bJY7rO9LGV/aW5ADOMwRhXB2bFgkrBgEEAdpHDwEB
B0ARmJpTF4micHpu3jHAKu/oxdS4mjiJ8Iu1lSEa7Fd1f8LAvwQYFgoBMQWCYVwd
mwkQZ3y3D/v+EoFHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Au
b3Jn4oTzk5+Is/hGYuMYA+SylOONmJzNgcvz/Dr0RWYoNqYCmwK+oAQZFgoAbwWC
YVwdmwkQ0AAL+QhtZcRHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1w
Z3Aub3JnnTwrZh/CjtbFdynQbf0mAnySvtMu4wf6rzSjt6lKEfQWIQTF0s1GzpMz
cAdIbJLQAAv5CG1lxAAAiW4A/A1MFOPPEqacYtl78AQ62lKtGqd9M5Al9DwhThM0
sKXQAP9OM8vuVYiP41YSG/ut3uodHYVkHC0JJRgGyqfxR6nrARYhBDKdWq9z3HC0
490tEWd8tw/7/hKBAAA+vwEAmYbvwn2hUttyxJLVPGGTB41d7o8ezMHZmVAvfYE1
dRIA/ifzLQTJhmU4tnzAnD5xewYw9uAEcrh5vXoGPVn7+XYJ
=0tMR
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,95 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
c2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn+DEKCHP+xYMcV5LLB5K5dH2I
w9BmJxSJckTsAkIX/OQWIQRvo9S/vEXV8ksghTZjxU+90Q4A4wAAorAA/2eO42HY
FVH3wJj3SvhqT8EQ7qe/hpMPAb7uznxhL6CfAP9nlen3sa+Hb1FvEQIjCXjYv0G/
vMJMdEujNIydIhgMCxYhBM45i+ZTiVSOwjNP6NFs7Fjq31NNAABvHwEA0LH6AxAs
5hGYltx9cevRYBOBp6IZgcHjFe8ul+BluRkBAKoOtddLcHVWqkQvwhJfZeFsWh4Z
xmCcSRIPhKIQKd8FxjMEYW/3iRYJKwYBBAHaRw8BAQdAaTuo6QJUO97wvBRzLjrr
3TtHWNDmsqfNW822cxziIXfCwAsEHxYKAH0FgmFv94kDCwkHCRDHSeVh6tRJFEcU
AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeOVXbQyo69KDqD
DwF3tHvUQ+TcAo36x0OVEvO/5Tiz/wMVCggCmwECHgEWIQSU4urbpMNHKjgy1aHH
SeVh6tRJFAAA1TEBAN9JsM3mR/mfsc8MDv4jAPHfme1Fb1kzfeSAGErxcoXCAP9Y
SVUUITnu5an8pEq+VvfrmI3+GlUHcwHqRweNZzuyCc0OPGJvYkBzb21lLm9yZz7C
wA4EExYKAIAFgmFv94kDCwkHCRDHSeVh6tRJFEcUAAAAAAAeACBzYWx0QG5vdGF0
aW9ucy5zZXF1b2lhLXBncC5vcmcQLXTmQuGBBrqvrQcp9bAJRReeM6iGoKGZwyaA
uFvJiwMVCggCmQECmwECHgEWIQSU4urbpMNHKjgy1aHHSeVh6tRJFAAAKxkBALVZ
0bfvmTiZGdRdwmmN11o8jW7Y4Dl03qBxM4mnlImpAPkB8aHacdJqayTGXAHEpCYs
in4Rub0MrpL8sHXLVGHPCMLAAwQQFgoAdQWCYXAFSQWDCWeaOwkQE97dmg/lGldH
FAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnQXhNpXB+3MHz
Ga1xoefNExdGLVxZYUjz7aFcAhoaKRYWIQQ3B3E3Sb1zXwy91VUT3t2aD+UaVwAA
tvoBANTItWBApjgY/JhR6iODkuzs0NgUa8FB7dciX0NKcCvuAPsFEsZ8MvZNpDWr
wygyZqBXrfGeVF9XX5gea+YjPszJD84zBGFv94kWCSsGAQQB2kcPAQEHQCw202vX
S2AO45UCegla3BdT5Ni04rU0UmmPb9VdEiEYwsC/BBgWCgExBYJhb/eJCRDHSeVh
6tRJFEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeNRh9E
KpZbEAC5BGlRwmdRJ+ezFjLbFRTBODMnakTtdAKbAr6gBBkWCgBvBYJhb/eJCRDr
Orxt/dguCUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfO
n5KJiwXj8/+4OcbCxpa2WAtmlN48ryqBuNgu0pzVuRYhBAz8pIL7wcszRr42iOs6
vG392C4JAAARegEA7RV9eqlrzRep7Oh0LRDD6zXoambuyOtttJQRKE/OKlABAMyI
Ha/5V3O4lfspfI0ghuTMxTPc81rRcREhwYuqXNwDFiEElOLq26TDRyo4MtWhx0nl
YerUSRQAAEB0AQDgyVqdYxHb1XmGbKqmzAK7hClGXDkqGjngOh6r3l8oQAD+I330
E8ZHE0PBWJ6Rb6YXmtPEsvcsEgfm/pN0augU7A/GMwRhb/eKFgkrBgEEAdpHDwEB
B0DR6YaeeCOax42CffJndlZvv/r09cCVjt0ORB90j9lEP8LACwQfFgoAfQWCYW/3
igMLCQcJEFJtELjzPANJRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEt
cGdwLm9yZyvJ6GlUekEcAqYsIeiFEyhdlqAW/OvPq1fDs/yMXdUJAxUKCAKbAQIe
ARYhBLIOjtMetcD960cJ6lJtELjzPANJAAB0EQEA/OuyDfAHgqfTd2bRzYzT7I2o
PiB/ihV0WUuUc88j/NkBAIe0op34YsVQKLU9Ix+JbZTfRkdYnTgOriY2lzHR5+oE
zRE8Y2Fyb2xAb3RoZXIub3JnPsLADgQTFgoAgAWCYW/3igMLCQcJEFJtELjzPANJ
RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ0pWZ7F81PpB
rbYdp6JBWdbl0VqHn1AWIlR1Ry+uUvm9AxUKCAKZAQKbAQIeARYhBLIOjtMetcD9
60cJ6lJtELjzPANJAAAXFAEA4jXm0znj0C/Ye6JYHOneGpoFgfCWy7kx+qR0zKJh
ocoA/22vYYb0g+L6Kdo+gTITaibHoWYkztcisqJcirONz8YJwsADBBAWCgB1BYJh
cAVJBYMJZ5o7CRAT3t2aD+UaV0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1
b2lhLXBncC5vcmc6zt9LwAW1nYyI2k0zINUYzXj9pWLfh2Uij020D+014RYhBDcH
cTdJvXNfDL3VVRPe3ZoP5RpXAADe/wD/eKl+iefK1jhuGecOD2MBFOGuWKdmTjL6
x8lx08W1iFYA/i2kkP6uUIX8rn4HlWcY+tdWxzEfT3ExrW8UGtFov+wEzjMEYW/3
ihYJKwYBBAHaRw8BAQdAvHEeR20eC+45UsCaUdfxkG/CkEYzzyyCZk/gc4RRDVTC
wL8EGBYKATEFgmFv94oJEFJtELjzPANJRxQAAAAAAB4AIHNhbHRAbm90YXRpb25z
LnNlcXVvaWEtcGdwLm9yZyyvZrTVCn1hbMFSGPoXmek6QbeFvJIxDH8IiTgx2LXa
ApsCvqAEGRYKAG8FgmFv94oJEFVL1AWo5KwsRxQAAAAAAB4AIHNhbHRAbm90YXRp
b25zLnNlcXVvaWEtcGdwLm9yZ5vdUn08uTdpCKTyvFDQiOYJbemhOguSoBlGbunb
vYXWFiEEZsOhvCD6arW5g7qnVUvUBajkrCwAAGuvAQCb2J/W/pV0q7AOLDFJ3PmH
p6LXdEFyMM8MOsF9HXF0ewD/cqW1f0GnZpUqppVNWJ5UaxzwH4LJN2Syuy5dZgv5
PAAWIQSyDo7THrXA/etHCepSbRC48zwDSQAAsIcBAL9fexChDBcBlscpSSmtzUbh
eqZRftsm4rzrUlzU3bknAP413jTBeSQItsUjpvwBLM3jFohGLRTI8gu96jWvTXKZ
BA==
=QO4G
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,84 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdAhT+prBx3w03lEnZeQpaj+S12u/rPca03CKfq
mwoG2CnCwAsEHxYKAH0Fgl4L4QADCwkHCRBzHOoJLEZfyEcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmeOw7CuFaS0toxI+CHivZQG3DfGwwo7
AhFoa23nqE2jtQMVCggCmwECHgEWIQQBZyu2fktAR+Wk7ApzHOoJLEZfyAAArVQA
/308jglcUpVQmIxy1L1M800r/hkBzVrdI2ZDL+/ZJ3xYAP0QO0IUfmzbhJJ2NfMM
Ox9Q4bT3MIoL/zUGhjgs+rKkAc0TPGFsaWNlQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCXgvhAAMLCQcJEHMc6gksRl/IRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZyDvQJuJzCsisCLmdrLXbsCpRM/UiS9bUNNedWA0YM2tAxUK
CAKZAQKbAQIeARYhBAFnK7Z+S0BH5aTsCnMc6gksRl/IAAAjTwD9EYpc/21MNmLZ
8yD6l7LwI5fzaaOGgzQzFQRFIOkN9NoA/ikhz3XnnwK6526jDc2uFetHvtmCZToL
Vpt3R+YHoYMMzjMEXgvhABYJKwYBBAHaRw8BAQdA3WF+/meEa42HlKtzJ3lwzTYM
hhUzptBhD634osiwuwzCwL8EGBYKATEFgl4L4QAJEHMc6gksRl/IRxQAAAAAAB4A
IHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ1cJsO9arW70E7gz+dbG3FMh
sbOx1jagrd6xmcT8cVLQApsCvqAEGRYKAG8Fgl4L4QAJEGFKGCgk1kTzRxQAAAAA
AB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ48eqVw+tBIAHCld8kRT
ZsCvRW76A3fR0B4xkc8qoNXNFiEEp/X9b1/I9HtQVKjCYUoYKCTWRPMAANxOAP9x
jIGFSrKovegMzoEM+pA/Kh/wusVSX3rnOmDzhLcrmwD/V9qnMGknYRbVzqxUsb/2
hA2ru2O6spWLcWp2Bzp2PAsWIQQBZyu2fktAR+Wk7ApzHOoJLEZfyAAAff0A/3La
Uo9qQOvZ0K+X/0A5jZRRWQ9T9oz6snuqq+g1jWMkAQCZreJP5q9dG/OL79Idu1f+
TyQ13UUKZrWk4ckTQ5CvDsYzBF4L4QAWCSsGAQQB2kcPAQEHQJ0voRfJUU40amfU
pjCzrgFTBklM08Brbpc23Lz4XLz0wsALBB8WCgB9BYJeC+EAAwsJBwkQeLxTl0cL
p/BHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnafFLHWhT
Fu1UjWpdUc02tcoy7K1fMskS5415q4odmJADFQoIApsBAh4BFiEEIShzu5xMxJ+O
Wm/qeLxTl0cLp/AAAPbIAQD480LIE92EH5vh79qSLbAWbqTDTrIW1UasKSwGdsMc
OAEAhhMKRSnJx3i6MYBnhIdnGZlvOrYYW+YiIBSm6f6lDQLNEzxjYXJvbEBleGFt
cGxlLm9yZz7CwA4EExYKAIAFgl4L4QADCwkHCRB4vFOXRwun8EcUAAAAAAAeACBz
YWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdj3ZuCg1W6HM4EaLL7Xju3dM3/
P9zwJCQfiXGBvFDn0AMVCggCmQECmwECHgEWIQQhKHO7nEzEn45ab+p4vFOXRwun
8AAA1kIA/ipADvmNJ7oCSOVCTX3kiA/fsyJ6+duWev12PkEBsdx7AP91zFfhfoB/
08OZKP4n/fIfTBsAudtz3zifef1TvFpKBMLABwQQFgoAeQWCXoPZgAWDCWeaOwOF
AVoJEIYb9C/0kMWBRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdw
Lm9yZ/KOl8au2MM+GsyMboZvL1SlBy6lTGsxuR9R46GNeQvMFiEE6kead80HRFjq
/la0hhv0L/SQxYEAAOsQAQCGmslokfigitOj9Nt+RGqFFmkrwM3tINfaRs+HRZFi
WQD8DOCaP21B8PeJSEMsFUOLRJT2T86hZuUfxR2GRC1NPw7CwAcEEBYKAHkFgl40
v4AFgwlnmjsDhQE8CRCGG/Qv9JDFgUcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5z
ZXF1b2lhLXBncC5vcmc70NxIzQeWW6U26mZ5PWufIaoMzwdykvH4jRk7GrGw4BYh
BOpHmnfNB0RY6v5WtIYb9C/0kMWBAACsIQEA+UG5MGKpLifyT046Ug9g8ucb0E9A
LJ9NHf1D0ZV4EC0BAN6bTWuTxm1hVDsaz/U5tBWA0z+Pr/C0j8kCJG7uNNgGzjME
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
a5upBw==
=XPdm
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,47 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEXgvhABYJKwYBBAHaRw8BAQdAM5OKjytaLNiib8GiEw777qWtdBVk3FCmbYIA
Q5KgF0vCwAsEHxYKAH0Fgl4L4QADCwkHCRBlJm4oJGBAwkcUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmfxZCxeLGS5NAKHejDheKShxvH3P3V9
8uik+2rCqqKPBwMVCggCmwECHgEWIQSTHlH5m4lkl4Oh3/JlJm4oJGBAwgAA4RsA
/i8Vz0Jw325qFnxz076l6vRDNAfnq06jbM+ZzXFd5GkwAP99SN5gFrqgcTMBiUL5
5+PNB7jpMtuszTIusvf8M7niAc0TPGFsaWNlQGV4YW1wbGUub3JnPsLADgQTFgoA
gAWCXgvhAAMLCQcJEGUmbigkYEDCRxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl
cXVvaWEtcGdwLm9yZ/g+nJVadnZUfkw/FpDfGDGSeofmsFp8JwfJww5LMl6pAxUK
CAKZAQKbAQIeARYhBJMeUfmbiWSXg6Hf8mUmbigkYEDCAAA/8wD/cSIoCPrIDaWf
UnK0CYS0DMwa3ng1p6M5MxKhDrIo8ccBAImqPbysS6IaSb0+Ga4NNmcO3OpYWyai
geAdkekJ+LwCxjMEXgvhABYJKwYBBAHaRw8BAQdAU0MMZ3ieXyZGcNaiXfYTozM2
jn1Sv1tLrXh3PUE45ofCwAsEHxYKAH0Fgl4L4QADCwkHCRBZFVSdjSGpe0cUAAAA
AAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcbHe+Zx340DukdoG/Z
Mm8eODFa42PtMBgMMzBUkkQJiQMVCggCmwECHgEWIQShBCsVevpx8AUgjWRZFVSd
jSGpewAAw3cBAJLbYAQtIWxbTFOW4EM9185iMXuxz8JuKpNUoRzNk+MSAQCU2022
LECcuWnCC2ZD0z3oVMWsalNAvyvBA33lCnCmCc0RPGJvYkBleGFtcGxlLm9yZz7C
wA0EExYKAIAFgl4L4QADCwkHCRBZFVSdjSGpe0cUAAAAAAAeACBzYWx0QG5vdGF0
aW9ucy5zZXF1b2lhLXBncC5vcmeHYmyxkVZUnBmtN82yL/xCsZgmtNf1YtYkEJOp
arbjGwMVCggCmQECmwECHgEWIQShBCsVevpx8AUgjWRZFVSdjSGpewAAoBgA+LSV
uU463g0bFdjd12J4iNm2U2DJHVLwF+xLObKEq6gBAIzGEYvPULXAqdR6CAlMFrgN
l5bYyy6IKI89eIVrPhANwsABBBAWCgBzBYJeNL+AA4UBeAkQZSZuKCRgQMJHFAAA
AAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jn1hnaPWUrv/iMzFU+
H6fWdaxW2W/BbSKdUaAskxkzrLYWIQSTHlH5m4lkl4Oh3/JlJm4oJGBAwgAAqJsB
AK+Y4Bw53JZ6JBGgpNB6YJhkc6pQ1Y2oTdDUfEWX0I5iAQDCb4GEqwVWUOHSjrvK
k+sMusBbc8FWP4+OE86l4/CAB8YzBF4L4QAWCSsGAQQB2kcPAQEHQAc0ruJ6oG1K
GoARKDg6DcLy5otvxhuMpWjKSyhCPl05wsALBB8WCgB9BYJeC+EAAwsJBwkQCKJn
ro+oOPRHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnp1uu
vL/kyvBpE89DdLSVw/+Myq7wrr/BXF6k7XWo8P8DFQoIApsBAh4BFiEE4G2wU52Z
dZaB1+yFCKJnro+oOPQAAJl1AQCSeBbLAJuXmPgbLB/0cbvoldo46gVElj7qxhc0
RQ2sIgD8DLkdDH/Bw3KUXuPQlfWBduLEXBuWEgdVOrqjP4+nBwTNEzxjYXJvbEBl
eGFtcGxlLm9yZz7CwA4EExYKAIAFgl4L4QADCwkHCRAIomeuj6g49EcUAAAAAAAe
ACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmewYmAdd0cnHCfKHl+8XZiG
371qBH+uAuZjl2y7d+IqQAMVCggCmQECmwECHgEWIQTgbbBTnZl1loHX7IUIomeu
j6g49AAA7EYA/10pZz0esiDZCY4gF30cslAuJ6bHfWLi5PTLU6+xHzMvAQCo/LAK
40knF/0yOkJt4gLc0iuSdiizd0TTCkoAAQiCCcLAAQQQFgoAcwWCXlr7AAOFAQAJ
EFkVVJ2NIal7RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9y
ZzsNNLfxN1bhE5bMOHoDj9hBaeBf/t8nA0166VjhHAL6FiEEoQQrFXr6cfAFII1k
WRVUnY0hqXsAAE7BAP0WIMm40t23Ddw7BeMWQMhKVSnDtGCQHgKgwmIzfIMOvwD8
DNzSQV5a7nhjYFPdnuXEpMikgDTn7lwLktE39/gNHQ3CwAEEEBYKAHMFgl40v4AD
hQE8CRBZFVSdjSGpe0cUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBn
cC5vcmev8BKDD4GNDAqKCOuYgvMuvWZYeD3UYjIgE+UId3bw6hYhBKEEKxV6+nHw
BSCNZFkVVJ2NIal7AACBeAD/bDkdVdV10Y36S6TQtCvlT4B5lAy7+ZEp5TqNxn8b
uTEBAIbe44cXQY1PyKulUVu2tGWFFtVrMdPBNoc6Sry13Q8E
=QflV
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -9,5 +9,6 @@ include 'pgpainless-core',
'pgpainless-cli',
'pgpainless-wot',
'pgpainless-wot-cli',
'wot-dijkstra'
'wot-dijkstra',
'sequoia-wot-vectors'