openbeautyfacts 0.6.3 → 0.10.0
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.
- checksums.yaml +4 -4
- data/README.md +19 -1
- data/Rakefile +5 -3
- data/lib/openbeautyfacts/additive.rb +9 -39
- data/lib/openbeautyfacts/allergen.rb +14 -22
- data/lib/openbeautyfacts/brand.rb +14 -22
- data/lib/openbeautyfacts/category.rb +14 -22
- data/lib/openbeautyfacts/city.rb +14 -22
- data/lib/openbeautyfacts/contributor.rb +14 -22
- data/lib/openbeautyfacts/country.rb +14 -22
- data/lib/openbeautyfacts/entry_date.rb +15 -23
- data/lib/openbeautyfacts/faq.rb +16 -41
- data/lib/openbeautyfacts/ingredient.rb +14 -22
- data/lib/openbeautyfacts/ingredient_that_may_be_from_palm_oil.rb +14 -22
- data/lib/openbeautyfacts/label.rb +14 -22
- data/lib/openbeautyfacts/last_edit_date.rb +15 -23
- data/lib/openbeautyfacts/locale.rb +8 -31
- data/lib/openbeautyfacts/manufacturing_place.rb +14 -22
- data/lib/openbeautyfacts/mission.rb +16 -63
- data/lib/openbeautyfacts/number_of_ingredients.rb +15 -23
- data/lib/openbeautyfacts/origin.rb +14 -22
- data/lib/openbeautyfacts/packager_code.rb +14 -22
- data/lib/openbeautyfacts/packaging.rb +14 -22
- data/lib/openbeautyfacts/period_after_opening.rb +14 -22
- data/lib/openbeautyfacts/press.rb +16 -47
- data/lib/openbeautyfacts/product.rb +18 -175
- data/lib/openbeautyfacts/product_state.rb +14 -22
- data/lib/openbeautyfacts/purchase_place.rb +14 -22
- data/lib/openbeautyfacts/store.rb +14 -22
- data/lib/openbeautyfacts/trace.rb +14 -22
- data/lib/openbeautyfacts/user.rb +15 -30
- data/lib/openbeautyfacts/version.rb +3 -1
- data/lib/openbeautyfacts.rb +6 -9
- data/test/fixtures/additives.yml +48 -0
- data/test/fixtures/brands.yml +48 -0
- data/test/fixtures/entry_dates.yml +48 -0
- data/test/fixtures/entry_dates_locale.yml +48 -0
- data/test/fixtures/faq.yml +48 -0
- data/test/fixtures/fetch_product_3600550362626.yml +54 -0
- data/test/fixtures/index.yml +48 -0
- data/test/fixtures/ingredients.yml +99 -0
- data/test/fixtures/ingredients_locale.yml +99 -0
- data/test/fixtures/last_edit_dates.yml +48 -0
- data/test/fixtures/last_edit_dates_locale.yml +48 -0
- data/test/fixtures/login_user.yml +363 -0
- data/test/fixtures/mission.yml +48 -0
- data/test/fixtures/missions.yml +48 -0
- data/test/fixtures/number_of_ingredients_locale.yml +48 -0
- data/test/fixtures/numbers_of_ingredients.yml +48 -0
- data/test/fixtures/press.yml +48 -0
- data/test/fixtures/product_3600550362626.yml +54 -0
- data/test/fixtures/product_states.yml +48 -0
- data/test/fixtures/product_states_locale.yml +48 -0
- data/test/fixtures/products_for_brand.yml +99 -0
- data/test/fixtures/products_for_entry_date.yml +99 -0
- data/test/fixtures/products_for_ingredient.yml +99 -0
- data/test/fixtures/products_for_last_edit_date.yml +99 -0
- data/test/fixtures/products_for_number_of_ingredients.yml +99 -0
- data/test/fixtures/products_for_period_after_opening.yml +99 -0
- data/test/fixtures/products_for_state.yml +99 -0
- data/test/fixtures/products_with_additive.yml +99 -0
- data/test/fixtures/search_doux.yml +105 -0
- data/test/fixtures/search_doux_1_000_000.yml +54 -0
- data/test/minitest_helper.rb +5 -3
- data/test/test_openbeautyfacts.rb +129 -97
- metadata +59 -17
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: get
|
|
5
|
+
uri: https://world.openbeautyfacts.org/last-edit-date/2016-02-12/1
|
|
6
|
+
body:
|
|
7
|
+
encoding: US-ASCII
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
Accept-Encoding:
|
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
12
|
+
Accept:
|
|
13
|
+
- "*/*"
|
|
14
|
+
User-Agent:
|
|
15
|
+
- Ruby
|
|
16
|
+
response:
|
|
17
|
+
status:
|
|
18
|
+
code: 301
|
|
19
|
+
message: Moved Permanently
|
|
20
|
+
headers:
|
|
21
|
+
Access-Control-Allow-Headers:
|
|
22
|
+
- DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,If-None-Match,Authorization
|
|
23
|
+
Access-Control-Allow-Methods:
|
|
24
|
+
- HEAD, GET, PATCH, POST, PUT, OPTIONS
|
|
25
|
+
Access-Control-Allow-Origin:
|
|
26
|
+
- "*"
|
|
27
|
+
Access-Control-Expose-Headers:
|
|
28
|
+
- Content-Length,Content-Range
|
|
29
|
+
Connection:
|
|
30
|
+
- close
|
|
31
|
+
Content-Type:
|
|
32
|
+
- text/html; charset=iso-8859-1
|
|
33
|
+
Date:
|
|
34
|
+
- Mon, 29 Sep 2025 14:07:23 GMT
|
|
35
|
+
Location:
|
|
36
|
+
- "/facets/last-edit-dates/2016-02-12"
|
|
37
|
+
Server:
|
|
38
|
+
- nginx/1.18.0
|
|
39
|
+
Transfer-Encoding:
|
|
40
|
+
- chunked
|
|
41
|
+
body:
|
|
42
|
+
encoding: UTF-8
|
|
43
|
+
string: |
|
|
44
|
+
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
|
45
|
+
<html><head>
|
|
46
|
+
<title>301 Moved Permanently</title>
|
|
47
|
+
</head><body>
|
|
48
|
+
<h1>Moved Permanently</h1>
|
|
49
|
+
<p>The document has moved <a href="/facets/last-edit-dates/2016-02-12">here</a>.</p>
|
|
50
|
+
<hr>
|
|
51
|
+
<address>Apache/2.4.61 (Debian) Server at world.openbeautyfacts.org Port 80</address>
|
|
52
|
+
</body></html>
|
|
53
|
+
recorded_at: Mon, 29 Sep 2025 14:07:23 GMT
|
|
54
|
+
- request:
|
|
55
|
+
method: get
|
|
56
|
+
uri: https://world.openbeautyfacts.org/facets/last-edit-dates/2016-02-12
|
|
57
|
+
body:
|
|
58
|
+
encoding: US-ASCII
|
|
59
|
+
string: ''
|
|
60
|
+
headers:
|
|
61
|
+
Accept-Encoding:
|
|
62
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
63
|
+
Accept:
|
|
64
|
+
- "*/*"
|
|
65
|
+
User-Agent:
|
|
66
|
+
- Ruby
|
|
67
|
+
response:
|
|
68
|
+
status:
|
|
69
|
+
code: 200
|
|
70
|
+
message: OK
|
|
71
|
+
headers:
|
|
72
|
+
Connection:
|
|
73
|
+
- close
|
|
74
|
+
Content-Type:
|
|
75
|
+
- text/html; charset=UTF-8
|
|
76
|
+
Date:
|
|
77
|
+
- Mon, 29 Sep 2025 14:07:24 GMT
|
|
78
|
+
Expires:
|
|
79
|
+
- Sun, 28 Sep 2025 14:07:24 GMT
|
|
80
|
+
Server:
|
|
81
|
+
- nginx/1.18.0
|
|
82
|
+
Transfer-Encoding:
|
|
83
|
+
- chunked
|
|
84
|
+
Vary:
|
|
85
|
+
- Accept-Encoding
|
|
86
|
+
X-Content-Type-Options:
|
|
87
|
+
- nosniff
|
|
88
|
+
X-Download-Options:
|
|
89
|
+
- noopen
|
|
90
|
+
X-Request-Id:
|
|
91
|
+
- zauN8OFscIfdFQiU
|
|
92
|
+
X-Xss-Protection:
|
|
93
|
+
- 1; mode=block
|
|
94
|
+
body:
|
|
95
|
+
encoding: ASCII-8BIT
|
|
96
|
+
string: !binary |-
|
|
97
|
+
PCEtLSBzdGFydCB0ZW1wbGF0ZXMvd2ViL2NvbW1vbi9zaXRlX2xheW91dC50dC5odG1sIC0tPgoKPCFkb2N0eXBlIGh0bWw+CjxodG1sIGNsYXNzPSJuby1qcyIgbGFuZz0iZW4iIGRhdGEtc2VydmVyZG9tYWluPSJvcGVuYmVhdXR5ZmFjdHMub3JnIiBkaXI9Imx0ciI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPHRpdGxlPjIwMTYtMDItMTI8L3RpdGxlPgogICAgCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+Cgk8bWV0YSBwcm9wZXJ0eT0iZmI6YXBwX2lkIiBjb250ZW50PSIyMTkzMzEzODE1MTgwNDEiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9ImZvb2QiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSIyMDE2LTAyLTEyIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvMSI+CiAgICAKICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9zdGF0aWMub3BlbmZvb2RmYWN0cy5vcmcvaW1hZ2VzL2xvZ29zL29iZi1sb2dvLXZlcnRpY2FsLXdoaXRlLXNvY2lhbC1tZWRpYS1wcmV2aWV3LnBuZyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkEgY29sbGFib3JhdGl2ZSwgZnJlZSBhbmQgb3BlbiBkYXRhYmFzZSBvZiBpbmdyZWRpZW50cywgYW5kIGluZm9ybWF0aW9uIG9uIGNvc21ldGljIHByb2R1Y3RzIGZyb20gYXJvdW5kIHRoZSB3b3JsZCI+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxODB4MTgwIiBocmVmPSIvaW1hZ2VzL2Zhdmljb24vb2JmL2FwcGxlLXRvdWNoLWljb24ucG5nIj4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIzMngzMiIgaHJlZj0iL2ltYWdlcy9mYXZpY29uL29iZi9mYXZpY29uLTMyeDMyLnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTZ4MTYiIGhyZWY9Ii9pbWFnZXMvZmF2aWNvbi9vYmYvZmF2aWNvbi0xNngxNi5wbmciPgo8bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvaW1hZ2VzL2Zhdmljb24vb2JmL3NpdGUud2VibWFuaWZlc3QiPgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iL2ltYWdlcy9mYXZpY29uL29iZi9zYWZhcmktcGlubmVkLXRhYi5zdmciIGNvbG9yPSIjNWJiYWQ1Ij4KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvaW1hZ2VzL2Zhdmljb24vb2JmL2Zhdmljb24uaWNvIj4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiMyYjU3OTciPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLWNvbmZpZyIgY29udGVudD0iL2ltYWdlcy9mYXZpY29uL29iZi9icm93c2VyY29uZmlnLnhtbCI+CjxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjZmZmZmZmIj4KCgk8bWV0YSBuYW1lPSJhcHBsZS1pdHVuZXMtYXBwIiBjb250ZW50PSJhcHAtaWQ9NTg4Nzk3OTQ4Ij4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvZmFjZXRzL2xhc3QtZWRpdC1kYXRlcy8yMDE2LTAyLTEyLzEiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2Nzcy9kaXN0L2FwcC1sdHIuY3NzP3Y9MTc1NzY1ODEwMiIgZGF0YS1iYXNlLWxheW91dD0idHJ1ZSI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvY3NzL2Rpc3QvanF1ZXJ5dWkvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLmNzcyIgZGF0YS1iYXNlLWxheW91dD0idHJ1ZSI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvY3NzL2Rpc3Qvc2VsZWN0Mi5taW4uY3NzIj4KICAgIDxsaW5rIHJlbD0ic2VhcmNoIiBocmVmPSJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvY2dpL29wZW5zZWFyY2gucGwiIHR5cGU9ImFwcGxpY2F0aW9uL29wZW5zZWFyY2hkZXNjcmlwdGlvbit4bWwiIHRpdGxlPSJPcGVuIEJlYXV0eSBGYWN0cyI+CiAgICA8c2NyaXB0IHR5cGU9Im1vZHVsZSIgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2pzL2Rpc3Qvb2ZmLXdlYmNvbXBvbmVudHMuYnVuZGxlZC5qcyI+PC9zY3JpcHQ+CgkKICAgIDxzdHlsZSBtZWRpYT0iYWxsIj4KICAgICAgICAuc2hvdy13aGVuLW5vLWFjY2Vzcy10by1wcm9kdWNlcnMtcGxhdGZvcm0ge2Rpc3BsYXk6bm9uZX0KLnNob3ctd2hlbi1sb2dnZWQtaW4ge2Rpc3BsYXk6bm9uZX0KCgkJCgkJLmJhZGdlLWNvbnRhaW5lcnsKCQkJbWFyZ2luOiAwIGF1dG87CgkJfQoKCQkuYmFkZ2UtY29udGFpbmVyIGltZ3sKCQkJbWFyZ2luOiA1cHg7CgkJfQoJCUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTM3cHggKSBhbmQgKG1pbi13aWR0aDogMjgwcHgpIHsKCQkJLmJhZGdlLWNvbnRhaW5lcnsKCQkJCXdpZHRoOiAyODBweDsKCQkJfQoJCX0KCQlAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI3OXB4ICl7CgkJCS5iYWRnZS1jb250YWluZXJ7CgkJCQl3aWR0aDogMTMwcHg7CgkJCX0KCQl9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJwcm9kdWN0c19wYWdlIj4KCgk8IS0tIE1hdG9tbyAtLT4KPHNjcmlwdD4KICB2YXIgX3BhcSA9IHdpbmRvdy5fcGFxID0gd2luZG93Ll9wYXEgfHwgW107CiAgLyogdHJhY2tlciBtZXRob2RzIGxpa2UgInNldEN1c3RvbURpbWVuc2lvbiIgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgInRyYWNrUGFnZVZpZXciICovCiAgX3BhcS5wdXNoKFsic2V0RG9jdW1lbnRUaXRsZSIsIGRvY3VtZW50LmRvbWFpbiArICIvIiArIGRvY3VtZW50LnRpdGxlXSk7CiAgX3BhcS5wdXNoKFsic2V0Q29va2llRG9tYWluIiwgIioub3BlbmJlYXV0eWZhY3RzLm9yZyJdKTsKICBfcGFxLnB1c2goWyJzZXREb21haW5zIiwgWyIqLm9wZW5iZWF1dHlmYWN0cy5vcmciXV0pOwogIF9wYXEucHVzaChbInNldERvTm90VHJhY2siLCB0cnVlXSk7CiAgX3BhcS5wdXNoKFsiZGlzYWJsZUNvb2tpZXMiXSk7CiAgX3BhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTsKICBfcGFxLnB1c2goWydlbmFibGVMaW5rVHJhY2tpbmcnXSk7CiAgKGZ1bmN0aW9uKCkgewogICAgdmFyIHU9Ii8vYW5hbHl0aWNzLm9wZW5mb29kZmFjdHMub3JnLyI7CiAgICBfcGFxLnB1c2goWydzZXRUcmFja2VyVXJsJywgdSsnbWF0b21vLnBocCddKTsKICAgIF9wYXEucHVzaChbJ3NldFNpdGVJZCcsICcxMCddKTsKICAgIHZhciBkPWRvY3VtZW50LCBnPWQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07CiAgICBnLmFzeW5jPXRydWU7IGcuc3JjPXUrJ21hdG9tby5qcyc7IHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZyxzKTsKICB9KSgpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PjxwPjxpbWcgc3JjPSIvL2FuYWx5dGljcy5vcGVuZm9vZGZhY3RzLm9yZy9tYXRvbW8ucGhwP2lkc2l0ZT0xMCZhbXA7cmVjPTEiIHN0eWxlPSJib3JkZXI6MDsiIGFsdD0iIiAvPjwvcD48L25vc2NyaXB0PgoKCgk8b2ZmLXdlYmNvbXBvbmVudHMtY29uZmlndXJhdGlvbgogIGxhbmd1YWdlLWNvZGU9ImVuIgogIGNvdW50cnktY29kZT0id29ybGQiCiAgcm9ib3RvZmYtY29uZmlndXJhdGlvbj0newogICAgImFwaVVybCI6ICJodHRwczovL3JvYm90b2ZmLm9wZW5mb29kZmFjdHMub3JnL2FwaS92MSIsCiAgICAiaW1nVXJsIjogImh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzIgogIH0nCiAgCiAgb3BlbmZvb2RmYWN0cy1hcGktdXJsPSJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmciCiAgYXNzZXRzLWltYWdlcy1wYXRoPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2Nzcy9kaXN0L2ltYWdlcyIKICA+PC9vZmYtd2ViY29tcG9uZW50cy1jb25maWd1cmF0aW9uPgoJCgkKCTxkaXYgY2xhc3M9InNraXAiPjxhIGhyZWY9IiNjb250ZW50IiB0YWJpbmRleD0iMCI+U2tpcCB0byBDb250ZW50PC9hPjwvZGl2PgoJCgoJPGRpdiBpZD0iYmFyY29kZS1zY2FubmVyLW1vZGFsIiBjbGFzcz0ibW9kYWwgaXNfaGlkZGVuIj4KICA8ZGl2IGNsYXNzPSJtb2RhbC1iYWNrZHJvcCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICA8c3Bhbj48aDI+U2NhbiBhIHByb2R1Y3Q8aDI+PC9zcGFuPgogICAgICA8YnV0dG9uIGNsYXNzPSJtb2RhbC1jbG9zZS1idXR0b24iPiZ0aW1lczs8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgPGRpdj4KICAgICAgPGJhcmNvZGUtc2Nhbm5lciBpZD0iYmFyY29kZS1zY2FubmVyIj48L2JhcmNvZGUtc2Nhbm5lcj4KICAgIDwvZGl2PgogICAgPGRpdj4KICAgIDwvZGl2PgogICAgPGRpdiA+CiAgICAgIDxsYWJlbCBmb3I9ImJhcmNvZGUtbW9kYWwtaW5wdXQiPk9yIGVudGVyIGJhcmNvZGUgbWFudWFsbHk8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJiYXJjb2RlLW1vZGFsLWdyb3VwIj4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImJhcmNvZGUtbW9kYWwtaW5wdXQiIGNsYXNzPSJiYXJjb2RlLW1vZGFsLWlucHV0IiBpbnB1dG1vZGU9Im51bWVyaWMiIHBhdHRlcm49IlxkKiIgLz4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJiYXJjb2RlLW1vZGFsLWJ1dHRvbiBidXR0b24iIGlkPSJiYXJjb2RlLW1vZGFsLWJ1dHRvbiIgZGlzYWJsZWQ+U2NhbjwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxzY3JpcHQgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2pzL2Rpc3QvYmFyY29kZS1zY2FubmVyLmpzIj48L3NjcmlwdD4KCgoJPGRpdiBpZD0icGFnZSI+CgkJCgkJPGRpdiBjbGFzcz0idXBwZXItbmF2IGNvbnRhaW4tdG8tZ3JpZCIgIGlkPSJ1cE5hdiI+CgkJCTxuYXYgY2xhc3M9InRvcC1iYXIgIiBkYXRhLXRvcGJhciByb2xlPSJuYXZpZ2F0aW9uIj4KCQkJCQoJCQkJPHNlY3Rpb24gY2xhc3M9InRvcC1iYXItc2VjdGlvbiI+CgkJCQkJCgkJCQkJPCEtLSBMZWZ0IE5hdiBTZWN0aW9uIC0tPgoJCQkJCTx1bCBjbGFzcz0ibGVmdCI+CgoJCQkJCQk8bGkgY2xhc3M9Imhhcy1kcm9wZG93biI+CgkJCQkJCQk8YSBpZD0ibWVudV9saW5rIj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPgoJCQkJCQkJCQltZW51CgkJCQkJCQkJPC9zcGFuPgoJCQkJCQkJPC9hPgoJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93biI+CQkJCQoJCQkJCQkJCQoJCQkJCQkJCQk8bGk+PGEgaHJlZj0iL2Rpc2NvdmVyIj5EaXNjb3ZlcjwvYT48L2xpPgoJCQkJCQkJCQk8bGk+PGEgaHJlZj0iL2NvbnRyaWJ1dGUiPkNvbnRyaWJ1dGU8L2E+PC9saT4KCQkJCQkJCQkJPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgoJCQkJCQkJCQk8bGk+PGxhYmVsPkFkZCBwcm9kdWN0czwvbGFiZWw+PC9saT4KICAgICAgICAgICAgICAgIDwhLS0gRm9yIHJlZmVyZW5jZTogZ2V0X3RoZV9hcHBfbGlua19vZmYiID0gL29wZW4tZm9vZC1mYWN0cy1tb2JpbGUtYXBwIiAtLT4KCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ii9vcGVuLWJlYXV0eS1mYWN0cy1tb2JpbGUtYXBwP3V0bV9zb3VyY2U9b2ZmJnV0Zl9tZWRpdW09d2ViJnV0bV9jYW1wYWlnbj1wcm9fcGxhdGZvcm1faW5zdGFsbF90aGVfYXBwX3RvX2FkZF9wcm9kdWN0c19lbiI+SW5zdGFsbCB0aGUgYXBwIHRvIGFkZCBwcm9kdWN0czwvYT48L2xpPgoJCQkJCQkJCQk8bGk+PGEgaHJlZj0iL2NnaS9wcm9kdWN0LnBsP3R5cGU9c2VhcmNoX29yX2FkZCZhY3Rpb249ZGlzcGxheSI+QWRkIGEgcHJvZHVjdDwvYT48L2xpPgoJCQkJCQkJCQoKCQkJCQkJCQk8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CgkJCQkJCQkJPGxpPjxsYWJlbD5TZWFyY2ggYW5kIGFuYWx5emUgcHJvZHVjdHM8L2xhYmVsPjwvbGk+CgoJCQkJCQkJCTxsaT4KCQkJCQkJCQkJPGEgaHJlZj0iL2NnaS9zZWFyY2gucGwiPkFkdmFuY2VkIHNlYXJjaDwvYT4KCQkJCQkJCQk8L2xpPgoJCQkJCQkJCTxsaT4KCQkJCQkJCQkJPGEgaHJlZj0iL2NnaS9zZWFyY2gucGw/Z3JhcGg9MSI+R3JhcGhzIGFuZCBtYXBzPC9hPgoJCQkJCQkJCTwvbGk+CgkJCQkJCQkJCgkJCQkJCQk8L3VsPgoJCQkJCQk8L2xpPgoJCQkJCQkKCQkJCQkJPGxpPgoJCQkJCQkJPHVsIGNsYXNzPSJjb3VudHJ5X2xhbmd1YWdlX3NlbGVjdGlvbiI+CgkJCQkJCQkJPGxpIGNsYXNzPSJoYXMtZm9ybSBoYXMtZHJvcGRvd24iIGlkPSJzZWxlY3RfY291bnRyeV9saSI+CgkJCQkJCQkJCTxzZWxlY3QgaWQ9InNlbGVjdF9jb3VudHJ5IiBzdHlsZT0id2lkdGg6MTAwJSIgZGF0YS1wbGFjZWhvbGRlcj0iQ291bnRyeSI+CgkJCQkJCQkJCQk8b3B0aW9uPjwvb3B0aW9uPgoJCQkJCQkJCQk8L3NlbGVjdD4KCQkJCQkJCQk8L2xpPgoJCQkJCQkJCTxsaSBjbGFzcz0iaGFzLWRyb3Bkb3duIj4KCQkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnLyI+RW5nbGlzaDwvYT4KCgkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24iPgoJCQkJCQkJCQkJCgkJCQkJCQkJCTwvdWw+CgkJCQkJCQkJPC9saT4KCQkJCQkJCTwvdWw+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCgoJCQkJCTwhLS0gUmlnaHQgTmF2IFNlY3Rpb24gLS0+CgkJCQkJCgkJCQkJPHVsIGNsYXNzPSJyaWdodCI+CgkJCQkJCQoJCQkJCQkJPGxpIGNsYXNzPSJoLXNwYWNlLXRpbnkgaGFzLWZvcm0iPgoJCQkJCQkJCTxhIGhyZWY9Ii9jZ2kvc2Vzc2lvbi5wbCIgY2xhc3M9InJvdW5kIGJ1dHRvbiBzZWNvbmRhcnkiPgoJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMgbWF0ZXJpYWwtc3ltYm9scy1idXR0b24iPmFjY291bnRfY2lyY2xlPC9zcGFuPgoJCQkJCQkJCQlTaWduIGluCgkJCQkJCQkJPC9hPgoJCQkJCQkJPC9saT4KCQkJCQkJCgkJCQkJPC91bD4KCQkJCTwvc2VjdGlvbj4KCQkJPC9uYXY+CgkJPC9kaXY+CgkJCgoJCTxkaXYgaWQ9Im1haW5fY29udGFpbmVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmUiIGNsYXNzPSJibG9ja19sYXR0ZSI+CgkJCgkJCgkJPGRpdiBjbGFzcz0idG9wYmFyc3RpY2t5Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbi10by1ncmlkICIgaWQ9Im9mZk5hdiIgPgoJCQkJPG5hdiBjbGFzcz0idG9wLWJhciIgZGF0YS10b3BiYXIgcm9sZT0ibmF2aWdhdGlvbiIgPgoKCQkJCQk8dWwgY2xhc3M9InRpdGxlLWFyZWEiPgoJCQkJCQk8bGkgY2xhc3M9Im5hbWUiPgoJCQkJCQkJPGRpdiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjI5MnB4OyI+CgkJCQkJCQkJPGEgaHJlZj0iLyI+CgkJCQkJCQkJPGltZyBpZD0ibG9nbyIgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9sb2dvcy9vYmYtbG9nby1ob3Jpem9udGFsLWxpZ2h0LnN2ZyIgYWx0PSJPcGVuIEJlYXV0eSBGYWN0cyIgc3R5bGU9Im1hcmdpbjo4cHg7aGVpZ2h0OjQ4cHg7d2lkdGg6YXV0bzsiPgoJCQkJCQkJCQoJCQkJCQkJPC9hPgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCgkJCQkJCgkJCQkJCgkJCQkJPHNlY3Rpb24gY2xhc3M9InRvcC1iYXItc2VjdGlvbiI+CgkJCQkJCgkJCQkJCTx1bCBjbGFzcz0ibGVmdCBzbWFsbC00Ij4KCQkJCQkJCTxsaSBjbGFzcz0ic2VhcmNoLWxpIj4KCQkJCQkJCQoJCQkJCQkJCTxmb3JtIGFjdGlvbj0iL2NnaS9zZWFyY2gucGwiPgoJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0ic21hbGwtMTIiPgoJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyBjb2xsYXBzZSBwb3N0Zml4LXJvdW5kIj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sdW1ucyI+CgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iU2VhcmNoIGZvciBhIHByb2R1Y3QiIG5hbWU9InNlYXJjaF90ZXJtcyIgdmFsdWU9IiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6d2hpdGUiPgoJCQkJCQkJCQk8aW5wdXQgbmFtZT0ic2VhcmNoX3NpbXBsZSIgdmFsdWU9IjEiIHR5cGU9ImhpZGRlbiI+CgkJCQkJCQkJCTxpbnB1dCBuYW1lPSJhY3Rpb24iIHZhbHVlPSJwcm9jZXNzIiB0eXBlPSJoaWRkZW4iPgoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sdW1ucyBwb3N0Zml4LWJ1dHRvbi13cmFwcGVyIj4KCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIHRpdGxlPSJTZWFyY2giIGNsYXNzPSJidXR0b24gcG9zdGZpeCIgc3R5bGU9ImxpbmUtaGVpZ2h0Om5vcm1hbCI+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgY2xhc3M9Imljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb2N1c2FibGU9ImZhbHNlIj48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiLz48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+PC9idXR0b24+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2x1bW5zIHBvc3RmaXgtYnV0dG9uLXdyYXBwZXIgaXNfaGlkZGVuIj4KICA8YnV0dG9uCiAgICB0eXBlPSJidXR0b24iCiAgICB0aXRsZT0iU2NhbiBhIHByb2R1Y3QiCiAgICBjbGFzcz0iYnV0dG9uIGJhcmNvZGUtc2Nhbm5lci1idXR0b24iCiAgICBpZD0iYmFyY29kZS1zY2FubmVyLWJ1dHRvbiIKICA+CiAgICA8c3ZnIHN0eWxlPSJ3aWR0aDoyNHB4O2hlaWdodDoyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGNsYXNzPSJpY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSI+PHBhdGggZD0iTTIsNkg0VjE4SDJWNk01LDZINlYxOEg1VjZNNyw2SDEwVjE4SDdWNk0xMSw2SDEyVjE4SDExVjZNMTQsNkgxNlYxOEgxNFY2TTE3LDZIMjBWMThIMTdWNk0yMSw2SDIyVjE4SDIxVjZaIi8+PC9zdmc+CiAgPC9idXR0b24+CgogIDxzY3JpcHQgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2pzL2Rpc3QvYmFyY29kZS1zY2FubmVyLWJ1dHRvbi5qcyI+PC9zY3JpcHQ+CjwvZGl2PgoKCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQk8L2Rpdj48L2Rpdj4KCQkJCQkJCQk8L2Zvcm0+CgkJCQkJCQk8L2xpPgoJCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic2VhcmNoX2FuZF9saW5rcyI+CgkJCQkJCTxsaT48YSBocmVmPSIvZGlzY292ZXIiIGNsYXNzPSJ0b3AtYmFyLWxpbmtzIj5EaXNjb3ZlcjwvYT48L2xpPgoJCQkJCQk8bGk+PGEgaHJlZj0iL2NvbnRyaWJ1dGUiIGNsYXNzPSJ0b3AtYmFyLWxpbmtzIj5Db250cmlidXRlPC9hPjwvbGk+CgkJCQkJCTxsaSBjbGFzcz0ic2hvdy1mb3IteGxhcmdlLXVwIj48YSBocmVmPSJodHRwczovL3dvcmxkLnByby5vcGVuZm9vZGZhY3RzLm9yZy8iIGNsYXNzPSJ0b3AtYmFyLWxpbmtzIj5Qcm9kdWNlcnM8L2E+PC9saT4KCQkJCQkJPGxpIGNsYXNzPSJmbGV4LWdyaWQgZ2V0YXBwIj48YSBocmVmPSIvb3Blbi1iZWF1dHktZmFjdHMtbW9iaWxlLWFwcD91dG1fc291cmNlPW9mZiZ1dGZfbWVkaXVtPXdlYiZ1dG1fY2FtcGFpZ249c2VhcmNoX2FuZF9saW5rc19wcm9tb19lbiIgY2xhc3M9ImJ1dHRvbmJhciBidXR0b24iIHN0eWxlPSJ0b3A6MDsiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGNsYXNzPSJpY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSI+PHBhdGggZD0iTTE2IDFIOEM2LjM0IDEgNSAyLjM0IDUgNHYxNmMwIDEuNjYgMS4zNCAzIDMgM2g4YzEuNjYgMCAzLTEuMzQgMy0zVjRjMC0xLjY2LTEuMzQtMy0zLTN6bS0yIDIwaC00di0xaDR2MXptMy4yNS0zSDYuNzVWNGgxMC41djE0eiIvPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48L3N2Zz4gPHNwYW4gY2xhc3M9ImJ0LXRleHQiPkdldCB0aGUgYXBwPC9zcGFuPjwvYT48L2xpPgoJCQkJPCEtLSBGb3IgcmVmZXJlbmNlOiBnZXRfdGhlX2FwcF9saW5rX29mZiIgPSAvb3Blbi1mb29kLWZhY3RzLW1vYmlsZS1hcHAiIC0tPgogICAgICAgICAgPC91bD4KCQkJCQk8L3NlY3Rpb24+CgkJCQkJCgkJCQk8L25hdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgoJCgkKCQk8bmF2IGNsYXNzPSJ0YWItYmFyIGhpZGUiPgoJCQk8ZGl2IGNsYXNzPSJsZWZ0LXNtYWxsIj4KCQkJCTxhIGhyZWY9IiNpZE9mTGVmdE1lbnUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1jb250cm9scz0iaWRPZkxlZnRNZW51IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgY2xhc3M9ImxlZnQtb2ZmLWNhbnZhcy10b2dnbGUgYnV0dG9uIHBvc3RmaXggYW5vbnltb3VzIj4KCQkJCTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGNsYXNzPSJpY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSI+PHBhdGggZD0iTTMgNXYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0ySDVjLTEuMTEgMC0yIC45LTIgMnptMTIgNGMwIDEuNjYtMS4zNCAzLTMgM3MtMy0xLjM0LTMtMyAxLjM0LTMgMy0zIDMgMS4zNCAzIDN6bS05IDhjMC0yIDQtMy4xIDYtMy4xczYgMS4xIDYgMy4xdjFINnYtMXoiLz48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+CgkJCQk8L2E+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJtaWRkbGUgdGFiLWJhci1zZWN0aW9uIj4KCQkJCTxmb3JtIGFjdGlvbj0iL2NnaS9zZWFyY2gucGwiPgoJCQkJCTxkaXYgY2xhc3M9InJvdyBjb2xsYXBzZSI+CgkJCQkJCTxkaXYgY2xhc3M9InNtYWxsLTggY29sdW1ucyI+CgkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBmb3IgYSBwcm9kdWN0IiBuYW1lPSJzZWFyY2hfdGVybXMiPgoJCQkJCQkJPGlucHV0IG5hbWU9InNlYXJjaF9zaW1wbGUiIHZhbHVlPSIxIiB0eXBlPSJoaWRkZW4iPgoJCQkJCQkJPGlucHV0IG5hbWU9ImFjdGlvbiIgdmFsdWU9InByb2Nlc3MiIHR5cGU9ImhpZGRlbiI+CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJzbWFsbC0yIGNvbHVtbnMiPgoJCQkJCQkJPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidXR0b24gcG9zdGZpeCI+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgY2xhc3M9Imljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb2N1c2FibGU9ImZhbHNlIj48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiLz48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+PC9idXR0b24+CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJzbWFsbC0yIGNvbHVtbnMiPgoJCQkJCQkJPGEgaHJlZj0iL2NnaS9zZWFyY2gucGwiIHRpdGxlPSJBZHZhbmNlZCBzZWFyY2giPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGNsYXNzPSJpY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6Ii8+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiBjbGFzcz0iaWNvbiIgYXJpYS1oaWRkZW49InRydWUiIGZvY3VzYWJsZT0iZmFsc2UiPjxwYXRoIGQ9Ik0xOSAxM2gtNnY2aC0ydi02SDV2LTJoNlY1aDJ2Nmg2djJ6Ii8+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPjwvYT4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Zvcm0+CgkJCTwvZGl2PgoJCTwvbmF2PgoJCQoKCQk8ZGl2IGlkPSJjb250ZW50IiBjbGFzcz0ib2ZmLWNhbnZhcy13cmFwIGJsb2NrX2xhdHRlIiBkYXRhLW9mZmNhbnZhcz4KCQkJPGRpdiBjbGFzcz0iaW5uZXItd3JhcCI+CgkJCQoJCQkJPGEgY2xhc3M9ImV4aXQtb2ZmLWNhbnZhcyI+PC9hPgoKCQkJCQoJCQkJCgkJCQk8IS0tIGZ1bGwgd2lkdGggYmFubmVyIG9uIG1vYmlsZSAtLT4KCQkJCQoJCQkJCgoJCQkJCgoJCQkJPGRpdiBjbGFzcz0ibWFpbiBibG9ja19saWdodCI+CgkJCQkJPGRpdiBpZD0ibWFpbl9jb2x1bW4iPgoKCQkJCQkJCgkJCQkJCQoJCQkJCQkJCgkJCQkJCQkKCQkJCQkJCQk8IS0tIHN0YXJ0IHRlbXBsYXRlcy93ZWIvY29tbW9uL2luY2x1ZGVzL2RvbmF0ZV9iYW5uZXIudHQuaHRtbCAtLT4KCgoKPCEtLSBEb25hdGlvbiBiYW5uZXIgQCBmb290ZXIgLS0+CgoKPCEtLSBlbmQgdGVtcGxhdGVzL3dlYi9jb21tb24vaW5jbHVkZXMvZG9uYXRlX2Jhbm5lci50dC5odG1sIC0tPgoKCQkJCQkJCQkKCgo8c2VjdGlvbiBpZD0iZG9uYXRpb24tYmFubmVyLXRvcCIgY2xhc3M9InJvdyIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlIj4KICAKICA8YSBocmVmPSJodHRwczovL2Nvbm5lY3Qub3BlbmZvb2RmYWN0cy5vcmcvZXZlbnQvb3Blbi1mb29kLWZhY3RzLWRheXMtMjAyNS0zMC9yZWdpc3RlciI+CiAgICA8aW1nIHNyYz0iL2ltYWdlcy9taXNjL2RvbmF0aW9uLWJhbm5lcnMvb2ZmLWRheXMtMjAyNS1lbi4xMjgweDE5MS5wbmciCiAgICAgICBhbHQ9Ik9wZW4gRm9vZCBGYWN0cyBEYXlzIDIwMjUiCiAgICAgICB3aWR0aD0iMTI4MCIKICAgICAgIGhlaWdodD0iMTkxIiBjbGFzcz0ic2hvdy1mb3ItbWVkaXVtLXVwIi8+CiAgICA8aW1nIHNyYz0iL2ltYWdlcy9taXNjL2RvbmF0aW9uLWJhbm5lcnMvb2ZmLWRheXMtMjAyNS1lbi5tb2JpbGUucG5nIgogICAgICAgYWx0PSJPcGVuIEZvb2QgRmFjdHMgRGF5cyAyMDI1IgogICAgICAgd2lkdGg9IjEyODAiCiAgICAgICBoZWlnaHQ9IjQ3NyIgY2xhc3M9InNob3ctZm9yLXNtYWxsLW9ubHkiLz4gICAgCiAgPC9hPgogIAoKCiAgPGRpdiBjbGFzcz0iZG9uYXRpb24tYmFubmVyX19jbG9zZSI+CiAgICA8YnV0dG9uIGlkPSJoaWRlLWRvbmF0ZS1iYW5uZXIiIGNsYXNzPSJtYXRlcmlhbC1pY29ucyBtb2Rlc3QiIG9uY2xpY2s9IkRvbmF0aW9uQnV0dG9uKCk7IiBvbmtleXByZXNzPSJEb25hdGlvbkJ1dHRvbigpOyI+Y2xvc2U8L2J1dHRvbj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNjcmlwdD4KICBsZXQgZCA9IG5ldyBEYXRlKCk7CiAgbGV0IGJhbm5lcklEID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvbmF0aW9uLWJhbm5lci10b3AnKTsKICBsZXQgZ2V0RG9tYWluID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbi5zcGxpdCgnLicpOwoKICBmdW5jdGlvbiBzZXRCYW5uZXJDb29raWUoYmNuYW1lLCBiY3ZhbCwgYmNleGRheXMpIHsKICAgIGQuc2V0VGltZShkLmdldFRpbWUoKSArIChiY2V4ZGF5cyo2MCo2MCoyNCoxMDAwKSk7CiAgICBsZXQgZXhwaXJlcyA9ICdleHBpcmVzPScgKyBkLnRvVVRDU3RyaW5nKCk7CiAgICAvLyBBcHBseSBjb29raWUgZm9yIGV2ZXJ5IGRvbWFpbiBjb250YWlucyBvcGVuLi4uZmFjdHMKICAgIGxldCBkb21haW4gPSAnZG9tYWluPS4nICsgZ2V0RG9tYWluLnNsaWNlKDEpLmpvaW4oJy4nKTsKICAgIGRvY3VtZW50LmNvb2tpZSA9IGJjbmFtZSArICc9JyArIGJjdmFsICsgJzsnICsgZXhwaXJlcyArICc7JyArIGRvbWFpbiArICc7U2FtZVNpdGU9Tm9uZTtTZWN1cmU7cGF0aD0vJzsKICB9CgogIGZ1bmN0aW9uIGdldEJhbm5lckNvb2tpZShiY25hbWUpIHsKICAgIGNvbnN0IG5hbWUgPSBiY25hbWUgKyAnPSc7CiAgICBjb25zdCBkZWNvZGVkQ29va2llcyA9IGRlY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5jb29raWUpOwogICAgY29uc3QgY29va2llcyA9IGRlY29kZWRDb29raWVzLnNwbGl0KCc7Jyk7CiAgICBmb3IgKGNvbnN0IGNvb2tpZSBvZiBjb29raWVzKSB7CiAgICAgIGxldCBjID0gY29va2llOwogICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT0gJyAnKSB7IGMgPSBjLnN1YnN0cmluZygxKTsgfQogICAgICBpZiAoYy5pbmRleE9mKG5hbWUpID09IDApIHsgcmV0dXJuIGMuc3Vic3RyaW5nKG5hbWUubGVuZ3RoLCBjLmxlbmd0aCk7IH0KICAgIH0KCiAgICByZXR1cm4gJyc7CiAgfQoKICBmdW5jdGlvbiBEb25hdGlvbkJ1dHRvbigpIHsKICAgIHNldEJhbm5lckNvb2tpZSgnb2ZmX2RheXNfMjAyNScsIDEsIDE4MCk7CiAgICBiYW5uZXJJRC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogIH0KCiAgaWYgKGdldEJhbm5lckNvb2tpZSgnb2ZmX2RheXNfMjAyNScpICE9PSAnJykgewogICAgYmFubmVySUQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICB9IGVsc2UgewogICAgYmFubmVySUQuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICB9Cjwvc2NyaXB0PgoKCgkJCQkJCQkKCQkJCQkJCgkJCQkJCQogICAgICAgICAgICAJCQkKCQkJCQkJCgkJCQkJCQkKCQkJCQkJCQk8IS0tIHNvbWUgbGlzdHMgb2YgcHJvZHVjdHMgZm9yIGZhY2V0cyAoZS5nLiBicmFuZHMpIGhhdmUgbWljcm9mb3JtYXRzIGRhdGEgLS0+CgkJCQkJCQkJPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9UaGluZyI+CgkJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJzbWFsbC0xMiBjb2x1bW4gdi1zcGFjZS1zaG9ydCI+CgkJCQkJCQkJCQkJPGgxIGl0ZW1wcm9wPSJuYW1lIj4yMDE2LTAyLTEyPC9oMT4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkgIDwhLS0gc3RhcnQgdGVtcGxhdGVzL3dlYi9wYWdlcy90YWcvdGFnLnR0Lmh0bWwgLS0+CjxkaXYgY2xhc3M9InRhZyI+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgIDxkaXYgY2xhc3M9ImxhcmdlLTYgY29sdW1uIj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZ19uYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzIj5MYXN0IGVkaXQgZGF0ZTwvYT46CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMiI+MjAxNi0wMi0xMjwvYT4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgCgogICAgICAgICAgICAKCiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgoKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIGVuZCB0ZW1wbGF0ZXMvd2ViL3BhZ2VzL3RhZy90YWcudHQuaHRtbCAtLT4KPCEtLSBzdGFydCB0ZW1wbGF0ZXMvd2ViL2NvbW1vbi9pbmNsdWRlcy9saXN0X29mX3Byb2R1Y3RzLnR0Lmh0bWwgLS0+IAoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IGNsYXNzPSJzbWFsbC0xMiBjb2x1bW5zIj4gCiAgICAKICAgIAogICAgICAKICAgICAgCiAgICAgIAogICAgICA8IS0tIGRpc3BsYXkgYSBwZXJtYWxpbmsgaWYgdGhlIHVybCBpcyBmb3IgYSBzY3JpcHQgdGhhdCBtYXkgaGF2ZSBQT1NUIHBhcmFtZXRlcnMgLS0+CiAgICAgIAogICAgCiAgICAKICA8L2Rpdj4KPC9kaXY+CgogCgo8ZGl2IGNsYXNzPSJibG9jayBzaG9ydCBibG9ja19yaXN0cmV0byI+CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxkaXYgY2xhc3M9InNtYWxsLTEyIGNvbHVtbnMgZmlsdGVyUHJvZHVjdHMiPgogICAgICA8ZGl2PgogICAgICAgIDxzcGFuIGNsYXNzPSJmaWx0ZXJQcm9kdWN0c19fcmVzdWx0cyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiIGFyaWEtaGlkZGVuPSJ0cnVlIj5zZWFyY2g8L3NwYW4+CiAgICAgICAgICAyOSBwcm9kdWN0cwogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZpbHRlclByb2R1Y3RzX19idXR0b25zIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGJ1dHRvbiBocmVmPSIjIiBkYXRhLWRyb3Bkb3duPSJkcm9wX3NvcnQiIGFyaWEtY29udHJvbHM9ImRyb3Bfc29ydCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGNsYXNzPSJidXR0b24gcm91bmQgZHJvcGRvd24gc21hbGwgc2Vjb25kYXJ5IHVubWFyZ2VkIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1hdGVyaWFsLWljb25zIj5zd2FwX3ZlcnQ8L3NwYW4+CiAgICAgICAgICAgIFJlY2VudGx5IG1vZGlmaWVkIHByb2R1Y3RzCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDx1bCBpZD0iZHJvcF9zb3J0IiBkYXRhLWRyb3Bkb3duLWNvbnRlbnQgY2xhc3M9ImYtZHJvcGRvd24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMj9zb3J0X2J5PWNyZWF0ZWRfdCIgb25jbGljaz0iJC5jb29raWUoJ2xhc3Rfc29ydF9ieScsICdjcmVhdGVkX3QnLCB7IGV4cGlyZXM6IDE4MCwgcGF0aDogJy8nIH0pOyI+UmVjZW50bHkgYWRkZWQgcHJvZHVjdHM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgCiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8YSBocmVmPSIvZmFjZXRzL2xhc3QtZWRpdC1kYXRlcy8yMDE2LTAyLTEyP3NvcnRfYnk9bGFzdF9tb2RpZmllZF90IiBvbmNsaWNrPSIkLmNvb2tpZSgnbGFzdF9zb3J0X2J5JywgJ2xhc3RfbW9kaWZpZWRfdCcsIHsgZXhwaXJlczogMTgwLCBwYXRoOiAnLycgfSk7Ij5SZWNlbnRseSBtb2RpZmllZCBwcm9kdWN0czwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAKICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgPGRpdj4KICAgICAgICAgIDxidXR0b24gaHJlZj0iIyIgZGF0YS1kcm9wZG93bj0iZHJvcDEiIGFyaWEtY29udHJvbHM9ImRyb3AxIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgY2xhc3M9ImJ1dHRvbiByb3VuZCBkcm9wZG93biBzbWFsbCBzZWNvbmRhcnkgdW5tYXJnZWQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaWNvbnMiPnNvcnQ8L3NwYW4+CiAgICAgICAgICAgIEV4cGxvcmUgcHJvZHVjdHMgYnkuLi4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPHVsIGlkPSJkcm9wMSIgZGF0YS1kcm9wZG93bi1jb250ZW50IGNsYXNzPSJmLWRyb3Bkb3duIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvY291bnRyaWVzIiByZWw9Im5vZm9sbG93Ij5Db3VudHJpZXM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvYnJhbmRzIiByZWw9Im5vZm9sbG93Ij5CcmFuZHM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvY2F0ZWdvcmllcyIgcmVsPSJub2ZvbGxvdyI+Q2F0ZWdvcmllczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9sYWJlbHMiIHJlbD0ibm9mb2xsb3ciPkxhYmVsczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9wYWNrYWdpbmciIHJlbD0ibm9mb2xsb3ciPlBhY2thZ2luZzwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9vcmlnaW5zIiByZWw9Im5vZm9sbG93Ij5PcmlnaW5zIG9mIGluZ3JlZGllbnRzPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8YSBocmVmPSIvZmFjZXRzL2xhc3QtZWRpdC1kYXRlcy8yMDE2LTAyLTEyL21hbnVmYWN0dXJpbmctcGxhY2VzIiByZWw9Im5vZm9sbG93Ij5NYW51ZmFjdHVyaW5nIG9yIHByb2Nlc3NpbmcgcGxhY2VzPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8YSBocmVmPSIvZmFjZXRzL2xhc3QtZWRpdC1kYXRlcy8yMDE2LTAyLTEyL3BhY2thZ2VyLWNvZGVzIiByZWw9Im5vZm9sbG93Ij5UcmFjZWFiaWxpdHkgY29kZXM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvaW5ncmVkaWVudHMiIHJlbD0ibm9mb2xsb3ciPkluZ3JlZGllbnRzPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8YSBocmVmPSIvZmFjZXRzL2xhc3QtZWRpdC1kYXRlcy8yMDE2LTAyLTEyL2FkZGl0aXZlcyIgcmVsPSJub2ZvbGxvdyI+QWRkaXRpdmVzPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8YSBocmVmPSIvZmFjZXRzL2xhc3QtZWRpdC1kYXRlcy8yMDE2LTAyLTEyL3ZpdGFtaW5zIiByZWw9Im5vZm9sbG93Ij5BZGRlZCB2aXRhbWluczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9taW5lcmFscyIgcmVsPSJub2ZvbGxvdyI+QWRkZWQgbWluZXJhbHM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvYWxsZXJnZW5zIiByZWw9Im5vZm9sbG93Ij5BbGxlcmdlbnM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvdHJhY2VzIiByZWw9Im5vZm9sbG93Ij5UcmFjZXM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvbWlzYyIgcmVsPSJub2ZvbGxvdyI+TWlzY2VsbGFuZW91czwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9sYW5ndWFnZXMiIHJlbD0ibm9mb2xsb3ciPkxhbmd1YWdlczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9jb250cmlidXRvcnMiIHJlbD0ibm9mb2xsb3ciPkNvbnRyaWJ1dG9yczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9zdGF0ZXMiIHJlbD0ibm9mb2xsb3ciPlN0YXRlczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9kYXRhLXNvdXJjZXMiIHJlbD0ibm9mb2xsb3ciPkRhdGEgc291cmNlczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi9lbnRyeS1kYXRlcyIgcmVsPSJub2ZvbGxvdyI+RW50cnkgZGF0ZXM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvbGFzdC1lZGl0LWRhdGVzIiByZWw9Im5vZm9sbG93Ij5MYXN0IGVkaXQgZGF0ZXM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYWNldHMvbGFzdC1lZGl0LWRhdGVzLzIwMTYtMDItMTIvbGFzdC1jaGVjay1kYXRlcyIgcmVsPSJub2ZvbGxvdyI+TGFzdCBjaGVjayBkYXRlczwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPGEgaHJlZj0iL2ZhY2V0cy9sYXN0LWVkaXQtZGF0ZXMvMjAxNi0wMi0xMi90ZWFtcyIgcmVsPSJub2ZvbGxvdyI+VGVhbXM8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKCjxkaXYgY2xhc3M9InJvdyI+Cgk8ZGl2IGNsYXNzPSJzbWFsbC0xMiBjb2x1bW5zIj4KICAgIDxkaXYgaWQ9InByZWZlcmVuY2VzX3NlbGVjdGVkIiBjbGFzcz0ic21hbGwtMTIgZmxleC1ncmlkIHYtc3BhY2Utc2hvcnQgdi1hbGlnbi1jZW50ZXIgZGlyZWN0aW9uLXJvdyBmdWxsLXdpZHRoIHYtYWxpZ24tYmV0d2VlbiI+PC9kaXY+CiAgICA8ZGl2IGlkPSJwcmVmZXJlbmNlc19zZWxlY3Rpb25fZm9ybSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKCSAKPGRpdiBjbGFzcz0icm93Ij4KPGRpdiBjbGFzcz0ibGFyZ2UtMTIgY29sdW1ucyI+CiAgICAKICAgIDxkaXYgaWQ9InNlYXJjaF9yZXN1bHRzIiBzdHlsZT0iY2xlYXI6bGVmdDsiPgogICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMiPgogICAgCiAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgICAKICAgIAogICAgCgkJPC91bD4KICA8L2Rpdj4KICAgICAgCiAgICAKCQogIDwvZGl2Pgo8L2Rpdj4KCgo8IS0tIGVuZCB0ZW1wbGF0ZXMvd2ViL2NvbW1vbi9pbmNsdWRlcy9saXN0X29mX3Byb2R1Y3RzLnR0Lmh0bWwgLS0+CgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCgkJCQkJCQoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCTwvZGl2PgoKCQkKCQk8Zm9vdGVyPgoJCQk8ZGl2IGNsYXNzPSJibG9ja19saWdodCBiZy13aGl0ZSIgaWQ9Imluc3RhbGxfdGhlX2FwcF9ibG9jayI+CgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCTxkaXYgY2xhc3M9InNtYWxsLTEyIGZsZXgtZ3JpZCB2LXNwYWNlLXNob3J0IHYtYWxpZ24tY2VudGVyIGRpcmVjdGlvbi1yb3cgaC1zcGFjZS10aW55Ij4KCQkJCQkJPGRpdiBjbGFzcz0iY2VsbCBzbWFsbC0xMDAgbWVkaXVtLTEwMCBsYXJnZS01MCBmbGV4LWdyaWQgdi1hbGlnbi1jZW50ZXIgZGlyZWN0aW9uLXJvdyI+CgkJCQkJCQk8aW1nIGNsYXNzPSJjZWxsIHNtYWxsLTUwIHYtYWxpZ24tY2VudGVyIiBzcmM9Ii9pbWFnZXMvaWxsdXN0cmF0aW9ucy9hcHAtaWNvbi1pbi10aGUtY2xvdWRzLnN2ZyIgYWx0PSJUaGUgT3BlbiBGb29kIEZhY3RzIGxvZ28gaW4gdGhlIGNsb3VkIiBzdHlsZT0iaGVpZ2h0OjEyMHB4Ij4KCQkJCQkJCTxkaXYgY2xhc3M9ImNlbGwgc21hbGwtNTAgdi1hbGlnbi1jZW50ZXIiIGlkPSJmb290ZXJfc2NhbiIgc3R5bGU9ImRpc3BsYXk6YmxvY2siPgoJCQkJCQkJCTxkaXYgaWQ9ImZvb3Rlcl9pbnN0YWxsX3RoZV9hcHAiPgoJCQkJCQkJCQlJbnN0YWxsIHRoZSBhcHAhCgkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJU2NhbiB5b3VyIDxzcGFuIGlkPSJldmVyeWRheSI+ZXZlcnlkYXk8L3NwYW4+IDxzcGFuIGlkPSJmb29kcyI+Zm9vZHM8L3NwYW4+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJzbWFsbC0xMiBtZWRpdW0tMTIgbGFyZ2UtMTIgdi1zcGFjZS1ub3JtYWwgY29sdW1uIGJhZGdlLWNvbnRhaW5lciI+CgkJCQkJCQkJPCEtLSBhbmRyb2lkX2FwcF9saW5rIC0gaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5vcGVuYmVhdXR5ZmFjdHMuc2Nhbm5lciZobD1lbiAtLT4KCQkJCQkJCQk8YSAgaHJlZj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5vcGVuZm9vZGZhY3RzLnNjYW5uZXImdXRtX3NvdXJjZT1vYmYmdXRmX21lZGl1bT13ZWImdXRtX2NhbXBhaWduPWluc3RhbGxfdGhlX2FwcF9hbmRyb2lkX2Zvb3Rlcl9lbiI+PGltZyBzcmM9Ii9pbWFnZXMvbWlzYy9wbGF5c3RvcmUvaW1nL2xhdGVzdC9HZXRJdE9uR29vZ2xlUGxheV9CYWRnZV9XZWJfY29sb3JfRW5nbGlzaC5zdmciIGFsdD0iR2V0IEl0IE9uIEdvb2dsZSBQbGF5IiBsb2FkaW5nPSJsYXp5IiBoZWlnaHQ9IjQwIiB3aWR0aD0iMTIwIj48L2E+CgkJCQkJCQkJCgkJCQkJCQkJPGEgaHJlZj0iIj48aW1nIHNyYz0iL2ltYWdlcy9taXNjL2YtZHJvaWQvc3ZnL2dldC1pdC1vbi1lbi5zdmciIGFsdD0iQXZhaWxhYmxlIG9uIEYtRHJvaWQiIGxvYWRpbmc9ImxhenkiIGhlaWdodD0iNDAiIHdpZHRoPSIxMjAiPjwvYT4KCgkJCQkJCQkJPCEtLSBhbmRyb2lkX2Fwa19hcHBfbGluayAtIGh0dHBzOi8vd29ybGQub3BlbmZvb2RmYWN0cy5vcmcvaW1hZ2VzL2FwcHMvb2ZmLmFwayAtLT4KCQkJCQkJCQk8YSBocmVmPSJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2FwcHMvb2JmLmFwaz91dG1fc291cmNlPW9iZiZ1dGZfbWVkaXVtPXdlYj91dG1fc291cmNlPW9mZiZ1dGZfbWVkaXVtPXdlYiZ1dG1fY2FtcGFpZ249aW5zdGFsbF90aGVfYXBwX2Fwa19mb290ZXJfZW4iPjxpbWcgc3JjPSIvaW1hZ2VzL21pc2MvYXBwLWxhbmRpbmctcGFnZS9kb3dubG9hZC1hcGsvZG93bmxvYWQtYXBrX2VuLnN2ZyIgYWx0PSJBbmRyb2lkIEFQSyIgbG9hZGluZz0ibGF6eSIgaGVpZ2h0PSI0MCIgd2lkdGg9IjEyMCI+PC9hPgoJCQkJCQkJCQoJCQkJCQkJCTwhLS0gbXNnaWQgImh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL29wZW4tYmVhdXR5LWZhY3RzL2lkMTEyMjkyNjM4MCIgLS0+CgkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvb3Blbi1iZWF1dHktZmFjdHMvaWQxMTIyOTI2MzgwP3V0bV9zb3VyY2U9b2JmJnV0Zl9tZWRpdW09d2ViJnV0bV9jYW1wYWlnbj1pbnN0YWxsX3RoZV9hcHBfaW9zX2Zvb3Rlcl9lbiI+PGltZyBzcmM9Ii9pbWFnZXMvbWlzYy9hcHBzdG9yZS9ibGFjay9hcHBzdG9yZV9VUy5zdmciIGFsdD0iRG93bmxvYWQgb24gdGhlIEFwcCBTdG9yZSIgIGxvYWRpbmc9ImxhenkiIGhlaWdodD0iNDAiIHdpZHRoPSIxMjAiPjwvYT4KCQkJCQkJCTwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCgkJCQogICAgICAJCQk8IS0tIHN0YXJ0IHRlbXBsYXRlcy93ZWIvY29tbW9uL2luY2x1ZGVzL2RvbmF0ZV9iYW5uZXIudHQuaHRtbCAtLT4KCgoKPCEtLSBEb25hdGlvbiBiYW5uZXIgQCBmb290ZXIgLS0+CgoKPCEtLSBlbmQgdGVtcGxhdGVzL3dlYi9jb21tb24vaW5jbHVkZXMvZG9uYXRlX2Jhbm5lci50dC5odG1sIC0tPgoKCQkJCQoKPHNlY3Rpb24gY2xhc3M9ImRvbmF0aW9uLWJhbm5lci1mb290ZXIgcm93Ij4KICA8ZGl2IGNsYXNzPSJkb25hdGlvbi1iYW5uZXItZm9vdGVyX19sZWZ0LWFzaWRlIj4KICAgIDxkaXYgY2xhc3M9ImRvbmF0aW9uLWJhbm5lci1mb290ZXJfX2hvb2stc2VjdGlvbiI+CiAgICAgIDxwPkhlbHAgdXMgaW5mb3JtIG1pbGxpb25zIG9mIGNvbnN1bWVycyBhcm91bmQgdGhlIHdvcmxkIGFib3V0IHdoYXQgdGhleSBlYXQ8L3A+CiAgICA8L2Rpdj4KICAgIDxpbWcgc3JjPSIvaW1hZ2VzL21pc2MvZG9uYXRpb24tYmFubmVycy9kb25hdGlvbi1iYW5uZXItZ3JvdXAtcGhvdG8ucG5nIiBhbHQ9Imdyb3VwIHBob3RvIGRvbmF0aW9uIDIwMjQiIC8+CiAgPC9kaXY+CiAgPGRpdj4KICAgIDxkaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRvbmF0aW9uLWJhbm5lci1mb290ZXJfX21haW4tc2VjdGlvbiI+CiAgICAgICAgPGltZwogICAgICAgICAgd2lkdGg9IjUwIgogICAgICAgICAgaGVpZ2h0PSI1MCIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93b3JsZC5vcGVuZm9vZGZhY3RzLm9yZy9pbWFnZXMvbG9nb3MvbG9nby12YXJpYW50cy9DTUpOLUlDT05fV0hJVEVfQkdfT0ZGLnN2ZyIKICAgICAgICAgIGFsdD0ib3BlbiBmb29kIGZhY3RzIGxvZ28iCiAgICAgICAgLz4KICAgICAgICA8aDMgY2xhc3M9ImRvbmF0aW9uLWJhbm5lci1mb290ZXJfX21haW4tdGl0bGUiPlBsZWFzZSBnaXZlIHRvIG91ciAyMDI1IEZ1bmRyYWlzZXI8L2gzPgogICAgICA8L2Rpdj4KICAgICAgPHA+WW91ciBkb25hdGlvbnMgZnVuZCB0aGUgZGF5LXRvLWRheSBvcGVyYXRpb25zIG9mIG91ciBub24tcHJvZml0IGFzc29jaWF0aW9uOjwvcD4KICAgICAgPHVsPgogICAgICAgIDxsaT4KICAgICAgICAgIGtlZXBpbmcgb3VyIGRhdGFiYXNlIG9wZW4gJiBhdmFpbGFibGUgdG8gYWxsLAogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+dGVjaG5pY2FsIGluZnJhc3RydWN0dXJlICh3ZWJzaXRlL21vYmlsZSBhcHApICYgYSBzbWFsbCBwZXJtYW5lbnQgdGVhbTwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgPHA+cmVtYWluIGluZGVwZW5kZW50IG9mIHRoZSBmb29kIGluZHVzdHJ5LDwvcD4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgIDxwPmVuZ2FnZSBhIGNvbW11bml0eSBvZiBjb21taXR0ZWQgY2l0aXplbnMsPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgPHA+c3VwcG9ydCB0aGUgYWR2YW5jZW1lbnQgb2YgcHVibGljIGhlYWx0aCByZXNlYXJjaC48L3A+CiAgICAgICAgPC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZG9uYXRpb24tYmFubmVyLWZvb3Rlcl9fYWN0aW9ucy1zZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0iZG9uYXRpb24tYmFubmVyLWZvb3Rlcl9fYWN0aW9ucy1zZWN0aW9uX19maW5hbmNpYWwiPgogICAgICAgIDxwPgogICAgICAgICAgRWFjaCBkb25hdGlvbiBjb3VudHMhIFdlIGFwcHJlY2lhdGUgeW91ciBzdXBwb3J0IGluIGJyaW5naW5nIGZ1cnRoZXIgZm9vZCB0cmFuc3BhcmVuY3kgaW4gdGhlIHdvcmxkLgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRvbmF0aW9uLWJhbm5lci1mb290ZXJfX2FjdGlvbnMtc2VjdGlvbl9fZG9uYXRlLWJ1dHRvbiI+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93b3JsZC5vcGVuZm9vZGZhY3RzLm9yZy9kb25hdGUtdG8tb3Blbi1mb29kLWZhY3RzP3V0bV9zb3VyY2U9b2ZmJnV0Zl9tZWRpdW09d2ViJnV0bV9jYW1wYWlnbj1kb25hdGUtMjAyNC1hJnV0bV90ZXJtPWVuLXRleHQtYnV0dG9uIj4KICAgICAgICAgIDxidXR0b24+SSBTVVBQT1JUPC9idXR0b24+CiAgICAgICAgPC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CgoKCQkJCiAgICAgIAkJCgkJCTxkaXYgY2xhc3M9ImJsb2NrX2xpZ2h0IGJsb2NrX2NhcHB1Y2lubyIgaWQ9ImNvbnRyaWJ1dGVfYW5kX2Rpc2NvdmVyX2xpbmtzX2Jsb2NrIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPGRpdiBjbGFzcz0ic21hbGwtMTIgbGFyZ2UtNiBjb2x1bW5zIHYtc3BhY2Utbm9ybWFsIGJsb2NrX29mZiI+CgkJCQkJCTxoMyBjbGFzcz0idGl0bGUtNSB0ZXh0LW1lZGl1bSI+Sm9pbiB0aGUgY29tbXVuaXR5PC9oMz4KCQkJCQkJPHA+RGlzY292ZXIgb3VyIDxhIGhyZWY9Ii9jb2RlLW9mLWNvbmR1Y3QiPkNvZGUgb2YgY29uZHVjdDwvYT48L3A+CgkJCQkJCTxwPkpvaW4gdXMgb24gPGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5vcGVuZm9vZGZhY3RzLm9yZyI+U2xhY2s8L2E+PC9wPgoJCQkJCQk8cD48YSBocmVmPSJodHRwczovL2ZvcnVtLm9wZW5mb29kZmFjdHMub3JnLyI+Rm9ydW08L2E+PC9wPgoJCQkJCQk8cCBpZD0iZm9vdGVyX3NvY2lhbF9pY29ucyI+Rm9sbG93IHVzOiAKCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8veC5jb20vT3BlbkZvb2RGYWN0cyI+PGltZyBzcmM9Ii9pbWFnZXMvaWNvbnMvZGlzdC94LnN2ZyIgY2xhc3M9ImZvb3Rlcl9zb2NpYWxfaWNvbiIgYWx0PSJ4Ij48L2E+CgkJCQkJCQk8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vb3BlbmZvb2RmYWN0cz91dG1fc291cmNlPW9iZiZ1dGZfbWVkaXVtPXdlYiI+PGltZyBzcmM9Ii9pbWFnZXMvaWNvbnMvZGlzdC9mYWNlYm9vay5zdmciIGNsYXNzPSJmb290ZXJfc29jaWFsX2ljb24iIGFsdD0iRmFjZWJvb2siPjwvYT4KCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vb3Blbi5mb29kLmZhY3RzLyI+PGltZyBzcmM9Ii9pbWFnZXMvaWNvbnMvZGlzdC9pbnN0YWdyYW0uc3ZnIiBjbGFzcz0iZm9vdGVyX3NvY2lhbF9pY29uIiBhbHQ9Ikluc3RhZ3JhbSI+PC9hPgoJCQkJCQkJCgkJCQkJCTwvcD4KCQkJCQkJPHA+PGEgaHJlZj0iaHR0cHM6Ly9saW5rLm9wZW5mb29kZmFjdHMub3JnL25ld3NsZXR0ZXItZW4iPlN1YnNjcmliZSB0byBvdXIgbmV3c2xldHRlcjwvYT48L3A+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ic21hbGwtMTIgbGFyZ2UtNiBjb2x1bW5zIHByb2plY3Qgdi1zcGFjZS1ub3JtYWwiPgoJCQkJCQk8aDMgY2xhc3M9InRpdGxlLTUgdGV4dC1tZWRpdW0iPkRpc2NvdmVyIHRoZSBwcm9qZWN0PC9oMz4KCQkJCQkJPHVsIGNsYXNzPSJpbmxpbmUtbGlzdCB0YWdzX2xpbmtzIHYtc3BhY2UtdGlueSBoLXNwYWNlLXRpbnkiID4KCQkJCQkJCTxsaT48YSBjbGFzcz0iYnV0dG9uIHNtYWxsIHdoaXRlLWJ1dHRvbiByYWRpdXMiIGhyZWY9Ii93aG8td2UtYXJlIj5XaG8gd2UgYXJlPC9hPjwvbGk+CgkJCQkJCQk8bGk+PGEgY2xhc3M9ImJ1dHRvbiBzbWFsbCB3aGl0ZS1idXR0b24gcmFkaXVzIiBocmVmPSJodHRwczovL3dvcmxkLm9wZW5mb29kZmFjdHMub3JnL29wZW4tZm9vZC1mYWN0cy12aXNpb24tbWlzc2lvbi12YWx1ZXMtYW5kLXByb2dyYW1zIj5WaXNpb24sIE1pc3Npb24sIFZhbHVlcyBhbmQgUHJvZ3JhbXM8L2E+PC9saT4KCQkJCQkJCTxsaT48YSBjbGFzcz0iYnV0dG9uIHNtYWxsIHdoaXRlLWJ1dHRvbiByYWRpdXMiIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5vcGVuZm9vZGZhY3RzLm9yZy9oZWxwL2VuLWdiIj5GcmVxdWVudGx5IGFza2VkIHF1ZXN0aW9uczwvYT48L2xpPgoJCQkJCQkJPGxpPjxhIGNsYXNzPSJidXR0b24gc21hbGwgd2hpdGUtYnV0dG9uIHJhZGl1cyIgaHJlZj0iaHR0cHM6Ly9ibG9nLm9wZW5mb29kZmFjdHMub3JnL2VuLyI+T3BlbiBCZWF1dHkgRmFjdHMgYmxvZzwvYT48L2xpPgoJCQkJCQkJPGxpPjxhIGNsYXNzPSJidXR0b24gc21hbGwgd2hpdGUtYnV0dG9uIHJhZGl1cyIgaHJlZj0iL3ByZXNzIj5QcmVzczwvYT48L2xpPgoJCQkJCQkJPGxpPjxhIGNsYXNzPSJidXR0b24gc21hbGwgd2hpdGUtYnV0dG9uIHJhZGl1cyIgaHJlZj0iaHR0cHM6Ly93aWtpLm9wZW5mb29kZmFjdHMub3JnIj5PcGVuIEJlYXV0eSBGYWN0cyB3aWtpIChlbik8L2E+PC9saT4KCQkJCQkJCTxsaT48YSBjbGFzcz0iYnV0dG9uIHNtYWxsIHdoaXRlLWJ1dHRvbiByYWRpdXMiIGhyZWY9Ii9jZ2kvdG9wX3RyYW5zbGF0b3JzLnBsIj5UcmFuc2xhdG9yczwvYT48L2xpPgoJCQkJCQkJPGxpPjxhIGNsYXNzPSJidXR0b24gc21hbGwgd2hpdGUtYnV0dG9uIHJhZGl1cyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyczwvYT48L2xpPgoJCQkJCQkJPGxpPjxhIGNsYXNzPSJidXR0b24gc21hbGwgd2hpdGUtYnV0dG9uIHJhZGl1cyIgaHJlZj0iaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnIj5PcGVuIEJlYXV0eSBGYWN0cyAtIENvc21ldGljczwvYT48L2xpPgoJCQkJCQkJPGxpPjxhIGNsYXNzPSJidXR0b24gc21hbGwgd2hpdGUtYnV0dG9uIHJhZGl1cyIgaHJlZj0iaHR0cHM6Ly93b3JsZC5wcm8ub3BlbmJlYXV0eWZhY3RzLm9yZy8iPk9wZW4gRm9vZCBGYWN0cyBmb3IgUHJvZHVjZXJzPC9hPjwvbGk+CgkJCQkJCTwvdWw+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgoJCQk8ZGl2IGNsYXNzPSJibG9ja19vZmYgYmxvY2tfZGFyayBibG9ja19yaXN0cmV0byIgaWQ9ImZvb3Rlcl9ibG9jayI+CgoJCQkJPGRpdiBpZD0iZm9vdGVyX2Jsb2NrX2ltYWdlX2Jhbm5lcl9vdXRzaWRlIj4KCQkJCQk8ZGl2IGlkPSJmb290ZXJfYmxvY2tfaW1hZ2VfYmFubmVyX291dHNpZGUyIj4KCgkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgoJCQkJCQkJPGRpdiBjbGFzcz0ic21hbGwtMTIgdGV4dC1jZW50ZXIgdi1zcGFjZS1zaG9ydCBoLXNwYWNlLWxhcmdlIj4KCQkJCQkJCQk8YSBocmVmPSIvIiBzdHlsZT0iZm9udC1zaXplOjFyZW07Ij48aW1nIGlkPSJsb2dvIiBzcmM9Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2xvZ29zL29iZi1sb2dvLWhvcml6b250YWwtbW9uby13aGl0ZS5zdmciIGFsdD0iT3BlbiBCZWF1dHkgRmFjdHMiIHN0eWxlPSJtYXJnaW46OHB4O2hlaWdodDo0OHB4O3dpZHRoOmF1dG87Ij48L2E+CgoJCQkJCQkJCTxwPkEgY29sbGFib3JhdGl2ZSwgZnJlZSBhbmQgb3BlbiBkYXRhYmFzZSBvZiBjb3NtZXRpYyBwcm9kdWN0cyBmcm9tIGFyb3VuZCB0aGUgd29ybGQuPC9wPgoJCQkJCQkJCQoJCQkJCQkJCTx1bCBjbGFzcz0iaW5saW5lLWxpc3QgdGV4dC1jZW50ZXIgdGV4dC1zbWFsbCI+CgkJCQkJCQkJCTxsaT48YSBocmVmPSIvbGVnYWwiPkxlZ2FsPC9hPjwvbGk+CgkJCQkJCQkJCTxsaT48YSBocmVmPSIvcHJpdmFjeSI+UHJpdmFjeTwvYT48L2xpPgoJCQkJCQkJCQk8bGk+PGEgaHJlZj0iL3Rlcm1zLW9mLXVzZSI+VGVybXMgb2YgdXNlPC9hPjwvbGk+CgkJCQkJCQkJCTxsaT48YSBocmVmPSIvZGF0YSI+RGF0YSwgQVBJIGFuZCBTREtzPC9hPjwvbGk+CgkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3dvcmxkLm9wZW5mb29kZmFjdHMub3JnL2RvbmF0ZS10by1vcGVuLWZvb2QtZmFjdHMiPkRvbmF0ZSB0byBPcGVuIEZvb2QgRmFjdHM8L2E+PC9saT4KCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd29ybGQucHJvLm9wZW5mb29kZmFjdHMub3JnLyI+UHJvZHVjZXJzPC9hPjwvbGk+CgkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL2xpbmsub3BlbmZvb2RmYWN0cy5vcmcvbmV3c2xldHRlci1lbiI+U3Vic2NyaWJlIHRvIG91ciBuZXdzbGV0dGVyPC9hPjwvbGk+CgkJCQkJCQkJPC91bD4KCQkJCQkJCTwvZGl2PgoKCQkJCQkJPC9kaXY+CgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZm9vdGVyPgoJCQoKCTwvZGl2PgoKPHNjcmlwdCBzcmM9Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvanMvZGlzdC9tb2Rlcm5penIuanMiIGRhdGEtYmFzZS1sYXlvdXQ9InRydWUiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9qcy9kaXN0L2pxdWVyeS5qcyIgZGF0YS1iYXNlLWxheW91dD0idHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2pzL2Rpc3QvanF1ZXJ5LXVpLmpzIiBkYXRhLWJhc2UtbGF5b3V0PSJ0cnVlIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvanMvZGlzdC9oYy1zdGlja3kuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9qcy9kaXN0L2Rpc3BsYXkuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9qcy9kaXN0L3N0aWtlbGVtLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvanMvZGlzdC9zY3JvbGxOYXYuanMiPjwvc2NyaXB0PgogIAoKPHNjcmlwdD4KJChmdW5jdGlvbigpIHsKZGlzcGxheV91c2VyX3Byb2R1Y3RfcHJlZmVyZW5jZXMoIiNwcmVmZXJlbmNlc19zZWxlY3RlZCIsICIjcHJlZmVyZW5jZXNfc2VsZWN0aW9uX2Zvcm0iLCBmdW5jdGlvbiAoKSB7CglyYW5rX2FuZF9kaXNwbGF5X3Byb2R1Y3RzKCIjc2VhcmNoX3Jlc3VsdHMiLCBwcm9kdWN0cywgY29udHJpYnV0b3JfcHJlZnMpOwp9KTsKcmFua19hbmRfZGlzcGxheV9wcm9kdWN0cygiI3NlYXJjaF9yZXN1bHRzIiwgcHJvZHVjdHMsIGNvbnRyaWJ1dG9yX3ByZWZzKTsKCgp9KTsKPC9zY3JpcHQ+CgoKCjxzY3JpcHQgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2pzL2Rpc3QvZm91bmRhdGlvbi5qcyIgZGF0YS1iYXNlLWxheW91dD0idHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2pzL2Rpc3QvanF1ZXJ5LmNvb2tpZS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2pzL2Rpc3Qvc2VsZWN0Mi5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwYWdlX3R5cGUgPSAicHJvZHVjdHMiOwp2YXIgZGVmYXVsdF9wcmVmZXJlbmNlcyA9IHsibGFiZWxzX2ZhaXJfdHJhZGUiOiJpbXBvcnRhbnQiLCJsYWJlbHNfb3JnYW5pYyI6ImltcG9ydGFudCJ9Owp2YXIgcHJlZmVyZW5jZXNfdGV4dCA9ICJDbGFzc2lmeSB0aGUgMjkgcHJvZHVjdHMgYmVsb3cgYWNjb3JkaW5nIHRvIHlvdXIgcHJlZmVyZW5jZXMiOwp2YXIgY29udHJpYnV0b3JfcHJlZnMgPSB7ImRpc3BsYXlfYmFyY29kZSI6bnVsbCwiZWRpdF9saW5rIjpudWxsfTsKdmFyIHByb2R1Y3RzID0gWwogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiYyIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9tYXktY29udGFpbi1wYWxtLW9pbC5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjo1MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46bWF5LWNvbnRhaW4tcGFsbS1vaWwiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNYXkgY29udGFpbiBwYWxtIG9pbCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJpbmdyZWRpZW50c19hbmFseXNpcyIsCiAgICAgICAgICAgICJuYW1lIjoiSW5ncmVkaWVudHMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJPcmdhbmljIGZhcm1pbmcgYWltcyB0byBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCBhbmQgdG8gY29uc2VydmUgYmlvZGl2ZXJzaXR5IGJ5IHByb2hpYml0aW5nIG9yIGxpbWl0aW5nIHRoZSB1c2Ugb2Ygc3ludGhldGljIGZlcnRpbGl6ZXJzLCBwZXN0aWNpZGVzIGFuZCBmb29kIGFkZGl0aXZlcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJPcmdhbmljIHByb2R1Y3RzIHByb21vdGUgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LW9yZ2FuaWMuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGFuIG9yZ2FuaWMgcHJvZHVjdCIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1mYWlyLXRyYWRlLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYSBmYWlyIHRyYWRlIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzNTc0NjYxMjEzNzI5IiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzM1Ny80NjYvMTIxLzM3MjkvZnJvbnRfZnIuNS4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiSHVpbGUgbnV0cml0aXZlIHLDqXBhcmF0aW9uIHBlYXV4IGFiw65tw6llcywgZGVzc8OpY2jDqWVzICBiZXVycmUgZGUga2FyaXTDqSBhbG9lcyBldCBodWlsZSBkZSBjYXJ0aGFtZSDigJMgTGUgUGV0aXQgTWFyc2VpbGxhaXMg4oCTIDE1MMKgbWwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvMzU3NDY2MTIxMzcyOS9odWlsZS1udXRyaXRpdmUtcmVwYXJhdGlvbi1wZWF1eC1hYmltZWVzLWRlc3NlY2hlZXMtYmV1cnJlLWRlLWthcml0ZS1hbG9lcy1ldC1odWlsZS1kZS1jYXJ0aGFtZS1sZS1wZXRpdC1tYXJzZWlsbGFpcyIKICAgfSwKICAgewogICAgICAiYXR0cmlidXRlX2dyb3VwcyI6WwogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdldGFyaWFuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdldGFyaWFuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdldGFyaWFuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvcGFsbS1vaWwtY29udGVudC11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InBhbG1fb2lsX2ZyZWUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlBhbG0gb2lsIGZyZWUiLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjpwYWxtLW9pbC1jb250ZW50LXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlBhbG0gb2lsIGNvbnRlbnQgdW5rbm93biIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJpbmdyZWRpZW50c19hbmFseXNpcyIsCiAgICAgICAgICAgICJuYW1lIjoiSW5ncmVkaWVudHMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJPcmdhbmljIGZhcm1pbmcgYWltcyB0byBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCBhbmQgdG8gY29uc2VydmUgYmlvZGl2ZXJzaXR5IGJ5IHByb2hpYml0aW5nIG9yIGxpbWl0aW5nIHRoZSB1c2Ugb2Ygc3ludGhldGljIGZlcnRpbGl6ZXJzLCBwZXN0aWNpZGVzIGFuZCBmb29kIGFkZGl0aXZlcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJPcmdhbmljIHByb2R1Y3RzIHByb21vdGUgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LW9yZ2FuaWMuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGFuIG9yZ2FuaWMgcHJvZHVjdCIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1mYWlyLXRyYWRlLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYSBmYWlyIHRyYWRlIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzMjU0NTYwNzk2MDI3IiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzMyNS80NTYvMDc5LzYwMjcvZnJvbnRfZnIuNS4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiTGFpdCBjb3JwcyB1bHRyYSBub3Vycmlzc2FudCBhdSBCZXVycmUgZGUga2FyaXTDqSBldCDDoCBsJ2h1aWxlIGRlIG1hbmd1ZSDigJMgQXVjaGFuIOKAkyA0MDDCoG1sIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzMyNTQ1NjA3OTYwMjcvbGFpdC1jb3Jwcy11bHRyYS1ub3Vycmlzc2FudC1hdS1iZXVycmUtZGUta2FyaXRlLWV0LWEtbC1odWlsZS1kZS1tYW5ndWUtYXVjaGFuIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJIZWxwcyBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiYSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9mYWlyLXRyYWRlLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjoxMDAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IkZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM1NzQ2NjExODMzNDMiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzU3LzQ2Ni8xMTgvMzM0My9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJMYWl0IGRlIHZhbmlsbGUgRG91Y2hlIGV0IGJhaW4gbW91c3NhbnQgZXh0cmEgZG91eCDigJMgTGUgUGV0aXQgTWFyc2VpbGxhaXMg4oCTIDY1MMKgbWwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvMzU3NDY2MTE4MzM0My9sYWl0LWRlLXZhbmlsbGUtZG91Y2hlLWV0LWJhaW4tbW91c3NhbnQtZXh0cmEtZG91eC1sZS1wZXRpdC1tYXJzZWlsbGFpcyIKICAgfSwKICAgewogICAgICAiYXR0cmlidXRlX2dyb3VwcyI6WwogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdldGFyaWFuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdldGFyaWFuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdldGFyaWFuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvcGFsbS1vaWwtY29udGVudC11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InBhbG1fb2lsX2ZyZWUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlBhbG0gb2lsIGZyZWUiLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjpwYWxtLW9pbC1jb250ZW50LXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlBhbG0gb2lsIGNvbnRlbnQgdW5rbm93biIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJpbmdyZWRpZW50c19hbmFseXNpcyIsCiAgICAgICAgICAgICJuYW1lIjoiSW5ncmVkaWVudHMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJPcmdhbmljIGZhcm1pbmcgYWltcyB0byBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCBhbmQgdG8gY29uc2VydmUgYmlvZGl2ZXJzaXR5IGJ5IHByb2hpYml0aW5nIG9yIGxpbWl0aW5nIHRoZSB1c2Ugb2Ygc3ludGhldGljIGZlcnRpbGl6ZXJzLCBwZXN0aWNpZGVzIGFuZCBmb29kIGFkZGl0aXZlcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJPcmdhbmljIHByb2R1Y3RzIHByb21vdGUgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LW9yZ2FuaWMuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGFuIG9yZ2FuaWMgcHJvZHVjdCIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1mYWlyLXRyYWRlLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYSBmYWlyIHRyYWRlIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzMTgxNzMwMTkxMTcwIiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzMxOC8xNzMvMDE5LzExNzAvZnJvbnRfZnIuNS4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiWmVybyAwJSBHZWwgZG91Y2hlIFBlYXV4IE5vcm1hbGVzIOKAkyBTYW5leCDigJMgMjUwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zMTgxNzMwMTkxMTcwL3plcm8tMC1nZWwtZG91Y2hlLXBlYXV4LW5vcm1hbGVzLXNhbmV4IgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6Ijg3MTQ3ODk5OTgyOTkiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvODcxLzQ3OC85OTkvODI5OS9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJBdG9waURlcm0gZG91Y2hlIGNyw6htZSBwZWF1eCBzw6hjaGVzLCByw6lhY3RpdmVzIMOgIGF0b3BpcXVlcyDigJMgU2FuZXgg4oCTIDI1MMKgbUwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvODcxNDc4OTk5ODI5OS9hdG9waWRlcm0tZG91Y2hlLWNyZW1lLXBlYXV4LXNlY2hlcy1yZWFjdGl2ZXMtYS1hdG9waXF1ZXMtc2FuZXgiCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiT3JnYW5pYyBwcm9kdWN0cyBwcm9tb3RlIGVjb2xvZ2ljYWwgc3VzdGFpbmFiaWxpdHkgYW5kIGJpb2RpdmVyc2l0eS4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1vcmdhbmljLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19vcmdhbmljIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhbiBvcmdhbmljIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiV2hlbiB5b3UgYnV5IGZhaXIgdHJhZGUgcHJvZHVjdHMsIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcyBhcmUgcGFpZCBhbiBoaWdoZXIgYW5kIGZhaXJlciBwcmljZSwgd2hpY2ggaGVscHMgdGhlbSBpbXByb3ZlIGFuZCBzdXN0YWluIGhpZ2hlciBzb2NpYWwgYW5kIG9mdGVuIGVudmlyb25tZW50YWwgc3RhbmRhcmRzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6IkZhaXIgdHJhZGUgcHJvZHVjdHMgaGVscCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3QtZmFpci10cmFkZS5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfZmFpcl90cmFkZSIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJGYWlyIHRyYWRlIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGEgZmFpciB0cmFkZSBwcm9kdWN0IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImxhYmVscyIsCiAgICAgICAgICAgICJuYW1lIjoiTGFiZWxzIgogICAgICAgICB9CiAgICAgIF0sCiAgICAgICJjb2RlIjoiNDAwNTkwMDEzNjA1MyIsCiAgICAgICJpbWFnZV9mcm9udF9zbWFsbF91cmwiOiJodHRwczovL2ltYWdlcy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9wcm9kdWN0cy80MDAvNTkwLzAxMy82MDUzL2Zyb250X2ZyLjUuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6IkNyZW1lIGRvdWNoZSB2ZWxvdXTDqWUg4oCTIE5pdmVhIOKAkyAyNTDCoG1MIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzQwMDU5MDAxMzYwNTMvY3JlbWUtZG91Y2hlLXZlbG91dGVlLW5pdmVhIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM1OTY3MTAzNjk5MjgiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzU5LzY3MS8wMzYvOTkyOC9mcm9udF9mci42LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJTcHJheSBzb2xhaXJlIFdhdGVyIHJlc2lzdGFudCBVVkEgS2lkcyDigJMgQXVjaGFuIOKAkyAyMDDCoG1sIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzM1OTY3MTAzNjk5Mjgvc3ByYXktc29sYWlyZS13YXRlci1yZXNpc3RhbnQtdXZhLWtpZHMtYXVjaGFuIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM1OTY3MTAxOTU2ODgiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzU5LzY3MS8wMTkvNTY4OC9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJHb21tYWdlIGNvcnBzIMOgIGwnaHVpbGUgZGUgZnJ1aXQgZGUgbGEgcGFzc2lvbiDigJMgQXVjaGFuIOKAkyAxNTDCoG1sIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzM1OTY3MTAxOTU2ODgvZ29tbWFnZS1jb3Jwcy1hLWwtaHVpbGUtZGUtZnJ1aXQtZGUtbGEtcGFzc2lvbi1hdWNoYW4iCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiT3JnYW5pYyBwcm9kdWN0cyBwcm9tb3RlIGVjb2xvZ2ljYWwgc3VzdGFpbmFiaWxpdHkgYW5kIGJpb2RpdmVyc2l0eS4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L29yZ2FuaWMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBvcmdhbmljIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvZmFpci10cmFkZS11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJGYWlyIHRyYWRlIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBmYWlyIHRyYWRlIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImxhYmVscyIsCiAgICAgICAgICAgICJuYW1lIjoiTGFiZWxzIgogICAgICAgICB9CiAgICAgIF0sCiAgICAgICJjb2RlIjoiMzY2MDk5MjAwNTMzOCIsCiAgICAgICJpbWFnZV9mcm9udF9zbWFsbF91cmwiOiJodHRwczovL2ltYWdlcy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9wcm9kdWN0cy8zNjYvMDk5LzIwMC81MzM4L2Zyb250X2ZyLjUuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6IkdlbCBkb3VjaGUgYXUgYmV1cnJlIGRlIGthcml0w6kg4oCTIEJpZW4gdnUhIOKAkyAzMDDCoG1sIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzM2NjA5OTIwMDUzMzgvZ2VsLWRvdWNoZS1hdS1iZXVycmUtZGUta2FyaXRlLWJpZW4tdnUiCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiT3JnYW5pYyBwcm9kdWN0cyBwcm9tb3RlIGVjb2xvZ2ljYWwgc3VzdGFpbmFiaWxpdHkgYW5kIGJpb2RpdmVyc2l0eS4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1vcmdhbmljLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19vcmdhbmljIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhbiBvcmdhbmljIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiV2hlbiB5b3UgYnV5IGZhaXIgdHJhZGUgcHJvZHVjdHMsIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcyBhcmUgcGFpZCBhbiBoaWdoZXIgYW5kIGZhaXJlciBwcmljZSwgd2hpY2ggaGVscHMgdGhlbSBpbXByb3ZlIGFuZCBzdXN0YWluIGhpZ2hlciBzb2NpYWwgYW5kIG9mdGVuIGVudmlyb25tZW50YWwgc3RhbmRhcmRzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6IkZhaXIgdHJhZGUgcHJvZHVjdHMgaGVscCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3QtZmFpci10cmFkZS5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfZmFpcl90cmFkZSIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJGYWlyIHRyYWRlIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGEgZmFpciB0cmFkZSBwcm9kdWN0IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImxhYmVscyIsCiAgICAgICAgICAgICJuYW1lIjoiTGFiZWxzIgogICAgICAgICB9CiAgICAgIF0sCiAgICAgICJjb2RlIjoiMzU3NDY2MDcyNDM0OSIsCiAgICAgICJpbWFnZV9mcm9udF9zbWFsbF91cmwiOiJodHRwczovL2ltYWdlcy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9wcm9kdWN0cy8zNTcvNDY2LzA3Mi80MzQ5L2Zyb250X2ZyLjUuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6IkRvdWNoZSBldCBiYWluIGV4dHJhIGRvdXggQWxvZSBWZXJhIOKAkyBMZSBQZXRpdCBNYXJzZWlsbGFpcyDigJMgNjUwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zNTc0NjYwNzI0MzQ5L2RvdWNoZS1ldC1iYWluLWV4dHJhLWRvdXgtYWxvZS12ZXJhLWxlLXBldGl0LW1hcnNlaWxsYWlzIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjQwMDU4MDg3NTE5OTAiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvNDAwLzU4MC84NzUvMTk5MC9mcm9udF9mci42LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJMYWl0IGNvcnBzIHNvdXMgbGEgZG91Y2hlIGh5ZHJhdGFudCDigJMgTml2ZWEg4oCTIDI1MMKgbWwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvNDAwNTgwODc1MTk5MC9sYWl0LWNvcnBzLXNvdXMtbGEtZG91Y2hlLWh5ZHJhdGFudC1uaXZlYSIKICAgfSwKICAgewogICAgICAiYXR0cmlidXRlX2dyb3VwcyI6WwogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdldGFyaWFuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdldGFyaWFuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdldGFyaWFuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvcGFsbS1vaWwtY29udGVudC11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InBhbG1fb2lsX2ZyZWUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlBhbG0gb2lsIGZyZWUiLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjpwYWxtLW9pbC1jb250ZW50LXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlBhbG0gb2lsIGNvbnRlbnQgdW5rbm93biIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJpbmdyZWRpZW50c19hbmFseXNpcyIsCiAgICAgICAgICAgICJuYW1lIjoiSW5ncmVkaWVudHMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJPcmdhbmljIGZhcm1pbmcgYWltcyB0byBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCBhbmQgdG8gY29uc2VydmUgYmlvZGl2ZXJzaXR5IGJ5IHByb2hpYml0aW5nIG9yIGxpbWl0aW5nIHRoZSB1c2Ugb2Ygc3ludGhldGljIGZlcnRpbGl6ZXJzLCBwZXN0aWNpZGVzIGFuZCBmb29kIGFkZGl0aXZlcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJPcmdhbmljIHByb2R1Y3RzIHByb21vdGUgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LW9yZ2FuaWMuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGFuIG9yZ2FuaWMgcHJvZHVjdCIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1mYWlyLXRyYWRlLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYSBmYWlyIHRyYWRlIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzNTc0NjYxMTg4NzUxIiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzM1Ny80NjYvMTE4Lzg3NTEvZnJvbnRfZnIuMTMuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6IlBpbiBtYXJpdGltZSBldCBFdWNhbHlwdHVzIOKAkyBMZSBQZXRpdCBNYXJzZWlsbGFpcyDigJMgMjUwwqBtTCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zNTc0NjYxMTg4NzUxL3Bpbi1tYXJpdGltZS1ldC1ldWNhbHlwdHVzLWxlLXBldGl0LW1hcnNlaWxsYWlzIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM0NTAyNzAwMjU1NDMiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzQ1LzAyNy8wMDIvNTU0My9mcm9udF9mci43LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJSw6p2ZSBkZSBmbGV1ciBPcmNoaWTDqWUgc2F1dmFnZSDigJMgTGF1cmVuY2UgRHVtb250IOKAkyA1MMKgbWwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvMzQ1MDI3MDAyNTU0My9yZXZlLWRlLWZsZXVyLW9yY2hpZGVlLXNhdXZhZ2UtbGF1cmVuY2UtZHVtb250IgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9vcmdhbmljLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogb3JnYW5pYyBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L2ZhaXItdHJhZGUtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfZmFpcl90cmFkZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogZmFpciB0cmFkZSBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjQwMDU5MDAyMzIxMTMiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvNDAwLzU5MC8wMjMvMjExMy9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJCYXVtZSBjb3JwcyBub3Vycmlzc2FudCBiZXVycmUgZGUgY2FjYW8g4oCTIE5pdmVhIOKAkyAyMDDCoG1sIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzQwMDU5MDAyMzIxMTMvYmF1bWUtY29ycHMtbm91cnJpc3NhbnQtYmV1cnJlLWRlLWNhY2FvLW5pdmVhIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9vcmdhbmljLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogb3JnYW5pYyBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L2ZhaXItdHJhZGUtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfZmFpcl90cmFkZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogZmFpciB0cmFkZSBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM2MDA1NDE3MzQ3MjIiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzYwLzA1NC8xNzMvNDcyMi9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJMYWl0IG5vdXJyaXNzYW50IENvcnBzIE9saXZlIG15dGhpcXVlIOKAkyBMJ09yw6lhbCDigJMgMjUwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zNjAwNTQxNzM0NzIyL2xhaXQtbm91cnJpc3NhbnQtY29ycHMtb2xpdmUtbXl0aGlxdWUtbC1vcmVhbCIKICAgfSwKICAgewogICAgICAiYXR0cmlidXRlX2dyb3VwcyI6WwogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdldGFyaWFuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdldGFyaWFuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdldGFyaWFuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvcGFsbS1vaWwtY29udGVudC11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InBhbG1fb2lsX2ZyZWUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlBhbG0gb2lsIGZyZWUiLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjpwYWxtLW9pbC1jb250ZW50LXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlBhbG0gb2lsIGNvbnRlbnQgdW5rbm93biIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJpbmdyZWRpZW50c19hbmFseXNpcyIsCiAgICAgICAgICAgICJuYW1lIjoiSW5ncmVkaWVudHMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJPcmdhbmljIGZhcm1pbmcgYWltcyB0byBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCBhbmQgdG8gY29uc2VydmUgYmlvZGl2ZXJzaXR5IGJ5IHByb2hpYml0aW5nIG9yIGxpbWl0aW5nIHRoZSB1c2Ugb2Ygc3ludGhldGljIGZlcnRpbGl6ZXJzLCBwZXN0aWNpZGVzIGFuZCBmb29kIGFkZGl0aXZlcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJPcmdhbmljIHByb2R1Y3RzIHByb21vdGUgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvb3JnYW5pYy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19vcmdhbmljIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik1pc3NpbmcgaW5mb3JtYXRpb246IG9yZ2FuaWMgcHJvZHVjdD8iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiV2hlbiB5b3UgYnV5IGZhaXIgdHJhZGUgcHJvZHVjdHMsIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcyBhcmUgcGFpZCBhbiBoaWdoZXIgYW5kIGZhaXJlciBwcmljZSwgd2hpY2ggaGVscHMgdGhlbSBpbXByb3ZlIGFuZCBzdXN0YWluIGhpZ2hlciBzb2NpYWwgYW5kIG9mdGVuIGVudmlyb25tZW50YWwgc3RhbmRhcmRzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6IkZhaXIgdHJhZGUgcHJvZHVjdHMgaGVscCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9mYWlyLXRyYWRlLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik1pc3NpbmcgaW5mb3JtYXRpb246IGZhaXIgdHJhZGUgcHJvZHVjdD8iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzMzMxMzAwMDQwODM4IiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzMzMy8xMzAvMDA0LzA4MzgvZnJvbnRfZnIuNy4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiU8OpcnVtIEJsYW5jaGV1ciBOdWl0IOKAkyBFbWFpbCBEaWFtYW50IOKAkyAyMMKgbWwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvMzMzMTMwMDA0MDgzOC9zZXJ1bS1ibGFuY2hldXItbnVpdC1lbWFpbC1kaWFtYW50IgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9vcmdhbmljLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogb3JnYW5pYyBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L2ZhaXItdHJhZGUtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfZmFpcl90cmFkZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogZmFpciB0cmFkZSBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM1OTY3MTA0MDM5MzYiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzU5LzY3MS8wNDAvMzkzNi9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJIdWlsZSBzb2xhaXJlIHBlYXUgc2F0aW7DqWUgdG91Y2hlciBzZWMg4oCTIEF1Y2hhbiDigJMgMjAwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zNTk2NzEwNDAzOTM2L2h1aWxlLXNvbGFpcmUtcGVhdS1zYXRpbmVlLXRvdWNoZXItc2VjLWF1Y2hhbiIKICAgfSwKICAgewogICAgICAiYXR0cmlidXRlX2dyb3VwcyI6WwogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdldGFyaWFuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdldGFyaWFuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdldGFyaWFuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvcGFsbS1vaWwtY29udGVudC11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InBhbG1fb2lsX2ZyZWUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlBhbG0gb2lsIGZyZWUiLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjpwYWxtLW9pbC1jb250ZW50LXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlBhbG0gb2lsIGNvbnRlbnQgdW5rbm93biIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJpbmdyZWRpZW50c19hbmFseXNpcyIsCiAgICAgICAgICAgICJuYW1lIjoiSW5ncmVkaWVudHMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJPcmdhbmljIGZhcm1pbmcgYWltcyB0byBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCBhbmQgdG8gY29uc2VydmUgYmlvZGl2ZXJzaXR5IGJ5IHByb2hpYml0aW5nIG9yIGxpbWl0aW5nIHRoZSB1c2Ugb2Ygc3ludGhldGljIGZlcnRpbGl6ZXJzLCBwZXN0aWNpZGVzIGFuZCBmb29kIGFkZGl0aXZlcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJPcmdhbmljIHByb2R1Y3RzIHByb21vdGUgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LW9yZ2FuaWMuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGFuIG9yZ2FuaWMgcHJvZHVjdCIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1mYWlyLXRyYWRlLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYSBmYWlyIHRyYWRlIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzMjU2MjIzMzc5NjUzIiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzMyNS82MjIvMzM3Lzk2NTMvZnJvbnRfZnIuNS4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiTGFpdCBkZSBkb3VjaGUgaHlkcmF0YW50IGF1eCBleHRyYWl0cyBuYXR1cmVscyBkZSBjaMOodnJlZmV1aWxsZSBldCBkZSBiYW1ib3Ug4oCTIEJ5IFUg4oCTIDI1MMKgbWwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvMzI1NjIyMzM3OTY1My9sYWl0LWRlLWRvdWNoZS1oeWRyYXRhbnQtYXV4LWV4dHJhaXRzLW5hdHVyZWxzLWRlLWNoZXZyZWZldWlsbGUtZXQtZGUtYmFtYm91LWJ5LXUiCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiT3JnYW5pYyBwcm9kdWN0cyBwcm9tb3RlIGVjb2xvZ2ljYWwgc3VzdGFpbmFiaWxpdHkgYW5kIGJpb2RpdmVyc2l0eS4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L29yZ2FuaWMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBvcmdhbmljIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvZmFpci10cmFkZS11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJGYWlyIHRyYWRlIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBmYWlyIHRyYWRlIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImxhYmVscyIsCiAgICAgICAgICAgICJuYW1lIjoiTGFiZWxzIgogICAgICAgICB9CiAgICAgIF0sCiAgICAgICJjb2RlIjoiMzYwMDUyMjM4NTMzMiIsCiAgICAgICJpbWFnZV9mcm9udF9zbWFsbF91cmwiOiJodHRwczovL2ltYWdlcy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9wcm9kdWN0cy8zNjAvMDUyLzIzOC81MzMyL2Zyb250X2ZyLjYuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6IlN1YmxpbWUgQm9keSBOdXRyaXRpb24gUm95YWxlIExhaXQgZm9uZGFudCBoeWRyYXRhbnQg4oCTIEwnT3LDqWFsIOKAkyAyNTDCoG1sIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzM2MDA1MjIzODUzMzIvc3VibGltZS1ib2R5LW51dHJpdGlvbi1yb3lhbGUtbGFpdC1mb25kYW50LWh5ZHJhdGFudC1sLW9yZWFsIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM2MDA1NTAyODE4NzMiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzYwLzA1NS8wMjgvMTg3My9mcm9udF9mci4xMi4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiRG91Y2hlIGNyw6htZSBkb3VjZXVycyBkJ2VuZmFuY2UgYXUgcGFyZnVtIGRlIGwnYW50aGVudGlxdWUgbWFkZWxlaW5lIOKAkyBEb3Ag4oCTIDI1MG1MIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzM2MDA1NTAyODE4NzMvZG91Y2hlLWNyZW1lLWRvdWNldXJzLWQtZW5mYW5jZS1hdS1wYXJmdW0tZGUtbC1hbnRoZW50aXF1ZS1tYWRlbGVpbmUtZG9wIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM2MDA1NTAzNjIxNTIiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzYwLzA1NS8wMzYvMjE1Mi9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJEb3VjaGUgY3LDqG1lIGRvdWNldXIgZCdlbmZhbmNlIGF1IHBhcmZ1bSBkdSBib25ib24gY29sYSDigJMgRG9wIOKAkyAyNTDCoG1sIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzM2MDA1NTAzNjIxNTIvZG91Y2hlLWNyZW1lLWRvdWNldXItZC1lbmZhbmNlLWF1LXBhcmZ1bS1kdS1ib25ib24tY29sYS1kb3AiCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiUHJvbW90ZXMgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImEiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MTAwLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik9yZ2FuaWMgcHJvZHVjdCIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1mYWlyLXRyYWRlLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYSBmYWlyIHRyYWRlIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzMzUwMDMxOTQwNTgzIiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzMzNS8wMDMvMTk0LzA1ODMvZnJvbnRfZnIuNi4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiRMOpb2RvcmFudCBlZmZpY2FjaXTDqSAyNGgg4oCTIE1vbm9wcml4IOKAkyA1MMKgbWwiLAogICAgICAidXJsIjoiaHR0cHM6Ly93b3JsZC5vcGVuYmVhdXR5ZmFjdHMub3JnL3Byb2R1Y3QvMzM1MDAzMTk0MDU4My9kZW9kb3JhbnQtZWZmaWNhY2l0ZS0yNGgtbW9ub3ByaXgiCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiT3JnYW5pYyBwcm9kdWN0cyBwcm9tb3RlIGVjb2xvZ2ljYWwgc3VzdGFpbmFiaWxpdHkgYW5kIGJpb2RpdmVyc2l0eS4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L29yZ2FuaWMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBvcmdhbmljIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvZmFpci10cmFkZS11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJGYWlyIHRyYWRlIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBmYWlyIHRyYWRlIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImxhYmVscyIsCiAgICAgICAgICAgICJuYW1lIjoiTGFiZWxzIgogICAgICAgICB9CiAgICAgIF0sCiAgICAgICJjb2RlIjoiNTAxMTMyMTI2MDY5NiIsCiAgICAgICJpbWFnZV9mcm9udF9zbWFsbF91cmwiOiJodHRwczovL2ltYWdlcy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9wcm9kdWN0cy81MDEvMTMyLzEyNi8wNjk2L2Zyb250X2ZyLjUuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6IldoaXRld2F0ZXIg4oCTIE9sZCBTcGljZSDigJMgMjUwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC81MDExMzIxMjYwNjk2L3doaXRld2F0ZXItb2xkLXNwaWNlIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9vcmdhbmljLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX29yZ2FuaWMiLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogb3JnYW5pYyBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJXaGVuIHlvdSBidXkgZmFpciB0cmFkZSBwcm9kdWN0cywgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzIGFyZSBwYWlkIGFuIGhpZ2hlciBhbmQgZmFpcmVyIHByaWNlLCB3aGljaCBoZWxwcyB0aGVtIGltcHJvdmUgYW5kIHN1c3RhaW4gaGlnaGVyIHNvY2lhbCBhbmQgb2Z0ZW4gZW52aXJvbm1lbnRhbCBzdGFuZGFyZHMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiRmFpciB0cmFkZSBwcm9kdWN0cyBoZWxwIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcy4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L2ZhaXItdHJhZGUtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfZmFpcl90cmFkZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTWlzc2luZyBpbmZvcm1hdGlvbjogZmFpciB0cmFkZSBwcm9kdWN0PyIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM2NjA5OTIwMDUzNDUiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzY2LzA5OS8yMDAvNTM0NS9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJHZWwgZG91Y2hlIHZpdGFsaXTDqSDDoCBsJ2V4dHJhaXQgZGUgY2l0cm9uIOKAkyBCaWVuIHZ1ISDigJMgMzAwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zNjYwOTkyMDA1MzQ1L2dlbC1kb3VjaGUtdml0YWxpdGUtYS1sLWV4dHJhaXQtZGUtY2l0cm9uLWJpZW4tdnUiCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiT3JnYW5pYyBwcm9kdWN0cyBwcm9tb3RlIGVjb2xvZ2ljYWwgc3VzdGFpbmFiaWxpdHkgYW5kIGJpb2RpdmVyc2l0eS4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L29yZ2FuaWMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiT3JnYW5pYyBmYXJtaW5nIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBvcmdhbmljIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvZmFpci10cmFkZS11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19mYWlyX3RyYWRlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJGYWlyIHRyYWRlIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJNaXNzaW5nIGluZm9ybWF0aW9uOiBmYWlyIHRyYWRlIHByb2R1Y3Q/IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImxhYmVscyIsCiAgICAgICAgICAgICJuYW1lIjoiTGFiZWxzIgogICAgICAgICB9CiAgICAgIF0sCiAgICAgICJjb2RlIjoiMzYwMDUyMjA4MjY1MSIsCiAgICAgICJpbWFnZV9mcm9udF9zbWFsbF91cmwiOiJodHRwczovL2ltYWdlcy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9wcm9kdWN0cy8zNjAvMDUyLzIwOC8yNjUxL2Zyb250X2ZyLjUuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6Ik51ZGUgTWFnaXF1ZSBCQiBDcmVhbSDigJMgTCdPcsOpYWwg4oCTIDMwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zNjAwNTIyMDgyNjUxL251ZGUtbWFnaXF1ZS1iYi1jcmVhbS1sLW9yZWFsIgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjM1NzQ2NjA3MTEzMzIiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzU3LzQ2Ni8wNzEvMTMzMi9mcm9udF9mci43LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJWaXNhZ2UgJiBDb3JwcyBPbGl2ZSAmIEFtYW5kZSBkb3VjZSDigJMgTGUgUGV0aXQgTWFyc2VpbGxhaXMg4oCTIDc1wqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zNTc0NjYwNzExMzMyL3Zpc2FnZS1jb3Jwcy1vbGl2ZS1hbWFuZGUtZG91Y2UtbGUtcGV0aXQtbWFyc2VpbGxhaXMiCiAgIH0sCiAgIHsKICAgICAgImF0dHJpYnV0ZV9ncm91cHMiOlsKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2FuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2FuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvdmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdldGFyaWFuIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46dmVnZXRhcmlhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnZXRhcmlhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3BhbG0tb2lsLWNvbnRlbnQtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJwYWxtX29pbF9mcmVlIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJQYWxtIG9pbCBmcmVlIiwKICAgICAgICAgICAgICAgICAgInBhbmVsX2lkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXNfZW46cGFsbS1vaWwtY29udGVudC11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJQYWxtIG9pbCBjb250ZW50IHVua25vd24iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoiaW5ncmVkaWVudHNfYW5hbHlzaXMiLAogICAgICAgICAgICAibmFtZSI6IkluZ3JlZGllbnRzIgogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiT3JnYW5pYyBmYXJtaW5nIGFpbXMgdG8gcHJvdGVjdCB0aGUgZW52aXJvbm1lbnQgYW5kIHRvIGNvbnNlcnZlIGJpb2RpdmVyc2l0eSBieSBwcm9oaWJpdGluZyBvciBsaW1pdGluZyB0aGUgdXNlIG9mIHN5bnRoZXRpYyBmZXJ0aWxpemVycywgcGVzdGljaWRlcyBhbmQgZm9vZCBhZGRpdGl2ZXMuIiwKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uX3Nob3J0IjoiT3JnYW5pYyBwcm9kdWN0cyBwcm9tb3RlIGVjb2xvZ2ljYWwgc3VzdGFpbmFiaWxpdHkgYW5kIGJpb2RpdmVyc2l0eS4iLAogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJlIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L25vdC1vcmdhbmljLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19vcmdhbmljIiwKICAgICAgICAgICAgICAgICAgIm1hdGNoIjowLAogICAgICAgICAgICAgICAgICAibmFtZSI6Ik9yZ2FuaWMgZmFybWluZyIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhbiBvcmdhbmljIHByb2R1Y3QiCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiV2hlbiB5b3UgYnV5IGZhaXIgdHJhZGUgcHJvZHVjdHMsIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcyBhcmUgcGFpZCBhbiBoaWdoZXIgYW5kIGZhaXJlciBwcmljZSwgd2hpY2ggaGVscHMgdGhlbSBpbXByb3ZlIGFuZCBzdXN0YWluIGhpZ2hlciBzb2NpYWwgYW5kIG9mdGVuIGVudmlyb25tZW50YWwgc3RhbmRhcmRzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6IkZhaXIgdHJhZGUgcHJvZHVjdHMgaGVscCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3QtZmFpci10cmFkZS5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfZmFpcl90cmFkZSIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJGYWlyIHRyYWRlIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6Imtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiTm90IGEgZmFpciB0cmFkZSBwcm9kdWN0IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImxhYmVscyIsCiAgICAgICAgICAgICJuYW1lIjoiTGFiZWxzIgogICAgICAgICB9CiAgICAgIF0sCiAgICAgICJjb2RlIjoiMzI1NjIyMzM3OTU4NSIsCiAgICAgICJpbWFnZV9mcm9udF9zbWFsbF91cmwiOiJodHRwczovL2ltYWdlcy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9wcm9kdWN0cy8zMjUvNjIyLzMzNy85NTg1L2Zyb250X2ZyLjUuMjAwLmpwZyIsCiAgICAgICJwcm9kdWN0X2Rpc3BsYXlfbmFtZSI6IkhvbW1lIGdlbCBkb3VjaGUgc3BvcnQg4oCTIFUg4oCTIDI1MG1MIiwKICAgICAgInVybCI6Imh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9wcm9kdWN0LzMyNTYyMjMzNzk1ODUvaG9tbWUtZ2VsLWRvdWNoZS1zcG9ydC11IgogICB9LAogICB7CiAgICAgICJhdHRyaWJ1dGVfZ3JvdXBzIjpbCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2FuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2FuIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJWZWdhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2FuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdhbiBzdGF0dXMgdW5rbm93biIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZ3JhZGUiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgImljb25fdXJsIjoiaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvYXR0cmlidXRlcy9kaXN0L3ZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoidmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnZXRhcmlhbiIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnZlZ2V0YXJpYW4tc3RhdHVzLXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlZlZ2V0YXJpYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9wYWxtLW9pbC1jb250ZW50LXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoicGFsbV9vaWxfZnJlZSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiUGFsbSBvaWwgZnJlZSIsCiAgICAgICAgICAgICAgICAgICJwYW5lbF9pZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzX2VuOnBhbG0tb2lsLWNvbnRlbnQtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiUGFsbSBvaWwgY29udGVudCB1bmtub3duIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJpZCI6ImluZ3JlZGllbnRzX2FuYWx5c2lzIiwKICAgICAgICAgICAgIm5hbWUiOiJJbmdyZWRpZW50cyIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAiYXR0cmlidXRlcyI6WwogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6Ik9yZ2FuaWMgZmFybWluZyBhaW1zIHRvIHByb3RlY3QgdGhlIGVudmlyb25tZW50IGFuZCB0byBjb25zZXJ2ZSBiaW9kaXZlcnNpdHkgYnkgcHJvaGliaXRpbmcgb3IgbGltaXRpbmcgdGhlIHVzZSBvZiBzeW50aGV0aWMgZmVydGlsaXplcnMsIHBlc3RpY2lkZXMgYW5kIGZvb2QgYWRkaXRpdmVzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6Ik9yZ2FuaWMgcHJvZHVjdHMgcHJvbW90ZSBlY29sb2dpY2FsIHN1c3RhaW5hYmlsaXR5IGFuZCBiaW9kaXZlcnNpdHkuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoiZSIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9ub3Qtb3JnYW5pYy5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJsYWJlbHNfb3JnYW5pYyIsCiAgICAgICAgICAgICAgICAgICJtYXRjaCI6MCwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoia25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJOb3QgYW4gb3JnYW5pYyBwcm9kdWN0IgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IldoZW4geW91IGJ1eSBmYWlyIHRyYWRlIHByb2R1Y3RzLCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMgYXJlIHBhaWQgYW4gaGlnaGVyIGFuZCBmYWlyZXIgcHJpY2UsIHdoaWNoIGhlbHBzIHRoZW0gaW1wcm92ZSBhbmQgc3VzdGFpbiBoaWdoZXIgc29jaWFsIGFuZCBvZnRlbiBlbnZpcm9ubWVudGFsIHN0YW5kYXJkcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJGYWlyIHRyYWRlIHByb2R1Y3RzIGhlbHAgcHJvZHVjZXJzIGluIGRldmVsb3BpbmcgY291bnRyaWVzLiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6ImUiLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvbm90LWZhaXItdHJhZGUuc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibWF0Y2giOjAsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiRmFpciB0cmFkZSIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJrbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik5vdCBhIGZhaXIgdHJhZGUgcHJvZHVjdCIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJsYWJlbHMiLAogICAgICAgICAgICAibmFtZSI6IkxhYmVscyIKICAgICAgICAgfQogICAgICBdLAogICAgICAiY29kZSI6IjMyNTYyMjMzNzk1OTIiLAogICAgICAiaW1hZ2VfZnJvbnRfc21hbGxfdXJsIjoiaHR0cHM6Ly9pbWFnZXMub3BlbmJlYXV0eWZhY3RzLm9yZy9pbWFnZXMvcHJvZHVjdHMvMzI1LzYyMi8zMzcvOTU5Mi9mcm9udF9mci41LjIwMC5qcGciLAogICAgICAicHJvZHVjdF9kaXNwbGF5X25hbWUiOiJIb21tZSBnZWwgZG91Y2hlIGTDqXRlbnRlIHBhcmZ1bSBtZW50aGUgZXQgY8OoZHJlIHZhbmlsbMOpIOKAkyBVIOKAkyAyNTBtTCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zMjU2MjIzMzc5NTkyL2hvbW1lLWdlbC1kb3VjaGUtZGV0ZW50ZS1wYXJmdW0tbWVudGhlLWV0LWNlZHJlLXZhbmlsbGUtdSIKICAgfSwKICAgewogICAgICAiYXR0cmlidXRlX2dyb3VwcyI6WwogICAgICAgICB7CiAgICAgICAgICAgICJhdHRyaWJ1dGVzIjpbCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdhbi1zdGF0dXMtdW5rbm93bi5zdmciLAogICAgICAgICAgICAgICAgICAiaWQiOiJ2ZWdhbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIjoiVmVnYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdhbi1zdGF0dXMtdW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgInRpdGxlIjoiVmVnYW4gc3RhdHVzIHVua25vd24iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC92ZWdldGFyaWFuLXN0YXR1cy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlZlZ2V0YXJpYW4iLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjp2ZWdldGFyaWFuLXN0YXR1cy11bmtub3duIiwKICAgICAgICAgICAgICAgICAgInN0YXR1cyI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAidGl0bGUiOiJWZWdldGFyaWFuIHN0YXR1cyB1bmtub3duIgogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3QvcGFsbS1vaWwtY29udGVudC11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6InBhbG1fb2lsX2ZyZWUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IlBhbG0gb2lsIGZyZWUiLAogICAgICAgICAgICAgICAgICAicGFuZWxfaWQiOiJpbmdyZWRpZW50c19hbmFseXNpc19lbjpwYWxtLW9pbC1jb250ZW50LXVua25vd24iLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IlBhbG0gb2lsIGNvbnRlbnQgdW5rbm93biIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiaWQiOiJpbmdyZWRpZW50c19hbmFseXNpcyIsCiAgICAgICAgICAgICJuYW1lIjoiSW5ncmVkaWVudHMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOlsKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJPcmdhbmljIGZhcm1pbmcgYWltcyB0byBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCBhbmQgdG8gY29uc2VydmUgYmlvZGl2ZXJzaXR5IGJ5IHByb2hpYml0aW5nIG9yIGxpbWl0aW5nIHRoZSB1c2Ugb2Ygc3ludGhldGljIGZlcnRpbGl6ZXJzLCBwZXN0aWNpZGVzIGFuZCBmb29kIGFkZGl0aXZlcy4iLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fc2hvcnQiOiJPcmdhbmljIHByb2R1Y3RzIHByb21vdGUgZWNvbG9naWNhbCBzdXN0YWluYWJpbGl0eSBhbmQgYmlvZGl2ZXJzaXR5LiIsCiAgICAgICAgICAgICAgICAgICJncmFkZSI6InVua25vd24iLAogICAgICAgICAgICAgICAgICAiaWNvbl91cmwiOiJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9hdHRyaWJ1dGVzL2Rpc3Qvb3JnYW5pYy11bmtub3duLnN2ZyIsCiAgICAgICAgICAgICAgICAgICJpZCI6ImxhYmVsc19vcmdhbmljIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiOiJPcmdhbmljIGZhcm1pbmciLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik1pc3NpbmcgaW5mb3JtYXRpb246IG9yZ2FuaWMgcHJvZHVjdD8iCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjoiV2hlbiB5b3UgYnV5IGZhaXIgdHJhZGUgcHJvZHVjdHMsIHByb2R1Y2VycyBpbiBkZXZlbG9waW5nIGNvdW50cmllcyBhcmUgcGFpZCBhbiBoaWdoZXIgYW5kIGZhaXJlciBwcmljZSwgd2hpY2ggaGVscHMgdGhlbSBpbXByb3ZlIGFuZCBzdXN0YWluIGhpZ2hlciBzb2NpYWwgYW5kIG9mdGVuIGVudmlyb25tZW50YWwgc3RhbmRhcmRzLiIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9zaG9ydCI6IkZhaXIgdHJhZGUgcHJvZHVjdHMgaGVscCBwcm9kdWNlcnMgaW4gZGV2ZWxvcGluZyBjb3VudHJpZXMuIiwKICAgICAgICAgICAgICAgICAgImdyYWRlIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJpY29uX3VybCI6Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL2F0dHJpYnV0ZXMvZGlzdC9mYWlyLXRyYWRlLXVua25vd24uc3ZnIiwKICAgICAgICAgICAgICAgICAgImlkIjoibGFiZWxzX2ZhaXJfdHJhZGUiLAogICAgICAgICAgICAgICAgICAibmFtZSI6IkZhaXIgdHJhZGUiLAogICAgICAgICAgICAgICAgICAic3RhdHVzIjoidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICJ0aXRsZSI6Ik1pc3NpbmcgaW5mb3JtYXRpb246IGZhaXIgdHJhZGUgcHJvZHVjdD8iCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImlkIjoibGFiZWxzIiwKICAgICAgICAgICAgIm5hbWUiOiJMYWJlbHMiCiAgICAgICAgIH0KICAgICAgXSwKICAgICAgImNvZGUiOiIzMjU2MjI0MzU5MjY1IiwKICAgICAgImltYWdlX2Zyb250X3NtYWxsX3VybCI6Imh0dHBzOi8vaW1hZ2VzLm9wZW5iZWF1dHlmYWN0cy5vcmcvaW1hZ2VzL3Byb2R1Y3RzLzMyNS82MjIvNDM1LzkyNjUvZnJvbnRfZnIuNi4yMDAuanBnIiwKICAgICAgInByb2R1Y3RfZGlzcGxheV9uYW1lIjoiTGFpdCBjb3JwcyByw6lwYXJhdGV1ciDigJMgVSDigJMgMjUwwqBtbCIsCiAgICAgICJ1cmwiOiJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmcvcHJvZHVjdC8zMjU2MjI0MzU5MjY1L2xhaXQtY29ycHMtcmVwYXJhdGV1ci11IgogICB9Cl0KOwp2YXIgcHJvZHVjdF90eXBlID0gImJlYXV0eSI7Cjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9zdGF0aWMub3BlbmJlYXV0eWZhY3RzLm9yZy9qcy9wcm9kdWN0LXByZWZlcmVuY2VzLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vc3RhdGljLm9wZW5iZWF1dHlmYWN0cy5vcmcvanMvcHJvZHVjdC1zZWFyY2guanMiPjwvc2NyaXB0PgoKPHNjcmlwdD4KJChkb2N1bWVudCkuZm91bmRhdGlvbih7CgllcXVhbGl6ZXIgOiB7CgkJZXF1YWxpemVfb25fc3RhY2s6IHRydWUKCX0sCglhY2NvcmRpb246IHsKCQljYWxsYmFjayA6IGZ1bmN0aW9uIChhY2NvcmRpb24pIHsKCQkJJChkb2N1bWVudCkuZm91bmRhdGlvbignZXF1YWxpemVyJywgJ3JlZmxvdycpOwoJCX0KCX0KfSk7Cgo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KewoJIkBjb250ZXh0IiA6ICJodHRwczovL3NjaGVtYS5vcmciLAoJIkB0eXBlIiA6ICJXZWJTaXRlIiwKCSJuYW1lIiA6ICJPcGVuIEJlYXV0eSBGYWN0cyIsCgkidXJsIiA6ICJodHRwczovL3dvcmxkLm9wZW5iZWF1dHlmYWN0cy5vcmciLAoJInBvdGVudGlhbEFjdGlvbiI6IHsKCQkiQHR5cGUiOiAiU2VhcmNoQWN0aW9uIiwKCQkidGFyZ2V0IjogImh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZy9jZ2kvc2VhcmNoLnBsP3NlYXJjaF90ZXJtcz0/e3NlYXJjaF90ZXJtX3N0cmluZ30iLAoJCSJxdWVyeS1pbnB1dCI6ICJyZXF1aXJlZCBuYW1lPXNlYXJjaF90ZXJtX3N0cmluZyIKCX0KfQo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KewoJIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZy8iLAoJIkB0eXBlIjogIk9yZ2FuaXphdGlvbiIsCgkidXJsIjogImh0dHBzOi8vd29ybGQub3BlbmJlYXV0eWZhY3RzLm9yZyIsCgkibG9nbyI6ICJodHRwczovL3N0YXRpYy5vcGVuYmVhdXR5ZmFjdHMub3JnL2ltYWdlcy9sb2dvcy9vYmYtbG9nby12ZXJ0aWNhbC1saWdodC5zdmciLAoJIm5hbWUiOiAiT3BlbiBCZWF1dHkgRmFjdHMiLAoJInNhbWVBcyIgOiBbImh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9vcGVuZm9vZGZhY3RzP3V0bV9zb3VyY2U9b2JmJnV0Zl9tZWRpdW09d2ViIiwgImh0dHBzOi8veC5jb20vT3BlbkZvb2RGYWN0cyJdCn0KPC9zY3JpcHQ+CgoKCgoKPC9ib2R5Pgo8L2h0bWw+Cgo8IS0tIGRhdGFfZGVidWc6IGRhdGFfZGVidWcgc3RhcnQKcGxhdGZvcm06IHB1YmxpYwpjYW5fdXNlX2NhY2hlOiAxCmNhY2hlX2hpdAotLT4KCjwhLS0gZW5kIHRlbXBsYXRlcy93ZWIvY29tbW9uL3NpdGVfbGF5b3V0LnR0Lmh0bWwgLS0+Cg==
|
|
98
|
+
recorded_at: Mon, 29 Sep 2025 14:07:24 GMT
|
|
99
|
+
recorded_with: VCR 6.3.1
|