jarvisbot_songfinder 1.0.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -1
  3. data/Gemfile +3 -1
  4. data/Gemfile.lock +15 -13
  5. data/README.md +1 -1
  6. data/Rakefile +3 -1
  7. data/bin/console +5 -1
  8. data/changelog.md +22 -0
  9. data/fixtures/vcr_cassettes/query_customconfig.yml +107 -0
  10. data/fixtures/vcr_cassettes/query_customconfig_short_track.yml +107 -0
  11. data/fixtures/vcr_cassettes/query_text.yml +120 -16
  12. data/fixtures/vcr_cassettes/query_track_delegation.yml +122 -18
  13. data/fixtures/vcr_cassettes/query_youtube_url.yml +8 -8
  14. data/fixtures/vcr_cassettes/search_query_auxiliary_provider.yml +43 -43
  15. data/fixtures/vcr_cassettes/search_query_not_found.yml +9 -9
  16. data/fixtures/vcr_cassettes/search_query_preferred_and_auxiliary.yml +122 -18
  17. data/fixtures/vcr_cassettes/search_query_preferred_provider.yml +122 -18
  18. data/fixtures/vcr_cassettes/spotify_invalid_region_restricted.yml +57 -5
  19. data/fixtures/vcr_cassettes/spotify_invalid_search.yml +5 -5
  20. data/fixtures/vcr_cassettes/spotify_invalid_too_long.yml +57 -5
  21. data/fixtures/vcr_cassettes/spotify_invalid_url_relinked.yml +107 -0
  22. data/fixtures/vcr_cassettes/spotify_valid.yml +56 -4
  23. data/fixtures/vcr_cassettes/spotify_valid_clean_or_unknown.yml +56 -4
  24. data/fixtures/vcr_cassettes/spotify_valid_explicit.yml +57 -5
  25. data/fixtures/vcr_cassettes/spotify_valid_search.yml +61 -9
  26. data/fixtures/vcr_cassettes/url_query_known_provider.yml +14 -14
  27. data/fixtures/vcr_cassettes/youtube_invalid.yml +4 -4
  28. data/fixtures/vcr_cassettes/youtube_invalid_region_restricted.yml +8 -8
  29. data/fixtures/vcr_cassettes/youtube_invalid_search.yml +4 -4
  30. data/fixtures/vcr_cassettes/youtube_invalid_too_long.yml +130 -8
  31. data/fixtures/vcr_cassettes/youtube_invalid_wrong_category.yml +15 -15
  32. data/fixtures/vcr_cassettes/youtube_valid.yml +214 -214
  33. data/fixtures/vcr_cassettes/youtube_valid_search.yml +22 -22
  34. data/jarvisbot_songfinder.gemspec +6 -5
  35. data/lib/jarvisbot_songfinder.rb +3 -0
  36. data/lib/jarvisbot_songfinder/configuration.rb +7 -2
  37. data/lib/jarvisbot_songfinder/helpers/query.rb +23 -15
  38. data/lib/jarvisbot_songfinder/helpers/reply_message.rb +37 -26
  39. data/lib/jarvisbot_songfinder/helpers/search_query.rb +11 -5
  40. data/lib/jarvisbot_songfinder/helpers/url_query.rb +13 -8
  41. data/lib/jarvisbot_songfinder/providers/bandrequest.rb +5 -1
  42. data/lib/jarvisbot_songfinder/providers/provider.rb +25 -6
  43. data/lib/jarvisbot_songfinder/providers/spotify_api.rb +28 -35
  44. data/lib/jarvisbot_songfinder/providers/unknown_provider.rb +4 -0
  45. data/lib/jarvisbot_songfinder/providers/unknown_search_provider.rb +5 -1
  46. data/lib/jarvisbot_songfinder/providers/youtube_api.rb +37 -64
  47. data/lib/jarvisbot_songfinder/version.rb +3 -1
  48. metadata +28 -28
  49. data/fixtures/vcr_cassettes/spotify_vcr_test.yml +0 -55
  50. data/fixtures/vcr_cassettes/youtube_invalid_regionrestricted.yml +0 -147
  51. data/fixtures/vcr_cassettes/youtube_invalid_wrongcategory.yml +0 -254
@@ -17,13 +17,13 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Expires:
20
- - Fri, 01 Feb 2019 09:55:52 GMT
20
+ - Wed, 20 Mar 2019 07:56:53 GMT
21
21
  Date:
22
- - Fri, 01 Feb 2019 09:55:52 GMT
22
+ - Wed, 20 Mar 2019 07:56:53 GMT
23
23
  Cache-Control:
24
24
  - private, max-age=120, must-revalidate, no-transform
25
25
  Etag:
26
- - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/rUvmNgczsVBNCsqlp5XqWK_yJrg"'
26
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/tOy-7T5OYczPxiC2_ZiIEiC93sc"'
27
27
  Vary:
28
28
  - Origin
29
29
  - X-Origin
@@ -36,17 +36,17 @@ http_interactions:
36
36
  X-Xss-Protection:
37
37
  - 1; mode=block
38
38
  Content-Length:
39
- - '47702'
39
+ - '47948'
40
40
  Server:
41
41
  - GSE
42
42
  Alt-Svc:
43
- - quic=":443"; ma=2592000; v="44,43,39"
43
+ - quic=":443"; ma=2592000; v="46,44,43,39"
44
44
  body:
45
45
  encoding: ASCII-8BIT
46
46
  string: !binary |-
47
- ewogImtpbmQiOiAieW91dHViZSNzZWFyY2hMaXN0UmVzcG9uc2UiLAogImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvclV2bU5nY3pzVkJOQ3NxbHA1WHFXS195SnJnXCIiLAogIm5leHRQYWdlVG9rZW4iOiAiQ0RJUUFBIiwKICJyZWdpb25Db2RlIjogIlJVIiwKICJwYWdlSW5mbyI6IHsKICAidG90YWxSZXN1bHRzIjogNzMwMjMsCiAgInJlc3VsdHNQZXJQYWdlIjogNTAKIH0sCiAiaXRlbXMiOiBbCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0lWUzkyTEZWXzM4azZnekswemVlOWRxelBoVVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJmVjZxNUJyUzBCdyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0xMS0zMFQyMTozNDozNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUM5cWpEeklRb3lXM1VTbHdfX3FkbW5RIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoT2ZmaWNpYWwgVmlkZW8pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJEaXJlY3RvcjogUGF0cmljIFVsbGFldXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2ZWNnE1QnJTMEJ3L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkluRmxhbWVzR0JHIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOEdfXzNRZkh0dVpzQTAybDFKd0lTeVRGMVNBXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIm9IS24xbnhPWDlzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTEwLTE2VDE3OjQwOjE5LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1dCZTR4SUJMUlhTTktXOVBXd0Y5TUEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIFtIRC9IUSBMeXJpY3MgaW4gVmlkZW9dIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJIGRvIG5vdCBvd24gYW55IHJpZ2h0cyB0byB0aGlzIHNvbmcuIFRoaXMgaXMgcHVyZWx5IHByb21vdGlvbiBmb3IgdGhlIGJhbmQgYW5kIGZvciBlbnRlcnRhaW5tZW50LiBJZiB5b3UgbGlrZSBpdCBidXkgdGhlIENEJ3MgYW5kIHN1cHBvcnQgdGhlIGJhbmQgKGxpbmtzIGJlbG93KS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb0hLbjFueE9YOXMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiUnV1c2kgTHlyaWNzIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvWkhzWjRPdnlNNGp2a0YtMWdveTVjVjJDLTJ3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIllDM3J3NzRjZkc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAxLTA4VDAxOjI2OjQ1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ25mVkFRTFhoMjJlOUlBekw2Q2pTM0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyBmZWF0IFRpbW8gUmFpc2FuZW4gLSBBbGlhcyAoTGl2ZSBHcmFtbWlzZ2FsYW4pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgb2NoIFRpbW8gcsO2amplciBsaXRlZ3Jhbm5hIHDDpSBncmFtbWlzLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9ZQzNydzc0Y2ZHNC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCdWx0aVoiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay8xLWdXRWtlckJjTmVmTUVxMVkyWnNjYS1CLU1cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiVUJoZnJWNTlGM2siCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTctMDQtMTRUMTA6MDY6MTAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDY1gyWmd5QjRJbVlPM3VQX3VsMk1OQSIsCiAgICAidGl0bGUiOiAiQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVkIHRvIFlvdVR1YmUgYnkgU29ueSBNdXNpYyBFbnRlcnRhaW5tZW50IEFsaWFzIMK3IEluIEZsYW1lcyBBIFNlbnNlIE9mIFB1cnBvc2UgKFJlLWlzc3VlIDIwMTQpIOKElyAyMDExIEZpZ2h0ZXJzdHJlZXQgUmVjb3JkcyBDb21wb3NlciwgTHlyaWNpc3Q6IC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1VCaGZyVjU5RjNrL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9VQmhmclY1OUYzay9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1VCaGZyVjU5RjNrL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJJbiBGbGFtZXMgLSBUb3BpYyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0RxZWpxelhHTGxQWW90QTVOXy1mSlhJeFNNNFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJfRUw3NDhNZlJVMCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNS0wNi0wOFQxOTozNDowOC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUM0S2hwWE1KQkFfaHFIZEFKeHJjYXR3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSAwNC5BbGlhcyBMaXZlIEAgUm9jayBBbSBSaW5nIDIwMTUgSEQgQUMzIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJJ20gbm90IHRoZSBvd25lciBvZiB0aGlzIHR2IGJyb2FkY2FzdCAoRWluc1BsdXMgSEQgRGV1dHNjaGxhbmQpLiBBbGwgcmlnaHRzIGluIHR2IGNoYW5uZWwsIGxhYmVscyBhbmQgSW4gRmxhbWVzIGJhbmQuIEZpbmQgdXM6IC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL19FTDc0OE1mUlUwL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fRUw3NDhNZlJVMC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL19FTDc0OE1mUlUwL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJyb2Nrb25tZWRpYW9mZmljaWFsIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvSlFJWW5ReEFSVlQzdVpYTDI3OXdHWFFvdDZnXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIl8zSWxmMjYtUlg4IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEwLTA1LTE2VDAxOjIzOjM1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2tBYzdqaDZ3dGtvbGkwaWVVemNVeGciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC0gQSBTZW5zZSBPZiBQdXJwb3NlIChIUSkiLAogICAgImRlc2NyaXB0aW9uIjogIlBsZWFzZSBDb21tZW50IC8gUmF0ZS4gTHlyaWNzIGFuZCBJbmZvIGJlbG93LiBFbmpveS4gU29uZzogQWxpYXMgQXJ0aXN0OiBJbiBGbGFtZXMgQWxidW06IEEgU2Vuc2UgT2YgUHVycG9zZSB+fn5+fn5+fn5+fn5+fn5+fn5+fn4gTHlyaWNzIEZyb20gLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvXzNJbGYyNi1SWDgvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18zSWxmMjYtUlg4L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvXzNJbGYyNi1SWDgvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogInRqMTExMTIxMjkiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9fS3RDMEZGYlA0cEJJOXg2VV9lblF6d3dJYzBcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiUHBLc3lVajNMYUkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTItMDgtMThUMDI6MDY6MDQuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDc3JQNjVoNUo4ckJ4UlE1anZlTFA0QSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgQCBXYWNrZW4gMjAxMiBMaXZlIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbGl2ZSBhdCBXYWNrZW4gMjAxMiBwZXJmb3JtaW5nIFwiQWxpYXNcIiBmcm9tIHRoZSBcIkEgU2Vuc2Ugb2YgUHVycG9zZVwiIGFsYnVtLiBTZXRsaXN0IEAgV2Fja2VuIDIwMTI6IDEuIENsb3VkIENvbm5lY3RlZCAyLiBUcmlnZ2VyIChNaXNzaW5nKSAzLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1BwS3N5VWozTGFJL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9QcEtzeVVqM0xhSS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1BwS3N5VWozTGFJL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJzWXp6ZWd5IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvaFRKRmExNF9PeW02RjZzRnVhNlNLd3pwSFV3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIk52Q3FhQWZIeUc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEwLTA2LTIwVDE0OjM2OjU4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0I1Tk96R0tFVzlyc2lqcTNoZkxiU1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIENvdmVyIC0gQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogImh0dHA6Ly93d3cudGhpc2NvbGRsaWZlLm5ldCBodHRwOi8vd3d3LmZhY2Vib29rLmNvbS90aGlzY29sZGxpZmUgTW9ybmluZyBwZW9wbGUsIG1hbnkgcGVvcGxlIGFza2VkIG1lIHRvIGRvIHRoaXMgc29uZywgSSBhbHdheXMgcmVmdXNlZCBjYXVzZSBJIGFtIG5vdCB0aGUgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL052Q3FhQWZIeUc0L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRhIFNjaGVoZiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL09ZbFNRRHZDNWlYbnpLY2hLOENObDgzeVFXa1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJZY0hhZU9WZFBySSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOS0wMS0wOFQwMTo0ODo1OC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUN4TkU3YmhKbWM3MlpoVnZqNFBaT1NBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgZmVhdCBUaW1vIFLDpGlzw6RuZW4gLSBBbGlhcyAoTGl2ZSBAIEdyYW1taXNnYWxhbiAyMDA5KSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMuIExpdmUgd2l0aCBUaW1vIFLDpGlzw6RuZW4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWWNIYWVPVmRQckkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1ljSGFlT1ZkUHJJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWWNIYWVPVmRQckkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkR1bWhldGVyMjQiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay84aFp4VDBZTDBwbFl0T1pNQk55bXFMeHhselFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiZ25ITFNhNWhjNkkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMDItMDRUMjI6NDA6MDIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDbENkZDhINW5XLUdEU0hKS2E5TWFQdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKHN1YnRpdHVsYWRvIGVzcGHDsW9sKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiRXhjZWxlbnRlIHZpZGVvIGRlIGluIEZsYW1lcyBzdWJ0aXR1bGFkbyBhbCBlc3Bhw7FvbC4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9nbkhMU2E1aGM2SS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZ25ITFNhNWhjNkkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9nbkhMU2E1aGM2SS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiamF2aW1ldGFsY2hpbGUiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9senVyNjRpb1lGOXBsbWtEMF90UktaS0NScklcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAibV9ZM3hYS3hhUEEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMjhUMjM6NDQ6MzguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdzh0b0ZZZUhFcGd4WnFmMjJ1YlB2USIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC1BbGlhcyBAIEJPUkdIT0xNIEJSSU5ORVIiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9tX1kzeFhLeGFQQS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJkYXdpY2g5MSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1lobUM1YVo3NEswTkRYWHZIN3JuWGVKQm1XRVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJfMGZmM1ZrZ2h6WSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMS0wNC0xN1QxNTo0MzowNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNPb000YllmTXhfXzdfa2ZZTGUzb213IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBHdWl0YXIgQ292ZXIgSEQiLAogICAgImRlc2NyaXB0aW9uIjogIkluZm86IFdoYXQgYSBjYXRjaHkgc29uZyEgSSBsb3ZlZCBBIFNlbnNlIG9mIFB1cnBvc2UgYWxidW0sIG15IHBlcnNvbmFsIGZhdm9yaXRlIEluIEZsYW1lcyBhbGJ1bSB0byBkYXRlIChhbHRob3VnaCB0aGUgb2xkIHNjaG9vbCBJRiBmYW5zIG1pZ2h0IGRpc2FncmVlKSwgYW5kIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18wZmYzVmtnaHpZL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fMGZmM1ZrZ2h6WS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18wZmYzVmtnaHpZL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJEaWxwaWwwMSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1FXUzQ3OWZOUFVvWktkTFB2bFJzSHZKQVBUQVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJ2dEFuUUhERkV6NCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNy0wOC0xNVQxODoyMjo1NS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNFcWxRMmJoZXpFeWJKSmV6TnZhdk1RIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBMaXZlIGF0IFdpdGggRnVsbCBGb3JjZSAyMDE3IFtQcm8tU2hvdF0iLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBsaXZlIGF0IFdpdGggRnVsbCBGb3JjZSAwOjE4IEFsaWFzIDU6MDkgQWxsIEZvciBNZSA5OjQzIE9ubHkgRm9yIFRoZSBXZWFrIDE0OjA1IENsb3VkIENvbm5lY3RlZCAxODozNCBEZWxpdmVyIFVzIDI1OjMzIEhlcmUgVW50aWwgRm9yZXZlciAzMDowMCAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS92dEFuUUhERkV6NC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdnRBblFIREZFejQvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS92dEFuUUhERkV6NC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAieE1lZ2FtZXQiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9OeVdWZHlacktaYmp5dlJFc2hxYmYwc3ZzYW9cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAicUZJdHhSSTIzTTgiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTctMDYtMTFUMDU6MDY6MjMuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDX1Z1N2VuNjZrQjN0U01PYVhORTFWZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIEAgU3dlZGVuIFJvY2sgMjAxNyAtIEFsaWFzIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xRkl0eFJJMjNNOC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcUZJdHhSSTIzTTgvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xRkl0eFJJMjNNOC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiR29Qcm9DcmFzaFRlc3REdW1teSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2Via3dHdFhGR1E3RlplTEVBWkM4OHctbUZ5d1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJUaGlsZWpMNnp0USIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxOC0wNy0zMVQxMTo1NToxNy4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNXUTJPSEI2Szdhdmx5eXBDNUpmQzh3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyB3LiBzdHJpbmdzICg0IGNhbSBtaXgpIEAgQm9yZ2hvbG0gQnJpbm5lciAyMDE4IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyBCb3JnaG9sbSBCcmlubmVyLCBKdWx5IDI3dGgsIDIwMTggUmVjb3JkZWQgbGl2ZSBhdCBCb3JnaG9sbSBDYXN0bGUsIMOWbGFuZCwgU3dlZGVuLiBGb290YWdlIHNhdmFnZWx5IHN0b2xlbiBmcm9tIEpvaGFuaXNhbm9yYW5nZSwgRGF2aWQgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvVGhpbGVqTDZ6dFEvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1RoaWxlakw2enRRL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvVGhpbGVqTDZ6dFEvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkNydW1icyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrLy1ZOFJDWGx1SHBFQkRfTVFvVzVnbG5vVFczQVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICI2SnVFbTRZa0JNbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNS0xMi0xOVQxNDozMzoyMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNOc3BMa2cwbjc0TktIaTNQUm04RDB3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLy8gQWxpYXMgQ292ZXIgKExpdmUgVmVyc2lvbikiLAogICAgImRlc2NyaXB0aW9uIjogIkdlYXIgVXNlZCA5MCdzIE9ydmlsbGUgTGVzIFBhdWwgQ3VzdG9tIHdpdGggc3RvY2sgcHVwcyBEdW5sb3AgOTVRIFdhaCAxMC01MiBEciBTdHJpbmdzIHR1bmVkIHRvIERyb3AgQSMgQmlhcyBGeCBGZWVsIGZyZWUgdG8gY29tbWVudCEiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82SnVFbTRZa0JNby9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNkp1RW00WWtCTW8vbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82SnVFbTRZa0JNby9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiRmlyZGF1cyBUYWhyaW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9yTDY1eDhySklZbHNjN0RUOHlid05lUmpLR0FcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAicEZ0b09iSTRjdE0iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDgtMTEtMjNUMjA6MTE6MTAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDUUI0bWU4VFZpMGdvVGJQbENfcUt3dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKyBMeXJpY3MiLAogICAgImRlc2NyaXB0aW9uIjogIjIwMDggTnVjbGVhciBCbGFzdCAoSW4gRmxhbWVzKSBUaGUgc2VycGVudCBrbm93cyBXaGVuIHRoZSBjdXJ0YWluIGZhbGxzIFdpdGggZGVuaWFsJ3MgYmxpbmRmb2xkIEhlIGdyZWV0cyBhbm90aGVyIGRheSBEb24ndCBiZWxpZXZlIHRoZSBtYXNrIEl0IGFkYXB0cyB0byBhbnkgbGllIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3BGdG9PYkk0Y3RNL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9wRnRvT2JJNGN0TS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3BGdG9PYkk0Y3RNL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJEYW4gR3VydSAoZi5rLmEuIFJvcXFSKSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2RCeVc1UFJucnplVjFwWW4ySElzV01uSFk1TVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICItQVhxZGN3eXBwayIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wMS0xNlQwMTowOTo0Ny4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNQdklQYXJjdlBRc2ZwdWxIRnRNV1F3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGFpZCBSZW1peCkiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8tQVhxZGN3eXBway9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJNYXJ0w61uIE9jaG9hIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvLUF3d0tNemhLUEMwM3NqY0VKcTdsRXpzaGlVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIk80emR4MUpRVm1zIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAxLTA4VDEzOjA0OjM5LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1RrTTZZcWkwTGp1WkJIOEdYeFFMdFEiLAogICAgInRpdGxlIjogIklOIEZMQU1FUyAmIFRpbW8gUsOkaXPDpG5lbiAtIEFsaWFzIChMaXZlIEdyYW1taXNnYWxhbiAyMDA5KSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIGFuZCBUaW1vIGxpdmUgaW4gU3dlZGlzaCB0ZWxldmlzaW9uLiBodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9STFmeGNpNFRCSlUmZmVhdHVyZT1jaGFubmVsX3BhZ2UuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTzR6ZHgxSlFWbXMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL080emR4MUpRVm1zL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTzR6ZHgxSlFWbXMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlNpbW9uIFBldGVyc3NvbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrLzV5WHVCczNuRWxwV2NybTBHWXUwaFZVNHNhd1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJ3aHNCT2hJd2VSQSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxOC0wOS0wMlQxNjowOTozMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUM0c0xRc1J1ZVpkZWNzSXdtSFo0NmZnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcy4gQmFja2luZyB0cmFjayIsCiAgICAiZGVzY3JpcHRpb24iOiAi0JjRgdC/0L7Qu9C90LjRgtC10LvRjDogSW4gRmxhbWVzINCQ0LvRjNCx0L7QvDogQSBTZW5zZSBvZiBQdXJwb3NlINCU0LDRgtCwINCy0YvQv9GD0YHQutCwOiAyMDA4INCzLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3doc0JPaEl3ZVJBL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS93aHNCT2hJd2VSQS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3doc0JPaEl3ZVJBL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJMZXNuaTRlayIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2E4UEoxcTBPS1FWdW5hWm5ZbDhnblJvOEhrc1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJxb0xsUFJNeU9fTSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOC0wNi0yNFQxODo1Nzo1MC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNBa3NvdDNweEhsTkQ0ZzZWeWpKZDR3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAocGlhbm8gY292ZXIpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJob25lc3RseSBpIGRvIGl0IGJldHRlcl5eIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcW9MbFBSTXlPX00vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FvTGxQUk15T19NL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcW9MbFBSTXlPX00vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkdpem1vIG5hbWUiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9EejJEdjNTbFF2Y0sxbnBaT2pzRGJQNzViWW9cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNFhyNTdySVdRS28iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMDctMjBUMjM6NTA6MzQuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDazhFUDBkTnJ5bGlqNU1iY0J6TmF2QSIsCiAgICAidGl0bGUiOiAiW0luIEZsYW1lcyAtIEFsaWFzXSBQaWFubyBUdXRvcmlhbCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSSBzZXJpb3VzbHkgbG92ZSB0aGUgaW50cm8gdG8gdGhpcyBzb25nISBNSURJIGFuZCBTaGVldCBtdXNpYyBjYW4gYmUgZG93bmxvYWRlZCBoZXJlOiBodHRwczovL21lZ2EuY28ubnovI0YhQlpoM0ZLb0MhdGlwY0o3T2Y3Tm1FYy1xVFk4d2VNdyBGaWxlZCB1bmRlcjogLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNFhyNTdySVdRS28vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzRYcjU3cklXUUtvL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNFhyNTdySVdRS28vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIk1hbGF3aW1hbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2g2TmliWmVVTG9rUmhiVTdkVmhFbVMwLWdNUVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJHVTN0Y3ZlUGdjayIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOC0xMC0wNVQwOToyMToyNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNoZjBQWld2cDFNcVVqdjZPeDVtYTJnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiNHRoIHNvbmcgb24gdGhlIGFsYnVtIEEgU2Vuc2Ugb2YgUHVycG9zZSBieSBJbiBGbGFtZXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR1UzdGN2ZVBnY2svZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0dVM3RjdmVQZ2NrL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR1UzdGN2ZVBnY2svaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogImpKbnRlIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvaEZ2cVBSWHNnaTloTWZTM3VNd0x4Z21PVkdNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjR0SzNHWGJBN2lZIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE4LTEyLTAxVDE1OjA5OjU2LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0p6VW8zVFNsc1dQTzBiWTFjeDItZWciLAogICAgInRpdGxlIjogIkluIEZsYW1lcywgQWxpYXMgKGxpdmUpLCBEYWxsYXMsIFRleGFzIDMwMTEyMDE4IiwKICAgICJkZXNjcmlwdGlvbiI6ICJHYXMgTW9ua2V5IEJhciBuIEdyaWwuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNHRLM0dYYkE3aVkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzR0SzNHWGJBN2lZL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNHRLM0dYYkE3aVkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkouUC4gRm9zdGVyIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOFNiSXZRVE8xZ0RneUt3RkJaa2VpaV9jZUJJXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInFBWkREa2RMZV9jIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEyLTA5LTIwVDE2OjIyOjEwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3I4LXdlUjhMZTJ2Y3hoQkdpUmQ5Q1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEEgU2Vuc2Ugb2YgUHVycG9zZSAoSFEgQWxidW0pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbmludGggc3R1ZGlvIGFsYnVtLCBBIFNlbnNlIG9mIFB1cnBvc2UuIFllYXI6IDIwMDggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVHJhY2sgbGlzdGluZzogMS4gVGhlIE1pcnJvcidzIFRydXRoIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FBWkREa2RMZV9jL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xQVpERGtkTGVfYy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FBWkREa2RMZV9jL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJwcGhlcm9lcyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0NPWC1IdV91ckVwY29YdEpRR3Y3VHh0LUJnQVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJCTWdQTGg3a2RYNCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMS0wMS0zMFQxMjo1MToxMi4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNOY1ZRQVZvNG9mVE1WTEhnTmxjWUV3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoRmF0YWxHLUZvcmNlIFRlY2hubyBDb3ZlcikiLAogICAgImRlc2NyaXB0aW9uIjogIlRlY2hubyBjb3ZlciBJbiBGbGFtZXMgLSBBbGlhcyBhbGwgc291bmRzIG1hZGUgaW4gTUFHSVggTXVzaWMgTWFrZXIgMTUgUHJlbWl1bS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CTWdQTGg3a2RYNC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQk1nUExoN2tkWDQvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CTWdQTGg3a2RYNC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiRmF0YWxHRm9yY2UiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9FTGIxektDVnJnNTY5OThXTnZmbUYtQ3cxMEVcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiZDl3aHZyNWpIcWMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMTEtMDhUMjE6NDk6MzQuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDUXdpNEYwYlZ1WGNGMUY0UW1ESGN3QSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKERydW0gQ292ZXIpIFtIRF0iLAogICAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgbWUgZG9pbmcgYSBkcnVtIGNvdmVyIG9mIFwiQWxpYXNcIiBieSBJbiBGbGFtZXMuIFRoZSBzb25nIGZyb20gdGhlIDIwMDggcmVsZWFzZSBcIkEgU2Vuc2UgT2YgUHVycG9zZVwiLCBpcyB0aGUgY29weXJpZ2h0ZWQgcHJvcGVydHkgb2YgaXQncyBvd25lcihzKS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9kOXdodnI1akhxYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZDl3aHZyNWpIcWMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9kOXdodnI1akhxYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiVGltIEVtYW51ZWwgU2Now6RyZGluIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvd1ZvTjdtVEhyWWk0eVdXQWZmTXY0dWhGYmdrXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImxRQUtUd3d5aUk4IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTIwVDAwOjMzOjM4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3BSOFpDMDFvRGkzT3BUeko3aUtaYlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcy1BbGlhcyB3aXRoIGx5cmljcyAoSFEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJBbGlhcyBieSBpbiBGbGFtZXMgZnJvbSB0aGUgQWxidW0gXCJBIFNlbnNlIG9mIFB1cnBvc2VcIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sUUFLVHd3eWlJOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJLaXdpbzEyIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvY0RXdXBuX2hRR01CWWFyRWFXdWI2SFFJZ29nXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIlo1eC0tMUd6dUtFIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE1LTEwLTA2VDIyOjIyOjU2LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2lUM1g5VFlPMVhydnVPcGprd3hBOUEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIEd1aXRhciBDb3ZlciAoSEQpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJDb3ZlciBvZiB0aGUgc29uZyBBbGlhcyBieSBJbiBGbGFtZXMgSSBkbyBub3Qgb3duIHRoZSBzb25nLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1o1eC0tMUd6dUtFL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9aNXgtLTFHenVLRS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1o1eC0tMUd6dUtFL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJKb2ZmcmV5IEJpcnN0ZXIiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9zSGJKOF9ncmJSY1A4WWVXSTFkd3pNT1BXQWdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAib2U3R3RXWDktMHciCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDgtMDVUMTc6NDY6MDAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDYXpIcVJGMkh3ckVUMWRJRG5DZERKdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKFBvbCdhbmQncm9jayBGZXN0aXZhbCAyMDE4IEtvc3RyenluIG4vT2RyYSkiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzIChQb2wnYW5kJ3JvY2sgRmVzdGl2YWwgMjAxOCBLb3N0cnp5biBuL09kcmEpIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb2U3R3RXWDktMHcvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL29lN0d0V1g5LTB3L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb2U3R3RXWDktMHcvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlJlYmVsIFZpa2luZyBWaWRlb3MiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9yTnR2Y3NnRnlMUHZwb3hlXzVjY21VMkp6a3NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiYmUxY2QxWlpfUVEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMTAtMzFUMDg6Mzc6MDIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDWkZuaTdjTExESld4OUxiYnhQR0RtdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgbGl2ZSBpbiBUZW1wZSwgQVogMjAxOCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIHBlcmZvcm1pbmcgQWxpYXMgYXQgdGhlIE1hcnF1ZWUgVGhlYXRyZSBpbiBUZW1wZSwgQVogMTAtMzAtMjAxOC4gRW5qb3khIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvYmUxY2QxWlpfUVEvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2JlMWNkMVpaX1FRL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvYmUxY2QxWlpfUVEvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkFuZHJldyBXaWxsaWFtcyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3Q2c2tHWEpqUURnYThQQ3lPMlFQbHI5OTk0c1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJVZlJjS1VUdmJjbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNy0xMS0xN1QxNjowNzowMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNWYk5yTkM4ZVlOYmN2WFlVVDhFazJRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIExpdmUgQCBTY2FuZGluYXZpdW0gR8O2dGVib3JnIFN3ZWRlbiAtIDE2LzExIDIwMTciLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1VmUmNLVVR2YmNvL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9VZlJjS1VUdmJjby9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1VmUmNLVVR2YmNvL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJKaW1taWUgU3RqZXJuc3Ryw7ZtIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvNkxSeS1Ea3VqWl95eXBlSmRHa3RIRHEyUjhNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIks4eVJmdTNSejE0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE2LTA1LTA5VDAzOjI0OjQwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2wtMzNIRWVRSWxfY2FwVHVEdS1Kb2ciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC0gVm9jYWwgQ292ZXIiLAogICAgImRlc2NyaXB0aW9uIjogIk15IGNvdmVyIG9mIHRoZSBzb25nIEFsaWFzIGJ5IHRoZSBiYW5kIEluIEZsYW1lcy4gSSBhbSBub3cgcnVubmluZyBhIG5ldyBwYWdlIGZvciBteSBzdHVkaW8geW91IGNhbiBmaW5kIGl0IGF0IC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0s4eVJmdTNSejE0L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9LOHlSZnUzUnoxNC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0s4eVJmdTNSejE0L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJOYXRlIEJvaG5ldCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2JNdkQzQVpmdG1Eb3hTTlYzU2V2aERxZm50a1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJHTjZ3WmxxaTR1SSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxOC0xMi0yMFQxODoxNTowMS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNTczVOQzdpcGNtNjlGZ2plcmprSXBRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoSFEgTGFpZCBSZW1peCkiLAogICAgImRlc2NyaXB0aW9uIjogIkJ5IFwiQSBTZW5zZSBPZiBQdXJwb3NlXCIgcmUtaXNzdWUsIDIwMTQuIEFsbCByaWdodHMgcmVzZXJ2ZWQgdG8gdGhlIGJhbmQgYW5kIENlbnR1cnkgTWVkaWEuIH4gQkxLIH4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9HTjZ3WmxxaTR1SS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR042d1pscWk0dUkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9HTjZ3WmxxaTR1SS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiSm8gS2lvdXIiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9yLXpHMlZXWGIwcnVXQXBoT0hCQ2pUMG5XelVcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNnJ2bmVjVWRnb0UiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMDgtMDVUMTQ6MTQ6MTcuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDcXo0c0xQQjhWMkhrOVlObThXYlRFZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgLSBXYWNrZW4gMjAwOSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIExJVkUgQCBXYWNrZW4gMjAwOSBBbGlhcy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82cnZuZWNVZGdvRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNnJ2bmVjVWRnb0UvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82cnZuZWNVZGdvRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiRWx2ZW5XaXRjaGNyYWZ0IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvLVA2MXFyTDB5TlVmTXEybVRQNGRqTUtLRHNZXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjVzd2l1UnQzR1lJIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTA2LTIyVDIzOjE2OjM3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0VPeEl2cUZ0d19qT19NaUhxYnNjRFEiLAogICAgInRpdGxlIjogIkluIGZsYW1lcyAnQWxpYXMnIGFjb3VzdGljIHZhcmlhdGlvbiAvIGNvdmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICJyZS1oYXNoIG9mIGFuIG9sZGVyIHZpZGVvLCBob3BlZnVsbHkgYW4gaW1wcm92ZW1lbnQhIGFjb3VzdGljIGNyZWRpdGVkIHRvIElhbiBTYW5kb3ZhbCwgcGxlYXNlIGdvIGNoZWNrIGhpbSBvdXQgOikgdGhhbmtzIGZvciB3YXRjaGluZyEiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS81c3dpdVJ0M0dZSS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNXN3aXVSdDNHWUkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS81c3dpdVJ0M0dZSS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiS2FybWFyaW4gTmF0dXJlcyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2NYY1c5VTFFZ29neVpKaDBtREhGOTJuelRlZ1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJQT2todjVOS2ZXSSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxOC0wNS0xNVQwNjo0MDozOC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNMRVdocVgyRHJQbkVGZE1oaDlUQzZBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoQXByaWwgMzAsIFRvcm9udG8sIEdpZ2FudG91cikiLAogICAgImRlc2NyaXB0aW9uIjogIlBlcmZvcm1pbmcgQWxpYXMgb2ZmIHRoZWlyIG5ldyBjZCBBIFNlbnNlIG9mIFB1cnBvc2UuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUE9raHY1TktmV0kvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1BPa2h2NU5LZldJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUE9raHY1TktmV0kvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogImdldGJlYXRzIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvTVd2aUIxcWVldEwxLWkxMUtXTTFtdWw2UXVJXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjc0ajc5RU45UnlvIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTExLTA0VDIzOjM0OjIwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3kxNy1xbTZyOWRCZXluU2JYZTRUYVEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC0gTm9ydGhzaWRlIDIwMTciLAogICAgImRlc2NyaXB0aW9uIjogIk5vcnRoc2lkZSAyMDE3IFBhcnF1ZSBGdW5kaWRvcmEsIE1vbnRlcnJleSBOLkwgLCBNZXhpY28gMjggLSBPY3R1YnJlIC0gMjAxNy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NGo3OUVOOVJ5by9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNzRqNzlFTjlSeW8vbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NGo3OUVOOVJ5by9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiSmVzdXMgTWVuZG96YSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1ZMVlcwUVdncmlPc3JyQVpxX3FDR3RNVVQtY1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJSVlgxcXdpLTlvRSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNC0wOS0xMlQwMjoxMToxNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNvQXl0ZFhvV2ZKd2lDNWVnX0JlX0tnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgYWxpYXMgY292ZXIiLAogICAgImRlc2NyaXB0aW9uIjogIkluRmxhbWVzIEFsaWFzIENvdmVyLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1JWWDFxd2ktOW9FL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9SVlgxcXdpLTlvRS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1JWWDFxd2ktOW9FL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJDaHJpcyBHcmFuZHkiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9yQmdpYVgyaFhRREE4LUI4OE1DNl9SY1ZidDBcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNzV4WU43VkJpVFkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTMtMTItMjVUMTc6Mzc6NDQuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDcUgwYWZsUFRuVHFyZTl0aDNGbXl3dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogIkFsYnVtOiBhIFNlbnNlIG9mIFB1cnBvc2UuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNzV4WU43VkJpVFkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzc1eFlON1ZCaVRZL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNzV4WU43VkJpVFkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkFuZHJlYXMgSG9ybmVtYW5uIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvb3lhQTZPZXowcENFOEhQRGtMZnUxaWVuZzFjXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIlV5UlN2TXVkMFo0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE1LTA2LTIxVDA4OjIyOjI1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0VEYjRuX0xkeWNDZTEwTjlINk5fSHciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChMaXZlIEAgR3Jhc3BvcCAyMDE1KSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMgKExpdmUgQCBHcmFzcG9wIDIwMTUpIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvVXlSU3ZNdWQwWjQvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1V5UlN2TXVkMFo0L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvVXlSU3ZNdWQwWjQvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRlYmJpZSBHIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvbEtHUGlBRFFBdm5HQUZCZnhKRUs5R2Q3UUdVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkFycDk0V3RiMGx3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA5LTIyVDE2OjA3OjMxLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2FIZUtWTUVwSTZjVGk2Um96VzZVWlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChhbGJ1bSB2ZXJzaW9uKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiVGhlIHZpZGVvIHRvIEluIEZsYW1lcyBzb25nIEFsaWFzIEZyb20gdGhlIGFsYnVtIEEgU2Vuc2UgT2YgUHVycG9zZS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXJwOTRXdGIwbHcvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiVW5pdmVyc2FsIE11c2ljIFN3ZWRlbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL25KM21BSlduMVR3UnpYLUZLZkp2YTRKSUFkd1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJpLVoxdV95M0ZZWSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOC0wNS0zMFQwODowNjoxMi4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUMzekhxbEVBNEl5bnRpSXpoNXNoOEtRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSAgQWxpYXMgKCBMaXZlIFN0b2NraG9sbSAwOCApIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyBMaXZlIGF0IEdyw7ZuYWx1bmQgQCBTdG9ja2hvbG0uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaS1aMXVfeTNGWVkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2ktWjF1X3kzRllZL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaS1aMXVfeTNGWVkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogInJoZWJvcmciLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9WWDBvbEFqcFUxRGtqQUFQTkh5TmUxRnlZUWtcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAibDNOd2FZWnAxYUUiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMTAtMzFUMDQ6MTk6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDM19aX2s4Q291Y2NVQmtrUDhkLXhWUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgR3VpdGFyIENvdmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBjb3ZlciBpbiA1IG1vbnRocy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sM053YVlacDFhRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbDNOd2FZWnAxYUUvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sM053YVlacDFhRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTUVUQUxNVVNJQ05FVFdPUksiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay8xSjZDc280S1ZFaFRwT1FGX2l3RW02cGpxNUFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNHNSVnY2QjhNcGMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMjlUMDA6MjA6NDMuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDX2pzR3UzWDZuWW5MM0g1NENFZFhPZyIsCiAgICAidGl0bGUiOiAiSW4gZmxhbWVzIC0gQWxpYXMgQCBib3JnaG9sbSBicmlubmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80c1JWdjZCOE1wYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNHNSVnY2QjhNcGMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80c1JWdjZCOE1wYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiRGF2aWQgUGV0ZXJzc29uIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvNGJ3SlY3c1hoRUx3bjEwZmRkTGNDZ0U1YzhRXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjBGQmhLZmREVmZFIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA5LTI3VDAxOjU0OjQ1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0xqbFRjckxNVG4yaDlCZk5LTjZuNkEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcy1BbGlhcy1TdWJ0aXR1bGFkby1Fc3Bhw7FvbCIsCiAgICAiZGVzY3JpcHRpb24iOiAiU2kgZGVzZWFzIGRlc2NhcmdhciBlc3RlIHZpZGVvIHB1ZWRlcyBoYWNlcmxvIGFxdWk6IGh0dHA6Ly9jaWQtYWUyYjkyMTMyNzYyZTFhZC5za3lkcml2ZS5saXZlLmNvbS9icm93c2UuYXNweC9WJWMzJWFkZGVvcy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8wRkJoS2ZkRFZmRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvMEZCaEtmZERWZkUvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8wRkJoS2ZkRFZmRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiRWxNZWpvck1ldGFsIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvUGdHT1lwZE1wYW5adDRQVVEzSG9LTmcydnlrXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInVoNXB2cUJ1enNFIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEwLTA2LTI2VDEzOjI1OjMxLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1BQUGxZUGNGZFFWSEN3M1NEZHhaLUEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcy1BbGlhcyA4IGJpdCIsCiAgICAiZGVzY3JpcHRpb24iOiAiaW4gZmxhbWVzJyBBbGlhcyBpbiA4IGJpdCAqQUxMIHJpZ2h0cyBnb2VzIHRvIHRoZSBiYW5kIGFuZCByZXNwZWN0aXZlIG93bmVycyoiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS91aDVwdnFCdXpzRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdWg1cHZxQnV6c0UvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS91aDVwdnFCdXpzRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiam9uZ21hZ2VlIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvUzdYc09XcDhvRWtteGtEWkp6bk81RGllSnlJXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInB6cUc2SWpKZjgwIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTExLTIwVDE1OjExOjA3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0wzcXlpVjdCYk5RazROZEo5SGU2SWciLAogICAgInRpdGxlIjogIkFsaWFzIGJ5IEluIEZsYW1lcyAoRWxlY3RyaWMgR3VpdGFyIFRyaWJ1dGUpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJTdWJzY3JpYmUgZm9yIGEgbmV3IHZpZGVvIGV2ZXJ5IHdlZWsgYW5kIGxlYXZlIGEgY292ZXIgcmVxdWVzdCBpbiB0aGUgY29tbWVudHMgYmVsb3chIEZyZWUgbXVzaWMgYXQgQmFuZENhbXA6IC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3B6cUc2SWpKZjgwL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9wenFHNklqSmY4MC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3B6cUc2SWpKZjgwL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJURE9WbXVzaWMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9tbUx6cWdOaWdoRmZ0ZUY5LTdZTUo1NTdWNGdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNllGYnJ6NzFHd3MiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMTEtMjVUMTI6MTY6MDYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdFJoNzRYN1NYODdkQXZKd0xZU3BZZyIsCiAgICAidGl0bGUiOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSBsaXZlIGF1IEJhdGFjbGFuLCBQYXJpcyAoRnJhbmNlKSBsZSAyNC8xMS8yMDA5LiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82WUZicno3MUd3cy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJva2d3ZW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9YMENEMDBsdXRnbUZZNlBNQXFSUnZDdHJvNE1cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiUUVobFBJRUdqcWsiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTItMDctMjJUMTg6NDE6MjEuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDTnEwWi0yUDNYTldEQTMydFp1b3hmZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgY292ZXIiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBBbGlhcyBDb3Zlci4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9RRWhsUElFR2pxay9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUUVobFBJRUdqcWsvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9RRWhsUElFR2pxay9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAicnlrbm93MTI5NyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0KIF0KfQo=
47
+ ewogImtpbmQiOiAieW91dHViZSNzZWFyY2hMaXN0UmVzcG9uc2UiLAogImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvdE95LTdUNU9ZY3pQeGlDMl9aaUlFaUM5M3NjXCIiLAogIm5leHRQYWdlVG9rZW4iOiAiQ0RJUUFBIiwKICJyZWdpb25Db2RlIjogIlJVIiwKICJwYWdlSW5mbyI6IHsKICAidG90YWxSZXN1bHRzIjogODYyMzIsCiAgInJlc3VsdHNQZXJQYWdlIjogNTAKIH0sCiAiaXRlbXMiOiBbCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0lWUzkyTEZWXzM4azZnekswemVlOWRxelBoVVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJmVjZxNUJyUzBCdyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0xMS0zMFQyMTozNDozNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUM5cWpEeklRb3lXM1VTbHdfX3FkbW5RIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoT2ZmaWNpYWwgVmlkZW8pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJEaXJlY3RvcjogUGF0cmljIFVsbGFldXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2ZWNnE1QnJTMEJ3L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkluRmxhbWVzR0JHIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOEdfXzNRZkh0dVpzQTAybDFKd0lTeVRGMVNBXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIm9IS24xbnhPWDlzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTEwLTE2VDE3OjQwOjE5LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1dCZTR4SUJMUlhTTktXOVBXd0Y5TUEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIFtIRC9IUSBMeXJpY3MgaW4gVmlkZW9dIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJIGRvIG5vdCBvd24gYW55IHJpZ2h0cyB0byB0aGlzIHNvbmcuIFRoaXMgaXMgcHVyZWx5IHByb21vdGlvbiBmb3IgdGhlIGJhbmQgYW5kIGZvciBlbnRlcnRhaW5tZW50LiBJZiB5b3UgbGlrZSBpdCBidXkgdGhlIENEJ3MgYW5kIHN1cHBvcnQgdGhlIGJhbmQgKGxpbmtzIGJlbG93KS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb0hLbjFueE9YOXMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiUnV1c2kgTHlyaWNzIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvWkhzWjRPdnlNNGp2a0YtMWdveTVjVjJDLTJ3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIllDM3J3NzRjZkc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAxLTA4VDAxOjI2OjQ1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ25mVkFRTFhoMjJlOUlBekw2Q2pTM0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyBmZWF0IFRpbW8gUmFpc2FuZW4gLSBBbGlhcyAoTGl2ZSBHcmFtbWlzZ2FsYW4pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgb2NoIFRpbW8gcsO2amplciBsaXRlZ3Jhbm5hIHDDpSBncmFtbWlzLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9ZQzNydzc0Y2ZHNC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCdWx0aVoiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9EcWVqcXpYR0xsUFlvdEE1Tl8tZkpYSXhTTTRcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiX0VMNzQ4TWZSVTAiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTUtMDYtMDhUMTk6MzQ6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDNEtocFhNSkJBX2hxSGRBSnhyY2F0dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gMDQuQWxpYXMgTGl2ZSBAIFJvY2sgQW0gUmluZyAyMDE1IEhEIEFDMyIsCiAgICAiZGVzY3JpcHRpb24iOiAiSSdtIG5vdCB0aGUgb3duZXIgb2YgdGhpcyB0diBicm9hZGNhc3QgKEVpbnNQbHVzIEhEIERldXRzY2hsYW5kKS4gQWxsIHJpZ2h0cyBpbiB0diBjaGFubmVsLCBsYWJlbHMgYW5kIEluIEZsYW1lcyBiYW5kLiBGaW5kIHVzOiAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fRUw3NDhNZlJVMC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvX0VMNzQ4TWZSVTAvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fRUw3NDhNZlJVMC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAicm9ja29ubWVkaWFvZmZpY2lhbCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0pRSVluUXhBUlZUM3VaWEwyNzl3R1hRb3Q2Z1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJfM0lsZjI2LVJYOCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0wNS0xNlQwMToyMzozNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNrQWM3amg2d3Rrb2xpMGllVXpjVXhnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIEEgU2Vuc2UgT2YgUHVycG9zZSAoSFEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJQbGVhc2UgQ29tbWVudCAvIFJhdGUuIEx5cmljcyBhbmQgSW5mbyBiZWxvdy4gRW5qb3kuIFNvbmc6IEFsaWFzIEFydGlzdDogSW4gRmxhbWVzIEFsYnVtOiBBIFNlbnNlIE9mIFB1cnBvc2Ugfn5+fn5+fn5+fn5+fn5+fn5+fn5+IEx5cmljcyBGcm9tIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18zSWxmMjYtUlg4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fM0lsZjI2LVJYOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18zSWxmMjYtUlg4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJ0ajExMTEyMTI5IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvaFRKRmExNF9PeW02RjZzRnVhNlNLd3pwSFV3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIk52Q3FhQWZIeUc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEwLTA2LTIwVDE0OjM2OjU4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0I1Tk96R0tFVzlyc2lqcTNoZkxiU1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIENvdmVyIC0gQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogImh0dHA6Ly93d3cudGhpc2NvbGRsaWZlLm5ldCBodHRwOi8vd3d3LmZhY2Vib29rLmNvbS90aGlzY29sZGxpZmUgTW9ybmluZyBwZW9wbGUsIG1hbnkgcGVvcGxlIGFza2VkIG1lIHRvIGRvIHRoaXMgc29uZywgSSBhbHdheXMgcmVmdXNlZCBjYXVzZSBJIGFtIG5vdCB0aGUgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL052Q3FhQWZIeUc0L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRhIFNjaGVoZiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL19LdEMwRkZiUDRwQkk5eDZVX2VuUXp3d0ljMFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJQcEtzeVVqM0xhSSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wOC0xOFQwMjowNjowNC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNzclA2NWg1SjhyQnhSUTVqdmVMUDRBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBAIFdhY2tlbiAyMDEyIExpdmUiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBsaXZlIGF0IFdhY2tlbiAyMDEyIHBlcmZvcm1pbmcgXCJBbGlhc1wiIGZyb20gdGhlIFwiQSBTZW5zZSBvZiBQdXJwb3NlXCIgYWxidW0uIFNldGxpc3QgQCBXYWNrZW4gMjAxMjogMS4gQ2xvdWQgQ29ubmVjdGVkIDIuIFRyaWdnZXIgKE1pc3NpbmcpIDMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUHBLc3lVajNMYUkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1BwS3N5VWozTGFJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUHBLc3lVajNMYUkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogInNZenplZ3kiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9RV1M0NzlmTlBVb1pLZExQdmxSc0h2SkFQVEFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAidnRBblFIREZFejQiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTctMDgtMTVUMTg6MjI6NTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDRXFsUTJiaGV6RXliSkplek52YXZNUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gTGl2ZSBhdCBXaXRoIEZ1bGwgRm9yY2UgMjAxNyBbUHJvLVNob3RdIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbGl2ZSBhdCBXaXRoIEZ1bGwgRm9yY2UgMDoxOCBBbGlhcyA1OjA5IEFsbCBGb3IgTWUgOTo0MyBPbmx5IEZvciBUaGUgV2VhayAxNDowNSBDbG91ZCBDb25uZWN0ZWQgMTg6MzQgRGVsaXZlciBVcyAyNTozMyBIZXJlIFVudGlsIEZvcmV2ZXIgMzA6MDAgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdnRBblFIREZFejQvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3Z0QW5RSERGRXo0L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdnRBblFIREZFejQvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogInhNZWdhbWV0IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvZnRDZFdIMDBacERpMllBTG1ibkhSb3pxQ1dNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIm9lN0d0V1g5LTB3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE4LTA4LTA1VDE3OjQ2OjAwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2F6SHFSRjJId3JFVDFkSURuQ2RESnciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChQb2wmIzM5O2FuZCYjMzk7cm9jayBGZXN0aXZhbCAyMDE4IEtvc3RyenluIG4vT2RyYSkiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzIChQb2wnYW5kJ3JvY2sgRmVzdGl2YWwgMjAxOCBLb3N0cnp5biBuL09kcmEpIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb2U3R3RXWDktMHcvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL29lN0d0V1g5LTB3L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb2U3R3RXWDktMHcvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlJlYmVsIFZpa2luZyBWaWRlb3MiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9senVyNjRpb1lGOXBsbWtEMF90UktaS0NScklcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAibV9ZM3hYS3hhUEEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMjhUMjM6NDQ6MzguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdzh0b0ZZZUhFcGd4WnFmMjJ1YlB2USIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC1BbGlhcyBAIEJPUkdIT0xNIEJSSU5ORVIiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9tX1kzeFhLeGFQQS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJkYXdpY2g5MSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1lobUM1YVo3NEswTkRYWHZIN3JuWGVKQm1XRVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJfMGZmM1ZrZ2h6WSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMS0wNC0xN1QxNTo0MzowNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNPb000YllmTXhfXzdfa2ZZTGUzb213IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBHdWl0YXIgQ292ZXIgSEQiLAogICAgImRlc2NyaXB0aW9uIjogIkluZm86IFdoYXQgYSBjYXRjaHkgc29uZyEgSSBsb3ZlZCBBIFNlbnNlIG9mIFB1cnBvc2UgYWxidW0sIG15IHBlcnNvbmFsIGZhdm9yaXRlIEluIEZsYW1lcyBhbGJ1bSB0byBkYXRlIChhbHRob3VnaCB0aGUgb2xkIHNjaG9vbCBJRiBmYW5zIG1pZ2h0IGRpc2FncmVlKSwgYW5kIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18wZmYzVmtnaHpZL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fMGZmM1ZrZ2h6WS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18wZmYzVmtnaHpZL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJEaWxwaWwwMSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3JMNjV4OHJKSVlsc2M3RFQ4eWJ3TmVSaktHQVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJwRnRvT2JJNGN0TSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOC0xMS0yM1QyMDoxMToxMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNRQjRtZThUVmkwZ29UYlBsQ19xS3d3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyArIEx5cmljcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiMjAwOCBOdWNsZWFyIEJsYXN0IChJbiBGbGFtZXMpIFRoZSBzZXJwZW50IGtub3dzIFdoZW4gdGhlIGN1cnRhaW4gZmFsbHMgV2l0aCBkZW5pYWwncyBibGluZGZvbGQgSGUgZ3JlZXRzIGFub3RoZXIgZGF5IERvbid0IGJlbGlldmUgdGhlIG1hc2sgSXQgYWRhcHRzIHRvIGFueSBsaWUgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcEZ0b09iSTRjdE0vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3BGdG9PYkk0Y3RNL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcEZ0b09iSTRjdE0vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRhbiBHdXJ1IChmLmsuYS4gUm9xcVIpIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOFNiSXZRVE8xZ0RneUt3RkJaa2VpaV9jZUJJXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInFBWkREa2RMZV9jIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEyLTA5LTIwVDE2OjIyOjEwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3I4LXdlUjhMZTJ2Y3hoQkdpUmQ5Q1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEEgU2Vuc2Ugb2YgUHVycG9zZSAoSFEgQWxidW0pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbmludGggc3R1ZGlvIGFsYnVtLCBBIFNlbnNlIG9mIFB1cnBvc2UuIFllYXI6IDIwMDggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVHJhY2sgbGlzdGluZzogMS4gVGhlIE1pcnJvcidzIFRydXRoIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FBWkREa2RMZV9jL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xQVpERGtkTGVfYy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FBWkREa2RMZV9jL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJwcGhlcm9lcyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3JjdTFpYXlSTUIyUmVOQUVjUEp3TkNQTzdmd1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJJWDFPWWRvcl9mOCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMS0wNy0wOVQyMzoyODozNC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNLaGE3YVBTQVpEY2ZlLVBwM2NiWjZnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcywgTGl2ZSBAIFNvbmlzcGhlcmUsU3RvY2tob2xtIDIwMTEiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzLCBMaXZlIEAgU29uaXNwaGVyZSxTdG9ja2hvbG0gMjAxMS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9JWDFPWWRvcl9mOC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvSVgxT1lkb3JfZjgvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9JWDFPWWRvcl9mOC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQmFzaWNQUyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2RCeVc1UFJucnplVjFwWW4ySElzV01uSFk1TVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICItQVhxZGN3eXBwayIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wMS0xNlQwMTowOTo0Ny4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNQdklQYXJjdlBRc2ZwdWxIRnRNV1F3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGFpZCBSZW1peCkiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8tQVhxZGN3eXBway9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJNYXJ0w61uIE9jaG9hIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvTnlXVmR5WnJLWmJqeXZSRXNocWJmMHN2c2FvXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInFGSXR4UkkyM004IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTA2LTExVDA1OjA2OjIzLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ19WdTdlbjY2a0IzdFNNT2FYTkUxVmciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyBAIFN3ZWRlbiBSb2NrIDIwMTcgLSBBbGlhcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcUZJdHhSSTIzTTgvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FGSXR4UkkyM004L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcUZJdHhSSTIzTTgvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkdvUHJvQ3Jhc2hUZXN0RHVtbXkiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9hOFBKMXEwT0tRVnVuYVpuWWw4Z25SbzhIa3NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAicW9MbFBSTXlPX00iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDgtMDYtMjRUMTg6NTc6NTAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDQWtzb3QzcHhIbE5ENGc2VnlqSmQ0dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKHBpYW5vIGNvdmVyKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiaG9uZXN0bHkgaSBkbyBpdCBiZXR0ZXJeXiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FvTGxQUk15T19NL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xb0xsUFJNeU9fTS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FvTGxQUk15T19NL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJHaXptbyBuYW1lIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvRHoyRHYzU2xRdmNLMW5wWk9qc0RiUDc1YllvXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjRYcjU3cklXUUtvIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTA3LTIwVDIzOjUwOjM0LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2s4RVAwZE5yeWxpajVNYmNCek5hdkEiLAogICAgInRpdGxlIjogIltJbiBGbGFtZXMgLSBBbGlhc10gUGlhbm8gVHV0b3JpYWwiLAogICAgImRlc2NyaXB0aW9uIjogIkkgc2VyaW91c2x5IGxvdmUgdGhlIGludHJvIHRvIHRoaXMgc29uZyEgTUlESSBhbmQgU2hlZXQgbXVzaWMgY2FuIGJlIGRvd25sb2FkZWQgaGVyZTogaHR0cHM6Ly9tZWdhLmNvLm56LyNGIUJaaDNGS29DIXRpcGNKN09mN05tRWMtcVRZOHdlTXcgRmlsZWQgdW5kZXI6IC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzRYcjU3cklXUUtvL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80WHI1N3JJV1FLby9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzRYcjU3cklXUUtvL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJNYWxhd2ltYW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay84aFp4VDBZTDBwbFl0T1pNQk55bXFMeHhselFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiZ25ITFNhNWhjNkkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMDItMDRUMjI6NDA6MDIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDbENkZDhINW5XLUdEU0hKS2E5TWFQdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKHN1YnRpdHVsYWRvIGVzcGHDsW9sKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiRXhjZWxlbnRlIHZpZGVvIGRlIGluIEZsYW1lcyBzdWJ0aXR1bGFkbyBhbCBlc3Bhw7FvbC4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9nbkhMU2E1aGM2SS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZ25ITFNhNWhjNkkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9nbkhMU2E1aGM2SS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiamF2aW1ldGFsY2hpbGUiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay81eVh1QnMzbkVscFdjcm0wR1l1MGhWVTRzYXdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAid2hzQk9oSXdlUkEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDktMDJUMTY6MDk6MzAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDNHNMUXNSdWVaZGVjc0l3bUhaNDZmZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMuIEJhY2tpbmcgdHJhY2siLAogICAgImRlc2NyaXB0aW9uIjogItCY0YHQv9C+0LvQvdC40YLQtdC70Yw6IEluIEZsYW1lcyDQkNC70YzQsdC+0Lw6IEEgU2Vuc2Ugb2YgUHVycG9zZSDQlNCw0YLQsCDQstGL0L/Rg9GB0LrQsDogMjAwOCDQsy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS93aHNCT2hJd2VSQS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvd2hzQk9oSXdlUkEvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS93aHNCT2hJd2VSQS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTGVzbmk0ZWsiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9jRFd1cG5faFFHTUJZYXJFYVd1YjZIUUlnb2dcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiWjV4LS0xR3p1S0UiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTUtMTAtMDZUMjI6MjI6NTYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDaVQzWDlUWU8xWHJ2dU9wamt3eEE5QSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgR3VpdGFyIENvdmVyIChIRCkiLAogICAgImRlc2NyaXB0aW9uIjogIkNvdmVyIG9mIHRoZSBzb25nIEFsaWFzIGJ5IEluIEZsYW1lcyBJIGRvIG5vdCBvd24gdGhlIHNvbmcuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWjV4LS0xR3p1S0UvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1o1eC0tMUd6dUtFL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWjV4LS0xR3p1S0UvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkpvZmZyZXkgQmlyc3RlciIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3VLV3VXWTlid05lamV2bjctS0hGcm83Rml3RVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJOejFybTkyQjFXMCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0wMS0yMVQwNDoxNjo1NS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNyNHFGNkJzNXBDTU1hYTRjZC1mbHpRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoQWNvdXN0aWMgQ292ZXIgYnkgSXZhbiBTYW5kb3ZhbCkiLAogICAgImRlc2NyaXB0aW9uIjogIk15IFR3aXR0ZXI6IGh0dHA6Ly90d2l0dGVyLmNvbS8jIS9TYW5kb3ZhbEl2YW4gVGFiIG1wMyBIaSEgSSdtIGJhY2sgYWdhaW4sIEkgaGF2ZSByZWNvcmRlZCB0aGlzIGJlYXV0aWZ1bCBzb25nIGZyb20gdGhlIGxlYXRlc3QgYWxidW0gQSBzZW5zZSBvZiBwdXJwb3NlLCBJIHRyaWVkIHRvIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL056MXJtOTJCMVcwL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9OejFybTkyQjFXMC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL056MXJtOTJCMVcwL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJJdsOhbiBTYW5kb3ZhbCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0ZFTE5fdVN4bm5Jb01mVEtTZTVGX0lmS3dLVVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJwNWstTWV5ODAxbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOS0xMS0wOFQxMzoyOTo1Mi4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNrWUszaFQ1WXlqbTRqdjZTUVlQRWpBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAobXVzaWN2aWRlbyArIGx5cmljcykiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzIEdyZWF0IHNvbmchIEx5cmljcyB0byBBbGlhcyA6IFRoZSBzZXJwZW50IGtub3dzLCBXaGVuIHRoZSBjdXJ0YWluIGZhbGxzLCBJbiBkZW5pYWxzIGJsaW5kZm9sZCwgSXQgZ3JlZXRzIGFub3RoZXIgZGF5IERvbid0IGJlbGlldmUgdGhlIG1hc2sgaXQgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcDVrLU1leTgwMW8vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3A1ay1NZXk4MDFvL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcDVrLU1leTgwMW8vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlRoZUJTdHJhbmdlIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvci16RzJWV1hiMHJ1V0FwaE9IQkNqVDBuV3pVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjZydm5lY1VkZ29FIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTA1VDE0OjE0OjE3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3F6NHNMUEI4VjJIazlZTm04V2JURWciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC0gV2Fja2VuIDIwMDkiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBMSVZFIEAgV2Fja2VuIDIwMDkgQWxpYXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNnJ2bmVjVWRnb0UvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZydm5lY1VkZ29FL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNnJ2bmVjVWRnb0UvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkVsdmVuV2l0Y2hjcmFmdCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3JCZ2lhWDJoWFFEQTgtQjg4TUM2X1JjVmJ0MFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICI3NXhZTjdWQmlUWSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMy0xMi0yNVQxNzozNzo0NC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNxSDBhZmxQVG5UcXJlOXRoM0ZteXd3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiQWxidW06IGEgU2Vuc2Ugb2YgUHVycG9zZS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NXhZTjdWQmlUWS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNzV4WU43VkJpVFkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NXhZTjdWQmlUWS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQW5kcmVhcyBIb3JuZW1hbm4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9UcGxsYXZzcVB4Tm5qT0pBN2I2bmJzRkJYTk1cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNUlxUW1qWWNuZnMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTEtMDUtMjFUMTU6MTg6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDWlRUem9uaWx6eWdQOGF4akMwVkhSZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgRFJVTSBDT1ZFUiBNSVNIVSIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUlxUW1qWWNuZnMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzVJcVFtalljbmZzL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUlxUW1qWWNuZnMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkFkcmlhbiBNaWhhaSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1d1QUxZYjZKamJjejk0TzFmdVVvY2lzUnBBY1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJBQVFHSXVSMVd2USIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNy0xMS0yOVQxMzo0Mzo1NS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUN3RHdsSGRwdzlKcm1YYldrbXBIZ2p3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIGxpdmUgQCBIYWxsZW5zdGFkaW9uIGluIFp1cmljaCAyOC4xMS4yMDE3IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbGl2ZSBhdCBIYWxsZW5zdGFkaW9uIGluIFp1cmljaCAvIFN3aXR6ZXJsYW5kIE5vdmVtYmVyIDI4LCAyMDE3IGR1cmluZyB0aGVpciAyMDE3IEV1cm9wZWFuIFRvdXIgcGVyZm9ybWluZyBBbGlhcyBTZXQgbGlzdDogRHJhaW5lZCBCZWZvcmUgSSBGYWxsIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FBUUdJdVIxV3ZRL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BQVFHSXVSMVd2US9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FBUUdJdVIxV3ZRL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJGZXRpc292NDUiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9IY1Uzc2VxdzNrNHlSOWlGLTBDeGZ5YWhtWlVcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiekhCeFlUdlExaXMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTYtMDYtMDZUMDE6MjI6MjYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDSktoNGxuSG1iWjVPYzF4eE90Q0hYdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzICBBbGlhcyBBY291c3RpYyBDb3ZlciIsCiAgICAiZGVzY3JpcHRpb24iOiAiV2VsY29tZSB0byBhbm90aGVyIGVwaXNvZGUgb2YgU3Bhcmt5IFNpbmdzIE1ldGFsISBUaGlzIG9uZSB3YXMgYSByZXF1ZXN0IGJ5IE1hcnRpbiBWaWJlISBUaGFua3MgZm9yIHlvdXIgc3VwcG9ydCEgRm9yIHRoZSBzYWtlIG9mIHRpbWUsIGFuZCB0aGUgd2F5IEkgcmV3cm90ZSAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS96SEJ4WVR2UTFpcy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvekhCeFlUdlExaXMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS96SEJ4WVR2UTFpcy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiU2FtaSBCYXN0aW9uIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvd1ZvTjdtVEhyWWk0eVdXQWZmTXY0dWhGYmdrXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImxRQUtUd3d5aUk4IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTIwVDAwOjMzOjM4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3BSOFpDMDFvRGkzT3BUeko3aUtaYlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcy1BbGlhcyB3aXRoIGx5cmljcyAoSFEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJBbGlhcyBieSBpbiBGbGFtZXMgZnJvbSB0aGUgQWxidW0gXCJBIFNlbnNlIG9mIFB1cnBvc2VcIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sUUFLVHd3eWlJOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJLaXdpbzEyIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvbTAzWDJRQXQ0dkdlUGM4M0ozdWJmZE5faVNjXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImxCVnlYSXF2engwIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE4LTEyLTA3VDIzOjI0OjM3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1U0OXp0UnI3V1laSmVpZHBKOXpmNnciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIExJVkUgT05FIFNIT1QgVk9DQUwgQ09WRVIiLAogICAgImRlc2NyaXB0aW9uIjogIkhleSBsb29rIEkgZGlkIHR3byB0b2RheSA6My4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sQlZ5WElxdnp4MC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbEJWeVhJcXZ6eDAvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sQlZ5WElxdnp4MC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTWlzZXJ5RmllbGRzIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvRUxiMXpLQ1ZyZzU2OTk4V052Zm1GLUN3MTBFXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImQ5d2h2cjVqSHFjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTExLTA4VDIxOjQ5OjM0LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1F3aTRGMGJWdVhjRjFGNFFtREhjd0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChEcnVtIENvdmVyKSBbSERdIiwKICAgICJkZXNjcmlwdGlvbiI6ICJUaGlzIGlzIG1lIGRvaW5nIGEgZHJ1bSBjb3ZlciBvZiBcIkFsaWFzXCIgYnkgSW4gRmxhbWVzLiBUaGUgc29uZyBmcm9tIHRoZSAyMDA4IHJlbGVhc2UgXCJBIFNlbnNlIE9mIFB1cnBvc2VcIiwgaXMgdGhlIGNvcHlyaWdodGVkIHByb3BlcnR5IG9mIGl0J3Mgb3duZXIocykuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZDl3aHZyNWpIcWMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2Q5d2h2cjVqSHFjL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZDl3aHZyNWpIcWMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlRpbSBFbWFudWVsIFNjaMOkcmRpbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0trMnZiWFk4aXFEdXNudnRJaTZxVnpuNEJYOFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJTR0wzYTlaN1BpbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMy0wMi0xMFQxNzoxMzo1MS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNwRW1TU0ZsYm9TQzFIaUtXbE5KeGNRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBbc29sb10gSFEiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBzb25nIEFsaWFzLiBBbGJ1bSBBIFNlbnNlIE9mIFB1cnBvc2UgKDIwMDgpLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1NHTDNhOVo3UGlvL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9TR0wzYTlaN1Bpby9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1NHTDNhOVo3UGlvL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJTZXJnaW96Z3oxIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvTkEzMlk0SEVaaUNDb0otMVktazNla0lhZV9rXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjVGLVh5d1gwQWZjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTI2VDA4OjM2OjU4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1FmbDE1dk82ZVFUWHlwVU9Nc2pSU2ciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChjb3ZlcikiLAogICAgImRlc2NyaXB0aW9uIjogIldoYXQgeW91IHNlZSBpcyB3aGF0IHlvdSBlYXIuIE1lIHBsYXlpbmcgdGhlIEluIEZsYW1lcyBzb25nIGFsaWFzIGZyb20gdGhlIGFsYnVtIHNlbnNlIG9mIHB1cnBvc2UuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUYtWHl3WDBBZmMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzVGLVh5d1gwQWZjL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUYtWHl3WDBBZmMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkplcmVtaWUgUHJ1bmUgVGhlcmlhdWx0IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvbEtHUGlBRFFBdm5HQUZCZnhKRUs5R2Q3UUdVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkFycDk0V3RiMGx3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA5LTIyVDE2OjA3OjMxLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2FIZUtWTUVwSTZjVGk2Um96VzZVWlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChhbGJ1bSB2ZXJzaW9uKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiVGhlIHZpZGVvIHRvIEluIEZsYW1lcyBzb25nIEFsaWFzIEZyb20gdGhlIGFsYnVtIEEgU2Vuc2UgT2YgUHVycG9zZS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXJwOTRXdGIwbHcvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiVW5pdmVyc2FsIE11c2ljIFN3ZWRlbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0ZJRl9GTjRTZkdzSUFxckN4WVZWaDY3S040c1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJBc2ZfQk5ESjNEUSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNy0xMC0xNlQwMTozNzozMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUMyNlplS1hFNWNza20tNXFVTXRENlFBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGl2ZSBBdCBQYWJlbGzDs24gQ3VlcnZvLCBNw6l4aWNvIDIwMTcpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGl2ZSBBdCBQYWJlbGzDs24gQ3VlcnZvLCBNw6l4aWNvIDIwMTcpIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXNmX0JOREozRFEvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FzZl9CTkRKM0RRL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXNmX0JOREozRFEvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkJyaWFuIENvbG9yYWRvIERlbGdhZG8iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9VWmlxeWRVVUw4UHk4Q1h4RXJYTW9ZUm5SZ2tcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAidmwyNFhBSERMVW8iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDgtMDYtMzBUMTU6MjM6MDQuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDRi1tTnBJVGRyU3NiY3MzdG0tT1ljUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgQE1ldGFsdG93biAyMDA4IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyBsaXZlIGF0IG1ldGFsdG93biAyMDA4IGluIEdvdGhlbmJ1cmcvU3dlZGVuLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3ZsMjRYQUhETFVvL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS92bDI0WEFIRExVby9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3ZsMjRYQUhETFVvL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJUaGVHcmV5RGFpc3kiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9iTXZEM0FaZnRtRG94U05WM1NldmhEcWZudGtcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiR042d1pscWk0dUkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMTItMjBUMTg6MTU6MDEuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDU3M1TkM3aXBjbTY5RmdqZXJqa0lwUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKEhRIExhaWQgUmVtaXgpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJCeSBcIkEgU2Vuc2UgT2YgUHVycG9zZVwiIHJlLWlzc3VlLCAyMDE0LiBBbGwgcmlnaHRzIHJlc2VydmVkIHRvIHRoZSBiYW5kIGFuZCBDZW50dXJ5IE1lZGlhLiB+IEJMSyB+IiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR042d1pscWk0dUkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0dONndabHFpNHVJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR042d1pscWk0dUkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkpvIEtpb3VyIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvczFYVTlCOVFvYlZmeHZvTTVTWVFhMDhaaGV3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImlpcG1ZbUFqWEN3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTEwLTA4VDE4OjIwOjM3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3Q3TlpZTEd6bjZPbm1PWE9qaU4wUXciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzICpHdWl0YXIgQ292ZXIqIEhEIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyAqR3VpdGFyIENvdmVyKiBIRCBDb25zdHJ1Y3RpdmUgY3JpdGljaXNtIGlzIG11Y2ggYXBwcmVjaWF0ZWQuIEkgZG8gTk9UIG93biB0aGlzIHNvbmcgaW4gYW55IHdheS4gVGhhbmtzIGZvciBXYXRjaGluZyBhbmQgcmVtZW1iZXIgdG8gbGlrZSAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9paXBtWW1BalhDdy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaWlwbVltQWpYQ3cvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9paXBtWW1BalhDdy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiWmllZ2xlcnM2NjYiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9WTFZXMFFXZ3JpT3NyckFacV9xQ0d0TVVULWNcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiUlZYMXF3aS05b0UiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMDktMTJUMDI6MTE6MTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDb0F5dGRYb1dmSndpQzVlZ19CZV9LZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIGFsaWFzIGNvdmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbkZsYW1lcyBBbGlhcyBDb3Zlci4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9SVlgxcXdpLTlvRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUlZYMXF3aS05b0UvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9SVlgxcXdpLTlvRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQ2hyaXMgR3JhbmR5IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvS1RjTy02bWtBNl9MdUZmSUZWazJPNUJlNFI0XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkNucEt4Tm45THJjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA2LTIwVDA1OjM0OjQ3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQzJmM3Q0V25WRHpxUzVjWWE5LVpZWGciLAogICAgInRpdGxlIjogIklOIEZMQU1FUzogQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogIjE2LzA2LzA4IE1ldGFsIEhhbW1lciBHb2xkZW4gR29kcyBBd2FyZCAwOC4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9DbnBLeE5uOUxyYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQ25wS3hObjlMcmMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9DbnBLeE5uOUxyYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAibHVuYWthbmEiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9MVWdvcDRVWHJMYnN3ZEtRQm9Wd1FzZjJUY2NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiQkNBNmpSSXhLWUEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTEtMDgtMjFUMDA6NTQ6MTIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDU3Q0empZeGc1aEVuMGVCdHNOeERadyIsCiAgICAidGl0bGUiOiAiaW4gZmxhbWVzICAgYWxpYXMgbHlyaWNzIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CQ0E2alJJeEtZQS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQkNBNmpSSXhLWUEvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CQ0E2alJJeEtZQS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAidGhlYmlnZ2RmYW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay82dGVhQXNUa0tySmZRQUtEX215eUpoVlNMSmNcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNXN3aXVSdDNHWUkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMDYtMjJUMjM6MTY6MzcuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDRU94SXZxRnR3X2pPX01pSHFic2NEUSIsCiAgICAidGl0bGUiOiAiSW4gZmxhbWVzICYjMzk7QWxpYXMmIzM5OyBhY291c3RpYyB2YXJpYXRpb24gLyBjb3ZlciIsCiAgICAiZGVzY3JpcHRpb24iOiAicmUtaGFzaCBvZiBhbiBvbGRlciB2aWRlbywgaG9wZWZ1bGx5IGFuIGltcHJvdmVtZW50ISBhY291c3RpYyBjcmVkaXRlZCB0byBJYW4gU2FuZG92YWwsIHBsZWFzZSBnbyBjaGVjayBoaW0gb3V0IDopIHRoYW5rcyBmb3Igd2F0Y2hpbmchIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNXN3aXVSdDNHWUkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzVzd2l1UnQzR1lJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNXN3aXVSdDNHWUkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkthcm1hcmluIE5hdHVyZXMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9WWDBvbEFqcFUxRGtqQUFQTkh5TmUxRnlZUWtcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAibDNOd2FZWnAxYUUiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMTAtMzFUMDQ6MTk6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDM19aX2s4Q291Y2NVQmtrUDhkLXhWUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgR3VpdGFyIENvdmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBjb3ZlciBpbiA1IG1vbnRocy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sM053YVlacDFhRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbDNOd2FZWnAxYUUvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sM053YVlacDFhRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTUVUQUxNVVNJQ05FVFdPUksiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9HSndQRG9DcGptcE9yVWNJc2FNVGZ6WVZGVEFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiWnpLNWZudzFJZEkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTAtMDYtMjFUMDQ6Mzg6NTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDS2hhN2FQU0FaRGNmZS1QcDNjYlo2ZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gSW50cm8gJmFtcDsgQWxpYXMsIExpdmUgQCBNZXRhbHRvd24gMjAxMCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gSW50cm8gJiBBbGlhcywgTGl2ZSBAIE1ldGFsdG93biAyMDEwLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1p6SzVmbncxSWRJL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9aeks1Zm53MUlkSS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1p6SzVmbncxSWRJL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCYXNpY1BTIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvczJpTTlhNlZSc3UtM3BtRy11eXhmWGNkaEFBXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInM0dm90cGhtZWdzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTA0LTI3VDIzOjIxOjEzLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQzNuMHV4NkxTd245V3Y3Wjk5QkVFbGciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChBY291c3RpYyBTeW1waG9ueSBDb3ZlcikgYXJyLiBieSBSdXNsYW4gS29uZHJhdGVua28iLAogICAgImRlc2NyaXB0aW9uIjogImFyci4gYnkgUnVzbGFuIEtvbmRyYXRlbmtvIEdlYXI6IExhZyBUcmFtb250YW5lIFQxMDBEQ0UgSVNLIEJNLTgwMCBNLUF1ZGlvIE0tVHJhY2sgUXVhZCBLUksgUm9raXQgNSBDdWJhc2UgOCBFbGVtZW50cy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9zNHZvdHBobWVncy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvczR2b3RwaG1lZ3MvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9zNHZvdHBobWVncy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiUnVzbGFuIEtvbmRyYXRlbmtvIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvcHAwNlcwZUd1OGlZSjMwdkhYdmFFcEpTVkRNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInhCdGdKbUdpdjNNIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAxLTEzVDAyOjE0OjU2LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3RSYlQwTlloSzZVQ0lkTUlFRjJ1cHciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChEcnVtIENvdmVyKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiVGhpcyBpcyBhbm90aGVyIHNvbmcgZnJvbWUgdGhlIGxhdGVzdCBhbGJ1bSwgQWxpYXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkveEJ0Z0ptR2l2M00vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3hCdGdKbUdpdjNNL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkveEJ0Z0ptR2l2M00vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlNhbXVlbCBUdXJnZW9uIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvLThqSW5kdkJJSDZhVDR0S1pGOExIaHM4R2xnXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImkyOFVZYkpFbWpzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDExLTExLTI2VDE5OjA1OjAyLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ295Ujk0b3F1SGJmNURmdWJrSjBaa0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC8gTGl2ZSBAIFR1cmJpbmVuaGFsbGUgT2JlcmhhdXNlbiAyNS4xMS4yMDExICg3MjBwIEhEKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaTI4VVliSkVtanMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2kyOFVZYkpFbWpzL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaTI4VVliSkVtanMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkJ1cm5pbmdNSUMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9tbUx6cWdOaWdoRmZ0ZUY5LTdZTUo1NTdWNGdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNllGYnJ6NzFHd3MiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMTEtMjVUMTI6MTY6MDYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdFJoNzRYN1NYODdkQXZKd0xZU3BZZyIsCiAgICAidGl0bGUiOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSBsaXZlIGF1IEJhdGFjbGFuLCBQYXJpcyAoRnJhbmNlKSBsZSAyNC8xMS8yMDA5LiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82WUZicno3MUd3cy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJva2d3ZW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9lYmt3R3RYRkdRN0ZaZUxFQVpDODh3LW1GeXdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiVGhpbGVqTDZ6dFEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMzFUMTE6NTU6MTcuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDV1EyT0hCNks3YXZseXlwQzVKZkM4dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgdy4gc3RyaW5ncyAoNCBjYW0gbWl4KSBAIEJvcmdob2xtIEJyaW5uZXIgMjAxOCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMgQm9yZ2hvbG0gQnJpbm5lciwgSnVseSAyN3RoLCAyMDE4IFJlY29yZGVkIGxpdmUgYXQgQm9yZ2hvbG0gQ2FzdGxlLCDDlmxhbmQsIFN3ZWRlbi4gRm9vdGFnZSBzYXZhZ2VseSBzdG9sZW4gZnJvbSBKb2hhbmlzYW5vcmFuZ2UsIERhdmlkIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1RoaWxlakw2enRRL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9UaGlsZWpMNnp0US9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1RoaWxlakw2enRRL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJDcnVtYnMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9yTnR2Y3NnRnlMUHZwb3hlXzVjY21VMkp6a3NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiYmUxY2QxWlpfUVEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMTAtMzFUMDg6Mzc6MDIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDWkZuaTdjTExESld4OUxiYnhQR0RtdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgbGl2ZSBpbiBUZW1wZSwgQVogMjAxOCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIHBlcmZvcm1pbmcgQWxpYXMgYXQgdGhlIE1hcnF1ZWUgVGhlYXRyZSBpbiBUZW1wZSwgQVogMTAtMzAtMjAxOC4gRW5qb3khIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvYmUxY2QxWlpfUVEvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2JlMWNkMVpaX1FRL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvYmUxY2QxWlpfUVEvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkFuZHJldyBXaWxsaWFtcyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0KIF0KfQo=
48
48
  http_version:
49
- recorded_at: Fri, 01 Feb 2019 09:55:52 GMT
49
+ recorded_at: Wed, 20 Mar 2019 07:56:53 GMT
50
50
  - request:
51
51
  method: get
52
52
  uri: https://www.googleapis.com/youtube/v3/videos?id=fV6q5BrS0Bw&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=status
@@ -64,9 +64,9 @@ http_interactions:
64
64
  message: OK
65
65
  headers:
66
66
  Expires:
67
- - Fri, 01 Feb 2019 09:55:53 GMT
67
+ - Wed, 20 Mar 2019 07:56:54 GMT
68
68
  Date:
69
- - Fri, 01 Feb 2019 09:55:53 GMT
69
+ - Wed, 20 Mar 2019 07:56:54 GMT
70
70
  Cache-Control:
71
71
  - private, max-age=0, must-revalidate, no-transform
72
72
  Etag:
@@ -87,7 +87,7 @@ http_interactions:
87
87
  Server:
88
88
  - GSE
89
89
  Alt-Svc:
90
- - quic=":443"; ma=2592000; v="44,43,39"
90
+ - quic=":443"; ma=2592000; v="46,44,43,39"
91
91
  body:
92
92
  encoding: UTF-8
93
93
  string: |
@@ -114,7 +114,7 @@ http_interactions:
114
114
  ]
115
115
  }
116
116
  http_version:
117
- recorded_at: Fri, 01 Feb 2019 09:55:53 GMT
117
+ recorded_at: Wed, 20 Mar 2019 07:56:54 GMT
118
118
  - request:
119
119
  method: get
120
120
  uri: https://www.googleapis.com/youtube/v3/videos?id=fV6q5BrS0Bw&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&maxResults=50&part=contentDetails
@@ -132,9 +132,9 @@ http_interactions:
132
132
  message: OK
133
133
  headers:
134
134
  Expires:
135
- - Fri, 01 Feb 2019 09:55:53 GMT
135
+ - Wed, 20 Mar 2019 07:56:54 GMT
136
136
  Date:
137
- - Fri, 01 Feb 2019 09:55:53 GMT
137
+ - Wed, 20 Mar 2019 07:56:54 GMT
138
138
  Cache-Control:
139
139
  - private, max-age=300, must-revalidate, no-transform
140
140
  Etag:
@@ -155,7 +155,7 @@ http_interactions:
155
155
  Server:
156
156
  - GSE
157
157
  Alt-Svc:
158
- - quic=":443"; ma=2592000; v="44,43,39"
158
+ - quic=":443"; ma=2592000; v="46,44,43,39"
159
159
  body:
160
160
  encoding: UTF-8
161
161
  string: |
@@ -183,7 +183,7 @@ http_interactions:
183
183
  ]
184
184
  }
185
185
  http_version:
186
- recorded_at: Fri, 01 Feb 2019 09:55:53 GMT
186
+ recorded_at: Wed, 20 Mar 2019 07:56:54 GMT
187
187
  - request:
188
188
  method: get
189
189
  uri: https://www.googleapis.com/youtube/v3/videos?id=fV6q5BrS0Bw&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=snippet
@@ -201,13 +201,13 @@ http_interactions:
201
201
  message: OK
202
202
  headers:
203
203
  Expires:
204
- - Fri, 01 Feb 2019 09:55:53 GMT
204
+ - Wed, 20 Mar 2019 07:56:54 GMT
205
205
  Date:
206
- - Fri, 01 Feb 2019 09:55:53 GMT
206
+ - Wed, 20 Mar 2019 07:56:54 GMT
207
207
  Cache-Control:
208
208
  - private, max-age=300, must-revalidate, no-transform
209
209
  Etag:
210
- - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/SVqZx4jd1cpQp3JEjZ5LZIpCgZg"'
210
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/X1UMsuBeTosWQTw0uudsCLMnyMQ"'
211
211
  Vary:
212
212
  - Origin
213
213
  - X-Origin
@@ -224,13 +224,13 @@ http_interactions:
224
224
  Server:
225
225
  - GSE
226
226
  Alt-Svc:
227
- - quic=":443"; ma=2592000; v="44,43,39"
227
+ - quic=":443"; ma=2592000; v="46,44,43,39"
228
228
  body:
229
229
  encoding: UTF-8
230
230
  string: |
231
231
  {
232
232
  "kind": "youtube#videoListResponse",
233
- "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/SVqZx4jd1cpQp3JEjZ5LZIpCgZg\"",
233
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/X1UMsuBeTosWQTw0uudsCLMnyMQ\"",
234
234
  "pageInfo": {
235
235
  "totalResults": 1,
236
236
  "resultsPerPage": 1
@@ -238,7 +238,7 @@ http_interactions:
238
238
  "items": [
239
239
  {
240
240
  "kind": "youtube#video",
241
- "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/BWMkvVRsva3UV-Rqn6h3llSUFUQ\"",
241
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/NM7RTxfGAhiz3C4yIAhmtu1YhIw\"",
242
242
  "id": "fV6q5BrS0Bw",
243
243
  "snippet": {
244
244
  "publishedAt": "2010-11-30T21:34:35.000Z",
@@ -283,5 +283,5 @@ http_interactions:
283
283
  ]
284
284
  }
285
285
  http_version:
286
- recorded_at: Fri, 01 Feb 2019 09:55:53 GMT
286
+ recorded_at: Wed, 20 Mar 2019 07:56:54 GMT
287
287
  recorded_with: VCR 4.0.0
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
1
2
 
2
- lib = File.expand_path("../lib", __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require "jarvisbot_songfinder/version"
5
6
 
@@ -23,7 +24,7 @@ Gem::Specification.new do |spec|
23
24
 
24
25
  spec.metadata["homepage_uri"] = spec.homepage
25
26
  spec.metadata["source_code_uri"] = "https://gitlab.com/DoubleJarvis/jarvisbot_songfinder"
26
- spec.metadata["changelog_uri"] = "https://gitlab.com/DoubleJarvis/jarvisbot_songfinder/changelog.md"
27
+ spec.metadata["changelog_uri"] = "https://gitlab.com/DoubleJarvis/jarvisbot_songfinder/blob/master/changelog.md"
27
28
  else
28
29
  raise "RubyGems 2.0 or newer is required to protect against " \
29
30
  "public gem pushes."
@@ -31,7 +32,7 @@ Gem::Specification.new do |spec|
31
32
 
32
33
  # Specify which files should be added to the gem when it is released.
33
34
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
34
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
35
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
35
36
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
36
37
  end
37
38
  spec.bindir = "exe"
@@ -39,14 +40,14 @@ Gem::Specification.new do |spec|
39
40
  spec.require_paths = ["lib"]
40
41
 
41
42
  spec.add_development_dependency "bundler", "~> 1.17"
43
+ spec.add_development_dependency "pry"
42
44
  spec.add_development_dependency "rake", "~> 10.0"
43
45
  spec.add_development_dependency "rspec", "~> 3.0"
44
46
  spec.add_development_dependency "simplecov", "~> 0.16"
45
- spec.add_development_dependency "pry"
46
47
  spec.add_development_dependency "vcr"
47
48
  spec.add_development_dependency "webmock"
48
49
 
49
50
  spec.add_dependency "httparty", "~> 0.16"
50
- spec.add_dependency "yt", "~> 0.29.1"
51
51
  spec.add_dependency "rspotify", "~> 2.4.0"
52
+ spec.add_dependency "yt", "~> 0.29.1"
52
53
  end
@@ -1,3 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ # :nodoc:
1
4
  module JarvisbotSongfinder
2
5
  require "jarvisbot_songfinder/version"
3
6
  require "jarvisbot_songfinder/configuration"
@@ -1,3 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ # :nodoc:
1
4
  module JarvisbotSongfinder
2
5
  class << self
3
6
  attr_accessor :configuration
@@ -8,6 +11,8 @@ module JarvisbotSongfinder
8
11
  yield(configuration)
9
12
  end
10
13
 
14
+ # Holds the app configuration
15
+ # Configuration.region # => nil
11
16
  class Configuration
12
17
  attr_accessor :spotify_client_id,
13
18
  :spotify_secret,
@@ -15,7 +20,7 @@ module JarvisbotSongfinder
15
20
  :region,
16
21
  :length_min,
17
22
  :length_max
18
-
23
+
19
24
  def initialize
20
25
  @spotify_client_id = nil
21
26
  @spotify_secret = nil
@@ -25,4 +30,4 @@ module JarvisbotSongfinder
25
30
  @length_max = Float::INFINITY
26
31
  end
27
32
  end
28
- end
33
+ end
@@ -1,34 +1,42 @@
1
- module JarvisbotSongfinder
1
+ # frozen_string_literal: true
2
+
3
+ # :nodoc:
4
+ module JarvisbotSongfinder
2
5
  require 'forwardable'
3
6
 
7
+ # Responsible for selecting concrete query and delegating track methods to it
8
+ # Query.new("Paramore - Decode").title
9
+ # # => "Decode"
4
10
  class Query
5
11
  extend Forwardable
6
12
 
7
- URL_REGEX = /\Ahttps?:\/\//
13
+ URL_REGEX = %r{\Ahttps?:\/\/}.freeze
8
14
  attr_reader :concrete_query
9
-
10
- def initialize(input)
15
+
16
+ def initialize(input, config: JarvisbotSongfinder.configuration)
17
+ @config = config
11
18
  @input = input
12
19
  @concrete_query = select_concrete_query
13
20
  end
14
21
 
15
- def_delegators :track, :length,
16
- :artist,
17
- :title,
18
- :provider,
19
- :url,
20
- :valid?,
21
- :explicit?,
22
- :errors
22
+ def_delegators :track,
23
+ :length,
24
+ :artist,
25
+ :title,
26
+ :provider,
27
+ :url,
28
+ :valid?,
29
+ :explicit?,
30
+ :errors
23
31
 
24
32
  private
25
33
 
26
34
  def track
27
35
  @concrete_query.track
28
36
  end
29
-
37
+
30
38
  def select_concrete_query
31
- @input.match(URL_REGEX) ? UrlQuery.new(@input) : SearchQuery.new(@input)
39
+ @input.match?(URL_REGEX) ? UrlQuery.new(@input, config: @config) : SearchQuery.new(@input, config: @config)
32
40
  end
33
41
  end
34
- end
42
+ end
@@ -1,101 +1,112 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JarvisbotSongfinder
4
+ # contains all the messages gem might use in a single place
2
5
  module ReplyMessage
6
+ # :nodoc:
3
7
  module Request
4
8
  def self.usage
5
9
  "Usage: '!sr $url'"
6
10
  end
7
-
11
+
8
12
  def self.queue_closed
9
13
  "Song queue is closed. Please wait until Dan opens it."
10
14
  end
11
-
15
+
12
16
  def self.submitted_successfully(request)
13
17
  "Your request: #{request} successfully submitted"
14
18
  end
15
-
19
+
16
20
  def self.already_requested(request)
17
21
  "#{request} already exists in the queue"
18
22
  end
19
-
23
+
20
24
  def self.user_already_requested(request)
21
25
  "You already have #{request} in the queue, use '!replace url/search term' to replace"
22
26
  end
23
-
27
+
24
28
  def self.invalid_url(request)
25
29
  "#{request} is invalid"
26
30
  end
27
-
31
+
28
32
  def self.too_long
29
33
  "Your request is too long, please stick to videos not longer than 10 minutes"
30
34
  end
31
-
35
+
36
+ def self.too_short
37
+ "Your request is too short, troll requests or gnoming will not fly here"
38
+ end
39
+
32
40
  def self.invalid_category
33
41
  "Your request is not in Music category"
34
42
  end
35
-
43
+
36
44
  def self.replaced_successfully(request)
37
45
  "Your previous request was replaced with #{request}"
38
46
  end
39
-
47
+
40
48
  def self.nothing_to_replace
41
49
  "Nothing to replace. Use '!sr url/search term' to request something"
42
50
  end
43
-
51
+
44
52
  def self.nothing_to_remove
45
53
  "Nothing to remove. Use '!sr url/search term' to request something"
46
54
  end
47
-
55
+
48
56
  def self.removed_successfully
49
57
  "Your request removed from the queue successfully"
50
58
  end
51
-
52
- def self.region_restricted
53
- "This video is not availible in the US"
59
+
60
+ def self.region_restricted(region)
61
+ "This video is not available in the #{region}"
54
62
  end
55
-
63
+
56
64
  def self.invalid_video_id
57
65
  "Invalid video ID"
58
66
  end
59
-
67
+
60
68
  def self.promoted_successfully(request)
61
69
  "Request: #{request} was promoted successfully"
62
70
  end
63
-
71
+
64
72
  def self.promoted_unsuccessfully
65
73
  "Cannot promote"
66
74
  end
67
-
75
+
68
76
  def self.demoted_successfully(request)
69
77
  "Request: #{request} was demoted successfully"
70
78
  end
71
-
79
+
72
80
  def self.demoted_unsuccessfully
73
81
  "Cannot demote"
74
82
  end
75
-
83
+
76
84
  def self.unknown_provider
77
- "Unknown provider. Available providers: #{JarvisbotSongfinder::Provider.available_providers}"
85
+ "Unknown provider. Available providers: " +
86
+ JarvisbotSongfinder::Provider.available_providers.to_s
78
87
  end
79
-
88
+
80
89
  def self.song_banned
81
90
  "Song was banned by Dan, request something else"
82
91
  end
83
92
  end
84
-
93
+
94
+ # :nodoc:
85
95
  module Song
86
96
  def self.currently_playing(song)
87
97
  "#{song} is currently playing"
88
98
  end
89
-
99
+
90
100
  def self.not_playing
91
101
  "Nothing is currently playing"
92
102
  end
93
103
  end
94
-
104
+
105
+ # :nodoc:
95
106
  module Search
96
107
  def self.not_found
97
108
  "Nothing is found, check your spelling"
98
109
  end
99
110
  end
100
111
  end
101
- end
112
+ end
@@ -1,7 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JarvisbotSongfinder
2
- class SearchQuery
3
- def initialize(query)
4
+ # Reponsible for handling search (words) based requests
5
+ # JarvisbotSongfinder::SearchQuery.new("Paramore Misery").track.length
6
+ # # => 211
7
+ class SearchQuery
8
+ def initialize(query, config: JarvisbotSongfinder.configuration)
4
9
  @query = query
10
+ @config = config
5
11
  @provider = select_provider
6
12
  end
7
13
 
@@ -13,9 +19,9 @@ module JarvisbotSongfinder
13
19
 
14
20
  def select_provider
15
21
  provider = Provider.available_providers.find do |p|
16
- p.from_search @query
22
+ p.from_search @query, config: @config
17
23
  end
18
- provider.nil? ? UnknownSearchProvider.new : provider.from_search(@query)
24
+ provider.nil? ? UnknownSearchProvider.new : provider.from_search(@query, config: @config)
19
25
  end
20
26
  end
21
- end
27
+ end