From 96b4b895559d5b1e6c41865fc7066cac02ca8212 Mon Sep 17 00:00:00 2001
From: Bob Callaway <bobcallaway@users.noreply.github.com>
Date: Thu, 28 Jan 2021 10:38:10 -0500
Subject: [PATCH] initial support for RPMs (#130)

---
 cmd/cli/app/pflags.go                       | 120 +++++-
 cmd/cli/app/pflags_test.go                  |  87 ++++-
 cmd/cli/app/upload.go                       |  21 +-
 cmd/cli/app/verify.go                       |  19 +-
 cmd/server/app/serve.go                     |   3 +
 go.mod                                      |   6 +-
 go.sum                                      |  54 +--
 openapi.yaml                                |  17 +
 pkg/generated/models/proposed_entry.go      |   6 +
 pkg/generated/models/rpm.go                 | 200 ++++++++++
 pkg/generated/models/rpm_schema.go          |  30 ++
 pkg/generated/models/rpm_v001_schema.go     | 369 ++++++++++++++++++
 pkg/generated/restapi/embedded_spec.go      | 272 ++++++++++++++
 pkg/pki/pgp/pgp.go                          |   9 +
 pkg/types/rekord/rekord.go                  |  52 +--
 pkg/types/rekord/rekord_test.go             |   6 +-
 pkg/types/rpm/rpm.go                        |  66 ++++
 pkg/types/rpm/rpm_schema.json               |  12 +
 pkg/types/rpm/rpm_test.go                   | 120 ++++++
 pkg/types/rpm/v0.0.1/entry.go               | 394 ++++++++++++++++++++
 pkg/types/rpm/v0.0.1/entry_test.go          | 387 +++++++++++++++++++
 pkg/types/rpm/v0.0.1/rpm_v0_0_1_schema.json |  86 +++++
 pkg/util/types.go                           |  69 ++++
 tests/e2e_test.go                           |  30 +-
 tests/pgp.go                                |  17 +-
 tests/rpm.go                                |  77 ++++
 tests/rpm.json                              |   1 +
 tests/test.rpm                              | Bin 0 -> 166888 bytes
 tests/test_rpm_public_key.key               |  30 ++
 tests/util.go                               |  14 +-
 30 files changed, 2435 insertions(+), 139 deletions(-)
 create mode 100644 pkg/generated/models/rpm.go
 create mode 100644 pkg/generated/models/rpm_schema.go
 create mode 100644 pkg/generated/models/rpm_v001_schema.go
 create mode 100644 pkg/types/rpm/rpm.go
 create mode 100644 pkg/types/rpm/rpm_schema.json
 create mode 100644 pkg/types/rpm/rpm_test.go
 create mode 100644 pkg/types/rpm/v0.0.1/entry.go
 create mode 100644 pkg/types/rpm/v0.0.1/entry_test.go
 create mode 100644 pkg/types/rpm/v0.0.1/rpm_v0_0_1_schema.json
 create mode 100644 pkg/util/types.go
 create mode 100644 tests/rpm.go
 create mode 100644 tests/rpm.json
 create mode 100644 tests/test.rpm
 create mode 100644 tests/test_rpm_public_key.key

diff --git a/cmd/cli/app/pflags.go b/cmd/cli/app/pflags.go
index 4d7ced9..d39cb14 100644
--- a/cmd/cli/app/pflags.go
+++ b/cmd/cli/app/pflags.go
@@ -32,6 +32,7 @@ import (
 	"github.com/go-openapi/swag"
 	"github.com/projectrekor/rekor/pkg/generated/models"
 	rekord_v001 "github.com/projectrekor/rekor/pkg/types/rekord/v0.0.1"
+	rpm_v001 "github.com/projectrekor/rekor/pkg/types/rpm/v0.0.1"
 	"github.com/spf13/cobra"
 	"github.com/spf13/viper"
 )
@@ -66,13 +67,14 @@ func validateSearchPFlags() error {
 
 func addArtifactPFlags(cmd *cobra.Command) error {
 	cmd.Flags().Var(&fileOrURLFlag{}, "signature", "path or URL to detached signature file")
+	cmd.Flags().Var(&typeFlag{value: "rekord"}, "type", "type of entry")
 	cmd.Flags().Var(&pkiFormatFlag{value: "pgp"}, "pki-format", "format of the signature and/or public key")
 
 	cmd.Flags().Var(&fileOrURLFlag{}, "public-key", "path or URL to public key file")
 
 	cmd.Flags().Var(&fileOrURLFlag{}, "artifact", "path or URL to artifact file")
 
-	cmd.Flags().Var(&fileOrURLFlag{}, "rekord", "path or URL to Rekor rekord file")
+	cmd.Flags().Var(&fileOrURLFlag{}, "entry", "path or URL to pre-formatted entry file")
 
 	cmd.Flags().Var(&shaFlag{}, "sha", "the sha of the artifact")
 	return nil
@@ -104,7 +106,8 @@ func validateArtifactPFlags(uuidValid, indexValid bool) error {
 		}
 	}
 	// we will need artifact, public-key, signature, and potentially SHA
-	rekord := viper.GetString("rekord")
+	typeStr := viper.GetString("type")
+	entry := viper.GetString("entry")
 
 	artifact := fileOrURLFlag{}
 	artifactStr := viper.GetString("artifact")
@@ -118,18 +121,18 @@ func validateArtifactPFlags(uuidValid, indexValid bool) error {
 	publicKey := viper.GetString("public-key")
 	sha := viper.GetString("sha")
 
-	if rekord == "" && artifact.String() == "" {
+	if entry == "" && artifact.String() == "" {
 		if (uuidGiven && uuidValid) || (indexGiven && indexValid) {
 			return nil
 		}
-		return errors.New("either 'rekord' or 'artifact' must be specified")
+		return errors.New("either 'entry' or 'artifact' must be specified")
 	}
 
-	if rekord == "" {
+	if entry == "" {
 		if artifact.IsURL && sha == "" {
 			return errors.New("a valid SHA hash must be specified when specifying a URL for --artifact")
 		}
-		if signature == "" {
+		if signature == "" && typeStr == "rekord" {
 			return errors.New("--signature is required when --artifact is used")
 		}
 		if publicKey == "" {
@@ -140,12 +143,91 @@ func validateArtifactPFlags(uuidValid, indexValid bool) error {
 	return nil
 }
 
+func CreateRpmFromPFlags() (models.ProposedEntry, error) {
+	//TODO: how to select version of item to create
+	returnVal := models.Rpm{}
+	re := new(rpm_v001.V001Entry)
+
+	rpm := viper.GetString("entry")
+	if rpm != "" {
+		var rpmBytes []byte
+		rpmURL, err := url.Parse(rpm)
+		if err == nil && rpmURL.IsAbs() {
+			/* #nosec G107 */
+			rpmResp, err := http.Get(rpm)
+			if err != nil {
+				return nil, fmt.Errorf("error fetching 'rpm': %w", err)
+			}
+			defer rpmResp.Body.Close()
+			rpmBytes, err = ioutil.ReadAll(rpmResp.Body)
+			if err != nil {
+				return nil, fmt.Errorf("error fetching 'rpm': %w", err)
+			}
+		} else {
+			rpmBytes, err = ioutil.ReadFile(filepath.Clean(rpm))
+			if err != nil {
+				return nil, fmt.Errorf("error processing 'rpm' file: %w", err)
+			}
+		}
+		if err := json.Unmarshal(rpmBytes, &returnVal); err != nil {
+			return nil, fmt.Errorf("error parsing rpm file: %w", err)
+		}
+	} else {
+		// we will need artifact, public-key, signature, and potentially SHA
+		re.RPMModel = models.RpmV001Schema{}
+		re.RPMModel.Package = &models.RpmV001SchemaPackage{}
+
+		artifact := viper.GetString("artifact")
+		dataURL, err := url.Parse(artifact)
+		if err == nil && dataURL.IsAbs() {
+			re.RPMModel.Package.URL = strfmt.URI(artifact)
+			re.RPMModel.Package.Hash = &models.RpmV001SchemaPackageHash{}
+			re.RPMModel.Package.Hash.Algorithm = swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256)
+			re.RPMModel.Package.Hash.Value = swag.String(viper.GetString("sha"))
+		} else {
+			artifactBytes, err := ioutil.ReadFile(filepath.Clean(artifact))
+			if err != nil {
+				return nil, fmt.Errorf("error reading artifact file: %w", err)
+			}
+			re.RPMModel.Package.Content = strfmt.Base64(artifactBytes)
+		}
+
+		re.RPMModel.PublicKey = &models.RpmV001SchemaPublicKey{}
+		publicKey := viper.GetString("public-key")
+		keyURL, err := url.Parse(publicKey)
+		if err == nil && keyURL.IsAbs() {
+			re.RPMModel.PublicKey.URL = strfmt.URI(publicKey)
+		} else {
+			keyBytes, err := ioutil.ReadFile(filepath.Clean(publicKey))
+			if err != nil {
+				return nil, fmt.Errorf("error reading public key file: %w", err)
+			}
+			re.RPMModel.PublicKey.Content = strfmt.Base64(keyBytes)
+		}
+
+		if err := re.Validate(); err != nil {
+			return nil, err
+		}
+
+		if re.HasExternalEntities() {
+			if err := re.FetchExternalEntities(context.Background()); err != nil {
+				return nil, fmt.Errorf("error retrieving external entities: %v", err)
+			}
+		}
+
+		returnVal.APIVersion = swag.String(re.APIVersion())
+		returnVal.Spec = re.RPMModel
+	}
+
+	return &returnVal, nil
+}
+
 func CreateRekordFromPFlags() (models.ProposedEntry, error) {
 	//TODO: how to select version of item to create
 	returnVal := models.Rekord{}
 	re := new(rekord_v001.V001Entry)
 
-	rekord := viper.GetString("rekord")
+	rekord := viper.GetString("entry")
 	if rekord != "" {
 		var rekordBytes []byte
 		rekordURL, err := url.Parse(rekord)
@@ -268,6 +350,30 @@ func (f *fileOrURLFlag) Type() string {
 	return "fileOrURLFlag"
 }
 
+type typeFlag struct {
+	value string
+}
+
+func (t *typeFlag) Type() string {
+	return "typeFormat"
+}
+
+func (t *typeFlag) String() string {
+	return t.value
+}
+
+func (t *typeFlag) Set(s string) error {
+	set := map[string]struct{}{
+		"rekord": {},
+		"rpm":    {},
+	}
+	if _, ok := set[s]; ok {
+		t.value = s
+		return nil
+	}
+	return fmt.Errorf("value specified is invalid: [%s] supported values are: [rekord, rpm]", s)
+}
+
 type pkiFormatFlag struct {
 	value string
 }
diff --git a/cmd/cli/app/pflags_test.go b/cmd/cli/app/pflags_test.go
index d18be1e..28b8f8c 100644
--- a/cmd/cli/app/pflags_test.go
+++ b/cmd/cli/app/pflags_test.go
@@ -23,6 +23,7 @@ import (
 	"net/http/httptest"
 	"testing"
 
+	"github.com/projectrekor/rekor/pkg/generated/models"
 	"github.com/spf13/viper"
 
 	"github.com/spf13/cobra"
@@ -31,7 +32,8 @@ import (
 func TestArtifactPFlags(t *testing.T) {
 	type test struct {
 		caseDesc              string
-		rekord                string
+		typeStr               string
+		entry                 string
 		artifact              string
 		signature             string
 		publicKey             string
@@ -58,6 +60,12 @@ func TestArtifactPFlags(t *testing.T) {
 				file, err = ioutil.ReadFile("../../../tests/test_public_key.key")
 			case "/rekord":
 				file, err = ioutil.ReadFile("../../../tests/rekor.json")
+			case "/rpmEntry":
+				file, err = ioutil.ReadFile("../../../tests/rpm.json")
+			case "/rpm":
+				file, err = ioutil.ReadFile("../../../tests/test.rpm")
+			case "/rpmPublicKey":
+				file, err = ioutil.ReadFile("../../../tests/test_rpm_public_key.key")
 			case "/not_found":
 				err = errors.New("file not found")
 			}
@@ -73,36 +81,72 @@ func TestArtifactPFlags(t *testing.T) {
 	tests := []test{
 		{
 			caseDesc:              "valid rekord file",
-			rekord:                "../../../tests/rekor.json",
+			entry:                 "../../../tests/rekor.json",
 			expectParseSuccess:    true,
 			expectValidateSuccess: true,
 		},
 		{
 			caseDesc:              "valid rekord URL",
-			rekord:                testServer.URL + "/rekord",
+			entry:                 testServer.URL + "/rekord",
 			expectParseSuccess:    true,
 			expectValidateSuccess: true,
 		},
+		{
+			caseDesc:              "valid rekord file, wrong type",
+			typeStr:               "rpm",
+			entry:                 "../../../tests/rekor.json",
+			expectParseSuccess:    true,
+			expectValidateSuccess: false,
+		},
+		{
+			caseDesc:              "valid rpm file",
+			entry:                 "../../../tests/rpm.json",
+			typeStr:               "rpm",
+			expectParseSuccess:    true,
+			expectValidateSuccess: true,
+		},
+		{
+			caseDesc:              "valid rpm URL",
+			entry:                 testServer.URL + "/rpmEntry",
+			typeStr:               "rpm",
+			expectParseSuccess:    true,
+			expectValidateSuccess: true,
+		},
+		{
+			caseDesc:              "valid rpm file, wrong type",
+			typeStr:               "rekord",
+			entry:                 "../../../tests/rpm.json",
+			expectParseSuccess:    true,
+			expectValidateSuccess: false,
+		},
 		{
 			caseDesc:              "non-existant rekord file",
-			rekord:                "../../../tests/not_there.json",
+			entry:                 "../../../tests/not_there.json",
 			expectParseSuccess:    false,
 			expectValidateSuccess: false,
 		},
 		{
 			caseDesc:              "non-existant rekord url",
-			rekord:                testServer.URL + "/not_found",
+			entry:                 testServer.URL + "/not_found",
 			expectParseSuccess:    true,
 			expectValidateSuccess: false,
 		},
 		{
-			caseDesc:              "valid local artifact with required flags",
+			caseDesc:              "valid rekord - local artifact with required flags",
 			artifact:              "../../../tests/test_file.txt",
 			signature:             "../../../tests/test_file.sig",
 			publicKey:             "../../../tests/test_public_key.key",
 			expectParseSuccess:    true,
 			expectValidateSuccess: true,
 		},
+		{
+			caseDesc:              "valid rpm - local artifact with required flags",
+			typeStr:               "rpm",
+			artifact:              "../../../tests/test.rpm",
+			publicKey:             "../../../tests/test_rpm_public_key.key",
+			expectParseSuccess:    true,
+			expectValidateSuccess: true,
+		},
 		{
 			caseDesc:              "valid local artifact with incorrect length hex SHA value",
 			artifact:              "../../../tests/test_file.txt",
@@ -113,7 +157,7 @@ func TestArtifactPFlags(t *testing.T) {
 			expectValidateSuccess: false,
 		},
 		{
-			caseDesc:              "valid remote artifact with incorrect length hex SHA value",
+			caseDesc:              "valid rekord - remote artifact with incorrect length hex SHA value",
 			artifact:              testServer.URL + "/artifact",
 			sha:                   "12345abcde",
 			signature:             "../../../tests/test_file.sig",
@@ -192,7 +236,7 @@ func TestArtifactPFlags(t *testing.T) {
 			expectValidateSuccess: false,
 		},
 		{
-			caseDesc:              "valid remote artifact with required flags",
+			caseDesc:              "valid rekord - remote artifact with required flags",
 			artifact:              testServer.URL + "/artifact",
 			sha:                   "45c7b11fcbf07dec1694adecd8c5b85770a12a6c8dfdcf2580a2db0c47c31779",
 			signature:             "../../../tests/test_file.sig",
@@ -200,6 +244,15 @@ func TestArtifactPFlags(t *testing.T) {
 			expectParseSuccess:    true,
 			expectValidateSuccess: true,
 		},
+		{
+			caseDesc:              "valid rpm - remote artifact with required flags",
+			typeStr:               "rpm",
+			artifact:              testServer.URL + "/rpm",
+			sha:                   "c8b0bc59708d74f53aab0089ac587d5c348d6ead143dab9f6d9c4b48c973bfd8",
+			publicKey:             "../../../tests/test_rpm_public_key.key",
+			expectParseSuccess:    true,
+			expectValidateSuccess: true,
+		},
 		{
 			caseDesc:              "remote artifact with invalid URL",
 			artifact:              "hteeteep%**/test_file.txt",
@@ -309,8 +362,11 @@ func TestArtifactPFlags(t *testing.T) {
 
 		args := []string{}
 
-		if tc.rekord != "" {
-			args = append(args, "--rekord", tc.rekord)
+		if tc.entry != "" {
+			args = append(args, "--entry", tc.entry)
+		}
+		if tc.typeStr != "" {
+			args = append(args, "--type", tc.typeStr)
 		}
 		if tc.artifact != "" {
 			args = append(args, "--artifact", tc.artifact)
@@ -345,8 +401,15 @@ func TestArtifactPFlags(t *testing.T) {
 				continue
 			}
 			if !tc.uuidRequired && !tc.logIndexRequired {
-				if _, err := CreateRekordFromPFlags(); err != nil {
-					t.Errorf("unexpected result in '%v' building Rekord: %v", tc.caseDesc, err)
+				var createFn func() (models.ProposedEntry, error)
+				switch tc.typeStr {
+				case "", "rekord":
+					createFn = CreateRekordFromPFlags
+				case "rpm":
+					createFn = CreateRpmFromPFlags
+				}
+				if _, err := createFn(); err != nil {
+					t.Errorf("unexpected result in '%v' building entry: %v", tc.caseDesc, err)
 				}
 			}
 		}
diff --git a/cmd/cli/app/upload.go b/cmd/cli/app/upload.go
index 0ec5da0..0198d68 100644
--- a/cmd/cli/app/upload.go
+++ b/cmd/cli/app/upload.go
@@ -16,11 +16,13 @@ limitations under the License.
 package app
 
 import (
+	"errors"
 	"fmt"
 	"os"
 
 	"github.com/projectrekor/rekor/cmd/cli/app/format"
 	"github.com/projectrekor/rekor/pkg/generated/client/entries"
+	"github.com/projectrekor/rekor/pkg/generated/models"
 	"github.com/projectrekor/rekor/pkg/log"
 	"github.com/spf13/cobra"
 	"github.com/spf13/viper"
@@ -60,12 +62,23 @@ var uploadCmd = &cobra.Command{
 		}
 		params := entries.NewCreateLogEntryParams()
 
-		rekordEntry, err := CreateRekordFromPFlags()
-		if err != nil {
-			return nil, err
+		var entry models.ProposedEntry
+		switch viper.GetString("type") {
+		case "rekord":
+			entry, err = CreateRekordFromPFlags()
+			if err != nil {
+				return nil, err
+			}
+		case "rpm":
+			entry, err = CreateRpmFromPFlags()
+			if err != nil {
+				return nil, err
+			}
+		default:
+			return nil, errors.New("unknown type specified")
 		}
 
-		params.SetProposedEntry(rekordEntry)
+		params.SetProposedEntry(entry)
 
 		resp, err := rekorClient.Entries.CreateLogEntry(params)
 		if err != nil {
diff --git a/cmd/cli/app/verify.go b/cmd/cli/app/verify.go
index 0495f57..0eb741a 100644
--- a/cmd/cli/app/verify.go
+++ b/cmd/cli/app/verify.go
@@ -105,12 +105,23 @@ var verifyCmd = &cobra.Command{
 				}
 				searchLogQuery.LogIndexes = []*int64{&logIndexInt}
 			} else {
-				rekordEntry, err := CreateRekordFromPFlags()
-				if err != nil {
-					return nil, err
+				var entry models.ProposedEntry
+				switch viper.GetString("type") {
+				case "rekord":
+					entry, err = CreateRekordFromPFlags()
+					if err != nil {
+						return nil, err
+					}
+				case "rpm":
+					entry, err = CreateRpmFromPFlags()
+					if err != nil {
+						return nil, err
+					}
+				default:
+					return nil, errors.New("invalid type specified")
 				}
 
-				entries := []models.ProposedEntry{rekordEntry}
+				entries := []models.ProposedEntry{entry}
 				searchLogQuery.SetEntries(entries)
 			}
 			searchParams.SetEntry(&searchLogQuery)
diff --git a/cmd/server/app/serve.go b/cmd/server/app/serve.go
index 2c85ee1..b9b8289 100644
--- a/cmd/server/app/serve.go
+++ b/cmd/server/app/serve.go
@@ -25,6 +25,8 @@ import (
 	"github.com/projectrekor/rekor/pkg/log"
 	"github.com/projectrekor/rekor/pkg/types/rekord"
 	rekord_v001 "github.com/projectrekor/rekor/pkg/types/rekord/v0.0.1"
+	"github.com/projectrekor/rekor/pkg/types/rpm"
+	rpm_v001 "github.com/projectrekor/rekor/pkg/types/rpm/v0.0.1"
 
 	"github.com/projectrekor/rekor/pkg/generated/restapi"
 	"github.com/spf13/cobra"
@@ -59,6 +61,7 @@ var serveCmd = &cobra.Command{
 		// these trigger loading of package and therefore init() methods to run
 		pluggableTypeMap := map[string]string{
 			rekord.KIND: rekord_v001.APIVERSION,
+			rpm.KIND:    rpm_v001.APIVERSION,
 		}
 
 		for k, v := range pluggableTypeMap {
diff --git a/go.mod b/go.mod
index dff9352..fc59e19 100644
--- a/go.mod
+++ b/go.mod
@@ -5,6 +5,8 @@ go 1.14
 require (
 	github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef
 	github.com/blang/semver v3.5.1+incompatible
+	github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e // indirect
+	github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8
 	github.com/coreos/bbolt v1.3.3 // indirect
 	github.com/coreos/etcd v3.3.18+incompatible // indirect
 	github.com/fsnotify/fsnotify v1.4.9 // indirect
@@ -17,13 +19,11 @@ require (
 	github.com/go-openapi/strfmt v0.20.0
 	github.com/go-openapi/swag v0.19.13
 	github.com/go-openapi/validate v0.20.1
-	github.com/go-swagger/go-swagger v0.25.0 // indirect
 	github.com/golang/protobuf v1.4.3
 	github.com/google/certificate-transparency-go v1.1.0 // indirect
+	github.com/google/rpmpack v0.0.0-20210107155803-d6befbf05148
 	github.com/google/trillian v1.3.10
-	github.com/gorilla/handlers v1.5.1 // indirect
 	github.com/jedisct1/go-minisign v0.0.0-20210106175330-e54e81d562c7
-	github.com/kr/pretty v0.2.1 // indirect
 	github.com/magiconair/properties v1.8.4 // indirect
 	github.com/mediocregopher/radix/v4 v4.0.0-beta.1
 	github.com/mitchellh/go-homedir v1.1.0
diff --git a/go.sum b/go.sum
index f62ae2e..bb78cea 100644
--- a/go.sum
+++ b/go.sum
@@ -92,6 +92,12 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB
 github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
 github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
 github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
+github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e h1:YYUjy5BRwO5zPtfk+aa2gw255FIIoi93zMmuy19o0bc=
+github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e/go.mod h1:V284PjgVwSk4ETmz84rpu9ehpGg7swlIH8npP9k2bGw=
+github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e h1:hHg27A0RSSp2Om9lubZpiMgVbvn39bsUmW9U5h0twqc=
+github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A=
+github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8 h1:jP7ki8Tzx9ThnFPLDhBYAhEpI2+jOURnHQNURgsMvnY=
+github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8/go.mod h1:AZIh1CCnMrcVm6afFf96PBvE2MRpWFco91z8ObJtgDY=
 github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
@@ -112,7 +118,6 @@ github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc
 github.com/coreos/etcd v3.3.18+incompatible h1:Zz1aXgDrFFi1nadh58tA9ktt06cmPTwNNP3dXwIq1lE=
 github.com/coreos/etcd v3.3.18+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
-github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
@@ -151,8 +156,6 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
 github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
 github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ=
-github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
 github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
@@ -193,8 +196,6 @@ github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpX
 github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
 github.com/go-openapi/errors v0.19.9 h1:9SnKdGhiPZHF3ttwFMiCBEb8jQ4IDdrK+5+a0oTygA4=
 github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
-github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4=
 github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
 github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
 github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
@@ -205,7 +206,6 @@ github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3Hfo
 github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
 github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
 github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/jsonreference v0.19.4/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
 github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM=
 github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
 github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
@@ -224,7 +224,6 @@ github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt
 github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
 github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
 github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
-github.com/go-openapi/runtime v0.19.20/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
 github.com/go-openapi/runtime v0.19.24 h1:TqagMVlRAOTwllE/7hNKx6rQ10O6T8ZzeJdMjSTKaD4=
 github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
 github.com/go-openapi/runtime v0.19.26 h1:K/6PoVNj5WJXUnMk+VEbELeXjtBkCS1UxTDa04tdXE0=
@@ -269,8 +268,6 @@ github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbN
 github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4=
 github.com/go-openapi/validate v0.19.15 h1:oUHZO8jD7p5oRLANlXF0U8ic9ePBUkDQyRZdN0EhL6M=
 github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI=
-github.com/go-openapi/validate v0.20.0 h1:pzutNCCBZGZlE+u8HD3JZyWdc/TVbtVwlWUp8/vgUKk=
-github.com/go-openapi/validate v0.20.0/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
 github.com/go-openapi/validate v0.20.1 h1:QGQ5CvK74E28t3DkegGweKR+auemUi5IdpMc4x3UW6s=
 github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
 github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
@@ -279,9 +276,6 @@ github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gG
 github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/go-swagger/go-swagger v0.25.0 h1:FxhyrWWV8V/A9P6GtI5szWordAdbb6Y0nqdY/y9So2w=
-github.com/go-swagger/go-swagger v0.25.0/go.mod h1:9639ioXrPX9E6BbnbaDklGXjNz7upAXoNBwL4Ok11Vk=
-github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0=
 github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4=
 github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ=
 github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
@@ -410,6 +404,8 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf
 github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
 github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/rpmpack v0.0.0-20210107155803-d6befbf05148 h1:vqARqWnIYTYLO4h9fRi9wfAfBPf3x6nWirg0jDNOafk=
+github.com/google/rpmpack v0.0.0-20210107155803-d6befbf05148/go.mod h1:+y9lKiqDhR4zkLl+V9h4q0rdyrYVsWWm6LLCQP33DIk=
 github.com/google/trillian v1.2.2-0.20190612132142-05461f4df60a/go.mod h1:YPmUVn5NGwgnDUgqlVyFGMTgaWlnSvH7W5p+NdOG8UA=
 github.com/google/trillian v1.3.10 h1:Qcn4HEWdQka7ioLtJO4Umo1UwpvVZdejktNtjhnPGGk=
 github.com/google/trillian v1.3.10/go.mod h1:VmfwqXyIzUSuO0hNdtTrT57/MtixlNcdU7egfnkmhA4=
@@ -423,10 +419,6 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m
 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
 github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU=
-github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg=
-github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
-github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
-github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
 github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
@@ -477,8 +469,6 @@ github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NH
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/jedisct1/go-minisign v0.0.0-20210106175330-e54e81d562c7 h1:qrPDNqqT76vs8oWL6Z1/D6hKvbXULvlD7FdNVTIUI8A=
 github.com/jedisct1/go-minisign v0.0.0-20210106175330-e54e81d562c7/go.mod h1:oPTyITpvr7hPx/9w76gWrgbZwbb+7gZ9/On8hFc+LNE=
-github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA=
-github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
 github.com/jhump/protoreflect v1.6.1 h1:4/2yi5LyDPP7nN+Hiird1SAJ6YoxUm13/oxHGRnbPd8=
 github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4=
 github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
@@ -517,10 +507,6 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs=
-github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
-github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
@@ -632,7 +618,6 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9
 github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
 github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI=
 github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
-github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs=
 github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM=
 github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -645,7 +630,6 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
-github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
 github.com/prometheus/client_golang v0.9.4/go.mod h1:oCXIBxdI62A4cR6aTRJCgetEjecSIYzOEaeAn4iYEpM=
@@ -712,9 +696,6 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO
 github.com/spf13/afero v1.1.0/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
 github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
-github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
-github.com/spf13/afero v1.5.0 h1:8Wb647pxgVlypPIdcDlffCLCHCElBZ1sCF6i85qNvRw=
-github.com/spf13/afero v1.5.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
 github.com/spf13/afero v1.5.1 h1:VHu76Lk0LSP1x254maIu2bplkWpfBWI+B+6fdoZprcg=
 github.com/spf13/afero v1.5.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
 github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
@@ -740,7 +721,6 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
 github.com/spf13/viper v1.0.2/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=
 github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
 github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
-github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
 github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
 github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -765,10 +745,10 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1
 github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4=
-github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
-github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
 github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
 github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/ulikunitz/xz v0.5.7 h1:YvTNdFzX6+W5m9msiYg/zpkSURPPtOlzbqYjrFn7Yt4=
+github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
 github.com/ultraware/funlen v0.0.1/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA=
 github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
 github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
@@ -801,7 +781,6 @@ go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qL
 go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
 go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
 go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.3.5/go.mod h1:Ual6Gkco7ZGQw8wE1t4tLnvBsf6yVSM60qW6TgOeJ5c=
 go.mongodb.org/mongo-driver v1.4.3 h1:moga+uhicpVshTyaqY9L23E6QqwcHRUv1sqyOsoyOO8=
 go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
 go.mongodb.org/mongo-driver v1.4.4 h1:bsPHfODES+/yx2PCWzUYMH8xj6PVniPI8DQrsJuSXSs=
@@ -848,7 +827,6 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY=
 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -881,8 +859,6 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
 golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.0 h1:8pl+sMODzuvGJkmj2W4kZihvVb5mKm8pB/X44PIQHv8=
-golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.1 h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY=
 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/net v0.0.0-20170915142106-8351a756f30f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -930,8 +906,6 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201207224615-747e23833adb h1:xj2oMIbduz83x7tzglytWT7spn6rP+9hvKjTpro6/pM=
-golang.org/x/net v0.0.0-20201207224615-747e23833adb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw=
 golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -998,13 +972,10 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d h1:MiWWjyhUzZ+jvhZvloX6ZrUsdEghn8a64Upd8EMHglE=
-golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78 h1:nVuTkr9L6Bq62qpUqKo/RnZCFfzDBL0bYo6w9OJUqZY=
 golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
@@ -1088,12 +1059,9 @@ golang.org/x/tools v0.0.0-20200527183253-8e7acdbce89d/go.mod h1:EkVYQZoAsY45+roY
 golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
 golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
 golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20201208062317-e652b2f42cc7 h1:2OSu5vYyX4LVqZAtqZXnFEcN26SDKIJYlEVIRl1tj8U=
-golang.org/x/tools v0.0.0-20201208062317-e652b2f42cc7/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.0.0-20210115202250-e0d201561e39 h1:BTs2GMGSMWpgtCpv1CE7vkJTv7XcHdcLLnAMu7UbgTY=
 golang.org/x/tools v0.0.0-20210115202250-e0d201561e39/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1194,11 +1162,9 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy
 gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
 gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
 gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
 gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
-gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/openapi.yaml b/openapi.yaml
index 8090575..23b021c 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -259,6 +259,23 @@ definitions:
         - spec
       additionalProperties: false
 
+  rpm:
+    type: object
+    description: RPM object
+    allOf:
+    - $ref: '#/definitions/ProposedEntry'
+    - properties:
+        apiVersion:
+          type: string
+          pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
+        spec:
+          type: object
+          $ref: 'pkg/types/rpm/rpm_schema.json'
+      required:
+        - apiVersion
+        - spec
+      additionalProperties: false
+
   LogEntry:
     type: object
     additionalProperties:
diff --git a/pkg/generated/models/proposed_entry.go b/pkg/generated/models/proposed_entry.go
index 81d4d8e..fcaae0b 100644
--- a/pkg/generated/models/proposed_entry.go
+++ b/pkg/generated/models/proposed_entry.go
@@ -120,6 +120,12 @@ func unmarshalProposedEntry(data []byte, consumer runtime.Consumer) (ProposedEnt
 			return nil, err
 		}
 		return &result, nil
+	case "rpm":
+		var result Rpm
+		if err := consumer.Consume(buf2, &result); err != nil {
+			return nil, err
+		}
+		return &result, nil
 	}
 	return nil, errors.New(422, "invalid kind value: %q", getType.Kind)
 }
diff --git a/pkg/generated/models/rpm.go b/pkg/generated/models/rpm.go
new file mode 100644
index 0000000..67415ee
--- /dev/null
+++ b/pkg/generated/models/rpm.go
@@ -0,0 +1,200 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// /*
+// Copyright The Rekor Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// */
+//
+
+package models
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+	"bytes"
+	"encoding/json"
+
+	"github.com/go-openapi/errors"
+	"github.com/go-openapi/strfmt"
+	"github.com/go-openapi/swag"
+	"github.com/go-openapi/validate"
+)
+
+// Rpm RPM object
+//
+// swagger:model rpm
+type Rpm struct {
+
+	// api version
+	// Required: true
+	// Pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
+	APIVersion *string `json:"apiVersion"`
+
+	// spec
+	// Required: true
+	Spec RpmSchema `json:"spec"`
+}
+
+// Kind gets the kind of this subtype
+func (m *Rpm) Kind() string {
+	return "rpm"
+}
+
+// SetKind sets the kind of this subtype
+func (m *Rpm) SetKind(val string) {
+}
+
+// UnmarshalJSON unmarshals this object with a polymorphic type from a JSON structure
+func (m *Rpm) UnmarshalJSON(raw []byte) error {
+	var data struct {
+
+		// api version
+		// Required: true
+		// Pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
+		APIVersion *string `json:"apiVersion"`
+
+		// spec
+		// Required: true
+		Spec RpmSchema `json:"spec"`
+	}
+	buf := bytes.NewBuffer(raw)
+	dec := json.NewDecoder(buf)
+	dec.UseNumber()
+
+	if err := dec.Decode(&data); err != nil {
+		return err
+	}
+
+	var base struct {
+		/* Just the base type fields. Used for unmashalling polymorphic types.*/
+
+		Kind string `json:"kind"`
+	}
+	buf = bytes.NewBuffer(raw)
+	dec = json.NewDecoder(buf)
+	dec.UseNumber()
+
+	if err := dec.Decode(&base); err != nil {
+		return err
+	}
+
+	var result Rpm
+
+	if base.Kind != result.Kind() {
+		/* Not the type we're looking for. */
+		return errors.New(422, "invalid kind value: %q", base.Kind)
+	}
+
+	result.APIVersion = data.APIVersion
+	result.Spec = data.Spec
+
+	*m = result
+
+	return nil
+}
+
+// MarshalJSON marshals this object with a polymorphic type to a JSON structure
+func (m Rpm) MarshalJSON() ([]byte, error) {
+	var b1, b2, b3 []byte
+	var err error
+	b1, err = json.Marshal(struct {
+
+		// api version
+		// Required: true
+		// Pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
+		APIVersion *string `json:"apiVersion"`
+
+		// spec
+		// Required: true
+		Spec RpmSchema `json:"spec"`
+	}{
+
+		APIVersion: m.APIVersion,
+
+		Spec: m.Spec,
+	})
+	if err != nil {
+		return nil, err
+	}
+	b2, err = json.Marshal(struct {
+		Kind string `json:"kind"`
+	}{
+
+		Kind: m.Kind(),
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return swag.ConcatJSON(b1, b2, b3), nil
+}
+
+// Validate validates this rpm
+func (m *Rpm) Validate(formats strfmt.Registry) error {
+	var res []error
+
+	if err := m.validateAPIVersion(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if err := m.validateSpec(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if len(res) > 0 {
+		return errors.CompositeValidationError(res...)
+	}
+	return nil
+}
+
+func (m *Rpm) validateAPIVersion(formats strfmt.Registry) error {
+
+	if err := validate.Required("apiVersion", "body", m.APIVersion); err != nil {
+		return err
+	}
+
+	if err := validate.Pattern("apiVersion", "body", string(*m.APIVersion), `^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$`); err != nil {
+		return err
+	}
+
+	return nil
+}
+
+func (m *Rpm) validateSpec(formats strfmt.Registry) error {
+
+	if err := validate.Required("spec", "body", m.Spec); err != nil {
+		return err
+	}
+
+	return nil
+}
+
+// MarshalBinary interface implementation
+func (m *Rpm) MarshalBinary() ([]byte, error) {
+	if m == nil {
+		return nil, nil
+	}
+	return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *Rpm) UnmarshalBinary(b []byte) error {
+	var res Rpm
+	if err := swag.ReadJSON(b, &res); err != nil {
+		return err
+	}
+	*m = res
+	return nil
+}
diff --git a/pkg/generated/models/rpm_schema.go b/pkg/generated/models/rpm_schema.go
new file mode 100644
index 0000000..8bf7304
--- /dev/null
+++ b/pkg/generated/models/rpm_schema.go
@@ -0,0 +1,30 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// /*
+// Copyright The Rekor Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// */
+//
+
+package models
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+// RpmSchema RPM Schema
+//
+// Schema for RPM objects
+//
+// swagger:model rpmSchema
+type RpmSchema interface{}
diff --git a/pkg/generated/models/rpm_v001_schema.go b/pkg/generated/models/rpm_v001_schema.go
new file mode 100644
index 0000000..5d6861c
--- /dev/null
+++ b/pkg/generated/models/rpm_v001_schema.go
@@ -0,0 +1,369 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// /*
+// Copyright The Rekor Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// */
+//
+
+package models
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+	"encoding/json"
+
+	"github.com/go-openapi/errors"
+	"github.com/go-openapi/strfmt"
+	"github.com/go-openapi/swag"
+	"github.com/go-openapi/validate"
+)
+
+// RpmV001Schema RPM v0.0.1 Schema
+//
+// Schema for RPM entries
+//
+// swagger:model rpmV001Schema
+type RpmV001Schema struct {
+
+	// Arbitrary content to be included in the verifiable entry in the transparency log
+	ExtraData interface{} `json:"extraData,omitempty"`
+
+	// package
+	// Required: true
+	Package *RpmV001SchemaPackage `json:"package"`
+
+	// public key
+	// Required: true
+	PublicKey *RpmV001SchemaPublicKey `json:"publicKey"`
+}
+
+// Validate validates this rpm v001 schema
+func (m *RpmV001Schema) Validate(formats strfmt.Registry) error {
+	var res []error
+
+	if err := m.validatePackage(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if err := m.validatePublicKey(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if len(res) > 0 {
+		return errors.CompositeValidationError(res...)
+	}
+	return nil
+}
+
+func (m *RpmV001Schema) validatePackage(formats strfmt.Registry) error {
+
+	if err := validate.Required("package", "body", m.Package); err != nil {
+		return err
+	}
+
+	if m.Package != nil {
+		if err := m.Package.Validate(formats); err != nil {
+			if ve, ok := err.(*errors.Validation); ok {
+				return ve.ValidateName("package")
+			}
+			return err
+		}
+	}
+
+	return nil
+}
+
+func (m *RpmV001Schema) validatePublicKey(formats strfmt.Registry) error {
+
+	if err := validate.Required("publicKey", "body", m.PublicKey); err != nil {
+		return err
+	}
+
+	if m.PublicKey != nil {
+		if err := m.PublicKey.Validate(formats); err != nil {
+			if ve, ok := err.(*errors.Validation); ok {
+				return ve.ValidateName("publicKey")
+			}
+			return err
+		}
+	}
+
+	return nil
+}
+
+// MarshalBinary interface implementation
+func (m *RpmV001Schema) MarshalBinary() ([]byte, error) {
+	if m == nil {
+		return nil, nil
+	}
+	return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *RpmV001Schema) UnmarshalBinary(b []byte) error {
+	var res RpmV001Schema
+	if err := swag.ReadJSON(b, &res); err != nil {
+		return err
+	}
+	*m = res
+	return nil
+}
+
+// RpmV001SchemaPackage Information about the package associated with the entry
+//
+// swagger:model RpmV001SchemaPackage
+type RpmV001SchemaPackage struct {
+
+	// Specifies the package inline within the document
+	// Format: byte
+	Content strfmt.Base64 `json:"content,omitempty"`
+
+	// hash
+	Hash *RpmV001SchemaPackageHash `json:"hash,omitempty"`
+
+	// Values of the RPM headers
+	Headers map[string]string `json:"headers,omitempty"`
+
+	// Specifies the location of the package; if this is specified, a hash value must also be provided
+	// Format: uri
+	URL strfmt.URI `json:"url,omitempty"`
+}
+
+// Validate validates this rpm v001 schema package
+func (m *RpmV001SchemaPackage) Validate(formats strfmt.Registry) error {
+	var res []error
+
+	if err := m.validateHash(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if err := m.validateURL(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if len(res) > 0 {
+		return errors.CompositeValidationError(res...)
+	}
+	return nil
+}
+
+func (m *RpmV001SchemaPackage) validateHash(formats strfmt.Registry) error {
+
+	if swag.IsZero(m.Hash) { // not required
+		return nil
+	}
+
+	if m.Hash != nil {
+		if err := m.Hash.Validate(formats); err != nil {
+			if ve, ok := err.(*errors.Validation); ok {
+				return ve.ValidateName("package" + "." + "hash")
+			}
+			return err
+		}
+	}
+
+	return nil
+}
+
+func (m *RpmV001SchemaPackage) validateURL(formats strfmt.Registry) error {
+
+	if swag.IsZero(m.URL) { // not required
+		return nil
+	}
+
+	if err := validate.FormatOf("package"+"."+"url", "body", "uri", m.URL.String(), formats); err != nil {
+		return err
+	}
+
+	return nil
+}
+
+// MarshalBinary interface implementation
+func (m *RpmV001SchemaPackage) MarshalBinary() ([]byte, error) {
+	if m == nil {
+		return nil, nil
+	}
+	return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *RpmV001SchemaPackage) UnmarshalBinary(b []byte) error {
+	var res RpmV001SchemaPackage
+	if err := swag.ReadJSON(b, &res); err != nil {
+		return err
+	}
+	*m = res
+	return nil
+}
+
+// RpmV001SchemaPackageHash Specifies the hash algorithm and value for the package
+//
+// swagger:model RpmV001SchemaPackageHash
+type RpmV001SchemaPackageHash struct {
+
+	// The hashing function used to compute the hash value
+	// Required: true
+	// Enum: [sha256]
+	Algorithm *string `json:"algorithm"`
+
+	// The hash value for the package
+	// Required: true
+	Value *string `json:"value"`
+}
+
+// Validate validates this rpm v001 schema package hash
+func (m *RpmV001SchemaPackageHash) Validate(formats strfmt.Registry) error {
+	var res []error
+
+	if err := m.validateAlgorithm(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if err := m.validateValue(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if len(res) > 0 {
+		return errors.CompositeValidationError(res...)
+	}
+	return nil
+}
+
+var rpmV001SchemaPackageHashTypeAlgorithmPropEnum []interface{}
+
+func init() {
+	var res []string
+	if err := json.Unmarshal([]byte(`["sha256"]`), &res); err != nil {
+		panic(err)
+	}
+	for _, v := range res {
+		rpmV001SchemaPackageHashTypeAlgorithmPropEnum = append(rpmV001SchemaPackageHashTypeAlgorithmPropEnum, v)
+	}
+}
+
+const (
+
+	// RpmV001SchemaPackageHashAlgorithmSha256 captures enum value "sha256"
+	RpmV001SchemaPackageHashAlgorithmSha256 string = "sha256"
+)
+
+// prop value enum
+func (m *RpmV001SchemaPackageHash) validateAlgorithmEnum(path, location string, value string) error {
+	if err := validate.EnumCase(path, location, value, rpmV001SchemaPackageHashTypeAlgorithmPropEnum, true); err != nil {
+		return err
+	}
+	return nil
+}
+
+func (m *RpmV001SchemaPackageHash) validateAlgorithm(formats strfmt.Registry) error {
+
+	if err := validate.Required("package"+"."+"hash"+"."+"algorithm", "body", m.Algorithm); err != nil {
+		return err
+	}
+
+	// value enum
+	if err := m.validateAlgorithmEnum("package"+"."+"hash"+"."+"algorithm", "body", *m.Algorithm); err != nil {
+		return err
+	}
+
+	return nil
+}
+
+func (m *RpmV001SchemaPackageHash) validateValue(formats strfmt.Registry) error {
+
+	if err := validate.Required("package"+"."+"hash"+"."+"value", "body", m.Value); err != nil {
+		return err
+	}
+
+	return nil
+}
+
+// MarshalBinary interface implementation
+func (m *RpmV001SchemaPackageHash) MarshalBinary() ([]byte, error) {
+	if m == nil {
+		return nil, nil
+	}
+	return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *RpmV001SchemaPackageHash) UnmarshalBinary(b []byte) error {
+	var res RpmV001SchemaPackageHash
+	if err := swag.ReadJSON(b, &res); err != nil {
+		return err
+	}
+	*m = res
+	return nil
+}
+
+// RpmV001SchemaPublicKey The PGP public key that can verify the RPM signature
+//
+// swagger:model RpmV001SchemaPublicKey
+type RpmV001SchemaPublicKey struct {
+
+	// Specifies the content of the public key inline within the document
+	// Format: byte
+	Content strfmt.Base64 `json:"content,omitempty"`
+
+	// Specifies the location of the public key
+	// Format: uri
+	URL strfmt.URI `json:"url,omitempty"`
+}
+
+// Validate validates this rpm v001 schema public key
+func (m *RpmV001SchemaPublicKey) Validate(formats strfmt.Registry) error {
+	var res []error
+
+	if err := m.validateURL(formats); err != nil {
+		res = append(res, err)
+	}
+
+	if len(res) > 0 {
+		return errors.CompositeValidationError(res...)
+	}
+	return nil
+}
+
+func (m *RpmV001SchemaPublicKey) validateURL(formats strfmt.Registry) error {
+
+	if swag.IsZero(m.URL) { // not required
+		return nil
+	}
+
+	if err := validate.FormatOf("publicKey"+"."+"url", "body", "uri", m.URL.String(), formats); err != nil {
+		return err
+	}
+
+	return nil
+}
+
+// MarshalBinary interface implementation
+func (m *RpmV001SchemaPublicKey) MarshalBinary() ([]byte, error) {
+	if m == nil {
+		return nil, nil
+	}
+	return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *RpmV001SchemaPublicKey) UnmarshalBinary(b []byte) error {
+	var res RpmV001SchemaPublicKey
+	if err := swag.ReadJSON(b, &res); err != nil {
+		return err
+	}
+	*m = res
+	return nil
+}
diff --git a/pkg/generated/restapi/embedded_spec.go b/pkg/generated/restapi/embedded_spec.go
index c04827e..cfc1808 100644
--- a/pkg/generated/restapi/embedded_spec.go
+++ b/pkg/generated/restapi/embedded_spec.go
@@ -593,6 +593,32 @@ func init() {
           "additionalProperties": false
         }
       ]
+    },
+    "rpm": {
+      "description": "RPM object",
+      "type": "object",
+      "allOf": [
+        {
+          "$ref": "#/definitions/ProposedEntry"
+        },
+        {
+          "required": [
+            "apiVersion",
+            "spec"
+          ],
+          "properties": {
+            "apiVersion": {
+              "type": "string",
+              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
+            },
+            "spec": {
+              "type": "object",
+              "$ref": "pkg/types/rpm/rpm_schema.json"
+            }
+          },
+          "additionalProperties": false
+        }
+      ]
     }
   },
   "responses": {
@@ -1335,6 +1361,112 @@ func init() {
         }
       }
     },
+    "RpmV001SchemaPackage": {
+      "description": "Information about the package associated with the entry",
+      "type": "object",
+      "oneOf": [
+        {
+          "required": [
+            "hash",
+            "url"
+          ]
+        },
+        {
+          "required": [
+            "content"
+          ]
+        }
+      ],
+      "properties": {
+        "content": {
+          "description": "Specifies the package inline within the document",
+          "type": "string",
+          "format": "byte"
+        },
+        "hash": {
+          "description": "Specifies the hash algorithm and value for the package",
+          "type": "object",
+          "required": [
+            "algorithm",
+            "value"
+          ],
+          "properties": {
+            "algorithm": {
+              "description": "The hashing function used to compute the hash value",
+              "type": "string",
+              "enum": [
+                "sha256"
+              ]
+            },
+            "value": {
+              "description": "The hash value for the package",
+              "type": "string"
+            }
+          }
+        },
+        "headers": {
+          "description": "Values of the RPM headers",
+          "type": "object",
+          "additionalProperties": {
+            "type": "string"
+          }
+        },
+        "url": {
+          "description": "Specifies the location of the package; if this is specified, a hash value must also be provided",
+          "type": "string",
+          "format": "uri"
+        }
+      }
+    },
+    "RpmV001SchemaPackageHash": {
+      "description": "Specifies the hash algorithm and value for the package",
+      "type": "object",
+      "required": [
+        "algorithm",
+        "value"
+      ],
+      "properties": {
+        "algorithm": {
+          "description": "The hashing function used to compute the hash value",
+          "type": "string",
+          "enum": [
+            "sha256"
+          ]
+        },
+        "value": {
+          "description": "The hash value for the package",
+          "type": "string"
+        }
+      }
+    },
+    "RpmV001SchemaPublicKey": {
+      "description": "The PGP public key that can verify the RPM signature",
+      "type": "object",
+      "oneOf": [
+        {
+          "required": [
+            "url"
+          ]
+        },
+        {
+          "required": [
+            "content"
+          ]
+        }
+      ],
+      "properties": {
+        "content": {
+          "description": "Specifies the content of the public key inline within the document",
+          "type": "string",
+          "format": "byte"
+        },
+        "url": {
+          "description": "Specifies the location of the public key",
+          "type": "string",
+          "format": "uri"
+        }
+      }
+    },
     "SearchIndex": {
       "type": "object",
       "properties": {
@@ -1593,6 +1725,146 @@ func init() {
       },
       "$schema": "http://json-schema.org/draft-07/schema",
       "$id": "http://rekor.dev/types/rekord/rekord_v0_0_1_schema.json"
+    },
+    "rpm": {
+      "description": "RPM object",
+      "type": "object",
+      "allOf": [
+        {
+          "$ref": "#/definitions/ProposedEntry"
+        },
+        {
+          "required": [
+            "apiVersion",
+            "spec"
+          ],
+          "properties": {
+            "apiVersion": {
+              "type": "string",
+              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
+            },
+            "spec": {
+              "$ref": "#/definitions/rpmSchema"
+            }
+          },
+          "additionalProperties": false
+        }
+      ]
+    },
+    "rpmSchema": {
+      "description": "Schema for RPM objects",
+      "type": "object",
+      "title": "RPM Schema",
+      "oneOf": [
+        {
+          "$ref": "#/definitions/rpmV001Schema"
+        }
+      ],
+      "$schema": "http://json-schema.org/draft-07/schema",
+      "$id": "http://rekor.dev/types/rpm/rpm_schema.json"
+    },
+    "rpmV001Schema": {
+      "description": "Schema for RPM entries",
+      "type": "object",
+      "title": "RPM v0.0.1 Schema",
+      "required": [
+        "publicKey",
+        "package"
+      ],
+      "properties": {
+        "extraData": {
+          "description": "Arbitrary content to be included in the verifiable entry in the transparency log",
+          "type": "object",
+          "additionalProperties": true
+        },
+        "package": {
+          "description": "Information about the package associated with the entry",
+          "type": "object",
+          "oneOf": [
+            {
+              "required": [
+                "hash",
+                "url"
+              ]
+            },
+            {
+              "required": [
+                "content"
+              ]
+            }
+          ],
+          "properties": {
+            "content": {
+              "description": "Specifies the package inline within the document",
+              "type": "string",
+              "format": "byte"
+            },
+            "hash": {
+              "description": "Specifies the hash algorithm and value for the package",
+              "type": "object",
+              "required": [
+                "algorithm",
+                "value"
+              ],
+              "properties": {
+                "algorithm": {
+                  "description": "The hashing function used to compute the hash value",
+                  "type": "string",
+                  "enum": [
+                    "sha256"
+                  ]
+                },
+                "value": {
+                  "description": "The hash value for the package",
+                  "type": "string"
+                }
+              }
+            },
+            "headers": {
+              "description": "Values of the RPM headers",
+              "type": "object",
+              "additionalProperties": {
+                "type": "string"
+              }
+            },
+            "url": {
+              "description": "Specifies the location of the package; if this is specified, a hash value must also be provided",
+              "type": "string",
+              "format": "uri"
+            }
+          }
+        },
+        "publicKey": {
+          "description": "The PGP public key that can verify the RPM signature",
+          "type": "object",
+          "oneOf": [
+            {
+              "required": [
+                "url"
+              ]
+            },
+            {
+              "required": [
+                "content"
+              ]
+            }
+          ],
+          "properties": {
+            "content": {
+              "description": "Specifies the content of the public key inline within the document",
+              "type": "string",
+              "format": "byte"
+            },
+            "url": {
+              "description": "Specifies the location of the public key",
+              "type": "string",
+              "format": "uri"
+            }
+          }
+        }
+      },
+      "$schema": "http://json-schema.org/draft-07/schema",
+      "$id": "http://rekor.dev/types/rpm/rpm_v0_0_1_schema.json"
     }
   },
   "responses": {
diff --git a/pkg/pki/pgp/pgp.go b/pkg/pki/pgp/pgp.go
index 5c2db19..b28c168 100644
--- a/pkg/pki/pgp/pgp.go
+++ b/pkg/pki/pgp/pgp.go
@@ -20,6 +20,7 @@ import (
 	"bufio"
 	"bytes"
 	"context"
+	"errors"
 	"fmt"
 	"io"
 	"net/http"
@@ -270,3 +271,11 @@ func (k PublicKey) CanonicalValue() ([]byte, error) {
 
 	return canonicalBuffer.Bytes(), nil
 }
+
+func (k PublicKey) KeyRing() (openpgp.KeyRing, error) {
+	if k.key == nil {
+		return nil, errors.New("PGP public key has not been initialized")
+	}
+
+	return k.key, nil
+}
diff --git a/pkg/types/rekord/rekord.go b/pkg/types/rekord/rekord.go
index 2229846..5336d74 100644
--- a/pkg/types/rekord/rekord.go
+++ b/pkg/types/rekord/rekord.go
@@ -18,12 +18,9 @@ package rekord
 import (
 	"errors"
 	"fmt"
-	"sync"
 
-	"github.com/blang/semver"
-
-	"github.com/projectrekor/rekor/pkg/log"
 	"github.com/projectrekor/rekor/pkg/types"
+	"github.com/projectrekor/rekor/pkg/util"
 
 	"github.com/go-openapi/swag"
 	"github.com/projectrekor/rekor/pkg/generated/models"
@@ -47,52 +44,7 @@ func New() types.TypeImpl {
 	return &BaseRekordType{}
 }
 
-type VersionFactory func() types.EntryImpl
-
-type versionFactoryMap struct {
-	versionFactories map[string]VersionFactory
-
-	sync.RWMutex
-}
-
-func (vfm *versionFactoryMap) Get(version string) (VersionFactory, bool) {
-	vfm.RLock()
-	defer vfm.RUnlock()
-
-	semverToMatch, err := semver.Parse(version)
-	if err != nil {
-		log.Logger.Error(err)
-		return nil, false
-	}
-
-	//will return first function that matches
-	for k, v := range vfm.versionFactories {
-		semverRange, err := semver.ParseRange(k)
-		if err != nil {
-			log.Logger.Error(err)
-			return nil, false
-		}
-
-		if semverRange(semverToMatch) {
-			return v, true
-		}
-	}
-	return nil, false
-}
-
-func (vfm *versionFactoryMap) Set(constraint string, vf VersionFactory) {
-	vfm.Lock()
-	defer vfm.Unlock()
-
-	if _, err := semver.ParseRange(constraint); err != nil {
-		log.Logger.Error(err)
-		return
-	}
-
-	vfm.versionFactories[constraint] = vf
-}
-
-var SemVerToFacFnMap = &versionFactoryMap{versionFactories: make(map[string]VersionFactory)}
+var SemVerToFacFnMap = &util.VersionFactoryMap{VersionFactories: make(map[string]util.VersionFactory)}
 
 func (rt BaseRekordType) UnmarshalEntry(pe models.ProposedEntry) (types.EntryImpl, error) {
 	rekord, ok := pe.(*models.Rekord)
diff --git a/pkg/types/rekord/rekord_test.go b/pkg/types/rekord/rekord_test.go
index 42ff5f5..fa9b4e9 100644
--- a/pkg/types/rekord/rekord_test.go
+++ b/pkg/types/rekord/rekord_test.go
@@ -72,7 +72,7 @@ func (u UnmarshalFailsTester) Unmarshal(pe models.ProposedEntry) error {
 
 func TestRekordType(t *testing.T) {
 	// empty to start
-	if len(SemVerToFacFnMap.versionFactories) != 0 {
+	if len(SemVerToFacFnMap.VersionFactories) != 0 {
 		t.Error("semver range was not blank at start of test")
 	}
 
@@ -80,13 +80,13 @@ func TestRekordType(t *testing.T) {
 	// ensure semver range parser is working
 	invalidSemVerRange := "not a valid semver range"
 	SemVerToFacFnMap.Set(invalidSemVerRange, u.NewEntry)
-	if len(SemVerToFacFnMap.versionFactories) > 0 {
+	if len(SemVerToFacFnMap.VersionFactories) > 0 {
 		t.Error("invalid semver range was incorrectly added to SemVerToFacFnMap")
 	}
 
 	// valid semver range can be parsed
 	SemVerToFacFnMap.Set(">= 1.2.3", u.NewEntry)
-	if len(SemVerToFacFnMap.versionFactories) != 1 {
+	if len(SemVerToFacFnMap.VersionFactories) != 1 {
 		t.Error("valid semver range was not added to SemVerToFacFnMap")
 	}
 
diff --git a/pkg/types/rpm/rpm.go b/pkg/types/rpm/rpm.go
new file mode 100644
index 0000000..3ababa5
--- /dev/null
+++ b/pkg/types/rpm/rpm.go
@@ -0,0 +1,66 @@
+/*
+Copyright © 2021 Bob Callaway <bcallawa@redhat.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package rpm
+
+import (
+	"errors"
+	"fmt"
+
+	"github.com/projectrekor/rekor/pkg/types"
+	"github.com/projectrekor/rekor/pkg/util"
+
+	"github.com/go-openapi/swag"
+	"github.com/projectrekor/rekor/pkg/generated/models"
+)
+
+const (
+	KIND = "rpm"
+)
+
+type BaseRPMType struct{}
+
+func (rt BaseRPMType) Kind() string {
+	return KIND
+}
+
+func init() {
+	types.TypeMap.Set(KIND, New)
+}
+
+func New() types.TypeImpl {
+	return &BaseRPMType{}
+}
+
+var SemVerToFacFnMap = &util.VersionFactoryMap{VersionFactories: make(map[string]util.VersionFactory)}
+
+func (rt BaseRPMType) UnmarshalEntry(pe models.ProposedEntry) (types.EntryImpl, error) {
+	rpm, ok := pe.(*models.Rpm)
+	if !ok {
+		return nil, errors.New("cannot unmarshal non-RPM types")
+	}
+
+	if genFn, found := SemVerToFacFnMap.Get(swag.StringValue(rpm.APIVersion)); found {
+		entry := genFn()
+		if entry == nil {
+			return nil, fmt.Errorf("failure generating RPM object for version '%v'", rpm.APIVersion)
+		}
+		if err := entry.Unmarshal(rpm); err != nil {
+			return nil, err
+		}
+		return entry, nil
+	}
+	return nil, fmt.Errorf("RPMType implementation for version '%v' not found", swag.StringValue(rpm.APIVersion))
+}
diff --git a/pkg/types/rpm/rpm_schema.json b/pkg/types/rpm/rpm_schema.json
new file mode 100644
index 0000000..b5f017e
--- /dev/null
+++ b/pkg/types/rpm/rpm_schema.json
@@ -0,0 +1,12 @@
+{
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "$id": "http://rekor.dev/types/rpm/rpm_schema.json",
+    "title": "RPM Schema",
+    "description": "Schema for RPM objects",
+    "type": "object",
+    "oneOf": [
+        {
+            "$ref": "v0.0.1/rpm_v0_0_1_schema.json"
+        }
+    ]
+}
diff --git a/pkg/types/rpm/rpm_test.go b/pkg/types/rpm/rpm_test.go
new file mode 100644
index 0000000..f7dd4d5
--- /dev/null
+++ b/pkg/types/rpm/rpm_test.go
@@ -0,0 +1,120 @@
+/*
+Copyright © 2021 Bob Callaway <bcallawa@redhat.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package rpm
+
+import (
+	"context"
+	"errors"
+	"testing"
+
+	"github.com/go-openapi/swag"
+	"github.com/projectrekor/rekor/pkg/generated/models"
+	"github.com/projectrekor/rekor/pkg/types"
+)
+
+type UnmarshalTester struct {
+	models.Rpm
+}
+
+func (u UnmarshalTester) NewEntry() types.EntryImpl {
+	return &UnmarshalTester{}
+}
+
+func (u UnmarshalTester) APIVersion() string {
+	return "2.0.1"
+}
+
+func (u UnmarshalTester) IndexKeys() []string {
+	return []string{}
+}
+
+func (u UnmarshalTester) Canonicalize(ctx context.Context) ([]byte, error) {
+	return nil, nil
+}
+
+func (u UnmarshalTester) HasExternalEntities() bool {
+	return false
+}
+
+func (u *UnmarshalTester) FetchExternalEntities(ctx context.Context) error {
+	return nil
+}
+
+func (u UnmarshalTester) Unmarshal(pe models.ProposedEntry) error {
+	return nil
+}
+
+type UnmarshalFailsTester struct {
+	UnmarshalTester
+}
+
+func (u UnmarshalFailsTester) NewEntry() types.EntryImpl {
+	return &UnmarshalFailsTester{}
+}
+
+func (u UnmarshalFailsTester) Unmarshal(pe models.ProposedEntry) error {
+	return errors.New("error")
+}
+
+func TestRPMType(t *testing.T) {
+	// empty to start
+	if len(SemVerToFacFnMap.VersionFactories) != 0 {
+		t.Error("semver range was not blank at start of test")
+	}
+
+	u := UnmarshalTester{}
+	// ensure semver range parser is working
+	invalidSemVerRange := "not a valid semver range"
+	SemVerToFacFnMap.Set(invalidSemVerRange, u.NewEntry)
+	if len(SemVerToFacFnMap.VersionFactories) > 0 {
+		t.Error("invalid semver range was incorrectly added to SemVerToFacFnMap")
+	}
+
+	// valid semver range can be parsed
+	SemVerToFacFnMap.Set(">= 1.2.3", u.NewEntry)
+	if len(SemVerToFacFnMap.VersionFactories) != 1 {
+		t.Error("valid semver range was not added to SemVerToFacFnMap")
+	}
+
+	u.Rpm.APIVersion = swag.String("2.0.1")
+	brt := BaseRPMType{}
+
+	// version requested matches implementation in map
+	if _, err := brt.UnmarshalEntry(&u.Rpm); err != nil {
+		t.Errorf("unexpected error in Unmarshal: %v", err)
+	}
+
+	// version requested fails to match implementation in map
+	u.Rpm.APIVersion = swag.String("1.2.2")
+	if _, err := brt.UnmarshalEntry(&u.Rpm); err == nil {
+		t.Error("unexpected success in Unmarshal for non-matching version")
+	}
+
+	// error in Unmarshal call is raised appropriately
+	u.Rpm.APIVersion = swag.String("2.2.0")
+	u2 := UnmarshalFailsTester{}
+	SemVerToFacFnMap.Set(">= 1.2.3", u2.NewEntry)
+	if _, err := brt.UnmarshalEntry(&u.Rpm); err == nil {
+		t.Error("unexpected success in Unmarshal when error is thrown")
+	}
+
+	// version requested fails to match implementation in map
+	u.Rpm.APIVersion = swag.String("not_a_version")
+	if _, err := brt.UnmarshalEntry(&u.Rpm); err == nil {
+		t.Error("unexpected success in Unmarshal for invalid version")
+	}
+}
diff --git a/pkg/types/rpm/v0.0.1/entry.go b/pkg/types/rpm/v0.0.1/entry.go
new file mode 100644
index 0000000..b0dc377
--- /dev/null
+++ b/pkg/types/rpm/v0.0.1/entry.go
@@ -0,0 +1,394 @@
+/*
+Copyright © 2021 Bob Callaway <bcallawa@redhat.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package rpm
+
+import (
+	"context"
+	"crypto/sha256"
+	"encoding/base64"
+	"encoding/hex"
+	"encoding/json"
+	"errors"
+	"fmt"
+	"io"
+	"io/ioutil"
+	"reflect"
+	"strconv"
+	"strings"
+
+	"github.com/projectrekor/rekor/pkg/log"
+	"github.com/projectrekor/rekor/pkg/pki/pgp"
+	"github.com/projectrekor/rekor/pkg/types"
+	"github.com/projectrekor/rekor/pkg/types/rpm"
+	"github.com/projectrekor/rekor/pkg/util"
+
+	"github.com/asaskevich/govalidator"
+
+	"github.com/go-openapi/strfmt"
+
+	"github.com/projectrekor/rekor/pkg/pki"
+
+	rpmutils "github.com/cavaliercoder/go-rpm"
+	"github.com/go-openapi/swag"
+	"github.com/mitchellh/mapstructure"
+	"github.com/projectrekor/rekor/pkg/generated/models"
+	"golang.org/x/sync/errgroup"
+)
+
+const (
+	APIVERSION = "0.0.1"
+)
+
+func init() {
+	rpm.SemVerToFacFnMap.Set(APIVERSION, NewEntry)
+}
+
+type V001Entry struct {
+	RPMModel                models.RpmV001Schema
+	fetchedExternalEntities bool
+	keyObj                  pki.PublicKey
+	rpmObj                  *rpmutils.PackageFile
+}
+
+func (v V001Entry) APIVersion() string {
+	return APIVERSION
+}
+
+func NewEntry() types.EntryImpl {
+	return &V001Entry{}
+}
+
+func Base64StringtoByteArray() mapstructure.DecodeHookFunc {
+	return func(f reflect.Type, t reflect.Type, data interface{}) (interface{}, error) {
+		if f.Kind() != reflect.String || t.Kind() != reflect.Slice {
+			return data, nil
+		}
+
+		bytes, err := base64.StdEncoding.DecodeString(data.(string))
+		if err != nil {
+			return []byte{}, fmt.Errorf("failed parsing base64 data: %v", err)
+		}
+		return bytes, nil
+	}
+}
+
+func (v V001Entry) IndexKeys() []string {
+	var result []string
+
+	if v.HasExternalEntities() {
+		if err := v.FetchExternalEntities(context.Background()); err != nil {
+			log.Logger.Error(err)
+			return result
+		}
+	}
+
+	key, err := v.keyObj.CanonicalValue()
+	if err != nil {
+		log.Logger.Error(err)
+	} else {
+		hasher := sha256.New()
+		if _, err := hasher.Write(key); err != nil {
+			log.Logger.Error(err)
+		} else {
+			result = append(result, strings.ToLower(hex.EncodeToString(hasher.Sum(nil))))
+		}
+	}
+
+	if v.RPMModel.Package.Hash != nil {
+		result = append(result, strings.ToLower(swag.StringValue(v.RPMModel.Package.Hash.Value)))
+	}
+
+	return result
+}
+
+func (v *V001Entry) Unmarshal(pe models.ProposedEntry) error {
+	rpm, ok := pe.(*models.Rpm)
+	if !ok {
+		return errors.New("cannot unmarshal non RPM v0.0.1 type")
+	}
+
+	cfg := mapstructure.DecoderConfig{
+		DecodeHook: Base64StringtoByteArray(),
+		Result:     &v.RPMModel,
+	}
+
+	dec, err := mapstructure.NewDecoder(&cfg)
+	if err != nil {
+		return fmt.Errorf("error initializing decoder: %w", err)
+	}
+
+	if err := dec.Decode(rpm.Spec); err != nil {
+		return err
+	}
+	// field validation
+	if err := v.RPMModel.Validate(strfmt.Default); err != nil {
+		return err
+	}
+	// cross field validation
+	return v.Validate()
+
+}
+
+func (v V001Entry) HasExternalEntities() bool {
+	if v.fetchedExternalEntities {
+		return false
+	}
+
+	if v.RPMModel.Package != nil && v.RPMModel.Package.URL.String() != "" {
+		return true
+	}
+	if v.RPMModel.PublicKey != nil && v.RPMModel.PublicKey.URL.String() != "" {
+		return true
+	}
+	return false
+}
+
+func (v *V001Entry) FetchExternalEntities(ctx context.Context) error {
+	if v.fetchedExternalEntities {
+		return nil
+	}
+
+	if err := v.Validate(); err != nil {
+		return err
+	}
+
+	g, ctx := errgroup.WithContext(ctx)
+
+	hashR, hashW := io.Pipe()
+	sigR, sigW := io.Pipe()
+	rpmR, rpmW := io.Pipe()
+	defer hashR.Close()
+	defer sigR.Close()
+	defer rpmR.Close()
+
+	closePipesOnError := func(err error) error {
+		pipeReaders := []*io.PipeReader{hashR, sigR, rpmR}
+		pipeWriters := []*io.PipeWriter{hashW, sigW, rpmW}
+		for idx := range pipeReaders {
+			if e := pipeReaders[idx].CloseWithError(err); e != nil {
+				log.Logger.Error(fmt.Errorf("error closing pipe: %w", e))
+			}
+			if e := pipeWriters[idx].CloseWithError(err); e != nil {
+				log.Logger.Error(fmt.Errorf("error closing pipe: %w", e))
+			}
+		}
+		return err
+	}
+
+	oldSHA := ""
+	if v.RPMModel.Package.Hash != nil && v.RPMModel.Package.Hash.Value != nil {
+		oldSHA = swag.StringValue(v.RPMModel.Package.Hash.Value)
+	}
+	artifactFactory := pki.NewArtifactFactory("pgp")
+
+	g.Go(func() error {
+		defer hashW.Close()
+		defer sigW.Close()
+		defer rpmW.Close()
+
+		dataReadCloser, err := util.FileOrURLReadCloser(ctx, v.RPMModel.Package.URL.String(), v.RPMModel.Package.Content, true)
+		if err != nil {
+			return closePipesOnError(err)
+		}
+		defer dataReadCloser.Close()
+
+		/* #nosec G110 */
+		if _, err := io.Copy(io.MultiWriter(hashW, sigW, rpmW), dataReadCloser); err != nil {
+			return closePipesOnError(err)
+		}
+		return nil
+	})
+
+	hashResult := make(chan string)
+
+	g.Go(func() error {
+		defer close(hashResult)
+		hasher := sha256.New()
+
+		if _, err := io.Copy(hasher, hashR); err != nil {
+			return closePipesOnError(err)
+		}
+
+		computedSHA := hex.EncodeToString(hasher.Sum(nil))
+		if oldSHA != "" && computedSHA != oldSHA {
+			return closePipesOnError(fmt.Errorf("SHA mismatch: %s != %s", computedSHA, oldSHA))
+		}
+
+		select {
+		case <-ctx.Done():
+			return ctx.Err()
+		case hashResult <- computedSHA:
+			return nil
+		}
+	})
+
+	g.Go(func() error {
+		keyReadCloser, err := util.FileOrURLReadCloser(ctx, v.RPMModel.PublicKey.URL.String(),
+			v.RPMModel.PublicKey.Content, false)
+		if err != nil {
+			return closePipesOnError(err)
+		}
+		defer keyReadCloser.Close()
+
+		v.keyObj, err = artifactFactory.NewPublicKey(keyReadCloser)
+		if err != nil {
+			return closePipesOnError(err)
+		}
+
+		keyring, err := v.keyObj.(*pgp.PublicKey).KeyRing()
+		if err != nil {
+			return closePipesOnError(err)
+		}
+
+		if _, err := rpmutils.GPGCheck(sigR, keyring); err != nil {
+			return closePipesOnError(err)
+		}
+
+		select {
+		case <-ctx.Done():
+			return ctx.Err()
+		default:
+			return nil
+		}
+	})
+
+	g.Go(func() error {
+
+		var err error
+		v.rpmObj, err = rpmutils.ReadPackageFile(rpmR)
+		if err != nil {
+			return closePipesOnError(err)
+		}
+		//ReadPackageFile does not drain the entire reader so we need to discard the rest
+		if _, err = io.Copy(ioutil.Discard, rpmR); err != nil {
+			return closePipesOnError(err)
+		}
+
+		select {
+		case <-ctx.Done():
+			return ctx.Err()
+		default:
+			return nil
+		}
+	})
+
+	computedSHA := <-hashResult
+
+	if err := g.Wait(); err != nil {
+		return err
+	}
+
+	// if we get here, all goroutines succeeded without error
+	if oldSHA == "" {
+		v.RPMModel.Package.Hash = &models.RpmV001SchemaPackageHash{}
+		v.RPMModel.Package.Hash.Algorithm = swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256)
+		v.RPMModel.Package.Hash.Value = swag.String(computedSHA)
+	}
+
+	v.fetchedExternalEntities = true
+	return nil
+}
+
+func (v *V001Entry) Canonicalize(ctx context.Context) ([]byte, error) {
+	if err := v.FetchExternalEntities(ctx); err != nil {
+		return nil, err
+	}
+	if v.keyObj == nil {
+		return nil, errors.New("key object not initialized before canonicalization")
+	}
+
+	canonicalEntry := models.RpmV001Schema{}
+	canonicalEntry.ExtraData = v.RPMModel.ExtraData
+
+	var err error
+	// need to canonicalize key content
+	canonicalEntry.PublicKey = &models.RpmV001SchemaPublicKey{}
+	canonicalEntry.PublicKey.Content, err = v.keyObj.CanonicalValue()
+	if err != nil {
+		return nil, err
+	}
+
+	canonicalEntry.Package = &models.RpmV001SchemaPackage{}
+	canonicalEntry.Package.Hash = &models.RpmV001SchemaPackageHash{}
+	canonicalEntry.Package.Hash.Algorithm = v.RPMModel.Package.Hash.Algorithm
+	canonicalEntry.Package.Hash.Value = v.RPMModel.Package.Hash.Value
+	// data content is not set deliberately
+
+	// set NEVRA headers
+	canonicalEntry.Package.Headers = make(map[string]string)
+	canonicalEntry.Package.Headers["Name"] = v.rpmObj.Name()
+	canonicalEntry.Package.Headers["Epoch"] = strconv.Itoa(v.rpmObj.Epoch())
+	canonicalEntry.Package.Headers["Version"] = v.rpmObj.Version()
+	canonicalEntry.Package.Headers["Release"] = v.rpmObj.Release()
+	canonicalEntry.Package.Headers["Architecture"] = v.rpmObj.Architecture()
+	if md5sum := v.rpmObj.GetBytes(0, 1004); md5sum != nil {
+		canonicalEntry.Package.Headers["RPMSIGTAG_MD5"] = hex.EncodeToString(md5sum)
+	}
+	if sha1sum := v.rpmObj.GetBytes(0, 1012); sha1sum != nil {
+		canonicalEntry.Package.Headers["RPMSIGTAG_SHA1"] = hex.EncodeToString(sha1sum)
+	}
+	if sha256sum := v.rpmObj.GetBytes(0, 1016); sha256sum != nil {
+		canonicalEntry.Package.Headers["RPMSIGTAG_SHA256"] = hex.EncodeToString(sha256sum)
+	}
+
+	// ExtraData is copied through unfiltered
+	canonicalEntry.ExtraData = v.RPMModel.ExtraData
+
+	// wrap in valid object with kind and apiVersion set
+	rpm := models.Rpm{}
+	rpm.APIVersion = swag.String(APIVERSION)
+	rpm.Spec = &canonicalEntry
+
+	bytes, err := json.Marshal(&rpm)
+	if err != nil {
+		return nil, err
+	}
+
+	return bytes, nil
+}
+
+//Validate performs cross-field validation for fields in object
+func (v V001Entry) Validate() error {
+	key := v.RPMModel.PublicKey
+	if key == nil {
+		return errors.New("missing public key")
+	}
+	if len(key.Content) == 0 && key.URL.String() == "" {
+		return errors.New("one of 'content' or 'url' must be specified for publicKey")
+	}
+
+	pkg := v.RPMModel.Package
+	if pkg == nil {
+		return errors.New("missing package")
+	}
+
+	if len(pkg.Content) == 0 && pkg.URL.String() == "" {
+		return errors.New("one of 'content' or 'url' must be specified for package")
+	}
+
+	hash := pkg.Hash
+	if pkg.URL.String() != "" && hash == nil {
+		return errors.New("hash must be specified if 'url' is present for package")
+	}
+
+	if hash != nil {
+		if !govalidator.IsHash(swag.StringValue(hash.Value), swag.StringValue(hash.Algorithm)) {
+			return errors.New("invalid value for hash")
+		}
+	}
+
+	return nil
+}
diff --git a/pkg/types/rpm/v0.0.1/entry_test.go b/pkg/types/rpm/v0.0.1/entry_test.go
new file mode 100644
index 0000000..0fb39a9
--- /dev/null
+++ b/pkg/types/rpm/v0.0.1/entry_test.go
@@ -0,0 +1,387 @@
+/*
+Copyright © 2021 Bob Callaway <bcallawa@redhat.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package rpm
+
+import (
+	"context"
+	"crypto/sha256"
+	"encoding/hex"
+	"errors"
+	"io/ioutil"
+	"net/http"
+	"net/http/httptest"
+	"reflect"
+	"testing"
+
+	"github.com/go-openapi/strfmt"
+	"github.com/go-openapi/swag"
+	"github.com/projectrekor/rekor/pkg/generated/models"
+	"go.uber.org/goleak"
+)
+
+func TestMain(m *testing.M) {
+	goleak.VerifyTestMain(m)
+}
+
+func TestNewEntryReturnType(t *testing.T) {
+	entry := NewEntry()
+	if reflect.TypeOf(entry) != reflect.ValueOf(&V001Entry{}).Type() {
+		t.Errorf("invalid type returned from NewEntry: %T", entry)
+	}
+}
+
+func TestCrossFieldValidation(t *testing.T) {
+	type TestCase struct {
+		caseDesc                  string
+		entry                     V001Entry
+		hasExtEntities            bool
+		expectUnmarshalSuccess    bool
+		expectCanonicalizeSuccess bool
+	}
+
+	keyBytes, _ := ioutil.ReadFile("../../../../tests/test_rpm_public_key.key")
+	dataBytes, _ := ioutil.ReadFile("../../../../tests/test.rpm")
+
+	h := sha256.New()
+	_, _ = h.Write(dataBytes)
+	dataSHA := hex.EncodeToString(h.Sum(nil))
+
+	testServer := httptest.NewServer(http.HandlerFunc(
+		func(w http.ResponseWriter, r *http.Request) {
+			file := &keyBytes
+			var err error
+
+			switch r.URL.Path {
+			case "/key":
+				file = &keyBytes
+			case "/data":
+				file = &dataBytes
+			default:
+				err = errors.New("unknown URL")
+			}
+			if err != nil {
+				w.WriteHeader(http.StatusNotFound)
+				return
+			}
+			w.WriteHeader(http.StatusOK)
+			_, _ = w.Write(*file)
+		}))
+	defer testServer.Close()
+
+	testCases := []TestCase{
+		{
+			caseDesc:               "empty obj",
+			entry:                  V001Entry{},
+			expectUnmarshalSuccess: false,
+		},
+		{
+			caseDesc: "public key without url or content",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{},
+				},
+			},
+			expectUnmarshalSuccess: false,
+		},
+		{
+			caseDesc: "public key without package",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+				},
+			},
+			hasExtEntities:         true,
+			expectUnmarshalSuccess: false,
+		},
+		{
+			caseDesc: "public key with empty package",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{},
+				},
+			},
+			hasExtEntities:         true,
+			expectUnmarshalSuccess: false,
+		},
+		{
+			caseDesc: "public key with data & url but no hash",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:         true,
+			expectUnmarshalSuccess: false,
+		},
+		{
+			caseDesc: "public key with data & url and empty hash",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{},
+						URL:  strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:         true,
+			expectUnmarshalSuccess: false,
+		},
+		{
+			caseDesc: "public key with data & url and hash missing value",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+						},
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:         true,
+			expectUnmarshalSuccess: false,
+		},
+		{
+			caseDesc: "public key with data & url with 404 error on key",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/404"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+							Value:     swag.String(dataSHA),
+						},
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:            true,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: false,
+		},
+		{
+			caseDesc: "public key with data & url with 404 error on data",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+							Value:     swag.String(dataSHA),
+						},
+						URL: strfmt.URI(testServer.URL + "/404"),
+					},
+				},
+			},
+			hasExtEntities:            true,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: false,
+		},
+		{
+			caseDesc: "public key with invalid key content & with data with content",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						Content: strfmt.Base64(dataBytes),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Content: strfmt.Base64(dataBytes),
+					},
+				},
+			},
+			hasExtEntities:            false,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: false,
+		},
+		{
+			caseDesc: "public key with data & url and incorrect hash value",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+							Value:     swag.String("3030303030303030303030303030303030303030303030303030303030303030"),
+						},
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:            true,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: false,
+		},
+		{
+			caseDesc: "public key with data & url and complete hash value",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+							Value:     swag.String(dataSHA),
+						},
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:            true,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: true,
+		},
+		{
+			caseDesc: "public key with url key & with data with url and complete hash value",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						URL: strfmt.URI(testServer.URL + "/key"),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+							Value:     swag.String(dataSHA),
+						},
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:            true,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: true,
+		},
+		{
+			caseDesc: "public key with key content & with data with url and complete hash value",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						Content: strfmt.Base64(keyBytes),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+							Value:     swag.String(dataSHA),
+						},
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:            true,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: true,
+		},
+		{
+			caseDesc: "public key with key content & with data with url and complete hash value",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						Content: strfmt.Base64(keyBytes),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Hash: &models.RpmV001SchemaPackageHash{
+							Algorithm: swag.String(models.RpmV001SchemaPackageHashAlgorithmSha256),
+							Value:     swag.String(dataSHA),
+						},
+						URL: strfmt.URI(testServer.URL + "/data"),
+					},
+				},
+			},
+			hasExtEntities:            true,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: true,
+		},
+		{
+			caseDesc: "public key with key content & with data with content",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						Content: strfmt.Base64(keyBytes),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Content: strfmt.Base64(dataBytes),
+					},
+				},
+			},
+			hasExtEntities:            false,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: true,
+		},
+		{
+			caseDesc: "valid obj with extradata",
+			entry: V001Entry{
+				RPMModel: models.RpmV001Schema{
+					PublicKey: &models.RpmV001SchemaPublicKey{
+						Content: strfmt.Base64(keyBytes),
+					},
+					Package: &models.RpmV001SchemaPackage{
+						Content: strfmt.Base64(dataBytes),
+					},
+					ExtraData: []byte("{\"something\": \"here\""),
+				},
+			},
+			hasExtEntities:            false,
+			expectUnmarshalSuccess:    true,
+			expectCanonicalizeSuccess: true,
+		},
+	}
+
+	for _, tc := range testCases {
+		if err := tc.entry.Validate(); (err == nil) != tc.expectUnmarshalSuccess {
+			t.Errorf("unexpected result in '%v': %v", tc.caseDesc, err)
+		}
+
+		v := &V001Entry{}
+		r := models.Rpm{
+			APIVersion: swag.String(tc.entry.APIVersion()),
+			Spec:       tc.entry.RPMModel,
+		}
+		if err := v.Unmarshal(&r); (err == nil) != tc.expectUnmarshalSuccess {
+			t.Errorf("unexpected result in '%v': %v", tc.caseDesc, err)
+		}
+
+		if tc.entry.HasExternalEntities() != tc.hasExtEntities {
+			t.Errorf("unexpected result from HasExternalEntities for '%v'", tc.caseDesc)
+		}
+
+		if _, err := tc.entry.Canonicalize(context.TODO()); (err == nil) != tc.expectCanonicalizeSuccess {
+			t.Errorf("unexpected result from Canonicalize for '%v': %v", tc.caseDesc, err)
+		}
+	}
+}
diff --git a/pkg/types/rpm/v0.0.1/rpm_v0_0_1_schema.json b/pkg/types/rpm/v0.0.1/rpm_v0_0_1_schema.json
new file mode 100644
index 0000000..cacd8f6
--- /dev/null
+++ b/pkg/types/rpm/v0.0.1/rpm_v0_0_1_schema.json
@@ -0,0 +1,86 @@
+{
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "$id": "http://rekor.dev/types/rpm/rpm_v0_0_1_schema.json",
+    "title": "RPM v0.0.1 Schema",
+    "description": "Schema for RPM entries",
+    "type": "object",
+    "properties": {
+        "publicKey" : {
+            "description": "The PGP public key that can verify the RPM signature",
+            "type": "object",
+            "properties": {
+                "url": {
+                    "description": "Specifies the location of the public key",
+                    "type": "string",
+                    "format": "uri"
+                },
+                "content": {
+                    "description": "Specifies the content of the public key inline within the document",
+                    "type": "string",
+                    "format": "byte"
+                }
+            },
+            "oneOf": [
+                {
+                    "required": [ "url" ]
+                },
+                {
+                    "required": [ "content" ]
+                }
+            ]
+        },
+        "package": {
+            "description": "Information about the package associated with the entry",
+            "type": "object",
+            "properties": {
+                "headers": {
+                    "description": "Values of the RPM headers",
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    }
+                },
+                "hash": {
+                    "description": "Specifies the hash algorithm and value for the package",
+                    "type": "object",
+                    "properties": {
+                        "algorithm": {
+                            "description": "The hashing function used to compute the hash value",
+                            "type": "string",
+                            "enum": [ "sha256" ]
+                        },
+                        "value": {
+                            "description": "The hash value for the package",
+                            "type": "string"
+                        }
+                    },
+                    "required": [ "algorithm", "value" ]
+                },
+                "url": {
+                    "description": "Specifies the location of the package; if this is specified, a hash value must also be provided",
+                    "type": "string",
+                    "format": "uri"
+                },
+                "content": {
+                    "description": "Specifies the package inline within the document",
+                    "type": "string",
+                    "format": "byte"
+                }
+            },
+            "oneOf": [
+                {
+                    "required": [ "hash", "url" ]
+                },
+                {
+                    "required": [ "content" ]
+                }
+            ]
+        },
+        "extraData": {
+            "description": "Arbitrary content to be included in the verifiable entry in the transparency log", 
+            "type": "object",
+            "additionalProperties": true
+        }
+    },
+    "required": [ "publicKey", "package" ]
+}
diff --git a/pkg/util/types.go b/pkg/util/types.go
new file mode 100644
index 0000000..dc1a1f4
--- /dev/null
+++ b/pkg/util/types.go
@@ -0,0 +1,69 @@
+/*
+Copyright © 2021 Bob Callaway <bcallawa@redhat.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package util
+
+import (
+	"sync"
+
+	"github.com/blang/semver"
+	"github.com/projectrekor/rekor/pkg/log"
+	"github.com/projectrekor/rekor/pkg/types"
+)
+
+type VersionFactory func() types.EntryImpl
+
+type VersionFactoryMap struct {
+	VersionFactories map[string]VersionFactory
+
+	sync.RWMutex
+}
+
+func (vfm *VersionFactoryMap) Get(version string) (VersionFactory, bool) {
+	vfm.RLock()
+	defer vfm.RUnlock()
+
+	semverToMatch, err := semver.Parse(version)
+	if err != nil {
+		log.Logger.Error(err)
+		return nil, false
+	}
+
+	//will return first function that matches
+	for k, v := range vfm.VersionFactories {
+		semverRange, err := semver.ParseRange(k)
+		if err != nil {
+			log.Logger.Error(err)
+			return nil, false
+		}
+
+		if semverRange(semverToMatch) {
+			return v, true
+		}
+	}
+	return nil, false
+}
+
+func (vfm *VersionFactoryMap) Set(constraint string, vf VersionFactory) {
+	vfm.Lock()
+	defer vfm.Unlock()
+
+	if _, err := semver.ParseRange(constraint); err != nil {
+		log.Logger.Error(err)
+		return
+	}
+
+	vfm.VersionFactories[constraint] = vf
+}
diff --git a/tests/e2e_test.go b/tests/e2e_test.go
index 192d4b5..aba5d13 100644
--- a/tests/e2e_test.go
+++ b/tests/e2e_test.go
@@ -38,7 +38,7 @@ func TestDuplicates(t *testing.T) {
 	outputContains(t, out, "Created entry at")
 }
 
-func TestUploadVerify(t *testing.T) {
+func TestUploadVerifyRekord(t *testing.T) {
 
 	// Create a random artifact and sign it.
 	artifactPath := filepath.Join(t.TempDir(), "artifact")
@@ -67,6 +67,34 @@ func TestUploadVerify(t *testing.T) {
 	outputContains(t, out, "Inclusion Proof:")
 }
 
+func TestUploadVerifyRpm(t *testing.T) {
+
+	// Create a random rpm and sign it.
+	rpmPath := filepath.Join("rpm")
+
+	createSignedRpm(t, rpmPath)
+
+	// Write the public key to a file
+	pubPath := filepath.Join(t.TempDir(), "pubKey.asc")
+	if err := ioutil.WriteFile(pubPath, []byte(publicKey), 0644); err != nil {
+		t.Fatal(err)
+	}
+
+	// Verify should fail initially
+	runCliErr(t, "verify", "--type=rpm", "--artifact", rpmPath, "--public-key", pubPath)
+
+	// It should upload successfully.
+	out := runCli(t, "upload", "--type=rpm", "--artifact", rpmPath, "--public-key", pubPath)
+	outputContains(t, out, "Created entry at")
+
+	// We have to wait some time for the log to get signed and included.
+	time.Sleep(3 * time.Second)
+
+	// Now we should be able to verify it.
+	out = runCli(t, "verify", "--type=rpm", "--artifact", rpmPath, "--public-key", pubPath)
+	outputContains(t, out, "Inclusion Proof:")
+}
+
 func TestLogInfo(t *testing.T) {
 	// TODO: figure out some way to check the length, add something, and make sure the length increments!
 	out := runCli(t, "loginfo")
diff --git a/tests/pgp.go b/tests/pgp.go
index 19a9b69..cdf0f2d 100644
--- a/tests/pgp.go
+++ b/tests/pgp.go
@@ -4,7 +4,6 @@ package e2e
 
 import (
 	"bytes"
-	"io"
 	"io/ioutil"
 	"strings"
 	"testing"
@@ -150,13 +149,12 @@ func init() {
 	}
 }
 
-func Sign(t *testing.T, m io.Reader) []byte {
-	t.Helper()
-	var b bytes.Buffer
-	if err := openpgp.ArmoredDetachSign(&b, keys[0], m, nil); err != nil {
-		t.Fatal(err)
+func Sign(b []byte) ([]byte, error) {
+	var buf bytes.Buffer
+	if err := openpgp.DetachSign(&buf, keys[0], bytes.NewReader(b), nil); err != nil {
+		return nil, err
 	}
-	return b.Bytes()
+	return buf.Bytes(), nil
 }
 
 // createdSignedArtifact gets the test dir setup correctly with some random artifacts and keys.
@@ -165,7 +163,10 @@ func createdSignedArtifact(t *testing.T, artifactPath, sigPath string) {
 	artifact := createArtifact(t, artifactPath)
 
 	// Sign it with our key and write that to a file
-	signature := Sign(t, strings.NewReader(artifact))
+	signature, err := Sign([]byte(artifact))
+	if err != nil {
+		t.Fatal(err)
+	}
 	if err := ioutil.WriteFile(sigPath, []byte(signature), 0644); err != nil {
 		t.Fatal(err)
 	}
diff --git a/tests/rpm.go b/tests/rpm.go
new file mode 100644
index 0000000..b14fe5c
--- /dev/null
+++ b/tests/rpm.go
@@ -0,0 +1,77 @@
+// +build e2e
+
+/*
+Copyright © 2021 Bob Callaway <bcallawa@redhat.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package e2e
+
+import (
+	"bytes"
+	"io/ioutil"
+	"math/rand"
+	"os"
+	"testing"
+
+	"github.com/google/rpmpack"
+)
+
+func randomRpmSuffix() string {
+	const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
+	b := make([]byte, 16)
+	for i := range b {
+		b[i] = letterBytes[rand.Intn(len(letterBytes))]
+	}
+	return string(b)
+}
+
+func createSignedRpm(t *testing.T, artifactPath string) {
+	t.Helper()
+
+	rpmMetadata := rpmpack.RPMMetaData{
+		Name:    "test-rpm-" + randomRpmSuffix(),
+		Epoch:   0,
+		Version: "1",
+		Release: "2",
+		Arch:    "x86_64",
+	}
+	rpm, err := rpmpack.NewRPM(rpmMetadata)
+	if err != nil {
+		t.Error(err)
+	}
+
+	rpm.SetPGPSigner(Sign)
+
+	data, err := randomData(100)
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	rpm.AddFile(rpmpack.RPMFile{
+		Name:  randomRpmSuffix(),
+		Body:  data,
+		Type:  rpmpack.GenericFile,
+		Owner: "testOwner",
+		Group: "testGroup",
+	})
+
+	rpmBuf := bytes.Buffer{}
+	if err := rpm.Write(&rpmBuf); err != nil {
+		t.Fatal(err)
+	}
+	if err := ioutil.WriteFile(artifactPath, rpmBuf.Bytes(), os.ModePerm); err != nil {
+		t.Fatal(err)
+	}
+}
diff --git a/tests/rpm.json b/tests/rpm.json
new file mode 100644
index 0000000..836a307
--- /dev/null
+++ b/tests/rpm.json
@@ -0,0 +1 @@
+{"kind":"rpm","apiVersion":"0.0.1","spec":{"package":{"content":"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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAQAAAAAAByb290AHJvb3QAcm9vdAByb290AHJvb3QAcm9vdAByb290AHJvb3QATmV0d29ya01hbmFnZXItMS4yNi4wLTguZWw4LnNyYy5ycG0A/////////////////////05ldHdvcmtNYW5hZ2VyLWJsdWV0b290aABOZXR3b3JrTWFuYWdlci1ibHVldG9vdGgoeDg2LTY0KQBsaWJubS1kZXZpY2UtcGx1Z2luLWJsdWV0b290aC5zbygpKDY0Yml0KQAAAAAIAAAACAAAAAwAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAABAAAKAQAACgEAAAoBAAAKAABAAE5ldHdvcmtNYW5hZ2VyKHg4Ni02NCkATmV0d29ya01hbmFnZXItd3dhbgBibHVlegBsaWJibHVldG9vdGguc28uMygpKDY0Yml0KQBsaWJjLnNvLjYoKSg2NGJpdCkAbGliYy5zby42KEdMSUJDXzIuMTQpKDY0Yml0KQBsaWJjLnNvLjYoR0xJQkNfMi4yLjUpKDY0Yml0KQBsaWJjLnNvLjYoR0xJQkNfMi40KSg2NGJpdCkAbGliZGwuc28uMigpKDY0Yml0KQBsaWJnY2Nfcy5zby4xKCkoNjRiaXQpAGxpYmdjY19zLnNvLjEoR0NDXzMuMCkoNjRiaXQpAGxpYmdjY19zLnNvLjEoR0NDXzMuMy4xKSg2NGJpdCkAbGliZ2lvLTIuMC5zby4wKCkoNjRiaXQpAGxpYmdsaWItMi4wLnNvLjAoKSg2NGJpdCkAbGliZ21vZHVsZS0yLjAuc28uMCgpKDY0Yml0KQBsaWJnb2JqZWN0LTIuMC5zby4wKCkoNjRiaXQpAGxpYm1tLWdsaWIuc28uMCgpKDY0Yml0KQBsaWJubS13d2FuLnNvKCkoNjRiaXQpAGxpYnB0aHJlYWQuc28uMCgpKDY0Yml0KQBsaWJwdGhyZWFkLnNvLjAoR0xJQkNfMi4yLjUpKDY0Yml0KQBsaWJzeXN0ZW1kLnNvLjAoKSg2NGJpdCkAcnBtbGliKENvbXByZXNzZWRGaWxlTmFtZXMpAHJwbWxpYihGaWxlRGlnZXN0cykAcnBtbGliKFBheWxvYWRGaWxl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IEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4yNi4wLTEAQmVuaWFtaW5vIEdhbHZhbmkgPGJnYWx2YW5pQHJlZGhhdC5jb20+IC0gMToxLjI2LjAtMC4yLjEAQmVuaWFtaW5vIEdhbHZhbmkgPGJnYWx2YW5pQHJlZGhhdC5jb20+IC0gMToxLjI2LjAtMC4yAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMjYuMC0wLjEAQmVuaWFtaW5vIEdhbHZhbmkgPGJnYWx2YW5pQHJlZGhhdC5jb20+IC0gMToxLjI1LjItMQBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjI1LjEtMQBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjIyLjgtNABCZW5pYW1pbm8gR2FsdmFuaSA8YmdhbHZhbmlAcmVkaGF0LmNvbT4gLSAxOjEuMjIuOC0zAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMjIuOC0yAEFudG9uaW8gQ2FyZGFjZSA8YWNhcmRhY2VAcmVkaGF0LmNvbT4gLSAxOjEuMjIuOC0xAEFudG9uaW8gQ2FyZGFjZSA8YWNhcmRhY2VAcmVkaGF0LmNvbT4gLSAxOjEuMjIuNi0xAEJlbmlhbWlubyBHYWx2YW5pIDxiZ2FsdmFuaUByZWRoYXQuY29tPiAtIDE6MS4yMi40LTEAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4yMi4yLTEAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4yMi4wLTIAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4yMi4wLTEAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4yMi4wLTAuMgBCZW5pYW1pbm8gR2FsdmFuaSA8YmdhbHZhbmlAcmVkaGF0LmNvbT4gLSAxOjEuMjIuMC0wLjEATHVib21pciBSaW50ZWwgPGxyaW50ZWxAcmVkaGF0LmNvbT4gLSAxOjEuMjAuMC00AFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMjAuMC0zAEx1Ym9taXIgUmludGVsIDxscmludGVsQHJlZGhhdC5jb20+IC0gMToxLjIwLjAtMgBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjIwLjAtMQBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjIwLjAtMC40AEx1Ym9taXIgUmludGVsIDxscmludGVsQHJlZGhhdC5jb20+IC0gMToxLjIwLjAtMC4zAEx1Ym9taXIgUmludGVsIDxscmludGVsQHJlZGhhdC5jb20+IC0gMToxLjIwLjAtMC4yAEx1Ym9taXIgUmludGVsIDxscmludGVsQHJlZGhhdC5jb20+IC0gMToxLjIwLjAtMC4xAEJlbmlhbWlubyBHYWx2YW5pIDxiZ2FsdmFuaUByZWRoYXQuY29tPiAtIDE6MS4xNC4wLTE0AEZyYW5jZXNjbyBHaXVkaWNpIDxmZ2l1ZGljaUByZWRoYXQuY29tPiAtIDE6MS4xNC4wLTEzAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0xMgBCZW5pYW1pbm8gR2FsdmFuaSA8YmdhbHZhbmlAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0xMQBCZW5pYW1pbm8gR2FsdmFuaSA8YmdhbHZhbmlAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0xMABUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjE0LjAtOQBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjE0LjAtOABUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjE0LjAtNwBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjE0LjAtNgBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjE0LjAtNQBCZW5pYW1pbm8gR2FsdmFuaSA8YmdhbHZhbmlAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC00AFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0zAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0yAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0xAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0wLjQAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4xNC4wLTAuMwBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjE0LjAtMC4yAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMTQuMC0wLjEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4xMi4wLTAuNABUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjEyLjAtMC4zAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMTIuMC0wLjIAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4xMi4wLTAuMQBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjEwLjItMQBCasO2cm4gRXNzZXIgPGJlc3NlcjgyQGZlZG9yYXByb2plY3Qub3JnPiAtIDE6MS44LjQtNwBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjguNC02AEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuOC40LTUAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS44LjQtNABUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjguNC0zAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuOC40LTIAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS44LjQtMQBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDE6MS44LjItMy4yAEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMToxLjguMi0zLjEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS44LjItMwBTdGVwaGVuIEdhbGxhZ2hlciA8c2dhbGxhZ2hAcmVkaGF0LmNvbT4gLSAxOjEuOC4yLTIAQmVuaWFtaW5vIEdhbHZhbmkgPGJnYWx2YW5pQHJlZGhhdC5jb20+IC0gMToxLjguMi0xAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuOC4wLTYATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS44LjAtNQBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjguMC00AFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuOC4wLTMAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS44LjAtMgBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjguMC0xAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuOC4wLTAuMi5yYzMATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS44LjAtMC4yLnJjMgBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjguMC0wLjEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS42LjItMQBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDE6MS42LjAtMS4xAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuNi4wLTEAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS42LTAuMi5yYzEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS42LTAuMS5yYzEAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS41LjMtNQBJZ29yIEduYXRlbmtvIDxpZ25hdGVua29AcmVkaGF0LmNvbT4gLSAxOjEuNS4zLTQuMQBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjUuMy00AFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuNS4yLTQAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS41LjItMwBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjUuMi0yAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuNS4yLTEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS40LjItMQBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMToxLjQuMC00AFRob2FtcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuNC4wLTMAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS40LjAtMgBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjQuMC0xAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuNC4wLTAuNS5naXQyMDE2MDYyMS4wNzIzNThkYQBNYXR0aGlhcyBDbGFzZW4gPG1jbGFzZW5AcmVkaGF0LmNvbT4gLSAxOjEuNC4wLTAuNC5naXQyMDE2MDYyMS4wNzIzNThkYQBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjQuMC0wLjMuZ2l0MjAxNjA2MjEuMDcyMzU4ZGEAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4yLjItMgBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjIuMi0xAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMi4wLTEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4yLjAtMC43LnJjMgBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjIuMC0wLjcucmMxAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMi4wLTAuOC5iZXRhMwBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjIuMC0wLjcuYmV0YTMATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4yLjAtMC43LmJldGEyAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MS4yLjAtMC42LmJldGEyLjEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4yLjAtMC42LmJldGEyAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMi4wLTAuNi5iZXRhMQBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDE6MS4yLjAtMC41LmJldGExLjEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4yLjAtMC41LmJldGExAERhdmlkIEtpbmcgPGFtaWdhZGF2ZUBhbWlnYWRhdmUuY29tPiAtIDE6MS4yLjAtMC40LjIwMTUxMDA3Z2l0ZTczZTU1YwBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjIuMC0wLjMuMjAxNTExMTJnaXRlYzRkNjUzAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMi4wLTAuMy4yMDE1MTAyM2dpdGUwMWMxNzUATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4yLjAtMC4yLjIwMTUxMDA3Z2l0ZTczZTU1YwBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjIuMC0wLjIuMjAxNTA5MDNnaXRkZTVkOTgxAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMi4wLTAuMS4yMDE1MDkwM2dpdGRlNWQ5ODEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4wLjYtMgBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjAuNi0xAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAxOjEuMC42LTAuMi4yMDE1MDgxM2dpdDdlMmNhYTIATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4wLjYtMC4xLjIwMTUwODEzZ2l0N2UyY2FhMgBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjAuNC0yAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMC40LTEARGFuIEhvcsOhayA8ZGFuW2F0XWRhbm55LmN6PiAtIDE6MS4wLjQtMC41LmdpdDIwMTUwNzEzLjM4YmYyY2IwAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMC40LTAuNC5naXQyMDE1MDcxMy4zOGJmMmNiMABMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+IC0gMToxLjAuNC0wLjMuZ2l0MjAxNTA3MDcuZTNiZDRlMQBKacWZw60gS2xpbWXFoSA8amtsaW1lc0ByZWRoYXQuY29tPiAtIDE6MS4wLjQtMC4yLmdpdDIwMTUwNzA3LmNmMTVmMmEATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAtIDE6MS4wLjQtMC4xLmdpdDIwMTYwNjI0LmYyNDViNDlhAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMC40LTAuMS5naXQyMDE1MDYxOC44Y2ZmYWYzYmY1AEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDE6MS4wLjItMS4xAEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gLSAxOjEuMC4yLTEASmnFmcOtIEtsaW1lxaEgPGprbGltZXNAcmVkaGF0LmNvbT4gLSAxOjEuMC4xLTIuZ2l0MjAxNTA0MjkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMToxLjAuMS0xLmdpdDIwMTUwMzA1AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MS4wLjAtNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjEuMC4wLTYARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMToxLjAuMC01AEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4gLSAxOjEuMC4wLTQAVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPiAtIDE6MS4wLjAtMwBEYW4gV2luc2hpcCA8ZGFud0ByZWRoYXQuY29tPiAtIDE6MS4wLjAtMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjEuMC4wLTEASmnFmcOtIEtsaW1lxaEgPGprbGltZXNAcmVkaGF0LmNvbT4gLSAxOjAuOS4xMC4wLTE0LmdpdDIwMTQwNzA0AEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMTowLjkuMTAuMC0xMy5naXQyMDE0MDcwNABEYW4gV2luc2hpcCA8ZGFud0ByZWRoYXQuY29tPiAtIDE6MC45LjEwLjAtMTIuZ2l0MjAxNDA3MDQATHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPiAxOjAuOS4xMC4wLTExLmdpdDIwMTQwNzA0AEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gMTowLjkuMTAuMC0xMC5naXQyMDE0MDcwNABBZGFtIFdpbGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+IC0gMTowLjkuMTAuMC05LmdpdDIwMTQwNzA0AEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4gMTowLjkuMTAuMC04LmdpdDIwMTQwNzA0AFN0ZWYgV2FsdGVyIDxzdGVmd0ByZWRoYXQuY29tPiAtIDE6MC45LjEwLjAtNy5naXQyMDE0MDcwNABKacWZw60gS2xpbWXFoSA8amtsaW1lc0ByZWRoYXQuY29tPiAtIDE6MC45LjEwLjAtNi5naXQyMDE0MDcwNABQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNvbkBmZWRvcmFwcm9qZWN0Lm9yZz4gMTowLjkuMTAuMC01LmdpdDIwMTQwNzA0AERhbiBIb3LDoWsgPGRhblthdF1kYW5ueS5jej4gLSAxOjAuOS4xMC4wLTQuZ2l0MjAxNDA3MDQARmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMTowLjkuMTAuMC0zLmdpdDIwMTQwNzA0LjEAS2FsZXYgTGVtYmVyIDxrYWxldmxlbWJlckBnbWFpbC5jb20+IC0gMTowLjkuMTAuMC0zLmdpdDIwMTQwNzA0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC45LjEwLjAtMi5naXQyMDE0MDcwNABLYWxldiBMZW1iZXIgPGthbGV2bGVtYmVyQGdtYWlsLmNvbT4gLSAxOjAuOS4xMC4wLTEuZ2l0MjAxNDA3MDQuMQBUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMC45LjEwLjAtMS5naXQyMDE0MDcwNABUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMC45LjkuOTgtMS5naXQyMDE0MDYyMABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuOS45NS0xLmdpdDIwMTQwNjA5AEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDE6MC45LjkuMS02LmdpdDIwMTQwMzE5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS45LjEtNS5naXQyMDE0MDMxOQBEYW4gV2luc2hpcCA8ZGFud0ByZWRoYXQuY29tPiAtIDAuOS45LjEtNC5naXQyMDE0MDMxOQBKacWZw60gS2xpbWXFoSA8amtsaW1lc0ByZWRoYXQuY29tPiAtIDAuOS45LjEtMy5naXQyMDE0MDMxNwBKacWZw60gS2xpbWXFoSA8amtsaW1lc0ByZWRoYXQuY29tPiAtIDAuOS45LjEtMi5naXQyMDE0MDMxNABKacWZw60gS2xpbWXFoSA8amtsaW1lc0ByZWRoYXQuY29tPiAtIDAuOS45LjEtMS5naXQyMDE0MDMxMABUaG9tYXMgSGFsbGVyIDx0aGFsbGVyQHJlZGhhdC5jb20+IC0gMC45LjkuMS0wLmdpdDIwMTQwMjI4AFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTI4LmdpdDIwMTQwMTMxAFRob21hcyBIYWxsZXIgPHRoYWxsZXJAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTI3LmdpdDIwMTQwMTMxAEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjkuMC0yNi5naXQyMDE0MDEzMQBKacWZw60gS2xpbWXFoSA8amtsaW1lc0ByZWRoYXQuY29tPiAtIDAuOS45LjAtMjUuZ2l0MjAxNDAxMTcASmnFmcOtIEtsaW1lxaEgPGprbGltZXNAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTI0LmdpdDIwMTQwMTE0AERhbiBXaW5zaGlwIDxkYW53QHJlZGhhdC5jb20+IC0gMC45LjkuMC0yMy5naXQyMDEzMTAwMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTIyLmdpdDIwMTMxMDAzAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS45LjAtMjEuZ2l0MjAxMzEwMDMARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTIwLmdpdDIwMTMxMDAzAEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjkuMC0xOS5naXQyMDEzMTAwMwBEYW4gV2luc2hpcCA8ZGFud0ByZWRoYXQuY29tPiAtIDAuOS45LjAtMTguZ2l0MjAxMzEwMDMARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjkuMC0xNy5naXQyMDEzMTAwMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTE2LmdpdDIwMTMxMDAzAEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjkuMC0xNS5naXQyMDEzMTAwMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTE0LmdpdDIwMTMxMDAzAERhbiBXaW5zaGlwIDxkYW53QHJlZGhhdC5jb20+IC0gMC45LjkuMC0xMy5naXQyMDEzMTAwMQBCaWxsIE5vdHRpbmdoYW0gPG5vdHRpbmdAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTEyLmdpdDIwMTMwOTEzAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS45LjAtMTEuZ2l0MjAxMzA5MTMARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjkuMC0xMC5naXQyMDEzMDkwNgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTkuZ2l0MjAxMzA4MDcARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTguZ2l0MjAxMzA3MjQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjkuMC03LmdpdDIwMTMwNzI0AERhbiBXaW5zaGlwIDxkYW53QHJlZGhhdC5jb20+IC0gMC45LjkuMC02AERhbiBXaW5zaGlwIDxkYW53QHJlZGhhdC5jb20+IC0gMC45LjkuMC01AEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjkuMC00LmdpdDIwMTMwNjAzAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS45LjAtMy5naXQyMDEzMDYwMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuOS4wLTIuZ2l0MjAxMzA1MTUARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjkuMC0xLmdpdDIwMTMwNTE0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS44LjEtMi5naXQyMDEzMDUwNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuOC4xLTEuZ2l0MjAxMzAzMjcASmnFmcOtIEtsaW1lxaEgPGprbGltZXNAcmVkaGF0LmNvbT4gLSAwLjkuOC4wLTEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjcuOTk3LTIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjcuOTk3LTEARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuNy4wLTEyLmdpdDIwMTIxMDA0AEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjcuMC0xMS5naXQyMDEyMTAwNABEYW4gV2luc2hpcCA8ZGFud0ByZWRoYXQuY29tPiAtIDAuOS43LjAtMTAuZ2l0MjAxMjEwMDQARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuNy4wLTkuZ2l0MjAxMjEwMDQASmnFmcOtIEtsaW1lxaEgPGprbGltZXNAcmVkaGF0LmNvbT4gLSAwLjkuNy4wLTguZ2l0MjAxMjEwMDQARGFuaWVsIERyYWtlIDxkc2RAbGFwdG9wLm9yZz4gLSAwLjkuNy4wLTcuZ2l0MjAxMjEwMDQARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuNy4wLTYuZ2l0MjAxMjEwMDQARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuNy4wLTUuZ2l0MjAxMjEwMDQARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuNy4wLTQuZ2l0MjAxMjEwMDQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjcuMC0zLmdpdDIwMTIxMDA0AERhbiBXaW5zaGlwIDxkYW53QHJlZGhhdC5jb20+IC0gMC45LjcuMC0yLmdpdDIwMTIxMDA0AERhbiBXaW5zaGlwIDxkYW53QHJlZGhhdC5jb20+IC0gMC45LjcuMC0xLmdpdDIwMTIwODIwAEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDE6MC45LjUuOTYtMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuNS45Ni0xAEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjUuOTUtMS5naXQyMDEyMDcxMwBKacWZw60gS2xpbWXFoSA8amtsaW1lc0ByZWRoYXQuY29tPiAtIDAuOS40LTUuZ2l0MjAxMjA1MjEARGFuIFdpbnNoaXAgPGRhbndAcmVkaGF0LmNvbT4gLSAwLjkuNC00LmdpdDIwMTIwNTAyAEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjQtMy5naXQyMDEyMDUwMgBDb2xpbiBXYWx0ZXJzIDx3YWx0ZXJzQHZlcmJ1bS5vcmc+IC0gMTowLjkuNC0yLmdpdDIwMTIwMzI4XzIASmnFmcOtIEtsaW1lxaEgPGprbGltZXNAcmVkaGF0LmNvbT4gLSAwLjkuNC0xLmdpdDIwMTIwMzI4XzIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjMuOTk3LTIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjMuOTk3LTEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjMuOTk3LTAuNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuMy45OTUtMC42AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS4zLjk5NS0wLjUARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC45LjMuOTk1LTAuNABEYW4gSG9yw6FrIDxkYW5bYXRdZGFubnkuY3o+IC0gMC45LjMtMC4zAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS4zLTAuMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuMy0wLjEATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+IC0gMC45LjItNABGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZz4gLSAxOjAuOS4yLTMARGFuaWVsIERyYWtlIDxkc2RAbGFwdG9wLm9yZz4gLSAwLjkuMi0yAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS4yLTEAQWRhbSBXaWxsaWFtc29uIDxhd2lsbGlhbUByZWRoYXQuY29tPiAtIDE6MC45LjEuOTAtNS5naXQyMDExMDkyNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuMS45MC0zLmdpdDIwMTEwOTI3AEppxZnDrSBLbGltZcWhIDxqa2xpbWVzQHJlZGhhdC5jb20+IC0gMC45LjEuOTAtMi5naXQyMDExMDkyNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjkuMS45MC0xAFRvbSBDYWxsYXdheSA8c3BvdEBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjkuMC0yAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOS4wLTEAUmF5IFN0cm9kZSA8cnN0cm9kZUByZWRoYXQuY29tPiAwLjguOTk5Ny03LmdpdDIwMTEwNzIxAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC45OTk3LTYuZ2l0MjAxMTA3MjEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5OTctNS5naXQyMDExMDcwMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk5Ny00LmdpdDIwMTEwNjIwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC45OTk3LTMuZ2l0MjAxMTA2MTMARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5OTctMi5naXQyMDExMDUzMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk5Ny0xLmdpdDIwMTEwNTMxAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC45OTktMy5naXQyMDExMDUyNgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk5LTIuZ2l0MjAxMTA1MDkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5OS0xAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC45OTgtNC5naXQyMDExMDQyNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk4LTMuZ2l0MjAxMTA0MTkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5OC0yLmdpdDIwMTEwNDA2AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC45OTgtMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk3LTguZ2l0MjAxMTAzMzEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5Ny03LmdpdDIwMTEwMzMwAENocmlzdG9waGVyIEFpbGxvbiA8Y2FpbGxvbkByZWRoYXQuY29tPiAtIDAuOC45OTctNi5naXQyMDExMDMyOABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk3LTUuZ2l0MjAxMTAzMjgARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5Ny00LmdpdDIwMTEwMzI1AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC45OTctMy5naXQyMDExMDMyNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk3LTIuZ2l0MjAxMTAzMjQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5Ny0xAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC45OTYtMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk1LTQuZ2l0MjAxMTAzMDgARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44Ljk5NS0zLmdpdDIwMTEwMzA4AE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPiAtIDAuOC45OTUtMi5naXQyMDExMDMwOABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguOTk1LTEuZ2l0MjAxMTAzMDgATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+IC0gMC44LjItOC5naXQyMDEwMTExNwBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZz4gLSAxOjAuOC4yLTcuZ2l0MjAxMDExMTcATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+IC0gMC44LjItNi5naXQyMDEwMTExNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguMi01LmdpdDIwMTAxMTE3AE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPiAtIDAuOC4yLTQuZ2l0MjAxMDExMTcARGFuIEhvcsOhayA8ZGFuW2F0XWRhbm55LmN6PiAtIDAuOC4yLTMuZ2l0MjAxMDExMTcATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+IC0gMC44LjItMi5naXQyMDEwMTExNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguMi0xLmdpdDIwMTAxMTE3AE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPiAtIDAuOC4xLTEwLjEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LjEtMTAARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LjEtOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguMS04AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC4xLTcARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LjEtNgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguMS01AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC4xLTQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LjEtMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguMS0yAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC4xLTEATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdGNvbT4gLSAwLjguMS0wLjUARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LjEtMC40AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC4xLTAuMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjguMS0wLjIuZ2l0MjAxMDA1MTkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LjEtMC4xLmdpdDIwMTAwNTEwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC0xMy5naXQyMDEwMDUwOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtMTIuZ2l0MjAxMDA1MDQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LTExLmdpdDIwMTAwNTAzAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC0xMC5naXQyMDEwMDUwMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtOS5naXQyMDEwMDQyOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtOC5naXQyMDEwMDQyNgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtNy5naXQyMDEwMDQyMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtNi5naXQyMDEwMDQwOABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtNS5naXQyMDEwMDQwOABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtNC5naXQyMDEwMDMyNQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtMy5naXQyMDEwMDMyMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtMi5naXQyMDEwMDMxNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtMS5naXQyMDEwMDIxOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjgtMC40LmdpdDIwMTAwMjExAEtldmluIEtvZmxlciA8S2V2aW5AdGlnY2MudGljYWxjLm9yZz4gLSAwLjgtMC4zLmdpdDIwMTAwMTI5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuOC0wLjIuZ2l0MjAxMDAxMjkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC44LTAuMS5naXQyMDEwMDEyMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuOTk5LTIuZ2l0MjAxMDAxMjAARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC43Ljk5OS0xLmdpdDIwMTAwMTIwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNy45OTgtMS5naXQyMDEwMDEwNgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuOTk3LTIuZ2l0MjAwOTEyMTQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC43Ljk5Ny0xAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNy45OTYtNy5naXQyMDA5MTExMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuOTk2LTYuZ2l0MjAwOTEwMjEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC43Ljk5Ni01LmdpdDIwMDkxMDIxAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNy45OTYtNC5naXQyMDA5MTAwMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuOTk2LTMuZ2l0MjAwOTA5MjgATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+IC0gMC43Ljk5Ni0zLmdpdDIwMDkwOTIxAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNy45OTYtMi5naXQyMDA5MDkyMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuOTk2LTEuZ2l0MjAwOTA4MjYARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC43Ljk5NS0zLmdpdDIwMDkwODEzAEJhc3RpZW4gTm9jZXJhIDxibm9jZXJhQHJlZGhhdC5jb20+IDAuNy45OTUtMi5naXQyMDA5MDgwNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuOTk1LTEuZ2l0MjAwOTA4MDQATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+IC0gMC43Ljk5NS0xLmdpdDIwMDkwNzI4AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNy45OTUtMC5naXQyMDA5MDcyOABGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZz4gLSAxOjAuNy4xLTkuZ2l0MjAwOTA3MDgARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC43LjEtOC5naXQyMDA5MDcwOABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuMS03LmdpdDIwMDkwNzA4AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNy4xLTYuZ2l0MjAwOTA2MTcARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC43LjEtNS5naXQyMDA5MDYxNwBLYXJzdGVuIEhvcHAgPGthcnN0ZW5AcmVkaGF0LmNvbT4gMC43LjEtNC5naXQyMDA5MDQxNC4xAEFkYW0gSmFja3NvbiA8YWpheEByZWRoYXQuY29tPiAxOjAuNy4xLTQuZ2l0MjAwOTA0MTQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMS0zLmdpdDIwMDkwNDE0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjEtMi5naXQyMDA5MDQxNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4xLTEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC4xMDAtMi5naXQyMDA5MDQwOABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLjEwMC0xAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAuOTktNQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLjk5LTQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC45OS0zLjUARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC45OS0zAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAuOTktMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLjk5LTEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC45OC0xLmdpdDIwMDkwMjI1AEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDE6MC43LjAuOTctNi5naXQyMDA5MDIyMABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLjk3LTUuZ2l0MjAwOTAyMjAARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC45Ny00LmdpdDIwMDkwMjE5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAuOTctMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLjk3LTEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0yLmdpdDIwMDkwMjA3AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMS5naXQyMDA5MDEwMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTIuc3ZuNDMyNgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTIuc3ZuNDI5NgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTIuc3ZuNDI5NQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTIuc3ZuNDI5MwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTEuc3ZuNDIyOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTEuc3ZuNDIwMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTEuc3ZuNDE3NQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTEuc3ZuNDE3NABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTEuc3ZuNDAyMi40AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMS5zdm40MDIyLjMARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjExLnN2bjQwMjIuMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMTEuc3ZuNDAyMi4xAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMS5zdm40MDIyAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMS5zdm4zOTMwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMS5zdm4zOTI3AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMS5zdm4zODQ2AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMS5zdm4zODMwAE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMC5zdm4zODAxAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMC5zdm4zODAxAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4xMC5zdm4zNzQ3AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjQuc3ZuMzY3NQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4zLnN2bjM2NzUARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMy5zdm4zNjY5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjMuc3ZuMzY2NwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4zLnN2bjM2NjUARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMy5zdm4zNjIzAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjIuc3ZuMzYyMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4yLnN2bjM2MjIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMi5zdm4zNjIwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjIuc3ZuMzYxOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4yLnN2bjM2MTQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMi5zdm4zNTkwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjIuc3ZuMzU3OABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4yLnN2bjM1NzEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMi5zdm4zNTcwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjIuc3ZuMzU2NgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4xLnN2bjM1NjYARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMS5zdm4zNTQ5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjEuc3ZuMzU0OABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4xLnN2bjM1NDcARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMS5zdm4zNTI3AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjEuc3ZuMzUyMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4xLnN2bjM0NzYARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMS5zdm4zNDczAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC45LjEuc3ZuMzQ3MgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOS4xLnN2bjM0NDAARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjkuMS5zdm4zNDE3AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC44LnN2bjM0MTcARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjguc3ZuMzM3MABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOC5zdm4zMzY5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC44LnN2bjMzMTkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjguc3ZuMzMxMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOC5zdm4zMzAyAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC44LnN2bjMyNjEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjguc3ZuMzIzNQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOC5zdm4zMjA0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC44LnN2bjMxODEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjguc3ZuMzE4MABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOC5zdm4zMTM4AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC44LnN2bjMxMzQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjguc3ZuMzEzMwBKZXJlbXkgS2F0eiA8a2F0empAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuOC5zdm4zMTA5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC42LjYuc3ZuMzEwOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuNi41LnN2bjMxMDkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjYuNS5zdm4zMDk2AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC42LjQuc3ZuMzA5NgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuNi4zLnN2bjMwOTYARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjYuMy5zdm4zMDk0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC42LjIuc3ZuMzA4MABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuNi4xLnN2bjMwMzAARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjUuc3ZuMzAzMABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuNC5zdm4zMDMwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC40LnN2bjMwMjAARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjMuc3ZuMzAyMABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMy5zdm4zMDE2AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4zLnN2bjMwMTQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjMuc3ZuMzAwOABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMy5zdm4yOTk1AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4zLnN2bjI5OTQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjMuc3ZuMjk4MwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMy5zdm4yOTcwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4zLnN2bjI5NjIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjMuc3ZuMjk2MQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMy5zdm4yOTE0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4zLnN2bjI5MDcARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjMuc3ZuMjg4NgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMy5zdm4yODgwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4zLnN2bjI4NTIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjMuc3ZuMjg0OQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNy4wLTAuMy5zdm4yODQ0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC43LjAtMC4yLnN2bjI4MzMARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjcuMC0wLjEuc3ZuMjczNgBDaHJpc3RvcGhlciBBaWxsb24gPGNhaWxsb25AcmVkaGF0LmNvbT4gMTowLjYuNS05AENocmlzdG9waGVyIEFpbGxvbiA8Y2FpbGxvbkByZWRoYXQuY29tPiAxOjAuNi41LTgARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDE6MC42LjUtNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMTowLjYuNS02AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAxOjAuNi41LTUARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDE6MC42LjUtNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMTowLjYuNS0zAENocmlzdG9waGVyIEFpbGxvbiA8Y2FpbGxvbkByZWRoYXQuY29tPiAxOjAuNi41LTIAQ2hyaXN0b3BoZXIgQWlsbG9uIDxjYWlsbG9uQHJlZGhhdC5jb20+IDE6MC42LjUtMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNi41LTAuNy5zdm4yNTQ3AE1hdHRoZXcgQmFybmVzICA8bWJhcm5lc0ByZWRoYXQuY29tPiAxOjAuNi41LTAuNi5zdm4yNDc0AE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPiAxOjAuNi41LTAuNS5zdm4yNDc0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC42LjUtMC40LnN2bjI0NzQAQ2hyaXN0b3BoZXIgQWlsbG9uIDxjYWlsbG9uQHJlZGhhdC5jb20+IC0gMTowLjYuNS0wLjMuY3ZzMjAwNjEwMjUAQ2hyaXN0b3BoZXIgQWlsbG9uIDxjYWlsbG9uQHJlZGhhdC5jb20+IC0gMTowLjYuNS0wLjIuY3ZzMjAwNjEwMjUATWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDE6MC42LjUtMC5jdnMyMDA2MTAyNQBDaHJpc3RvcGhlciBBaWxsb24gPGNhaWxsb25AcmVkaGF0LmNvbT4gLSAxOjAuNi40LTYAQ2hyaXN0b3BoZXIgQWlsbG9uIDxjYWlsbG9uQHJlZGhhdC5jb20+IC0gMTowLjYuNC01AEJpbGwgTm90dGluZ2hhbSA8bm90dGluZ0ByZWRoYXQuY29tPiAtIDE6MC42LjQtNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAxOjAuNi40LTMARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMTowLjYuNC0yAENocmlzdG9waGVyIEFpbGxvbiA8Y2FpbGxvbkByZWRoYXQuY29tPiAtIDAuNy4wLTAuY3ZzMjAwNjA1MjkuNwBSYXkgU3Ryb2RlIDxyc3Ryb2RlQHJlZGhhdC5jb20+IC0gMC43LjAtMC5jdnMyMDA2MDUyOS42AFJheSBTdHJvZGUgPHJzdHJvZGVAcmVkaGF0LmNvbT4gLSAwLjcuMC0wLmN2czIwMDYwNTI5LjUAUmF5IFN0cm9kZSA8cnN0cm9kZUByZWRoYXQuY29tPiAtIDAuNy4wLTAuY3ZzMjAwNjA1MjkuNABKb2huIChKNSkgUGFsbWllcmkgPGpvaG5wQHJlZGhhdC5jb20+IC0gMC43LjAtMC5jdnMyMDA2MDUyOS4zAEpvaG4gKEo1KSBQYWxtaWVyaSA8am9obnBAcmVkaGF0LmNvbT4gLSAwLjcuMC0wLmN2czIwMDYwNTI5LjIASmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSAwLjcuMC0wLmN2czIwMDYwNTI5LjEuMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjcuMC0wLmN2czIwMDYwNTI5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNy4wLTAuY3ZzMjAwNjA1MjEAQmlsbCBOb3R0aW5naGFtIDxub3R0aW5nQHJlZGhhdC5jb20+IC0gMC42LjItMy5mYzYASmVyZW15IEthdHogPGthdHpqQHJlZGhhdC5jb20+IC0gMC42LjItMi5mYzYARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC42LjItMQBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+IC0gMC42LjAtMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC42LjAtMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC42LjAtMQBKZXJlbXkgS2F0eiA8a2F0empAcmVkaGF0LmNvbT4gLSAwLjUuMS0xOC5jdnMyMDA2MDMwMgBDaHJpc3RvcGhlciBBaWxsb24gPGNhaWxsb25AcmVkaGF0LmNvbT4ARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDAuNS4xLTE4LmN2czIwMDYwMzAxAENocmlzdG9waGVyIEFpbGxvbiA8Y2FpbGxvbkByZWRoYXQuY29tPiAwLjUuMS0xNy5jdnMyMDA2MDIyOABDaHJpc3RvcGhlciBBaWxsb24gPGNhaWxsb25AcmVkaGF0LmNvbT4gMC41LjEtMTYuY3ZzMjAwNjAyMjcAQ2hyaXN0b3BoZXIgQWlsbG9uIDxjYWlsbG9uQHJlZGhhdC5jb20+IDAuNS4xLTE1LmN2czIwMDYwMjI3AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29NPiAwLjUuMS0xNC5jdnMyMDA2MDIyMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC41LjEtMTMuY3ZzMjAwNjAyMjEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDAuNS4xLTEyLmN2czIwMDYwMjEzAENocmlzdG9waGVyIEFpbGxvbiA8Y2FpbGxvbkByZWRoYXQuY29tPiAwLjUuMS0xMS5jdnMyMDA2MDIwNQBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAwLjUuMS0xMC5jdnMyMDA2MDIwNS4xAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjUuMS0xMC5jdnMyMDA2MDIwNQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC41LjEtOS5jdnMyMDA2MDIwMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC41LjEtOC5jdnMyMDA2MDEzMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC41LjEtNy5jdnMyMDA2MDEzMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC41LjEtNi5jdnMyMDA2MDEyNwBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPgBKb2huIChKNSkgUGFsbWllcmkgPGpvaG5wQHJlZGhhdC5jb20+IC0gMC41LjEtNQBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+IC0gMC41LjEtNABDaHJpc3RvcGhlciBBaWxsb24gPGNhaWxsb25AcmVkaGF0LmNvbT4gLSAwLjUuMS0zAENocmlzdG9waGVyIEFpbGxvbiA8Y2FpbGxvbkByZWRoYXQuY29tPiAtIDAuNS4xLTIAQ2hyaXN0b3BoZXIgQWlsbG9uIDxjYWlsbG9uQHJlZGhhdC5jb20+IC0gMC41LjAtMgBEYW4gV2lsbGlhbXMgPGRjYndAcmVkYWh0LmNvbT4gLSAwLjQuMS01LmN2czIwMDUxMDEwAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNC4xLTQuY3ZzMjAwNTEwMDkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC40LjEtMy5jdnMyMDA1MDkyMgBKZXJlbXkgS2F0eiA8a2F0empAcmVkaGF0LmNvbT4gLSAwLjQuMS0yLmN2czIwMDUwOTEyAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNC4xLTIuY3ZzMjAwNTA4MTkARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC40LjEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC40LTM2LmN2czIwMDUwODExAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNC0zNS5jdnMyMDA1MDgxMQBSYXkgU3Ryb2RlICA8cnN0cm9kZUByZWRoYXQuY29tPiAtIDAuNC0zNC5jdnMyMDA1MDcyOQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjQtMzQuY3ZzMjAwNTA2MjkARGF2aWQgWmV1dGhlbiA8ZGF2aWR6QHJlZGhhdC5jb20+IC0gMC40LTMzLmN2czIwMDUwNjI5AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNC0zMi5jdnMyMDA1MDYxNwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjQtMzEuY3ZzMjAwNTA2MTYARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC40LTMwLmN2czIwMDUwNjE1AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNC0xNS5jdnMzMDA1MDQwNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjQtMTQuY3ZzMzAwNTA0MDQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC40LTEzLmN2czMwMDUwNDA0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNC0xMi5jdnMyMDA1MDQwNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gLSAwLjQtMTEuY3ZzMjAwNTA0MDQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IC0gMC40LTEwLmN2czIwMDUwNDA0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAtIDAuNC05LmN2czIwMDUwNDA0AEplcmVteSBLYXR6IDxrYXR6akByZWRoYXQuY29tPiAtIDAuNC04LmN2czIwMDUwNDA0AEplcmVteSBLYXR6IDxrYXR6akByZWRoYXQuY29tPiAtIDAuNC03LmN2czIwMDUwNDA0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjQtNi5jdnMyMDA1MDQwNABEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC40LTUuY3ZzMjAwNTA0MDIAQ2hyaXN0b3BoZXIgQWlsbG9uIDxjYWlsbG9uQHJlZGhhdC5jb20+IDAuNC00LmN2czIwMDUwMzE1AFJheSBTdHJvZGUgPHJzdHJvZGVAcmVkaGF0LmNvbT4gMC40LTMuY3ZzMjAwNTAzMTUAUmF5IFN0cm9kZSA8cnN0cm9kZUByZWRoYXQuY29tPiAwLjQtMi5jdnMyMDA1MDMxNQBSYXkgU3Ryb2RlIDxyc3Ryb2RlQHJlZGhhdC5jb20+IDAuNC0xLmN2czIwMDUwMzE1AFJheSBTdHJvZGUgPHJzdHJvZGVAcmVkaGF0LmNvbT4gMC40LTEuY3ZzMjAwNTAzMDcARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDAuMy40LTEuY3ZzMjAwNTAzMDQARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDAuMy4zLTIuY3ZzMjAwNTAyMjIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDAuMy4zLTIuY3ZzMjAwNTAyMTQueC4xAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjMuMy0yLmN2czIwMDUwMjE0AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjMuMy0xLmN2czIwMDUwMjAyAERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjMuMy0xLmN2czIwMDUwMTI1AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjMuMy0xLmN2czIwMDUwMTI0AFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IDAuMy4zLTEuY3ZzMjAwNTAxMTIuNAA8ZGNid0ByZWRoYXQuY29tPiAtIDAuMy4zLTEuY3ZzMjAwNTAxMTgAPGRjYndAcmVkaGF0LmNvbT4gLSAwLjMuMy0xLmN2czIwMDUwMTEyADxkY2J3QHJlZGhhdC5jb20+IC0gMC4zLjItNC4zLmN2czIwMDQxMjA4ADxkY2J3QHJlZGhhdC5jb20+IC0gMC4zLjItMy5jdnMyMDA0MTExNwA8ZGNid0ByZWRoYXQuY29tPiAtIDAuMy4yLTIuY3ZzMjAwNDExMTUAPGRjYndAcmVkaGF0LmNvbT4gLSAwLjMuMi0yLmN2czIwMDQxMDI5ADxkY2J3QHJlZGhhdC5jb20+IC0gMC4zLjEtMgA8anJiQHJlZGhhdC5jb20+IC0gMC4zLjEtMQBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC4zLTEARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDAuMi00AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjItMwBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4gMC4yLTIARGFuIFdpbGxpYW1zIDxkY2J3QHJlZGhhdC5jb20+IDAuMi0xAEZsb3JpYW4gTGEgUm9jaGUgPEZsb3JpYW4uTGFSb2NoZUByZWRoYXQuZGU+AERhbiBXaWxsaWFtcyA8ZGNid0ByZWRoYXQuY29tPiAwLjEtMwAtIGluaXRyZDogYWNjZXB0IG1hYyBhZGRyZXNzIGFzIGludGVyZmFjZSBzcGVjaWZpZXIgKHJoICMxODc5Nzk1KQotIGluaXRyZDogZml4IHBhcnNpbmcgSVB2NiBwcmVmaXggbGVuZ3RoIChyaCAjMTg3OTc5NSkALSBkaGNwOiBhZGQgZGhjcC12ZW5kb3ItY2xhc3MtaWRlbnRpZmllciBvcHRpb24gKHJoICMxODcxMDQyKQotIGluaXRyZDogcGFyc2UgJ3JkLm5ldC5kaGNwLnZlbmRvci1jbGFzcycga2VybmVsIGNtZGxpbmUgYXJnIChyaCAjMTg3MjI5OSkALSBjb3JlOiBmaXggaGFuZGxpbmcgb2YgbG9jYWwgcm91dGVzIGFzIGRlZmF1bHQgcm91dGUgYW5kIG9uIEQtQnVzIChyaCAjMTg2ODk4MikALSBjb3JlOiBmaXggd2FpdC1kZXZpY2UtdGltZW91dCByYWNlIGFuZCBzdXBwb3J0IGdlbmVyYWwgZGV2aWNlIG1hdGNoZXMgKHJoICMxODUzMzQ4KQAtIGJvbmQ6IGZpeCBSZWFwcGx5IGRvZXMgbm90IHVwZGF0ZSBib25kIG9wdGlvbnMgKHJoICMxODQ3ODE0KQotIGRoY3A6IHN1cHBvcnQgREhDUHY2IGZxZG5fZnFkbiBvcHRpb24gZm9yIGhvc3RuYW1lIChyaCAjMTg1ODM0NCkALSBjb3JlOiBmaXggbWFuYWdpbmcgZGV2aWNlcyBhZnRlciByZXN1bWluZyBmcm9tIHNsZWVwIChyaCAjMTg1NTU2MykKLSBkaGNwOiBmaXggQlBGIGZpbHRlciBmb3IgaW50ZXJuYWwgY2xpZW50IG9uIGJpZyBlbmRpYW4gYXJjaCAocmggIzE4NjE0ODgpCi0gY29yZTogc3VwcG9ydCB3YXJuaW5nIGxvZyBzZXR0aW5nIElQdjYgTVRVIHdpdGggSVB2NiBkaXNhYmxlZCAocmggIzE4NDA5ODkpCi0gd2lmaTogZml4IGNyYXNoIHBhcnNpbmcgaW5jb21wbGV0ZSBCU1MgaW5mbyAocmggIzE4NjYzOTUpAC0gY29yZTogZml4IGdlbmVyYXRpb24gb2YgbG9jYWwgcm91dGVzIGZvciBWUkYgZGV2aWNlcyAocmggIzE4NTcxMzMpCi0gdGVhbTogZml4IGNyYXNoIG9uIGZhaWx1cmUgdG8gY29ubmVjdCB0byB0ZWFtZCAocmggIzE4NTY3MjMpCi0gY29yZTogZml4IGRldGVjdGluZyBmYWlsdXJlIG9mIG1hc3RlciBhY3RpdmUtY29ubmVjdGlvbiAocmggIzE4NDUwMTgpCi0gY29yZTogZml4IHdhcm5pbmcgYWJvdXQgc2V0dGluZyBhY3RpdmVfc2xhdmUgb2YgYm9uZCB3aGVuIGFjdGl2YXRpbmcgbWFzdGVyIChyaCAjMTg1ODMyNikKLSBpbXBvcnQgdHJhbnNsYXRpb25zIChyaCAjMTgyMDU1MikALSB1cGRhdGUgdG8gMS4yNi4wCi0gZGV2aWNlOiByZXNldCBTUi1JT1YgcGFyYW1ldGVycyBvbiBhY3RpdmF0aW9uIGZhaWx1cmUgKHJoICMxODE5NTg3KQotIGluaXRyZDogZW5hYmxlIGlwdjYubWV0aG9kPWF1dG8gd2l0aCBpcD1kaGNwNiAocmggIzE4NTQzMjMpCi0gY29yZTogYWRkICJubS1zaGFyZWQiIHpvbmUgZm9yIGZpcmV3YWxsZCBmb3Igc2hhcmVkIG1vZGUgKHJoICMxODM0OTA3KQotIHBwcDogZml4IHRha2luZyBjb250cm9sIG9mIGxpbmsgKHJoICMxODQ5Mzg2KQAtIGRldmljZTogcmVzdGFydCBESENQIG9ubHkgZm9yIGRldmljZXMgdGhhdCBhcmUgYWN0aXZlIG9yIGFjdGl2YXRpbmcgKHJoICMxODUyNjEyKQotIGluaXRyZDogZml4IGdlbmVyYXRpbmcgZGVmYXVsdCBCT09USUY9IGNvbm5lY3Rpb24gKHJoICMxODUzMjc3KQotIG92czogZml4IHJhY2UgY29uZGl0aW9uIHdoZW4gc2V0dGluZyBNQUMgYWRkcmVzcyBmb3Igb3ZzIGludGVyZmFjZXMgKHJoICMxODUyMTA2KQAtIHVwZGF0ZSB0byAxLjI2LXJjMiAoMS4yNS45MSkKLSBpbml0cmQ6IHNldCBpcHY2Lm1ldGhvZD1hdXRvIHdoZW4gdXNpbmcgSVB2NCBzdGF0aWMgY29uZmlndXJhdGlvbiAocmggIzE4NDg5NDMpCi0gY2xvdWQtc2V0dXA6IGFkZCBzdXBwb3J0IGZvciBHb29nbGUgQ2xvdWQgbG9hZC1iYWxhbmNpbmcgcm91dGVzIChyaCAjMTgyMTc4NykALSB1cGRhdGUgdG8gMS4yNi1yYzEgKDEuMjUuOTApCi0gY29yZTogc3VwcG9ydCBtb3JlIHRjIHFkaXNjcyAodGJmIGFuZCBzZnEpIChyaCAjMTU0NjgwMikKLSBjb3JlOiBzdXBwb3J0IG1hdGNoIGRldmljZXMgZm9yIGNvbm5lY3Rpb24gcHJvZmlsZSBieSBQQ0kgYWRkcmVzcyAoSURfUEFUSCkgKHJoICMxNjczMzIxKQotIG92czogZml4IHBlZXIgcHJvcGVydHkgZm9yIE9WUyBwYXRjaCBpbnRlcmZhY2UgKHJoICMxODQ1MjE2KQotIGRvYzogYWRkIG1hbnVhbCBwYWdlcyBubS1zZXR0aW5ncy1kYnVzIGFuZCBubS1zZXR0aW5ncy1ubWNsaSAocmggIzE2MTQ3MjYpCi0gd2lmaTogZG9uJ3QgYmxvY2sgYXV0b2Nvbm5lY3QgZm9yIHByb2ZpbGVzIHRoYXQgbmV2ZXIgc3VjY2VlZGVkIHRvIGNvbm5lY3QgKHJoICMxNzgxMjUzKQotIGRidXMsbm1jbGk6IGhpZ2hsaWdodCBleHRlcm5hbGx5IG1hbmFnZWQgZGV2aWNlcyAocmggIzE4MTYyMDIpAC0gdXBkYXRlIHRvIDEuMjUuMiAoZGV2ZWxvcG1lbnQpCi0gc3VwcG9ydCBldGh0b29sIGNvYWxlc2NlIGFuZCByaW5nIG9wdGlvbnMgKHJoICMxNjE0NzAwKQotIGNvcmU6IGltcHJvdmUgc3luY2hyb25pemF0aW9uIG9mIHFkaXNjcyB3aXRoIGtlcm5lbCAocmggIzE4MTU4NzUpCi0gdGVhbTogc3VwcG9ydCBydW5uaW5nIHdpdGhvdXQgRC1CdXMgKHJoICMxNzg0MzYzKQotIGNvcmU6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBhdXRvYWN0aXZhdGluZyBjaGlsZCBjb25uZWN0aW9ucyAocmggIzE3NzgwNzMpCi0gZXRoZXJuZXQ6IHJlc2V0IG9yaWdpbmFsIGF1dG9uZWdvdGlhdGlvbi9zcGVlZC9kdXBsZXggc2V0dGluZ3Mgb24gZGVhY3RpdmF0aW9uIChyaCAjMTgwNzE3MSkKLSBjb3JlOiBmaXggc2V0dGluZyBJUHY2IHRva2VuIGluIGtlcm5lbCAocmggIzE4MTk2ODApAC0gdXBkYXRlIHRvIDEuMjUuMSAoZGV2ZWxvcG1lbnQpCi0gaW1wcm92ZSBkb2N1bWVudGF0aW9uIChyaCAjMTY1MTU5NCwgcmggIzE4MTkyNTkpCi0gdnJmOiBhZGQgc3VwcG9ydCAocmggIzE3NzM5MDgpCi0gYm9uZDogaW1wcm92ZSBzZXR0aW5nIGRlZmF1bHQgb3B0aW9ucyBmb3IgbWlpbW9uIGFuZCB1cGRlbGF5IChyaCAjMTgwNTE4NCwgcmggIzE4MDY1NDkpCi0gYmx1ZXRvb3RoOiBmaXggY3Jhc2ggaGFuZGxpbmcgRFVOIG1vZGVtIChyaCAjMTgyNjYzNSkKLSBjb3JlOiBmaXggcG90ZW50aWFsIGluZmluaXRlIGxvb3Agd2l0aCBwcmVmaXggZGVsZWdhdGlvbiAocmggIzE0ODgwMzApCi0gaW5pdHJkOiBmaXhlcyBmb3IgcnVubmluZyBOZXR3b3JrTWFuYWdlciBpbiBpbml0cmQgKHJoICMxNjI3ODIwLCAjMTcxMDkzNSwgIzE3NDQ5MzUsICMxNzcxNzkyKQotIGNvcmU6IHByZXZlbnQgbXVsdGlwbGUgYXR0ZW1wdHMgdG8gY3JlYXRlIGRlZmF1bHQgd2lyZWQgY29ubmVjdGlvbiAocmggIzE2ODc5MzcpCi0gYnJpZGdlOiBzdXBwb3J0IG1vcmUgb3B0aW9ucyAocmggIzE3NTU3NjgpCi0gbGlibm0sZGJ1czogZXhwb3NlIEh3QWRkcmVzcyBmb3IgYWxsIGRldmljZSB0eXBlcyAocmggIzE3ODY5MzcpCi0gY29yZTogZml4IHJvdXRlIHByaW9yaXR5IGZvciBJUHY2IChyaCAjMTgxNDU1NykKLSBjb3JlOiBmaXggY3Jhc2ggZHVyaW5nIHJlYXBwbHkgKHJoICMxODE2MDY3KQotIGNvcmU6IGNsZWFyIElQIGFkZHJlc3MgZnJvbSBicmlkZ2Ugc2xhdmUgKHJoICMxODE2NTE3KQotIG92czogc3VwcG9ydCBjaGFuZ2luZyBNVFUgb2YgT1ZTIGludGVyZmFjZXMgKHJoICMxODIwMDUyKQotIG5tLW9ubGluZTogc3VwcG9ydCBzZXR0aW5nIHRpbWVvdXQgZm9yIE5ldHdvcmtNYW5hZ2VyLXdhaXQtb25saW5lIChyaCAjMTgyODQ1OCkALSBjb3JlOiBmaXggbGVha2luZyBkZXZpY2Ugc3RhdGUgZmlsZXMgaW4gL3J1biAocmggIzE4MTAxNTMpCi0gZGhjcDogZml4IGNyYXNoIGluIG5ldHRvb2xzIGNsaWVudCB3aGVuIGxlYWtpbmcgR1NvdXJjZSAocmggIzE4MTAxODgpAC0gZGhjcDoga2VlcCB0cnlpbmcgYWZ0ZXIgYSBzZW5kIGZhaWx1cmUgKHJoICMxODA2NTE2KQotIG92czogZmFpbCBwb3J0IGVuc2xhdmVtZW50IHdoZW4gdGhlIGJyaWRnZSBpcyBub3QgZm91bmQgKHJoICMxNzk3Njk2KQAtIGJvbmQ6IGZpeCBzZXR0aW5nIGFycF92YWxpZGF0ZSBvcHRpb24gZm9yIG90aGVyIGJvbmRpbmcgbW9kZXMgKHJoICMxNzg5NDM3KQAtIFVwZGF0ZSB0byAxLjIyLjgKLSBBZGRlZCBjb25maWd1cmF0aW9uIG9wdGlvbiB0byBjdXN0b21pemUgSVB2NiBSQSB0aW1lb3V0IChyaCAjMTgwMTE1OCkKLSBSZW1vdmVkIGxlbmd0aCBsaW1pdGF0aW9uIGZvciBPVlMgQnJpZGdlLCBQYXRjaGVzIGFuZCBJbnRlcmZhY2VzIChvbmx5IFBhdGNoIHR5cGVzKSBuYW1lcyAocmggIzE3ODg0MzIpCi0gUmV3b3JrZWQgYXN5bmNocm9ub3VzIGRlYWN0aXZhdGlvbiBvZiBPVlMgaW50ZXJmYWNlcyAocmggIzE3ODc5ODksIHJoICMxNzgyNzAxKQotIEZpeGVkIGZhaWx1cmUgd2hlbiBjcmVhdGluZyB0ZWFtIGludGVyZmFjZXMgKHJoICMxNzk4OTQ3KQotIGlmY2ZnLXJoOiBmaXggY2xlYXJpbmcgb3ZzIHNsYXZlIHR5cGUgZnJvbSBpZmNmZy1yaCBmaWxlIChyaCAjMTgwNDE2NykKLSBGaXhlZCBidWcgY2F1c2luZyB2aXJ0dWFsIGRldmljZXMgdG8gbm90IGJlIGF2YWlsYWJsZSBhZnRlciBBZGRDb25uZWN0aW9uKCkvVXBkYXRlKCkgKHJoICMxODA0MzUwKQAtIFVwZGF0ZSB0byAxLjIyLjYKLSBubS1kZXZpY2U6IGFkZCBuZXcgcGVuZGluZyBhY3Rpb24gdG8ga2VlcCB0aGUgZGV2aWNlIGJ1c3kgd2hlbiBpbiBiZXR3ZWVuIHN0YXRlcyAocmggIzE3NTk5NTYpCi0gY2xvdWQtc2V0dXA6IGF2b2lkIHVuc3VwcG9ydGVkIHNldHRpbmdzIGluIHN5c3RlbWQgc2VydmljZSB1bml0IChyaCAjMTc5MTc1OCkKLSBkbyBub3QgY3JlYXRlIHZpcnR1YWwgZGV2aWNlIGlmIG1hc3RlciBpcyBub3QgcHJlc2VudCAocmggIzE3OTU5MTkpCi0gYWxsb3cgSVB2NiBSQSB0aW1lb3V0IHRvIGJlIHNldCB0byBhIHZhbHVlIGhpZ2hlciB0aGFuIDEyMCBzZWNvbmRzIChyaCAjMTc5NTk1NykKLSBmaXggYmVoYXZpb3VyIHdoZW4gJ2lwdjQuZGhjcC10aW1lb3V0JyBvcHRpb24gaXMgc2V0IHRvICdpbmZpbml0eScgKHJoICMxNzkxMzc4KQAtIFVwZGF0ZSB0byAxLjIyLjQKLSBkaGNwOiBmaXggYmVoYXZpb3Igb2YgaW50ZXJuYWwgREhDUCBjbGllbnQgd2hlbiB0aGUgc2VydmVyIHNlbmRzIGEgTkFLIChyaCAjMTc4NzIxOSkALSBVcGRhdGUgdG8gMS4yMi4yCi0gY29yZSxsaWJubTogZXhwb3NlIGNhcGFiaWxpdHkgZm9yIE9WUyBzdXBwb3J0IChyaCAjMTc4NTE0NykKLSBkaGNwOiB2YXJpb3VzIGJ1Z2ZpeGVzIGZvciBuZXR0b29scyBuLWRoY3A0IHBsdWdpbgAtIGRoY3A6IGZpeCBwYXJzaW5nIG9mIEROUyBzZWFyY2ggZG9tYWluIHdpdGggbmV0dG9vbHMgcGx1Z2luIChyaCAjMTc4Mzk4MSkALSBVcGRhdGUgdG8gMS4yMi4wCi0gc3VwcG9ydCBtYWluLmF1dGgtcG9sa2l0PXJvb3Qtb25seSBzZXR0aW5nIHRvIGFsbG93IHJvb3Qgb25seSAocmggIzE3NjIwMTEpAC0gVXBkYXRlIHRvIDEuMjItcmMxICgxLjIxLjkwKQotIGxhcmdlIGludGVybmFsIHJld29yayBvZiBsaWJubSdzIE5NQ2xpZW50Ci0gZGhjcDogc3dpdGNoIGltcGxlbWVudGF0aW9uIG9mICJpbnRlcm5hbCIgREhDUCB0byBuZXR0b29scycgbi1kaGNwNAotIGFkZCBzdXBwb3J0IGZvciBjYXJyaWVyIHN0YXRlIG9mIGRldmljZXMgb24gRC1CdXMvbGlibm0gKHJoICMxNzIyMDI0KQotIGNsb3VkLXNldHVwOiBhZGQgaW5pdGlhbCBhbmQgZXhwZXJpbWVudGFsIHRvb2wgZm9yIGNvbmZpZ3VyaW5nIGluIGNsb3VkIChyaCAjMTY0MjQ2MSkKLSBkaGNwOiBzdXBwb3J0IGNvbmZpZ3VyaW5nIEZRRE4gaG9zdG5hbWUgZmxhZ3MgKHJoICMxNjQ5MzY4KQAtIFVwZGF0ZSB0byAxLjIxLjMsIGEgZGV2ZWxvcG1lbnQgc25hcHNob3Qgb2YgTmV0d29ya01hbmFnZXIgMS4yMgotIHN1cHBvcnQgY29uZmlndXJpbmcgZGVmYXVsdCByb3V0ZSBhcyBhIHJlZ3VsYXIsIHN0YXRpYyByb3V0ZSAocmggIzE3MTQ0MzgpAC0gaW5pdHJkOiByZS1lbmFibGUgdGhlIGdlbmVyYXRvciAocmggIzE2MjYzNDgpAC0gd2lmaTogZGV0ZWN0IEZUIHN1cHBvcnQgcGVyIGRldmljZSB0byBmaXggaXNzdWVzIHdpdGggZHJpdmVyIHN1cHBvcnQgKHJoICMxNzQzNzMwKQotIGRvYzogZml4IGRlZmF1bHQgdmFsdWVzIGluIHByZS1nZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiAocmggIzE3Mzc5NDUpAC0gSW1wb3J0IHRyYW5zbGF0aW9ucyAocmggIzE2ODk5OTkpAC0gVXBkYXRlIHRvIDEuMjAuMCByZWxlYXNlCi0gZml4IGxpY2Vuc2UgY29tbWVudHMgZm9yIFJQTSBwYWNrYWdlIChyaCAjMTcyMzM5NSkKLSBkaGNwOiBkaXNhYmxlIGV4cGVyaW1lbnRhbCBuZXR0b29scyBESENQIHBsdWdpbgAtIFVwZGF0ZSB0byAxLjIwLXJjMSBzbmFwc2hvdAotIHNldHRpbmdzOiBzdXBwb3J0IHJlYWQtb25seSBkaXJlY3RvcnkgZm9yIGtleWZpbGUgcHJvZmlsZXMgKHJoICMxNjc0NTQ1KQotIHNldHRpbmdzOiBhZGQgQWRkQ29ubmVjdGlvbjIgRC1CdXMgQVBJIHRvIHN1cHByZXNzIGF1dG9jb25uZWN0IChyaCAjMTY3NzA2OCkKLSBzZXR0aW5nczogYWRkIG5vLXJlYXBwbHkgZmxhdCB0byBVcGRhdGUyIEQtQnVzIEFQSSAocmggIzE2NzcwNzApCi0gb3BlbnZzd2l0Y2g6IGRvbid0IHJlbGVhc2Ugc2xhdmVzIG9uIHF1aXQgKHJoICMxNzMzNzA5KQotIGRoY3A6IGV4cG9zZSBwcml2YXRlIG9wdGlvbnMgZm9yIGludGVybmFsIERIQ1AgcGx1Z2luIChyaCAjMTY2MzI1MykKLSBkZXZpY2U6IGZpeCByb3V0ZSB0YWJsZSBzZXR0aW5nIHdoZW4gcmUtYWN0aXZhdGluZyBkZXZpY2UgKHJoICMxNzE5MzE4KQotIG1hbjogY2xhcmlmeSBleGFtcGxlIGluIG5tLW9wZW52c3dpdGNoIG1hbnVhbCBwYWdlIChyaCAjMTYzODAzOCkKLSBtYW46IHZhcmlvdXMgaW1wcm92ZW1lbnRzIG9mIG1hbnVhbCBwYWdlcyAocmggIzE2MTI1NTQpAC0gaW5pdHJkOiBkaXNhYmxlIHRoZSBnZW5lcmF0b3IgYWdhaW4ALSBVcGRhdGUgdG8gYSBuZXdlciAxLjIwIHNuYXBzaG90Ci0gb3ZzOiBzdXBwb3J0IGRwZGsgaW50ZXJmYWNlcyAocmggIzE2MTI1MDMpCi0gbGlibm0tY29yZTogY2hhbmdlIHVuc3VwcG9ydGVkIG1vZGVzIGZvciBhcnBfaXBfdGFyZ2V0cyBib25kIG9wdGlvbiAocmggIzE3MTgxNzMpCi0gaXB2NjogYWRkICdkaXNhYmxlZCcgbWV0aG9kIChyaCAjMTY0Mzg0MSkKLSBkZXZpY2U6IGZpeCBtYXRjaGluZyBwYXJlbnQgZGV2aWNlIGJ5IGNvbm5lY3Rpb24gVVVJRCAocmggIzE3MTY0MzgpCi0gY2xpOiBmaXggZGVmYXVsdCB2YWx1ZSBmb3IgdGVhbS5ydW5uZXItbWluLXBvcnRzIChyaCAjMTcxNjk4NykKLSBpbml0cmQ6IHJlLWVuYWJsZSB0aGUgZ2VuZXJhdG9yIChyaCAjMTYyNjM0OCkALSBVcGRhdGUgdG8gYSAxLjIwIHNuYXBzaG90Ci0gY29yZTogZml4IGEgcG9zc2libGUgY3Jhc2ggb24gZGV2aWNlIHJlbW92YWwgKHJoICMxNjU5NzkwKQotIGNvcmU6IGZpeCBhdXRvbWF0aWMgYWN0aXZhdGlvbiBvZiBzb2Z0d2FyZSBkZXZpZWNzIChyaCAjMTY2Nzg3NCkKLSB0ZWFtOiB1c2Ugc3RyaWN0IEpTT04gcGFyc2luZyBmb3IgY29uZmlndXJhdGlvbiAocmggIzE2OTE2MTkpCi0gdGVhbTogZG9uJ3Qga2lsbCB0ZWFtZCBmb3IgZXh0ZXJuYWwgZGV2aWNlcyAocmggIzE2OTMxNDIpCi0gbG9nZ2luZzogZG9uJ3QgbWlzdXNlIFNZU0xPR19GQUNJTElUWSBmaWVsZCBpbiBqb3VybmFsIChyaCAjMTcwOTc0MSkALSBjbGllbnRzOiBmaXggc3RyaW5nIGxpc3Qgc2V0dGVyIChyaCAjMTY3MTIwMCkALSBkZXZpY2U6IGltcHJvdmUgYXNzdW1pbmcgYnJpZGdlcyBvbiBzdGFydHVwIChyaCAjMTU5MzkzOSkALSBkaGNwOiBmaXggY2xpZW50LWlkIGFuZCBEVUlEIGZvciBpbmZpbmliYW5kICgyKSAocmggIzE2NTgwNTcpAC0gZGV2aWNlOiBlbnN1cmUgSVAgY29uZmlndXJhdGlvbiBpcyByZXN0b3JlZCB3aGVuIGxpbmsgZ29lcyB1cCAocmggIzE2MzY3MTUpCi0gZGhjcDogZml4IGNsaWVudC1pZCBhbmQgRFVJRCBmb3IgaW5maW5pYmFuZCAocmggIzE2NTgwNTcpCi0gZGhjcDogY2hhbmdlIGludGVybmFsIERIQ1AgcGx1Z2luJ3MgaXB2NC5kaGNwLWNsaWVudC1pZCBzZXR0aW5nIHRvICJtYWMiIChyaCAjMTY2MTE2NSkALSBpZmNmZy1yaDogZml4IHJlYWRpbmcgU1ItSU9WIHNldHRpbmdzCi0gZGhjcDogc3VwcG9ydCBjbGllbnQtaWQgYW5kIERVSUQgZm9yIGluZmluaWJhbmQgKHJoICMxNjU4MDU3KQAtIGRoY3A6IGZpeCBkZWZhdWx0IGNsaWVudC1pZCBmb3IgTmV0d29ya01hbmFnZXItY29uZmlnLXNlcnZlciAocmggIzE2NTgwNTcpCi0gY29ubmVjdGl2aXR5OiBmaXggY3Jhc2ggYW5kIHBvcnRhbCBkZXRlY3Rpb24gKHJoICMxNjU4MjE3KQotIGNvcmU6IGNvbWJpbmUgc2VjcmV0LWtleSB3aXRoIG1hY2hpbmUtaWQgZm9yIGhvc3QgaWRlbnRpdHkgKHJoICMxNjQyMDIzKQotIFNSLUlPViByZWxhdGVkIGZpeGVzIChyaCAjMTY1MTU3OCwgcmggIzE2NTE1NzYsIHJoICMxNjUxOTc5KQotIGNvcmU6IGZpeCB1cGRhdGluZyBhZ2VudC1vd25lZCBzZWNyZXRzIChyaCAjMTY1ODc3MSkKLSBjb3JlOiBubyBsb25nZXIgc2V0IHJwX2ZpbHRlciBzeXNjdGwgKHJoICMxNjUxMDk3KQotIGRldmljZTogZG9uJ3QgdGFrZSBkZXZpY2UgZG93biB3aGVuIGNoYW5naW5nIE1BQyBhZGRyZXNzIChyaCAjMTY1OTA2MykKLSBkb2M6IHVzZSBwcmVnZW5lcmF0ZWQgbWFudWFsIHBhZ2VzIGFuZCBndGstZG9jIGZyb20gc291cmNlIHRhcmJhbGwALSBVcGRhdGUgdHJhbnNsYXRpb25zIChyaCAjMTYwODMyMykALSBkZXZpY2U6IGltcHJvdmUgYXV0byBzZWxlY3Rpb24gb2YgZGV2aWNlIHdoZW4gYWN0aXZhdGluZyBwcm9maWxlIChyaCAjMTYzOTI1NCkALSBkaGNwOiBmaXggb3V0LW9mLWJvdW5kcyBoZWFwIHdyaXRlIGZvciBESENQdjYgd2l0aCBpbnRlcm5hbCBwbHVnaW4gKENWRS0yMDE4LTE1Njg4KQotIGRoY3A6IHJldmVydCBsZXR0aW5nIGludGVybmFsIERIQ1AgZ2VuZXJhdGUgZGVmYXVsdCBjbGllbnQtaWQgYmFzZWQgb24gTUFDIGFkZHJlc3MgKHJoICMxNjQwNDY0KQotIGRoY3A6IHN1cHBvcnQgImR1aWQiIHNldHRpbmcgZm9yIGlwdjQuZGhjcC1jbGllbnQtaWQKLSBkaGNwOiBzdXBwb3J0ICIke01BQ30iIGlkZW50aWZpZXIgZm9yIGNvbm5lY3Rpb24uc3RhYmxlLWlkCi0gZGhjcDogc3VwcG9ydCBkaGNwLXBsdWdpbiBkZXZpY2Ugc3BlYyBmb3IgbWF0Y2hpbmcgZGV2aWNlcyBpbiBOZXR3b3JrTWFuYWdlci5jb25mCi0gZGhjcDogaW5zdGFsbCBjb25maWd1cmF0aW9uIHNuaXBwZXQgaW4gY29uZmlnLXNlcnZlciBwYWNrYWdlIGZvciBpcHY0LmRoY3AtY2xpZW50LWlkPW1hYyAocmggIzE2NDA0OTQpCi0gZG5zOiByZW1vdmUgbGltaXRhdGlvbiBmb3Igc2l4IEROUyBzZWFyY2ggZW50cmllcyAocmggIzE2NDk3MDQpCi0gbGlibm06IGZpeCBjcmFzaCBjYW5jZWxsaW5nIGFjdGl2YXRpb24gZnJvbSB3aXRoaW4gY2FsbGJhY2sgKHJoICMxNjQzMDg1KQAtIFVwZGF0ZSB0cmFuc2xhdGlvbnMgKHJoICMxNjA4MzIzKQAtIERvbid0IGRlcGVuZCBvbiBvcGVudnN3aXRjaCAocmggIzE2MjkxNzgpCi0gZGV2aWNlOiBkb24ndCByZW1vdmUgcm91dGVzIHdoZW4gdGhlIGludGVyZmFjZSBpcyBkb3duIChyaCAjMTYzNjcxNSkALSBkaGNwOiBsZXQgaW50ZXJuYWwgREhDUCBnZW5lcmF0ZSBkZWZhdWx0IGNsaWVudC1pZCBiYXNlZCBvbiBNQUMgYWRkcmVzcyAoMikALSBkaGNwOiBsZXQgaW50ZXJuYWwgREhDUCBnZW5lcmF0ZSBkZWZhdWx0IGNsaWVudC1pZCBiYXNlZCBvbiBNQUMgYWRkcmVzcwAtIFVwZGF0ZSB0byAxLjE0LjAgcmVsZWFzZQAtIGRoY3A6IHN3aXRjaCBkZWZhdWx0IERIQ1AgcGx1Z2luIGZyb20gZGhjbGllbnQgdG8gaW50ZXJuYWwgKHJoICMxNTcxNjU1KQAtIFVwZGF0ZSB0byAxLjEzLjMsIGEgZGV2ZWxvcG1lbnQgc25hcHNob3Qgb2YgTmV0d29ya01hbmFnZXIgMS4xNAAtIFVwZGF0ZSB0byAxLjEzLjIsIGEgZGV2ZWxvcG1lbnQgc25hcHNob3Qgb2YgTmV0d29ya01hbmFnZXIgMS4xNAAtIFVwZGF0ZSB0byAxLjEzLjAsIGEgZGV2ZWxvcG1lbnQgc25hcHNob3Qgb2YgTmV0d29ya01hbmFnZXIgMS4xNAAtIFVwZGF0ZSB0byAxLjExLjQsIGEgZGV2ZWxvcG1lbnQgc25hcHNob3Qgb2YgTmV0d29ya01hbmFnZXIgMS4xMgotIFN3aXRjaCB0byBQeXRob24gMy1vbmx5IGJ1aWxkIHJvb3QALSBjb3JlOiB1c2UgZ251dGxzIGNyeXB0byBsaWJyYXJ5IGluc3RlYWQgb2YgbnNzIChyaCAjMTU4MTY5MykALSBjb3JlOiBmaXggZXJyb3IgZGVzdHJveWluZyBjaGVja3BvaW50cyAocmgjMTU3NDU2NSkALSBVcGRhdGUgdG8gMS4xMS4zIHJlbGVhc2UALSBVcGRhdGUgdG8gMS4xMC4yIHJlbGVhc2UALSBBcHBseSBwYXRjaCBmcm9tIHByZXZpb3VzIGNvbW1pdAAtIHN5c3RlbWQ6IGxldCBOTS13LW8uc2VydmljZSByZXF1aXJlIE5ldHdvcmtNYW5hZ2VyIHNlcnZpY2UgKHJoICMxNDUyODY2KQotIHBsYXRmb3JtOiByZWFsbHkgdHJlYXQgZHNhIGRldmljZXMgYXMgcmVndWxhciB3aXJlZCBldGhlcm5ldCAocmggIzEzNzEyODkpCi0gbGlibm06IGZpeCBhY2Nlc3NpbmcgZW5hYmxlZCBhbmQgbWV0ZXJlZCBwcm9wZXJ0aWVzAC0gcGxhdGZvcm06IHRyZWF0IGRzYSBkZXZpY2VzIGFzIHJlZ3VsYXIgd2lyZWQgZXRoZXJuZXQgKHJoICMxMzcxMjg5KQAtIGRldmljZTogZml4IGZyb3plbiBub3RpZnkgc2lnbmFscyBvbiB1bnJlYWxpemUgZXJyb3IgcGF0aAotIGRldmljZTogZml4IGRlbGF5IHN0YXJ0dXAgY29tcGxldGUgZm9yIHVucmVhbGl6ZWQgZGV2aWNlcwotIGtleWZpbGU6IGZpeCBoYW5kbGluZyByb3V0ZXMgd2l0aCBtZXRyaWMgemVybwAtIGNsaTogZml4IGNyYXNoIGluIGludGVyYWN0aXZlIG1vZGUgZm9yICJkZXNjcmliZSAuIgotIGxpYm5tL3t2cG4scmVtb3RlfS1jb25uZWN0aW9uOiBkaXNjb25uZWN0IHNpZ25hbCBoYW5kbGVycyB3aGVuIGRpc3Bvc2VkCi0gbGlibm0vbWFuYWdlcjogZGlzY29ubmVjdCBmcm9tIHNpZ25hbHMgb24gdGhlIHByb3h5IHdoZW4gd2UncmUgZGlzcG9zZWQALSBlbmFibGUgTmV0d29ya01hbmFnZXItd2FpdC1vbmxpbmUuc2VydmljZSBvbiBwYWNrYWdlIHVwZ3JhZGUgKHJoIzE0NTU3MDQpAC0gVXBkYXRlIHRvIDEuOC40IHJlbGVhc2UKLSBkb24ndCBpbnN0YWxsIE5ldHdvcmtNYW5hZ2VyLXdhaXQtb25saW5lIGluIG5ldHdvcmstb25saW5lLnRhcmdldC53YW50cyAocmgjMTQ1NTcwNCkALSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI3X0JpbnV0aWxzX01hc3NfUmVidWlsZAAtIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjdfTWFzc19SZWJ1aWxkAC0gcHJvdmlkZSBOZXR3b3JrTWFuYWdlci1kZXZlbAAtIE5ldHdvcmtNYW5hZ2VyLXdpZmkgYW5kIE5ldHdvcmtNYW5hZ2VyLWdsaWItZGV2ZWwgc2hvdWxkIHJlcXVpcmUKICBOZXR3b3JrTWFuYWdlciwgbm90IHByb3ZpZGUgaXQuAC0gVXBkYXRlIHRvIDEuOC4yIHJlbGVhc2UKLSBkaGNwL2RoY2xpZW50OiBpbXByb3ZlICJpbnRlcmZhY2UiIHN0YXRlbWVudCBwYXJzaW5nCi0gZG5zOiBmaXggcHVibGljIHN1ZmZpeCBjaGVjayBvbiBzZWFyY2ggZG9tYWlucyAocmggIzE0MDQzNTApAC0gZGV2aWNlOiBkb24ndCBjaGFuZ2UgTVRVIHVubGVzcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQgKHJoICMxNDYwNzYwKQotIGNvcmU6IGRvbid0IHJlbW92ZSBleHRlcm5hbCBJUHY0IGFkZHJlc3NlcyAocmggIzE0NTk4MTMpCi0gY2xpOiBmaXggb3V0cHV0IG9mIGlmYWNlIGluIG92ZXJ2aWV3IG91dHB1dCAocmgjMTQ2MDIxOSkKLSBwcHA6IHVuZXhwb3J0IE5NUFBQTWFuYWdlciBpbnN0YW5jZSBvbiBkaXNwb3NlIChyaCMxNDU5NTc5KQotIGNsaTogcmVtb3ZlIHNwdXJpb3VzIGRldmljZSBuYW1lcyBmcm9tIHdpZmkgc3ViY29tbWFuZHMgb3V0cHV0IChyaCMxNDYwNTI3KQAtIGJvbmQ6IGZpeCBjcmFzaCBjb21wYXJpbmcgbW9kZSB3aGlsZSBnZW5lcmF0aW5nIGJvbmQgY29ubmVjdGlvbiAocmggIzE0NTk1ODApCi0gY29ubmVjdGl2aXR5OiBmaXggcm91dGUgcGVuYWx0eSBpZiBXV0FOIGFuZCBCVCBkZXZpY2UgdXNpbmcgaXAtaWZpbmRleCAocmggIzE0NTk5MzIpCi0gZGV2aWNlOiBwZXJzaXN0IG5tLW93bmVkIGluIHJ1biBzdGF0ZSAocmggIzEzNzYxOTkpCi0gZGV2aWNlOiBmaXggYXNzdW1pbmcgbWFzdGVyIGRldmljZSBvbiByZXN0YXJ0IChyaCAjMTQ1MjA2MikKLSBkZXZpY2U6IGFwcGx5IHJvdXRlIG1ldHJpYyBwZW5hbGl0eSBvbmx5IHdoZW4gdGhlIGRlZmF1bHQgcm91dGUgZXhpc3RzIChyaCAjMTQ1OTYwNCkKLSBjb25uZWN0aXZpdHk6IGZpeCBwZXJpb2RpYyBjb25uZWN0aXZpdHkgY2hlY2sgKHJoICMxNDU4Mzk5KQotIGJvbmQ6IGltcHJvdmUgb3B0aW9uIG1hdGNoaW5nIG9uIGRhZW1vbiByZXN0YXJ0IChyaCAjMTQ1NzkwOSkKLSBkZXZpY2U6IGZpeCB0b3VjaGluZyBkZXZpY2UgYWZ0ZXIgZXh0ZXJuYWwgYWN0aXZhdGlvbiAocmggIzE0NTcyNDIpAC0gaWZjZmctcmg6IGZpeCB3cml0aW5nIGxlZ2FjeSBORVRNQVNLIHZhbHVlIChyaCAjMTQ0NTQxNCkKLSB0dWk6IGZpeCBjcmFzaCBkdXJpbmcgY29ubmVjdCAocmggIzE0NTY4MjYpCi0gbGlibm06IGZpeCBsaWJubSByZWplY3RpbmcgVkxBTiBJRCA0MDk1IChyaCAjMTQ1NjkxMSkKLSBibHVldG9vdGg6IGZpeCBjcmFzaCBvbiBjb25uZWN0aW5nIHRvIGEgTkFQIChyaCAjMTQ1NDM4NSkKLSBkZXZpY2U6IHJlbGVhc2UgcmVtb3ZlZCBkZXZpY2VzIGZyb20gbWFzdGVyIG9uIGNsZWFudXAgKHJoICMxNDQ4OTA3KQotIG5tY2xpOiBmaXggY3Jhc2ggd2hlbiBzZXR0aW5nIDgwMi0xeC5wYXNzd29yZC1yYXcgKHJoICMxNDU2MzYyKQAtIGRldmljZTogdXBkYXRlIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gYmVmb3JlIGNvbW1pdCAoZml4IGJ1ZykgKHJoICMxNDQ5ODczKQAtIGRoY3A6IGRvbid0IGFkZCByb3V0ZSB0byBESENQNCBzZXJ2ZXIgKHJoICMxNDQ4OTg3KQotIGRldmljZTogdXBkYXRlIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gYmVmb3JlIGNvbW1pdCAocmggIzE0NDk4NzMpCi0gbGlibm06IGZpeCBOVUwgdGVybWluYXRpb24gb2YgZGV2aWNlJ3MgZGVzY3JpcHRpb24gKHJoICMxNDQzMTE0KQotIGxpYm5tLCBjb3JlOiBlbnN1cmUgdmFsaWQgVVRGLTggaW4gZGV2aWNlIHByb3BlcnRpZXMgKHJoICMxNDQzMTE0KQotIGNvcmU6IGZpeCBkZXZpY2UncyBVREkgcHJvcGVydHkgb24gRC1CdXMgKHJoICMxNDQzMTE0KQotIGlmY2ZnLXJoOiBvbWl0IGVtcHR5IG5leHQgaG9wIGZvciByb3V0ZXMgaW4gbGVnYWN5IGZvcm1hdCAocmggIzE0NTI2NDgpCi0gY29yZTogZml4IHBlcnNpc3RpbmcgbWFuYWdlZCBzdGF0ZSBvZiBkZXZpY2UgKHJoICMxNDQwMTcxKQotIHByb3h5OiBmaXggdXNlLWFmdGVyLWZyZWUgKHJoICMxNDUwNDU5KQotIGRldmljZTogZG9uJ3Qgd3JvbmdseSBkZWxheSBzdGFydHVwIGNvbXBsZXRlIHdhaXRpbmcgZm9yIGNhcnJpZXIgKHJoICMxNDUwNDQ0KQAtIFVwZGF0ZSB0byAxLjguMCByZWxlYXNlAC0gVXBkYXRlIHRvIHRoaXJkIFJlbGVhc2UgQ2FuZGlkYXRlIG9mIE5ldHdvcmtNYW5hZ2VyIDEuOAAtIFVwZGF0ZSB0byBzZWNvbmQgUmVsZWFzZSBDYW5kaWRhdGUgb2YgTmV0d29ya01hbmFnZXIgMS44AC0gVXBkYXRlIHRvIGEgc25hcHNob3Qgb2YgMS44Lnggc2VyaWVzAC0gVXBkYXRlIHRvIGEgMS42LjIgcmVsZWFzZQAtIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjZfTWFzc19SZWJ1aWxkAC0gVXBkYXRlIHRvIGEgMS42LjAgcmVsZWFzZQAtIFVwZGF0ZSB3aXRoIGZpeGVzIGZyb20gdXBzdHJlYW0gbm0tMS02IGJyYW5jaAotIGJ1aWxkOiBsZXQgbGlibm0gYW5kIGdsaWIgcGFja2FnZSBjb25mbGljdCAocmggIzE0MDY0NTQpAC0gVXBkYXRlIHRvIGEgMS42LXJjMQAtIGZpeCBidWlsZCBmYWlsdXJlIGR1ZSB0byBjbGFzaCBvZiBiaXR3aXNlIGRlZmluZXMALSBSZWJ1aWxkIGZvciByZWFkbGluZSA3LngALSBVcGRhdGUgdG8gYSBuZXdlciBkZXZlbG9wbWVudCBzbmFwc2hvdAAtIFJlYnVpbGQgcGFja2FnZSBmb3IgdmFsYSBnZW5lcmF0aW9uIGVycm9yIChyaCMxMzk4NzM4KQAtIGZpeCBlbmFibGluZyBpZmNmZy1yaCBwbHVnaW4gYnkgZGVmYXVsdCBmb3IgKz0vLT0gb3BlcmF0aW9ucyAocmgjMTM5NzkzOCkKLSBmaXggbWlzc2luZyBzeW1ib2wgX25tX2RldmljZV9mYWN0b3J5X25vX2RlZmF1bHRfc2V0dGluZ3MALSBmaXggZW5hYmxpbmcgaWZjZmctcmggcGx1Z2luIGJ5IGRlZmF1bHQgKHJoIzEzOTc5MzgpCi0gbW92ZSB0cmFuc2xhdGlvbiBmaWxlcyBmcm9tIGNvcmUgdG8gbGlibm0vZ2xpYiBzdWJwYWNrYWdlcwAtIFVwZGF0ZSB0byBhIGRldmVsb3BtZW50IHNuYXBzaG90AC0gVXBkYXRlIHRvIDEuNC4yAC0gd2lmaTogZml4IGFub3RoZXIgYWN0aXZhdGlvbiBmYWlsdXJlIHdoZW4gY2hhbmdpbmcgTUFDIGFkZHJlc3MgKHJoIzEzNzE0NzgsIGJnbyM3NzA0NTYsIGJnbyM3NzA1MDQpAC0gZGhjcDogZml4IHJhY2UgdG8gbWlzcyBESENQIGxlYXNlIGV2ZW50IChyaCMxMzcyODU0KQAtIHdpZmk6IGZpeCBhY3RpdmF0aW9uIGZhaWx1cmUgZHVlIHRvIGVycm9yIGNoYW5naW5nIE1BQyBhZGRyZXNzIChyaCMxMzcxNDc4LCBiZ28jNzcwNDU2KQAtIFVwZGF0ZSB0byBOZXR3b3JrTWFuYWdlciAxLjQuMCByZWxlYXNlAC0gZml4IHN0YWxlIFdpLUZpIGFmdGVyIHJlc3VtZSBmcm9tIHN1c3BlbmQgKHJoIzEzNjIxNjUpAC0gUmVidWlsZCBhZ2FpbnN0IG5ld2VyIEdMaWIgdG8gb3ZlcmNvbWUgbG9nZ2luZyBwcm9ibGVtcyBvbiBpNjg2AC0gVXBkYXRlIHRvIGEgbGF0ZXIgR2l0IHNuYXBzaG90AC0gZG5zOiBjbGVhciBjYWNoZSBvZiBkbnNtYXNxIHdoZW4gdXBkYXRpbmcgRE5TIGNvbmZpZ3VyYXRpb24gKHJoIzEzMzg3MzEpCi0gZG5zOiBmaXggcmVzdGFydGluZyBkbnNtYXNxIGluc3RhbmNlCi0gc3BlYzogZGVwZW5kIGJsdWV0b290aCBzdWJwYWNrYWdlIG9uIGV4YWN0IHd3YW4gdmVyc2lvbgotIGFsbDogZml4IHNvbWUgbWVtbGVha3MALSBVcGRhdGUgdG8gTmV0d29ya01hbmFnZXIgMS4yLjIgcmVsZWFzZQAtIFVwZGF0ZSB0byBOZXR3b3JrTWFuYWdlciAxLjIuMCByZWxlYXNlAC0gVXBkYXRlIHRvIE5ldHdvcmtNYW5hZ2VyIDEuMi1yYzIALSBVcGRhdGUgdG8gTmV0d29ya01hbmFnZXIgMS4yLXJjMQAtIEZpeCBsaW5rIGRldGVjdGlvbiBvbiA0LjUgd2hlbiBidWlsZCB3aXRoIDQuNiBrZXJuZWwALSBVcGRhdGUgdG8gTmV0d29ya01hbmFnZXIgMS4yLWJldGEzAC0gRml4IG9idGFpbmluZyB0aGUgaG9zdG5hbWUgZnJvbSBETlMgKHJoICMxMzA4OTc0KQAtIEZpeCBhY3RpdmF0aW5nIGNvbm5lY3Rpb25zIGluIHNvbWUgY2FzZXMgKHJoICMxMzE2NDg4KQAtIFVwZGF0ZSB0byBOZXR3b3JrTWFuYWdlciAxLjItYmV0YTIKLSBSZXN5bmMgd2l0aCBjb250cmliL3JwbQAtIHNwZWNmaWxlOiByZW1vdmUgbm8gbG9uZ2VyIG5lZWRlZCAxMC1pYmZ0LXBsdWdpbi5jb25mIGFuZCBzeW5jIHdpdGggY29udHJpYi9ycG0KLSBjb3JlOiBiYWNrcG9ydCBmaXggZm9yIG1pc3NpbmcgYnJhY2VzIGJ1ZyBpbiBwbGF0Zm9ybQAtIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjRfTWFzc19SZWJ1aWxkAC0gVXBkYXRlIHRvIE5ldHdvcmtNYW5hZ2VyIDEuMi1iZXRhMQAtIEFkZCB1cHN0cmVhbSBmaXggZm9yIEFQIGxpc3QgaGFzaCBmdW5jdGlvbiAoIzEyODg4NjcpAC0gVXBkYXRlIHRvIGEgbGF0ZXIgc25hcHNob3QKLSBFbmFibGVzIFJGQzcyMTcgYWRkcmVzc2luZyBmb3IgbmV3IElQdjYgY29ubmVjdGlvbnMALSBEcm9wIHRoZSBOZXR3b3JrTWFuYWdlci1kZXZlbCBzdWJwYWNrYWdlIChmb2xkZWQgaW50byBsaWJubS1nbGliLWRldmVsKQotIFVwZGF0ZSB0byBhIGxhdGVyIHNuYXBzaG90AC0gSW1wb3J0IGEgbmV3ZXIgMS4yIGdpdCBzbmFwc2hvdAAtIEZpeCB0ZXN0IHJ1bgAtIEltcG9ydCBhIDEuMiBnaXQgc25hcHNob3QALSBGaXggY29tbWFuZCBsaW5lIHBhcnNpbmcALSBVcGRhdGUgdG8gMS4wLjYgcmVsZWFzZQAtIGZpeCBjcmFzaCB3aGVuIGRlYWN0aXZhdGluZyBhc3N1bWVkIGRldmljZSAocmggIzEyNTM5NDkpCi0gYmFja3BvcnQgd2lmaSBzY2FuIG9wdGlvbnMgZm9yIHNzaWQKLSB1c2UgcGxhaW4gSFRUUCBVUkkgZm9yIGNvbm5lY3Rpdml0eSBjaGVjawAtIFVwZGF0ZSB0byBhIEdpdCBzbmFwc2hvdAAtIEZpeCBhbiBhc3NlcnRpb24gZmFpbHVyZSBpbiBubWNsaSAocmggIzEyNDQwNDgpCi0gRml4IGRlZmF1bHQgcm91dGUgaGFuZGxpbmcgb24gYXNzdW1lZCBjb25uZWN0aW9ucyAocmggIzEyNDU2NDgpAC0gVXBkYXRlIHRvIDEuMC40IHJlbGVhc2UALSBXRVhUIGRlcGVuZHMgb24gZW5hYmxlZCB3aWZpAC0gQSBiaXQgbW9yZSByZWNlbnQgR2l0IHNuYXBzaG90AC0gQSBiaXQgbW9yZSByZWNlbnQgR2l0IHNuYXBzaG90Ci0gVGhpcyBvbmUgZml4ZXMgYSByZWdyZXNzaW9uIHdpdGggZGVmYXVsdCByb3V0ZSBtYW5hZ2VtZW50AC0gVXBkYXRlIHRvIGEgbmV3IDEuMC4zIGRldmVsb3BtZW50IHNuYXBzaG90IChnaXQyMDE1MDcwNykKLSBjb3JlOiBmaXggaGFuZGxpbmcgb2YgaWdub3JlLWF1dG8tKiBwcm9wZXJ0aWVzIChyaCAjMTIzOTE4NCkALSBBIGJpdCBtb3JlIHJlY2VudCBHaXQgc25hcHNob3QALSBVcGRhdGUgdG8gYSByZWNlbnQgR2l0IHNuYXBzaG90AC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yM19NYXNzX1JlYnVpbGQALSBVcGRhdGUgdG8gMS4wLjIgcmVsZWFzZQAtIFVwZGF0ZSB0byAxLjAuMiBkZXZlbG9wbWVudCBzbmFwc2hvdCAoZ2l0MjAxNTA0MjkpAC0gVXBkYXRlIHRvIDEuMC4yIGRldmVsb3BtZW50IHNuYXBzaG90AC0gZG5zOiByZXZlcnQgcmVzb2x2LmNvbmYgc3ltbGluayBzdHVmZiAoc2hvdWxkIG9ubHkgYmUgaW4gRjIzKywgbm90IEYyMikALSBjb25uZWN0aXZpdHk6IGZpeCBjaGVja2luZyB3aGVuIG5vIHZhbGlkIEROUyBzZXJ2ZXJzIGFyZSBwcmVzZW50IChyaCAjMTE5OTA5OCkALSBjb3JlOiBmbHVzaCBJUHY2TEwgYWRkcmVzcyB3aGVuIGRlY29uZmlndXJpbmcgbWFuYWdlZCBkZXZpY2VzIChyaCAjMTE5MzEyNykgKHJoICMxMTg0OTk3KQAtIGNvcmU6IHJlc3VtZSBicmlkZ2VkIGNvbm5lY3Rpb25zIHByb3Blcmx5IChyaCAjMTE2MjYzNiwgYmFja3BvcnQgZnJvbSBtYXN0ZXIpAC0gZG5zOiBtYW5hZ2UgcmVzb2x2LmNvbmYgYXMgc3ltbGluayB0byBwcml2YXRlIGZpbGUgaW4gL3J1biBkaXJlY3RvcnkgKHJoICMxMTE2OTk5KQAtIGJ1aWxkOiBmaXggTmV0d29ya01hbmFnZXItYmx1ZXRvb3RoIGRlcCBvbiBOZXR3b3JrTWFuYWdlci13d2FuCi0gYnVpbGQ6IHJlLWVuYWJsZSBoYXJkd2FyZSBwbHVnaW5zIG9uIHMzOTAALSBVcGRhdGUgdG8gMS4wAC0gdnBuOiBwcm9wYWdhdGUgZGFlbW9uIGV4ZWMgZXJyb3IgY29ycmVjdGx5IChiZ28gIzczOTQzNikKLSBjb3JlOiBkbyBub3QgYXNzZXJ0IHdoZW4gYSBkZXZpY2UgaXMgZW5zbGF2ZWQgZXh0ZXJuYWxseSAocmggIzExNjczNDUpAC0gY2xpOiBmaXggY3Jhc2ggaW4gYG5tY2xpIGRldmljZSB3aWZpYCB3aXRoIG11bHRpcGxlIHdpZmkgZGV2aWNlcyAocmggIzExNTk0MDgpAC0gcGxhdGZvcm06IGZpeCBhIHJvdXRpbmctcmVsYXRlZCBidWcgdGhhdCBjb3VsZCBjYXVzZSBOTSBhbmQgb3RoZXIgYXBwcyB0byBzcGluIChyaCAjMTE1MTY2NSkALSBGaXggSVB2NiBuZXh0IGhvcCBkZWZhdWx0IHNldHRpbmcALSBBdm9pZCB1bm93bmVkIC9ldGMvTmV0d29ya01hbmFnZXIgaW4gY29uZmlnLWNvbm5lY3Rpdml0eS1mZWRvcmEALSBjb25uZWN0aXZpdHktZmVkb3JhOiBkb24ndCByZXF1aXJlIE5ldHdvcmtNYW5hZ2VyICgjMTE1NjE5OCkALSBibHVldG9vdGg6IFJlc3RvcmUgRFVOIHN1cHBvcnQgKHJoICMxMDU1NjI4KQAtIEFsbG93IG5vbi1sb2NhbCB1c2VycyBuZXR3b3JrIGNvbnRyb2wgYWZ0ZXIgUG9saWN5S2l0IGF1dGhlbnRpY2F0aW9uIChyaCAjMTE0NTY0NikALSBjb25uZWN0aXZpdHk6IHVzZSBIVFRQUyBmb3IgY29ubmVjdGl2aXR5IGNoZWNraW5nIChyaCAjMTEzNTc3KQAtIGFkc2wgcGx1Z2luIG5lZWRzIHJwLXBwcG9lIHRvIHdvcmsALSBhbHdheXMgaW5jbHVkZSBNb2RlbU1hbmFnZXItZ2xpYi1kZXZlbCAoIzExMjk2MzIpAC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yMV8yMl9NYXNzX1JlYnVpbGQALSBSZWJ1aWx0IGZvciBwcHAgMi40LjcALSBjb25uZWN0aXZpdHk6IGVuc3VyZSBpbnRlcnZhbCBpcyBzZXQgdG8gZW5hYmxlIGNvbm5lY3Rpdml0eSBjaGVja2luZyAocmggIzExMjM3NzIpAC0gUmVidWlsdCBmb3IgZ29iamVjdC1pbnRyb3NwZWN0aW9uIDEuNDEuNAAtIFVwZGF0ZSB0byB1cHN0cmVhbSAwLjkuMTAuMCByZWxlYXNlIHNuYXBzaG90AC0gVXBkYXRlIHRvIHVwc3RyZWFtIDAuOS45Ljk4ICgwLjkuMTAtcmMxKSByZWxlYXNlIHNuYXBzaG90AC0gVXBkYXRlIHRvIHVwc3RyZWFtIDAuOS45Ljk1ICgwLjkuMTAtYmV0YTEpIHJlbGVhc2Ugc25hcHNob3QALSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzIxX01hc3NfUmVidWlsZAAtIFJlYnVpbGQgYWdhaW5zdCBwcHBkIDIuNC42AC0gVXBkYXRlIHRvIGEgZ2l0IHNuYXBzaG90IChnaXQyMDE0MDMxOSBnaXQ6Mzk4MDgwNikKLSBSZW5hbWUgTmV0d29ya01hbmFnZXItYXRtIHBhY2thZ2UgdG8gTmV0d29ya01hbmFnZXItYWRzbAotIFJlbmFtZSBOZXR3b3JrTWFuYWdlci1idCBwYWNrYWdlIHRvIE5ldHdvcmtNYW5hZ2VyLWJsdWV0b290aAAtIFVwZGF0ZSB0byBhIGdpdCBzbmFwc2hvdCAoZ2l0MjAxNDAzMTcgZ2l0OmExZTg5YjQpCi0gcGxhdGZvcm06IGZpeCBOTSBjcmFzaCBpZiBsaW5rIGhhcyBubyBuYW1lIChlLmcuIGZvciBmYWlsZWQgVlBOIGNvbm5lY3Rpb24pCi0gbGlibm0tdXRpbC9jbGk6IGZpeCBicmlkZ2UgcHJpb3JpdHkgZGVmYXVsdCB2YWx1ZSAocmggIzEwNzM2NjQpAC0gVXBkYXRlIHRvIGEgZ2l0IHNuYXBzaG90IChnaXQyMDE0MDMxNCBnaXQ6NDVhMzI2ZCkKLSBGaXggT2Jzb2xldGVzIGFuZCBSZXF1aXJlcyB0byBwZXJmb3JtIHVwZGF0ZXMgY29ycmVjdGx5AC0gVXBkYXRlIHRvIGEgZ2l0IHNuYXBzaG90IChnaXQyMDE0MDMxMCBnaXQ6MzUwYjZkNikALSBuZXcgdXBzdHJlYW0gc25hcHNob3Qgd2l0aCBkZXZlbG9wbWVudCB2ZXJzaW9uIDAuOS45LjEALSBhZGQgbm10dWkgcGFja2FnZQotIGJ1Z2ZpeCBjYWNoaW5nIG9mIGxpYm5sIG9iamVjdHMgKGNhdXNlZCBlcnJvciB3aXRoIG5ldyBsaWJubDMgdmVyc2lvbiB3aGVuIGFjdGl2YXRpbmcgYnJpZGdlcykgKHJoICMxMDYzMjkwKQotIGZpeCBOTU1hbmFnZXI6c3RhcnR1cCB0cmFja2luZyAocGVuZGluZyBhY3Rpb24pIChyaCAjMTAzMDU4MykALSBjb3JlOiBmaXggY3Jhc2ggZ2V0dGluZyBzZWNyZXRzIGluIGxpYm5tLWdsaWIALSBVcGRhdGUgdG8gYSBnaXQgc25hcHNob3QgKGdpdDIwMTQwMTMxKQAtIFVwZGF0ZSB0byBhIGdpdCBzbmFwc2hvdCAoZ2l0MjAxNDAxMTcpAC0gVXBkYXRlIHRvIGEgZ2l0IHNuYXBzaG90IChnaXQyMDE0MDExNCkALSBibHVlei1tYW5hZ2VyOiBmaXggYSBjcmFzaCAocmggIzEwNDg3MTEpAC0gY29yZTogZml4IElQdjYgcm91dGVyIHNvbGljaXRhdGlvbiBsb29wIChyaCAjMTA0NDc1NykALSBjb3JlOiB3YWl0IGZvciBsaW5rIGJlZm9yZSBkZWNsYXJpbmcgc3RhcnR1cCBjb21wbGV0ZSAocmggIzEwMzQ5MjEpCi0gY29yZTogaWdub3JlIFJBLXByb3ZpZGVkIElQdjYgZGVmYXVsdCByb3V0ZXMgKHJoICMxMDI5MjEzKQotIGNvcmU6IHNldCBJUHY0IGJyb2FkY2FzdCBhZGRyZXNzIGNvcnJlY3RseSAocmggIzEwMzI4MTkpAC0gY29yZTogRml4IFB0UC9wZWVyIGFkZHJlc3Mgc3VwcG9ydCwgZm9yIE9wZW5WUE4gKHJoICMxMDE4MzE3KQAtIGRpc3BhdGNoZXI6IGZpeCBjcmFzaCBvbiBleGl0IHdoaWxlIGxvZ2dpbmcgZnJvbSBzaWduYWwgaGFuZGxlciAocmggIzEwMTc4ODQpCi0gY29yZTogd29ya2Fyb3VuZCBjcmFzaCB3aGVuIGNvbm5lY3RpbmcgdG8gd2lmaSAocmggIzEwMjUzNzEpCi0gZXRoZXJuZXQ6IGRvbid0IGNyYXNoIGlmIGRldmljZSBkb2Vzbid0IGhhdmUgYSBNQUMgYWRkcmVzcyAocmggIzEwMjkwNTMpCi0gbGlibm0tZ2xpYjogZml4IGNyYXNoIGJ5IHRha2luZyBhZGRpdGlvbmFsIHJlZiBpbiByZXN1bHRfY2IoKSAocmggIzEwMzA0MDMpCi0gaWZjZmctcmg6IGZpeCBpZ25vcmluZyB1cGRhdGVzIHRoYXQgZG9uJ3QgY2hhbmdlIGFueXRoaW5nAC0gbm1jbGk6IGFkZCAiY29uIGxvYWQiIHRvIG1hbnVhbGx5IGxvYWQgYW4gaWZjZmcgZmlsZQotIHZwbjogZml4IGxvZ2dpbmcgdG8gaGVscCBkZWJ1ZyByaCAjMTAxODMxNwotIGJyaWRnZTogZml4IGNyYXNoIHdpdGggYnJpZGdlIHBvcnRzIHdpdGggZW1wdHkgc2V0dGluZ3MgKHJoICMxMDMxMTcwKQAtIGNvcmU6IGZpeCBkZXRlY3Rpb24gb2Ygbm9uLW1hYzgwMjExIGRldmljZXMgdGhhdCBkbyBub3Qgc2V0IERFVlRZUEUgKHJoICMxMDE1NTk4KQAtIGNvcmU6IGFkZCBzb21lIGRlYnVnZ2luZyB0byBoZWxwIGRpYWdub3NlIG5ldGxpbmsgZXJyb3JzIChyaCAjMTAyOTIxMykALSBpZmNmZy1yaDogZml4IGNyYXNoIGluIGlmY2ZnLXJoIHBsdWdpbiB3aGVuIHJlbG9hZGluZyBjb25uZWN0aW9ucyAocmggIzEwMjM1NzEpCi0gaWZjZmctcmg6IGZpeCBjcmFzaCB3aGVuIGhhdmluZyBjb25uZWN0aW9ucyB3aXRoIE5FVkVSX0RFRkFVTFQgKHJoICMxMDIxMTEyKQotIGNvcmU6IGZpeCBzZWdmYXVsdCBpbiBubS1wb2xpY3kgd2hlbiBzZXR0aW5nIGRlZmF1bHQgcm91dGUgZm9yIHZwbiAocmggIzEwMTkwMjEpCi0gaWZjZmctcmg6IGZpeCBjcmFzaCB3aGVuIHJlYWRpbmcgY29ubmVjdGlvbiAoYXNzZXJ0KSAocmggIzEwMjUwMDcpCi0gY29yZTogYWxsb3cgSVB2NCB0byBwcm9jZWVkIGlmIElQdjYgaXMgZ2xvYmFsbHkgZGlzYWJsZWQgYnV0IHNldCB0byAiYXV0byIgKHJoICMxMDEyMTUxKQAtIGNvcmU6IGZpeCBESENQdjYgYWRkcmVzcyBwcmVmaXggbGVuZ3RoIChyaCAjMTAxMzU4MykKLSBjbGk6IGVuaGFuY2UgYm9uZGluZyBxdWVzdGlvbmFpcmUgKHJoICMxMDA3MzU1KQotIGNvcmU6IGZpeCBjcmFzaCB3aXRoIEJsdWV6NSBpZiBQQU4gY29ubmVjdGlvbiBpcyBub3QgZGVmaW5lZCAocmggIzEwMTQ3NzApCi0gbGlibm0tZ2xpYjogZml4IHZhcmlvdXMgbWVtb3J5IGxlYWtzIHRoYXQgY291bGQgY2F1c2UgVUlzIHRvIG1pcy1yZXBvcnQgc3RhdGUKLSBjb3JlOiBmaXggaXNzdWVzIHdpdGggbWlzLWNvbmZpZ3VyZWQgSVB2NiByb3V0ZXIgYWR2ZXJ0aXNlbWVudHMgKHJoICMxMDA4MTA0KQotIGNsaTogZml4IHBvdGVudGlhbCBjcmFzaCBlZGl0aW5nIGNvbm5lY3Rpb25zIChyaCAjMTAxMTk0MikALSBjb3JlOiBmaXggYnJpZGdlIGRldmljZSBjcmVhdGlvbiAoIzEwMTI1MzIpCi0gY29yZSxzZXR0aW5nczogZG8gbm90IGNhbGwgZnVuY3Rpb25zIHdpdGggY29ubmVjdGlvbj09TlVMTCAocmggIzEwMDgxNTEpCi0gY2xpOiBhY2NlcHQgZ2F0ZXdheSBpbiB0aGUgSVAgcXVlc3Rpb25uYWlyZSBvZiAnbm1jbGkgLWEgY29uIGFkZCcgKHJoICMxMDA3MzY4KQotIGNsaTogYWx3YXlzIHByaW50IHN1Y2Nlc3MgbWVzc2FnZSAobm90IG9ubHkgaW4gLS1wcmV0dHkgbW9kZSkgKHJoICMxMDA2NDQ0KQotIGNsaTogZml4IGJvbmQgcXVlc3Rpb25uYWlyZSB0byBiZSBhYmxlIHRvIHNldCBtaWltb24gKHJoICMxMDA3MzU1KQotIGlmY2ZnLXJoOiBpZiBJUHY0IGlzIGRpc2FibGVkIHB1dCBETlMgZG9tYWlucyAoRE9NQUlOKSBpbnRvIElQdjYgKHJoICMxMDA0ODY2KQotIHBsYXRmb3JtOiBmaXggYSBjcmFzaCB3aGVuIG5tX3BsYXRmb3JtX3N5c2N0bF9nZXQoKSByZXR1cm5zIE5VTEwgKHJoICMxMDEwNTIyKQotIHBsYXRmb3JtOiBmaXggSW5maW5pQmFuZCBwYXJ0aXRpb24gaGFuZGxpbmcgKHJoICMxMDA4NTY4KQotIGluZmluaWJhbmQ6IG9ubHkgY2hlY2sgdGhlIGxhc3QgOCBieXRlcyB3aGVuIGRvaW5nIGh3YWRkciBtYXRjaGVzIChyaCAjMTAwODU2NikKLSBibHVlejogbWVyZ2UgYWRkaW5nIHN1cHBvcnQgZm9yIEJsdWVaIDUgKGJnbyAjNzAxMDc4KQotIGFwaTogY2xhcmlmeSBsaWZldGltZSBhbmQgYmVoYXZpb3Igb2YgQWN0aXZlQ29ubmVjdGlvbidzIFNwZWNpZmljT2JqZWN0IHByb3BlcnR5IChyaCAjMTAxMjMwOSkKLSB2cG46IGZpeCBjb25uZWN0aW5nIHRvIFZQTiAoYmdvICM3MDgyNTUpIChyaCAjMTAxNDcxNikKLSByZGlzYzogZG8gbm90IGNyYXNoIG9uIE5EUCBpbml0IGZhaWx1cmVzIChyaCAjMTAxMjE1MSkKLSBjbGk6IGJlIG1vcmUgdmVyYm9zZSB3aGVuIGFkZGluZyBJUCBhZGRyZXNzZXMgaW4gcXVlc3Rpb25uYWlyZSAocmggIzEwMDY0NTApCi0gdGVhbTogY2hhaW4gdXAgcGFyZW50IGRpc3Bvc2UoKSBpbiBOTURldmljZVRlYW0gZGlzcG9zZSgpIChyaCAjMTAxMzU5MykKLSB0cmFuc2xhdGlvbiB1cGRhdGVzAC0gZHJvcCB3aW1heCBzdWJwYWNrYWdlAC0gY29yZTogYWN0dWFsbHkgZW5hYmxlIE1vZGVtTWFuYWdlciAxLjAgc3VwcG9ydAotIGxpYm5tLWdsaWI6IGZpeCBubV9yZW1vdGVfY29ubmVjdGlvbl9kZWxldGUoKSBub3QgY2FsbGluZyBjYWxsYmFjayAocmggIzk5NzU2OCkKLSBjbGk6IGVuc3VyZSB0ZXJtaW5hbCBpcyByZXNldCBhZnRlciBxdWl0dGluZwotIGNsaTogc2V0IHdlcC1rZXktdHlwZSBwcm9wZXJseSB3aGVuIGVkaXRpbmcgKHJoICMxMDAzOTQ1KQotIG1hbjogZml4IHR5cG8gaW4gbm1jbGkgZXhhbXBsZXMgbWFucGFnZSAocmggIzEwMDQxMTcpCi0gY29yZTogZml4IHNldHRpbmcgVkxBTiBpbmdyZXNzL2VncmVzcyBtYXBwaW5ncwotIGNvcmU6IGFsbG93IGNyZWF0aW5nIFZMQU5zIGZyb20gaW50ZXJmYWNlcyBvdGhlciB0aGFuIEV0aGVybmV0IChyaCAjMTAwMzE4MCkKLSBjbGk6IGZpeCBpbnB1dC9vdXRwdXQgZm9ybWF0IGNvbnZlcnNpb24gKHJoICM5OTg5MjkpAC0gY29yZTogZml4IGJ1ZyB3aGljaCBkaXNhbGxvd2VkIGRlbGV0aW5nIGNvbm5lY3Rpb25zIChyaCAjOTk3NTY4KQotIGNvcmU6IGFkZCBzdXBwb3J0IGZvciBUZWFtIGRldmljZXMKLSBjb3JlOiBlbmFibGUgTmV0d29ya01hbmFnZXItd2FpdC1vbmxpbmUgYnkgZGVmYXVsdCAocmggIzgxNjY1NSkKLSBjb3JlOiBmaXggY3Jhc2ggd2hlbiAnZ3JlJyBhbmQgJ21hY3ZsYW4nIGxpbmtzIGNoYW5nZSAocmggIzk5NzM5NikKLSBjb3JlOiBmYWlsIGFjdGl2YXRpb24gd2hlbiBpbnZhbGlkIHN0YXRpYyByb3V0ZXMgYXJlIGNvbmZpZ3VyZWQgKHJoICM5OTk1NDQpCi0gY29yZTogZW5oYW5jZSBjb25uZWN0aXZpdHkgY2hlY2tpbmcgdG8gaW5jbHVkZSBwb3J0YWwgZGV0ZWN0aW9uCi0gY29yZTogYWxsb3cgaHlwaGVucyBmb3IgTUFDIGFkZHJlc3NlcyAocmggIzEwMDI1NTMpCi0gY29yZTogcmVtb3ZlIE5ldHdvcmtNYW5hZ2VyLWNyZWF0ZWQgc29mdHdhcmUgZGV2aWNlcyB3aGVuIHRoZXkgYXJlIGRlYWN0aXZhdGVkIChyaCAjOTUzMzAwKQotIGNvcmU6IGZpeCBoYW5kbGluZyBvZiBzb21lIERIQ1AgY2xpZW50IGlkZW50aWZpZXJzIChyaCAjOTk5NTAzKQotIGNvcmU6IGNvcnJlY3RseSBoYW5kbGUgT3BlbiB2U3dpdGNoIGludGVyZmFjZXMgYXMgZ2VuZXJpYyBpbnRlcmZhY2VzIChyaCAjMTAwNDM1NikKLSBjb3JlOiBiZXR0ZXIgaGFuZGxlIExheWVyLTItb25seSBjb25uZWN0aW9ucyAocmggIzk3OTI4OCkKLSBjbGk6IGVuaGFuY2VkIGJhc2ggY29tcGxldGlvbgotIGNsaTogbWFrZSB0aGUgJ2Rlc2NyaWJlJyBjb21tYW5kIG1vcmUgdmlzaWJsZSAocmggIzk5ODAwMikKLSBjbGk6IGZpeCBidWcgcmVqZWN0aW5nIGNoYW5nZXMgdG8gV2ktRmkgY2hhbm5lbHMgKHJoICM5OTk5OTkpCi0gY2xpOiB1cGRhdGUgYmFzaCBjb21wbGV0aW9uIHRvIHN1Z2dlc3QgY29ubmVjdGlvbiBuYW1lcyAocmggIzk5Nzk5NykKLSBjbGk6IGZpeCB0YWIgY29tcGxldGlvbiBmb3IgYWxpYXNlcyBpbiBlZGl0IG1vZGUKLSBjbGk6IGFzayB3aGV0aGVyIHRvIHN3aXRjaCBJUCBtZXRob2QgdG8gJ2F1dG8nIHdoZW4gYWxsIGFkZHJlc3NlcyBhcmUgZGVsZXRlZCAocmggIzk5ODEzNykKLSBjbGk6IHJlcXVlc3QgbWlzc2luZyBpbmZvcm1hdGlvbiB3aGVuIC0tYXNrIGlzIHBhc3NlZCAocmggIzk1MzI5MSkKLSBjbGk6IGFkZCAncmVtb3ZlJyBjb21tYW5kIHRvIGVkaXQgbW9kZQotIGNsaTogZml4IGNyZWF0aW9uIG9mIHNlY3VyZSBXaS1GaSBjb25uZWN0aW9ucyAocmggIzk5Nzk2OSkgKHJoICM5OTc1NTUpCi0gY2xpOiBkZWZhdWx0IGF1dG9jb25uZWN0IHRvIG5vIGFuZCBhc2sgd2hldGhlciB0byBhY3RpdmF0ZSBvbiBzYXZlIChyaCAjOTUzMjk2KQotIG1hbjogY2xhcmlmeSBtYW5wYWdlIHRleHQgKHJoICM5NjAwNzEpIChyaCAjOTUzMjk5KQotIG1hbjogZml4IGVycm9ycyBpbiB0aGUgbm1jbGkgaGVscCBvdXRwdXQgYW5kIG1hbnBhZ2UgKHJoICM5OTc1NjYpCi0gaWZjZmctcmg6IG9ubHkgd3JpdGUgSVBWNl9ERUZBVUxUR1cgd2hlbiB0aGVyZSdzIGFjdHVhbGx5IGEgZGVmYXVsdCBnYXRld2F5IChyaCAjOTk3NzU5KQotIGlmY2ZnLXJoOiBmaXggaGFuZGxpbmcgb2YgbGVnYWN5LWZvcm1hdCByb3V0ZXMgZmlsZSB3aXRoIG1pc3NpbmcgZ2F0ZXdheQAtIGNvcmU6IGZpeCBhc3NlcnQgb24gbXVsdGktaG9wIHJvdXRlcyAocmggIzk4OTAyMikKLSBjb3JlOiBmaXggZGlzcGF0Y2hlciBzeXN0ZW1kIHVuaXQgZW5hYmxpbmcgKHJoICM5NDg0MzMpCi0gaWZjZmctcmg6IGlnbm9yZSBlbWFjcyB0ZW1wb3JhcnkgbG9ja2ZpbGVzIChyaCAjOTg3NjI5KQotIGNvcmU6IGZpeCB2YXJpb3VzIHJvdXRpbmcgaXNzdWVzIGFuZCBpbnRlcmFjdGlvbiB3aXRoIGtlcm5lbCBldmVudHMKLSBjbGk6IGNvbmZpcm0gc2F2aW5nIGNvbm5lY3Rpb25zIHdoZW4gYXV0b2Nvbm5lY3QgaXMgZW5hYmxlZCAocmggIzk1MzI5NikKLSBjbGk6IGF1dG9tYXRpY2FsbHkgY2hhbmdlIG1ldGhvZCB3aGVuIHN0YXRpYyBJUCBhZGRyZXNzZXMgYXJlIGFkZGVkCi0gY29yZTogcHJlc2VydmUgZXh0ZXJuYWxseSBhZGRlZCBJUHY0IHJvdXRlcyBhbmQgYWRkcmVzc2VzAC0gQ3JlYXRlIE5ldHdvcmtNYW5hZ2VyLWNvbmZpZy1zZXJ2ZXIgcGFja2FnZQAtIFVwZGF0ZSB0byBnaXQgc25hcHNob3QALSBCZWxhdGVkbHkgdXBkYXRlIHVkZXYgZGlyZWN0b3J5IGZvciBVc3JNb3ZlCi0gRml4IGluY29ycmVjdCBkYXRlcyBpbiBvbGQgY2hhbmdlbG9nIGVudHJpZXMgdG8gYXZvaWQgcnBtIHdhcm5pbmdzAC0gYnVpbGQgc3VwcG9ydCBmb3IgY29ubmVjdGl2aXR5IGNoZWNraW5nIChyaCAjODEwNDU3KQAtIGRpc2FibGUgYnVpbGRpbmcgV2lNYXggZm9yIFJIRUwALSBVcGRhdGUgdG8gbmV3IDAuOS4xMCBzbmFwc2hvdAAtIFVwZGF0ZSBmb3Igc3lzdGVtZCBuZXR3b3JrLW9ubGluZS50YXJnZXQgKHJoICM3ODczMTQpCi0gQWRkIHN5c3RlbSBzZXJ2aWNlIGZvciB0aGUgc2NyaXB0IGRpc3BhdGNoZXIgKHJoICM5NDg0MzMpAC0gRW5hYmxlIGhhcmRlbmVkIGJ1aWxkCi0gVXBkYXRlIHRvIDAuOS4xMCBzbmFwc2hvdAotIGNsaTogbmV3IGNhcGFiaWxpdGllcyBhbmQgc29tZXdoYXQgcmUtYXJyYW5nZWQgc3ludGF4Ci0gY29yZTogZ2VuZXJpYyBpbnRlcmZhY2Ugc3VwcG9ydAotIGNvcmU6IHNwbGl0IGNvbmZpZyBzdXBwb3J0OyBuZXcgInNlcnZlciBtb2RlIiBvcHRpb25zCi0gY29yZTogYWxsb3cgbG9ja2luZyBjb25uZWN0aW9ucyB0byBpbnRlcmZhY2UgbmFtZXMALSBjb3JlOiBmaXggaXNzdWUgd2l0aCBVSSBub3Qgc2hvd2luZyBkaXNjb25uZWN0ZWQgb24gcmZraWxsCi0gY29yZTogbWVtb3J5IGxlYWsgZml4ZXMKLSBjb3JlOiBzaWxlbmNlIHdhcm5pbmcgYWJvdXQgZmFpbHVyZSByZWFkaW5nIHBlcm1hbmVudCBNQUMgYWRkcmVzcyAocmggIzkwNzkxMikKLSBjb3JlOiB3YWl0IHVwIHRvIDEyMHMgZm9yIHNsb3ctY29ubmVjdGluZyBtb2RlbXMKLSBjb3JlOiBkb24ndCBjcmFzaCBvbiBQUFBvRSBjb25uZWN0aW9ucyB3aXRob3V0IGEgd2lyZWQgc2V0dGluZwotIGNvcmU6IGVuc3VyZSB0aGUgQXZhaWxhYmxlQ29ubmVjdGlvbnMgcHJvcGVydHkgaXMgYWx3YXlzIGNvcnJlY3QKLSBrZXlmaWxlOiBlbnN1cmUgYWxsLWRlZmF1bHQgVkxBTiBjb25uZWN0aW9ucyBhcmUgcmVhZCBjb3JyZWN0bHkKLSBjb3JlOiBzdXBwcmVzcyBrZXJuZWwncyBhdXRvbWF0aWMgY3JlYXRpb24gb2YgYm9uZDAgKHJoICM5NTM0NjYpCi0gbGlibm0tZ2xpYjogbWFrZSBOTVNlY3JldEFnZW50IHVzYWJsZSB3aXRoIEdPYmplY3QgSW50cm9zcGVjdGlvbgotIGxpYm5tLXV0aWw6IGZpeCBHT2JqZWN0IEludHJvc3BlY3Rpb24gYW5ub3RhdGlvbnMgb2Ygbm1fY29ubmVjdGlvbl9uZWVkX3NlY3JldHMoKQotIGNvcmU6IGRvY3VtZW50YXRpb24gdXBkYXRlcwAtIFVwZGF0ZSB0byAwLjkuOC4yIHNuYXBzaG90Ci0gY29yZTogZml4IFZMQU4gcGFyZW50IGhhbmRsaW5nIHdoZW4gaWRlbnRpZmllZCBieSBVVUlECi0gY29yZTogcXVpZXQgd2FybmluZyBhYm91dCBpbnZhbGlkIGludGVyZmFjZSBpbmRleCAocmggIzkyMDE0NSkKLSBjb3JlOiByZXF1ZXN0ICdzdGF0aWMtcm91dGVzJyBmcm9tIERIQ1Agc2VydmVycyAocmggIzkyMjU1OCkKLSBjb3JlOiBmaXggY3Jhc2ggd2hlbiBkYnVzLWRhZW1vbiBpcyByZXN0YXJ0ZWQgKHJoICM5MTgyNzMpCi0gY29yZTogY29weSBsZWFzZWZpbGVzIGZyb20gL3Zhci9saWIvZGhjbGllbnQgdG8gZml4IG5ldGJvb3QgKHJoICM5MTYyMzMpCi0gY29yZTogbWVtb3J5IGxlYWsgYW5kIHBvdGVudGlhbCBjcmFzaCBmaXhlcwotIGlmY2ZnLXJoOiBlbnN1cmUgbWlzc2luZyBTVFAgcHJvcGVydHkgaXMgaW50ZXJwcmV0ZWQgYXMgb2ZmIChyaCAjOTIyNzAyKQAtIFVwZGF0ZSB0byB0aGUgMC45LjguMCByZWxlYXNlCi0gY2xpOiBmaXggYSBwb3NzaWJsZSBjcmFzaAAtIGNvcmU6IHVzZSBzeXN0ZW1kIGZvciBzdXNwZW5kL3Jlc3VtZSwgbm90IHVwb3dlcgAtIFVwZGF0ZSB0byAwLjkuOC1iZXRhMgotIGNvcmU6IGlnbm9yZSBicmlkZ2VzIG1hbmFnZWQgYnkgb3RoZXIgdG9vbHMgKHJoICM5MDUwMzUpCi0gY29yZTogZml4IGxpYm5sIGFzc2VydCAocmggIzg5NDY1MykKLSB3aWZpOiBhbHdheXMgdXNlIFByb2FjdGl2ZSBLZXkgQ2FjaGluZyB3aXRoIFdQQSBFbnRlcnByaXNlIChyaCAjODM0NDQ0KQotIGNvcmU6IGRvbid0IGNyYXNoIHdoZW4gSW50ZXJuZXQgY29ubmVjdGlvbiBzaGFyaW5nIGZhaWxzIHRvIHN0YXJ0IChyaCAjODgzMTQyKQAtIFNldCBjb3JyZWN0IHN5c3RlbWQgS2lsbE1vZGUgdG8gZml4IGFuYWNvbmRhIHNodXRkb3duIGhhbmdzIChyaCAjODc2MjE4KQAtIGlmY2ZnLXJoOiB3cml0ZSBtaXNzaW5nIElQdjYgc2V0dGluZyBhcyBJUHY2IHdpdGggImF1dG8iIG1ldGhvZCAocmggIzgzMDQzNCkALSBCdWlsZCB2YXBpIGZpbGVzIGFuZCBhZGQgdGhlbSB0byB0aGUgZGV2ZWwgcGFja2FnZQAtIEFwcGx5IHBhdGNoIGZyb20gbWFzdGVyIHRvIHJlYWQgaG9zdG5hbWUgZnJvbSAvZXRjL2hvc3RuYW1lIChyaCAjODMxNzM1KQAtIEFwcGx5IHBhdGNoIGZyb20gbWFzdGVyIHRvIHVwZGF0ZSBob3N0bmFtZSAocmggIzg3NTA4NSkKLSBzcGVjOiBjcmVhdGUgL2V0Yy9OZXR3b3JrTWFuYWdlci9kbnNtYXNxLmQgKHJoICM4NzM2MjEpAC0gRG9uJ3QgYnJpbmcgdXAgdW5pbml0aWFsaXplZCBkZXZpY2VzIChmZCAjNTY5MjkpAC0gQWN0dWFsbHkgYXBwbHkgdGhlIHBhdGNoIGZyb20gdGhlIHByZXZpb3VzIGNvbW1pdC4uLgAtIEFwcGx5IHBhdGNoIGZyb20gbWFzdGVyIHRvIGZpeCBhIGNyYXNoIChyaCAjODY1MDA5KQAtIEFwcGx5IHBhdGNoIGZyb20gbWFzdGVyIHNvIGNvbm5lY3Rpb25zIGZpbmlzaCBjb25uZWN0aW5nIHByb3Blcmx5IChiZ28gIzY4NTU4MSkALSBGb3J3YXJkLXBvcnQgc29tZSBmb3Jnb3R0ZW4gZml4ZXMgZnJvbSBGMTcKLSBGaXggbmV0d29ya2VkLWZpbGVzeXN0ZW0gc3lzdGVtZCBkZXBlbmRlbmNpZXMgKHJoICM3ODczMTQpCi0gRG9uJ3QgcmVzdGFydCBOTSBvbiB1cGdyYWRlLCBkb24ndCBzdG9wIE5NIG9uIHVuaW5zdGFsbCAocmggIzgxMTIwMCkALSBVcGRhdGUgdG8gZ2l0IHNuYXBzaG90AC0gVXBkYXRlIHRvIDAuOS43LjAgc25hcHNob3QALSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzE4X01hc3NfUmVidWlsZAAtIFVwZGF0ZSB0byAwLjkuNi1yYzIKLSBjb3JlOiBmaXggcmFjZSBiZXR3ZWVuIHBhcmFsbGVsIERIQ1AgY2xpZW50IGludm9jYXRpb25zCi0gY29yZTogc3VwcHJlc3MgYSB1c2VsZXNzIHdhcm5pbmcgKHJoICM4NDA1ODApCi0gaWZjZmctcmg6IGZpeCBzZWdmYXVsdCB3aXRoIG1hbGZvcm1lZCB2YWx1ZXMgKHJoICM4NDEzOTEpCi0gaWZjZmctcmg6IGlnbm9yZSBJUCBjb25maWcgb24gYm9uZCBzbGF2ZSBjb25maWd1cmF0aW9ucyAocmggIzgzODkwNykALSBVcGRhdGUgdG8gMC45LjUuOTUgKDAuOS42LXJjMSkgc25hcHNob3QKLSBjb3JlOiBhZGQgYXV0b2Nvbm5lY3QsIGRyaXZlci12ZXJzaW9uaSBhbmQgZmlybXdhcmUtdmVyc2lvbiBwcm9wZXJ0aWVzIHRvIE5NRGV2aWNlCi0gY29yZTogdmFyaW91cyBJUHY2IGltcHJvdmVtZW50cwotIGNvcmU6IHJlZHVjZSBudW1iZXIgb2YgY2hhbmdlcyBtYWRlIHRvIEROUyBpbmZvcm1hdGlvbiBkdXJpbmcgY29ubmVjdGlvbiBzZXR1cAotIGNvcmU6IGFkZCBWYWxhIGxhbmd1YWdlIGJpbmRpbmdzCi0gdnBuOiBzdXBwb3J0IElQdjYgb3ZlciBWUE5zCi0gd2lmaTogYWRkIG9uLWRlbWFuZCBXaUZpIHNjYW4gc3VwcG9ydAAtIFVwZGF0ZSB0byBnaXQgc25hcHNob3QALSBOTSBubyBsb25nZXIgdXNlcyAvdmFyL3J1bi9OZXR3b3JrTWFuYWdlciwgc28gZG9uJ3QgY2xhaW0gdG8gb3duIGl0LgogIChyaCAjNjU2NjM4KQAtIFVwZGF0ZSB0byBnaXQgc25hcHNob3QALSBBZGQgX2lzYSBmb3IgaW50ZXJuYWwgcmVxdWlyZXM7IG90aGVyd2lzZSBkZXBzb2x2aW5nIG1heSBwdWxsIGluIGFuCiAgYXJiaXRyYXJ5IGFyY2hpdGVjdHVyZS4ALSBVcGRhdGUgdG8gMC45LjQALSBsaWJubS1nbGliOiB1cGRhdGVkIGZvciBuZXcgc3ltYm9scyB0aGUgYXBwbGV0IHdhbnRzAC0gYXBwbGV0OiBtb3ZlIHRvIG5ldHdvcmstbWFuYWdlci1hcHBsZXQgUlBNCi0gZWRpdG9yOiBtb3ZlIHRvIG5tLWNvbm5lY3Rpb24tZWRpdG9yIFJQTQotIGxpYm5tLWd0azogbW92ZSB0byBsaWJubS1ndGsgUlBNAC0gVXBkYXRlIHRvIDAuOS4zLjk5NyAoMC45LjQtcmMxKQotIGNvcmU6IGZpeCBwb3NzaWJsZSBXaUZpIGhhbmcgd2hlbiBjb25uZWN0aW5nIHRvIEFkLUhvYyBuZXR3b3JrcwotIGNvcmU6IGVuaGFuY2VkIElQdjYgY29tcGF0aWJpbGl0eQotIGNvcmU6IHByb3h5IEROU1NFQyBkYXRhIHdoZW4gdXNpbmcgdGhlICdkbnNtYXNxJyBjYWNoaW5nIG5hbWVzZXJ2ZXIgcGx1Z2luCi0gY29yZTogYWxsb3cgVlBOcyB0byBzcGVjaWZ5IG11bHRpcGxlIGRvbWFpbiBuYW1lcyBnaXZlbiBieSB0aGUgc2VydmVyCi0gY29yZTogZml4IGFuIGlzc3VlIGNyZWF0aW5nIG5ldyBJbmZpbmlCYW5kIGNvbm5lY3Rpb25zCi0gY29yZS9hcHBsZXQvZWRpdG9yOiBkaXNhYmxlIFdpRmkgQWQtSG9jIFdQQSBjb25uZWN0aW9ucyB1bnRpbCBrZXJuZWwgYnVncyBhcmUgZml4ZWQALSBjb3JlOiBmaXggaXNzdWUgd2l0aCBjYXJyaWVyIGNoYW5nZXMgbm90IGJlaW5nIHJlY29nbml6ZWQgKHJoICM4MDA2OTApCi0gZWRpdG9yOiB3YXJuIHVzZXIgaWYgQ0EgY2VydGlmaWNhdGUgaXMgbGVmdCBibGFuawAtIGNvcmU6IGZpeCBhIGNyYXNoIHdpdGggaXB3MjIwMCBkZXZpY2VzIGFuZCBhZGhvYyBuZXR3b3JrcwotIGNvcmU6IGZpeCBJUHY2IGFkZHJlc3Npbmcgb24gbmV3ZXIga2VybmVscwotIGNvcmU6IGZpeCBpc3N1ZSB3aXRoIFZQTiBwbHVnaW4gcGFzc3dvcmRzIChyaCAjODAyNTQwKQotIGNsaTogZW5oYW5jZW1lbnRzIGZvciBCb25kaW5nLCBWTEFOLCBhbmQgT0xQQyBtZXNoIGRldmljZXMKLSBpZmNmZy1yaDogZml4IHF1b3RpbmcgV1BBIHBhc3NwaHJhc2VzIHRoYXQgaW5jbHVkZSBxdW90ZXMgKHJoICM3OTgxMDIpCi0gbGlibm0tZ2xpYjogZml4IHNvbWUgaXNzdWVzIHdpdGggZHVwbGljYXRlIGRldmljZXMgc2hvd24gaW4gbWVudXMALSBVcGRhdGUgdG8gMC45LjMuOTk1ICgwLjkuNC1iZXRhMSkKLSBjb3JlOiBhZGQgc3VwcG9ydCBmb3IgYm9uZGluZyBhbmQgVkxBTiBpbnRlcmZhY2VzCi0gY29yZTogYWRkIHN1cHBvcnQgZm9yIEludGVybmV0IGNvbm5lY3Rpdml0eSBkZXRlY3Rpb24KLSBjb3JlOiBhZGQgc3VwcG9ydCBmb3IgSVB2NiBQcml2YWN5IEV4dGVuc2lvbnMKLSBjb3JlOiBmaXggaW50ZXJhY3Rpb24gd2l0aCBmaXJld2FsbGQgcmVzdGFydHMALSBkaXNhYmxlIFdpTUFYIHBsdWdpbiBvbiBzMzkwKHgpAC0gUHV0IFdpTUFYIHBsdWdpbiBmaWxlcyBpbiB0aGUgcmlnaHQgc3VicGFja2FnZQAtIFVwZGF0ZSB0byAwLjkuNCBzbmFwc2hvdAotIHdpbWF4OiBlbmFibGUgb3B0aW9uYWwgc3VwcG9ydCBmb3IgSW50ZWwgV2lNQVggZGV2aWNlcwotIGNvcmU6IHVzZSBubDgwMjExIGZvciBXaUZpIGRldmljZSBjb250cm9sCi0gY29yZTogYWRkIGJhc2ljIHN1cHBvcnQgZm9yIEluZmluaWJhbmQgSVAgaW50ZXJmYWNlcwotIGNvcmU6IGFkZCBiYXNpYyBzdXBwb3J0IGZvciBib25kZWQgaW50ZXJmYWNlcwotIGNvcmU6IGluLXByb2Nlc3MgSVAgY29uZmlndXJhdGlvbiBubyBsb25nZXIgYmxvY2tzIGNvbm5lY3RlZCBzdGF0ZQAtIFJlYnVpbGQALSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzE3X01hc3NfUmVidWlsZAAtIFJlYnVpbGQgZm9yIGxpYmdub21lLWJsdWV0b290aC5zby45AC0gY29yZTogZml4IHBvc3NpYmxlIGNyYXNoIHdoZW4gdGFsa2luZyB0byBNb2RlbU1hbmFnZXIKLSBjb3JlOiBpbXByb3ZlIGhhbmRsaW5nIG9mIHJma2lsbCBvbiBzb21lIG1hY2hpbmVzIChlZWVwYyAxMDA1SEEgYW5kIG90aGVycykKLSBpZmNmZy1yaDogZG9uJ3QgdXNlIHNwYWNlcyBpbiBpZmNmZyBmaWxlIG5hbWVzIChyaCAjNzQyMjczKQotIGNvcmU6IGFjY2VwdCBJUHY2IFJvdXRlciBBZHZlcnRpc2VtZW50cyB3aGVuIGZvcndhcmRpbmcgaXMgb24KLSBjb3JlOiBidW1wIGRuc21hc3EgY2FjaGUgc2l6ZSB0byA0MDAgZW50cmllcwotIGNvcmU6IGVuc3VyZSBJUHY2IHN0YXRpYyByb3V0ZXMgYXJlIGZsdXNoZWQgd2hlbiBkZXZpY2UgaXMgZGVhY3RpdmF0ZWQKLSBpZmNmZy1yaDogZml4IGNoYW5naW5nIFdQQSBjb25uZWN0aW9ucyB0byBXRVAKLSBjb3JlOiBmaXggc2V0dGluZyBob3N0bmFtZSBmcm9tIERIQ1AgKHJoICM3MTkxMDApCi0gbGlibm0tZ2xpYjogZml4IHZhcmlvdXMgR09iamVjdCBpbnRyb3NwZWN0aW9uIGlzc3VlcyAocmggIzc0NzMwMikKLSBjb3JlOiBkb24ndCBjaGFuZ2Ugcm91dGluZyBvciBETlMgaWYgbm8gZGV2aWNlcyBhcmUgbWFuYWdlZAotIGNvcmU6IGVuc3VyZSBJUHY2IFJBLXByb3ZpZGVkIHJvdXRlcyBhcmUgaG9ub3JlZAAtIFJlYnVpbHQgZm9yIGdsaWJjIChyaCAjNzQ3Mzc3KQotIGNvcmU6IGZpeCBzZXR0aW5nIGhvc3RuYW1lIGZyb20gREhDUCBvcHRpb25zIChyaCAjNzE5MTAwKQotIHNraXAgYSByZWxlYXNlIHRvIGtlZXAgdXAgd2l0aCBGMTYALSBjb3JlOiBmaXggbG9jYXRpb24gb2Ygd2lmaS51aSAocmggIzc0MTQ0OCkALSBjb3JlOiBpZmNmZy1yaDogcmVtb3ZlIG5ld2xpbmVzIHdoZW4gd3JpdGluZyB0byBpZmNmZyBmaWxlcyAoQ1ZFLTIwMTEtMzM2NCkgKHJoICM3MzczMzgpCi0gY29yZTogY2hhbmdlIGlzY3NpYWRtIHBhdGggdG8gL3NiaW4vaXNjc2lhZG0gaW4gaWZjZmctcmggcGx1Z2luIChyaCAjNzQwNzUzKQotIGNvcmU6IGZpeCByZWZjb3VudGluZyB3aGVuIGRlbGV0aW5nIGEgZGVmYXVsdCB3aXJlZCBjb25uZWN0aW9uIChscDo3OTc4NjgpAC0gVXBkYXRlIHRvIDAuOS4xLjkwICgwLjkuMi1iZXRhMSkKLSBjb3JlOiBmaXggSVB2NiBsaW5rLWxvY2FsIEROUyBzZXJ2ZXJzIGluIHRoZSBkbnNtYXNxIEROUyBwbHVnaW4KLSBjbGk6IGFkZCBhYmlsaXR5IHRvIGRlbGV0ZSBjb25uZWN0aW9ucwotIGtleWZpbGU6IGZpeCBhbiBpc3N1ZSB3aXRoIGR1cGxpY2F0ZWQga2V5ZmlsZSBjb25uZWN0aW9ucwotIGNvcmU6IGVuc3VyZSB0aGUgJ25vdmonIG9wdGlvbiBpcyBwYXNzZWQgdGhyb3VnaCB0byBwcHBkCi0gY29yZTogc3RvcmUgdGltZXN0YW1wcyBmb3IgVlBOIGNvbm5lY3Rpb25zIHRvbyAocmggIzcyNTM1MykALSBmaXggc3lzdGVtZCBzY3JpcHRsZXRzIGFuZCB0cmlnZ2VyAC0gVXBkYXRlIHRvIDAuOSByZWxlYXNlCi0gY29yZTogZml4IGlzc3VlIHdoZXJlIHNjYW4gcmVzdWx0cyBjb3VsZCBiZSBpZ25vcmVkCi0gY29yZTogZW5zdXJlIGFnZW50IHNlY3JldHMgYXJlIHByZXNlcnZlZCB3aGVuIHVwZGF0aW5nIGNvbm5lY3Rpb25zCi0gY29yZTogZG9uJ3QgYXV0b2Nvbm5lY3QgZGlzYWJsZWQgbW9kZW1zCi0gY29yZTogZml4IHJhY2Ugd2hlbiBjaGVja2luZyBtb2RlbSBlbmFibGVkL2Rpc2FibGVkIHN0YXR1cyBhZnRlciBkaXNhYmxpbmcKLSBjb3JlOiBlbnN1cmUgbmV3bHkgaW5zdGFsbGVkIFZQTiBwbHVnaW5zIGNhbiBhY3R1YWxseSB0YWxrIHRvIE5NCi0gY29yZTogYWRkIHN1cHBvcnQgZm9yIDgwMi4xWCBjZXJ0aWZpY2F0ZSBzdWJqZWN0IG1hdGNoaW5nCi0gbGlibm0tZ2xpYjogdmFyaW91cyBpbnRyb3NwZWN0aW9uIGZpeGVzCi0gYXBwbGV0L2VkaXRvcjogdXBkYXRlZCB0cmFuc2xhdGlvbnMALSBBZGQgc29tZSBwYXRjaGVzIGZvciBzb21lIGJsb2NrZXIgKHJoICM3Mjc1MDEpAC0gY29yZTogdXBkYXRlZCBSdXNzaWFuIHRyYW5zbGF0aW9uIChyaCAjNjUyOTA0KQotIGNvcmU6IGZpeCBwb3NzaWJsZSBjcmFzaCBpZiBzZWNyZXRzIGFyZSBtaXNzaW5nCi0gY29yZTogYXBwZW5kIGludGVyZmFjZSBuYW1lIGZvciBJUHY2IGxpbmstbG9jYWwgRE5TIHNlcnZlciBhZGRyZXNzZXMgKHJoICM3MjAwMDEpCi0gY29yZTogZml4IHNldHRpbmcgaG9zdG5hbWUgZnJvbSBESENQIG9wdGlvbnMgKHJoICM3MTkxMDApCi0gbGlibm0tdXRpbDogR09iamVjdCBpbnRyb3NwZWN0aW9uIGFubm90YXRpb24gZml4ZXMKLSBsaWJubS11dGlsOiBlbnN1cmUgSVAgYWRkcmVzcy9yb3V0ZSBwcmVmaXhlcyBhcmUgdmFsaWQKLSBpZmNmZy1yaDogcmVhZCBhbm9ueW1vdXMgaWRlbnRpdHkgZm9yIDgwMi4xeCBQRUFQIGNvbm5lY3Rpb25zIChyaCAjNzA4NDM2KQotIGFwcGxldDogc2hvdyBub3RpZmljYXRpb25zIG9uIENETUEgaG9tZS9yb2FtaW5nIGNoYW5nZXMKLSBhcHBsZXQ6IGZpeCB2YXJpb3VzIGlzc3VlcyBzYXZpbmcgVlBOIHNlY3JldHMKLSBlZGl0b3I6IGFsbG93IGV4cG9ydGluZyBWUE4gc2VjcmV0cwotIGVkaXRvcjogZGVmYXVsdCB0byBJUHY2ICJhdXRvbWF0aWMiIGFkZHJlc3NpbmcgbW9kZQAtIGNvcmU6IGVuc3VyZSB1c2VycyBhcmUgYXV0aG9yaXplZCBmb3Igc2hhcmVkIHdpZmkgY29ubmVjdGlvbnMgKENWRS0yMDExLTIxNzYpIChyaCAjNzE1NDkyKQotIGNvcmU6IHJldHJ5IGZhaWxlZCBjb25uZWN0aW9ucyBhZnRlciA1IG1pbnV0ZSB0aW1lb3V0Ci0gY29yZTogaW1tZWRpYXRlbHkgcmVxdWVzdCBuZXcgODAyLjF4ICdhbHdheXMgYXNrJyBwYXNzd29yZHMgaWYgdGhleSBmYWlsCi0gY29yZTogYWRkIE1BQyBibGFja2xpc3RpbmcgY2FwYWJpbGl0eSBmb3IgV2lGaSBhbmQgV2lyZWQgY29ubmVjdGlvbnMKLSBjb3JlOiByZXRyeSBmYWlsZWQgY29ubmVjdGlvbnMgd2hlbiBuZXcgdXNlcnMgbG9nIGluIChyaCAjNzA2MjA0KQotIGFwcGxldDogdXBkYXRlZCB0cmFuc2xhdGlvbnMKLSBjb3JlOiBkcm9wIGNvbXBhdCBpbnRlcmZhY2Ugbm93IHRoYXQgS0RFIGJpdHMgYXJlIHVwZGF0ZWQgdG8gTk0gMC45IEFQSQAtIGNvcmU6IGRvbid0IGNhY2hlICIobm9uZSkiIGhvc3RuYW1lIGF0IHN0YXJ0dXAgKHJoICM3MDYwOTQpCi0gY29yZTogZml4IGhhbmRsaW5nIG9mIFZQTiBjb25uZWN0aW9ucyB3aXRoIG9ubHkgc3lzdGVtLW93bmVkIHNlY3JldHMKLSBjb3JlOiBmaXggb3B0aW9uYWwgd2FpdGluZyBmb3IgbmV0d29ya2luZyBhdCBzdGFydHVwIGJlaGF2aW9yIChyaCAjNzEwNTAyKQotIGlmY2ZnLXJoOiBmaXggcG9zc2libGUgY3Jhc2hlcyBpbiBlcnJvciBjYXNlcwotIGlmY2ZnLXJoOiBmaXggdmFyaW91cyBJUHY0IGFuZCBJUHY2IGhhbmRsaW5nIGlzc3VlcwotIGFwcGxldDogYWRkIG5vdGlmaWNhdGlvbnMgb2YgR1NNIG1vYmlsZSBicm9hZGJhbmQgcmVnaXN0cmF0aW9uIHN0YXR1cwotIGVkaXRvcjogbW92ZSBzZWNyZXRzIHdoZW4gbWFraW5nIGNvbm5lY3Rpb25zIGF2YWlsYWJsZSB0byBhbGwgdXNlcnMgb3IgcHJpdmF0ZQotIGFwcGxldDogZG9uJ3Qgc2hvdyBpcnJlbGV2YW50IG9wdGlvbnMgd2hlbiBhc2tpbmcgZm9yIHBhc3N3b3JkcwAtIGtleWZpbGU6IGJldHRlciBoYW5kbGluZyBvZiBtaXNzaW5nIGNlcnRpZmljYXRlcy9wcml2YXRlIGtleXMKLSBjb3JlOiBmaXggaXNzdWVzIGhhbmRsaW5nICJhbHdheXMtYXNrIiB3aXJlZCBhbmQgV2lGaSA4MDIuMXggY29ubmVjdGlvbnMgKHJoICM3MDM3ODUpCi0gY29yZTogZml4IGF1dG9tYXRpYyBoYW5kbGluZyBvZiBoaWRkZW4gV2lGaSBuZXR3b3JrcyAocmggIzcwNzQwNikKLSBlZGl0b3I6IGZpeCBwb3NzaWJsZSBjcmFzaCBhZnRlciByZWFkaW5nIG5ldHdvcmsgY29ubmVjdGlvbnMgKHJoICM3MDY5MDYpCi0gZWRpdG9yOiBtYWtlIEVudGVyL1JldHVybiBrZXkgY2xvc2UgV2lGaSBwYXNzd29yZCBkaWFsb2dzIChyaCAjNzA4NjY2KQAtIEJ1bXAgZm9yIENWRS0yMDExLTE5NDMgKG5vIGNoYW5nZXMsIG9ubHkgYSByZWJ1aWxkKQAtIGVkaXRvcjogZml4IHJlc2l6aW5nIG9mIFVJIGVsZW1lbnRzIChyaCAjNzA3MjY5KQotIGNvcmU6IHJldHJ5IHdpcmVkIGNvbm5lY3Rpb25zIHdoZW4gY2FibGUgaXMgcmVwbHVnZ2VkCi0gY29yZTogZml4IGEgZmV3IHdhcm5pbmdzIGFuZCByZW1vdmUgc29tZSBsZWZ0LW92ZXIgZGVidWdnaW5nIGNvZGUALSBjb21wYXQ6IGZpeCBhY3RpdmF0aW9uL2RlYWN0aXZhdGlvbiBvZiBWUE4gY29ubmVjdGlvbnMgKHJoICM2OTk3ODYpCi0gY29yZTogZml4IGF1dG9kZXRlY3Rpb24gb2YgcHJldmlvdXNseS11c2VkIGhpZGRlbiB3aWZpIG5ldHdvcmtzCi0gY29yZTogc2lsZW5jZSBlcnJvciBpZiBDb25zb2xlS2l0IGRhdGFiYXNlIGRvZXMgbm90IHlldCBleGlzdCAocmggIzY5NTYxNykKLSBjb3JlOiBmaXggQWQtSG9jIGZyZXF1ZW5jeSBoYW5kbGluZyAocmggIzY5OTIwMykKLSBjb3JlOiBmaXhlcyBmb3IgbWlncmF0ZWQgT3BlbkNvbm5lY3QgVlBOIHBsdWdpbiBjb25uZWN0aW9ucwotIGNvcmU6IHZhcmlvdXMgZml4ZXMgZm9yIFZQTiBjb25uZWN0aW9uIHNlY3JldHMgaGFuZGxpbmcKLSBjb3JlOiBzZW5kIG9ubHkgc2hvcnQgaG9zdG5hbWUgdG8gREhDUCBzZXJ2ZXJzIChyaCAjNjk0NzU4KQotIGNvcmU6IGJldHRlciBoYW5kbGluZyBvZiBQS0NTIzggcHJpdmF0ZSBrZXlzCi0gY29yZTogZml4IGRpc3BhdGNoZXIgc2NyaXB0IGludGVyZmFjZSBuYW1lIGhhbmRsaW5nCi0gZWRpdG9yOiBmaXggcG90ZW50aWFsIGNyYXNoIHdoZW4gY29ubmVjdGlvbiBpcyBpbnZhbGlkIChyaCAjNzA0ODQ4KQotIGVkaXRvcjogYWxsb3cgXyBhcyBhIHZhbGlkIGNoYXJhY3RlciBmb3IgR1NNIEFQTnMALSBjb3JlOiBmaXggcG9zc2libGUgY3Jhc2ggd2hlbiBjb25uZWN0aW9ucyBhcmUgZGVsZXRlZAotIGNvcmU6IGZpeCBleHBvcnRlZCBzeW1ib2xzIGluIGxpYm5tLXV0aWwgYW5kIGxpYm5tLWdsaWIKLSBjb3JlL2FwcGxldDogdXBkYXRlZCB0cmFuc2xhdGlvbnMALSBjb3JlOiBlbnN1cmUgREVSIGZvcm1hdCBjZXJ0aWZpY2F0ZXMgYXJlIGNvcnJlY3RseSByZWNvZ25pemVkIChyaCAjNjk5NTkxKQotIGNvcmU6IGZpeCBXSU5TIHNlcnZlciBoYW5kbGluZyBpbiBjbGllbnQgaGVscGVyIGxpYnJhcmllcwotIGNvcmU6IGVuaGFuY2UgZGlzcGF0Y2hlciBzY3JpcHQgZW52aXJvbm1lbnQgdG8gaW5jbHVkZSBJUHY2IGFuZCBWUE4gZGV0YWlscwotIGFwcGxldDogbWlncmF0ZSBvcGVuc3dhbiBjb25uZWN0aW9ucyB0byAwLjkKLSBlZGl0b3I6IGltcHJvdmUgdXNhYmlsaXR5IG9mIGVkaXRpbmcgSVAgYWRkcmVzc2VzIChyaCAjNjk4MTk5KQAtIGNvcmU6IGVuYWJsZSBvcHRpbWl6ZWQgYmFja2dyb3VuZCByb2FtaW5nIGZvciBXUEEgRW50ZXJwcmlzZSBjb25maWdzCi0gY29yZTogYmV0dGVyIGhhbmRsaW5nIG9mIFdpRmkgYW5kIFdpTUFYIHJma2lsbCAocmggIzU5OTAwMikKLSBhcHBsZXQ6IGZpeCBjcmFzaCBkZXRlY3RpbmcgQmx1ZXRvb3RoIERVTiBkZXZpY2VzIGEgc2Vjb25kIHRpbWUKLSBpZmNmZy1yaDogZml4IG1hbmFnZWQvdW5tYW5hZ2VkIGNoYW5nZXMgd2hlbiByZW1vdmluZyBjb25uZWN0aW9ucyAocmggIzY5ODIwMikALSBjb3JlOiBzeXN0ZW1kIGFuZCBzdGFydHVwIGVuaGFuY2VtZW50cyBmb3IgTkZTIG1vdW50cwotIGNvcmU6IG1vcmUgZWZmaWNpZW50IHN0YXJ0dXAgcHJvY2VzcwotIGNvcmU6IGZpeCBoYW5kbGluZyBvZiBtdWx0aXBsZSBsb2dpbnMgd2hlbiBvbmUgaXMgaW5hY3RpdmUKLSBjb3JlOiBmaXggaGFuZGxpbmcgb2YgUzM5MC9IZXJjdWxlcyBDVEMgbmV0d29yayBpbnRlcmZhY2VzIChyaCAjNjQxOTg2KQotIGNvcmU6IHN1cHBvcnQgRWFzeXRldGhlciBpbnRlcmZhY2VzIGZvciBBbmRyb2lkIHBob25lcwotIGNvcmU6IGZpeCBoYW5kbGluZyBvZiBXV0FOIGVuYWJsZS9kaXNhYmxlIHN0YXRlcwotIGlmY2ZnLXJoOiBoYXJtb25pemUgaGFuZGxpbmcgaWYgSVBBRERSL1BSRUZJWC9ORVRNQVNLIHdpdGggaW5pdHNjcmlwdHMgKHJoICM2NTg5MDcpCi0gYXBwbGV0OiBmaXggY29ubmVjdGlvbiB0byBXUEEgRW50ZXJwcmlzZSBuZXR3b3JrcyAocmggIzY5NDc2NSkALSBjb3JlOiBmaXggaGFuZGxpbmcgb2YgaW5maW5pdGUgSVB2NiBSRE5TUyB0aW1lb3V0cyAocmggIzY4OTI5MSkALSBVcGRhdGUgdG8gMC44Ljk5OCAoMC45LjAtcmMxKQotIGNvcmU6IGZpeCBuZWFyLWluZmluaXRlIHJlcXVlc3RzIGZvciBwYXNzd29yZHMgKHJoICM2OTI3ODMpCi0gY29yZTogZml4IGhhbmRsaW5nIG9mIHdpcmVkIDgwMi4xeCBjb25uZWN0aW9ucwotIGNvcmU6IGlnbm9yZSBOb2tpYSBQQy1TdWl0ZSBldGhlcm5ldCBkZXZpY2VzIHdlIGNhbid0IHVzZSB5ZXQKLSBhcHBsZXQ6IG1pZ3JhdGUgMC44IE9wZW5WUE4gcGFzc3dvcmRzIHRvIDAuOSBmb3JtYXRzAC0gY29yZTogcmVzdXJyZWN0IGRlZmF1bHQgVlBOIHVzZXJuYW1lCi0gY29yZTogZG9uJ3Qgc3RvbXAgb24gY3J5cHRvIGxpYnJhcnkgdXNlcnMgYnkgZGUtaW5pdGluZyB0aGUgY3J5cHRvIGxpYnJhcnkALSBjb3JlOiBmaXggY3JlYXRpb24gb2YgZGVmYXVsdCB3aXJlZCBjb25uZWN0aW9ucwotIGNvcmU6IGZpeCByZXF1ZXN0aW5nIG5ldyBzZWNyZXRzIHdoZW4gb2xkIG9uZXMgZmFpbCAoZXggY2hhbmdpbmcgV0VQIGtleXMpCi0gZWRpdG9yOiBlbnN1cmUgYWxsIHBhZ2VzIGFyZSBzZW5zaXRpdmUgYWZ0ZXIgcmV0cmlldmluZyBzZWNyZXRzCi0gZWRpdG9yOiBmaXggY3Jhc2ggd2hlbiBzY3JvbGxpbmcgdGhyb3VnaCBjb25uZWN0aW9uIGxpc3RzIChyaCAjNjkzNDQ2KQotIGFwcGxldDogZml4IGNyYXNoIGFmdGVyIHVzaW5nIHRoZSB3aWZpIG9yIHdpcmVkIHNlY3JldHMgZGlhbG9ncyAocmggIzY5MzQ0NikALSBGaXggdHJpZ2dlciB0byBlbmFibGUgdGhlIHN5c3RlbWQgc2VydmljZSBmb3IgdXBncmFkZXMgKHJoICM2Nzg1NTMpAC0gY29yZTogZml4IGNvbm5lY3Rpb24gZGVhY3RpdmF0aW9uIG9uIHRoZSBjb21wYXQgaW50ZXJmYWNlCi0gY29yZTogZ2l2ZSBkZWZhdWx0IHdpcmVkIGNvbm5lY3Rpb25zIGEgbW9yZSBmcmllbmRseSBuYW1lCi0gY29yZTogZml4IGJhc2UgdHlwZSBvZiBuZXdseSBjcmVhdGVkIHdpcmVkIGNvbm5lY3Rpb25zCi0gYXBwbGV0OiBtYW55IHVwZGF0ZWQgdHJhbnNsYXRpb25zAC0gY29yZTogZml4IHBvc3NpYmxlIGxpYm5tLWdsaWIgY3Jhc2ggd2hlbiBhY3RpdmF0aW5nIGNvbm5lY3Rpb25zCi0gYXBwbGV0OiBmaXggdmFyaW91cyBuYW1pbmcgYW5kIGRpYWxvZyB0aXRsZSBpc3N1ZXMALSBubS12ZXJzaW9uLmggc2hvdWxkIGJlIGluIE5ldHdvcmtNYW5hZ2VyLWRldmVsLCBub3QgLWdsaWItZGV2ZWwgKHJoICM2ODU0NDIpAC0gY29yZTogYWRkIGNvbXBhdGliaWxpdHkgbGF5ZXIgZm9yIEtERSBQbGFzbWEgbmV0d29yayBpbmZyYXN0cnVjdHVyZQAtIFVwZGF0ZSB0byAwLjguOTk3ICgwLjktYmV0YTMpCi0gaWZjZmctcmg6IGZpeCByZWFkaW5nIGFuZCB3cml0aW5nIG9mIER5bmFtaWMgV0VQIGNvbm5lY3Rpb25zIHVzaW5nIExFQVAgYXMgdGhlIGVhcCBtZXRob2QKLSB3aWZpOiBmaXggc2lnbmFsIHN0cmVuZ3RoIGZvciBzY2FubmVkIGFjY2VzcyBwb2ludHMgd2l0aCBzb21lIGRyaXZlcnMKLSBhcHBsZXQ6IHRyYW5zbGF0aW9uIHVwZGF0ZXMALSBVcGRhdGUgdG8gMC44Ljk5NiAoMC45LWJldGEyKQAtIGFwcGxldDogZml4IGJ1cyBuYW1lIG1vcmUALSBhcHBsZXQ6IGZpeCBidXMgbmFtZQAtIEZpeCBzeXN0ZW1kIHJlcXVpcmVzAC0gVXBkYXRlIHRvIE5ldHdvcmtNYW5hZ2VyIDAuOS1iZXRhMQotIGNvcmU6IGNvbnNvbGlkYXRlIHVzZXIgYW5kIHN5c3RlbSBzZXR0aW5ncyBzZXJ2aWNlcyBpbnRvIE5NIGl0c2VsZgotIGNvcmU6IGFkZCBXaU1BWCBzdXBwb3J0Ci0gYXBwbGV0OiBzdXBwb3J0IEZhc3QgVXNlciBTd2l0Y2hpbmcALSBSZWJ1aWxkIGFnYWluc3QgbmV3ZXIgZ3RrAC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8xNV9NYXNzX1JlYnVpbGQALSBSZWJ1aWxkIGFnYWluc3QgbmV3IGd0awAtIEhhbmRsZSBtb2RlbSBJUCBpbnRlcmZhY2UgY2hhbmdlcyBhZnRlciBkZXZpY2UgaXMgcmVjb2duaXplZAAtIFJlYnVpbGQgYWdhaW5zdCBuZXcgZ3RrMwAtIHVzZSAtLWZvcmNlIGluIGF1dG9yZWNvbmYgdG8gZml4IEZUQkZTAC0gUmVidWlsZCBhZ2FpbnN0IG5ld2VyIGd0awAtIFVwZGF0ZSB0byAwLjguMgAtIFJlYnVpbGQgYWdhaW5zdCBsaWJub3RpZnkgMC43Ci0gbWlzYyBndGsgYnVpbGQgZml4ZXMALSBjb3JlOiBwcmVzZXJ2ZSBXaUZpIEVuYWJsZWQgc3RhdGUgYWNyb3NzIHJlYm9vdCBhbmQgc3VzcGVuZC9yZXN1bWUALSBjb3JlOiBmaXggc3VzcGVuZC9yZXN1bWUgcmVncmVzc2lvbiAocmggIzYzODY0MCkKLSBjb3JlOiBmaXggaXNzdWUgY2F1c2luZyBzb21lIG5tY2xpIHJlcXVlc3RzIHRvIGJlIGlnbm9yZWQALSBjb3JlOiBwcmVzZXJ2ZSBjdXN0b20gbG9jYWwtbWFwcGVkIGhvc3RuYW1lcyBpbiAvZXRjL2hvc3RzIChyaCAjNjI3MjY5KQAtIGNvcmU6IHJlbW92ZSBzdGFsZSAvZXRjL2hvc3RzIG1hcHBpbmdzIChyaCAjNjMwMTQ2KQAtIGNvcmU6IGFkZCBkaXNwYXRjaGVyIGV2ZW50cyBvbiBESENQdjQgYW5kIERIQ1B2NiBsZWFzZSBjaGFuZ2VzCi0gY29yZTogZW5mb3JjZSBhY2Nlc3MgcGVybWlzc2lvbnMgd2hlbiBlbmFibGluZy9kaXNhYmxpbmcgV2lGaSBhbmQgV1dBTiAocmggIzYyNjMzNykKLSBjb3JlOiBsaXN0ZW4gZm9yIFVQb3dlciBzdXNwZW5kL3Jlc3VtZSBzaWduYWxzCi0gYXBwbGV0OiBmaXggZGlzYWJsZWQgRW5hYmxlIE5ldHdvcmtpbmcgYW5kIEVuYWJsZSBXaXJlbGVzcyBtZW51IGl0ZW1zIChyaCAjNjI3MzY1KQotIGFwcGxldDogdXBkYXRlZCB0cmFuc2xhdGlvbnMKLSBhcHBsZXQ6IG9ic2N1cmUgTW9iaWxlIEJyb2FkYmFuZCBQSU4gaW4gc2Vjb25kYXJ5IHVubG9jayBkaWFsb2cALSBjb3JlOiBmaXggc29tZSBzeXN0ZW1kIGludGVyYWN0aW9uIGlzc3VlcwAtIGNvcmU6IHJlYnVpbGQgdG8gZml4IHBvbGtpdCAwLjk3IGJ1aWxkIGlzc3VlCi0gYXBwbGV0OiB1cGRhdGVkIHRyYW5zbGF0aW9ucwAtIGNvcmU6IHJlYnVpbGQgdG8gZml4IGRidXMtZ2xpYiBzZWN1cml0eSBpc3N1ZSAoQ1ZFLTIwMTAtMTE3MikgKHJoICM1ODUzOTQpAC0gY29yZTogcXVpZXQgYW5ub3lpbmcgd2FybmluZ3MgKHJoICM2MTI5OTEpCi0gY29yZTogZml4IHJldHJpZXZhbCBvZiB2YXJpb3VzIElQIG9wdGlvbnMgaW4gbGlibm0tZ2xpYiAocmggIzYxMTE0MSkKLSBjb3JlOiBzaGlwIE5ldHdvcmtNYW5hZ2VyLmNvbmYgaW5zdGVhZCBvZiBkZXByZWNhdGVkIG5tLXN5c3RlbS1zZXR0aW5ncy5jb25mIChyaCAjNjA2MTYwKQotIGNvcmU6IGFkZCBzaG9ydCBob3N0bmFtZSB0byAvZXRjL2hvc3RzIHRvbyAocmggIzYyMTkxMCkKLSBjb3JlOiByZWNoZWNrIGF1dG9hY3RpdmF0aW9uIHdoZW4gbmV3IHN5c3RlbSBjb25uZWN0aW9ucyBhcHBlYXIKLSBjb3JlOiBlbmFibGUgREhDUHY2LW9ubHkgY29uZmlndXJhdGlvbnMgKHJoICM2MTI0NDUpCi0gY29yZTogZG9uJ3QgZmFpbCBjb25uZWN0aW9uIGltbWVkaWF0ZWx5IGlmIERIQ1AgbGVhc2UgZXhwaXJlcyAocmggIzYxNjA4NCkgKHJoICM1OTA4NzQpCi0gY29yZTogZml4IGVkaXRpbmcgb2YgUFBQb0Ugc3lzdGVtIGNvbm5lY3Rpb25zCi0gY29yZTogd29yayBhcm91bmQgdHdpdGNoeSBmcmVxdWVuY3kgcmVwb3J0aW5nIG9mIHZhcmlvdXMgd2lmaSBkcml2ZXJzCi0gY29yZTogZG9uJ3QgdGVhciBkb3duIHVzZXIgY29ubmVjdGlvbnMgb24gY29uc29sZSBjaGFuZ2VzIChyaCAjNjE0NTU2KQotIGNsaTogd2FpdCBhIGJpdCBmb3IgTk0ncyBwZXJtaXNzaW9ucyBjaGVjayB0byBjb21wbGV0ZSAocmggIzYxNDg2NikKLSBpZmNmZy1yaDogaWdub3JlIEJSSURHRSBhbmQgVkxBTiBjb25maWdzIGFuZCB0cmVhdCBhcyB1bm1hbmFnZWQgKHJoICM2MTk4NjMpCi0gbWFuOiBhZGQgbWFucGFnZSBmb3Igbm0tb25saW5lCi0gYXBwbGV0OiBmaXggY3Jhc2ggc2F2aW5nIGlnbm9yZS1taXNzaW5nLUNBLWNlcnQgcHJlZmVyZW5jZSAocmggIzYxOTc3NSkKLSBhcHBsZXQ6IGhpZGUgUElOL1BVSyBieSBkZWZhdWx0IGluIHRoZSBtb2JpbGUgUElOL1BVSyBkaWFsb2cgKHJoICM2MTUwODUpCi0gYXBwbGV0OiBlbnN1cmUgRW50ZXIgY2xvc2VzIHRoZSBQSU4vUFVLIGRpYWxvZyAocmggIzYxMTgzMSkKLSBhcHBsZXQ6IGZpeCBhbm90aGVyIGNyYXNoIGluIGlnbm9yZS1DQS1jZXJ0aWZpY2F0ZSBoYW5kbGluZyAocmggIzU1NzQ5NSkKLSBlZGl0b3I6IGZpeCBoYW5kbGluZyBvZiBXaXJlZC9zMzkwIGNvbm5lY3Rpb25zIChyaCAjNjE4NjIwKQotIGVkaXRvcjogZml4IGNyYXNoIHdoZW4gY2FuY2VsaW5nIGVkaXRpbmcgaW4gSVAgYWRkcmVzcyBwYWdlcyAocmggIzYxMDg5MSkKLSBlZGl0b3I6IGZpeCBoYW5kbGluZyBvZiBzMzkwLXNwZWNpZmljIG9wdGlvbnMKLSBlZGl0b3I6IHJlYWxseSBmaXggY3Jhc2ggd2hlbiBjaGFuZ2luZyBzeXN0ZW0gY29ubmVjdGlvbnMgKHJoICM2MDM1NjYpAC0gY29yZTogcmVhZCBubS1zeXN0ZW0tc2V0dGluZ3MuY29uZiBiZWZvcmUgTmV0d29ya01hbmFnZXIuY29uZiAocmggIzYwNjE2MCkKLSBjb3JlOiBmaXggZWRpdGluZyBzeXN0ZW0gRFNMIGNvbm5lY3Rpb25zIHdoZW4gdXNpbmcga2V5ZmlsZSBwbHVnaW4KLSBjb3JlOiB3b3JrIGFyb3VuZCBpbmNvbnNpc3RlbnQgcHJvcHJpZXRhcnkgZHJpdmVyIGFzc29jaWF0ZWQgQVAgcmVwb3J0aW5nCi0gY29yZTogZW5zdXJlIGVtcHR5IFZQTiBzZWNyZXRzIGFyZSBub3QgdXNlZCAocmggIzU4Nzc4NCkKLSBjb3JlOiBkb24ndCByZXF1ZXN0IFdpRmkgc2NhbnMgd2hlbiBjb25uZWN0aW9uIGlzIGxvY2tlZCB0byBhIHNwZWNpZmljIEJTU0lECi0gY2xpOiBzaG93IElQdjYgc2V0dGluZ3MgYW5kIGNvbmZpZ3VyYXRpb24KLSBhcHBsZXQ6IHVwZGF0ZWQgdHJhbnNsYXRpb25zCi0gZWRpdG9yOiBmaXggYSBQb2xpY3lLaXQtcmVsYXRlZCBjcmFzaCBlZGl0aW5nIGNvbm5lY3Rpb25zIChyaCAjNjAzNTY2KQotIGFwcGxldDogZml4IHNhdmluZyB0aGUgaWdub3JlLW1pc3NpbmctQ0EtY2VydCBwcmVmZXJlbmNlIChyaCAjNjEwMDg0KQotIGVkaXRvcjogZml4IGxpc3RpbmcgY29ubmVjdGlvbnMgb24gUFBDNjQgKHJoICM2MDg2NjMpCi0gZWRpdG9yOiBlbnN1cmUgZWRpdG9yIHdpbmRvd3MgYXJlIGRlc3Ryb3llZCB3aGVuIGNsb3NlZCAocmggIzU3MjQ2NikALSBSZWJ1aWxkIGFnYWluc3QgbmV3IGdub21lLWJsdWV0b290aAAtIFVwZGF0ZSB0byAwLjguMSByZWxlYXNlIGNhbmRpZGF0ZQotIGNvcmU6IGZpeCBXV0FOIGhhcmR3YXJlIGVuYWJsZSBzdGF0ZSB0cmFja2luZyAocmggIzU5MTYyMikKLSBjb3JlOiBmaXggUmVkIEhhdCBpbml0c2NyaXB0IHJldHVybiB2YWx1ZSBvbiBkb3VibGUtc3RhcnQgKHJoICM1ODQzMjEpCi0gY29yZTogYWRkIG11bHRpY2FzdCByb3V0ZSBlbnRyeSBmb3IgSVB2NCBsaW5rLWxvY2FsIGNvbm5lY3Rpb25zCi0gY29yZTogZml4IGNvbm5lY3Rpb24gc2hhcmluZyBpbiBjYXNlcyB3aGVyZSBhIGRuc21hc3EgY29uZmlnIGZpbGUgZXhpc3RzCi0gY29yZTogZml4IGhhbmRsaW5nIG9mIEFkLUhvYyB3aWZpIGNvbm5lY3Rpb25zIHRvIGluZGljYXRlIGNvcnJlY3QgbmV0d29yawotIGNvcmU6IGVuc3VyZSBWUE4gaW50ZXJmYWNlIG5hbWUgaXMgcGFzc2VkIHRvIGRpc3BhdGNoZXIgd2hlbiBWUE4gZ29lcyBkb3duCi0gaWZjZmctcmg6IGZpeCBoYW5kbGluZyBvZiBBU0NJSSBXRVAga2V5cwotIGlmY2ZnLXJoOiBmaXggZG91YmxlLXF1b3Rpbmcgb2Ygc29tZSBTU0lEcyAocmggIzYwNjUxOCkKLSBhcHBsZXQ6IGVuc3VyZSBkZWxldGVkIGNvbm5lY3Rpb25zIGFyZSBhY3R1YWxseSBmb3Jnb3R0ZW4gKHJoICM2MTg5NzMpCi0gYXBwbGV0OiBkb24ndCBjcmFzaCBpZiB0aGUgQVAncyBCU1NJRCBpc24ndCBhdmFpbGFiZSAocmggIzYwMzIzNikKLSBlZGl0b3I6IGRvbid0IGNyYXNoIG9uIFBvbGljeUtpdCBldmVudHMgYWZ0ZXIgd2luZG93cyBhcmUgY2xvc2VkIChyaCAjNTcyNDY2KQAtIGNvcmU6IGZpeCBubS1vbmxpbmUgY3Jhc2ggKHJoICM1OTM2NzcpCi0gY29yZTogZml4IGZhaWxlZCBzdXNwZW5kIGRpc2FibGVzIG5ldHdvcmsgKHJoICM1ODkxMDgpCi0gY29yZTogcHJpbnQgb3V0IG1pc3NpbmcgZmlybXdhcmUgZXJyb3JzIChyaCAjNTk0NTc4KQotIGFwcGxldDogZml4IGRldmljZSBkZXNjcmlwdGlvbnMgZm9yIHNvbWUgbW9iaWxlIGJyb2FkYmFuZCBkZXZpY2VzCi0ga2V5ZmlsZTogYmx1ZXRvb3RoIGZpeGVzCi0gYXBwbGV0OiB1cGRhdGVkIHRyYW5zbGF0aW9ucyAocmggIzU4OTIzMCkALSBjb3JlOiB1c2UgR0lPIGluIGxvY2FsIG1vZGUgb25seSAocmggIzU4ODc0NSkKLSBjb3JlOiB1cGRhdGVkIHRyYW5zbGF0aW9ucyAocmggIzU4OTIzMCkKLSBjb3JlOiBiZSBtb3JlIGxlbmllbnQgaW4gSVB2NiBSRE5TUyBzZXJ2ZXIgZXhwaXJ5IChyaCAjNTkwMjAyKQotIGNvcmU6IGZpeCBoZWFkZXJzIHRvIGJlIEMrKyBjb21wYXRpYmxlIChyaCAjNTkyNzgzKQotIGFwcGxldDogdXBkYXRlZCB0cmFuc2xhdGlvbnMgKHJoICM1ODkyMzApCi0gYXBwbGV0OiBsb2NrIGNvbm5lY3Rpb25zIHdpdGggd2VsbC1rbm93biBTU0lEcyB0byB0aGVpciBzcGVjaWZpYyBBUAAtIGNvcmU6IGZpeCBoYW5kbGluZyBvZiBJUHY2IFJBIGZsYWdzIHdoZW4gcm91dGVyIGdvZXMgYXdheSAocmggIzU4ODU2MCkKLSBibHVldG9vdGg6IGZpeCBjcmFzaCBjb25maWd1cmluZyBEVU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgd2l6YXJkIChyaCAjNTkwNjY2KQAtIGNvcmU6IHJlc3RvcmUgaW5pdGlhbCBhY2NlcHRfcmEgdmFsdWUgZm9yIElQdjYgaWdub3JlZCBjb25uZWN0aW9ucyAocmggIzU4ODYxOSkKLSBibHVldG9vdGg6IGZpeCBiYWQgdGltZW91dCBvbiBQQU4gY29ubmVjdGlvbnMgKHJoICM1ODY5NjEpCi0gYXBwbGV0OiB1cGRhdGVkIHRyYW5zbGF0aW9ucwAtIGNvcmU6IHRyZWF0IG1pc3NpbmcgSVB2NiBjb25maWd1cmF0aW9uIGFzIGlnbm9yZWQgKHJoICM1ODg4MTQpCi0gY29yZTogZG9uJ3QgZmx1c2ggSVB2NiBsaW5rLWxvY2FsIHJvdXRlcyAocmggIzU4NzgzNikKLSBjbGk6IHVwZGF0ZSBvdXRwdXQgZm9ybWF0dGluZwAtIGNvcmU6IGFsbG93IElQIGNvbmZpZ3VyYXRpb24gYXMgbG9uZyBhcyBvbmUgbWV0aG9kIGNvbXBsZXRlcyAocmggIzU2Nzk3OCkKLSBjb3JlOiBkb24ndCBwcmVtYXR1cmVseSByZW1vdmUgSVB2NiBSRE5TUyBuYW1lc2VydmVycyAocmggIzU4ODE5MikKLSBjb3JlOiBlbnN1cmUgcm91dGVyIGFkdmVydGlzZW1lbnRzIGFyZSBvbmx5IHVzZWQgd2hlbiBuZWVkZWQgKHJoICM1ODg2MTMpCi0gZWRpdG9yOiBhZGQgSVB2NiBnYXRld2F5IGVkaXRpbmcgY2FwYWJpbGl0eQAtIGNvcmU6IElQdjYgYXV0b2NvbmYsIERIQ1AsIGxpbmstbG9jYWwsIGFuZCBtYW51YWwgbW9kZSBmaXhlcwotIGVkaXRvcjogZml4IHNhdmluZyBJUHY2IGFkZHJlc3MgaW4gdXNlciBjb25uZWN0aW9ucwAtIGNvcmU6IGZpeCBjcmFzaCB3aGVuIElQdjYgaXMgZW5hYmxlZCBhbmQgaW50ZXJmYWNlIGlzIGRlYWN0aXZhdGVkAC0gY29yZTogZml4IGlzc3VlcyB3aXRoIElQdjYgcm91dGVyIGFkdmVydGlzZW1lbnQgbWlzaGFuZGxpbmcgKHJoICM1MzA2NzApCi0gY29yZTogbWFueSBmaXhlcyBmb3IgSVB2NiBSQSBhbmQgREhDUCBoYW5kbGluZyAocmggIzUzODQ5OSkKLSBjb3JlOiBpZ25vcmUgV1dBTiBldGhlcm5ldCBkZXZpY2VzIHVudGlsIHVzYWJsZSAocmggIzU4NTIxNCkKLSBpZmNmZy1yaDogZml4IGhhbmRsaW5nIG9mIFdFUCBwYXNzcGhyYXNlcyAocmggIzU4MTcxOCkKLSBhcHBsZXQ6IGZpeCBjcmFzaGVzIChyaCAjNTgyOTM4KSAocmggIzU4MjQyOCkKLSBhcHBsZXQ6IGZpeCBjcmFzaCB3aXRoIG11bHRpcGxlIGNvbmN1cnJlbnQgYXV0aG9yaXphdGlvbiByZXF1ZXN0cyAocmggIzU4NTQwNSkKLSBlZGl0b3I6IGFsbG93IGRpc2FibGluZyBJUHY0IG9uIGEgcGVyLWNvbm5lY3Rpb24gYmFzaXMKLSBlZGl0b3I6IGFkZCBzdXBwb3J0IGZvciBJUHY2IERIQ1Atb25seSBjb25maWd1cmF0aW9ucwAtIGNvcmU6IGZpeCBjcmFzaCBkdXJpbmcgaW5zdGFsbCAocmggIzU4MTc5NCkKLSB3aWZpOiBmaXggY3Jhc2ggd2hlbiBzdXBwbGljYW50IHNlZ2ZhdWx0cyBhZnRlciByZXN1bWUgKHJoICM1Mzg3MTcpCi0gaWZjZmctcmg6IGZpeCBNVFUgaGFuZGxpbmcgZm9yIHdpcmVkIGNvbm5lY3Rpb25zIChyaCAjNTY5MzE5KQotIGFwcGxldDogZml4IGRpc3BsYXkgb2YgZGlzYWJsZWQgbW9iaWxlIGJyb2FkYmFuZCBkZXZpY2VzAC0gY29yZTogZml4IGF1dG9tYXRpYyBXaUZpIGNvbm5lY3Rpb25zIG9uIHJlc3VtZSAocmggIzU3ODE0MSkALSBjb3JlOiBtb3JlIGZsZXhpYmxlIGxvZ2dpbmcKLSBjb3JlOiBmaXggY3Jhc2ggd2l0aCBPTFBDIG1lc2ggZGV2aWNlcyBhZnRlciBzdXNwZW5kCi0gYXBwbGV0OiB1cGRhdGVkIHRyYW5zbGF0aW9ucwotIGFwcGxldDogc2hvdyBtb2JpbGUgYnJvYWRiYW5kIHNpZ25hbCBzdHJlbmd0aCBhbmQgdGVjaG5vbG9neSBpbiB0aGUgaWNvbgotIGFwcGxldDogZml4IGNvbnRpbnVvdXMgcGFzc3dvcmQgcmVxdWVzdHMgZm9yIDgwMi4xeCBjb25uZWN0aW9ucyAocmggIzU3NjkyNSkKLSBhcHBsZXQ6IG1hbnkgdXBkYXRlZCB0cmFuc2xhdGlvbnMALSBjb3JlOiBmaXggbW9kZW0gZW5hYmxlL2Rpc2FibGUKLSBjb3JlOiBmaXggbW9kZW0gZGVmYXVsdCByb3V0ZSBoYW5kbGluZwAtIGNvcmU6IGRvbid0IGV4aXQgZWFybHkgb24gbm9uLWZhdGFsIHN0YXRlIGZpbGUgZXJyb3JzCi0gY29yZTogZml4IEJsdWV0b290aCBjb25uZWN0aW9uIGlzc3VlcyAocmggIzU3MjM0MCkKLSBhcHBsZXQ6IGZpeCBzb21lIHRyYW5zbGF0aW9ucyAocmggIzU3NjA1NikKLSBhcHBsZXQ6IGJldHRlciBmZWVkYmFjayB3aGVuIHdyb25nIFBJTi9QVUsgaXMgZW50ZXJlZAotIGFwcGxldDogbWFueSB1cGRhdGVkIHRyYW5zbGF0aW9ucwotIGFwcGxldDogUElOMiB1bmxvY2sgbm90IHJlcXVpcmVkIGZvciBub3JtYWwgbW9kZW0gZnVuY3Rpb25hbGl0eQotIGFwcGxldDogZml4IHdpcmVsZXNzIHNlY3JldHMgZGlhbG9nIGRpc3BsYXkALSBtYW46IG1hbnkgbWFucGFnZSB1cGRhdGVzCi0gY29yZTogZGV0ZXJtaW5lIGNsYXNzZnVsIHByZWZpeCBpZiBub24gaXMgZ2l2ZW4gdmlhIERIQ1AKLSBjb3JlOiBlbnN1cmUgL2V0Yy9ob3N0cyBpcyBhbHdheXMgdXAtdG8tZGF0ZSBhbmQgY29ycmVjdCAocmggIzU2OTkxNCkKLSBjb3JlOiBzdXBwb3J0IEdTTSBuZXR3b3JrIGFuZCByb2FtaW5nIHByZWZlcmVuY2VzCi0gYXBwbGV0OiBzdGFydHVwIHNwZWVkIGVuaGFuY2VtZW50cwotIGFwcGxldDogYmV0dGVyIHN1cHBvcnQgZm9yIE9UUC90b2tlbi1iYXNlZCBXaUZpIGNvbm5lY3Rpb25zIChyaCAjNTI2MzgzKQotIGFwcGxldDogc2hvdyBHU00gYW5kIENETUEgcmVnaXN0cmF0aW9uIHN0YXR1cyBhbmQgc2lnbmFsIHN0cmVuZ3RoIHdoZW4gYXZhaWxhYmxlCi0gYXBwbGV0OiBmaXggem9tYmllIEdTTSBhbmQgQ0RNQSBkZXZpY2VzIGluIHRoZSBtZW51Ci0gYXBwbGV0OiByZW1vdmUgNC1jaGFyYWN0ZXIgR1NNIFBJTi9QVUsgY29kZSBsaW1pdAotIGFwcGxldDogZml4IGluc2Vuc2l0aXZlIFdpRmkgQ3JlYXRlLi4uIGJ1dHRvbiAocmggIzU0MTE2MykKLSBhcHBsZXQ6IGFsbG93IHVubG9ja2luZyBvZiBtb2JpbGUgZGV2aWNlcyBpbW1lZGlhdGVseSB3aGVuIHBsdWdnZWQgaW4ALSBjb3JlOiB1cGRhdGUgdG8gZmluYWwgMC44IHJlbGVhc2UKLSBjb3JlOiBmaXggQmx1ZXRvb3RoIERVTiBjb25uZWN0aW9ucyB3aGVuIHNlY3JldHMgYXJlIG5lZWRlZAotIGlmY2ZnLXJoOiBhZGQgaGVscGVyIGZvciBpbml0c2NyaXB0cyB0byBkZXRlcm1pbmUgaWZjZmcgY29ubmVjdGlvbiBVVUlEcwotIGFwcGxldDogZml4IEJsdWV0b290aCBjb25uZWN0aW9uIHNlY3JldHMgcmVxdWVzdHMKLSBhcHBsZXQ6IGZpeCByYXJlIGNvbmZsaWN0IHdpdGggb3RoZXIgZ25vbWUtYmx1ZXRvb3RoIHBsdWdpbnMALSBjb3JlOiBmaXggbW9iaWxlIGJyb2FkYmFuZCBQSU4gaGFuZGxpbmcgKHJoICM1NDMwODgpIChyaCAjNTYwNzQyKQotIGNvcmU6IGJldHRlciBoYW5kbGluZyBvZiAvZXRjL2hvc3RzIGlmIGhvc3RuYW1lIHdhcyBhbHJlYWR5IGFkZGVkIGJ5IHRoZSB1c2VyCi0gYXBwbGV0OiBjcmFzaCBsZXNzIG9uIEQtQnVzIHByb3BlcnR5IGVycm9ycyAocmggIzU1NzAwNykKLSBhcHBsZXQ6IGZpeCBjcmFzaCBlbnRlcmluZyB3aXJlZCA4MDIuMXggY29ubmVjdGlvbiBkZXRhaWxzIChyaCAjNTU2NzYzKQAtIGNvcmU6IHZhbGlkYXRlIHRoZSBhdXRvc3RhcnQgLmRlc2t0b3AgZmlsZQotIGJ1aWxkOiBmaXggbm1jbGkgZm9yIHRoZSBzdHJpY3RlciBsZCAoZml4ZXMgRlRCRlMpCi0gYnVpbGQ6IGZpeCBubS1jb25uZWN0aW9uLWVkaXRvciBmb3IgdGhlIHN0cmljdGVyIGxkIChmaXhlcyBGVEJGUykKLSBhcHBsZXQ6IGRvbid0IGF1dG9zdGFydCBpbiBLREUgb24gRjEzKyAoIzU0MTM1MykALSBjb3JlOiBhZGQgQmx1ZXRvb3RoIERpYWwtVXAgTmV0d29ya2luZyAoRFVOKSBzdXBwb3J0IChyaCAjMTM2NjYzKQotIGNvcmU6IHN0YXJ0IERIQ1B2NiBvbiByZWNlaXB0IG9mIFJBICdvdGhlcmNvbmYnLydtYW5hZ2VkJyBiaXRzCi0gbm1jbGk6IGFsbG93IGVuYWJsZS9kaXNhYmxlIG9mIFdpRmkgYW5kIFdXQU4ALSBpZmNmZy1yaDogcmVhZCBhbmQgd3JpdGUgREhDUHY2IGVuYWJsZWQgY29ubmVjdGlvbnMgKHJoICM0Mjk3MTApCi0gbm1jbGk6IHVwZGF0ZQAtIGNvcmU6IGNsZWFuIE5TUyB1cCBsYXRlciB0byBwcmVzZXJ2ZSBlcnJvcnMgZnJvbSBjcnlwdG9faW5pdCgpAC0gY29yZTogc3VwcG9ydCBmb3IgbWFuYWdlZC1tb2RlIERIQ1B2NiAocmggIzQyOTcxMCkKLSBpZmNmZy1yaDogZ3JhY2VmdWxseSBoYW5kbGUgbWlzc2luZyBQUkVGSVgvTkVUTUFTSwotIGNsaTogaW5pdGlhbCBwcmV2aWV3IG9mIGNvbW1hbmQtbGluZSBjbGllbnQKLSBhcHBsZXQ6IGFkZCAtLWhlbHAgdG8gZXhwbGFpbiB3aGF0IHRoZSBhcHBsZXQgaXMgKHJoICM0OTQ2NDEpAC0gYnVpbGQ6IGZpeCBmb3IgbmV3IHBwcGQgKHJoICM1NDg1MjApCi0gY29yZTogYWRkIFdXQU4gZW5hYmxlL2Rpc2FibGUgZnVuY3Rpb25hbGl0eQotIGlmY2ZnLXJoOiBJUHY2IGFkZHJlc3NpbmcgYW5kIHJvdXRlcyBzdXBwb3J0IChyaCAjNTIzMjg4KQotIGlmY2ZnLXJoOiBlbnN1cmUgY29ubmVjdGlvbiBpcyB1cGRhdGVkIHdoZW4gcm91dGUva2V5IGZpbGVzIGNoYW5nZQotIGFwcGxldDogZml4IGNyYXNoIHdoZW4gYWN0aXZlIEFQIGlzbid0IGZvdW5kIChyaCAjNTQ2OTAxKQotIGVkaXRvcjogZml4IGNyYXNoIHdoZW4gZWRpdGluZyBjb25uZWN0aW9ucyAocmggIzU0OTU3OSkALSBjb3JlOiBmaXggcmVjb2duaXRpb24gb2Ygc3RhbmRhbG9uZSA4MDIuMXggcHJpdmF0ZSBrZXlzCi0gYXBwbGV0OiBjbGVhbiBub3RpZmljYXRpb24gdGV4dCB0byBlbnN1cmUgaXQgcGFzc2VzIGxpYm5vdGlmeSB2YWxpZGF0aW9uAC0gY29yZTogcmVtb3ZlIGhhbGRhZW1vbiBmcm9tIGluaXRzY3JpcHQgZGVwZW5kZW5jaWVzIChyaCAjNTQyMDc4KQotIGNvcmU6IGhhbmRsZSBQRU0gY2VydGlmaWNhdGVzIHdpdGhvdXQgYW4gZW5kaW5nIG5ld2xpbmUgKHJoICM1MDczMTUpCi0gY29yZTogZml4IHJma2lsbCByZXBvcnRpbmcgZm9yIGlwdzJ4MDAgZGV2aWNlcwotIGNvcmU6IGluY3JlYXNlIFBQUG9FIHRpbWVvdXQgdG8gMzAgc2Vjb25kcwotIGNvcmU6IGZpeCByZS1hY3RpdmF0aW5nIHN5c3RlbSBjb25uZWN0aW9ucyB3aXRoIHNlY3JldHMKLSBjb3JlOiBmaXggY3Jhc2ggd2hlbiBkZWxldGluZyBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgd2lyZWQgY29ubmVjdGlvbnMKLSBjb3JlOiBlbnN1cmUgdGhhdCBhIFZQTidzIEROUyBzZXJ2ZXJzIGFyZSB1c2VkIHdoZW4gc2hhcmluZyB0aGUgVlBOIGNvbm5lY3Rpb24KLSBpZmNmZy1yaDogc3VwcG9ydCByb3V0ZXMgZmlsZXMgKHJoICM1MDczMDcpCi0gaWZjZmctcmg6IHdhcm4gd2hlbiBkZXZpY2Ugd2lsbCBiZSBtYW5hZ2VkIGR1ZSB0byBtaXNzaW5nIEhXQUREUiAocmggIzU0NTAwMykKLSBpZmNmZy1yaDogaW50ZXJwcmV0IERFRlJPVVRFIGFzIG5ldmVyLWRlZmF1bHQgKHJoICM1MjgyODEpCi0gaWZjZmctcmg6IGhhbmRsZSBNT0RFPUF1dG8gY29ycmVjdGx5Ci0gcnBtOiBmaXggcnBtbGludCBlcnJvcnMKLSBhcHBsZXQ6IGRvbid0IGNyYXNoIG9uIHZhcmlvdXMgRC1CdXMgYW5kIG90aGVyIGVycm9ycyAocmggIzU0NTAxMSkgKHJoICM1NDI2MTcpCi0gZWRpdG9yOiBmaXggdmFyaW91cyBQb2xpY3lLaXQtcmVsYXRlZCBjcmFzaGVzIChyaCAjNDYyOTQ0KQotIGFwcGxldCtlZGl0b3I6IG5vdGlmeSB1c2VyIHRoYXQgcHJpdmF0ZSBrZXlzIG11c3QgYmUgcHJvdGVjdGVkAC0gbm06IGJldHRlciBwaWRmaWxlIGhhbmRpbmcgKHJoICM1MTczNjIpCi0gbm06IHNhdmUgV2lGaSBhbmQgTmV0d29ya2luZyBlbmFibGVkL2Rpc2FibGVkIHN0YXRlcyBhY3Jvc3MgcmVib290Ci0gbm06IGZpeCBjcmFzaCB3aXRoIG1pc3NpbmcgVlBOIHNlY3JldHMgKHJoICM1MzIwODQpCi0gYXBwbGV0OiBmaXggc3lzdGVtIGNvbm5lY3Rpb24gdXNhZ2UgZnJvbSB0aGUgIkNvbm5lY3QgdG8gaGlkZGVuLi4uIiBkaWFsb2cKLSBhcHBsZXQ6IHNob3cgQmx1ZXRvb3RoIGNvbm5lY3Rpb25zIHdoZW4gbm8gb3RoZXIgZGV2aWNlcyBhcmUgYXZhaWxhYmxlIChyaCAjNTMyMDQ5KQotIGFwcGxldDogZG9uJ3QgZGllIHdoZW4gYXV0b2NvbmZpZ3VyZWQgY29ubmVjdGlvbnMgY2FuJ3QgYmUgbWFkZSAocmggIzUzMjY4MCkKLSBhcHBsZXQ6IGFsbG93IHN5c3RlbSBhZG1pbmlzdHJhdG9ycyB0byBkaXNhYmxlIHRoZSAiQ3JlYXRlIG5ldyB3aXJlbGVzcyBuZXR3b3JrLi4uIiBtZW51IGl0ZW0KLSBhcHBsZXQ6IGZpeCBtaXNzaW5nIHVzZXJuYW1lIGNvbm5lY3RpbmcgdG8gVlBOcyB0aGUgc2Vjb25kIHRpbWUKLSBhcHBsZXQ6IHJlYWxseSBmaXggYW5pbWF0aW9uIHN0dXR0ZXJpbmcKLSBlZGl0b3I6IGZpeCBJUCBjb25maWcgd2lkZ2V0IHRvb2x0aXBzCi0gZWRpdG9yOiBhbGxvdyB1bmxpc3RlZCBjb3VudHJpZXMgaW4gdGhlIG1vYmlsZSBicm9hZGJhbmQgd2l6YXJkIChyaCAjNTMwOTgxKQotIGlmY2ZnLXJoOiBpZ25vcmUgLnJwbW5ldyBmaWxlcyAocmggIzUwOTYyMSkALSBubTogZml4IFBQUG9FIGNvbm5lY3Rpb24gYXV0aGVudGljYXRpb24gKHJoICM1MzI4NjIpAC0gaW5zdGFsbDogYmV0dGVyIGZpeCBmb3IgKHJoICM1MjY1MTkpCi0gaW5zdGFsbDogZG9uJ3QgYnVpbGQgQmx1ZXRvb3RoIGJpdHMgb24gczM5MCAocmggIzUyOTg1NCkKLSBubTogd2lyZWQgODAyLjF4IGNvbm5lY3Rpb24gYWN0aXZhdGlvbiBmaXhlcwotIG5tOiBmaXggY3Jhc2ggYWZ0ZXIgbW9kaWZ5aW5nIGRlZmF1bHQgd2lyZWQgY29ubmVjdGlvbnMgbGlrZSAiQXV0byBldGgwIgotIG5tOiBlbnN1cmUgVlBOIHNlY3JldHMgYXJlIHJlcXVlc3RlZCBhZ2FpbiBhZnRlciBjb25uZWN0aW9uIGZhaWx1cmUKLSBubTogcmVzZXQgJ2FjY2VwdF9yYScgdG8gcHJldmlvdXMgdmFsdWUgYWZ0ZXIgZGVhY3RpdmF0aW5nIElQdjYgY29ubmVjdGlvbnMKLSBubTogZW5zdXJlIHJhbmRvbSBuZXRsaW5rIGV2ZW50cyBkb24ndCBpbnRlcmZlcmUgd2l0aCBJUHY2IGNvbm5lY3Rpb24gYWN0aXZhdGlvbgotIGlmY2ZnLXJoOiBmaXggd3JpdGluZyBvdXQgTEVBUCBjb25uZWN0aW9ucwotIGlmY2ZnLXJoOiByZWNvZ25pemUgJ3N0YXRpYycgYXMgYSB2YWxpZCBCT09UUFJPVE8gKHJoICM1MjgwNjgpCi0gYXBwbGV0OiBmaXggImNvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIHJlc291cmNlcyIgZXJyb3IgKHJoICM1Mjk3NjYpAC0gaW5zdGFsbDogZml4IC1nbm9tZSBwYWNrYWdlIHByZSBzY3JpcHQgZmFpbHVyZXMgKHJoICM1MjY1MTkpCi0gbm06IGZpeCBmYWlsdXJlcyB2YWxpZGF0aW5nIHByaXZhdGUga2V5cyB3aGVuIHVzaW5nIHRoZSBOU1MgY3J5cHRvIGJhY2tlbmQKLSBhcHBsZXQ6IGZpeCBjcmFzaGVzIHdoZW4gY2xpY2tpbmcgb24gbWVudSBidXQgbm90IGFzc29jaWF0ZWQgKHJoICM1MjY1MzUpCi0gZWRpdG9yOiBmaXggY3Jhc2ggZWRpdGluZyB3aXJlZCA4MDIuMXggc2V0dGluZ3MKLSBlZGl0b3I6IGZpeCBzZWNyZXRzIHJldHJpZXZhbCB3aGVuIGVkaXRpbmcgY29ubmVjdGlvbnMALSBubTogZml4IGNvbm5lY3Rpb24gdGFrZW92ZXIgd2hlbiBjYXJyaWVyIGlzIG5vdCBvbgotIG5tOiBoYW5kbGUgY2VydGlmaWNhdGUgcGF0aHMgKENBIGNoYWluIFBFTSBmaWxlcyBhcmUgbm93IGZ1bGx5IHVzYWJsZSkKLSBubTogZGVmZXIgYWN0aW9uIGZvciA0IHNlY29uZHMgd2hlbiB3aXJlZCBjYXJyaWVyIGRyb3BzCi0gaWZjZmctcmg6IGZpeCB3cml0aW5nIFdQQSBwYXNzcGhyYXNlcyB3aXRoIG9kZCBjaGFyYWN0ZXJzCi0gZWRpdG9yOiBmaXggZWRpdGluZyBvZiBJUHY0IHNldHRpbmdzIHdpdGggbmV3IGNvbm5lY3Rpb25zIChyaCAjNTI1ODE5KQotIGVkaXRvcjogZml4IHJhbmRvbSBjcmFzaGVzIHdoZW4gZWRpdGluZyBkdWUgdG8gYmFkIHdpZGdldCByZWZjb3VudGluZwotIGFwcGxldDogZGVidXQgcmV3b3JrZWQgbWVudSBsYXlvdXQgKG5vdCBmaW5hbCB5ZXQuLi4pAC0gSW5zdGFsbCBHQ29uZiBzY2hlbWFzAC0gbm06IGFsbG93IGRpc2Nvbm5lY3Rpb24gb2YgYWxsIGRldmljZSB0eXBlcwotIG5tOiBlbnN1cmUgdGhhdCB3aXJlZCBjb25uZWN0aW9ucyBhcmUgdG9ybiBkb3duIHdoZW4gdGhlaXIgaGFyZHdhcmUgZ29lcyBhd2F5Ci0gbm06IGZpeCBjcmFzaCB3aGVuIGNhbmNlbGluZyBhIFZQTidzIHJlcXVlc3QgZm9yIHNlY3JldHMKLSBlZGl0b3I6IGZpeCBpc3N1ZXMgY2hhbmdpbmcgY29ubmVjdGlvbnMgYmV0d2VlbiBzeXN0ZW0gYW5kIHVzZXIgc2NvcGVzCi0gZWRpdG9yOiBlbnN1cmUgY2hhbmdlcyBhcmUgdGhyb3duIGF3YXkgd2hlbiBlZGl0aW5nIGlzIGNhbmNlbGVkCi0gYXBwbGV0OiBlbnN1cmUgY29ubmVjdGlvbiBjaGFuZ2VzIGFyZSBub3RpY2VkIGJ5IE5ldHdvcmtNYW5hZ2VyCi0gYXBwbGV0OiBmaXggY3Jhc2ggd2hlbiBjcmVhdGluZyBuZXcgY29ubmVjdGlvbnMKLSBhcHBsZXQ6IGFjdHVhbGx5IHVzZSB3aXJlZCA4MDIuMXggc2VjcmV0cyBhZnRlciB0aGV5IGFyZSByZXF1ZXN0ZWQALSBubTogSVB2NiB6ZXJvY29uZiBzdXBwb3J0IGFuZCBmaXhlcwotIG5tOiBwb3J0IHRvIHBvbGtpdCAocmggIzQ5OTk2NSkKLSBubTogZml4ZXMgZm9yIGVoZWEgZGV2aWNlcyAocmggIzUxMTMwNCkgKHJoICM1MTY1OTEpCi0gbm06IHdvcmsgYXJvdW5kIFBQUCBidWcgY2F1c2luZyBib2d1cyBuYW1lc2VydmVycyBmb3IgbW9iaWxlIGJyb2FkYmFuZCBjb25uZWN0aW9ucwotIGVkaXRvcjogZml4IHNlZ2ZhdWx0IHdpdGggIlVubGlzdGVkIiBwbGFucyBpbiB0aGUgbW9iaWxlIGJyb2FkYmFuZCBhc3Npc3RhbnQALSBubTogYWRkIGlTQ1NJIHN1cHBvcnQKLSBubTogYWRkIGNvbm5lY3Rpb24gYXNzdW1lL3Rha2VvdmVyIHN1cHBvcnQgZm9yIGV0aGVybmV0IChyaCAjNTE3MzMzKQotIG5tOiBJUHY2IGZpeGVzCi0gbm06IHJlLWFkZCBPTFBDIFhPLTEgbWVzaCBkZXZpY2Ugc3VwcG9ydCAocmVtb3ZlZCB3aXRoIDAuNy4wKQotIGFwcGxldDogYmV0dGVyIFdpRmkgZGlhbG9nIGZvY3VzIGhhbmRsaW5nAC0gQWRkIHBhdGNoIHRvIGZpeCBzZXJ2aWNlIGRldGVjdGlvbiBvbiBwaG9uZXMALSBubTogSVB2NiBzdXBwb3J0IGZvciBtYW51YWwgJiByb3V0ZXItYWR2ZXJ0aXNlbWVudCBtb2RlcwAtIE1vdmUgc29tZSBiaWcgZG9jcyB0byAtZGV2ZWwgdG8gc2F2ZSBzcGFjZQAtIFVwZGF0ZSB0byB1cHN0cmVhbSAnbWFzdGVyJyBicmFuY2gKLSBVc2UgbW9kZW0tbWFuYWdlciBmb3IgYmV0dGVyIDNHIG1vZGVtIHN1cHBvcnQKLSBJbnRlZ3JhdGVkIHN5c3RlbSBzZXR0aW5ncyB3aXRoIE5ldHdvcmtNYW5hZ2VyIGl0c2VsZgotIFVzZSB1ZGV2IGluc3RlYWQgb2YgSEFMAC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8xMl9NYXNzX1JlYnVpbGQALSBhcHBsZXQ6IGZpeCBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uIGluIGhpZGRlbiB3aWZpIG5ldHdvcmtzIGRpYWxvZyAocmggIzUwODIwNykALSBubTogZml4ZXMgZm9yIFpURS9PbmRhIG1vZGVtIGRldGVjdGlvbgotIG5tOiBwcmV2ZW50IHJlLW9wZW5pbmcgc2VyaWFsIHBvcnQgd2hlbiB0aGUgU0lNIGhhcyBhIFBJTgotIGFwcGxldDogdXBkYXRlZCB0cmFuc2xhdGlvbnMKLSBlZGl0b3I6IHNob3cgbGlzdCBjb2x1bW4gaGVhZGVycwAtIG5tOiBmaXggc2VyaWFsIHBvcnQgc2V0dGluZ3MALSBubTogZml4IEFUJlQgUXVpY2tzaWx2ZXIgbW9kZW0gY29ubmVjdGlvbnMgKHJoICM1MDIwMDIpCi0gbm06IGZpeCBzdXBwb3J0IGZvciBzMzkwIGJ1cyB0eXBlcyAocmggIzQ5NjgyMCkKLSBubTogZml4IGRldGVjdGlvbiBvZiBzb21lIENNT3RlY2ggbW9kZW1zCi0gbm06IGhhbmRsZSB1bnNvbGljaXRlZCB3aWZpIHNjYW5zIGJldHRlcgotIG5tOiByZXNvbHYuY29uZiBmaXhlcyB3aGVuIHVzaW5nIERIQ1AgYW5kIG92ZXJyaWRpbmcgc2VhcmNoIGRvbWFpbnMKLSBubTogaGFuZGxlIFdFUCBhbmQgV1BBIHBhc3NwaHJhc2VzIChyaCAjNDQxMDcwKQotIG5tOiBmaXggcmVtb3ZhbCBvZiBvbGQgQVBzIHdoZW4gbm9uZSBhcmUgc2Nhbm5lZAotIG5tOiBmaXggSHVhd2VpIEVDMTIxIGFuZCBFQzE2OEMgZGV0ZWN0aW9uIGFuZCBoYW5kbGluZyAocmggIzQ5NjQyNikKLSBhcHBsZXQ6IHNhdmUgV0VQIGFuZCBXUEEgcGFzc3BocmFzZXMgaW5zdGVhZCBvZiBoYXNoZWQga2V5cyAocmggIzQ0MTA3MCkKLSBhcHBsZXQ6IGZpeCBicm9rZW4gbm90aWZpY2F0aW9uIGJ1YmJsZSBhY3Rpb25zCi0gYXBwbGV0OiBkZWZhdWx0IHRvIFdFUCBlbmNyeXB0aW9uIGZvciBBZC1Ib2MgbmV0d29yayBjcmVhdGlvbgotIGFwcGxldDogZml4IGNyYXNoIHdoZW4gY29ubmVjdGlvbiBlZGl0b3IgZGlhbG9ncyBhcmUgY2FuY2VsZWQKLSBhcHBsZXQ6IGFkZCBhIG1vYmlsZSBicm9hZGJhbmQgcHJvdmlkZXIgd2l6YXJkAC0gZHJvcCBFeGNsdWRlQXJjaCBzMzkwIHMzOTB4LCB3ZSBuZWVkIGF0IGxlYXN0IHRoZSBoZWFkZXIgZmlsZXMALSBubS1zYXZlLXRoZS1sZWFzZXMucGF0Y2g6IFVzZSBwZXItY29ubmVjdGlvbiBsZWFzZSBmaWxlcywgYW5kIGRvbid0IGRlbGV0ZQogIHRoZW0gb24gaW50ZXJmYWNlIGRlYWN0aXZhdGUuAC0gaWZjZmctcmg6IGZpeCBwcm9ibGVtcyBub3RpY2luZyBjaGFuZ2VzIHZpYSBpbm90aWZ5IChyaCAjNDk1ODg0KQAtIGlmY2ZnLXJoOiBlbmFibGUgd3JpdGUgc3VwcG9ydCBmb3Igd2lyZWQgYW5kIHdpZmkgY29ubmVjdGlvbnMALSBubTogdXBkYXRlIHRvIDAuNy4xCi0gbm06IGZpeCBzdGFydHVwIHJhY2Ugd2l0aCBIQUwgY2F1c2luZyB1bm1hbmFnZWQgZGV2aWNlcyB0byBzb21ldGltZXMgYmUgbWFuYWdlZCAocmggIzQ5NDUyNykALSBubTogZml4IHJlY29nbml0aW9uIG9mIE9wdGlvbiBHVCBGdXNpb24gYW5kIE9wdGlvbiBHVCBIU0RQQSAobm96b21pKSBkZXZpY2VzIChyaCAjNDk0MDY5KQotIG5tOiBmaXggaGFuZGxpbmcgb2Ygc3BhY2VzIGluIERIQ1AgJ2RvbWFpbi1zZWFyY2gnIG9wdGlvbgotIG5tOiBmaXggZGV0ZWN0aW9uIG9mIG5ld2VyIE9wdGlvbiAnaHNvJyBkZXZpY2VzCi0gbm06IGlnbm9yZSBsb3cgTVRVcyByZXR1cm5lZCBieSBicm9rZW4gREhDUCBzZXJ2ZXJzAC0gVXBkYXRlIHRvIDAuNy4xLXJjNAotIG5tOiB1c2UgUG9saWN5S2l0IGZvciBzeXN0ZW0gY29ubmVjdGlvbiBzZWNyZXRzIHJldHJpZXZhbAotIG5tOiBjb3JyZWN0bHkgaW50ZXJwcmV0IGVycm9ycyByZXR1cm5lZCBmcm9tIGNobW9kKDIpIHdoZW4gc2F2aW5nIGtleWZpbGUgc3lzdGVtIGNvbm5lY3Rpb25zCi0gZWRpdG9yOiB1c2UgUG9saWN5S2l0IHRvIGdldCBzeXN0ZW0gY29ubmVjdGlvbiBzZWNyZXRzAC0gbm06IGZpeCBjcmFzaGVzIHdpdGggb3V0LW9mLXRyZWUgbW9kdWxlcyB0aGF0IHByb3ZpZGUgbm8gZHJpdmVyIGxpbmsgKHJoICM0OTIyNDYpCi0gbm06IGZpeCBVU0IgbW9kZW0gcHJvYmluZyBvbiByZWNlbnQgdWRldiB2ZXJzaW9ucwAtIG5tOiBmaXggY29tbXVuaWNhdGlvbiB3aXRoIE9wdGlvbiBHVCBNYXggMy42IG1vYmlsZSBicm9hZGJhbmQgY2FyZHMKLSBubTogZml4IGNvbW11bmljYXRpb24gd2l0aCBIdWF3ZWkgbW9iaWxlIGJyb2FkYmFuZCBjYXJkcyAocmggIzQ4NzY2MykKLSBubTogZG9uJ3QgbG9vayB1cCBob3N0bmFtZSB3aGVuIEhPU1ROQU1FPWxvY2FsaG9zdCB1bmxlc3MgYXNrZWQgKHJoICM0OTAxODQpCi0gbm06IGZpeCBjcmFzaCBkdXJpbmcgSVA0IGNvbmZpZ3VyYXRpb24gKHJoICM0OTE2MjApCi0gbm06IGlnbm9yZSBPTkJPT1Q9bm8gZm9yIG1pbmltYWwgaWZjZmcgZmlsZXMgKGY5ICYgZjEwIG9ubHkpIChyaCAjNDg5Mzk4KQotIGFwcGxldDogdXBkYXRlZCB0cmFuc2xhdGlvbnMALSBubTogd29yayBhcm91bmQgdW5oYW5kbGVkIGRldmljZSByZW1vdmFscyBkdWUgdG8gbWlzc2luZyBIQUwgZXZlbnRzIChyaCAjNDg0NTMwKQotIG5tOiBpbXByb3ZlIGhhbmRsaW5nIG9mIG11bHRpcGxlIG1vZGVtIHBvcnRzCi0gbm06IHN1cHBvcnQgZm9yIFNvbnkgRXJpY3Nzb24gRjM1MDdnIC8gTUQzMDAgYW5kIERlbGwgNTUzMAotIGFwcGxldDogdXBkYXRlZCB0cmFuc2xhdGlvbnMALSBNaXNzaW5nIE9OQk9PVCBzaG91bGQgYWN0dWFsbHkgbWVhbiBPTkJPT1Q9eWVzIChyaCAjNDg5NDIyKQAtIEZpeCBjb25mbGljdCB3aXRoIE5ldHdvcmtNYW5hZ2VyLW9wZW5jb25uZWN0IChyaCAjNDg5MjcxKQotIEZpeCBwb3NzaWJsZSBjcmFzaCB3aGVuIHJlc3luY2hyb25pemluZyBkZXZpY2VzIGlmIEhBTCByZXN0YXJ0cwAtIG5tOiBtYWtlIGRlZmF1bHQgd2lyZWQgIkF1dG8gZXRoWCIgY29ubmVjdGlvbiBtb2RpZmlhYmxlIGlmIGFuIGVuYWJsZWQgc3lzdGVtIHNldHRpbmdzCiAgICBwbHVnaW4gc3VwcG9ydHMgbW9kaWZ5aW5nIGNvbm5lY3Rpb25zIChyaCAjNDg1NTU1KQotIG5tOiBtYW5wYWdlIGZpeGVzIChyaCAjNDQ3MjMzKQotIG5tOiBDVkUtMjAwOS0wMzY1IC0gR2V0U2VjcmV0cyBkaXNjbG9zdXJlCi0gYXBwbGV0OiBDVkUtMjAwOS0wNTc4IC0gbG9jYWwgdXNlcnMgY2FuIG1vZGlmeSB0aGUgY29ubmVjdGlvbiBzZXR0aW5ncwotIGFwcGxldDogZml4IGluYWJpbGl0eSB0byBjaG9vc2UgV1BBIEFkLUhvYyBuZXR3b3JrcyBmcm9tIHRoZSBtZW51Ci0gaWZjZmctcmg6IGFkZCByZWFkLW9ubHkgc3VwcG9ydCBmb3IgV1BBLVBTSyBjb25uZWN0aW9ucwAtIEZpeCBnZXR0aW5nIHNlY3JldHMgZm9yIHN5c3RlbSBjb25uZWN0aW9ucyAocmggIzQ4NjY5NikKLSBNb3JlIGNvbXBhdGlibGUgbW9kZW0gYXV0b2RldGVjdGlvbgotIEJldHRlciBoYW5kbGUgbWluaW1hbCBpZmNmZyBmaWxlcwAtIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMTFfTWFzc19SZWJ1aWxkAC0gVXNlIElGRl9MT1dFUl9VUCBmb3IgY2FycmllciBkZXRlY3QgaW5zdGVhZCBvZiBJRkZfUlVOTklORwotIEFkZCBzbWFsbCBkZWxheSBiZWZvcmUgcHJvYmluZyBjZGMtYWNtIGRyaXZlbiBtb2JpbGUgYnJvYWRiYW5kIGRldmljZXMALSBGaXggUEVBUCB2ZXJzaW9uIHNlbGVjdGlvbiBpbiB0aGUgYXBwbGV0IChyaCAjNDY4ODQ0KQotIE1hdGNoIGhvc3RuYW1lIGJlaGF2aW9yIHRvICduZXR3b3JrJyBzZXJ2aWNlIHdoZW4gaG9zdG5hbWUgaXMgbG9jYWxob3N0IChyaCAjNDQxNDUzKQAtIEZpeCAnbm9yZXBsYWNlJyBmb3Igbm0tc3lzdGVtLXNldHRpbmdzLmNvbmYALSBVcGRhdGUgdG8gMC43LjFyYzEKLSBubTogc3VwcG9ydCBmb3IgSHVhd2VpIEUxNjBHIG1vYmlsZSBicm9hZGJhbmQgZGV2aWNlcyAocmggIzQ2NjE3NykKLSBubTogZml4IG1pc2xlYWRpbmcgcm91dGluZyBlcnJvciBtZXNzYWdlIChyaCAjNDc3OTE2KQotIG5tOiBmaXggaXNzdWVzIHdpdGggMzItY2hhcmFjdGVyIFNTSURzIChyaCAjNDg1MzEyKQotIG5tOiBhbGxvdyByb290IHRvIGFjdGl2YXRlIHVzZXIgY29ubmVjdGlvbnMKLSBubTogYXV0b21hdGljIG1vZGVtIGRldGVjdGlvbiB3aXRoIHVkZXYtZXh0cmFzCi0gbm06IG1hc3NpdmUgbWFucGFnZSByZXdyaXRlCi0gYXBwbGV0OiBmaXggY3Jhc2ggd2hlbiBzaG93aW5nIHRoZSBDQSBjZXJ0aWZpY2F0ZSBpZ25vcmUgZGlhbG9nIGEgc2Vjb25kIHRpbWUKLSBhcHBsZXQ6IGNsZWFyIGtleXJpbmcgaXRlbXMgd2hlbiBkZWxldGluZyBhIGNvbm5lY3Rpb24KLSBhcHBsZXQ6IGZpeCBtYXggc2lnbmFsIHN0cmVuZ3RoIGNhbGN1bGF0aW9uIGluIG1lbnUgKHJoICM0NzUxMjMpCi0gYXBwbGV0OiBmaXggVlBOIGV4cG9ydCAocmggIzQ4MDQ5NikALSBhcHBsZXQ6IGZpeCBibGFuayBWUE4gY29ubmVjdGlvbiBtZXNzYWdlIGJ1YmJsZXMKLSBhcHBsZXQ6IGJldHRlciBoYW5kbGluZyBvZiBWUE4gcm91dGluZyBvbiB1cGRhdGUKLSBhcHBsZXQ6IHNpbGVuY2UgcG9pbnRsZXNzIHdhcm5pbmcgKHJoICM0ODQxMzYpCi0gYXBwbGV0OiBkZXNlbnNpdGl6ZSBkZXZpY2VzIGluIHRoZSBtZW51IHVudGlsIHRoZXkgYXJlIHJlYWR5IChyaCAjNDgzODc5KQotIG5tOiBFeHBvc2UgV0lOUyBzZXJ2ZXJzIGluIHRoZSBJUDRDb25maWcgb3ZlciBELUJ1cwotIG5tOiBCZXR0ZXIgaGFuZGxpbmcgb2YgR1NNIE1vYmlsZSBCcm9hZGJhbmQgbW9kZW0gaW5pdGlhbGl6YXRpb24KLSBubTogSGFuZGxlIERIQ1AgQ2xhc3NsZXNzIFN0YXRpYyBSb3V0ZXMgKFJGQyAzNDQyKQotIG5tOiBGaXggTW9iaWxlIEJyb2FkYmFuZCBhbmQgUFBQb0UgdG8gYWx3YXlzIHVzZSAnbm9hdXRoJwotIG5tOiBCZXR0ZXIgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIGR1YWwtU1NJRCBBUCBjb25maWd1cmF0aW9ucyAocmggIzQ0NTM2OSkKLSBubTogTWFyayBubS1zeXN0ZW0tc2V0dGluZ3MuY29uZiBhcyBjb25maWcgKHJoICM0NjU2MzMpCi0gbm0tdG9vbDogU2hvdyBWUE4gY29ubmVjdGlvbiBpbmZvcm1hdGlvbgotIGlmY2ZnLXJoOiBTaWxlbmNlIG1lc3NhZ2UgYWJvdXQgaWdub3JpbmcgbG9vcGJhY2sgY29uZmlnIChyaCAjNDg0MDYwKQotIGlmY2ZnLXJoOiBGaXggaXNzdWUgd2l0aCB3cm9uZyBnYXRld2F5IGZvciBzeXN0ZW0gY29ubmVjdGlvbnMgKHJoICM0NzYwODkpAC0gVXBkYXRlIHRvIDAuNy4xIHByZS1yZWxlYXNlCi0gQWxsb3cgY29ubmVjdGlvbnMgdG8gYmUgaWdub3JlZCB3aGVuIGRldGVybWluaW5nIHRoZSBkZWZhdWx0IHJvdXRlIChyaCAjNDc2MDg5KQotIE93biAvdXNyL3NoYXJlL2dub21lLXZwbi1wcm9wZXJ0aWVzIChyaCAjNDc3MTU1KQotIEZpeCBsb2cgZmxvb2RpbmcgZHVlIHRvIG5ldGxpbmsgZXJyb3JzIChyaCAjNDU5MjA1KQotIFBhc3MgY29ubmVjdGlvbiBVVUlEIHRvIGRpc3BhdGNoZXIgc2NyaXB0cyB2aWEgdGhlIGVudmlyb25tZW50Ci0gRml4IHBvc3NpYmxlIGNyYXNoIGFmdGVyIGRlYWN0aXZhdGluZyBhIFZQTiBjb25uZWN0aW9uCi0gRml4IGlzc3VlcyB3aXRoIGVkaXRpbmcgd2lyZWQgODAyLjF4IGNvbm5lY3Rpb25zCi0gRml4IGlzc3VlcyB3aGVuIHVzaW5nIFBLQ1MjMTIgY2VydGlmaWNhdGVzIHdpdGggODAyLjF4IGNvbm5lY3Rpb25zAC0gQVBJIGFuZCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMKLSBGaXggUElOIGhhbmRsaW5nIG9uICdoc28nIG1vYmlsZSBicm9hZGJhbmQgZGV2aWNlcwAtIEZpeCBQSU4vUFVLIGlzc3VlcyB3aXRoIGhpZ2gtc3BlZWQgT3B0aW9uIEhTRFBBIG1vYmlsZSBicm9hZGJhbmQgY2FyZHMKLSBGaXggZGVzZW5zaXRpemVkIE9LIGJ1dHRvbiB3aGVuIGFza2luZyBmb3Igd2lyZWxlc3Mga2V5cwAtIEZpeCBpc3N1ZXMgcmVhZGluZyBpZmNmZyBmaWxlcwotIFByZXZpb3VzbHkgZml4ZWQ6Ci0gRG9lc24ndCBzZW5kIERIQ1AgaG9zdG5hbWUgKHJoICM0NjkzMzYpCi0gJ0F1dG8gZXRoMCcgZm9yZ2V0cyBzZXR0aW5ncyAocmggIzQ2ODYxMikKLSBESENQIHJlbmV3YWwgc29tZXRpbWVzIGJyZWFrcyBWUE4gKHJoICM0NzE4NTIpCi0gQ29ubmVjdGlvbiBlZGl0b3IgbWVudSBpdGVtIGluIHRoZSB3cm9uZyBwbGFjZSAocmggIzQ3MTQ5NSkKLSBDYW5ub3QgbWFrZSBzeXN0ZW0td2lkZSBjb25uZWN0aW9ucyAocmggIzQ3MTMwOCkALSBVcGRhdGUgdG8gTmV0d29ya01hbmFnZXIgMC43LjAgUkMyCi0gSGFuZGxlIGdhdGV3YXlzIG9uIGEgZGlmZmVyZW50IHN1Ym5ldCBmcm9tIHRoZSBpbnRlcmZhY2UKLSBDbGVhciBWUE4gc2VjcmV0cyBvbiBjb25uZWN0aW9uIGZhaWx1cmUgdG8gZW5zdXJlIHRoZXkgYXJlIHJlcXVlc3RlZCBhZ2FpbiAocmggIzQyOTI4NykKLSBBZGQgc3VwcG9ydCBmb3IgUEtDUyMxMiBwcml2YXRlIGtleXMgKHJoICM0NjI3MDUpCi0gRml4IG1hbmdsaW5nIG9mIFZQTidzIGRlZmF1bHQgcm91dGUgb24gREhDUCByZW5ldwotIEZpeCB0eXBlIGRldGVjdGlvbiBvZiBxZW11L2t2bSBuZXR3b3JrIGRldmljZXMgKHJoICM0NjYzNDApCi0gQ2xlYXIgdXAgbmV0bWFzay9wcmVmaXggY29uZnVzaW9uIGluIHRoZSBjb25uZWN0aW9uIGVkaXRvcgotIE1ha2UgdGhlIHNlY3JldHMgZGlhbG9nIGdvIGF3YXkgd2hlbiBpdCdzIG5vdCBuZWVkZWQKLSBGaXggaW5hYmlsaXR5IHRvIGFkZCBzeXN0ZW0gY29ubmVjdGlvbnMgKHJoICM0NzEzMDgpAC0gTW9yZSByZWxpYWJsZSBtb2JpbGUgYnJvYWRiYW5kIGNhcmQgaW5pdGlhbGl6YXRpb24KLSBIYW5kbGUgbW9iaWxlIGJyb2FkYmFuZCBQSU5zIGNvcnJlY3RseSB3aGVuIFBQUCBwYXNzd29yZHMgYXJlIGFsc28gdXNlZAotIEFkZGl0aW9uYWwgUG9saWN5S2l0IGludGVncmF0aW9uIGZvciBlZGl0aW5nIHN5c3RlbSBjb25uZWN0aW9ucwotIENsb3NlIHRoZSBhcHBsZXQgbWVudSBpZiBhIGtleXJpbmcgcGFzc3dvcmQgaXMgbmVlZGVkIChyaCAjMzUzNDUxKQAtIEZpeCBpc3N1ZXMgd2l0aCBob3N0bmFtZSBkdXJpbmcgYW5hY29uZGEgaW5zdGFsbGF0aW9uIChyaCAjNDYxOTMzKQotIEZpeCBBZC1Ib2MgV1BBIGNvbm5lY3Rpb25zIChyaCAjNDYxMTk3KQotIERvbid0IHJlcXVpcmUgZ25vbWUtcGFuZWwgb3IgZ25vbWUtcGFuZWwtZGV2ZWwgKHJoICM0Mjc4MzQpCi0gRml4IGRldGVybWluYXRpb24gb2YgV1BBIGVuY3J5cHRpb24gY2FwYWJpbGl0aWVzIG9uIHNvbWUgY2FyZHMKLSBGaXggY29uZmxpY3RzIHdpdGggUFBUUCBhbmQgdnBuYyBwbHVnaW5zCi0gQWxsb3cgLmNlciBmaWxlIGV4dGVuc2lvbnMgd2hlbiBjaG9vc2luZyBjZXJ0aWZpY2F0ZXMALSBGaXggY29uZmxpY3RzIGZvciBvbGRlciBQUFRQIFZQTiBwbHVnaW5zAC0gRW5zdXJlIHRoYXQgbW9iaWxlIGJyb2FkYmFuZCBjYXJkcyBhcmUgcG93ZXJlZCB1cCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSB0aGVtCi0gSG9zdG5hbWUgY2hhbmdpbmcgc3VwcG9ydCAocmggIzQ0MTQ1MykKLSBGaXggbW9iaWxlIGJyb2FkYmFuZCBzZWNyZXQgcmVxdWVzdHMgdG8gaGFwcGVuIGxlc3Mgb2Z0ZW4KLSBCZXR0ZXIgaGFuZGxpbmcgb2YgZGVmYXVsdCBkZXZpY2VzIGFuZCBkZWZhdWx0IHJvdXRlcwotIEJldHRlciBpbmZvcm1hdGlvbiBpbiB0b29sdGlwcyBhbmQgbm90aWZpY2F0aW9ucwotIFZhcmlvdXMgVUkgY2xlYW51cHM7IGhpZGUgd2lkZ2V0cyB0aGF0IGFyZW4ndCB1c2VkIChyaCAjNDY1Mzk3LCByaCAjNDY1Mzk1KQotIEFjY2VwdCBkaWZmZXJlbnQgc2VwYXJhdG9ycyBmb3IgRE5TIHNlcnZlcnMgYW5kIHNlYXJjaGVzCi0gTWFrZSBhcHBsZXQncyBpY29uIGFjY3VyYXRlbHkgcmVmbGVjdCBzaWduYWwgc3RyZW5ndGggb2YgdGhlIGN1cnJlbnQgQVAALSBGaXggY29ubmVjdGlvbiBjb21wYXJpc29uIHRoYXQgY291bGQgY2F1c2UgY2hhbmdlcyB0byBnZXQgb3ZlcndyaXR0ZW4gKHJoICM0NjQ0MTcpAC0gRml4IGhhbmRsaW5nIG9mIFZQTiBzZXR0aW5ncyBvbiB1cGdyYWRlIChyaCAjNDYwNzMwLCBiZ28gIzU1MzQ2NSkALSBGaXggaGFuZyB3aGVuIHJlYWRpbmcgc3lzdGVtIGNvbm5lY3Rpb25zIGZyb20gaWZjZmcgZmlsZXMALSBGaXggV1BBIEFkLUhvYyBjb25uZWN0aW9ucwAtIEZpeCBwYXJzaW5nIG9mIERPTUFJTiBpbiBpZmNmZyBmaWxlcyAocmggIzQ1OTM3MCkKLSBGaXggcmVjb25uZWN0aW9uIHRvIG1vYmlsZSBicm9hZGJhbmQgbmV0d29ya3MgYWZ0ZXIgYW4gYXV0aCBmYWlsdXJlCi0gRml4IHJlY29nbml0aW9uIG9mIHRpbWVvdXRzIG9mIFBQUCBkdXJpbmcgbW9iaWxlIGJyb2FkYmFuZCBjb25uZWN0aW9uCi0gTW9yZSBjb21wYXRpYmxlIGNvbm5lY3Rpb24gc2hhcmluZyAocmggIzQ1ODYyNSkKLSBGaXggREhDUCBpbiBtaW5pbWFsIGVudmlyb25tZW50cyB3aXRob3V0IGdsaWJjIGxvY2FsZSBpbmZvcm1hdGlvbiBpbnN0YWxsZWQKLSBBZGQgc3VwcG9ydCBmb3IgT3B0aW9uIG1vYmlsZSBicm9hZGJhbmQgZGV2aWNlcyAobGlrZSBpQ09OIDIyNSBhbmQgaUNPTiA3LjIpCi0gQWRkIElQNCBjb25maWcgaW5mb3JtYXRpb24gdG8gZGlzcGF0Y2hlciBzY3JpcHQgZW52aXJvbm1lbnQKLSBNZXJnZSBXRVAgQVNDSUkgYW5kIEhleCBrZXkgdHlwZXMgZm9yIGNsZWFuZXIgVUkKLSBQcmUtZmlsbCBQUFBvRSBwYXNzd29yZCB3aGVuIGF1dGhlbnRpY2F0aW9uIGZhaWxzCi0gRml4ZWQgc29tZSBjaGFuZ2VzIG5vdCBnZXR0aW5nIHNhdmVkIGluIHRoZSBjb25uZWN0aW9uIGVkaXRvcgotIEFjY2VwdCBib3RoIHByZWZpeCBhbmQgbmV0bWFzayBpbiB0aGUgY29uZWN0aW9uIGVkaXRvcidzIElQdjQgcGFnZQAtIEZpeCBpc3N1ZSB3aXRoIG1vYmlsZSBicm9hZGJhbmQgY29ubmVjdGlvbnMgdGhhdCBkb24ndCByZXF1aXJlIGF1dGhlbnRpY2F0aW9uAC0gRXhwb3NlIERIQ1AtcmV0dXJuZWQgb3B0aW9ucyBvdmVyIEQtQnVzIGFuZCB0byBkaXNwYXRjaGVyIHNjcmlwdHMKLSBBZGQgc3VwcG9ydCBmb3IgY3VzdG9taXplZCBzdGF0aWMgcm91dGVzCi0gSGFuZGxlIG11bHRpcGxlIGNvbmN1cnJlbnQgM0cgb3IgUFBQb0UgY29ubmVjdGlvbnMKLSBGaXggR1NNL0NETUEgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGlzc3VlcwotIEJldHRlciBoYW5kbGluZyBvZiB1bm1hbmFnZWQgZGV2aWNlcyBmcm9tIGlmY2ZnIGZpbGVzCi0gRml4IHRpbWVvdXQgaGFuZGxpbmcgb2YgZXJyb3JzIGR1cmluZyAzRyBjb25uZWN0aW9ucwotIEZpeCBzb21lIHJvdXRpbmcgaXNzdWVzIChyaCAjNDU2Njg1KQotIEZpeCBhcHBsZXQgY3Jhc2hlcyBhZnRlciByZW1vdmluZyBhIGRldmljZSAocmggIzQ1NzM4MCkALSBDb252ZXJ0IHN0b3JlZCBJUHY0IHN0YXRpYyBJUCBhZGRyZXNzZXMgdG8gbmV3IHByZWZpeC1iYXNlZCBzY2hlbWUgYXV0b21hdGljYWxseQotIEZpeCBwcHBkIGNvbm5lY3Rpb25zIHRvIHNvbWUgM0cgcHJvdmlkZXJzIChyaCAjNDU1MzQ4KQotIE1ha2UgUFBQb0UgIlNob3cgUGFzc3dvcmQiIG9wdGlvbiB3b3JrCi0gSGlkZSBJUHY0IGNvbmZpZyBvcHRpb25zIHRoYXQgZG9uJ3QgbWFrZSBzZW5zZSBpbiBjZXJ0YWluIGNvbmZpZ3VyYXRpb25zAC0gRXhwb3NlIHNlcnZlci1yZXR1cm5lZCBESENQIG9wdGlvbnMgdmlhIEQtQnVzCi0gVXNlIGF2YWhpLWF1dG9pcGQgcmF0aGVyIHRoYW4gb2xkIGJ1aWx0LWluIElQdjRMTCBpbXBsZW1lbnRhdGlvbgotIFNlbmQgaG9zdG5hbWUgdG8gREhDUCBzZXJ2ZXIgaWYgcHJvdmlkZWQgKERIQ1BfSE9TVE5BTUUgaWZjZmcgb3B0aW9uKQotIFN1cHBvcnQgc2VuZGluZyBESENQIENsaWVudCBJZGVudGlmaWVyIHRvIERIQ1Agc2VydmVyCi0gQWxsb3cgZm9yY2luZyA4MDIuMXggUEVBUCBMYWJlbCB0byAnMCcKLSBNYWtlIGNvbm5lY3Rpb24gc2hhcmluZyBtb3JlIHJvYnVzdAotIFNob3cgc3RhdHVzIGZvciBzaGFyZWQgYW5kIEFkLUhvYyBjb25uZWN0aW9ucyBpZiBubyBvdGhlciBjb25uZWN0aW9uIGlzIGFjdGl2ZQAtIERyb3AgZXhwbGljaXQgaGFsIGRlcCBpbiAtZ25vbWUALSBNb3ZlIFZQTiBjb25maWd1cmF0aW9uIGludG8gY29ubmVjdGlvbiBlZGl0b3IKLSBGaXggbW9iaWxlIGJyb2FkYmFuZCB1c2VybmFtZS9wYXNzd29yZCBpc3N1ZXMKLSBGaXggaXNzdWVzIHdpdGggYnJva2VuIHJma2lsbCBzZXR1cHMgKHJoICM0NDg4ODkpCi0gSG9ub3IgQVBOIHNldHRpbmcgZm9yIEdTTSBtb2JpbGUgYnJvYWRiYW5kIGNvbmZpZ3VyYXRpb25zCi0gRml4IGFkZGluZyBDRE1BIGNvbm5lY3Rpb25zIGluIHRoZSBjb25uZWN0aW9uIGVkaXRvcgAtIFVwZGF0ZSB0byBsYXRlc3QgU1ZOCi0gRW5hYmxlIGNvbm5lY3Rpb24gc2hhcmluZwotIFJlc3BlY3QgVlBOLXByb3ZpZGVkIHJvdXRlcwAtIE1vdmUgTk0gbGF0ZXIgaW4gdGhlIHNodXRkb3duIHByb2Nlc3MgKHJoICM0NDkwNzApCi0gTW92ZSBsaWJubS11dGlsIGludG8gYSBzdWJwYWNrYWdlIHRvIGFsbG93IE5NIHRvIGJlIHJlbW92ZWQgbW9yZSBlYXNpbHkgKHJoICMzNTExMDEpAC0gUmVhZCBnbG9iYWwgZ2F0ZXdheSBmcm9tIC9ldGMvc3lzY29uZmlnL25ldHdvcmsgaWYgbWlzc2luZyAocmggIzQ0NjUyNykKLSBubS1zeXN0ZW0tc2V0dGluZ3Mgbm93IHRlcm1pbmF0ZXMgd2hlbiBkYnVzIGdvZXMgYXdheSAocmggIzQ0NDk3NikALSBGaXggaW5pdGlhbCBjYXJyaWVyIHN0YXRlIGRldGVjdGlvbiBvbiBkZXZpY2VzIHRoYXQgYXJlIGFscmVhZHkgdXAgKHJoICMxMzQ4ODYpAC0gUmVzdG9yZSBiZWhhdmlvciBvZiBtYXJraW5nIHdpZmkgZGV2aWNlcyBhcyAiZG93biIgd2hlbiBkaXNhYmxpbmcgd2lyZWxlc3MKLSBGaXggYSBjcmFzaCBvbiByZXN1bWUgd2hlbiBhIFZQTiB3YXMgYWN0aXZlIHdoZW4gZ29pbmcgdG8gc2xlZXAALSBGaXggaXNzdWVzIHdpdGggdGhlIEZlZG9yYSBwbHVnaW4gbm90IG5vdGljaW5nIGNoYW5nZXMgbWFkZSBieQogICAgc3lzdGVtLWNvbmZpZy1uZXR3b3JrIChyaCAjNDQ0NTAyKQotIEFsbG93IGF1dG9jb25uZWN0aW9uIG9mIEdTTSBhbmQgQ0RNQSBjb25uZWN0aW9ucwotIE11bHRpcGxlIElQIGFkZHJlc3Mgc3VwcG9ydCBmb3IgdXNlciBjb25uZWN0aW9ucwotIEZpeGVzIGZvciBNb2JpbGUgQnJvYWRiYW5kIGNhcmRzIHRoYXQgcmV0dXJuIGxpbmUgc3BlZWQgb24gY29ubmVjdAotIEltcGxlbWVudCBQSU4gZW50cnkgZm9yIEdTTSBtb2JpbGUgYnJvYWRiYW5kIGNvbm5lY3Rpb25zCi0gRml4IGNyYXNoIHdoZW4gZWRpdGluZyB1bmVuY3J5cHRlZCBXaUZpIGNvbm5lY3Rpb25zIGluIHRoZSBjb25uZWN0aW9uIGVkaXRvcgAtIENsZWFuIHVwIHRoZSBkaXNwYXRjaGVyIG5vdyB0aGF0IGl0J3Mgc2VydmljZSBpcyBnb25lIChyaCAjNDQ0Nzk4KQAtIEZpeCBhc2tpbmcgYXBwbGV0cyBmb3IgdGhlIEdTTSBQSU4vUFVLAC0gR3Vlc3MgV0VQIGtleSB0eXBlIGluIGFwcGxldCB3aGVuIGFza2luZyBmb3IgbmV3IGtleXMKLSBDb3JyZWN0IE9LIGJ1dHRvbiBzZW5zaXRpdml0eSBpbiBhcHBsZXQgd2hlbiBhc2tpbmcgZm9yIG5ldyBXRVAga2V5cwAtIEZpeCBpc3N1ZXMgd2l0aCBNb2JpbGUgQnJvYWRiYW5kIGNvbm5lY3Rpb25zIGNhdXNlZCBieSBkZXZpY2UgaW5pdCByYWNlIHBhdGNoAC0gRml4IGRldmljZSBpbml0aWFsaXphdGlvbiByYWNlIHRoYXQgY2F1c2VkIGV0aGVybmV0IGRldmljZXMgdG8gZ2V0IHN0dWNrIG9uCiAgICBzdGFydHVwCi0gRml4IFBQUG9FIGNvbm5lY3Rpb25zIG5vdCBzaG93aW5nIHVwIGluIHRoZSBhcHBsZXQKLSBGaXggZGlzYWJsZWQgT0sgYnV0dG9uIGluIGNvbm5lY3Rpb24gZWRpdG9yIHNvbWUgd2lyZWxlc3MgYW5kIElQNCBzZXR0aW5ncwotIERvbid0IGV4aXQgaWYgSEFMIGlzbid0IHVwIHlldDsgd2FpdCBmb3IgaXQKLSBGaXggYSBzdXNwZW5kL3Jlc3VtZSBjcmFzaAAtIERvbid0IGFzayBmb3Igd2lyZWxlc3Mga2V5cyB3aGVuIHRoZSBkcml2ZXIgc2VuZHMgZGlzY29ubmVjdCBldmVudHMgZHVyaW5nCglhc3NvY2lhdGlvbjsgd2FpdCB1bnRpbCB0aGUgZW50aXJlIGFzc29jYXRpb24gdGltZXMgb3V0Ci0gUmVwbGFjZSBkaXNwYXRjaGVyIGRhZW1vbiB3aXRoIEQtQnVzIGFjdGl2YXRlZCBjYWxsb3V0Ci0gRml4IHBhcnNpbmcgb2YgRE5TMiBhbmQgRE5TMyBpZmNmZyBmaWxlIGl0ZW1zCi0gRXhlY3V0ZSBkaXNwYXRjaGVyIHNjcmlwdHMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyCi0gQmUgYWN0aXZlIGF0IHJ1bmxldmVsIDIKLSBIb29rIHVwIE1BQyBhZGRyZXNzIHdpZGdldHMgZm9yIHdpcmVkICYgd2lyZWxlc3M7IGFuZCBCU1NJRCB3aWRnZXQgZm9yIHdpcmVsZXNzCi0gUHJlLXBvcHVsYXRlIGFub255bW91cyBpZGVudGl0eSBhbmQgcGhhc2UyIHdpZGdldHMgY29ycmVjdGx5Ci0gQ2xlYXIgb3V0IHVudXNlZCBjb25uZWN0aW9uIGtleXMgZnJvbSBHQ29uZgAtIERvbid0IHNlbGVjdCBkZXZpY2VzIHdpdGhvdXQgYSBkZWZhdWx0IGdhdGV3YXkgYXMgdGhlIGRlZmF1bHQgcm91dGUgKHJoICM0MzczMzgpCi0gRmlsbCBpbiBicm9hZGNhc3QgYWRkcmVzcyBpZiBub3Qgc3BlY2lmaWVkIChyaCAjNDQzNDc0KQotIFJlc3BlY3QgbWFudWFsIFZQTiBJUHY0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucwotIFNob3cgQ29ubmVjdGlvbiBJbmZvcm1hdGlvbiBmb3IgdGhlIGRldmljZSB3aXRoIHRoZSBkZWZhdWx0IHJvdXRlIG9ubHkALSBBZGQgZGJ1cy1nbGliLWRldmVsIEJ1aWxkUmVxdWlyZXMgZm9yIE5ldHdvcmtNYW5hZ2VyLWdsaWItZGV2ZWwgKHJoICM0NDI5NzgpCi0gQWRkIFBQUCBzZXR0aW5ncyBwYWdlIHRvIGNvbm5lY3Rpb24gZWRpdG9yCi0gRml4IGEgZmV3IGNyYXNoZXMgd2l0aCBQUFBvRQotIEZpeCBhY3RpdmUgY29ubmVjdGlvbiBzdGF0ZSBjaGFuZ2VzIHRoYXQgY29uZnVzZWQgY2xpZW50cwAtIEZpeCBidWlsZCBpbiBwcHBkLXBsdWdpbgAtIFBQUG9FIGF1dGhlbnRpY2F0aW9uIGZpeGVzCi0gTW9yZSByb2J1c3QgaGFuZGluZyBvZiBtb2JpbGUgYnJvYWRiYW5kIGRldmljZSBjb21tdW5pY2F0aW9ucwAtIEhvbm9yIG9wdGlvbnMgZnJvbSAvZXRjL3N5c2NvbmZpZy9uZXR3b3JrIGZvciBibG9ja2luZyB1bnRpbCBuZXR3b3JrIGlzIHVwAC0gVHVybiBvbiBBZGQvRWRpdCBpbiB0aGUgY29ubmVjdGlvbiBlZGl0b3IKLSBEb24ndCBmbHVzaCBvciBjaGFuZ2UgSVB2NiBhZGRyZXNzZXMgb3Igcm91dGVzCi0gRW5oYW5jZSBubS1vbmxpbmUgdG9vbAotIFNvbWUgc2VyaWFsIGNvbW11bmljYXRpb24gZml4ZXMgZm9yIG1vYmlsZSBicm9hZGJhbmQALSBGaXggaXNzdWVzIHdpdGggVlBOIHBhc3N3b3JkcyBub3QgZ2V0dGluZyBmb3VuZAAtIEZpeCBidWlsZHMgZHVlIHRvIGdsaWIyIGJyZWFrYWdlIG9mIEdTdGF0aWNNdXRleCB3aXRoIGdjYyA0LjMALSBGaXggV0VQIGtleSBpbmRleCBoYW5kbGluZyBpbiBVSQotIEZpeCBoYW5kbGluZyBvZiBOTV9DT05UUk9MTEVEIGluIGlmY2ZnIGZpbGVzCi0gU2hvdyBkZXZpY2UgbWFuYWdlZCBzdGF0ZSBpbiBhcHBsZXQgbWVudQotIFNob3cgd2lyZWxlc3MgZW5hYmxlZCBzdGF0ZSBpbiBhcHBsZXQgbWVudQotIEJldHRlciBoYW5kbGluZyBvZiBkZWZhdWx0IERIQ1AgY29ubmVjdGlvbnMgZm9yIHdpcmVkIGRldmljZXMKLSBGaXggbG9hZGluZyBvZiBjb25uZWN0aW9uIGVkaXRvciBvbiBLREUgKHJoICM0MzUzNDQpAC0gSG9ub3IgTUFDIGFkZHJlc3MgbG9ja2luZyBmb3Igd2lyZWQgJiB3aXJlbGVzcyBkZXZpY2VzAC0gU2hvdyBWUE4gZmFpbHVyZXMKLSBTdXBwb3J0IFN0YXRpYyBXRVAga2V5IGluZGV4ZXMKLSBGaXggcGFyc2luZyBvZiBXRVAga2V5cyBmcm9tIGlmY2ZnIGZpbGVzCi0gUHJlLWZpbGwgd2lyZWxlc3Mgc2VjdXJpdHkgVUkgYml0cyBpbiBjb25uZWN0aW9uIGVkaXRvciBhbmQgYXBwbGV0AC0gR3JhYiBzeXN0ZW0gc2V0dGluZ3MgZnJvbSAvZXRjL3N5c2NvbmZpZy9uZXR3b3JrLXNjcmlwdHMsIG5vdCBmcm9tIHByb2ZpbGVzAC0gRml4IGNyYXNoZXMgd2hlbiByZXR1cm5pbmcgVlBOIHNlY3JldHMgZnJvbSB0aGUgYXBwbGV0IHRvIE5NAC0gRml4IGNyYXNoZXMgb24gc3VzcGVuZC9yZXN1bWUgYW5kIGV4aXQgKHJoICM0Mzc0MjYpCi0gRW5zdXJlIHRoZXJlJ3MgYWx3YXlzIGFuIG9wdGlvbiB0byBjaG9zZSB0aGUgd2lyZWQgZGV2aWNlCi0gTmV2ZXIgc2V0IGRlZmF1bHQgcm91dGUgdmlhIGFuIElQdjQgbGluay1sb2NhbCBhZGRyZXNzZWQgZGV2aWNlIChyaCAjNDM3MzM4KQAtIEZpeCBESENQIHJlYmluZCBiZWhhdmlvcgotIFByZWxpbWluYXJ5IFBQUG9FIHN1cHBvcnQALSBGaXggZ25vbWUtaWNvbi10aGVtZSBSZXF1aXJlcywgc2hvdWxkIGJlIG9uIGdub21lIHN1YnBhY2thZ2UALSBIb25vciBESENQIHJlYmluZHMKLSBNdWx0aXBsZSBhY3RpdmUgZGV2aWNlIHN1cHBvcnQKLSBCZXR0ZXIgZXJyb3IgaGFuZGxpbmcgb2YgbW9iaWxlIGJyb2FkYmFuZCBjb25uZWN0aW9uIGZhaWx1cmVzCi0gQWxsb3cgdXNlIG9mIGludGVyZmFjZS1zcGVjaWZpYyBkaGNsaWVudCBjb25maWcgZmlsZXMKLSBSZWNvZ25pemUgc3lzdGVtIHNldHRpbmdzIHdoaWNoIGhhdmUgbm8gVFlQRSBpdGVtAC0gRml4IGNyYXNoIG9mIG5tLXN5c3RlbS1zZXR0aW5ncyBvbiBtYWxmb3JtZWQgaWZjZmcgZmlsZXMgKHJoICM0MzQ5MTkpCi0gUmVxdWlyZSBnbm9tZS1pY29uLXRoZW1lIHRvIHBpY2sgdXAgbG9jay5wbmcgKHJoICM0MzUzNDQpCi0gRml4IGFwcGxldCBzZWdmYXVsdCBhZnRlciBjb25uZWN0aW9uIHJlbW92YWwgdmlhIGNvbm5lY3Rpb24gZWRpdG9yIG9yIEdDb25mAC0gRG9uJ3QgY3JlYXRlIG11bHRpcGxlIGNvbm5lY3Rpb25zIGZvciBoaWRkZW4gYWNjZXNzIHBvaW50cwotIEZpeCBzY2FubmluZyBiZWhhdmlvcgAtIFJld29yayBjb25uZWN0aW9uIGVkaXRvciBjb25uZWN0aW9uIGxpc3QALSBCZXR0ZXIgaGFuZGxpbmcgb2YgY2hhbmdlcyBpbiB0aGUgcHJvZmlsZSBkaXJlY3RvcnkgYnkgdGhlIHN5c3RlbSBzZXR0aW5ncwoJc2VyaXZjZQAtIEVuYWJsZSBzeXN0ZW0gc2V0dGluZ3Mgc2VydmljZQotIEFsbG93IGV4cGxpY2l0IGRpc2Nvbm5lY3Rpb24gb2YgbW9iaWxlIGJyb2FkYmFuZCBkZXZpY2VzCi0gRml4IGFwcGxldCBtZW1vcnkgbGVha3MgKHJoICM0MzAxNzgpCi0gQXBwbGV0IENvbm5lY3Rpb24gSW5mb3JtYXRpb24gZGlhbG9nIHR3ZWFrcyAoZ25vbWUub3JnICM1MDU4OTkpCi0gRmlsdGVyIGlucHV0IGNoYXJhY3RlcnMgdG8gcGFzc3BocmFzZS9rZXkgZW50cnkgKGdub21lLm9yZyAjMzMyOTUxKQotIEZpeCBhcHBsZXQgZm9jdXMgc3RlYWxpbmcgcHJldmVudGlvbiBiZWhhdmlvcgAtIEFkZCBDRE1BIG1vYmlsZSBicm9hZGJhbmQgc3VwcG9ydCAoaWYgc3VwcG9ydGVkIGJ5IEhBTCkKLSBSZXdvcmsgYXBwbGV0IGNvbm5lY3Rpb24gYW5kIGljb24gaGFuZGxpbmcKLSBFbmFibGUgY29ubmVjdGlvbiBlZGl0b3IgKG9ubHkgZm9yIGRlbGV0aW5nIGNvbm5lY3Rpb25zKQAtIEZpeCBjcmFzaCB3aGVuIGFjdGl2YXRpbmcgYSBtb2JpbGUgYnJvYWRiYW5kIGNvbm5lY3Rpb24KLSBCZXR0ZXIgaGFuZGxpbmcgb2Ygbm9uLVNTSUQtYnJvYWRjYXN0aW5nIEFQcyBvbiBrZXJuZWxzIHRoYXQgc3VwcG9ydCBpdAogICAgKGdub21lLm9yZyAjNDY0MjE1KSAocmggIzM3Mzg0MSkKLSBIb25vciBESENQLXNlcnZlciBwcm92aWRlZCBNVFUgaWYgcHJlc2VudCAoZ25vbWUub3JnICMzMzI5NTMpCi0gVXNlIHByZXZpb3VzIEROUyBzZXR0aW5ncyBpZiB0aGUgVlBOIGNvbmNlbnRyYXRvciBkb2Vzbid0IHByb3ZpZGUgYW55CiAgICAoZ25vbWUub3JnICMzNDY4MzMpAC0gRml4IFdQQSBwYXNzcGhyYXNlIGhhc2hpbmcgb24gYmlnIGVuZGlhbiAoUFBDLCBTcGFyYywgZXRjKSAocmggIzQyNjIzMykALSBGaXhlcyB0byB3b3JrIGJldHRlciB3aXRoIG5ldyBsaWJubCAocmggIzQwMTc2MSkALSBGaXggV1BBL1dQQTIgRW50ZXJwcmlzZSBQaGFzZTIgY29ubmVjdGlvbnMgKHJoICMzODg0NzEpAC0gRml4IGFwcGxldCBjb25uZWN0aW9uIGNvbXBhcmlzb24gd2hpY2ggZmFpbGVkIHRvIHNlbmQgY29ubmVjdGlvbiB1cGRhdGVkCiAgICBzaWduYWxzIHRvIE5NIGluIHNvbWUgY2FzZXMKLSBNYWtlIFZQTiBjb25uZWN0aW9uIGFwcGxldCBtb3JlIHJvYnVzdCBhZ2FpbnN0IHBsdWdpbiBmYWlsdXJlcwAtIDY0LWJpdCAtV2FsbCBjb21waWxlIGZpeGVzAC0gRml4IGFwcGxldCBjcmFzaCB3aGVuIGNob29zaW5nIHRvIGlnbm9yZSB0aGUgQ0EgY2VydGlmaWNhdGUgKHJoICMzNTkwMDEpCi0gRml4IGFwcGxldCBjcmFzaCB3aGVuIGVkaXRpbmcgVlBOIHByb3BlcnRpZXMgYW5kIFZQTiBjb25uZWN0aW9uIGZhaWx1cmVzIChyaCAjNDA5MzUxKQotIEFkZCBmaWxlIGZpbHRlciBuYW1lIGluIGNlcnRpZmljYXRlIGZpbGUgcGlja2VyIGRpYWxvZyAocmggIzQxMDIwMSkKLSBObyBsb25nZXIgc3RhcnQgbmFtZWQgd2hlbiBzdGFydGluZyBOTSAocmggIzM4MTU3MSkALSBGaXggdXBncmFkaW5nIGZyb20gYW4gZWFybGllciByYXdoaWRlIHNuYXAALSBGaXggZGV2aWNlIGRlc2NyaXB0aW9ucyBzaG93biBpbiBhcHBsZXQgbWVudQAtIEZpeCBjcmFzaCB3aGVuIGRlYWN0aXZhdGluZyBWUE4gY29ubmVjdGlvbnMALSBGaXggY3Jhc2ggYW5kIHBvdGVudGlhbCBpbmZpbml0ZSBuYWcgZGlhbG9nIGxvb3Agd2hlbiBpZ25vcmluZyBDQSBjZXJ0aWZpY2F0ZXMALSBGaXggY3Jhc2ggd2hlbiBpZ25vcmluZyBDQSBjZXJ0aWZpY2F0ZSBmb3IgRUFQLVRMUywgRUFQLVRUTFMsIGFuZCBFQVAtUEVBUAAtIEZpeCBjb25uZWN0aW9ucyB3aGVuIHBpY2tpbmcgYSBXUEEgRW50ZXJwcmlzZSBBUCBmcm9tIHRoZSBtZW51Ci0gRml4IGlzc3VlIHdoZXJlIGFwcGxldCB3b3VsZCBwcm92aWRlIG11bHRpcGxlIHNhbWUgY29ubmVjdGlvbnMgdG8gTk0ALSBBZGQgc3VwcG9ydCBmb3IgRUFQLVBFQVAgKHJoICMzNjIyNTEpCi0gRml4IEVBUC1UTFMgcHJpdmF0ZSBrZXkgaGFuZGxpbmcALSBDbGFyaWZ5IG5hbWluZyBvZiBXUEEgJiBXUEEyIFBlcnNvbmFsIGVuY3J5cHRpb24gb3B0aW9ucyAocmggIzM3NDg2MSwgcmggIzM3MzgzMSkKLSBEb24ndCByZXF1aXJlIGEgQ0EgY2VydGlmaWNhdGUgZm9yIGFwcGxpY2FibGUgRUFQIG1ldGhvZHMgKHJoICMzNTkwMDEpCi0gRml4IGNlcnRpZmljYXRlIGFuZCBwcml2YXRlIGtleSBoYW5kbGluZyBmb3IgRUFQLVRUTFMgYW5kIEVBUC1UTFMgKHJoICMzMjMzNzEpCi0gRml4IGFwcGxldCBjcmFzaCB3aXRoIFVTQiBkZXZpY2VzIChyaCAjMzM3MTkxKQotIFN1cHBvcnQgdXBncmFkZXMgZnJvbSBOTSAwLjYueCBHQ29uZiBzZXR0aW5ncwAtIEZpeCBhcHBsZXQgY3Jhc2ggd2l0aCBVU0IgZGV2aWNlcyB0aGF0IGRvbid0IGFkdmVydGlzZSBhIHByb2R1Y3Qgb3IgdmVuZG9yCiAgICAocmggIzMzNzE5MSkALSBGaXggY3Jhc2ggd2hlbiBnZXR0aW5nIFdQQSBzZWNyZXRzIChyaCAjMzU1MDQxKQAtIEJyaW5nIHVwIGV0aGVybmV0IGRldmljZXMgYnkgZGVmYXVsdCBpZiBubyBjb25uZWN0aW9ucyBhcmUgZGVmaW5lZCAocmggIzMzOTIwMSkKLSBGaXggY3Jhc2ggd2hlbiBzd2l0Y2hpbmcgbmV0d29ya3Mgb3IgYnJpbmdpbmcgdXAgc2VjcmV0cyBkaWFsb2cgKHJoICMzNTMwOTEpCi0gRml4IGNyYXNoIHdoZW4gZWRpdGluZyBWUE4gY29ubmVjdGlvbiBwcm9wZXJ0aWVzIGEgc2Vjb25kIHRpbWUKLSBGaXggY3Jhc2ggd2hlbiBjYW5jZWxsaW5nIHRoZSBzZWNyZXRzIGRpYWxvZyBpZiBhbm90aGVyIGNvbm5lY3Rpb24gd2FzCiAgICBhY3RpdmF0ZWQgaW4gdGhlIG1lYW4gdGltZQotIEZpeCBkaXNlbWJvZGllZCBub3RpZmljYXRpb24gYnViYmxlcyAocmggIzMzMzM5MSkALSBIYW5kbGUgUEVNIGNlcnRpZmljYXRlcwotIEhpZGUgV1BBLVBTSyBUeXBlIGNvbWJvIHNpbmNlIGl0J3MgYXMgeWV0IHVudXNlZAotIEZpeCBhcHBsZXQgY3Jhc2ggd2hlbiBBUCBzZWN1cml0eSBvcHRpb25zIGNoYW5nZWQgYW5kIG9sZCBzZWNyZXRzIGFyZSBzdGlsbAogICAgaW4gdGhlIGtleXJpbmcKLSBGaXggYXBwbGV0IGNyYXNoIGNvbm5lY3RpbmcgdG8gdW5lbmNyeXB0ZWQgQVBzIHZpYSB0aGUgb3RoZXIgbmV0d29yayBkaWFsb2cALSBGaXggV1BBIEVudGVycHJpc2UgY29ubmVjdGlvbnMgdGhhdCB1c2UgY2VydGlmaWNhdGVzCi0gQmV0dGVyIGRpc3BsYXkgb2YgU1NJRHMgaW4gdGhlIG1lbnUALSBGaXggZ2V0dGluZyBjdXJyZW50IGFjY2VzcyBwb2ludAotIEZpeCBXUEEgRW50ZXJwcmlzZSBjb25uZWN0aW9ucwotIFdpcmVsZXNzIGRpYWxvZyBub3cgZGVmYXVsdHMgdG8gc2Vuc2libGUgY2hvaWNlcyBiYXNlZCBvbiB0aGUgY29ubmVjdGlvbgotIFRlbGwgbnNjZCB0byByZXN0YXJ0IGlmIG5lZWRlZCwgZG9uJ3Qgc2lsZW50bHkga2lsbCBpdAAtIFN1cHByZXNzIGV4Y2Vzc2l2ZSBHQ29uZiB1cGRhdGVzIHdoaWNoIHNvbWV0aW1lcyBjYXVzZWQgc2VjcmV0cyB0byBiZSBjbGVhcmVkCiAgICBhdCB0aGUgd3JvbmcgdGltZXMsIGNhdXNpbmcgY29ubmVjdGlvbnMgdG8gZmFpbAotIFZhcmlvdXMgRUFQIGFuZCBMRUFQIHJlbGF0ZWQgZml4ZXMALSBNYWtlIFdQQS1FQVAgYW5kIER5bmFtaWMgV0VQIG9wdGlvbnMgY29ubmVjdCBzdWNjZXNzZnVsbHkKLSBTdGF0aWMgSVBzIGFyZSBub3cgaGFuZGxlZCBjb3JyZWN0bHkgaW4gTk0gaXRzZWxmAC0gQWRkIER5bmFtaWMgV0VQIGFzIGEgc3VwcG9ydGVkIGF1dGhlbnRpY2F0aW9uL3NlY3VyaXR5IG9wdGlvbgAtIFJlLWVuYWJsZSAiQ29ubmVjdCB0byBvdGhlciBuZXR3b3JrIgotIFN3aXRjaCB0byBuZXcgR1VJIGJpdHMgZm9yIHdpcmVsZXNzIHNlY3VyaXR5IGNvbmZpZyBhbmQgcGFzc3dvcmQgZW50cnkALSBBZGQgcmZraWxsIGZ1bmN0aW9uYWxpdHkKLSBGaXggYXBwbGV0IGNyYXNoIHdoZW4gY2hvb3Npbmcgd2lyZWQgbmV0d29ya3MgZnJvbSB0aGUgbWVudQAtIEZpeCBzZWdmYXVsdCB3aXRoIGRlZmVycmVkIGNvbm5lY3Rpb25zCi0gRml4IGRlZmF1bHQgdXNlcm5hbWUgd2l0aCB2cG5jIFZQTiBwbHVnaW4KLSBIaWRkZW4gU1NJRCBmaXhlcwAtIEZpeCBtZXJnaW5nIG9mIG5vbi1TU0lELWJyb2FkY2FzdGluZyBBUHMgaW50byBhIGRldmljZSdzIHNjYW4gbGlzdAotIFNwZWVkIHVwIG9wZW5pbmcgb2YgdGhlIGFwcGxldCBtZW51AC0gTmV3IHNuYXBzaG90CgktIEFkZCB0aW1lc3RhbXBzIHRvIG5ldHdvcmtzIHRvIGNvbm5lY3QgdG8gbGFzdCB1c2VkIHdpcmVsZXNzIG5ldHdvcmsKCS0gVHVybiBhdXRvY29ubmVjdCBvbiBpbiB0aGUgYXBwbGV0CgktIEhpZGRlbiBTU0lEIHN1cHBvcnQKCS0gSW52YWxpZGF0ZSBmYWlsZWQgb3IgY2FuY2VsbGVkIGNvbm5lY3Rpb25zIGFnYWluCgktIEZpeCBpc3N1ZXMgd2l0aCByZWFjdGl2YXRpb24gb2YgdGhlIHNhbWUgZGV2aWNlCgktIEhhbmRsZSBjb25uZWN0aW9uIHVwZGF0ZXMgaW4gdGhlIGFwcGxldCAoZXguIGZpbmQgbmV3IFZQTiBjb25uZWN0aW9ucykKCS0gRml4IHZlcnRpY2FsIHNpemluZyBvZiBtZW51IGl0ZW1zCgktIEZpeCBBUCBsaXN0IG9uIHdpcmVsZXNzIGRldmljZXMgb3RoZXIgdGhhbiB0aGUgZmlyc3QgZGV2aWNlIGluIHRoZSBhcHBsZXQKCS0gRml4IG1hdGNoaW5nIG9mIGN1cnJlbnQgQVAgd2l0aCB0aGUgcmlnaHQgbWVudSBpdGVtAC0gTmV3IHNuYXBzaG90CgktIEFkZCBXUEEgcGFzc3BocmFzZSBzdXBwb3J0IHRvIHBhc3N3b3JkIGRpYWxvZwoJLSBBcHBsZXQgbm93IHJlZmxlY3RzIGFjdHVhbCBWUE4gYmVoYXZpb3Igb2Ygb25lIGFjdGl2ZSBjb25uZWN0aW9uCgktIEFwcGxldCBub3cgbm90aWNlcyBWUE4gYWN0aXZlIGNvbm5lY3Rpb25zIG9uIHN0YXJ0dXAKCS0gRml4IGNvbm5lY3Rpb25zIHdpdGggc29tZSBXUEEgYW5kIFdFUCBrZXlzAC0gTmV3IHNuYXBzaG90CgktIFZQTiBzdXBwb3J0IChvbmx5IHZwbmMgcGx1Z2luIHBvcnRlZCBhdCB0aGlzIHRpbWUpAC0gTmV3IHNuYXBzaG90CgktIE1ha2Ugd2lyZWQgZGV2aWNlIGNhcnJpZXIgc3RhdGUgd29yayBpbiB0aGUgYXBwbGV0CgktIEZpeCBoYW5kbGluZyBvZiBlcnJvcnMgd2l0aCB1bmVuY3J5cHRlZCBBUHMKCS0gRml4ICJmcm96ZW4iIGFwcGxldCBpY29uIGJ5IHJlcG9ydGluZyBOTSBzdGF0ZSBiZXR0ZXIKCS0gRml4IG91dHB1dCBvZiBBUCBmcmVxdWVuY3kgaW4gbm0tdG9vbAAtIE5ldyBzbmFwc2hvdAoJLSBGaXggYXBwbGV0IGljb24gc2l6aW5nIG9uIHN0YXJ0IChtY2xhc2VuKQoJLSBGaXggbm0tdG9vbCBpbnN0YWxsYXRpb24gKG1jbGFzZW4pCgktIEZpeCAnc3RhdGUnIG1ldGhvZCBjYWxsIHJldHVybiAoIzMwMzI3MSkKCS0gRml4IDQwLWJpdCBXRVAga2V5cyAoYWdhaW4pCgktIEZpeCBsb29wIHdoZW4gc2VjcmV0cyB3ZXJlIHdyb25nL2ludmFsaWQKCS0gRml4IGFwcGxldCBjcmFzaCB3aGVuIGNsaWNraW5nIENhbmNlbCBpbiB0aGUgcGFzc3dvcmQgZGlhbG9nCgktIEVuc3VyZSBOTSBkb2Vzbid0IGdldCBzdHVjayB3YWl0aW5nIGZvciB0aGUgc3VwcGxpY2FudCB0byByZS1hcHBlYXIKCQlpZiBpdCBjcmFzaGVzIG9yIGdvZXMgYXdheQoJLSBNYWtlIFZQTiBwcm9wZXJ0aWVzIGFwcGxldCB3b3JrIGFnYWluCgktIEluY3JlYXNlIHRpbWVvdXQgZm9yIG5ldHdvcmsgcGFzc3dvcmQgZW50cnkALSBOZXcgc25hcHNob3QgKGZpeCB1bmVuY3J5cHRlZCAmIDQwIGJpdCBXRVApAC0gTmV3IHNuYXBzaG90AC0gTmV3IHNuYXBzaG90AC0gTmV3IFNWTiBzbmFwc2hvdCBvZiAwLjcgdGhhdCBzdWNrcyBsZXNzAC0gVXBkYXRlIHRvIFNWTiBzbmFwc2hvdCBvZiAwLjcALSBVcGRhdGUgdGhlIGxpY2Vuc2UgdGFnAC0gT3duIC9ldGMvTmV0d29ya01hbmFnZXIvZGlzcGF0Y2hlci5kIGFuZCAvZXRjL05ldHdvcmtNYW5hZ2VyL1ZQTiAoIzIzNDAwNCkALSBGaXggV2lyZWxlc3MgRW5hYmxlZCBjaGVja2JveCB3aGVuIG5vIGtpbGxzd2l0Y2hlcyBhcmUgcHJlc2VudAAtIFVwZGF0ZSB0byBzdGFibGUgYnJhbmNoIHNuYXBzaG90OgogICAgLSBNb3JlIGZpeGVzIGZvciBldGhlcm5ldCBsaW5rIGRldGVjdGlvbiAoZ25vbWUgIzM1NDU2NSwgcmggIzE5NDEyNCkKICAgIC0gU3VwcG9ydCBmb3IgSEFMLWRldGVjdGVkIHJma2lsbCBzd2l0Y2hlcwAtIEZpeCBhcHBsZXQgY3Jhc2ggb24gNjQtYml0IHBsYXRmb3JtcyB3aGVuIGNob29zaW5nCiAgICAiQ29ubmVjdCB0byBvdGhlciB3aXJlbGVzcyBuZXR3b3JrLi4uIiAoZ25vbWUub3JnICM0MzUwMzYpCi0gQWRkIGRlYnVnIG91dHB1dCBmb3IgZXRoZXJuZXQgZGV2aWNlIGxpbmsgY2hhbmdlcwAtIEZpeCBldGhlcm5ldCBsaW5rIGRldGVjdGlvbiAoZ25vbWUgIzM1NDU2NSwgcmggIzE5NDEyNCkKLSBGaXggcGVycGV0dWFsIGNyZWRlbnRpYWxzIHJlcXVlc3Qgd2l0aCBwcml2YXRlIGtleSBwYXNzd29yZHMgaW4gdGhlIGFwcGxldAotIFNsZWVwIGEgYml0IGJlZm9yZSBhY3RpdmF0aW5nIHdpcmVsZXNzIGNhcmRzIHRvIHdvcmsgYXJvdW5kIGRyaXZlciBidWdzAC0gRG9uJ3Qgc3Bhd24gd3BhX3N1cHBsaWNhbnQgd2l0aCAtbwAtIEZpeCByZXF1aXJlcyBtYWNybyAoMjM3ODA2KQAtIFVwZGF0ZSB0byAwLjYuNSBmaW5hbAotIERvbid0IGxvc2Ugc2Nhbm5lZCBzZWN1cml0eSBpbmZvcm1hdGlvbgAtIFVwZGF0ZSBmcm9tIHRydW5rCgkqIFVwZGF0ZWQgdHJhbnNsYXRpb25zCgkqIENsZWFuZWQtdXAgVlBOIHByb3BlcnRpZXMgZGlhbG9ncwoJKiBGaXggNjQtYml0IGtlcm5lbCBsZWFrYWdlIGlzc3VlcyBpbiBXRVhUCgkqIERvbid0IGNhcHR1cmUgYW5kIHJlZGlyZWN0IHdwYV9zdXBwbGljYW50IGxvZyBvdXRwdXQALSBDbG9zZSBwcml2YXRlIEQtQnVzIGNvbm5lY3Rpb25zLiAoIzIzMjY5MSkALSBGaXggYSBkaXJlY3Rvcnkgb3duZXJzaGlwIGlzc3VlLiAgKCMyMzM3NjMpAC0gVXBkYXRlIHRvIHByZS0wLjYuNSBzbmFwc2hvdAAtIEd1YXJkIGFnYWluc3QgRC1CdXMgTGltaXRFeGNlZWRlZCBtZXNzYWdlcwAtIE1vdmUgLnNvIGZpbGUgdG8gLWRldmVsIHBhY2thZ2UALSBPd24gdGhlIC9ldGMvTmV0d29ya01hbmFnZXIvZGlzcGF0Y2hlci5kIGRpcmVjdG9yeQotIFJlcXVpcmUgcGtnY29uZmlnIGZvciB0aGUgLWRldmVsIHBhY2thZ2VzCi0gRml4IGNvbXBpbGF0aW9uIHdpdGggZGJ1cyAxLjAALSBVcGRhdGUgdG8gYSBzdGFibGUgYnJhbmNoIHNuYXBzaG90CiAgICAtIEdub21lIGFwcGxldCB0aW1lb3V0L3JlZHJhdyBzdXBwcmVzc2lvbiB3aGVuIGlkbGUKICAgIC0gQmFja3BvcnQgb2YgTEVBUCBwYXRjaCBmcm9tIEhFQUQgKGZyb20gVGhpYWdvIEJhdWVybWFubikKICAgIC0gQmFja3BvcnQgb2YgYXN5bmNocm9ub3VzIHNjYW5uaW5nIHBhdGNoIGZyb20gSEVBRAogICAgLSBNYWtlIHJlbmFtaW5nIG9mIFZQTiBjb25uZWN0aW9ucyB3b3JrIChmcm9tIFRhbWJldCBJbmdvKQogICAgLSBEaWFsIGRvd24gd3BhX3N1cHBsaWNhbnQgZGVidWcgc3BldwogICAgLSBDbGVhbnVwIG9mIGtleS9wYXNzcGhyYXNlIHJlcXVlc3Qgc2NlbmFyaW9zIChmcm9tIFZhbGVudGluZSBTaW5pdHN5bikKICAgIC0gU2h1dCBkb3duIFZQTiBjb25uZWN0aW9ucyBvbiBsb2dvdXQgKGZyb20gUm9iZXJ0IExvdmUpCiAgICAtIEZpeCBXUEEgcGFzc3BocmFzZSBoYXNoaW5nIG9uIFBQQwAtIE93biAvdXNyL3NoYXJlL05ldHdvcmtNYW5hZ2VyIGFuZCAvdXNyL2luY2x1ZGUvTmV0d29ya01hbmFnZXIALSBEb24ndCB3YWtlIHVwIHRvIHJlZHJhdyBpZiBOTSBpcyBpbmFjdGl2ZSAoIzIwNDg1MCkALSBhZGQgZXBvY2hzIGluIHJlcXVpcmVtZW50cwAtIEZpeCBGQy01IGJ1aWxkcmVxcwAtIFJldmVydCBGQzYgdG8gbGF0ZXN0IHN0YWJsZSBOTQotIFVwZGF0ZSB0byBzdGFibGUgc25hcHNob3QKLSBSZW1vdmUgYmluZC9jYWNoaW5nLW5hbWVzZXJ2ZXIgaGFyZCByZXF1aXJlbWVudAAtIEJ1aWxkUmVxdWlyZSB3aXJlbGVzcy10b29scy1kZXZlbCBhbmQgcGVybC1YTUwtUGFyc2VyCi0gVXBkYXRlIHRoZSBCdWlsZFJvb3QgdGFnAC0gYWRkIHBhdGNoIHRvIG1ha2UgbmV0d29ya21hbmFnZXIgbGVzcyB2ZXJib3NlIChidWcgMjAyODMyKQAtIGFjdHVhbGx5IG1ha2UgdGhlIHBhdGNoIGluIDAuNy4wLTAuY3ZzMjAwNjA1MjkuNCBhcHBseQAtIERvbid0IGV2ZXIgZWxlY3QgaW5hY3RpdmUgd2lyZWQgZGV2aWNlcyAoYnVnIDE5NDEyNCkuAC0gQWRkIHBhdGNoIHRvIGZpeCBkZXByZWNhdGVkIGRidXMgZnVuY3Rpb25zAC0gQWRkIEJSIGZvciBkYnVzLWdsaWItZGV2ZWwALSByZWJ1aWxkAC0gVXBkYXRlIHRvIGxhdGVzdCBDVlMKCW8gR25vbWUub3JnICMzMzM0MjA6IGRpYWxvZyBkbyBub3QgaGF2ZSB3aW5kb3cgaWNvbnMKCW8gR25vbWUub3JnICMzMzY5MTM6IEhJRyB0d2Vha3MgZm9yIHZwbiBwcm9wZXJ0aWVzIHBhZ2VzCglvIEdub21lLm9yZyAjMzM2ODQ2OiBISUcgdHdlYWtzIGZvciBubS12cG4tcHJvcGVydGllcwoJbyBHbm9tZS5vcmcgIzMzNjg0Nzogc29tZSBidWdzIGluIG5tLXZwbi1wcm9wZXJ0aWVzIGFyZ3MgcGFyc2luZwoJbyBHbm9tZS5vcmcgIzM0MTMwNjogbm0tdnBuLXByb3BlcnRpZXMgY3Jhc2hlcyBvbiBzdGFydHVwCglvIEdub21lLm9yZyAjMzQxMjYzOiBWZXJzaW9uIDAuNi4yLTB1YnVudHU1IGNyYXNoZXMgb24gbm1fZGV2aWNlXzgwMl8xMV93aXJlbGVzc19nZXRfdHlwZQoJbyBHbm9tZS5vcmcgIzM0MTI5NzogZGlzcGxheXMgcmVwZWF0ZWQga2V5cmluZyBkaWFsb2dzIG9uIHJlc3VtZSBmcm9tIHN1c3BlbmQKCW8gR25vbWUub3JnICMzNDI0MDA6IEJ1aWxkaW5nIGxpYm5tLXV0aWwgLS13aXRob3V0LWdjcnlwdCByZXN1bHRzIGluIGxpbmtlciBlcnJvcgoJbyBHbm9tZS5vcmcgIzM0MjM5ODogRWxlbWluYXRlIEdub21lIGRlcGVuZGVuY3kgZm9yIE5ldHdvcmtNYW5hZ2VyCglvIEdub21lLm9yZyAjMzM2NTMyOiBkZWNsYXJhdGlvbiBvZiAnbGluaycgc2hhZG93cyBhIGdsb2JhbCBkZWNsYXJhdGlvbgotIFNwZWNmaWxlIGZpeGVzICgjcmgxODc0ODkjKQAtIFVwZGF0ZSB0byBsYXRlc3QgQ1ZTCi0gRHJvcCBzcGVjaWFsLWNhc2UtbWFkd2lmaS5wYXRjaCwgc2luY2UgV0VYVCBjb2RlIGlzIGluIG1hZHdpZmktbmcgdHJ1bmsgbm93AC0gdXNlIHRoZSBzYW1lIDAuNi4yIHRhcmJhbGwgYXMgRkM1LCBzbyB3ZSBoYXZlIHRoZSBzYW1lIFZQTiBpbnRlcmZhY2UKICAoZGlkIGhlIGZpcmUgdGVuIGFyZ3MsIG9yIG9ubHkgbmluZT8pAC0gdXNlIHRoZSBoYWwgZGV2aWNlIHR5cGUgaW5zdGVhZCBvZiBwb2tpbmcgdmlhIGlvY3RsIHNvIHRoYXQgd2lyZWxlc3MKICBkZXZpY2VzIGFyZSBwcm9wZXJseSBkZXRlY3RlZCBldmVuIGlmIHRoZSBraWxsIHN3aXRjaCBoYXMgYmVlbiB1c2VkAC0gVXBkYXRlIHRvIDAuNi4yOgoJKiBGaXggdmFyaW91cyBXUEEtcmVsYXRlZCBidWdzCgkqIENsZWFuIHVwIGxlYWtzCgkqIEluY3JlYXNlZCBESENQIHRpbWVvdXQgdG8gYWNjb3VudCBmb3Igc2xvdyBESENQIHNlcnZlcnMsIG9yIFNUUC1lbmFibGVkCgkJc3dpdGNoZXMKCSogQWxsb3cgYXBwbGV0IHRvIHJlY29ubmVjdCBvbiBkYnVzIHJlc3RhcnRzCgkqIEFkZCAiRHluYW1pYyBXRVAiIHN1cHBvcnQKCSogQWxsb3cgaGlkaW5nIG9mIHBhc3N3b3JkL2tleSBlbnRyeSB0ZXh0CgkqIE1vcmUgcmVzcG9uc2l2ZSBjb25uZWN0aW9uIHN3aXRjaGluZwAtIEZpeCBkZXZpY2UgYnJpbmd1cCBvbiByZXN1bWUALSBEb24ndCBsZXQgd3BhX3N1cHBsaWNhbnQgcGVyZm9ybSBzY2FubmluZyB3aXRoIG5vbi1XUEEgZHJpdmVycwAtIFVwZGF0ZSB0byAwLjYuMCByZWxlYXNlCi0gTW92ZSBhdXRvc3RhcnQgZmlsZSB0byAvdXNyL3NoYXJlL2dub21lL2F1dG9zdGFydAAtIHVwZGF0ZWQgY3ZzIHNuYXBzaG90LiAgc2VlbXMgdG8gbWFrZSBhaXJvIG11Y2ggbGVzcyBuZXVyb3RpYwAtIE1vdmUgdGhlIHVudmVyc2lvbmVkIGxpYm5tX2dsaWIuc28gdG8gdGhlIC1kZXZlbCBwYWNrYWdlAC0gRml4IFZQTi1yZWxhdGVkIGNyYXNoCi0gRml4IGlzc3VlIHdoZXJlIE5NIHdvdWxkIHJlZnVzZSB0byBhY3RpdmF0ZSBhIFZQTiBjb25uZWN0aW9uIG9uY2UgaXQgaGFkIHRpbWVkIG91dAotIExvZyB3cGFfc3VwcGxpY2FudCBvdXRwdXQgZm9yIGJldHRlciBkZWJ1Z2dpbmcALSBUd2VhayB0aHJlZS1zY2FuLXBydW5lLnBhdGNoAC0gRG9uJ3QgcHJ1bmUgbmV0d29ya3MgdW50aWwgdGhleSd2ZSBnb25lIE1JQSBmb3IgdGhyZWUgc2NhbnMsIG5vdCBvbmUuAC0gVXBkYXRlIHNuYXBzaG90LCB3aGljaCBmaXhlcyB1cCB0aGUgbGlibm90aWZ5IHN0dWZmLgAtIE1vdmUgbGlibm90aWZ5IHJlcXVpcmVzIHRvIE5ldHdvcmtNYW5hZ2VyLWdub21lLCBub3QgY29yZSBOTSBwYWNrYWdlAC0gQWRkIEJ1aWxkUmVxdWlyZXM6IGxpYm5sLWRldmVsICgjcmgxNzk0MzgjKQotIEZpeCBsaWJubV9nbGliIHRvIG5vdCBjbG9iYmVyIGFuIGFwcGxpY2F0aW9uJ3MgZXhpc3RpbmcgZGJ1cyBjb25uZWN0aW9uCgkoI3JoMTc3NTQ2IywgZ25vbWUub3JnICMzMjY1NzIpCi0gbGlibm90aWZ5IHN1cHBvcnQKLSBBUCBjb21wYXRpYmlsaXR5IGZpeGVzAC0gTWlub3IgYnVnIGZpeGVzCi0gVXBkYXRlIHRvIFZQTiBkYnVzIEFQSSBmb3IgcGFzc2luZyB1c2VyLWRlZmluZWQgcm91dGVzIHRvIHZwbiBzZXJ2aWNlAC0gUmVidWlsZAAtIHJlYnVpbHQgZm9yIG5ldyBnY2M0LjEgc25hcHNob3QgYW5kIGdsaWJjIGNoYW5nZXMALSBXb3JrYXJvdW5kcyBmb3IgbWFkd2lmaS9BdGhlcm9zIGNhcmRzCi0gRG8gYmV0dGVyIHdpdGggbm9uLVNTSUQtYnJvYWRjYXN0aW5nIGFjY2VzcyBwb2ludHMKLSBGaXggaGFuZ3Mgd2hlbiBhY2Nlc3MgcG9pbnRzIGNoYW5nZSBzZXR0aW5ncwAtIE93biAvdmFyL3J1bi9OZXR3b3JrTWFuYWdlciwgZml4IFNFTGludXggaXNzdWVzAC0gU3dpdGNoIHRvIGF1dG9zdGFydGluZyB0aGUgYXBwbGV0IGluc3RlYWQgb2YgaGF2aW5nIGl0IGJlIHNlc3Npb24tbWFuYWdlZAotIFdvcmsgYmV0dGVyIHdpdGggbm9uLWJyb2FkY2FzdGluZyBhY2Nlc3MgcG9pbnRzCi0gQWRkIG1vcmUgbWFudWZhY3R1cmVyIGRlZmF1bHQgU1NJRHMgdG8gdGhlIGJsYWNrbGlzdAAtIExvbmdlciBhc3NvY2lhdGlvbiB0aW1lb3V0Ci0gRml4IHNvbWUgU0VMaW51eCBpc3N1ZXMKLSBHZW5lcmFsIGJ1ZyBhbmQgY29zbWV0aWMgZml4ZXMALSBTbmFwc2hvdCBmcm9tIENWUwotIFdQQSBTdXBwb3J0ISAgV29vaG9vIQAtIHJlYnVpbHQALSByZWJ1aWxkIGZvciBuZXcgZGJ1cwAtIERvbid0IGtpbGwgdGhlIG5ldHdvcmsgY29ubmVjdGlvbiB3aGVuIHlvdSB1cGdyYWRlIHRoZSBwYWNrYWdlLgAtIFNwbGl0IG91dCB0aGUgLWdsaWIgc3VicGFja2FnZSB0byBoYXZlIGEgLWdsaWItZGV2ZWwgcGFja2FnZSBhcyB3ZWxsCi0gQWRkIGVwb2NoIHRvIHZlcnNpb24gcmVxdWlyZW1lbnRzIGZvciBiaW5kIGFuZCB3aXJlbGVzcy10b29scwotIFVwZGF0ZSBVUkwgb2YgcHJvamVjdAAtIE5ldHdvcmtNYW5hZ2VyIDAuNS4xAC0gTmV0d29ya01hbmFnZXIgMC41LjAALSBGaXggYXV0b21hdGljIHdpcmVsZXNzIGNvbm5lY3Rpb25zCi0gUmVtb3ZlIHVzYWdlIG9mIE5NTG9hZE1vZHVsZXMgY2FsbG91dCwgbm8gbG9uZ2VyIG5lZWRlZAotIFRyeSB0byBmaXggZGVhZGxvY2sgd2hlbiBtZW51IGlzIGRvd24gYW5kIGtleXJpbmcgZGlhbG9nIHBvcHMgdXAALSBVcGRhdGUgdG8gbGF0ZXN0IENWUwoJbyBJbnRlZ3JhdGUgY29ubmVjdGlvbiBwcm9ncmVzcyB3aXRoIGFwcGxldCBpY29uIChDaHJpcyBBaWxsb24pCglvIE1vcmUgaW5mb3JtYXRpb24gaW4gIkNvbm5lY3Rpb24gSW5mb3JtYXRpb24iIGRpYWxvZyAoUm9iZXJ0IExvdmUpCglvIFNob3J0ZW4gdGltZSB0YWtlbiB0byBzbGVlcAoJbyBNYWtlIGFwcGxldCBpY29uIHdpcmVsZXNzIHN0cmVuZ3RoIGxldmVscyBhIGJpdCBtb3JlIHJlYWxpc3RpYwoJbyBUYWxrIHRvIG5hbWVkIHVzaW5nIERCVVMgcmF0aGVyIHRoYW4gc3Bhd25pbmcgb3VyIG93bgoJCS0gWW91IG5lZWQgdG8gYWRkICItRCIgdG8gdGhlIE9QVElPTlMgbGluZSBpbiAvZXRjL3N5c2NvbmZpZy9uYW1lZAoJCS0gWW91IG5lZWQgdG8gc2V0IG5hbWVkIHRvIHN0YXJ0IGFzIGEgc2VydmljZSBvbiBzdGFydHVwAC0gVXBkYXRlIHRvIGN1cnJlbnQgQ1ZTIHRvIGZpeCBpc3N1ZXMgd2l0aCByb3V0aW5nIHRhYmxlIGFuZCAvc2Jpbi9pcAAtIHVwZGF0ZSB0byBjdXJyZW50IENWUyBhbmQgcmVidWlsZCAod29ya2Fyb3VuZCBmb3IgIzE2ODEyMCkALSBGaXggb2NjYXNpb25hbCBoYW5nIGluIE5NIGNhdXNlZCBieSB0aGUgYXBwbGV0AC0gVXBkYXRlIHRvIE5ldHdvcmtNYW5hZ2VyIDAuNC4xAC0gUmVidWlsZCBhZ2FpbnN0IG5ldyBjYWlyby9ndGsALSBVcGRhdGUgdG8gbGF0ZXN0IENWUwoJbyBVc2UgREhDUCBzZXJ2ZXIgYWRkcmVzcyBhcyBnYXRld2F5IGFkZHJlc3MgaWYgdGhlIERIQ1Agc2VydmVyIGRvZXNuJ3QgZ2l2ZQoJCXVzIGEgZ2F0ZXdheSBhZGRyZXNzICNyaDE2NTY5OCMKCW8gRml4ZXMgdG8gdGhlIGFwcGxldCAoUm9iZXJ0IExvdmUpCglvIEJldHRlciBjYWNoaW5nIG9mIGluZm9ybWF0aW9uIGluIHRoZSBhcHBsZXQgKEJpbGwgTW9zcykKCW8gR2VuZXJhdGUgYXV0b21hdGljIHN1Z2dlc3RlZCBBZC1Ib2MgbmV0d29yayBuYW1lIGZyb20gbWFjaGluZSdzIGhvc3RuYW1lCgkJKFJvYmVydCBMb3ZlKQoJbyBVcGRhdGUgYWxsIG5ldHdvcmsgaW5mb3JtYXRpb24gb24gc3VjY2Vzc2Z1bGwgY29ubmVjdCwgbm90IGp1c3QKCQlhdXRoZW50aWNhdGlvbiBtZXRob2QALSBVcGRhdGUgdG8gbGF0ZXN0IENWUyB0byBnZXQgZml4IGZvciBidWcgMTY1NjgzLgAtIE1vdmUgcGtnY29uZmlnIGZpbGUgdG8gZGV2ZWwgcGFja2FnZSAoIzE2MjMxNiwgdGhhbmtzIHRvIE1pY2hhZWwgU2Nod2VuZHQpAC0gVXBkYXRlIHRvIGxhdGVzdCBDVlMgdG8gZ2V0IGxhdGVzdCBWUE4gaW50ZXJmYWNlIHNldHRpbmdzIHRvIHNhdGlzZnkKICBCdWlsZFJlcSBmb3IgTmV0d29ya01hbmFnZXItdnBuYyBpbiBGZWRvcmEgRXh0cmFzIERldmVsb3BtZW50Ci0gTGF0ZXN0IENWUyBhbHNvIGNvbnRhaW5zIHZhcmlvdXMgYnVnLSBhbmQgVUktZml4ZXMALSBVcGRhdGUgdG8gbGF0ZXN0IENWUwoJbyBWUE4gY29ubmVjdGlvbiBpbXBvcnQvZXhwb3J0IGNhcGFiaWxpdHkKCW8gRml4IHVwIHNvbWUgbWVudSBpdGVtIG5hbWVzCi0gTW92ZSBubS12cG4tcHJvcGVydGllcy5nbGFkZSB0byB0aGUgZ25vbWUgc3VicGFja2FnZQAtIFVwZGF0ZSB0byBsYXRlc3QgQ1ZTCglvIENsZWFuIHVwIHdvcmRpbmcgaW4gV2lyZWxlc3MgTmV0d29yayBEaXNjb3ZlcnkgbWVudQoJbyBSb2JlcnQgTG92ZSdzIGFwcGxldCBiZWF1dGlmeSBwYXRjaAAtIFVwZGF0ZSB0byBsYXRlc3QgQ1ZTAC0gRml4IGRpc3BhdGNoZXIgYW5kIGFwcGxldCBDRkxBR1Mgc28gdGhleSBnZXRzIGNvbXBpbGVkIHdpdGggRk9SVElGWV9TT1VSQ0UALSBGaXggc2VnZmF1bHQgaW4gTmV0d29ya01hbmFnZXJEaXNwYXRjaGVyLCBhZGQgYW4gaW5pdHNjcmlwdCBmb3IgaXQALSBGaXggY29uZGl0aW9uIHRoYXQgbWF5IGhhdmUgcmVzdWx0ZWQgaW4gREhDUCBjbGllbnQgcmV0dXJuaW5nIHN1Y2Nlc3MKCXdoZW4gaXQgcmVhbGx5IHRpbWVkIG91dAAtIEVuYWJsZSBPSyBidXR0b24gY29ycmVjdGx5IGluIFBhc3NwaHJhc2UgYW5kIE90aGVyIE5ldHdvcmtzIGRpYWxvZ3Mgd2hlbgoJdXNpbmcgQVNDSUkgb3IgSGV4IFdFUCBrZXlzAC0gI3JoMTU0MzkxIyBOZXR3b3JrTWFuYWdlciBkaWVzIG9uIHN0YXJ0dXAgKGRvbid0IGZvcmNlLWtpbGwgbmlmZCkALSBGaXggbGVhayBvZiBhIHNvY2tldCBpbiBESENQIGNvZGUALSBGaXggc29tZSBtZW1vcnkgbGVha3MgKFRvbSBQYXJrZXIpCi0gSm9pbiB0byB0aHJlYWRzIHJhdGhlciB0aGFuIHNwaW5uaW5nIGZvciB0aGVpciBjb21wbGV0aW9uIChUb20gUGFya2VyKQotIEZpeCBtaXN1c2Ugb2YgYSBnX2Fzc2VydCgpIChDb2xpbiBXYWx0ZXJzKQotIEZpeCByZXR1cm4gY2hlY2tpbmcgb2YgYW4gaW9jdGwoKSAoQmlsbCBNb3NzKQotIEJldHRlciBkZXRlY3Rpb24gYW5kIG1hdGNoaW5nIG9mIGhpZGRlbiBhY2Nlc3MgcG9pbnRzIChCaWxsIE1vc3MpCi0gRG9uJ3QgdXNlIHZhcmFyZ3MsIGFuZCB0aGVyZWZvcmUgZG9uJ3QgY3Jhc2ggb24gUFBDIChQZXRlciBKb25lcykALSBmaXggYnVpbGQgd2l0aCBuZXdlciBkYnVzAC0gc2lsZW5jZSAlcG9zdAAtICNyaDE1MzIzNCMgTmV0d29ya01hbmFnZXIgcXVpdHMvY29yZXMganVzdCBhcyBhIGNvbm5lY3Rpb24gaXMgbWFkZQAtIFVwZGF0ZSBmcm9tIGxhdGVzdCBDVlMgSEVBRAAtIFVwZGF0ZSB0aGUgR1RLKyB0aGVtZSBpY29uIGNhY2hlIG9uICh1bilpbnN0YWxsAC0gUHVsbCBmcm9tIGxhdGVzdCBDVlMgSEVBRAAtIFVwbG9hZCBuZXcgc291cmNlIHRhcmJhbGwgKHdvb3BzKQAtIFB1bGwgZnJvbSBsYXRlc3QgQ1ZTIEhFQUQgKGhvcGVmdWxseSB3b3JrcyBhZ2FpbikALSBQdWxsIGZyb20gbGF0ZXN0IENWUyBIRUFECi0gQ29tbWl0IGJyb2tlbiBOZXR3b3JrTWFuYWdlciB0byBzYXRpc2Z5IHRvIGRidXMgZGVwZW5kZW5jeQAtIFB1bGwgZnJvbSBsYXRlc3QgQ1ZTIEhFQUQKLSBSZWJ1aWxkIGZvciBnY2MgNC4wAC0gVXBkYXRlIGZyb20gQ1ZTAC0gRml4IGZyZWUgb2YgaW52YWxpZCBwb2ludGVyIGZvciBtdWx0aXBsZSBzZWFyY2ggZG9tYWlucwAtIE5ldmVyIGF1dG9tYXRpY2FsbHkgY2hvb3NlIGEgZGV2aWNlIHRoYXQgZG9lc24ndCBzdXBwb3J0IGNhcnJpZXIgZGV0ZWN0aW9uCi0gQWRkIHJpZ2h0LWNsaWNrIG1lbnUgdG8gYXBwbGV0LCBjYW4gbm93ICJQYXVzZS9SZXN1bWUiIHNjYW5uaW5nIHRocm91Z2ggaXQKLSBGaXggREhDUCBSZW5ldy9SZWJpbmQgdGltZW91dHMKLSBGaXggZnJlcXVlbmN5IGN5Y2xpbmcgcHJvYmxlbSBvbiBzb21lIGNhcmRzLCBldmVuIHdoZW4gc2Nhbm5pbmcgd2FzIG9mZgotIFBsYXkgYmV0dGVyIHdpdGggSVB2NgotIERvbid0IHNlbmQga2VybmVsIHZlcnNpb24gaW4gREhDUCBwYWNrZXRzLCBhbmQgZW5zdXJlIERIQ1AgcGFja2V0cyBhcmUgYXQKCWxlYXN0IDMwMCBieXRlcyBpbiBsZW5ndGggdG8gd29yayBhcm91bmQgYnJva2VuIHJvdXRlcgotIE5ldyBESENQIG9wdGlvbnMgRC1CVVMgQVBJIGJ5IERhbiBSZWVkCi0gSGFuZGxlIG11bHRpcGxlIGRvbWFpbiBzZWFyY2ggb3B0aW9ucyBpbiBESENQIHJlc3BvbnNlcwAtIERpc3BsYXkgd2lyZWxlc3MgbmV0d29yayBuYW1lIGluIGFwcGxldCB0b29sdGlwCi0gSG9wZWZ1bGx5IGZpeCBkb3VibGUtZGVmYXVsdC1yb3V0ZSBwcm9ibGVtCi0gV3JpdGUgb3V0IHZhbGlkIHJlc29sdi5jb25mIHdoZW4gd2UgZXhpdAotIE1ha2UgbXVsdGktZG9tYWluIHNlYXJjaCBvcHRpb25zIHdvcmsKLSBSZXdvcmsgc2lnbmFsIHN0cmVuZ3RoIGNvZGUgdG8gYmUgV0VYVCBjb25mb3JtYW50LCBpZiBzdHJlbmd0aCBpcwoJc3RpbGwgd2llcmQgdGhlbiBpdHMgOTUlIHN1cmVseSBhIGRyaXZlciBwcm9ibGVtCi0gRml4IGFubm95aW5nIGluc3RhbmNlcyBvZiBzdWRkZW5seSBkcm9wcGluZyBhbmQgcmVhY3RpdmF0aW5nIGEKCXdpcmVsZXNzIGRldmljZSAoQ2lzY28gY2FyZHMgd2VyZSB3b3JzdCBvZmZlbmRlcnMgaGVyZSkKLSBGaXggc29tZSBpbnN0YW5jZXMgb2YgTmV0d29ya01hbmFnZXIgbm90IHJlbWVtYmVyaW5nIHlvdXIgV0VQIGtleQotIEZpeCBzb21lIHJhY2VzIGJldHdlZW4gTmV0d29ya01hbmFnZXIgYW5kIE5ldHdvcmtNYW5hZ2VySW5mbyB3aGVyZQoJTmV0d29ya01hbmFnZXIgd291bGRuJ3QgcmVjb2duaXplIGNoYW5nZXMgaW4gdGhlIGFsbG93ZWQgbGlzdAotIERvbid0IHNob3ZlIEFkLUhvYyBBY2Nlc3MgUG9pbnQgTUFDIGFkZHJlc3NlcyBpbnRvIEdDb25mAC0gUGxheSBuaWNlIHdpdGggZGJ1cyAwLjIzCi0gVXBkYXRlIG91ciBsaXN0IG9mIEFsbG93ZWQgV2lyZWxlc3MgTmV0d29ya3MgbW9yZSBxdWlja2x5AC0gVXBkYXRlIHRvIGxhdGVzdCBDVlMKLSBNYWtlIHN1cmUgd2Ugc3RhcnQgYXMgbGF0ZSBhcyBwb3NzaWJsZSBzbyB0aGF0IHdlIGVuc3VyZSBkYnVzICYgSEFMCglhcmUgYWxyZWFkeSBhcm91bmQKLSBGaXggcmFjZSBpbiBpbml0aWFsIGRldmljZSBhY3RpdmF0aW9uAC0gcmVidWlsdCBhZ2FpbnN0IG5ldyB3aXJlbGVzcyB0b29sAC0gRml4IGlzc3VlIHdoZXJlIE5NIHdvdWxkbid0IHJlY29nbml6ZSB0aGF0IGFjY2VzcyBwb2ludHMgd2VyZQoJZW5jcnlwdGVkLCBhbmQgdGhlbiB3b3VsZCB0cnkgdG8gY29ubmVjdCB3aXRob3V0IGVuY3J5cHRpb24KLSBSZWZpbmUgcGFja2FnaW5nIHRvIHB1dCBjbGllbnQgbGlicmFyeSBpbiBzZXBhcmF0ZSBwYWNrYWdlCi0gUmVtb3ZlIGJpbmQrY2FjaGluZy1uYW1lc2VydmVyIGRlcCBmb3IgRkMtMywgdXNlICduc2NkIC1pIGhvc3RzJwoJaW5zdGVhZC4gIEROUyBxdWVyaWVzIG1heSB0aW1lb3V0IG5vdyByaWdodCBhZnRlciBkZXZpY2UKCWFjdGl2YXRpb24gZHVlIHRvIHRoaXMgY2hhbmdlLgAtIFVwZGF0ZSB0byBsYXRlc3QgQ1ZTCi0gRml4ZXMgdG8gREhDUCBjb2RlCi0gTGluay1Mb2NhbCAoWmVyb0NvbmYvUmVuZGV6dm91cykgc3VwcG9ydAotIFVzZSBiaW5kIGluICJjYWNoaW5nLW5hbWVzZXJ2ZXIiIG1vZGUgdG8gd29yayBhcm91bmQgc3R1cGlkaXR5CglpbiBnbGliYydzIHJlc29sdmVyIGxpYnJhcnkgbm90IHJlY29nbml6aW5nIHJlc29sdi5jb25mIGNoYW5nZXMKLSAjcmgxNDQ4MTgjIENsZWFuIHVwIHRoZSBzcGVjZmlsZSAoUGF0Y2ggZnJvbSBNYXR0aGlhcyBTYW91KQotIEFkLUhvYyBtb2RlIHN1cHBvcnQgd2l0aCBMaW5rLUxvY2FsIGFkZHJlc3Npbmcgb25seSAoZm9yIG5vdykKLSBGaXhlcyBmb3IgZGV2aWNlIGFjdGl2YXRpb24gcmFjZSBjb25kaXRpb25zCi0gV2lyZWxlc3Mgc2Nhbm5pbmcgaW4gc2VwYXJhdGUgdGhyZWFkAC0gVXBkYXRlIHRvIENWUwotIFVwZGF0ZXMgdG8gbGluayBkZXRlY3Rpb24sIERIQ1AgY29kZQotIFJlbW92ZSBOTUxhdW5jaEhlbHBlciBzbyB3ZSBzdGFydCB1cCBmYXN0ZXIgYW5kIGRvbid0CglibG9jayBmb3IgYSBjb25uZWN0aW9uLiAgVGhpcyBtZWFucyBzZXJ2aWNlcyB0aGF0IGRlcGVuZAoJb24gdGhlIG5ldHdvcmsgbWF5IGZhaWwgaWYgdGhleSBzdGFydCByaWdodCBhZnRlciBOTQotIE1ha2Ugc3VyZSBESENQIHJlbmV3L3JlYmluZGluZyB3b3JrcwAtIFVwZGF0ZSB0byBDVlMKLSBGaXhlcyB0byBsaW5rIGRldGVjdGlvbgotIEJldHRlciBkZXRlY3Rpb24gb2Ygbm9uLUVTU0lELWJyb2FkY2FzdGluZyBhY2Nlc3MgcG9pbnRzCi0gRG9uJ3QgZGlhbG9nLXNwYW0gdGhlIHVzZXIgaWYgYSBjb25uZWN0aW9uIGZhaWxzAC0gVXBkYXRlIHRvIENWUwotIE11Y2ggYmV0dGVyIGxpbmsgZGV0ZWN0aW9uLCB3b3JrcyB3aXRoIE9wZW4gU3lzdGVtIGF1dGhlbnRpY2F0aW9uCi0gQmxhY2tsaXN0IHdpcmVsZXNzIGNhcmRzIHJhdGhlciB0aGFuIHdoaXRlbGlzdGluZyB0aGVtAC0gI3JoMTM0ODkzIyBOZXR3b3JrTWFuYWdlckluZm8gYW5kIHRoZSBwYW5lbC1pY29uIGxpZmUtY3ljbGUKLSAjcmgxMzQ4OTUjIFN0YXR1cyBpY29uIHNob3VsZCBoaWRlIHdoZW4gaW4gV2lyZWQtb25seSBtb2RlCi0gI3JoMTM0ODk2IyBJY29uIGNvZGUgbmVlZHMgcmV3cml0ZQotICNyaDEzNDg5NyMgIk90aGVyIE5ldHdvcmtzLi4uIiBkaWFsb2cgbmVlZHMgaW1wbGVtZW50aW5nCi0gI3JoMTM1MDU1IyBNZW51IGhpZ2hsaWdodHMgaW5jb3JyZWN0bHkgaW4gTk0KLSAjcmgxMzU2NDgjIHNlZ2ZhdWx0IHdpdGggY2lwc2VjMAotICNyaDEzNTcyMiMgTmV0d29ya01hbmFnZXIgd2lsbCBub3QgYWxsb3cgemF1cnVzIHRvIHN5bmMgdmlhIHVzYjAKLSAjcmgxMzU5OTkjIE5ldHdvcmtNYW5hZ2VyLTAuMy4xIHdpbGwgbm90IGNvbm5lY3QgdG8gMTI4IHdlcAotICNyaDEzNjg2NiMgYXBwbGV0IG5lZWRzIHRvb2x0aXBzCi0gI3JoMTM3MDQ3IyBsb3RzIG9mIGFwcGxldHMsIHlheSEKLSAjcmgxMzczNDEjIE5ldHdvcmsgTWFuYWdlciBkaWVzIGFmdGVyIGRpc2Nvbm5lY3RpbmcgZnJvbSB3aXJlZCBuZXR3b3JrIHNlY29uZCB0aW1lCi0gQmV0dGVyIGNoZWNraW5nIGZvciB3aXJlbGVzcyBkZXZpY2VzCi0gRml4IHNvbWUgbWVtbGVha3MKLSBGaXggaXNzdWVzIHdpdGggZGhjbGllbnQgZGVjbGluaW5nIGFuIG9mZmVyZWQgYWRkcmVzcwotIEZpeCBhbiBhY3RpdmF0aW9uIHRocmVhZCBkZWFkbG9jawotIE1vcmUgYWNjdXJhdGVseSBkZXRlY3QgIk90aGVyIHdpcmVsZXNzIG5ldHdvcmtzIiB0aGF0IGFyZSBlbmNyeXB0ZWQKLSBEb24ndCBicmluZyBkZXZpY2VzIGRvd24gYXMgbXVjaCwgd29uJ3QgaG90cGx1Zy1zcGFtIGFzIG11Y2ggYW55bW9yZQoJYWJvdXQgZmlybXdhcmUKLSBBZGQgYSAibmV0d29yayBub3QgZm91bmQiIGRpYWxvZyB3aGVuIHRoZSB1c2VyIGNob29zZXMgYSBuZXR3b3JrIHRoYXQgY291bGQKCW5vdCBiZSBjb25uZWN0ZWQgdG8ALSBGaXggZXNjYXBpbmcgb2YgRVNTSURzIGluIGdjb25mAC0gbWlub3IgcG9pbnQgcmVsZWFzZSB0byBpbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCB0cmFuc2xhdGlvbnMALSBVcGRhdGUgZnJvbSBDVlMsIHZlcnNpb24gMC4zAC0gVXBkYXRlIGZyb20gQ1ZTCi0gSW1wcm92ZW1lbnRzOgoJbyBCZXR0ZXIgbGluayBjaGVja2luZyBvbiB3aXJlbGVzcyBjYXJkcwoJbyBQYW5lbCBhcHBsZXQgbm93IGEgTm90aWZpY2F0aW9uIEFyZWEgaWNvbgoJbyBTdGF0aWMgSVAgY29uZmlndXJhdGlvbiBzdXBwb3J0AC0gVXBkYXRlIGZyb20gQ1ZTAC0gUmVxdWlyZSBnbm9tZS1wYW5lbCwgbm90IGdub21lLXBhbmVsLWRldmVsCi0gVHVybiBvZmYgYnkgZGVmYXVsdAAtIFVwZGF0ZSB0byAwLjIALSBzcGVjLWNoYW5nZXMgdG8gcmVxIGdsaWIyIGluc3RlYWQgb2YgZ2xpYgAtIEZpcnN0IHB1YmxpYyByZWxlYXNlAE5ldHdvcmtNYW5hZ2VyAE5ldHdvcmtNYW5hZ2VyLWJ0AAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAADAAAABAAAAAAAAAAIAAAACAAAgAAxOjEuMjYuMC04LmVsOAAxOjEuMjYuMC04LmVsOAAAAAAAAAIAAAAAMTowLjkuOS45NS0xAAAAAAAAAAAAAAABAAAAAgAAAAMuYnVpbGQtaWQAODcAMDI5MjViZTRmMDczN2VjODczOWYyMmZkZDQ3Y2VmZjVjMjgyMDAAbGlibm0tZGV2aWNlLXBsdWdpbi1ibHVldG9vdGguc28AL3Vzci9saWIvAC91c3IvbGliLy5idWlsZC1pZC8AL3Vzci9saWIvLmJ1aWxkLWlkLzg3LwAvdXNyL2xpYjY0L05ldHdvcmtNYW5hZ2VyLzEuMjYuMC04LmVsOC8ALU8yIC1nIC1waXBlIC1XYWxsIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1XcCwtRF9HTElC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"},"publicKey":{"content":"LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tClZlcnNpb246IEdudVBHIHYyLjAuMjIgKEdOVS9MaW51eCkKCm1RSU5CRnpNV3hrQkVBREhyc2twQmdOOU9waG1oUmtjN1AvWXJzQUdTdnZsN2tmdStlOUtBYVU2ZjVNZUFWeW4KcklvTTQzc3l5R2tnRnlXZ2paTTgvcnVyN0VNUFkyeXQrMnEvMVpmTFZDUm45ODU2SnFUSXEwWFJwRFVlNG5LUQo4QmxBN3dEVlpvU0R4VVprU3VUSXlFeGJEZjBjcHc4OVRjZjYyTXhtaThqaDc0dlJsUHkxUGdqV0w1NDk0YjNYCjVmeERpZEg0YnFQWnl4VEJxUHJVRnVvK0VmVVZFcWlHRjk0UHBxNlpVdnJCR09WbzFWMStJZm05Q0dFSzU5N2MKYWV2Y0djMVJGbGd4SWdOODRVcHVEalBSOS96U25kd0o3WHNYWXZaNkhYY0tHYWdSS3NmWURXR1BrQTVjT0wvZQpmK3lPYk9uQzQzeVBVdnBnZ1E0S2FOSjYrU01UWk9LaWtNOHljaXlCd0xxd3JqbzhGbEpna3Y4VmZhZy8yVVI3CkpJTmJ5cUhIb0xVaFEybTZIWFN3SzRZanR3aWRGOUVVa2FCWldycnNrWVIzSVJaTFhsV3FlT2kvK2V6WU9XMG0KdnVmcmtjdnNoK1RLbFZWbnV3bUVQako4bXdVU3BzTGRmUEpvMURIc2Q4RlMwM1NDS1BhWEZkRDdlUGZFamlZawpuSHBRYUtFMDFhV1ZTTFVpeWduN0Y3clllbUdxVjlWdDd0Qnc1cHowdnFTQzcyYTVFM3pGeklJdUh4NmFBTnJ5CkdhdDNhcVUzcXRCWE9yQS9kUGtYOWNXRStVUjV3by9BMlVkS0paTGxHaE0yV1JKM2x0bUdUNDhWOUNlUzZOOVkKbTRDS2R6dmc3RVdqbFRsRnJkLzhXSjJLb3FPRTlsZURQZVhSUG5jdWJKZko2TExJSHlHMDloOWtLUUFSQVFBQgp0RHBEWlc1MFQxTWdLRU5sYm5SUFV5QlBabVpwWTJsaGJDQlRhV2R1YVc1bklFdGxlU2tnUEhObFkzVnlhWFI1ClFHTmxiblJ2Y3k1dmNtYytpUUkzQkJNQkFnQWhCUUpjekZzWkFoc0RCZ3NKQ0FjREFnWVZDQUlKQ2dzREZnSUIKQWg0QkFoZUFBQW9KRUFXMVZiT0VnOFpkak9zUC8yeWdTeEg5anFmZk9VOVNLeUpEbHJhTDJnSXV0cVozQjhwbApHeS9RbmI5UUQxRUpWYjRaeE9FaGNZMlc5VkpmSXBuZjN5QnVBdG83enZLZS9HMW54SDRCdDZXVEpRQ2tVamNzCk4zcVBXc3gxVnNsc0FFejdiWEdpSHltNkF5NHhGMjhiUTlYWUlva0lRWGQwVDJyRDMvbE5HeE50T1JaMmJLakQKdk96WXp2aDJpZFVJWTFEZ0dXSjExZ3RIRklBOUN2SGNXK1NNUEVoa2NLWkpBTzUxYXlGQnFUU1NwaW9yVndUcQphMGNCK2NnbUNRT0k0L01ZK2tJdnpvZXhmRzd4aGtVcWUwd3htcGg5UlFReGxUYk5RRENkYXhTZ3diRjJUK2d3CmJ5YUR2a1M0eHRSNlNvajdCS2pLQW1jbmY1Zm40QzVPcjBLTFVxTXpCdERNYmZRUWlobjYyaVpKTjZaWi80ZGcKcTRIVHF5VnB5dXpNWHNGcEo5TC9GcUgyREo0ZXhHR3BCdjAwYmEvWmF1eTdHc3FPYzVQbk5Cc1lhSENwbHkwWAo0MDdEUng1MXQ5WXdZSS90dFZhbHVlaHE5K2dSSnBPVFRLcDZBalpuL2E1WXQzaDZqRGdwTmZNL0V5TEZJWTl6ClY2Q1hxUVEvOEpSdmFpay9Kc0dDZitlZUxaT3c0a29JalpHRUFnMDRpdXlOVGpoeDBlL1FIRVZjWUFxTkxoWEcKckNUVGJDbjNOU1VPOXF4RVhDK0svMW0xa2FYb0NHQTBVV2xWR1oxSlNpZmJiTXgweXhxL2JycEVaUFVZbSszMgpvOFhmYm9jQldsakZVSis2YWxqVHZaM0xRTEtUU1BXN1RGTytHWHljQU9tQ0dobFhoMnRsYzZpVGM0MVBBQ3F5Cnl5K21IbVN2Cj1ra0g3Ci0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0K"}}}
diff --git a/tests/test.rpm b/tests/test.rpm
new file mode 100644
index 0000000000000000000000000000000000000000..051b6ccb54574a8bdfdf106e14b50a92981127d0
GIT binary patch
literal 166888
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
b00HB&0@$<$4}{x!w&~v-0ssI2018=Ji-h-&

literal 0
HcmV?d00001

diff --git a/tests/test_rpm_public_key.key b/tests/test_rpm_public_key.key
new file mode 100644
index 0000000..30235a8
--- /dev/null
+++ b/tests/test_rpm_public_key.key
@@ -0,0 +1,30 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+mQINBFzMWxkBEADHrskpBgN9OphmhRkc7P/YrsAGSvvl7kfu+e9KAaU6f5MeAVyn
+rIoM43syyGkgFyWgjZM8/rur7EMPY2yt+2q/1ZfLVCRn9856JqTIq0XRpDUe4nKQ
+8BlA7wDVZoSDxUZkSuTIyExbDf0cpw89Tcf62Mxmi8jh74vRlPy1PgjWL5494b3X
+5fxDidH4bqPZyxTBqPrUFuo+EfUVEqiGF94Ppq6ZUvrBGOVo1V1+Ifm9CGEK597c
+aevcGc1RFlgxIgN84UpuDjPR9/zSndwJ7XsXYvZ6HXcKGagRKsfYDWGPkA5cOL/e
+f+yObOnC43yPUvpggQ4KaNJ6+SMTZOKikM8yciyBwLqwrjo8FlJgkv8Vfag/2UR7
+JINbyqHHoLUhQ2m6HXSwK4YjtwidF9EUkaBZWrrskYR3IRZLXlWqeOi/+ezYOW0m
+vufrkcvsh+TKlVVnuwmEPjJ8mwUSpsLdfPJo1DHsd8FS03SCKPaXFdD7ePfEjiYk
+nHpQaKE01aWVSLUiygn7F7rYemGqV9Vt7tBw5pz0vqSC72a5E3zFzIIuHx6aANry
+Gat3aqU3qtBXOrA/dPkX9cWE+UR5wo/A2UdKJZLlGhM2WRJ3ltmGT48V9CeS6N9Y
+m4CKdzvg7EWjlTlFrd/8WJ2KoqOE9leDPeXRPncubJfJ6LLIHyG09h9kKQARAQAB
+tDpDZW50T1MgKENlbnRPUyBPZmZpY2lhbCBTaWduaW5nIEtleSkgPHNlY3VyaXR5
+QGNlbnRvcy5vcmc+iQI3BBMBAgAhBQJczFsZAhsDBgsJCAcDAgYVCAIJCgsDFgIB
+Ah4BAheAAAoJEAW1VbOEg8ZdjOsP/2ygSxH9jqffOU9SKyJDlraL2gIutqZ3B8pl
+Gy/Qnb9QD1EJVb4ZxOEhcY2W9VJfIpnf3yBuAto7zvKe/G1nxH4Bt6WTJQCkUjcs
+N3qPWsx1VslsAEz7bXGiHym6Ay4xF28bQ9XYIokIQXd0T2rD3/lNGxNtORZ2bKjD
+vOzYzvh2idUIY1DgGWJ11gtHFIA9CvHcW+SMPEhkcKZJAO51ayFBqTSSpiorVwTq
+a0cB+cgmCQOI4/MY+kIvzoexfG7xhkUqe0wxmph9RQQxlTbNQDCdaxSgwbF2T+gw
+byaDvkS4xtR6Soj7BKjKAmcnf5fn4C5Or0KLUqMzBtDMbfQQihn62iZJN6ZZ/4dg
+q4HTqyVpyuzMXsFpJ9L/FqH2DJ4exGGpBv00ba/Zauy7GsqOc5PnNBsYaHCply0X
+407DRx51t9YwYI/ttValuehq9+gRJpOTTKp6AjZn/a5Yt3h6jDgpNfM/EyLFIY9z
+V6CXqQQ/8JRvaik/JsGCf+eeLZOw4koIjZGEAg04iuyNTjhx0e/QHEVcYAqNLhXG
+rCTTbCn3NSUO9qxEXC+K/1m1kaXoCGA0UWlVGZ1JSifbbMx0yxq/brpEZPUYm+32
+o8XfbocBWljFUJ+6aljTvZ3LQLKTSPW7TFO+GXycAOmCGhlXh2tlc6iTc41PACqy
+yy+mHmSv
+=kkH7
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/tests/util.go b/tests/util.go
index d9f9830..84668de 100644
--- a/tests/util.go
+++ b/tests/util.go
@@ -62,12 +62,20 @@ func readFile(t *testing.T, p string) string {
 	return strings.TrimSpace(string(b))
 }
 
+func randomData(n int) ([]byte, error) {
+	rand.Seed(time.Now().UnixNano())
+	data := make([]byte, n)
+	if _, err := rand.Read(data[:]); err != nil {
+		return nil, err
+	}
+	return data, nil
+}
+
 func createArtifact(t *testing.T, artifactPath string) string {
 	t.Helper()
 	// First let's generate some random data so we don't have to worry about dupes.
-	rand.Seed(time.Now().UnixNano())
-	data := [100]byte{}
-	if _, err := rand.Read(data[:]); err != nil {
+	data, err := randomData(100)
+	if err != nil {
 		t.Fatal(err)
 	}
 
-- 
GitLab