diff --git a/go.mod b/go.mod index 6449081..1151966 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,10 @@ require ( github.com/sigstore/sigstore v1.1.1-0.20220217212907-e48ca03a5ba7 ) -require github.com/sigstore/cosign v1.6.0 +require ( + github.com/sigstore/cosign v1.6.0 + golang.org/x/mod v0.5.1 +) require ( cloud.google.com/go v0.100.2 // indirect @@ -178,7 +181,6 @@ require ( go.uber.org/multierr v1.7.0 // indirect go.uber.org/zap v1.21.0 // indirect golang.org/x/crypto v0.0.0-20220213190939-1e6e3497d506 // indirect - golang.org/x/mod v0.5.1 // indirect golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect diff --git a/main.go b/main.go index 8484b39..394378f 100644 --- a/main.go +++ b/main.go @@ -30,11 +30,16 @@ var ( binaryPath string source string branch string + tag string + versiontag string ) var defaultRekorAddr = "https://rekor.sigstore.dev" -func verify(ctx context.Context, provenancePath, artifactHash, source, branch string) error { +func verify(ctx context.Context, + provenancePath, artifactHash, source, branch string, + tag, versiontag *string, +) error { rClient, err := rekor.NewClient(defaultRekorAddr) if err != nil { return err @@ -83,6 +88,20 @@ func verify(ctx context.Context, provenancePath, artifactHash, source, branch st return err } + // Verify the tag. + if tag != nil { + if err := pkg.VerifyTag(env, *tag); err != nil { + return err + } + } + + // Verify the versioned tag. + if versiontag != nil { + if err := pkg.VerifyVersionedTag(env, *versiontag); err != nil { + return err + } + } + b, err := json.MarshalIndent(workflowInfo, "", "\t") if err != nil { return err @@ -96,7 +115,9 @@ func main() { flag.StringVar(&provenancePath, "provenance", "", "path to a provenance file") flag.StringVar(&binaryPath, "binary", "", "path to a binary to verify") flag.StringVar(&source, "source", "", "expected source repository that should have produced the binary, e.g. github.com/some/repo") - flag.StringVar(&branch, "branch", "main", "expected branch the binary was compiled from. Default: main") + flag.StringVar(&branch, "branch", "main", "expected branch the binary was compiled from") + flag.StringVar(&tag, "tag", "", "[optional] expected tag the binary was compiled from") + flag.StringVar(&versiontag, "versioned-tag", "", "[optional] expected version the binary was compiled from. Uses semantic version to match the tag") flag.Parse() if provenancePath == "" || binaryPath == "" || source == "" { @@ -104,6 +125,20 @@ func main() { os.Exit(1) } + var ptag, pversiontag *string + + if isFlagPassed("tag") { + ptag = &tag + } + if isFlagPassed("versioned-tag") { + pversiontag = &versiontag + } + + if pversiontag != nil && ptag != nil { + fmt.Fprintf(os.Stderr, "'version' and 'tag' options cannot be used together\n") + os.Exit(1) + } + f, err := os.Open(binaryPath) if err != nil { log.Fatal(err) @@ -118,10 +153,20 @@ func main() { ctx := context.Background() if err := verify(ctx, provenancePath, hex.EncodeToString(h.Sum(nil)), - source, - branch); err != nil { + source, branch, + ptag, pversiontag); err != nil { log.Fatal(err) } fmt.Println("successfully verified SLSA provenance") } + +func isFlagPassed(name string) bool { + found := false + flag.Visit(func(f *flag.Flag) { + if f.Name == name { + found = true + } + }) + return found +} diff --git a/pkg/provenance.go b/pkg/provenance.go index 6bf4a6f..fdc4a34 100644 --- a/pkg/provenance.go +++ b/pkg/provenance.go @@ -14,6 +14,8 @@ import ( "strings" "time" + "golang.org/x/mod/semver" + cjson "github.com/docker/go/canonical/json" "github.com/go-openapi/runtime" "github.com/google/trillian/merkle/logverifier" @@ -45,11 +47,14 @@ const ( ) var ( - errorInvalidDssePayload = errors.New("invalid DSSE envelope payload") - errorRekorSearch = errors.New("error searching rekor entries") - errorMismatchHash = errors.New("binary artifact hash does not match provenance subject") - errorMismatchBranch = errors.New("branch used to generate the binary does not match provenance") - errorInvalidVersion = errors.New("invalid version") + errorInvalidDssePayload = errors.New("invalid DSSE envelope payload") + errorRekorSearch = errors.New("error searching rekor entries") + errorMismatchHash = errors.New("binary artifact hash does not match provenance subject") + errorMismatchBranch = errors.New("branch used to generate the binary does not match provenance") + errorMismatchTag = errors.New("tag used to generate the binary does not match provenance") + errorMismatchVersionedTag = errors.New("tag used to generate the binary does not match provenance") + errorInvalidSemver = errors.New("invalid semantic version") + errorInvalidVersion = errors.New("invalid version") ) func EnvelopeFromBytes(payload []byte) (env *dsselib.Envelope, err error) { @@ -414,6 +419,42 @@ func VerifyBranch(env *dsselib.Envelope, expectedBranch string) error { return nil } +func VerifyTag(env *dsselib.Envelope, expectedTag string) error { + tag, err := getTag(env) + if err != nil { + return err + } + + if !strings.EqualFold(tag, "refs/tags/"+expectedTag) { + return fmt.Errorf("tag '%s': %w", tag, errorMismatchTag) + } + + return nil +} + +func VerifyVersionedTag(env *dsselib.Envelope, expectedTag string) error { + if !semver.IsValid(expectedTag) { + return fmt.Errorf("%s: %w", expectedTag, errorInvalidSemver) + } + + tag, err := getTag(env) + if err != nil { + return err + } + + semTag := strings.TrimPrefix(tag, "refs/tags/") + if !semver.IsValid(semTag) { + return fmt.Errorf("%s: %w", expectedTag, errorInvalidSemver) + } + + if semver.Compare(semTag, expectedTag) < 0 { + return errorMismatchVersionedTag + } + + // Match. + return nil +} + func getAsInt(parameters map[string]interface{}, field string) (int, error) { value, ok := parameters[field] if !ok { @@ -454,7 +495,7 @@ func getBaseRef(parameters map[string]interface{}) (string, error) { } // Look at the event payload instead. - // We don't do thatt it all the time because the payload + // We don't do that for all triggers because the payload // is event-specific; and only the `push` event seems to have a `base_ref``. eventName, err := getAsString(parameters, "event_name") if err != nil { @@ -478,6 +519,44 @@ func getBaseRef(parameters map[string]interface{}) (string, error) { return getAsString(payload, "base_ref") } +// Get tag from the provenance invocation parameters. +func getTag(env *dsselib.Envelope) (string, error) { + pyld, err := base64.StdEncoding.DecodeString(env.Payload) + if err != nil { + return "", fmt.Errorf("%w: %s", errorInvalidDssePayload, "decoding payload") + } + + var prov intoto.ProvenanceStatement + if err := json.Unmarshal([]byte(pyld), &prov); err != nil { + return "", fmt.Errorf("%w: %s", errorInvalidDssePayload, "unmarshalling json") + } + + parameters, ok := prov.Predicate.Invocation.Parameters.(map[string]interface{}) + if !ok { + return "", fmt.Errorf("%w: %s", errorInvalidDssePayload, "parameters type") + } + + // Validate version. + if err := validateVersion(parameters); err != nil { + return "", err + } + + refType, err := getAsString(parameters, "ref_type") + if err != nil { + return "", err + } + + switch refType { + case "branch": + return "", nil + case "tag": + return getAsString(parameters, "ref") + default: + return "", fmt.Errorf("%w: %s %s", errorInvalidDssePayload, + "unknown ref type", refType) + } +} + // Get branch from the provenance invocation parameters. func getBranch(env *dsselib.Envelope) (string, error) { pyld, err := base64.StdEncoding.DecodeString(env.Payload) @@ -495,14 +574,10 @@ func getBranch(env *dsselib.Envelope) (string, error) { return "", fmt.Errorf("%w: %s", errorInvalidDssePayload, "parameters type") } - // Version. - version, err := getAsInt(parameters, "version") - if err != nil { + // Validate version. + if err := validateVersion(parameters); err != nil { return "", err } - if version != 1 { - return "", fmt.Errorf("%w", errorInvalidVersion) - } refType, err := getAsString(parameters, "ref_type") if err != nil { @@ -519,3 +594,14 @@ func getBranch(env *dsselib.Envelope) (string, error) { "unknown ref type", refType) } } + +func validateVersion(parameters map[string]interface{}) error { + version, err := getAsInt(parameters, "version") + if err != nil { + return err + } + if version != 1 { + return fmt.Errorf("%w", errorInvalidVersion) + } + return nil +} diff --git a/pkg/provenance_test.go b/pkg/provenance_test.go index 9eeeda1..96fc083 100644 --- a/pkg/provenance_test.go +++ b/pkg/provenance_test.go @@ -304,3 +304,232 @@ func Test_VerifyBranch(t *testing.T) { }) } } + +func Test_VerifyTag(t *testing.T) { + t.Parallel() + tests := []struct { + name string + path string + tag string + expected error + }{ + { + name: "ref main", + path: "./testdata/dsse-main-ref.intoto.jsonl", + expected: errorMismatchTag, + }, + { + name: "ref branch3", + path: "./testdata/dsse-branch3-ref.intoto.jsonl", + expected: errorMismatchTag, + }, + { + name: "invalid ref type", + path: "./testdata/dsse-invalid-ref-type.intoto.jsonl", + expected: errorInvalidDssePayload, + }, + { + name: "invalid version", + path: "./testdata/dsse-invalid-version.intoto.jsonl", + expected: errorInvalidVersion, + }, + { + name: "tag vslsa1", + path: "./testdata/dsse-vslsa1-tag.intoto.jsonl", + tag: "vslsa1", + }, + } + for _, tt := range tests { + tt := tt // Re-initializing variable so it is not changed while executing the closure below + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + content, err := os.ReadFile(tt.path) + if err != nil { + panic(fmt.Errorf("os.ReadFile: %w", err)) + } + env, err := envelopeFromBytes(content) + if err != nil { + panic(fmt.Errorf("envelopeFromBytes: %w", err)) + } + + err = VerifyTag(env, tt.tag) + if !errCmp(err, tt.expected) { + t.Errorf(cmp.Diff(err, tt.expected)) + } + }) + } +} + +func Test_VerifyVersionedTag(t *testing.T) { + t.Parallel() + tests := []struct { + name string + path string + tag string + expected error + }{ + { + name: "ref main", + path: "./testdata/dsse-main-ref.intoto.jsonl", + expected: errorInvalidSemver, + tag: "v1.2.3", + }, + { + name: "ref branch3", + path: "./testdata/dsse-branch3-ref.intoto.jsonl", + expected: errorInvalidSemver, + tag: "v1.2.3", + }, + { + name: "tag v1.2 invalid versioning", + path: "./testdata/dsse-v1.2-tag.intoto.jsonl", + tag: "1.2", + expected: errorInvalidSemver, + }, + + { + name: "invalid ref", + path: "./testdata/dsse-invalid-ref-type.intoto.jsonl", + expected: errorInvalidDssePayload, + tag: "v1.2.3", + }, + { + name: "invalid version", + path: "./testdata/dsse-invalid-version.intoto.jsonl", + expected: errorInvalidVersion, + tag: "v1.2.3", + }, + { + name: "tag vslsa1 invalid", + path: "./testdata/dsse-vslsa1-tag.intoto.jsonl", + tag: "vslsa1", + expected: errorInvalidSemver, + }, + { + name: "tag vslsa1 invalid semver", + path: "./testdata/dsse-vslsa1-tag.intoto.jsonl", + tag: "v1.2.3", + expected: errorInvalidSemver, + }, + { + name: "tag v1.2.3 exact match", + path: "./testdata/dsse-v1.2.3-tag.intoto.jsonl", + tag: "v1.2.3", + }, + { + name: "tag v1.2.3 match v1.2", + path: "./testdata/dsse-v1.2.3-tag.intoto.jsonl", + tag: "v1.2", + }, + { + name: "tag v1.2.3 match v1", + path: "./testdata/dsse-v1.2.3-tag.intoto.jsonl", + tag: "v1", + }, + { + name: "tag v1.2.3 no match v2", + path: "./testdata/dsse-v1.2.3-tag.intoto.jsonl", + tag: "v2", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1.2.3 no match v1.3", + path: "./testdata/dsse-v1.2.3-tag.intoto.jsonl", + tag: "v1.3", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1.2.3 no match v1.2.4", + path: "./testdata/dsse-v1.2.3-tag.intoto.jsonl", + tag: "v1.2.4", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1.2 exact v1.2", + path: "./testdata/dsse-v1.2-tag.intoto.jsonl", + tag: "v1.2", + }, + { + name: "tag v1.2 match v1", + path: "./testdata/dsse-v1.2-tag.intoto.jsonl", + tag: "v1", + }, + { + name: "tag v1.2 no match v1.3", + path: "./testdata/dsse-v1.2-tag.intoto.jsonl", + tag: "v1.3", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1.2 no match v1.2.3", + path: "./testdata/dsse-v1.2-tag.intoto.jsonl", + tag: "v1.2.3", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1.2 match v1.2.0", + path: "./testdata/dsse-v1.2-tag.intoto.jsonl", + tag: "v1.2.0", + }, + { + name: "tag v1.2 no match v2", + path: "./testdata/dsse-v1.2-tag.intoto.jsonl", + tag: "v2", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1 exact match", + path: "./testdata/dsse-v1-tag.intoto.jsonl", + tag: "v1", + }, + { + name: "tag v1 no match v2", + path: "./testdata/dsse-v1-tag.intoto.jsonl", + tag: "v2", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1 no match v1.2", + path: "./testdata/dsse-v1-tag.intoto.jsonl", + tag: "v1.2", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1 no match v1.2.3", + path: "./testdata/dsse-v1-tag.intoto.jsonl", + tag: "v1.2.3", + expected: errorMismatchVersionedTag, + }, + { + name: "tag v1 match v1.0", + path: "./testdata/dsse-v1-tag.intoto.jsonl", + tag: "v1.0", + }, + { + name: "tag v1 match v1.0.0", + path: "./testdata/dsse-v1-tag.intoto.jsonl", + tag: "v1.0.0", + }, + } + for _, tt := range tests { + tt := tt // Re-initializing variable so it is not changed while executing the closure below + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + content, err := os.ReadFile(tt.path) + if err != nil { + panic(fmt.Errorf("os.ReadFile: %w", err)) + } + env, err := envelopeFromBytes(content) + if err != nil { + panic(fmt.Errorf("envelopeFromBytes: %w", err)) + } + + err = VerifyVersionedTag(env, tt.tag) + if !errCmp(err, tt.expected) { + t.Errorf(cmp.Diff(err, tt.expected)) + } + }) + } +} diff --git a/pkg/testdata/dsse-invalid-version-valid-tag.intoto.jsonl b/pkg/testdata/dsse-invalid-version-valid-tag.intoto.jsonl new file mode 100644 index 0000000..a7a4ae2 --- /dev/null +++ b/pkg/testdata/dsse-invalid-version-valid-tag.intoto.jsonl @@ -0,0 +1,10 @@ +{ + "payloadType": "application/vnd.in-toto+json", + "payload": "ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4yIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAic2NvcmVjYXJkLWxpbnV4LWFtZDY0IiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjczNTUzNmYzMzk2NDM4ZTc5YjFjZTIwYzA0NzU1ZGFkOTA5YTRlOGYxNTkxOWZiNmFhYWU5YTQ1OGNkYWE2ZjgiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ28vbGF1cmVudHNpbW9uL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci1nby8uZ2l0aHViL3dvcmtmbG93cy9idWlsZGVyLnltbEByZWZzL2hlYWRzL2ZlYXQvYnVpbGRlcmlkIgogICAgfSwKICAgICJidWlsZFR5cGUiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nsc2EtZnJhbWV3b3JrL3Nsc2EtZ2l0aHViLWdlbmVyYXRvci1nb0B2MSIsCiAgICAiaW52b2NhdGlvbiI6IHsKICAgICAgImNvbmZpZ1NvdXJjZSI6IHsKICAgICAgICAidXJpIjogImdpdCtodHRwczovL2dpdGh1Yi5jb210ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmRAcmVmcy9oZWFkcy9tYWluLmdpdCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGExIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgICAgfSwKICAgICAgICAiZW50cnlQb2ludCI6ICJUZXN0IFNMU0EiCiAgICAgIH0sCiAgICAgICJwYXJhbWV0ZXJzIjogewogICAgICAgICJ2ZXJzaW9uIjogMCwKICAgICAgICAiZXZlbnRfbmFtZSI6ICJ3b3JrZmxvd19kaXNwYXRjaCIsCiAgICAgICAgImV2ZW50X3BheWxvYWQiOiB7CiAgICAgICAgICAiaW5wdXRzIjogbnVsbCwKICAgICAgICAgICJvcmdhbml6YXRpb24iOiB7CiAgICAgICAgICAgICJhdmF0YXJfdXJsIjogImh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS85NzQ4MjU1Nz92PTQiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiBudWxsLAogICAgICAgICAgICAiZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvZXZlbnRzIiwKICAgICAgICAgICAgImhvb2tzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvaG9va3MiLAogICAgICAgICAgICAiaWQiOiA5NzQ4MjU1NywKICAgICAgICAgICAgImlzc3Vlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2lzc3VlcyIsCiAgICAgICAgICAgICJsb2dpbiI6ICJ0ZXN0LW9yZ2FuaXphdGlvbi1scyIsCiAgICAgICAgICAgICJtZW1iZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvbWVtYmVyc3svbWVtYmVyfSIsCiAgICAgICAgICAgICJub2RlX2lkIjogIk9fa2dET0JjOTNQUSIsCiAgICAgICAgICAgICJwdWJsaWNfbWVtYmVyc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3B1YmxpY19tZW1iZXJzey9tZW1iZXJ9IiwKICAgICAgICAgICAgInJlcG9zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvcmVwb3MiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scyIKICAgICAgICAgIH0sCiAgICAgICAgICAicmVmIjogInJlZnMvaGVhZHMvbWFpbiIsCiAgICAgICAgICAicmVwb3NpdG9yeSI6IHsKICAgICAgICAgICAgImFsbG93X2ZvcmtpbmciOiB0cnVlLAogICAgICAgICAgICAiYXJjaGl2ZV91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQve2FyY2hpdmVfZm9ybWF0fXsvcmVmfSIsCiAgICAgICAgICAgICJhcmNoaXZlZCI6IGZhbHNlLAogICAgICAgICAgICAiYXNzaWduZWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9hc3NpZ25lZXN7L3VzZXJ9IiwKICAgICAgICAgICAgImJsb2JzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvYmxvYnN7L3NoYX0iLAogICAgICAgICAgICAiYnJhbmNoZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2JyYW5jaGVzey9icmFuY2h9IiwKICAgICAgICAgICAgImNsb25lX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJjb2xsYWJvcmF0b3JzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb2xsYWJvcmF0b3Jzey9jb2xsYWJvcmF0b3J9IiwKICAgICAgICAgICAgImNvbW1lbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb21tZW50c3svbnVtYmVyfSIsCiAgICAgICAgICAgICJjb21taXRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb21taXRzey9zaGF9IiwKICAgICAgICAgICAgImNvbXBhcmVfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbXBhcmUve2Jhc2V9Li4ue2hlYWR9IiwKICAgICAgICAgICAgImNvbnRlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb250ZW50cy97K3BhdGh9IiwKICAgICAgICAgICAgImNvbnRyaWJ1dG9yc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29udHJpYnV0b3JzIiwKICAgICAgICAgICAgImNyZWF0ZWRfYXQiOiAiMjAyMi0wMi0xNVQxNzozMjo1NFoiLAogICAgICAgICAgICAiZGVmYXVsdF9icmFuY2giOiAibWFpbiIsCiAgICAgICAgICAgICJkZXBsb3ltZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZGVwbG95bWVudHMiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VjdXJpdHkgU2NvcmVjYXJkcyAtIFNlY3VyaXR5IGhlYWx0aCBtZXRyaWNzIGZvciBPcGVuIFNvdXJjZSIsCiAgICAgICAgICAgICJkaXNhYmxlZCI6IGZhbHNlLAogICAgICAgICAgICAiZG93bmxvYWRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9kb3dubG9hZHMiLAogICAgICAgICAgICAiZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9ldmVudHMiLAogICAgICAgICAgICAiZm9yayI6IHRydWUsCiAgICAgICAgICAgICJmb3JrcyI6IDAsCiAgICAgICAgICAgICJmb3Jrc19jb3VudCI6IDAsCiAgICAgICAgICAgICJmb3Jrc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZm9ya3MiLAogICAgICAgICAgICAiZnVsbF9uYW1lIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJnaXRfY29tbWl0c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZ2l0L2NvbW1pdHN7L3NoYX0iLAogICAgICAgICAgICAiZ2l0X3JlZnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC9yZWZzey9zaGF9IiwKICAgICAgICAgICAgImdpdF90YWdzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvdGFnc3svc2hhfSIsCiAgICAgICAgICAgICJnaXRfdXJsIjogImdpdDovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJoYXNfZG93bmxvYWRzIjogdHJ1ZSwKICAgICAgICAgICAgImhhc19pc3N1ZXMiOiBmYWxzZSwKICAgICAgICAgICAgImhhc19wYWdlcyI6IGZhbHNlLAogICAgICAgICAgICAiaGFzX3Byb2plY3RzIjogdHJ1ZSwKICAgICAgICAgICAgImhhc193aWtpIjogdHJ1ZSwKICAgICAgICAgICAgImhvbWVwYWdlIjogIiIsCiAgICAgICAgICAgICJob29rc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaG9va3MiLAogICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJpZCI6IDQ1OTY4MjQ2OSwKICAgICAgICAgICAgImlzX3RlbXBsYXRlIjogZmFsc2UsCiAgICAgICAgICAgICJpc3N1ZV9jb21tZW50X3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9pc3N1ZXMvY29tbWVudHN7L251bWJlcn0iLAogICAgICAgICAgICAiaXNzdWVfZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwKICAgICAgICAgICAgImlzc3Vlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaXNzdWVzey9udW1iZXJ9IiwKICAgICAgICAgICAgImtleXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2tleXN7L2tleV9pZH0iLAogICAgICAgICAgICAibGFiZWxzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9sYWJlbHN7L25hbWV9IiwKICAgICAgICAgICAgImxhbmd1YWdlIjogIkdvIiwKICAgICAgICAgICAgImxhbmd1YWdlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbGFuZ3VhZ2VzIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiB7CiAgICAgICAgICAgICAgImtleSI6ICJhcGFjaGUtMi4wIiwKICAgICAgICAgICAgICAibmFtZSI6ICJBcGFjaGUgTGljZW5zZSAyLjAiLAogICAgICAgICAgICAgICJub2RlX2lkIjogIk1EYzZUR2xqWlc1elpUST0iLAogICAgICAgICAgICAgICJzcGR4X2lkIjogIkFwYWNoZS0yLjAiLAogICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9saWNlbnNlcy9hcGFjaGUtMi4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWVyZ2VzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9tZXJnZXMiLAogICAgICAgICAgICAibWlsZXN0b25lc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbWlsZXN0b25lc3svbnVtYmVyfSIsCiAgICAgICAgICAgICJtaXJyb3JfdXJsIjogbnVsbCwKICAgICAgICAgICAgIm5hbWUiOiAic2NvcmVjYXJkIiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiUl9rZ0RPRzJZeXBRIiwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsCiAgICAgICAgICAgICJvcGVuX2lzc3VlcyI6IDAsCiAgICAgICAgICAgICJvcGVuX2lzc3Vlc19jb3VudCI6IDAsCiAgICAgICAgICAgICJvd25lciI6IHsKICAgICAgICAgICAgICAiYXZhdGFyX3VybCI6ICJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTc0ODI1NTc/dj00IiwKICAgICAgICAgICAgICAiZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2V2ZW50c3svcHJpdmFjeX0iLAogICAgICAgICAgICAgICJmb2xsb3dlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvZm9sbG93ZXJzIiwKICAgICAgICAgICAgICAiZm9sbG93aW5nX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLAogICAgICAgICAgICAgICJnaXN0c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9naXN0c3svZ2lzdF9pZH0iLAogICAgICAgICAgICAgICJncmF2YXRhcl9pZCI6ICIiLAogICAgICAgICAgICAgICJodG1sX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMiLAogICAgICAgICAgICAgICJpZCI6IDk3NDgyNTU3LAogICAgICAgICAgICAgICJsb2dpbiI6ICJ0ZXN0LW9yZ2FuaXphdGlvbi1scyIsCiAgICAgICAgICAgICAgIm5vZGVfaWQiOiAiT19rZ0RPQmM5M1BRIiwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9vcmdzIiwKICAgICAgICAgICAgICAicmVjZWl2ZWRfZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3JlY2VpdmVkX2V2ZW50cyIsCiAgICAgICAgICAgICAgInJlcG9zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3JlcG9zIiwKICAgICAgICAgICAgICAic2l0ZV9hZG1pbiI6IGZhbHNlLAogICAgICAgICAgICAgICJzdGFycmVkX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLAogICAgICAgICAgICAgICJzdWJzY3JpcHRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3N1YnNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICJ0eXBlIjogIk9yZ2FuaXphdGlvbiIsCiAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicHJpdmF0ZSI6IGZhbHNlLAogICAgICAgICAgICAicHVsbHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3B1bGxzey9udW1iZXJ9IiwKICAgICAgICAgICAgInB1c2hlZF9hdCI6ICIyMDIyLTAzLTI5VDE2OjI0OjI5WiIsCiAgICAgICAgICAgICJyZWxlYXNlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvcmVsZWFzZXN7L2lkfSIsCiAgICAgICAgICAgICJzaXplIjogMzY4NjksCiAgICAgICAgICAgICJzc2hfdXJsIjogImdpdEBnaXRodWIuY29tOnRlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC5naXQiLAogICAgICAgICAgICAic3RhcmdhemVyc19jb3VudCI6IDAsCiAgICAgICAgICAgICJzdGFyZ2F6ZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9zdGFyZ2F6ZXJzIiwKICAgICAgICAgICAgInN0YXR1c2VzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9zdGF0dXNlcy97c2hhfSIsCiAgICAgICAgICAgICJzdWJzY3JpYmVyc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3Vic2NyaWJlcnMiLAogICAgICAgICAgICAic3Vic2NyaXB0aW9uX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9zdWJzY3JpcHRpb24iLAogICAgICAgICAgICAic3ZuX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkIiwKICAgICAgICAgICAgInRhZ3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3RhZ3MiLAogICAgICAgICAgICAidGVhbXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3RlYW1zIiwKICAgICAgICAgICAgInRvcGljcyI6IFtdLAogICAgICAgICAgICAidHJlZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC90cmVlc3svc2hhfSIsCiAgICAgICAgICAgICJ1cGRhdGVkX2F0IjogIjIwMjItMDItMTVUMTc6MzU6MDRaIiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJ2aXNpYmlsaXR5IjogInB1YmxpYyIsCiAgICAgICAgICAgICJ3YXRjaGVycyI6IDAsCiAgICAgICAgICAgICJ3YXRjaGVyc19jb3VudCI6IDAKICAgICAgICAgIH0sCiAgICAgICAgICAic2VuZGVyIjogewogICAgICAgICAgICAiYXZhdGFyX3VybCI6ICJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjQ1MDUwOTk/dj00IiwKICAgICAgICAgICAgImV2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZXZlbnRzey9wcml2YWN5fSIsCiAgICAgICAgICAgICJmb2xsb3dlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2VycyIsCiAgICAgICAgICAgICJmb2xsb3dpbmdfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLAogICAgICAgICAgICAiZ2lzdHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2dpc3Rzey9naXN0X2lkfSIsCiAgICAgICAgICAgICJncmF2YXRhcl9pZCI6ICIiLAogICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbiIsCiAgICAgICAgICAgICJpZCI6IDY0NTA1MDk5LAogICAgICAgICAgICAibG9naW4iOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiTURRNlZYTmxjalkwTlRBMU1EazUiLAogICAgICAgICAgICAib3JnYW5pemF0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vb3JncyIsCiAgICAgICAgICAgICJyZWNlaXZlZF9ldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlY2VpdmVkX2V2ZW50cyIsCiAgICAgICAgICAgICJyZXBvc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vcmVwb3MiLAogICAgICAgICAgICAic2l0ZV9hZG1pbiI6IGZhbHNlLAogICAgICAgICAgICAic3RhcnJlZF91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsCiAgICAgICAgICAgICJzdWJzY3JpcHRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9zdWJzY3JpcHRpb25zIiwKICAgICAgICAgICAgInR5cGUiOiAiVXNlciIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24iCiAgICAgICAgICB9LAogICAgICAgICAgIndvcmtmbG93IjogIi5naXRodWIvd29ya2Zsb3dzL3Nsc2EtYnVpbGQueW1sIgogICAgICAgIH0sCiAgICAgICAgInJlZl90eXBlIjogInRhZyIsCiAgICAgICAgInJlZiI6ICJyZWZzL3RhZ3MvdjEuMi4zIiwKICAgICAgICAiYmFzZV9yZWYiOiAicmVmcy9oZWFkcy9tYWluIiwKICAgICAgICAiaGVhZF9yZWYiOiAiIiwKICAgICAgICAiYWN0b3IiOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAic2hhMSI6ICI3MWE2MTI1MzA3NWJjYjk4NzU0OTFlZjg4MjljMDllN2E0NTVhZjYxIgogICAgICB9LAogICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgImFyY2giOiAiYW1kNjQiLAogICAgICAgICJnaXRodWJfZXZlbnRfbmFtZSI6ICJ3b3JrZmxvd19kaXNwYXRjaCIsCiAgICAgICAgImdpdGh1Yl9ydW5fYXR0ZW1wdCI6ICIxIiwKICAgICAgICAiZ2l0aHViX3J1bl9pZCI6ICIyMDYxMTI4NTkzIiwKICAgICAgICAiZ2l0aHViX3J1bl9udW1iZXIiOiAiNDAiLAogICAgICAgICJvcyI6ICJ1YnVudHUiCiAgICAgIH0KICAgIH0sCiAgICAiYnVpbGRDb25maWciOiB7CiAgICAgICJ2ZXJzaW9uIjogMSwKICAgICAgInN0ZXBzIjogWwogICAgICAgIHsKICAgICAgICAgICJjb21tYW5kIjogWwogICAgICAgICAgICAiL29wdC9ob3N0ZWR0b29sY2FjaGUvZ28vMS4xNy43L3g2NC9iaW4vZ28iLAogICAgICAgICAgICAiYnVpbGQiLAogICAgICAgICAgICAiLW1vZD12ZW5kb3IiLAogICAgICAgICAgICAiLXRyaW1wYXRoIiwKICAgICAgICAgICAgIi10YWdzPW5ldGdvIiwKICAgICAgICAgICAgIi1sZGZsYWdzPS1YIGdpdGh1Yi5jb20vb3NzZi9zY29yZWNhcmQvdjQvcGtnLmdpdFZlcnNpb249c2xzYS12MTEtMjEtZzcxYTYxMjUgLVggZ2l0aHViLmNvbS9vc3NmL3Njb3JlY2FyZC92NC9wa2cuZ2l0Q29tbWl0PTcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEgLVggZ2l0aHViLmNvbS9vc3NmL3Njb3JlY2FyZC92NC9wa2cuZ2l0VHJlZVN0YXRlPWNsZWFuIC1YIGdpdGh1Yi5jb20vb3NzZi9zY29yZWNhcmQvdjQvcGtnLmJ1aWxkRGF0ZT0xNjQ4NTcxMDY5IC13IC1leHRsZGZsYWdzIFwiLXN0YXRpY1wiIiwKICAgICAgICAgICAgIi1vIiwKICAgICAgICAgICAgInNjb3JlY2FyZC1saW51eC1hbWQ2NCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZW52IjogWwogICAgICAgICAgICAiR09PUz1saW51eCIsCiAgICAgICAgICAgICJHT0FSQ0g9YW1kNjQiLAogICAgICAgICAgICAiR08xMTFNT0RVTEU9b24iLAogICAgICAgICAgICAiQ0dPX0VOQUJMRUQ9MCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAibWF0ZXJpYWxzIjogWwogICAgICB7CiAgICAgICAgInVyaSI6ICJnaXQrdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGExIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgICAgfQogICAgICB9CiAgICBdCiAgfQp9Cg==", + "signatures": [ + { + "keyid": "", + "sig": "MEUCIEwWbVseiTC9e2Ry29kJgihB7KtS9rwqQz8cAs4NLTVRAiEA8CYarEs2Ri+iIgJ82Hjr3Ht999ZP0H/EbOm1ZWiEUeY=" + } + ] +} \ No newline at end of file diff --git a/pkg/testdata/dsse-v1-tag.intoto.jsonl b/pkg/testdata/dsse-v1-tag.intoto.jsonl new file mode 100644 index 0000000..297a72a --- /dev/null +++ b/pkg/testdata/dsse-v1-tag.intoto.jsonl @@ -0,0 +1,10 @@ +{ + "payloadType": "application/vnd.in-toto+json", + "payload": "ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4yIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAic2NvcmVjYXJkLWxpbnV4LWFtZDY0IiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMzMTNmNzU5ODE3OGM1ZjhlZTI4OTQwNWJmODUwMjgxMDVkODU3YWM2YzU2MDg2MDE4ODMyYzc0NDQwNTAxN2YiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ28vLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGRlci55bWxAbWFpbiIKICAgIH0sCiAgICAiYnVpbGRUeXBlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ29AdjEiLAogICAgImludm9jYXRpb24iOiB7CiAgICAgICJjb25maWdTb3VyY2UiOiB7CiAgICAgICAgInVyaSI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkQHJlZnMvdGFncy92c2xzYTEuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTEiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIKICAgICAgICB9LAogICAgICAgICJlbnRyeVBvaW50IjogIlRlc3QgU0xTQSIKICAgICAgfSwKICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgInZlcnNpb24iOiAxLAogICAgICAgICJldmVudF9uYW1lIjogInB1c2giLAogICAgICAgICJldmVudF9wYXlsb2FkIjogewogICAgICAgICAgImFmdGVyIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiLAogICAgICAgICAgImJhc2VfcmVmIjogInJlZnMvaGVhZHMvYnJhbmNoMiIsCiAgICAgICAgICAiYmVmb3JlIjogIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICAgImNvbW1pdHMiOiBbXSwKICAgICAgICAgICJjb21wYXJlIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tcGFyZS92c2xzYTEiLAogICAgICAgICAgImNyZWF0ZWQiOiB0cnVlLAogICAgICAgICAgImRlbGV0ZWQiOiBmYWxzZSwKICAgICAgICAgICJmb3JjZWQiOiBmYWxzZSwKICAgICAgICAgICJoZWFkX2NvbW1pdCI6IHsKICAgICAgICAgICAgImF1dGhvciI6IHsKICAgICAgICAgICAgICAiZW1haWwiOiAiNjQ1MDUwOTkrbGF1cmVudHNpbW9uQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbSIsCiAgICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgICAidXNlcm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29tbWl0dGVyIjogewogICAgICAgICAgICAgICJlbWFpbCI6ICJub3JlcGx5QGdpdGh1Yi5jb20iLAogICAgICAgICAgICAgICJuYW1lIjogIkdpdEh1YiIsCiAgICAgICAgICAgICAgInVzZXJuYW1lIjogIndlYi1mbG93IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdGluY3QiOiB0cnVlLAogICAgICAgICAgICAiaWQiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIsCiAgICAgICAgICAgICJtZXNzYWdlIjogIlVwZGF0ZSBzbHNhLWJ1aWxkLnltbCIsCiAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAiMjAyMi0wMy0yOVQwOToyNDoyOS0wNzowMCIsCiAgICAgICAgICAgICJ0cmVlX2lkIjogImVlZjE5ZTM2YzFmMWYzMDZkYzliYzQwZjY5MzY2NDYzMjQ4OGQ1NTYiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tbWl0LzcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgICAgICB9LAogICAgICAgICAgIm9yZ2FuaXphdGlvbiI6IHsKICAgICAgICAgICAgImF2YXRhcl91cmwiOiAiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk3NDgyNTU3P3Y9NCIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAgICAgICJldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ldmVudHMiLAogICAgICAgICAgICAiaG9va3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ob29rcyIsCiAgICAgICAgICAgICJpZCI6IDk3NDgyNTU3LAogICAgICAgICAgICAiaXNzdWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvaXNzdWVzIiwKICAgICAgICAgICAgImxvZ2luIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgIm1lbWJlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9tZW1iZXJzey9tZW1iZXJ9IiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiT19rZ0RPQmM5M1BRIiwKICAgICAgICAgICAgInB1YmxpY19tZW1iZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvcHVibGljX21lbWJlcnN7L21lbWJlcn0iLAogICAgICAgICAgICAicmVwb3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9yZXBvcyIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIgogICAgICAgICAgfSwKICAgICAgICAgICJwdXNoZXIiOiB7CiAgICAgICAgICAgICJlbWFpbCI6ICI2NDUwNTA5OStsYXVyZW50c2ltb25AdXNlcnMubm9yZXBseS5naXRodWIuY29tIiwKICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgfSwKICAgICAgICAgICJyZWYiOiAicmVmcy90YWdzL3YxIiwKICAgICAgICAgICJyZXBvc2l0b3J5IjogewogICAgICAgICAgICAiYWxsb3dfZm9ya2luZyI6IHRydWUsCiAgICAgICAgICAgICJhcmNoaXZlX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC97YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9IiwKICAgICAgICAgICAgImFyY2hpdmVkIjogZmFsc2UsCiAgICAgICAgICAgICJhc3NpZ25lZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2Fzc2lnbmVlc3svdXNlcn0iLAogICAgICAgICAgICAiYmxvYnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC9ibG9ic3svc2hhfSIsCiAgICAgICAgICAgICJicmFuY2hlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvYnJhbmNoZXN7L2JyYW5jaH0iLAogICAgICAgICAgICAiY2xvbmVfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQuZ2l0IiwKICAgICAgICAgICAgImNvbGxhYm9yYXRvcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbGxhYm9yYXRvcnN7L2NvbGxhYm9yYXRvcn0iLAogICAgICAgICAgICAiY29tbWVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbW1lbnRzey9udW1iZXJ9IiwKICAgICAgICAgICAgImNvbW1pdHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbW1pdHN7L3NoYX0iLAogICAgICAgICAgICAiY29tcGFyZV91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tcGFyZS97YmFzZX0uLi57aGVhZH0iLAogICAgICAgICAgICAiY29udGVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbnRlbnRzL3srcGF0aH0iLAogICAgICAgICAgICAiY29udHJpYnV0b3JzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb250cmlidXRvcnMiLAogICAgICAgICAgICAiY3JlYXRlZF9hdCI6IDE2NDQ5NDYzNzQsCiAgICAgICAgICAgICJkZWZhdWx0X2JyYW5jaCI6ICJtYWluIiwKICAgICAgICAgICAgImRlcGxveW1lbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9kZXBsb3ltZW50cyIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWN1cml0eSBTY29yZWNhcmRzIC0gU2VjdXJpdHkgaGVhbHRoIG1ldHJpY3MgZm9yIE9wZW4gU291cmNlIiwKICAgICAgICAgICAgImRpc2FibGVkIjogZmFsc2UsCiAgICAgICAgICAgICJkb3dubG9hZHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2Rvd25sb2FkcyIsCiAgICAgICAgICAgICJldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2V2ZW50cyIsCiAgICAgICAgICAgICJmb3JrIjogdHJ1ZSwKICAgICAgICAgICAgImZvcmtzIjogMCwKICAgICAgICAgICAgImZvcmtzX2NvdW50IjogMCwKICAgICAgICAgICAgImZvcmtzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9mb3JrcyIsCiAgICAgICAgICAgICJmdWxsX25hbWUiOiAidGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkIiwKICAgICAgICAgICAgImdpdF9jb21taXRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvY29tbWl0c3svc2hhfSIsCiAgICAgICAgICAgICJnaXRfcmVmc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZ2l0L3JlZnN7L3NoYX0iLAogICAgICAgICAgICAiZ2l0X3RhZ3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC90YWdzey9zaGF9IiwKICAgICAgICAgICAgImdpdF91cmwiOiAiZ2l0Oi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQuZ2l0IiwKICAgICAgICAgICAgImhhc19kb3dubG9hZHMiOiB0cnVlLAogICAgICAgICAgICAiaGFzX2lzc3VlcyI6IGZhbHNlLAogICAgICAgICAgICAiaGFzX3BhZ2VzIjogZmFsc2UsCiAgICAgICAgICAgICJoYXNfcHJvamVjdHMiOiB0cnVlLAogICAgICAgICAgICAiaGFzX3dpa2kiOiB0cnVlLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiIiwKICAgICAgICAgICAgImhvb2tzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9ob29rcyIsCiAgICAgICAgICAgICJodG1sX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkIiwKICAgICAgICAgICAgImlkIjogNDU5NjgyNDY5LAogICAgICAgICAgICAiaXNfdGVtcGxhdGUiOiBmYWxzZSwKICAgICAgICAgICAgImlzc3VlX2NvbW1lbnRfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIsCiAgICAgICAgICAgICJpc3N1ZV9ldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2lzc3Vlcy9ldmVudHN7L251bWJlcn0iLAogICAgICAgICAgICAiaXNzdWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9pc3N1ZXN7L251bWJlcn0iLAogICAgICAgICAgICAia2V5c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQva2V5c3sva2V5X2lkfSIsCiAgICAgICAgICAgICJsYWJlbHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2xhYmVsc3svbmFtZX0iLAogICAgICAgICAgICAibGFuZ3VhZ2UiOiAiR28iLAogICAgICAgICAgICAibGFuZ3VhZ2VzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9sYW5ndWFnZXMiLAogICAgICAgICAgICAibGljZW5zZSI6IHsKICAgICAgICAgICAgICAia2V5IjogImFwYWNoZS0yLjAiLAogICAgICAgICAgICAgICJuYW1lIjogIkFwYWNoZSBMaWNlbnNlIDIuMCIsCiAgICAgICAgICAgICAgIm5vZGVfaWQiOiAiTURjNlRHbGpaVzV6WlRJPSIsCiAgICAgICAgICAgICAgInNwZHhfaWQiOiAiQXBhY2hlLTIuMCIsCiAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL2xpY2Vuc2VzL2FwYWNoZS0yLjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtYXN0ZXJfYnJhbmNoIjogIm1haW4iLAogICAgICAgICAgICAibWVyZ2VzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9tZXJnZXMiLAogICAgICAgICAgICAibWlsZXN0b25lc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbWlsZXN0b25lc3svbnVtYmVyfSIsCiAgICAgICAgICAgICJtaXJyb3JfdXJsIjogbnVsbCwKICAgICAgICAgICAgIm5hbWUiOiAic2NvcmVjYXJkIiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiUl9rZ0RPRzJZeXBRIiwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsCiAgICAgICAgICAgICJvcGVuX2lzc3VlcyI6IDAsCiAgICAgICAgICAgICJvcGVuX2lzc3Vlc19jb3VudCI6IDAsCiAgICAgICAgICAgICJvcmdhbml6YXRpb24iOiAidGVzdC1vcmdhbml6YXRpb24tbHMiLAogICAgICAgICAgICAib3duZXIiOiB7CiAgICAgICAgICAgICAgImF2YXRhcl91cmwiOiAiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk3NDgyNTU3P3Y9NCIsCiAgICAgICAgICAgICAgImVtYWlsIjogbnVsbCwKICAgICAgICAgICAgICAiZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2V2ZW50c3svcHJpdmFjeX0iLAogICAgICAgICAgICAgICJmb2xsb3dlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvZm9sbG93ZXJzIiwKICAgICAgICAgICAgICAiZm9sbG93aW5nX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLAogICAgICAgICAgICAgICJnaXN0c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9naXN0c3svZ2lzdF9pZH0iLAogICAgICAgICAgICAgICJncmF2YXRhcl9pZCI6ICIiLAogICAgICAgICAgICAgICJodG1sX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMiLAogICAgICAgICAgICAgICJpZCI6IDk3NDgyNTU3LAogICAgICAgICAgICAgICJsb2dpbiI6ICJ0ZXN0LW9yZ2FuaXphdGlvbi1scyIsCiAgICAgICAgICAgICAgIm5hbWUiOiAidGVzdC1vcmdhbml6YXRpb24tbHMiLAogICAgICAgICAgICAgICJub2RlX2lkIjogIk9fa2dET0JjOTNQUSIsCiAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvb3JncyIsCiAgICAgICAgICAgICAgInJlY2VpdmVkX2V2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9yZWNlaXZlZF9ldmVudHMiLAogICAgICAgICAgICAgICJyZXBvc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9yZXBvcyIsCiAgICAgICAgICAgICAgInNpdGVfYWRtaW4iOiBmYWxzZSwKICAgICAgICAgICAgICAic3RhcnJlZF91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zdGFycmVkey9vd25lcn17L3JlcG99IiwKICAgICAgICAgICAgICAic3Vic2NyaXB0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zdWJzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAidHlwZSI6ICJPcmdhbml6YXRpb24iLAogICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInByaXZhdGUiOiBmYWxzZSwKICAgICAgICAgICAgInB1bGxzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9wdWxsc3svbnVtYmVyfSIsCiAgICAgICAgICAgICJwdXNoZWRfYXQiOiAxNjQ4NTk0Njk0LAogICAgICAgICAgICAicmVsZWFzZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3JlbGVhc2Vzey9pZH0iLAogICAgICAgICAgICAic2l6ZSI6IDM2ODY5LAogICAgICAgICAgICAic3NoX3VybCI6ICJnaXRAZ2l0aHViLmNvbTp0ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQuZ2l0IiwKICAgICAgICAgICAgInN0YXJnYXplcnMiOiAwLAogICAgICAgICAgICAic3RhcmdhemVyc19jb3VudCI6IDAsCiAgICAgICAgICAgICJzdGFyZ2F6ZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9zdGFyZ2F6ZXJzIiwKICAgICAgICAgICAgInN0YXR1c2VzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9zdGF0dXNlcy97c2hhfSIsCiAgICAgICAgICAgICJzdWJzY3JpYmVyc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3Vic2NyaWJlcnMiLAogICAgICAgICAgICAic3Vic2NyaXB0aW9uX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9zdWJzY3JpcHRpb24iLAogICAgICAgICAgICAic3ZuX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkIiwKICAgICAgICAgICAgInRhZ3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3RhZ3MiLAogICAgICAgICAgICAidGVhbXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3RlYW1zIiwKICAgICAgICAgICAgInRvcGljcyI6IFtdLAogICAgICAgICAgICAidHJlZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC90cmVlc3svc2hhfSIsCiAgICAgICAgICAgICJ1cGRhdGVkX2F0IjogIjIwMjItMDItMTVUMTc6MzU6MDRaIiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkIiwKICAgICAgICAgICAgInZpc2liaWxpdHkiOiAicHVibGljIiwKICAgICAgICAgICAgIndhdGNoZXJzIjogMCwKICAgICAgICAgICAgIndhdGNoZXJzX2NvdW50IjogMAogICAgICAgICAgfSwKICAgICAgICAgICJzZW5kZXIiOiB7CiAgICAgICAgICAgICJhdmF0YXJfdXJsIjogImh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82NDUwNTA5OT92PTQiLAogICAgICAgICAgICAiZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9ldmVudHN7L3ByaXZhY3l9IiwKICAgICAgICAgICAgImZvbGxvd2Vyc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZm9sbG93ZXJzIiwKICAgICAgICAgICAgImZvbGxvd2luZ191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsCiAgICAgICAgICAgICJnaXN0c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZ2lzdHN7L2dpc3RfaWR9IiwKICAgICAgICAgICAgImdyYXZhdGFyX2lkIjogIiIsCiAgICAgICAgICAgICJodG1sX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgImlkIjogNjQ1MDUwOTksCiAgICAgICAgICAgICJsb2dpbiI6ICJsYXVyZW50c2ltb24iLAogICAgICAgICAgICAibm9kZV9pZCI6ICJNRFE2VlhObGNqWTBOVEExTURrNSIsCiAgICAgICAgICAgICJvcmdhbml6YXRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9vcmdzIiwKICAgICAgICAgICAgInJlY2VpdmVkX2V2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vcmVjZWl2ZWRfZXZlbnRzIiwKICAgICAgICAgICAgInJlcG9zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9yZXBvcyIsCiAgICAgICAgICAgICJzaXRlX2FkbWluIjogZmFsc2UsCiAgICAgICAgICAgICJzdGFycmVkX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9zdGFycmVkey9vd25lcn17L3JlcG99IiwKICAgICAgICAgICAgInN1YnNjcmlwdGlvbnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3N1YnNjcmlwdGlvbnMiLAogICAgICAgICAgICAidHlwZSI6ICJVc2VyIiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbiIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJyZWZfdHlwZSI6ICJ0YWciLAogICAgICAgICJyZWYiOiAicmVmcy90YWdzL3YxIiwKICAgICAgICAiYmFzZV9yZWYiOiAiIiwKICAgICAgICAiaGVhZF9yZWYiOiAiIiwKICAgICAgICAiYWN0b3IiOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAic2hhMSI6ICI3MWE2MTI1MzA3NWJjYjk4NzU0OTFlZjg4MjljMDllN2E0NTVhZjYxIgogICAgICB9LAogICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgImFyY2giOiAiYW1kNjQiLAogICAgICAgICJnaXRodWJfZXZlbnRfbmFtZSI6ICJwdXNoIiwKICAgICAgICAiZ2l0aHViX3J1bl9hdHRlbXB0IjogIjEiLAogICAgICAgICJnaXRodWJfcnVuX2lkIjogIjIwNjE1NjMyODMiLAogICAgICAgICJnaXRodWJfcnVuX251bWJlciI6ICI0MSIsCiAgICAgICAgIm9zIjogInVidW50dSIKICAgICAgfQogICAgfSwKICAgICJidWlsZENvbmZpZyI6IHsKICAgICAgInZlcnNpb24iOiAxLAogICAgICAic3RlcHMiOiBbCiAgICAgICAgewogICAgICAgICAgImNvbW1hbmQiOiBbCiAgICAgICAgICAgICIvb3B0L2hvc3RlZHRvb2xjYWNoZS9nby8xLjE3LjcveDY0L2Jpbi9nbyIsCiAgICAgICAgICAgICJidWlsZCIsCiAgICAgICAgICAgICItbW9kPXZlbmRvciIsCiAgICAgICAgICAgICItdHJpbXBhdGgiLAogICAgICAgICAgICAiLXRhZ3M9bmV0Z28iLAogICAgICAgICAgICAiLWxkZmxhZ3M9LVggZ2l0aHViLmNvbS9vc3NmL3Njb3JlY2FyZC92NC9wa2cuZ2l0VmVyc2lvbj12c2xzYTEgLVggZ2l0aHViLmNvbS9vc3NmL3Njb3JlY2FyZC92NC9wa2cuZ2l0Q29tbWl0PTcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEgLVggZ2l0aHViLmNvbS9vc3NmL3Njb3JlY2FyZC92NC9wa2cuZ2l0VHJlZVN0YXRlPWNsZWFuIC1YIGdpdGh1Yi5jb20vb3NzZi9zY29yZWNhcmQvdjQvcGtnLmJ1aWxkRGF0ZT0xNjQ4NTcxMDY5IC13IC1leHRsZGZsYWdzIFwiLXN0YXRpY1wiIiwKICAgICAgICAgICAgIi1vIiwKICAgICAgICAgICAgInNjb3JlY2FyZC1saW51eC1hbWQ2NCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZW52IjogWwogICAgICAgICAgICAiR09PUz1saW51eCIsCiAgICAgICAgICAgICJHT0FSQ0g9YW1kNjQiLAogICAgICAgICAgICAiQ0dPX0VOQUJMRUQ9MCIsCiAgICAgICAgICAgICJHTzExMU1PRFVMRT1vbiIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAibWF0ZXJpYWxzIjogWwogICAgICB7CiAgICAgICAgInVyaSI6ICJnaXQrdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGExIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgICAgfQogICAgICB9CiAgICBdCiAgfQp9Cg==", + "signatures": [ + { + "keyid": "", + "sig": "MEUCIGIitQ1z1kUQEEaYdGLUtremEsfBzJyGm+Wp2t3PtzSSAiEAiibeJkqt6tTWcxbHNQqUKmtcteyH49NO8U7KiWtu+yc=" + } + ] +} \ No newline at end of file diff --git a/pkg/testdata/dsse-v1.2-tag.intoto.jsonl b/pkg/testdata/dsse-v1.2-tag.intoto.jsonl new file mode 100644 index 0000000..68fefde --- /dev/null +++ b/pkg/testdata/dsse-v1.2-tag.intoto.jsonl @@ -0,0 +1,10 @@ +{ + "payloadType": "application/vnd.in-toto+json", + "payload": "ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4yIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAic2NvcmVjYXJkLWxpbnV4LWFtZDY0IiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMzMTNmNzU5ODE3OGM1ZjhlZTI4OTQwNWJmODUwMjgxMDVkODU3YWM2YzU2MDg2MDE4ODMyYzc0NDQwNTAxN2YiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ28vLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGRlci55bWxAbWFpbiIKICAgIH0sCiAgICAiYnVpbGRUeXBlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ29AdjEiLAogICAgImludm9jYXRpb24iOiB7CiAgICAgICJjb25maWdTb3VyY2UiOiB7CiAgICAgICAgInVyaSI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkQHJlZnMvdGFncy92c2xzYTEuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTEiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIKICAgICAgICB9LAogICAgICAgICJlbnRyeVBvaW50IjogIlRlc3QgU0xTQSIKICAgICAgfSwKICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgInZlcnNpb24iOiAxLAogICAgICAgICJldmVudF9uYW1lIjogInB1c2giLAogICAgICAgICJldmVudF9wYXlsb2FkIjogewogICAgICAgICAgImFmdGVyIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiLAogICAgICAgICAgImJhc2VfcmVmIjogInJlZnMvaGVhZHMvYnJhbmNoMiIsCiAgICAgICAgICAiYmVmb3JlIjogIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICAgImNvbW1pdHMiOiBbXSwKICAgICAgICAgICJjb21wYXJlIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tcGFyZS92c2xzYTEiLAogICAgICAgICAgImNyZWF0ZWQiOiB0cnVlLAogICAgICAgICAgImRlbGV0ZWQiOiBmYWxzZSwKICAgICAgICAgICJmb3JjZWQiOiBmYWxzZSwKICAgICAgICAgICJoZWFkX2NvbW1pdCI6IHsKICAgICAgICAgICAgImF1dGhvciI6IHsKICAgICAgICAgICAgICAiZW1haWwiOiAiNjQ1MDUwOTkrbGF1cmVudHNpbW9uQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbSIsCiAgICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgICAidXNlcm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29tbWl0dGVyIjogewogICAgICAgICAgICAgICJlbWFpbCI6ICJub3JlcGx5QGdpdGh1Yi5jb20iLAogICAgICAgICAgICAgICJuYW1lIjogIkdpdEh1YiIsCiAgICAgICAgICAgICAgInVzZXJuYW1lIjogIndlYi1mbG93IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdGluY3QiOiB0cnVlLAogICAgICAgICAgICAiaWQiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIsCiAgICAgICAgICAgICJtZXNzYWdlIjogIlVwZGF0ZSBzbHNhLWJ1aWxkLnltbCIsCiAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAiMjAyMi0wMy0yOVQwOToyNDoyOS0wNzowMCIsCiAgICAgICAgICAgICJ0cmVlX2lkIjogImVlZjE5ZTM2YzFmMWYzMDZkYzliYzQwZjY5MzY2NDYzMjQ4OGQ1NTYiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tbWl0LzcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgICAgICB9LAogICAgICAgICAgIm9yZ2FuaXphdGlvbiI6IHsKICAgICAgICAgICAgImF2YXRhcl91cmwiOiAiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk3NDgyNTU3P3Y9NCIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAgICAgICJldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ldmVudHMiLAogICAgICAgICAgICAiaG9va3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ob29rcyIsCiAgICAgICAgICAgICJpZCI6IDk3NDgyNTU3LAogICAgICAgICAgICAiaXNzdWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvaXNzdWVzIiwKICAgICAgICAgICAgImxvZ2luIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgIm1lbWJlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9tZW1iZXJzey9tZW1iZXJ9IiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiT19rZ0RPQmM5M1BRIiwKICAgICAgICAgICAgInB1YmxpY19tZW1iZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvcHVibGljX21lbWJlcnN7L21lbWJlcn0iLAogICAgICAgICAgICAicmVwb3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9yZXBvcyIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIgogICAgICAgICAgfSwKICAgICAgICAgICJwdXNoZXIiOiB7CiAgICAgICAgICAgICJlbWFpbCI6ICI2NDUwNTA5OStsYXVyZW50c2ltb25AdXNlcnMubm9yZXBseS5naXRodWIuY29tIiwKICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgfSwKICAgICAgICAgICJyZWYiOiAicmVmcy90YWdzL3YxLjIiLAogICAgICAgICAgInJlcG9zaXRvcnkiOiB7CiAgICAgICAgICAgICJhbGxvd19mb3JraW5nIjogdHJ1ZSwKICAgICAgICAgICAgImFyY2hpdmVfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3thcmNoaXZlX2Zvcm1hdH17L3JlZn0iLAogICAgICAgICAgICAiYXJjaGl2ZWQiOiBmYWxzZSwKICAgICAgICAgICAgImFzc2lnbmVlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvYXNzaWduZWVzey91c2VyfSIsCiAgICAgICAgICAgICJibG9ic191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZ2l0L2Jsb2Jzey9zaGF9IiwKICAgICAgICAgICAgImJyYW5jaGVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9icmFuY2hlc3svYnJhbmNofSIsCiAgICAgICAgICAgICJjbG9uZV91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC5naXQiLAogICAgICAgICAgICAiY29sbGFib3JhdG9yc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29sbGFib3JhdG9yc3svY29sbGFib3JhdG9yfSIsCiAgICAgICAgICAgICJjb21tZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tbWVudHN7L251bWJlcn0iLAogICAgICAgICAgICAiY29tbWl0c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tbWl0c3svc2hhfSIsCiAgICAgICAgICAgICJjb21wYXJlX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb21wYXJlL3tiYXNlfS4uLntoZWFkfSIsCiAgICAgICAgICAgICJjb250ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29udGVudHMveytwYXRofSIsCiAgICAgICAgICAgICJjb250cmlidXRvcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbnRyaWJ1dG9ycyIsCiAgICAgICAgICAgICJjcmVhdGVkX2F0IjogMTY0NDk0NjM3NCwKICAgICAgICAgICAgImRlZmF1bHRfYnJhbmNoIjogIm1haW4iLAogICAgICAgICAgICAiZGVwbG95bWVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2RlcGxveW1lbnRzIiwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlY3VyaXR5IFNjb3JlY2FyZHMgLSBTZWN1cml0eSBoZWFsdGggbWV0cmljcyBmb3IgT3BlbiBTb3VyY2UiLAogICAgICAgICAgICAiZGlzYWJsZWQiOiBmYWxzZSwKICAgICAgICAgICAgImRvd25sb2Fkc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZG93bmxvYWRzIiwKICAgICAgICAgICAgImV2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZXZlbnRzIiwKICAgICAgICAgICAgImZvcmsiOiB0cnVlLAogICAgICAgICAgICAiZm9ya3MiOiAwLAogICAgICAgICAgICAiZm9ya3NfY291bnQiOiAwLAogICAgICAgICAgICAiZm9ya3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2ZvcmtzIiwKICAgICAgICAgICAgImZ1bGxfbmFtZSI6ICJ0ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQiLAogICAgICAgICAgICAiZ2l0X2NvbW1pdHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC9jb21taXRzey9zaGF9IiwKICAgICAgICAgICAgImdpdF9yZWZzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvcmVmc3svc2hhfSIsCiAgICAgICAgICAgICJnaXRfdGFnc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZ2l0L3RhZ3N7L3NoYX0iLAogICAgICAgICAgICAiZ2l0X3VybCI6ICJnaXQ6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC5naXQiLAogICAgICAgICAgICAiaGFzX2Rvd25sb2FkcyI6IHRydWUsCiAgICAgICAgICAgICJoYXNfaXNzdWVzIjogZmFsc2UsCiAgICAgICAgICAgICJoYXNfcGFnZXMiOiBmYWxzZSwKICAgICAgICAgICAgImhhc19wcm9qZWN0cyI6IHRydWUsCiAgICAgICAgICAgICJoYXNfd2lraSI6IHRydWUsCiAgICAgICAgICAgICJob21lcGFnZSI6ICIiLAogICAgICAgICAgICAiaG9va3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2hvb2tzIiwKICAgICAgICAgICAgImh0bWxfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQiLAogICAgICAgICAgICAiaWQiOiA0NTk2ODI0NjksCiAgICAgICAgICAgICJpc190ZW1wbGF0ZSI6IGZhbHNlLAogICAgICAgICAgICAiaXNzdWVfY29tbWVudF91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaXNzdWVzL2NvbW1lbnRzey9udW1iZXJ9IiwKICAgICAgICAgICAgImlzc3VlX2V2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaXNzdWVzL2V2ZW50c3svbnVtYmVyfSIsCiAgICAgICAgICAgICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2lzc3Vlc3svbnVtYmVyfSIsCiAgICAgICAgICAgICJrZXlzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9rZXlzey9rZXlfaWR9IiwKICAgICAgICAgICAgImxhYmVsc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbGFiZWxzey9uYW1lfSIsCiAgICAgICAgICAgICJsYW5ndWFnZSI6ICJHbyIsCiAgICAgICAgICAgICJsYW5ndWFnZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2xhbmd1YWdlcyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogewogICAgICAgICAgICAgICJrZXkiOiAiYXBhY2hlLTIuMCIsCiAgICAgICAgICAgICAgIm5hbWUiOiAiQXBhY2hlIExpY2Vuc2UgMi4wIiwKICAgICAgICAgICAgICAibm9kZV9pZCI6ICJNRGM2VEdsalpXNXpaVEk9IiwKICAgICAgICAgICAgICAic3BkeF9pZCI6ICJBcGFjaGUtMi4wIiwKICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vbGljZW5zZXMvYXBhY2hlLTIuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1hc3Rlcl9icmFuY2giOiAibWFpbiIsCiAgICAgICAgICAgICJtZXJnZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL21lcmdlcyIsCiAgICAgICAgICAgICJtaWxlc3RvbmVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9taWxlc3RvbmVzey9udW1iZXJ9IiwKICAgICAgICAgICAgIm1pcnJvcl91cmwiOiBudWxsLAogICAgICAgICAgICAibmFtZSI6ICJzY29yZWNhcmQiLAogICAgICAgICAgICAibm9kZV9pZCI6ICJSX2tnRE9HMll5cFEiLAogICAgICAgICAgICAibm90aWZpY2F0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbm90aWZpY2F0aW9uc3s/c2luY2UsYWxsLHBhcnRpY2lwYXRpbmd9IiwKICAgICAgICAgICAgIm9wZW5faXNzdWVzIjogMCwKICAgICAgICAgICAgIm9wZW5faXNzdWVzX2NvdW50IjogMCwKICAgICAgICAgICAgIm9yZ2FuaXphdGlvbiI6ICJ0ZXN0LW9yZ2FuaXphdGlvbi1scyIsCiAgICAgICAgICAgICJvd25lciI6IHsKICAgICAgICAgICAgICAiYXZhdGFyX3VybCI6ICJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTc0ODI1NTc/dj00IiwKICAgICAgICAgICAgICAiZW1haWwiOiBudWxsLAogICAgICAgICAgICAgICJldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvZXZlbnRzey9wcml2YWN5fSIsCiAgICAgICAgICAgICAgImZvbGxvd2Vyc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9mb2xsb3dlcnMiLAogICAgICAgICAgICAgICJmb2xsb3dpbmdfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsCiAgICAgICAgICAgICAgImdpc3RzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2dpc3Rzey9naXN0X2lkfSIsCiAgICAgICAgICAgICAgImdyYXZhdGFyX2lkIjogIiIsCiAgICAgICAgICAgICAgImh0bWxfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scyIsCiAgICAgICAgICAgICAgImlkIjogOTc0ODI1NTcsCiAgICAgICAgICAgICAgImxvZ2luIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgICAibmFtZSI6ICJ0ZXN0LW9yZ2FuaXphdGlvbi1scyIsCiAgICAgICAgICAgICAgIm5vZGVfaWQiOiAiT19rZ0RPQmM5M1BRIiwKICAgICAgICAgICAgICAib3JnYW5pemF0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9vcmdzIiwKICAgICAgICAgICAgICAicmVjZWl2ZWRfZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3JlY2VpdmVkX2V2ZW50cyIsCiAgICAgICAgICAgICAgInJlcG9zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3JlcG9zIiwKICAgICAgICAgICAgICAic2l0ZV9hZG1pbiI6IGZhbHNlLAogICAgICAgICAgICAgICJzdGFycmVkX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLAogICAgICAgICAgICAgICJzdWJzY3JpcHRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3N1YnNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICJ0eXBlIjogIk9yZ2FuaXphdGlvbiIsCiAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicHJpdmF0ZSI6IGZhbHNlLAogICAgICAgICAgICAicHVsbHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3B1bGxzey9udW1iZXJ9IiwKICAgICAgICAgICAgInB1c2hlZF9hdCI6IDE2NDg1OTQ2OTQsCiAgICAgICAgICAgICJyZWxlYXNlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvcmVsZWFzZXN7L2lkfSIsCiAgICAgICAgICAgICJzaXplIjogMzY4NjksCiAgICAgICAgICAgICJzc2hfdXJsIjogImdpdEBnaXRodWIuY29tOnRlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC5naXQiLAogICAgICAgICAgICAic3RhcmdhemVycyI6IDAsCiAgICAgICAgICAgICJzdGFyZ2F6ZXJzX2NvdW50IjogMCwKICAgICAgICAgICAgInN0YXJnYXplcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3N0YXJnYXplcnMiLAogICAgICAgICAgICAic3RhdHVzZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3N0YXR1c2VzL3tzaGF9IiwKICAgICAgICAgICAgInN1YnNjcmliZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9zdWJzY3JpYmVycyIsCiAgICAgICAgICAgICJzdWJzY3JpcHRpb25fdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3N1YnNjcmlwdGlvbiIsCiAgICAgICAgICAgICJzdm5fdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQiLAogICAgICAgICAgICAidGFnc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvdGFncyIsCiAgICAgICAgICAgICJ0ZWFtc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvdGVhbXMiLAogICAgICAgICAgICAidG9waWNzIjogW10sCiAgICAgICAgICAgICJ0cmVlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZ2l0L3RyZWVzey9zaGF9IiwKICAgICAgICAgICAgInVwZGF0ZWRfYXQiOiAiMjAyMi0wMi0xNVQxNzozNTowNFoiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQiLAogICAgICAgICAgICAidmlzaWJpbGl0eSI6ICJwdWJsaWMiLAogICAgICAgICAgICAid2F0Y2hlcnMiOiAwLAogICAgICAgICAgICAid2F0Y2hlcnNfY291bnQiOiAwCiAgICAgICAgICB9LAogICAgICAgICAgInNlbmRlciI6IHsKICAgICAgICAgICAgImF2YXRhcl91cmwiOiAiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY0NTA1MDk5P3Y9NCIsCiAgICAgICAgICAgICJldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2V2ZW50c3svcHJpdmFjeX0iLAogICAgICAgICAgICAiZm9sbG93ZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dlcnMiLAogICAgICAgICAgICAiZm9sbG93aW5nX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwKICAgICAgICAgICAgImdpc3RzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9naXN0c3svZ2lzdF9pZH0iLAogICAgICAgICAgICAiZ3JhdmF0YXJfaWQiOiAiIiwKICAgICAgICAgICAgImh0bWxfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50c2ltb24iLAogICAgICAgICAgICAiaWQiOiA2NDUwNTA5OSwKICAgICAgICAgICAgImxvZ2luIjogImxhdXJlbnRzaW1vbiIsCiAgICAgICAgICAgICJub2RlX2lkIjogIk1EUTZWWE5sY2pZME5UQTFNRGs1IiwKICAgICAgICAgICAgIm9yZ2FuaXphdGlvbnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL29yZ3MiLAogICAgICAgICAgICAicmVjZWl2ZWRfZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9yZWNlaXZlZF9ldmVudHMiLAogICAgICAgICAgICAicmVwb3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlcG9zIiwKICAgICAgICAgICAgInNpdGVfYWRtaW4iOiBmYWxzZSwKICAgICAgICAgICAgInN0YXJyZWRfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLAogICAgICAgICAgICAic3Vic2NyaXB0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3Vic2NyaXB0aW9ucyIsCiAgICAgICAgICAgICJ0eXBlIjogIlVzZXIiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uIgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlZl90eXBlIjogInRhZyIsCiAgICAgICAgInJlZiI6ICJyZWZzL3RhZ3MvdjEuMiIsCiAgICAgICAgImJhc2VfcmVmIjogIiIsCiAgICAgICAgImhlYWRfcmVmIjogIiIsCiAgICAgICAgImFjdG9yIjogImxhdXJlbnRzaW1vbiIsCiAgICAgICAgInNoYTEiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIKICAgICAgfSwKICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICJhcmNoIjogImFtZDY0IiwKICAgICAgICAiZ2l0aHViX2V2ZW50X25hbWUiOiAicHVzaCIsCiAgICAgICAgImdpdGh1Yl9ydW5fYXR0ZW1wdCI6ICIxIiwKICAgICAgICAiZ2l0aHViX3J1bl9pZCI6ICIyMDYxNTYzMjgzIiwKICAgICAgICAiZ2l0aHViX3J1bl9udW1iZXIiOiAiNDEiLAogICAgICAgICJvcyI6ICJ1YnVudHUiCiAgICAgIH0KICAgIH0sCiAgICAiYnVpbGRDb25maWciOiB7CiAgICAgICJ2ZXJzaW9uIjogMSwKICAgICAgInN0ZXBzIjogWwogICAgICAgIHsKICAgICAgICAgICJjb21tYW5kIjogWwogICAgICAgICAgICAiL29wdC9ob3N0ZWR0b29sY2FjaGUvZ28vMS4xNy43L3g2NC9iaW4vZ28iLAogICAgICAgICAgICAiYnVpbGQiLAogICAgICAgICAgICAiLW1vZD12ZW5kb3IiLAogICAgICAgICAgICAiLXRyaW1wYXRoIiwKICAgICAgICAgICAgIi10YWdzPW5ldGdvIiwKICAgICAgICAgICAgIi1sZGZsYWdzPS1YIGdpdGh1Yi5jb20vb3NzZi9zY29yZWNhcmQvdjQvcGtnLmdpdFZlcnNpb249dnNsc2ExIC1YIGdpdGh1Yi5jb20vb3NzZi9zY29yZWNhcmQvdjQvcGtnLmdpdENvbW1pdD03MWE2MTI1MzA3NWJjYjk4NzU0OTFlZjg4MjljMDllN2E0NTVhZjYxIC1YIGdpdGh1Yi5jb20vb3NzZi9zY29yZWNhcmQvdjQvcGtnLmdpdFRyZWVTdGF0ZT1jbGVhbiAtWCBnaXRodWIuY29tL29zc2Yvc2NvcmVjYXJkL3Y0L3BrZy5idWlsZERhdGU9MTY0ODU3MTA2OSAtdyAtZXh0bGRmbGFncyBcIi1zdGF0aWNcIiIsCiAgICAgICAgICAgICItbyIsCiAgICAgICAgICAgICJzY29yZWNhcmQtbGludXgtYW1kNjQiCiAgICAgICAgICBdLAogICAgICAgICAgImVudiI6IFsKICAgICAgICAgICAgIkdPT1M9bGludXgiLAogICAgICAgICAgICAiR09BUkNIPWFtZDY0IiwKICAgICAgICAgICAgIkNHT19FTkFCTEVEPTAiLAogICAgICAgICAgICAiR08xMTFNT0RVTEU9b24iCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgIm1hdGVyaWFscyI6IFsKICAgICAgewogICAgICAgICJ1cmkiOiAiZ2l0K3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC5naXQiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMSI6ICI3MWE2MTI1MzA3NWJjYjk4NzU0OTFlZjg4MjljMDllN2E0NTVhZjYxIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=", + "signatures": [ + { + "keyid": "", + "sig": "MEUCIGIitQ1z1kUQEEaYdGLUtremEsfBzJyGm+Wp2t3PtzSSAiEAiibeJkqt6tTWcxbHNQqUKmtcteyH49NO8U7KiWtu+yc=" + } + ] +} \ No newline at end of file diff --git a/pkg/testdata/dsse-v1.2.3-tag.intoto.jsonl b/pkg/testdata/dsse-v1.2.3-tag.intoto.jsonl new file mode 100644 index 0000000..32f43cc --- /dev/null +++ b/pkg/testdata/dsse-v1.2.3-tag.intoto.jsonl @@ -0,0 +1,10 @@ +{ + "payloadType": "application/vnd.in-toto+json", + "payload": "ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4yIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAic2NvcmVjYXJkLWxpbnV4LWFtZDY0IiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMzMTNmNzU5ODE3OGM1ZjhlZTI4OTQwNWJmODUwMjgxMDVkODU3YWM2YzU2MDg2MDE4ODMyYzc0NDQwNTAxN2YiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ28vLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGRlci55bWxAbWFpbiIKICAgIH0sCiAgICAiYnVpbGRUeXBlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ29AdjEiLAogICAgImludm9jYXRpb24iOiB7CiAgICAgICJjb25maWdTb3VyY2UiOiB7CiAgICAgICAgInVyaSI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkQHJlZnMvdGFncy92c2xzYTEuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTEiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIKICAgICAgICB9LAogICAgICAgICJlbnRyeVBvaW50IjogIlRlc3QgU0xTQSIKICAgICAgfSwKICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgInZlcnNpb24iOiAxLAogICAgICAgICJldmVudF9uYW1lIjogInB1c2giLAogICAgICAgICJldmVudF9wYXlsb2FkIjogewogICAgICAgICAgImFmdGVyIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiLAogICAgICAgICAgImJhc2VfcmVmIjogInJlZnMvaGVhZHMvYnJhbmNoMiIsCiAgICAgICAgICAiYmVmb3JlIjogIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICAgImNvbW1pdHMiOiBbXSwKICAgICAgICAgICJjb21wYXJlIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tcGFyZS92c2xzYTEiLAogICAgICAgICAgImNyZWF0ZWQiOiB0cnVlLAogICAgICAgICAgImRlbGV0ZWQiOiBmYWxzZSwKICAgICAgICAgICJmb3JjZWQiOiBmYWxzZSwKICAgICAgICAgICJoZWFkX2NvbW1pdCI6IHsKICAgICAgICAgICAgImF1dGhvciI6IHsKICAgICAgICAgICAgICAiZW1haWwiOiAiNjQ1MDUwOTkrbGF1cmVudHNpbW9uQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbSIsCiAgICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgICAidXNlcm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29tbWl0dGVyIjogewogICAgICAgICAgICAgICJlbWFpbCI6ICJub3JlcGx5QGdpdGh1Yi5jb20iLAogICAgICAgICAgICAgICJuYW1lIjogIkdpdEh1YiIsCiAgICAgICAgICAgICAgInVzZXJuYW1lIjogIndlYi1mbG93IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdGluY3QiOiB0cnVlLAogICAgICAgICAgICAiaWQiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIsCiAgICAgICAgICAgICJtZXNzYWdlIjogIlVwZGF0ZSBzbHNhLWJ1aWxkLnltbCIsCiAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAiMjAyMi0wMy0yOVQwOToyNDoyOS0wNzowMCIsCiAgICAgICAgICAgICJ0cmVlX2lkIjogImVlZjE5ZTM2YzFmMWYzMDZkYzliYzQwZjY5MzY2NDYzMjQ4OGQ1NTYiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tbWl0LzcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgICAgICB9LAogICAgICAgICAgIm9yZ2FuaXphdGlvbiI6IHsKICAgICAgICAgICAgImF2YXRhcl91cmwiOiAiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk3NDgyNTU3P3Y9NCIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAgICAgICJldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ldmVudHMiLAogICAgICAgICAgICAiaG9va3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ob29rcyIsCiAgICAgICAgICAgICJpZCI6IDk3NDgyNTU3LAogICAgICAgICAgICAiaXNzdWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvaXNzdWVzIiwKICAgICAgICAgICAgImxvZ2luIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgIm1lbWJlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9tZW1iZXJzey9tZW1iZXJ9IiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiT19rZ0RPQmM5M1BRIiwKICAgICAgICAgICAgInB1YmxpY19tZW1iZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvcHVibGljX21lbWJlcnN7L21lbWJlcn0iLAogICAgICAgICAgICAicmVwb3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9yZXBvcyIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIgogICAgICAgICAgfSwKICAgICAgICAgICJwdXNoZXIiOiB7CiAgICAgICAgICAgICJlbWFpbCI6ICI2NDUwNTA5OStsYXVyZW50c2ltb25AdXNlcnMubm9yZXBseS5naXRodWIuY29tIiwKICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgfSwKICAgICAgICAgICJyZWYiOiAicmVmcy90YWdzL3YxLjIuMyIsCiAgICAgICAgICAicmVwb3NpdG9yeSI6IHsKICAgICAgICAgICAgImFsbG93X2ZvcmtpbmciOiB0cnVlLAogICAgICAgICAgICAiYXJjaGl2ZV91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQve2FyY2hpdmVfZm9ybWF0fXsvcmVmfSIsCiAgICAgICAgICAgICJhcmNoaXZlZCI6IGZhbHNlLAogICAgICAgICAgICAiYXNzaWduZWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9hc3NpZ25lZXN7L3VzZXJ9IiwKICAgICAgICAgICAgImJsb2JzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvYmxvYnN7L3NoYX0iLAogICAgICAgICAgICAiYnJhbmNoZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2JyYW5jaGVzey9icmFuY2h9IiwKICAgICAgICAgICAgImNsb25lX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJjb2xsYWJvcmF0b3JzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb2xsYWJvcmF0b3Jzey9jb2xsYWJvcmF0b3J9IiwKICAgICAgICAgICAgImNvbW1lbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb21tZW50c3svbnVtYmVyfSIsCiAgICAgICAgICAgICJjb21taXRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb21taXRzey9zaGF9IiwKICAgICAgICAgICAgImNvbXBhcmVfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbXBhcmUve2Jhc2V9Li4ue2hlYWR9IiwKICAgICAgICAgICAgImNvbnRlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb250ZW50cy97K3BhdGh9IiwKICAgICAgICAgICAgImNvbnRyaWJ1dG9yc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29udHJpYnV0b3JzIiwKICAgICAgICAgICAgImNyZWF0ZWRfYXQiOiAxNjQ0OTQ2Mzc0LAogICAgICAgICAgICAiZGVmYXVsdF9icmFuY2giOiAibWFpbiIsCiAgICAgICAgICAgICJkZXBsb3ltZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZGVwbG95bWVudHMiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VjdXJpdHkgU2NvcmVjYXJkcyAtIFNlY3VyaXR5IGhlYWx0aCBtZXRyaWNzIGZvciBPcGVuIFNvdXJjZSIsCiAgICAgICAgICAgICJkaXNhYmxlZCI6IGZhbHNlLAogICAgICAgICAgICAiZG93bmxvYWRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9kb3dubG9hZHMiLAogICAgICAgICAgICAiZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9ldmVudHMiLAogICAgICAgICAgICAiZm9yayI6IHRydWUsCiAgICAgICAgICAgICJmb3JrcyI6IDAsCiAgICAgICAgICAgICJmb3Jrc19jb3VudCI6IDAsCiAgICAgICAgICAgICJmb3Jrc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZm9ya3MiLAogICAgICAgICAgICAiZnVsbF9uYW1lIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJnaXRfY29tbWl0c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZ2l0L2NvbW1pdHN7L3NoYX0iLAogICAgICAgICAgICAiZ2l0X3JlZnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC9yZWZzey9zaGF9IiwKICAgICAgICAgICAgImdpdF90YWdzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvdGFnc3svc2hhfSIsCiAgICAgICAgICAgICJnaXRfdXJsIjogImdpdDovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJoYXNfZG93bmxvYWRzIjogdHJ1ZSwKICAgICAgICAgICAgImhhc19pc3N1ZXMiOiBmYWxzZSwKICAgICAgICAgICAgImhhc19wYWdlcyI6IGZhbHNlLAogICAgICAgICAgICAiaGFzX3Byb2plY3RzIjogdHJ1ZSwKICAgICAgICAgICAgImhhc193aWtpIjogdHJ1ZSwKICAgICAgICAgICAgImhvbWVwYWdlIjogIiIsCiAgICAgICAgICAgICJob29rc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaG9va3MiLAogICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJpZCI6IDQ1OTY4MjQ2OSwKICAgICAgICAgICAgImlzX3RlbXBsYXRlIjogZmFsc2UsCiAgICAgICAgICAgICJpc3N1ZV9jb21tZW50X3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9pc3N1ZXMvY29tbWVudHN7L251bWJlcn0iLAogICAgICAgICAgICAiaXNzdWVfZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwKICAgICAgICAgICAgImlzc3Vlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaXNzdWVzey9udW1iZXJ9IiwKICAgICAgICAgICAgImtleXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2tleXN7L2tleV9pZH0iLAogICAgICAgICAgICAibGFiZWxzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9sYWJlbHN7L25hbWV9IiwKICAgICAgICAgICAgImxhbmd1YWdlIjogIkdvIiwKICAgICAgICAgICAgImxhbmd1YWdlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbGFuZ3VhZ2VzIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiB7CiAgICAgICAgICAgICAgImtleSI6ICJhcGFjaGUtMi4wIiwKICAgICAgICAgICAgICAibmFtZSI6ICJBcGFjaGUgTGljZW5zZSAyLjAiLAogICAgICAgICAgICAgICJub2RlX2lkIjogIk1EYzZUR2xqWlc1elpUST0iLAogICAgICAgICAgICAgICJzcGR4X2lkIjogIkFwYWNoZS0yLjAiLAogICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9saWNlbnNlcy9hcGFjaGUtMi4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWFzdGVyX2JyYW5jaCI6ICJtYWluIiwKICAgICAgICAgICAgIm1lcmdlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbWVyZ2VzIiwKICAgICAgICAgICAgIm1pbGVzdG9uZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL21pbGVzdG9uZXN7L251bWJlcn0iLAogICAgICAgICAgICAibWlycm9yX3VybCI6IG51bGwsCiAgICAgICAgICAgICJuYW1lIjogInNjb3JlY2FyZCIsCiAgICAgICAgICAgICJub2RlX2lkIjogIlJfa2dET0cyWXlwUSIsCiAgICAgICAgICAgICJub3RpZmljYXRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9ub3RpZmljYXRpb25zez9zaW5jZSxhbGwscGFydGljaXBhdGluZ30iLAogICAgICAgICAgICAib3Blbl9pc3N1ZXMiOiAwLAogICAgICAgICAgICAib3Blbl9pc3N1ZXNfY291bnQiOiAwLAogICAgICAgICAgICAib3JnYW5pemF0aW9uIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgIm93bmVyIjogewogICAgICAgICAgICAgICJhdmF0YXJfdXJsIjogImh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS85NzQ4MjU1Nz92PTQiLAogICAgICAgICAgICAgICJlbWFpbCI6IG51bGwsCiAgICAgICAgICAgICAgImV2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ldmVudHN7L3ByaXZhY3l9IiwKICAgICAgICAgICAgICAiZm9sbG93ZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2ZvbGxvd2VycyIsCiAgICAgICAgICAgICAgImZvbGxvd2luZ191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwKICAgICAgICAgICAgICAiZ2lzdHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvZ2lzdHN7L2dpc3RfaWR9IiwKICAgICAgICAgICAgICAiZ3JhdmF0YXJfaWQiOiAiIiwKICAgICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgICAiaWQiOiA5NzQ4MjU1NywKICAgICAgICAgICAgICAibG9naW4iOiAidGVzdC1vcmdhbml6YXRpb24tbHMiLAogICAgICAgICAgICAgICJuYW1lIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgICAibm9kZV9pZCI6ICJPX2tnRE9CYzkzUFEiLAogICAgICAgICAgICAgICJvcmdhbml6YXRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL29yZ3MiLAogICAgICAgICAgICAgICJyZWNlaXZlZF9ldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvcmVjZWl2ZWRfZXZlbnRzIiwKICAgICAgICAgICAgICAicmVwb3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvcmVwb3MiLAogICAgICAgICAgICAgICJzaXRlX2FkbWluIjogZmFsc2UsCiAgICAgICAgICAgICAgInN0YXJyZWRfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsCiAgICAgICAgICAgICAgInN1YnNjcmlwdGlvbnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvc3Vic2NyaXB0aW9ucyIsCiAgICAgICAgICAgICAgInR5cGUiOiAiT3JnYW5pemF0aW9uIiwKICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwcml2YXRlIjogZmFsc2UsCiAgICAgICAgICAgICJwdWxsc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvcHVsbHN7L251bWJlcn0iLAogICAgICAgICAgICAicHVzaGVkX2F0IjogMTY0ODU5NDY5NCwKICAgICAgICAgICAgInJlbGVhc2VzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9yZWxlYXNlc3svaWR9IiwKICAgICAgICAgICAgInNpemUiOiAzNjg2OSwKICAgICAgICAgICAgInNzaF91cmwiOiAiZ2l0QGdpdGh1Yi5jb206dGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJzdGFyZ2F6ZXJzIjogMCwKICAgICAgICAgICAgInN0YXJnYXplcnNfY291bnQiOiAwLAogICAgICAgICAgICAic3RhcmdhemVyc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3RhcmdhemVycyIsCiAgICAgICAgICAgICJzdGF0dXNlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3RhdHVzZXMve3NoYX0iLAogICAgICAgICAgICAic3Vic2NyaWJlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3N1YnNjcmliZXJzIiwKICAgICAgICAgICAgInN1YnNjcmlwdGlvbl91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3Vic2NyaXB0aW9uIiwKICAgICAgICAgICAgInN2bl91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJ0YWdzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC90YWdzIiwKICAgICAgICAgICAgInRlYW1zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC90ZWFtcyIsCiAgICAgICAgICAgICJ0b3BpY3MiOiBbXSwKICAgICAgICAgICAgInRyZWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvdHJlZXN7L3NoYX0iLAogICAgICAgICAgICAidXBkYXRlZF9hdCI6ICIyMDIyLTAyLTE1VDE3OjM1OjA0WiIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJ2aXNpYmlsaXR5IjogInB1YmxpYyIsCiAgICAgICAgICAgICJ3YXRjaGVycyI6IDAsCiAgICAgICAgICAgICJ3YXRjaGVyc19jb3VudCI6IDAKICAgICAgICAgIH0sCiAgICAgICAgICAic2VuZGVyIjogewogICAgICAgICAgICAiYXZhdGFyX3VybCI6ICJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjQ1MDUwOTk/dj00IiwKICAgICAgICAgICAgImV2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZXZlbnRzey9wcml2YWN5fSIsCiAgICAgICAgICAgICJmb2xsb3dlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2VycyIsCiAgICAgICAgICAgICJmb2xsb3dpbmdfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLAogICAgICAgICAgICAiZ2lzdHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2dpc3Rzey9naXN0X2lkfSIsCiAgICAgICAgICAgICJncmF2YXRhcl9pZCI6ICIiLAogICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbiIsCiAgICAgICAgICAgICJpZCI6IDY0NTA1MDk5LAogICAgICAgICAgICAibG9naW4iOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiTURRNlZYTmxjalkwTlRBMU1EazUiLAogICAgICAgICAgICAib3JnYW5pemF0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vb3JncyIsCiAgICAgICAgICAgICJyZWNlaXZlZF9ldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlY2VpdmVkX2V2ZW50cyIsCiAgICAgICAgICAgICJyZXBvc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vcmVwb3MiLAogICAgICAgICAgICAic2l0ZV9hZG1pbiI6IGZhbHNlLAogICAgICAgICAgICAic3RhcnJlZF91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsCiAgICAgICAgICAgICJzdWJzY3JpcHRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9zdWJzY3JpcHRpb25zIiwKICAgICAgICAgICAgInR5cGUiOiAiVXNlciIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24iCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVmX3R5cGUiOiAidGFnIiwKICAgICAgICAicmVmIjogInJlZnMvdGFncy92MS4yLjMiLAogICAgICAgICJiYXNlX3JlZiI6ICIiLAogICAgICAgICJoZWFkX3JlZiI6ICIiLAogICAgICAgICJhY3RvciI6ICJsYXVyZW50c2ltb24iLAogICAgICAgICJzaGExIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgIH0sCiAgICAgICJlbnZpcm9ubWVudCI6IHsKICAgICAgICAiYXJjaCI6ICJhbWQ2NCIsCiAgICAgICAgImdpdGh1Yl9ldmVudF9uYW1lIjogInB1c2giLAogICAgICAgICJnaXRodWJfcnVuX2F0dGVtcHQiOiAiMSIsCiAgICAgICAgImdpdGh1Yl9ydW5faWQiOiAiMjA2MTU2MzI4MyIsCiAgICAgICAgImdpdGh1Yl9ydW5fbnVtYmVyIjogIjQxIiwKICAgICAgICAib3MiOiAidWJ1bnR1IgogICAgICB9CiAgICB9LAogICAgImJ1aWxkQ29uZmlnIjogewogICAgICAidmVyc2lvbiI6IDEsCiAgICAgICJzdGVwcyI6IFsKICAgICAgICB7CiAgICAgICAgICAiY29tbWFuZCI6IFsKICAgICAgICAgICAgIi9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMTcuNy94NjQvYmluL2dvIiwKICAgICAgICAgICAgImJ1aWxkIiwKICAgICAgICAgICAgIi1tb2Q9dmVuZG9yIiwKICAgICAgICAgICAgIi10cmltcGF0aCIsCiAgICAgICAgICAgICItdGFncz1uZXRnbyIsCiAgICAgICAgICAgICItbGRmbGFncz0tWCBnaXRodWIuY29tL29zc2Yvc2NvcmVjYXJkL3Y0L3BrZy5naXRWZXJzaW9uPXZzbHNhMSAtWCBnaXRodWIuY29tL29zc2Yvc2NvcmVjYXJkL3Y0L3BrZy5naXRDb21taXQ9NzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSAtWCBnaXRodWIuY29tL29zc2Yvc2NvcmVjYXJkL3Y0L3BrZy5naXRUcmVlU3RhdGU9Y2xlYW4gLVggZ2l0aHViLmNvbS9vc3NmL3Njb3JlY2FyZC92NC9wa2cuYnVpbGREYXRlPTE2NDg1NzEwNjkgLXcgLWV4dGxkZmxhZ3MgXCItc3RhdGljXCIiLAogICAgICAgICAgICAiLW8iLAogICAgICAgICAgICAic2NvcmVjYXJkLWxpbnV4LWFtZDY0IgogICAgICAgICAgXSwKICAgICAgICAgICJlbnYiOiBbCiAgICAgICAgICAgICJHT09TPWxpbnV4IiwKICAgICAgICAgICAgIkdPQVJDSD1hbWQ2NCIsCiAgICAgICAgICAgICJDR09fRU5BQkxFRD0wIiwKICAgICAgICAgICAgIkdPMTExTU9EVUxFPW9uIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJtYXRlcmlhbHMiOiBbCiAgICAgIHsKICAgICAgICAidXJpIjogImdpdCt0ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTEiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0K", + "signatures": [ + { + "keyid": "", + "sig": "MEUCIGIitQ1z1kUQEEaYdGLUtremEsfBzJyGm+Wp2t3PtzSSAiEAiibeJkqt6tTWcxbHNQqUKmtcteyH49NO8U7KiWtu+yc=" + } + ] +} \ No newline at end of file diff --git a/pkg/testdata/dsse-vslsa1-tag.intoto.jsonl b/pkg/testdata/dsse-vslsa1-tag.intoto.jsonl new file mode 100644 index 0000000..134ce70 --- /dev/null +++ b/pkg/testdata/dsse-vslsa1-tag.intoto.jsonl @@ -0,0 +1,10 @@ +{ + "payloadType": "application/vnd.in-toto+json", + "payload": "ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4yIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAic2NvcmVjYXJkLWxpbnV4LWFtZDY0IiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMzMTNmNzU5ODE3OGM1ZjhlZTI4OTQwNWJmODUwMjgxMDVkODU3YWM2YzU2MDg2MDE4ODMyYzc0NDQwNTAxN2YiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ28vLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGRlci55bWxAbWFpbiIKICAgIH0sCiAgICAiYnVpbGRUeXBlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9zbHNhLWdpdGh1Yi1nZW5lcmF0b3ItZ29AdjEiLAogICAgImludm9jYXRpb24iOiB7CiAgICAgICJjb25maWdTb3VyY2UiOiB7CiAgICAgICAgInVyaSI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkQHJlZnMvdGFncy92c2xzYTEuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTEiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIKICAgICAgICB9LAogICAgICAgICJlbnRyeVBvaW50IjogIlRlc3QgU0xTQSIKICAgICAgfSwKICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgInZlcnNpb24iOiAxLAogICAgICAgICJldmVudF9uYW1lIjogInB1c2giLAogICAgICAgICJldmVudF9wYXlsb2FkIjogewogICAgICAgICAgImFmdGVyIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiLAogICAgICAgICAgImJhc2VfcmVmIjogInJlZnMvaGVhZHMvYnJhbmNoMiIsCiAgICAgICAgICAiYmVmb3JlIjogIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICAgImNvbW1pdHMiOiBbXSwKICAgICAgICAgICJjb21wYXJlIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tcGFyZS92c2xzYTEiLAogICAgICAgICAgImNyZWF0ZWQiOiB0cnVlLAogICAgICAgICAgImRlbGV0ZWQiOiBmYWxzZSwKICAgICAgICAgICJmb3JjZWQiOiBmYWxzZSwKICAgICAgICAgICJoZWFkX2NvbW1pdCI6IHsKICAgICAgICAgICAgImF1dGhvciI6IHsKICAgICAgICAgICAgICAiZW1haWwiOiAiNjQ1MDUwOTkrbGF1cmVudHNpbW9uQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbSIsCiAgICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgICAidXNlcm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29tbWl0dGVyIjogewogICAgICAgICAgICAgICJlbWFpbCI6ICJub3JlcGx5QGdpdGh1Yi5jb20iLAogICAgICAgICAgICAgICJuYW1lIjogIkdpdEh1YiIsCiAgICAgICAgICAgICAgInVzZXJuYW1lIjogIndlYi1mbG93IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdGluY3QiOiB0cnVlLAogICAgICAgICAgICAiaWQiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIsCiAgICAgICAgICAgICJtZXNzYWdlIjogIlVwZGF0ZSBzbHNhLWJ1aWxkLnltbCIsCiAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAiMjAyMi0wMy0yOVQwOToyNDoyOS0wNzowMCIsCiAgICAgICAgICAgICJ0cmVlX2lkIjogImVlZjE5ZTM2YzFmMWYzMDZkYzliYzQwZjY5MzY2NDYzMjQ4OGQ1NTYiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29tbWl0LzcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgICAgICB9LAogICAgICAgICAgIm9yZ2FuaXphdGlvbiI6IHsKICAgICAgICAgICAgImF2YXRhcl91cmwiOiAiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk3NDgyNTU3P3Y9NCIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAgICAgICJldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ldmVudHMiLAogICAgICAgICAgICAiaG9va3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ob29rcyIsCiAgICAgICAgICAgICJpZCI6IDk3NDgyNTU3LAogICAgICAgICAgICAiaXNzdWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvaXNzdWVzIiwKICAgICAgICAgICAgImxvZ2luIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgIm1lbWJlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9tZW1iZXJzey9tZW1iZXJ9IiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiT19rZ0RPQmM5M1BRIiwKICAgICAgICAgICAgInB1YmxpY19tZW1iZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvdGVzdC1vcmdhbml6YXRpb24tbHMvcHVibGljX21lbWJlcnN7L21lbWJlcn0iLAogICAgICAgICAgICAicmVwb3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vb3Jncy90ZXN0LW9yZ2FuaXphdGlvbi1scy9yZXBvcyIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIgogICAgICAgICAgfSwKICAgICAgICAgICJwdXNoZXIiOiB7CiAgICAgICAgICAgICJlbWFpbCI6ICI2NDUwNTA5OStsYXVyZW50c2ltb25AdXNlcnMubm9yZXBseS5naXRodWIuY29tIiwKICAgICAgICAgICAgIm5hbWUiOiAibGF1cmVudHNpbW9uIgogICAgICAgICAgfSwKICAgICAgICAgICJyZWYiOiAicmVmcy90YWdzL3ZzbHNhMSIsCiAgICAgICAgICAicmVwb3NpdG9yeSI6IHsKICAgICAgICAgICAgImFsbG93X2ZvcmtpbmciOiB0cnVlLAogICAgICAgICAgICAiYXJjaGl2ZV91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQve2FyY2hpdmVfZm9ybWF0fXsvcmVmfSIsCiAgICAgICAgICAgICJhcmNoaXZlZCI6IGZhbHNlLAogICAgICAgICAgICAiYXNzaWduZWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9hc3NpZ25lZXN7L3VzZXJ9IiwKICAgICAgICAgICAgImJsb2JzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvYmxvYnN7L3NoYX0iLAogICAgICAgICAgICAiYnJhbmNoZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2JyYW5jaGVzey9icmFuY2h9IiwKICAgICAgICAgICAgImNsb25lX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJjb2xsYWJvcmF0b3JzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb2xsYWJvcmF0b3Jzey9jb2xsYWJvcmF0b3J9IiwKICAgICAgICAgICAgImNvbW1lbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb21tZW50c3svbnVtYmVyfSIsCiAgICAgICAgICAgICJjb21taXRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb21taXRzey9zaGF9IiwKICAgICAgICAgICAgImNvbXBhcmVfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2NvbXBhcmUve2Jhc2V9Li4ue2hlYWR9IiwKICAgICAgICAgICAgImNvbnRlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9jb250ZW50cy97K3BhdGh9IiwKICAgICAgICAgICAgImNvbnRyaWJ1dG9yc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvY29udHJpYnV0b3JzIiwKICAgICAgICAgICAgImNyZWF0ZWRfYXQiOiAxNjQ0OTQ2Mzc0LAogICAgICAgICAgICAiZGVmYXVsdF9icmFuY2giOiAibWFpbiIsCiAgICAgICAgICAgICJkZXBsb3ltZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZGVwbG95bWVudHMiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VjdXJpdHkgU2NvcmVjYXJkcyAtIFNlY3VyaXR5IGhlYWx0aCBtZXRyaWNzIGZvciBPcGVuIFNvdXJjZSIsCiAgICAgICAgICAgICJkaXNhYmxlZCI6IGZhbHNlLAogICAgICAgICAgICAiZG93bmxvYWRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9kb3dubG9hZHMiLAogICAgICAgICAgICAiZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9ldmVudHMiLAogICAgICAgICAgICAiZm9yayI6IHRydWUsCiAgICAgICAgICAgICJmb3JrcyI6IDAsCiAgICAgICAgICAgICJmb3Jrc19jb3VudCI6IDAsCiAgICAgICAgICAgICJmb3Jrc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZm9ya3MiLAogICAgICAgICAgICAiZnVsbF9uYW1lIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJnaXRfY29tbWl0c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvZ2l0L2NvbW1pdHN7L3NoYX0iLAogICAgICAgICAgICAiZ2l0X3JlZnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2dpdC9yZWZzey9zaGF9IiwKICAgICAgICAgICAgImdpdF90YWdzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvdGFnc3svc2hhfSIsCiAgICAgICAgICAgICJnaXRfdXJsIjogImdpdDovL2dpdGh1Yi5jb20vdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJoYXNfZG93bmxvYWRzIjogdHJ1ZSwKICAgICAgICAgICAgImhhc19pc3N1ZXMiOiBmYWxzZSwKICAgICAgICAgICAgImhhc19wYWdlcyI6IGZhbHNlLAogICAgICAgICAgICAiaGFzX3Byb2plY3RzIjogdHJ1ZSwKICAgICAgICAgICAgImhhc193aWtpIjogdHJ1ZSwKICAgICAgICAgICAgImhvbWVwYWdlIjogIiIsCiAgICAgICAgICAgICJob29rc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaG9va3MiLAogICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJpZCI6IDQ1OTY4MjQ2OSwKICAgICAgICAgICAgImlzX3RlbXBsYXRlIjogZmFsc2UsCiAgICAgICAgICAgICJpc3N1ZV9jb21tZW50X3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9pc3N1ZXMvY29tbWVudHN7L251bWJlcn0iLAogICAgICAgICAgICAiaXNzdWVfZXZlbnRzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwKICAgICAgICAgICAgImlzc3Vlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvaXNzdWVzey9udW1iZXJ9IiwKICAgICAgICAgICAgImtleXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL2tleXN7L2tleV9pZH0iLAogICAgICAgICAgICAibGFiZWxzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9sYWJlbHN7L25hbWV9IiwKICAgICAgICAgICAgImxhbmd1YWdlIjogIkdvIiwKICAgICAgICAgICAgImxhbmd1YWdlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbGFuZ3VhZ2VzIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiB7CiAgICAgICAgICAgICAgImtleSI6ICJhcGFjaGUtMi4wIiwKICAgICAgICAgICAgICAibmFtZSI6ICJBcGFjaGUgTGljZW5zZSAyLjAiLAogICAgICAgICAgICAgICJub2RlX2lkIjogIk1EYzZUR2xqWlc1elpUST0iLAogICAgICAgICAgICAgICJzcGR4X2lkIjogIkFwYWNoZS0yLjAiLAogICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9saWNlbnNlcy9hcGFjaGUtMi4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWFzdGVyX2JyYW5jaCI6ICJtYWluIiwKICAgICAgICAgICAgIm1lcmdlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvbWVyZ2VzIiwKICAgICAgICAgICAgIm1pbGVzdG9uZXNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL21pbGVzdG9uZXN7L251bWJlcn0iLAogICAgICAgICAgICAibWlycm9yX3VybCI6IG51bGwsCiAgICAgICAgICAgICJuYW1lIjogInNjb3JlY2FyZCIsCiAgICAgICAgICAgICJub2RlX2lkIjogIlJfa2dET0cyWXlwUSIsCiAgICAgICAgICAgICJub3RpZmljYXRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9ub3RpZmljYXRpb25zez9zaW5jZSxhbGwscGFydGljaXBhdGluZ30iLAogICAgICAgICAgICAib3Blbl9pc3N1ZXMiOiAwLAogICAgICAgICAgICAib3Blbl9pc3N1ZXNfY291bnQiOiAwLAogICAgICAgICAgICAib3JnYW5pemF0aW9uIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgIm93bmVyIjogewogICAgICAgICAgICAgICJhdmF0YXJfdXJsIjogImh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS85NzQ4MjU1Nz92PTQiLAogICAgICAgICAgICAgICJlbWFpbCI6IG51bGwsCiAgICAgICAgICAgICAgImV2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9ldmVudHN7L3ByaXZhY3l9IiwKICAgICAgICAgICAgICAiZm9sbG93ZXJzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL2ZvbGxvd2VycyIsCiAgICAgICAgICAgICAgImZvbGxvd2luZ191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZXN0LW9yZ2FuaXphdGlvbi1scy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwKICAgICAgICAgICAgICAiZ2lzdHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvZ2lzdHN7L2dpc3RfaWR9IiwKICAgICAgICAgICAgICAiZ3JhdmF0YXJfaWQiOiAiIiwKICAgICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgICAiaWQiOiA5NzQ4MjU1NywKICAgICAgICAgICAgICAibG9naW4iOiAidGVzdC1vcmdhbml6YXRpb24tbHMiLAogICAgICAgICAgICAgICJuYW1lIjogInRlc3Qtb3JnYW5pemF0aW9uLWxzIiwKICAgICAgICAgICAgICAibm9kZV9pZCI6ICJPX2tnRE9CYzkzUFEiLAogICAgICAgICAgICAgICJvcmdhbml6YXRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL29yZ3MiLAogICAgICAgICAgICAgICJyZWNlaXZlZF9ldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvcmVjZWl2ZWRfZXZlbnRzIiwKICAgICAgICAgICAgICAicmVwb3NfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvcmVwb3MiLAogICAgICAgICAgICAgICJzaXRlX2FkbWluIjogZmFsc2UsCiAgICAgICAgICAgICAgInN0YXJyZWRfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsCiAgICAgICAgICAgICAgInN1YnNjcmlwdGlvbnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMvc3Vic2NyaXB0aW9ucyIsCiAgICAgICAgICAgICAgInR5cGUiOiAiT3JnYW5pemF0aW9uIiwKICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVzdC1vcmdhbml6YXRpb24tbHMiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwcml2YXRlIjogZmFsc2UsCiAgICAgICAgICAgICJwdWxsc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvcHVsbHN7L251bWJlcn0iLAogICAgICAgICAgICAicHVzaGVkX2F0IjogMTY0ODU5NDY5NCwKICAgICAgICAgICAgInJlbGVhc2VzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9yZWxlYXNlc3svaWR9IiwKICAgICAgICAgICAgInNpemUiOiAzNjg2OSwKICAgICAgICAgICAgInNzaF91cmwiOiAiZ2l0QGdpdGh1Yi5jb206dGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkLmdpdCIsCiAgICAgICAgICAgICJzdGFyZ2F6ZXJzIjogMCwKICAgICAgICAgICAgInN0YXJnYXplcnNfY291bnQiOiAwLAogICAgICAgICAgICAic3RhcmdhemVyc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3RhcmdhemVycyIsCiAgICAgICAgICAgICJzdGF0dXNlc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3RhdHVzZXMve3NoYX0iLAogICAgICAgICAgICAic3Vic2NyaWJlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGVzdC1vcmdhbml6YXRpb24tbHMvc2NvcmVjYXJkL3N1YnNjcmliZXJzIiwKICAgICAgICAgICAgInN1YnNjcmlwdGlvbl91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQvc3Vic2NyaXB0aW9uIiwKICAgICAgICAgICAgInN2bl91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJ0YWdzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC90YWdzIiwKICAgICAgICAgICAgInRlYW1zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC90ZWFtcyIsCiAgICAgICAgICAgICJ0b3BpY3MiOiBbXSwKICAgICAgICAgICAgInRyZWVzX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZC9naXQvdHJlZXN7L3NoYX0iLAogICAgICAgICAgICAidXBkYXRlZF9hdCI6ICIyMDIyLTAyLTE1VDE3OjM1OjA0WiIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3Qtb3JnYW5pemF0aW9uLWxzL3Njb3JlY2FyZCIsCiAgICAgICAgICAgICJ2aXNpYmlsaXR5IjogInB1YmxpYyIsCiAgICAgICAgICAgICJ3YXRjaGVycyI6IDAsCiAgICAgICAgICAgICJ3YXRjaGVyc19jb3VudCI6IDAKICAgICAgICAgIH0sCiAgICAgICAgICAic2VuZGVyIjogewogICAgICAgICAgICAiYXZhdGFyX3VybCI6ICJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjQ1MDUwOTk/dj00IiwKICAgICAgICAgICAgImV2ZW50c191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vZXZlbnRzey9wcml2YWN5fSIsCiAgICAgICAgICAgICJmb2xsb3dlcnNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2VycyIsCiAgICAgICAgICAgICJmb2xsb3dpbmdfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLAogICAgICAgICAgICAiZ2lzdHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL2dpc3Rzey9naXN0X2lkfSIsCiAgICAgICAgICAgICJncmF2YXRhcl9pZCI6ICIiLAogICAgICAgICAgICAiaHRtbF91cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRzaW1vbiIsCiAgICAgICAgICAgICJpZCI6IDY0NTA1MDk5LAogICAgICAgICAgICAibG9naW4iOiAibGF1cmVudHNpbW9uIiwKICAgICAgICAgICAgIm5vZGVfaWQiOiAiTURRNlZYTmxjalkwTlRBMU1EazUiLAogICAgICAgICAgICAib3JnYW5pemF0aW9uc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vb3JncyIsCiAgICAgICAgICAgICJyZWNlaXZlZF9ldmVudHNfdXJsIjogImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGF1cmVudHNpbW9uL3JlY2VpdmVkX2V2ZW50cyIsCiAgICAgICAgICAgICJyZXBvc191cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vcmVwb3MiLAogICAgICAgICAgICAic2l0ZV9hZG1pbiI6IGZhbHNlLAogICAgICAgICAgICAic3RhcnJlZF91cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsCiAgICAgICAgICAgICJzdWJzY3JpcHRpb25zX3VybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhdXJlbnRzaW1vbi9zdWJzY3JpcHRpb25zIiwKICAgICAgICAgICAgInR5cGUiOiAiVXNlciIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYXVyZW50c2ltb24iCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVmX3R5cGUiOiAidGFnIiwKICAgICAgICAicmVmIjogInJlZnMvdGFncy92c2xzYTEiLAogICAgICAgICJiYXNlX3JlZiI6ICIiLAogICAgICAgICJoZWFkX3JlZiI6ICIiLAogICAgICAgICJhY3RvciI6ICJsYXVyZW50c2ltb24iLAogICAgICAgICJzaGExIjogIjcxYTYxMjUzMDc1YmNiOTg3NTQ5MWVmODgyOWMwOWU3YTQ1NWFmNjEiCiAgICAgIH0sCiAgICAgICJlbnZpcm9ubWVudCI6IHsKICAgICAgICAiYXJjaCI6ICJhbWQ2NCIsCiAgICAgICAgImdpdGh1Yl9ldmVudF9uYW1lIjogInB1c2giLAogICAgICAgICJnaXRodWJfcnVuX2F0dGVtcHQiOiAiMSIsCiAgICAgICAgImdpdGh1Yl9ydW5faWQiOiAiMjA2MTU2MzI4MyIsCiAgICAgICAgImdpdGh1Yl9ydW5fbnVtYmVyIjogIjQxIiwKICAgICAgICAib3MiOiAidWJ1bnR1IgogICAgICB9CiAgICB9LAogICAgImJ1aWxkQ29uZmlnIjogewogICAgICAidmVyc2lvbiI6IDEsCiAgICAgICJzdGVwcyI6IFsKICAgICAgICB7CiAgICAgICAgICAiY29tbWFuZCI6IFsKICAgICAgICAgICAgIi9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMTcuNy94NjQvYmluL2dvIiwKICAgICAgICAgICAgImJ1aWxkIiwKICAgICAgICAgICAgIi1tb2Q9dmVuZG9yIiwKICAgICAgICAgICAgIi10cmltcGF0aCIsCiAgICAgICAgICAgICItdGFncz1uZXRnbyIsCiAgICAgICAgICAgICItbGRmbGFncz0tWCBnaXRodWIuY29tL29zc2Yvc2NvcmVjYXJkL3Y0L3BrZy5naXRWZXJzaW9uPXZzbHNhMSAtWCBnaXRodWIuY29tL29zc2Yvc2NvcmVjYXJkL3Y0L3BrZy5naXRDb21taXQ9NzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSAtWCBnaXRodWIuY29tL29zc2Yvc2NvcmVjYXJkL3Y0L3BrZy5naXRUcmVlU3RhdGU9Y2xlYW4gLVggZ2l0aHViLmNvbS9vc3NmL3Njb3JlY2FyZC92NC9wa2cuYnVpbGREYXRlPTE2NDg1NzEwNjkgLXcgLWV4dGxkZmxhZ3MgXCItc3RhdGljXCIiLAogICAgICAgICAgICAiLW8iLAogICAgICAgICAgICAic2NvcmVjYXJkLWxpbnV4LWFtZDY0IgogICAgICAgICAgXSwKICAgICAgICAgICJlbnYiOiBbCiAgICAgICAgICAgICJHT09TPWxpbnV4IiwKICAgICAgICAgICAgIkdPQVJDSD1hbWQ2NCIsCiAgICAgICAgICAgICJDR09fRU5BQkxFRD0wIiwKICAgICAgICAgICAgIkdPMTExTU9EVUxFPW9uIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJtYXRlcmlhbHMiOiBbCiAgICAgIHsKICAgICAgICAidXJpIjogImdpdCt0ZXN0LW9yZ2FuaXphdGlvbi1scy9zY29yZWNhcmQuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTEiOiAiNzFhNjEyNTMwNzViY2I5ODc1NDkxZWY4ODI5YzA5ZTdhNDU1YWY2MSIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0K", + "signatures": [ + { + "keyid": "", + "sig": "MEUCIEwWbVseiTC9e2Ry29kJgihB7KtS9rwqQz8cAs4NLTVRAiEA8CYarEs2Ri+iIgJ82Hjr3Ht999ZP0H/EbOm1ZWiEUeY=" + } + ] +} \ No newline at end of file