relaton 1.12.2 → 1.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +1 -19
  3. data/docs/README.adoc +18 -3
  4. data/lib/relaton/config.rb +2 -1
  5. data/lib/relaton/db.rb +72 -32
  6. data/lib/relaton/db_cache.rb +33 -72
  7. data/lib/relaton/version.rb +1 -1
  8. data/lib/relaton.rb +1 -0
  9. data/spec/relaton/db_cache_spec.rb +2 -2
  10. data/spec/relaton/registry_spec.rb +1 -1
  11. data/spec/relaton_spec.rb +38 -1
  12. data/spec/spec_helper.rb +4 -0
  13. data/spec/vcr_cassetes/3gpp_tr_00_01u_umts_3_0_0.yml +17 -16
  14. data/spec/vcr_cassetes/api_relaton_org.yml +56 -0
  15. data/spec/vcr_cassetes/api_relaton_org_unavailable.yml +194 -0
  16. data/spec/vcr_cassetes/async_fetch.yml +1278 -1278
  17. data/spec/vcr_cassetes/bipm_i18n_async_fetch.yml +85 -83
  18. data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +17 -13
  19. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +14 -12
  20. data/spec/vcr_cassetes/cie_001_1980.yml +9 -10
  21. data/spec/vcr_cassetes/ecma_6.yml +10 -10
  22. data/spec/vcr_cassetes/en_10160_1999.yml +29 -29
  23. data/spec/vcr_cassetes/fisp_140.yml +6 -6
  24. data/spec/vcr_cassetes/gb_t_20223_2006.yml +79 -9
  25. data/spec/vcr_cassetes/iana_service_names_port_numbers.yml +11 -11
  26. data/spec/vcr_cassetes/iec_60050_102_2007.yml +23 -23
  27. data/spec/vcr_cassetes/iec_combined_included.yml +87 -87
  28. data/spec/vcr_cassetes/ieee_528_2019.yml +44 -2202
  29. data/spec/vcr_cassetes/iho_b_11.yml +10 -10
  30. data/spec/vcr_cassetes/iso_111111119115_1.yml +4 -4
  31. data/spec/vcr_cassetes/iso_19115_1.yml +15 -15
  32. data/spec/vcr_cassetes/iso_19115_1_2.yml +33 -33
  33. data/spec/vcr_cassetes/iso_19115_all_parts.yml +17 -17
  34. data/spec/vcr_cassetes/iso_19133_2005.yml +15 -15
  35. data/spec/vcr_cassetes/iso_combined_applied.yml +31 -31
  36. data/spec/vcr_cassetes/iso_combined_included.yml +30 -30
  37. data/spec/vcr_cassetes/iso_dis_14093.yml +16 -16
  38. data/spec/vcr_cassetes/itu_combined_included.yml +169 -169
  39. data/spec/vcr_cassetes/oasis_amqp_core_types_v1_0_pt1.yml +10 -10
  40. data/spec/vcr_cassetes/ogc_19_025r1.yml +7 -7
  41. data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +4 -4
  42. data/spec/vcr_cassetes/rfc_8341.yml +11 -11
  43. data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
  44. data/spec/vcr_cassetes/threads_from_env.yml +59 -59
  45. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +29 -31
  46. data/spec/vcr_cassetes/w3c_json_ld11.yml +20 -20
  47. metadata +4 -2
@@ -28,15 +28,15 @@ http_interactions:
28
28
  Server:
29
29
  - Lotus-Domino
30
30
  Date:
31
- - Thu, 30 Jun 2022 17:16:40 GMT
31
+ - Tue, 02 Aug 2022 15:03:24 GMT
32
32
  X-Cache:
33
33
  - Miss from cloudfront
34
34
  Via:
35
- - 1.1 95508d0aed3588037de00c6e5e9d2eba.cloudfront.net (CloudFront)
35
+ - 1.1 f2cdfa9ac532d95b891a67e5bd6bab30.cloudfront.net (CloudFront)
36
36
  X-Amz-Cf-Pop:
37
37
  - BUD50-C1
38
38
  X-Amz-Cf-Id:
39
- - 6dgmdhGysH8vfDaRaM_JD94EVgYitMYpETVECOPKWaQjZzG8OSvdhw==
39
+ - B6eRiicvzgjxLCYd209UU0I_e7hrkl5SU0hNEwCnXVaFKQb6T3aiTA==
40
40
  body:
41
41
  encoding: ASCII-8BIT
42
42
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -67,7 +67,7 @@ http_interactions:
67
67
  Vocabulary (IEV) - Part 102: Mathematics - General concepts and linear algebra</li>\r\n\n</ul>\r\n\n</li>\r\n\n</ul>\n<div
68
68
  class=\"pagination pagination-centered\">\n\t\t\t\t<ul><li class=\"active\"><a
69
69
  href=\"#\" Title=\"Current page\">1</a></li></ul>\n\t\t </div>\n</body>\n</html>\n"
70
- recorded_at: Thu, 30 Jun 2022 17:16:40 GMT
70
+ recorded_at: Tue, 02 Aug 2022 15:03:23 GMT
71
71
  - request:
72
72
  method: get
73
73
  uri: https://webstore.iec.ch/searchkey&type=trf&RefNbr=IEC%2060050-102&From=2007-01-01&To=2007-12-31&start=1
@@ -96,15 +96,15 @@ http_interactions:
96
96
  Server:
97
97
  - Lotus-Domino
98
98
  Date:
99
- - Thu, 30 Jun 2022 17:16:41 GMT
99
+ - Tue, 02 Aug 2022 15:03:24 GMT
100
100
  X-Cache:
101
101
  - Miss from cloudfront
102
102
  Via:
103
- - 1.1 61c35238bc750b646bd101c97da70922.cloudfront.net (CloudFront)
103
+ - 1.1 40b77149d6ba01da8c2f52c235bceed0.cloudfront.net (CloudFront)
104
104
  X-Amz-Cf-Pop:
105
105
  - BUD50-C1
106
106
  X-Amz-Cf-Id:
107
- - 0FOCp_AshvVYb9LfVyurjbM_xvDltHBiRu9tupZL66UBhYEQNZwZMw==
107
+ - 2nQkAERpfmoHVTCfzTcZevnE7QSeeKGEf7U5XWDakboqF80z6DMR3w==
108
108
  body:
109
109
  encoding: ASCII-8BIT
110
110
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -122,7 +122,7 @@ http_interactions:
122
122
  wordsOnly: !match });\n\t\t\t\t$(\"#trf.search-results\").highlight(word,{
123
123
  wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
124
124
  id=\"nbrestrf\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
125
- recorded_at: Thu, 30 Jun 2022 17:16:40 GMT
125
+ recorded_at: Tue, 02 Aug 2022 15:03:24 GMT
126
126
  - request:
127
127
  method: get
128
128
  uri: https://webstore.iec.ch/searchkey&type=wr&RefNbr=IEC%2060050-102&From=2007-01-01&To=2007-12-31&start=1
@@ -151,15 +151,15 @@ http_interactions:
151
151
  Server:
152
152
  - Lotus-Domino
153
153
  Date:
154
- - Thu, 30 Jun 2022 17:16:41 GMT
154
+ - Tue, 02 Aug 2022 15:03:25 GMT
155
155
  X-Cache:
156
156
  - Miss from cloudfront
157
157
  Via:
158
- - 1.1 9d20586df7150a47ce50554b50d8f500.cloudfront.net (CloudFront)
158
+ - 1.1 e6c01b53bf2aaa4769dfc1f3537efc04.cloudfront.net (CloudFront)
159
159
  X-Amz-Cf-Pop:
160
160
  - BUD50-C1
161
161
  X-Amz-Cf-Id:
162
- - n8s9YYiPL1NO6Op18dEP68BTQ8nDMG0Hmvjo7FgY_e5aFVeSJpRSSg==
162
+ - 3gNvUUEVNb09kw2TtFXCDTUjdsxV-Vgsdix3EHjwWut2KAaNPasbXQ==
163
163
  body:
164
164
  encoding: ASCII-8BIT
165
165
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -177,7 +177,7 @@ http_interactions:
177
177
  wordsOnly: !match });\n\t\t\t\t$(\"#trf.search-results\").highlight(word,{
178
178
  wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
179
179
  id=\"nbreswr\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
180
- recorded_at: Thu, 30 Jun 2022 17:16:41 GMT
180
+ recorded_at: Tue, 02 Aug 2022 15:03:25 GMT
181
181
  - request:
182
182
  method: get
183
183
  uri: https://webstore.iec.ch/publication/160
@@ -201,30 +201,30 @@ http_interactions:
201
201
  Content-Type:
202
202
  - text/html;charset=UTF-8
203
203
  Content-Length:
204
- - '6973'
204
+ - '6971'
205
205
  Connection:
206
206
  - keep-alive
207
207
  Server:
208
208
  - Lotus-Domino
209
209
  Date:
210
- - Thu, 30 Jun 2022 17:16:42 GMT
210
+ - Tue, 02 Aug 2022 15:03:26 GMT
211
211
  Set-Cookie:
212
- - SessionID=GB7VUOJ1RJ; path=/
212
+ - SessionID=GC8602QKZS; path=/
213
213
  Expires:
214
214
  - "-1"
215
215
  X-Cache:
216
216
  - Miss from cloudfront
217
217
  Via:
218
- - 1.1 384ab54f8262fdb1520bb443b42f25e2.cloudfront.net (CloudFront)
218
+ - 1.1 7d96f66bed58c00decdf9696146921d8.cloudfront.net (CloudFront)
219
219
  X-Amz-Cf-Pop:
220
220
  - BUD50-C1
221
221
  X-Amz-Cf-Id:
222
- - zulDEgNNmU4TYkUeZpaI3O9YgqZnkBS11BpCC5Wu7OEyygL2QNrwFg==
222
+ - 13krmvQZtcNQiQip496J7n3-kI4vZ_s2hjdaRboPorwBnLhqlXTbcg==
223
223
  body:
224
224
  encoding: ASCII-8BIT
225
225
  string: !binary |-
226
- PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUdCN1ZVT0oxUkoiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFnYjd2dW9qMWU3ISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIHZhbHVlPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIj48L2Zvcm0+CjxwPjxhIGhyZWY9Ii9hZHZzZWFyY2hmb3JtIj5BZHZhbmNlZCBzZWFyY2g8L2E+PC9wPjwvZGl2PjwvZGl2PjwvaGVhZGVyPjxuYXYgaWQ9Im5hdmlnYXRpb24tdG9nZ2xlIiByb2xlPSJuYXZpZ2F0aW9uIj48dWw+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua0hvbWUiIGhyZWY9Ii9ob21lIiBjbGFzcz0icHVibGljYXRpb24iIHRhcmdldD0iX3NlbGYiPkhvbWU8L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rU2lnbkluIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJ4c3BMaW5rIiB0eXBlPSJ0ZXh0L2h0bWwiPlNpZ24gaW48L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rSGVscCIgaHJlZj0iL2hlbHAiIGNsYXNzPSJwdWJsaWNhdGlvbiI+SGVscDwvYT48L2xpPjxsaT48YSBpZD0idmlldzpfaWQzOmxpbmtCYXNrZXQiIGhyZWY9ImphdmFzY3JpcHQ6b3BlbkJhc2tldCgnQW5vbnltb3VzJyk7IiBjbGFzcz0icHVibGljYXRpb24iPkNhcnQgPHNwYW4gY2xhc3M9Im5iLWl0ZW1zIG5iLWl0ZW1zLWJ1eSI+PC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ibGlua2FkdnNlYXJjaCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMzpsaW5rYWR2c2VhcmNoIiBocmVmPSIvYWR2c2VhcmNoZm9ybSIgY2xhc3M9InB1YmxpY2F0aW9uIj5BZHZhbmNlZCBTZWFyY2g8L2E+PC9saT48L3VsPjwvbmF2PjxkaXYgY2xhc3M9ImNvbnRhaW5lciIgcm9sZT0ibWFpbiI+PGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtLWJsb2NrIGFsZXJ0LXN1Y2Nlc3MgYWxlcnQtZGlzbWlzc2FibGUiIGlkPSJtZXNzYWdlYmFza2V0IiBzdHlsZT0iZGlzcGxheTpub25lIj48YnV0dG9uIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0iYWxlcnQiIHR5cGU9ImJ1dHRvbiI+JnRpbWVzOzwvYnV0dG9uPjxwIGNsYXNzPSJzZWNvbmRhcnkiPjxzcGFuPjwvc3Bhbj48L3A+PC9kaXY+PHNlY3Rpb24gY2xhc3M9ImFydGljbGUiIGl0ZW1zY29wZT0iICIgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL1Byb2R1Y3QiPjxkaXYgY2xhc3M9ImwtbWFpbiI+PHNwYW4gaXRlbXByb3A9ImJyYW5kIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9Pcmdhbml6YXRpb24iPjxtZXRhIGNvbnRlbnQ9IklFQyIgaXRlbXByb3A9Im5hbWUiPjwvc3Bhbj48aDEgY2xhc3M9InJlZmVyZW5jZSI+PHNwYW4gaWQ9InZpZXc6ZE9DVU1FTlROQU1FMSIgaXRlbXByb3A9InByb2R1Y3RJRCI+SUVDIDYwMDUwLTEwMjoyMDA3PC9zcGFuPiZuYnNwOzxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ5IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2gxPjxoMiBpZD0idmlldzpFbmdsaXNoX1RpdGxlIiBjbGFzcz0idGl0bGUiIGl0ZW1wcm9wPSJuYW1lIj5JbnRlcm5hdGlvbmFsIEVsZWN0cm90ZWNobmljYWwgVm9jYWJ1bGFyeSAoSUVWKSAtIFBhcnQgMTAyOiBNYXRoZW1hdGljcyAtIEdlbmVyYWwgY29uY2VwdHMgYW5kIGxpbmVhciBhbGdlYnJhPC9oMj48dWwgY2xhc3M9Im1ldGEgaW5saW5lIHNlcGFyYXRlZCI+PGxpPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ4IiB0aXRsZT0iVGVybWlub2xvZ3kiPlRDIDE8L3NwYW4+PC9saT48bGkgY2xhc3M9InByZXZpZXciPjxhIGhyZWY9IiNhZGRpdGlvbmFsaW5mbyI+Jm5ic3A7QWRkaXRpb25hbCBpbmZvcm1hdGlvbjwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0ibC1ib3ggaXMtYWx3YXlzLXZpc2libGUiPjxkaXYgY2xhc3M9InRhYmJhYmxlIGJ1eWJveCI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiIGlkPSJidXlib3hiIj48bGkgaWQ9InZpZXc6X2lkNzU6X2lkNzg6cmVwZWF0MTowOmNvbXB1dGVkRmllbGQyIiBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIucGFuZUUiIGRhdGEtdG9nZ2xlPSJ0YWIiPiBEb3dubG9hZDwvYT48L2xpPjxsaSBpZD0idmlldzpfaWQ3NTpfaWQ3ODpyZXBlYXQxOjE6Y29tcHV0ZWRGaWVsZDIiPjxhIGhyZWY9Ii5wYW5lUCIgZGF0YS10b2dnbGU9InRhYiI+IEhhcmRjb3B5PC9hPjwvbGk+PC91bD48ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6Y29tcHV0ZWRGaWVsZDEiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxkaXYgY2xhc3M9InRhYi1wYW5lIGZhZGUgYWN0aXZlIGluIHBhbmVFIj4KPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmNvbXB1dGVkRmllbGQyIiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48Zm9ybSBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9IkUiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgo8ZmllbGRzZXQgY2xhc3M9InBhcmFtZXRlcnMiPjxkaXYgY2xhc3M9ImJveC1wYW5lIHNlZ21lbnQgc3R5bGVkLXNlbGVjdCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ0IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48ZGl2IGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Mjpjb21wdXRlZEZpZWxkNSIgc3R5bGU9Im1hcmdpbi10b3A6NHB4IiBjbGFzcz0ibGFuZ3N3aXRjaGxhYmVsIj5FbmdsaXNoL0ZyZW5jaDwvZGl2PjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmxpc3RCb3gxIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjpsaXN0Qm94MSIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgk8b3B0aW9uIHZhbHVlPSIxNjBFTi1GUiI+MTYwRU4tRlI8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzIwIiBpdGVtcHJvcD0icHJpY2UiPjMyMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2xhYmVsPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9zY2hlbWEub3JnL0luU3RvY2siIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSI+CjxidXR0b24gY2xhc3M9ImJ0biBidG4tY29tbWl0IiB0eXBlPSJzdWJtaXQiPkFkZCB0byBjYXJ0PC9idXR0b24+PC9kaXY+CjwvZmllbGRzZXQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZ2I3dnVvajFlNyEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIj48L2Zvcm0+CjxwIGNsYXNzPSJzZWNvbmRhcnkgYm94LW9wdCI+CjxhIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/T3BlbiZhbXA7aWQ9R0ZPVC03TlBQOEgiIGNsYXNzPSJ4c3BMaW5rIj5EbyB5b3UgbmVlZCBhIG11bHRpLXVzZXIgY29weT88L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSAgcGFuZVAiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYwJmFtcDt0ZXN0IiBjbGFzcz0iUCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxkaXYgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQ1IiBzdHlsZT0ibWFyZ2luLXRvcDo0cHgiIGNsYXNzPSJsYW5nc3dpdGNobGFiZWwiPkVuZ2xpc2gvRnJlbmNoPC9kaXY+PHNlbGVjdCBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6bGlzdEJveDEiIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmxpc3RCb3gxIiBjbGFzcz0ibGFuZ3N3aXRjaCIgc2l6ZT0iMSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CTxvcHRpb24gdmFsdWU9IjE2MEVOLUZSIj4xNjBFTi1GUjwvb3B0aW9uPgo8L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50Ij48c3BhbiBpdGVtcHJvcD0ib2ZmZXJzIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9PZmZlciI+PGFiYnIgaXRlbXByb3A9InByaWNlQ3VycmVuY3kiIHRpdGxlPSJTd2lzcyBGcmFuY3MiPkNIRjwvYWJicj4mbmJzcDs8bGFiZWwgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmxhYmVsMSIgY2xhc3M9InByaWNlIiBjb250ZW50PSIzMjAiIGl0ZW1wcm9wPSJwcmljZSI+MzIwLi08c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+KyBzaGlwcGluZzwvc3Bhbj48L2xhYmVsPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9zY2hlbWEub3JnL0luU3RvY2siIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSI+CjxidXR0b24gY2xhc3M9ImJ0biBidG4tY29tbWl0IiB0eXBlPSJzdWJtaXQiPkFkZCB0byBjYXJ0PC9idXR0b24+PC9kaXY+CjwvZmllbGRzZXQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZ2I3dnVvajFlNyEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIj48L2Zvcm0+CjwvZGl2Pgo8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48aHI+CjwvaHI+CjxkaXYgY2xhc3M9ImwtbWFpbi1wdWxsZWQiPjxkaXYgY2xhc3M9ImFic3RyYWN0Ij48cCBjbGFzcz0iYnRuIGJ0bi1wcmV2aWV3Ij4KPGEgaWQ9InZpZXc6bGluazIiIGhyZWY9Ii9wcmV2aWV3L2luZm9faWVjNjAwNTAtMTAyJTdCZWQxLjAlN0RiLnBkZiIgdGFyZ2V0PSJfYmxhbmsiPlByZXZpZXc8L2E+PC9wPgo8aDM+CkFic3RyYWN0PC9oMz4KPGRpdiBpZD0idmlldzpjb21wdXRlZEZpZWxkMyIgY2xhc3M9InJlYWRtb3JlIiBpdGVtcHJvcD0iZGVzY3JpcHRpb24iPlRoaXMgcGFydCBvZiBJRUMgNjAwNTAgZ2l2ZXMgdGhlIGdlbmVyYWwgbWF0aGVtYXRpY2FsIHRlcm1pbm9sb2d5IHVzZWQgaW4gdGhlIGZpZWxkcyBvZiBlbGVjdHJpY2l0eSwgZWxlY3Ryb25pY3MgYW5kIHRlbGVjb21tdW5pY2F0aW9ucywgdG9nZXRoZXIgd2l0aCBiYXNpYyBjb25jZXB0cyBpbiBsaW5lYXIgYWxnZWJyYS4gSXQgbWFpbnRhaW5zIGEgY2xlYXIgZGlzdGluY3Rpb24gYmV0d2VlbiBtYXRoZW1hdGljYWwgY29uY2VwdHMgYW5kIHBoeXNpY2FsIGNvbmNlcHRzLCBldmVuIGlmIHNvbWUgdGVybXMgYXJlIHVzZWQgaW4gYm90aCBjYXNlcy4gQW5vdGhlciBwYXJ0IHdpbGwgZGVhbCB3aXRoIGZ1bmN0aW9ucy48YnIgLz4NCkl0IGhhcyB0aGUgc3RhdHVzIG9mIGEgaG9yaXpvbnRhbCBzdGFuZGFyZCBpbiBhY2NvcmRhbmNlIHdpdGggPGEgaHJlZj0iaHR0cDovL3dlYnN0b3JlLmllYy5jaC93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQXJ0bnVtX1BLLzM2NDM1P28NCnBlbmRvY3VtZW50Ij5JRUMgR3VpZGUgMTA4PC9hPi48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48ZGl2IGNsYXNzPSJ0b2MiPjxoMz4KTG9vayBpbnNpZGU8L2gzPgo8YSBpZD0idmlldzpsaW5rMTUiIGhyZWY9Ii9wcmV2aWV3L2luZm9faWVjNjAwNTAtMTAyJTdCZWQxLjAlN0RiLnBkZiIgdGl0bGU9IkZyZWUgcHJldmlldyIgdGFyZ2V0PSJfYmxhbmsiPjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCBzZWNvbmRhcnkgdC1jb2x1bW5zIj4KPGltZyBpZD0idmlldzppbWFnZTEiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9sb29raW5zaWRlLnBuZyIgYWx0PSIiIGNsYXNzPSJ4c3BJbWFnZSI+PC91bD4KPC9hPjwvZGl2PjwvZGl2Pjxocj48ZGl2IGNsYXNzPSJsLW1haW4iPjxoMyBpZD0iYWRkaXRpb25hbGluZm8iPkFkZGl0aW9uYWwgaW5mb3JtYXRpb248L2gzPjxkaXYgY2xhc3M9InRhYmJhYmxlIj48dWwgY2xhc3M9Im5hdiBuYXYtdGFicyI+PGxpIGNsYXNzPSJhY3RpdmUiPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNkZXRhaWxzIj5EZXRhaWxzPC9hPjwvbGk+PGxpIGlkPSJoaXN0b3J5dGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjaGlzdG9yeSIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnQWRkaXRpb25hbEluZm8nLCAnQ2xpY2snLCAnaGlzdG9yeScpOyI+SGlzdG9yeTwvYT48L2xpPjxsaSBpZD0id29ya2lucHJvZ3Jlc3N0YWIiPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiN3b3JraW5wcm9ncmVzcyIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnQWRkaXRpb25hbEluZm8nLCAnQ2xpY2snLCAnd29ya2lucHJvZ3Jlc3MnKTsiPldvcmsgaW4gcHJvZ3Jlc3M8L2E+PC9saT48bGkgaWQ9ImxpMSI+PC9saT48bGkgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiN0YWdjbG91ZCI+VGFnczwvYT48L2xpPjwvdWw+PGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjxkaXYgY2xhc3M9InRhYi1wYW5lIGZhZGUgYWN0aXZlIGluIiBpZD0iZGV0YWlscyI+PHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1pbmZvIHZlcnRpY2FsLXRoIj48dGJvZHk+PHRyPjx0aCBzY29wZT0icm93Ij5QdWJsaWNhdGlvbiB0eXBlPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDciIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+SW50ZXJuYXRpb25hbCBTdGFuZGFyZDwvc3Bhbj48L3RkPjwvdHI+Cjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gZGF0ZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmlucHV0VGV4dDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCIgaXRlbXByb3A9InJlbGVhc2VEYXRlIj4yMDA3LTA4LTI3PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkVkaXRpb248L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQxIj4xLjA8L3NwYW4+PC90ZD48L3RyPjx0cj48dGggc2NvcGU9InJvdyI+QXZhaWxhYmxlIGxhbmd1YWdlKHMpPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+RW5nbGlzaC9GcmVuY2g8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPjxhYmJyIHRpdGxlPSJUZWNobmljYWwgQ29tbWl0dGVlIj5UQzwvYWJicj4vPGFiYnIgdGl0bGU9IlN1Yi1jb21taXR0ZWUiPlNDPC9hYmJyPjwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms2IiBocmVmPSIuLi9zZWFyY2hmb3JtJkNvbU51bWJlcj0xIiBjbGFzcz0ieHNwTGluayI+VEMgMSAtIFRlcm1pbm9sb2d5PC9hPjxhIGlkPSJ2aWV3OmxpbmsxIiBocmVmPSJodHRwczovL3dlYnN0b3JlLmllYy5jaC9yc3MmdGM9VEMlMjAxIiBzdHlsZT0iZmxvYXQ6cmlnaHQiIGNsYXNzPSJzeW1ib2wgcnNzIiB0aXRsZT0iU3Vic2NyaWJlIHRvIHRoaXMgUlNTIGZlZWQiPjxzcGFuIGNsYXNzPSJpY29uLXJzcyI+PC9zcGFuPjxiPnJzczwvYj48L2E+PC90ZD48L3RyPjx0cj48dGggc2NvcGU9InJvdyI+SUNTPC90aD48dGQ+PGEgaWQ9InZpZXc6bGluazciIGhyZWY9Ii4uL3NlYXJjaGZvcm0mSUNTTnVtYmVyPTAxLjA0MC4wNyIgY2xhc3M9InhzcExpbmsiPjAxLjA0MC4wNyAtIE1hdGhlbWF0aWNzLiBOYXR1cmFsIHNjaWVuY2VzIChWb2NhYnVsYXJpZXMpPC9hPjxicj4KPGEgaWQ9InZpZXc6bGluazgiIGhyZWY9Ii4uL3NlYXJjaGZvcm0mSUNTTnVtYmVyPTA3LjAyMCIgY2xhc3M9InhzcExpbmsiPjA3LjAyMCAtIE1hdGhlbWF0aWNzDQo8L2E+PC90ZD48L3RyPjx0cj48dGggc2NvcGU9InJvdyI+UGFnZXM8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNCIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xNjI8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPkZpbGUgc2l6ZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ1IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjE3NzY8L3NwYW4+Jm5ic3A7PGFiYnIgdGl0bGU9IktpbG9iaXRzIj5LQjwvYWJicj48L3RkPjwvdHI+CjwvdGJvZHk+PC90YWJsZT48L2Rpdj48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0iaGlzdG9yeSI+PHNwYW4gaWQ9InZpZXc6X2lkMTg0OnhtbEhpc3RvcnkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0id29ya2lucHJvZ3Jlc3MiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4NDp4bWxXb3JraW5wcm9ncmVzcyI+PC9zcGFuPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIHB1YmlkICAgPSAiMTYwIjsKdmFyIHB1YnR5cGUgPSAiSVMiOwoKdmFyIFhNTHVybD0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9BamF4UmVxdWVzdFhNTD9PcGVuYWdlbnQmdXJsPSIrIiIrcHViaWQ7CnZhciB0YXJnZXRJZEhpc3Rvcnk9InZpZXc6X2lkMTg0OnhtbEhpc3RvcnkiOwp2YXIgdGFyZ2V0SWRXb3JraW5wcm9ncmVzcz0idmlldzpfaWQxODQ6eG1sV29ya2lucHJvZ3Jlc3MiOwp2YXIgYXBIaXN0ID0gZG9qby5ieUlkKHRhcmdldElkSGlzdG9yeSk7CnZhciBhcFdvcmsgPSBkb2pvLmJ5SWQodGFyZ2V0SWRXb3JraW5wcm9ncmVzcyk7Cgp0cnkgewoKCWRvam8ueGhyR2V0KHsKCQl1cmw6IFhNTHVybCwKCQlsb2FkOiBmdW5jdGlvbihYTUxyZXN1bHQpIHsKCQkJWE1McGFyc2VIaXN0b3J5KFhNTHJlc3VsdCwgdGFyZ2V0SWRIaXN0b3J5LHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoJCX0sCiAgICBlcnJvcjogZnVuY3Rpb24oZXJyb3IsIGlvYXJncyl7CgkgICAgICBhcEhpc3QuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCSAgICAgIGFwV29yay5pbm5lckhUTUwgPSAiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZDogPGJyIC8+IiArIGVycm9yOwoJCQl9CgkJfSk7CgkJCgkgIGlmIChwdWJ0eXBlPT0nVFJGJykgewkJCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpc3Rvcnl0YWIiKS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgIH0KCQkKfSBjYXRjaChlKSB7CmFsZXJ0KCJlcnJvciAiICsgZSl9Cjwvc2NyaXB0Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0idHJmIj48cD5UaGUgZm9sbG93aW5nIHRlc3QgcmVwb3J0IGZvcm1zIGFyZSByZWxhdGVkOjwvcD48ZGl2IGlkPSJ2aWV3Ol9pZDE4NTpyZXBlYXRyZWxhdGVkVFJGIj4KPC9kaXY+Cjxicj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0idGFnY2xvdWQiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImwtYXNpZGUiPjxmb3JtIGlkPSJ2aWV3Ol9pZDIwNzpfaWQzMDUiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InhzcEZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgo8aDM+UmVsYXRlZCBwdWJsaWNhdGlvbnM8L2gzPjxkaXYgaWQ9InZpZXc6X2lkMjA3Ol9pZDMwNTpvdGhlcnBhcnRzZGl2Ij4KPHVsPjxzcGFuIGlkPSJ2aWV3Ol9pZDIwNzpfaWQzMDU6b3RoZXJwYXJ0cyI+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82Njg0NCJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQyOjIwMjAnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82ODcwOSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQzOjIwMjEnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMzoyMDIxPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi8xNjEib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAzOjIwMDknLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDk8L2E+PC9saT48bGk+PGEgaHJlZj0iL3B1YmxpY2F0aW9uLzYxMzE3Im9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5L0FNRDE6MjAxNycsICdJRUMgNjAwNTAtMTAyOjIwMDcnKTsiPklFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTc8L2E+PC9saT48L3NwYW4+PGxpIGNsYXNzPSJtb3JlIiBpZD0id3IiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMjA3Ol9pZDMwNTpsaW5rc2hvd2FsbCIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPlNob3cgYWxsICZyYXF1bzs8L2E+PC9saT48L3VsPjxwPjwvcD48L2Rpdj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQyMDc6X2lkMzA1X19WVUlEIiB2YWx1ZT0iIWdiN3Z1b2oxZTchIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQyMDc6X2lkMzA1IiB2YWx1ZT0idmlldzpfaWQyMDc6X2lkMzA1Ij48L2Zvcm0+CjxoMyBpZD0idmlldzpfaWQyMTM6Y29tcHV0ZWRGaWVsZDIiPk1vcmUgaW5mb3JtYXRpb248L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48ZGl2IGlkPSJ2aWV3Ol9pZDIxMzpyZXBlYXRCbG9ja0xpbmtieXB1YiI+CjwvZGl2Pgo8ZGl2IGlkPSJ2aWV3Ol9pZDIxMzpyZXBlYXRCbG9ja0xpbmtieVRDIj4KPGxpPjxhIGlkPSJ2aWV3Ol9pZDIxMzpyZXBlYXRCbG9ja0xpbmtieVRDOjA6bGluazIiIGhyZWY9Imh0dHBzOi8vZXRlY2guaWVjLmNoL2lzc3VlLzIwMTktMDIvaW4tdGhlLWJlZ2lubmluZy10aGVyZS13YXN0ZXJtaW5vbG9neSIgdGFyZ2V0PSJfYmxhbmsiPkFydGljbGU6IGF2b2lkaW5nIGFtYmlndWl0eTwvYT48L2xpPjwvZGl2Pgo8L3VsPjxicj48aDM+U2hhcmUgdGhpcyBwYWdlPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIyMDpsaW5rMSIgaHJlZj0ibWFpbHRvOj9zdWJqZWN0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7Ym9keT1IZWxsbyUyQyUwQSUwQUklMjB0aG91Z2h0JTIweW91JTIwbWlnaHQlMjBiZSUyMGludGVyZXN0ZWQlMjBieSUyMHRoaXMlMjBwdWJsaWNhdGlvbiUzQSUwQSUwQSUwOWh0dHBzJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIyMDpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHBzJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0ZXh0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7dmlhPUlFQ1N0YW5kYXJkcyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+VHdpdHRlcjwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMjA6bGluazExIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD91PWh0dHBzJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjIwOmxpbmsxMyIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJlQXJ0aWNsZT9taW5pPXRydWUmYW1wO3VybD1odHRwcyUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCZhbXA7dGl0bGU9SUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7c3VtbWFyeT0mYW1wO3NvdXJjZT1JRUMlMjBXZWJzdG9yZSIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+TGlua2VkSW48L2E+Jm5ic3A7PC9saT48L3VsPjwvZGl2PjxociBjbGFzcz0id2lkZSI+PGRpdiBjbGFzcz0ibC1xdWFydGVyMSI+PGg0PlNoYXJlIHlvdXIgcHVibGljYXRpb25zPC9oND48cD5MZWFybiBob3cgdG8gc2hhcmUgeW91ciBwdWJsaWNhdGlvbnMgd2l0aCB5b3VyCgkJCWNvbGxlYWd1ZXMsJm5ic3A7PGEgaWQ9InZpZXc6X2lkMjM1OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOUFA4SCI+dXNpbmcgbmV0d29ya2luZyBvcHRpb25zPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyMiI+PGg0PlBheW1lbnQgaW5mb3JtYXRpb248L2g0PjxwPk91ciBwcmljZXMgYXJlIGluIFN3aXNzIGZyYW5jcyAoPGFiYnIgdGl0bGU9IlN3aXNzIGZyYW5jcyI+Q0hGPC9hYmJyPikuIFdlIGFjY2VwdCBhbGwgbWFqb3IgY3JlZGl0IGNhcmRzIChBbWVyaWNhbiBFeHByZXNzLCBNYXN0ZXJjYXJkIGFuZAoJCQlWaXNhLCBKQ0IgYW5kIENVUCksIFBheVBhbCBhbmQgYmFuayB0cmFuc2ZlcnMgYXMgZm9ybSBvZiBwYXltZW50LjwvcD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjMiPjxoND5LZWVwIGluIHRvdWNoPC9oND48cD5LZWVwIHVwIHRvIGRhdGUgd2l0aCBuZXcgcHVibGljYXRpb24gcmVsZWFzZXMgYW5kCgkJCWFubm91bmNlbWVudHMgd2l0aAoJCQlvdXIgZnJlZSZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNTpsaW5rMSIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPklFQyBKdXN0IFB1Ymxpc2hlZCBlbWFpbCBuZXdzbGV0dGVyPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyNCI+PGg0IGlkPSJ2aWV3Ol9pZDIzNTpjb21wdXRlZEZpZWxkNiI+Q29udGFjdCBjdXN0b21lciBzZXJ2aWNlczwvaDQ+PHAgaWQ9InZpZXc6X2lkMjM1OmNvbXB1dGVkRmllbGQ3Ij5QbGVhc2UgPGEgaHJlZj0ibWFpbHRvOnNhbGVzQGllYy5jaCI+c2VuZCB5b3VyIGVucXVpcnkgYnkgZW1haWw8L2E+IG9yIGNhbGwgdXMgb24gKzQxIDIyIDkxOSAwMiAxMSBiZXR3ZWVuIDA5OjAwICZuZGFzaDsgMTc6MDAgQ0VUIE1vbmRheSB0byBGcmlkYXkuPC9wPjwvZGl2Pjwvc2VjdGlvbj48L2Rpdj48Zm9vdGVyIHJvbGU9ImNvbnRlbnRpbmZvIj48ZGl2IGNsYXNzPSJpbm5lciI+PHAgY2xhc3M9InNvY2lhbCI+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL0ludGVybmF0aW9uYWxFbGVjdHJvdGVjaG5pY2FsQ29tbWlzc2lvbiIgdGl0bGU9IkZhY2Vib29rIj48c3BhbiBjbGFzcz0iaWNvbi1mYWNlYm9vayI+PC9zcGFuPjxiPkZhY2Vib29rPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwczovL3d3dy50d2l0dGVyLmNvbS9JRUNTdGFuZGFyZHMiIHRpdGxlPSJUd2l0dGVyIj48c3BhbiBjbGFzcz0iaWNvbi10d2l0dGVyIj48L3NwYW4+PGI+VHdpdHRlcjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvaW50ZXJuYXRpb25hbC1lbGVjdHJvdGVjaG5pY2FsLWNvbW1pc3Npb24taWVjLS8iIHRpdGxlPSJMaW5rZWRJbiI+PHNwYW4gY2xhc3M9Imljb24tbGlua2VkaW4iPjwvc3Bhbj48Yj5MaW5rZWRJbjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cucGludGVyZXN0LmNvbS9pZWNzdGFuZGFyZHMiIHRpdGxlPSJQaW50ZXJlc3QiPjxzcGFuIGNsYXNzPSJpY29uLXBpbnRlcmVzdCI+PC9zcGFuPjxiPlBpbnRlcmVzdDwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3hHa19TX3JuWXlGQmNUaWRnbnk3RUEiIHRpdGxlPSJZb3VUdWJlIj48c3BhbiBjbGFzcz0iaWNvbi15b3V0dWJlIj48L3NwYW4+PGI+WW91VHViZTwvYj48L2E+PC9wPjx1bCBjbGFzcz0ibGlua3MgdGVydGlhcnkgaW5saW5lIj48bGk+PGEgaWQ9InZpZXc6X2lkMjU5OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1DU0pOLTlWQ0JXSiI+VGVybXMgJmFtcDsgQ29uZGl0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9wcml2YWN5LyI+UHJpdmFjeTwvYT48L2xpPjwvdWw+PHVsIGNsYXNzPSJjb3B5cmlnaHQgdGVydGlhcnkgaW5saW5lIj48bGk+PGk+PGEgaWQ9InZpZXc6X2lkMjU5OmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOV042UCI+Q29weXJpZ2h0PC9hPjwvaT4mbmJzcDsmY29weTsmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCI+SUVDPC9hPiZuYnNwOzxzcGFuIGlkPSJ2aWV3Ol9pZDI1OTpjb21wdXRlZEZpZWxkMSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4yMDIyPC9zcGFuPi4mbmJzcDtBbGwgcmlnaHRzIHJlc2VydmVkLjwvbGk+PC91bD48cCBjbGFzcz0ic2VsZiI+PGEgaHJlZj0iI2llYy13ZWJzdG9yZSI+VG9wPHNwYW4gY2xhc3M9Imljb24tY2lyY2xlLWFycm93LXVwIj48L3NwYW4+PC9hPjwvcD48L2Rpdj48L2Zvb3Rlcj48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3ZlbmRvci9qcXVlcnktMS44LjMtbWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL2NvbmZpZy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9wbHVnaW5zLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAvL3ZhciBlbGxpcHNlc3RleHQgPSAiLi4uIjsKICAgIHZhciBlbGxpcHNlc3RleHQgPSAiIjsKICAgIHZhciBtb3JldGV4dCA9ICJTaG93IG1vcmUgwrsiOwogICAgdmFyIGxlc3N0ZXh0ID0gIlNob3cgbGVzcyI7CiAgICAKICAgIHZhciBjb250ZW50SGVpZ2h0OwogICAgdmFyIHNob3dIZWlnaHQ9MjAwOwogICAgCgogICAgJCgnLnJlYWRtb3JlJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY29udGVudCA9ICQodGhpcykuaHRtbCgpOwoKICAgICAgICBjb250ZW50SGVpZ2h0ID0gJCgnLnJlYWRtb3JlJykuaGVpZ2h0KCk7IAogICAgICAgIGlmKGNvbnRlbnRIZWlnaHQgPiBzaG93SGVpZ2h0KSB7CiAgICAgICAgCSQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iCgkJCSAgICB9KTsKICAgICAgICAgICAgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9Im1vcmVlbGxpcHNlcyI+JyArIGVsbGlwc2VzdGV4dCsgJzwvc3Bhbj48c3Bhbj48YSBocmVmPSIiIGNsYXNzPSJtb3JlbGluayI+JyArIG1vcmV0ZXh0ICsgJzwvYT48L3NwYW4+Jyk7CiAgICAgICAgfSAKICAgIH0pOwogCiAgICAkKCIubW9yZWxpbmsiKS5jbGljayhmdW5jdGlvbigpewogICAgICAgIGlmKCQodGhpcykuaGFzQ2xhc3MoImxlc3MiKSkgewogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChtb3JldGV4dCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6c2hvd0hlaWdodAoJCQl9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChsZXNzdGV4dCk7CiAgICAKCQkJJCgnLnJlYWRtb3JlJykuY3NzKHsJCQkJCQoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjoiIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICIiCgkJCX0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkKHRoaXMpLnByZXYoKS50b2dnbGUoKTsgIC8vIHNob3cvaGlkZSAiLi4uIiAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgpmdW5jdGlvbiB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQodGhpc0V2ZW50KSB7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyAKCXRyeXsJCgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJdmFyIGJhc2tldG5hbWU9cmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSk7CgkJCgkJY29tcHV0ZUJhc2tldEl0ZW1zKGJhc2tldG5hbWUpOwoJCWNvbXB1dGVEQUZpbGVzKCk7CgkJJCgiZGl2LmJ1eWJveCBmb3JtIikuc3VibWl0KAoJCQkJCQlmdW5jdGlvbigpIHsKCgkJCQkJCQl2YXIgbWVkaWEgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CgkJCQkJCQl2YXIgcHJpY2UgPSAkKHRoaXMpLmZpbmQoKCdpbnB1dFtuYW1lPWFydF9wcmljZV0nKSkKCQkJCQkJCQkJLnZhbCgpOwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtuYW1lPWFydF9sYW5nXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJCQkKCQkJCQkJCXZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJCQkoJ1tjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwkJCgkJCQkJCQljb25zb2xlLmxvZyhsYW5nYXJ0bnVtKTsKCQkJCQkJCQkJCgkJCQkJCQl2YXIgYmFza2V0bmFtZTIgPSBnZXRDb29raWUoanNDb29raWVOYW1lKTsKCQkJCQkJCUFkZFRvQmFza2V0KG1lZGlhLCBsYW5nYXJ0bnVtLCBiYXNrZXRuYW1lMik7CgoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9KTsKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl9IGNhdGNoKGUpIHthbGVydChlLm1lc3NhZ2UpO30KCQkKfSk7Cgp9CgpmdW5jdGlvbiB2aWV3X19pZDIzNV9faWQyNTZfY2xpZW50U2lkZV9vbmNsaWNrKHRoaXNFdmVudCkgewp2YXIgbXlXaW5kb3cgPSB3aW5kb3cub3BlbigiaHR0cDovL2VlcHVybC5jb20vYlkzdjc5IiwgIl9ibGFuayIsICJ0b29sYmFyPW5vLCBzY3JvbGxiYXJzPW5vLCByZXNpemFibGU9bm8sIHRvcD0yMDAsIGxlZnQ9NTAwLCB3aWR0aD05MDAsIGhlaWdodD01NTUiKTsKCgp9CgpYU1AuYWRkT25Mb2FkKGZ1bmN0aW9uKCkgewpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMzpfaWQ0NiIsICJ2aWV3Ol9pZDMiLCAib25DbGllbnRMb2FkIiwgdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkLCBmYWxzZSwgMik7ClhTUC5hdHRhY2hQYXJ0aWFsKCJ2aWV3Ol9pZDIwNzpfaWQzMDU6X2lkMjExIiwgInZpZXc6X2lkMjA3Ol9pZDMwNTpsaW5rc2hvd2FsbCIsICJ2aWV3Ol9pZDIwNzpfaWQzMDU6bGlua3Nob3dhbGwiLCAib25jbGljayIsIGZ1bmN0aW9uKCl7fSwgMiwgInZpZXc6X2lkMjA3Ol9pZDMwNTpvdGhlcnBhcnRzZGl2Iik7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQyMzU6X2lkMjU2IiwgInZpZXc6X2lkMjM1OmxpbmsxIiwgIm9uY2xpY2siLCB2aWV3X19pZDIzNV9faWQyNTZfY2xpZW50U2lkZV9vbmNsaWNrLCBmYWxzZSwgMik7Cn0pOyAKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
227
- recorded_at: Thu, 30 Jun 2022 17:16:41 GMT
226
+ PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUdDODYwMlFLWlMiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFnYzg2MDJxa3lyISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIHZhbHVlPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIj48L2Zvcm0+CjxwPjxhIGhyZWY9Ii9hZHZzZWFyY2hmb3JtIj5BZHZhbmNlZCBzZWFyY2g8L2E+PC9wPjwvZGl2PjwvZGl2PjwvaGVhZGVyPjxuYXYgaWQ9Im5hdmlnYXRpb24tdG9nZ2xlIiByb2xlPSJuYXZpZ2F0aW9uIj48dWw+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua0hvbWUiIGhyZWY9Ii9ob21lIiBjbGFzcz0icHVibGljYXRpb24iIHRhcmdldD0iX3NlbGYiPkhvbWU8L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rU2lnbkluIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJ4c3BMaW5rIiB0eXBlPSJ0ZXh0L2h0bWwiPlNpZ24gaW48L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rSGVscCIgaHJlZj0iL2hlbHAiIGNsYXNzPSJwdWJsaWNhdGlvbiI+SGVscDwvYT48L2xpPjxsaT48YSBpZD0idmlldzpfaWQzOmxpbmtCYXNrZXQiIGhyZWY9ImphdmFzY3JpcHQ6b3BlbkJhc2tldCgnQW5vbnltb3VzJyk7IiBjbGFzcz0icHVibGljYXRpb24iPkNhcnQgPHNwYW4gY2xhc3M9Im5iLWl0ZW1zIG5iLWl0ZW1zLWJ1eSI+PC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ibGlua2FkdnNlYXJjaCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMzpsaW5rYWR2c2VhcmNoIiBocmVmPSIvYWR2c2VhcmNoZm9ybSIgY2xhc3M9InB1YmxpY2F0aW9uIj5BZHZhbmNlZCBTZWFyY2g8L2E+PC9saT48L3VsPjwvbmF2PjxkaXYgY2xhc3M9ImNvbnRhaW5lciIgcm9sZT0ibWFpbiI+PGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtLWJsb2NrIGFsZXJ0LXN1Y2Nlc3MgYWxlcnQtZGlzbWlzc2FibGUiIGlkPSJtZXNzYWdlYmFza2V0IiBzdHlsZT0iZGlzcGxheTpub25lIj48YnV0dG9uIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0iYWxlcnQiIHR5cGU9ImJ1dHRvbiI+JnRpbWVzOzwvYnV0dG9uPjxwIGNsYXNzPSJzZWNvbmRhcnkiPjxzcGFuPjwvc3Bhbj48L3A+PC9kaXY+PHNlY3Rpb24gY2xhc3M9ImFydGljbGUiIGl0ZW1zY29wZT0iICIgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL1Byb2R1Y3QiPjxkaXYgY2xhc3M9ImwtbWFpbiI+PHNwYW4gaXRlbXByb3A9ImJyYW5kIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9Pcmdhbml6YXRpb24iPjxtZXRhIGNvbnRlbnQ9IklFQyIgaXRlbXByb3A9Im5hbWUiPjwvc3Bhbj48aDEgY2xhc3M9InJlZmVyZW5jZSI+PHNwYW4gaWQ9InZpZXc6ZE9DVU1FTlROQU1FMSIgaXRlbXByb3A9InByb2R1Y3RJRCI+SUVDIDYwMDUwLTEwMjoyMDA3PC9zcGFuPiZuYnNwOzxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ5IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2gxPjxoMiBpZD0idmlldzpFbmdsaXNoX1RpdGxlIiBjbGFzcz0idGl0bGUiIGl0ZW1wcm9wPSJuYW1lIj5JbnRlcm5hdGlvbmFsIEVsZWN0cm90ZWNobmljYWwgVm9jYWJ1bGFyeSAoSUVWKSAtIFBhcnQgMTAyOiBNYXRoZW1hdGljcyAtIEdlbmVyYWwgY29uY2VwdHMgYW5kIGxpbmVhciBhbGdlYnJhPC9oMj48dWwgY2xhc3M9Im1ldGEgaW5saW5lIHNlcGFyYXRlZCI+PGxpPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ4IiB0aXRsZT0iVGVybWlub2xvZ3kiPlRDIDE8L3NwYW4+PC9saT48bGkgY2xhc3M9InByZXZpZXciPjxhIGhyZWY9IiNhZGRpdGlvbmFsaW5mbyI+Jm5ic3A7QWRkaXRpb25hbCBpbmZvcm1hdGlvbjwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0ibC1ib3ggaXMtYWx3YXlzLXZpc2libGUiPjxkaXYgY2xhc3M9InRhYmJhYmxlIGJ1eWJveCI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiIGlkPSJidXlib3hiIj48bGkgaWQ9InZpZXc6X2lkNzU6X2lkNzg6cmVwZWF0MTowOmNvbXB1dGVkRmllbGQyIiBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIucGFuZUUiIGRhdGEtdG9nZ2xlPSJ0YWIiPiBEb3dubG9hZDwvYT48L2xpPjxsaSBpZD0idmlldzpfaWQ3NTpfaWQ3ODpyZXBlYXQxOjE6Y29tcHV0ZWRGaWVsZDIiPjxhIGhyZWY9Ii5wYW5lUCIgZGF0YS10b2dnbGU9InRhYiI+IEhhcmRjb3B5PC9hPjwvbGk+PC91bD48ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6Y29tcHV0ZWRGaWVsZDEiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxkaXYgY2xhc3M9InRhYi1wYW5lIGZhZGUgYWN0aXZlIGluIHBhbmVFIj4KPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmNvbXB1dGVkRmllbGQyIiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48Zm9ybSBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9IkUiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgo8ZmllbGRzZXQgY2xhc3M9InBhcmFtZXRlcnMiPjxkaXYgY2xhc3M9ImJveC1wYW5lIHNlZ21lbnQgc3R5bGVkLXNlbGVjdCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ0IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48ZGl2IGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Mjpjb21wdXRlZEZpZWxkNSIgc3R5bGU9Im1hcmdpbi10b3A6NHB4IiBjbGFzcz0ibGFuZ3N3aXRjaGxhYmVsIj5FbmdsaXNoL0ZyZW5jaDwvZGl2PjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmxpc3RCb3gxIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjpsaXN0Qm94MSIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgk8b3B0aW9uIHZhbHVlPSIxNjBFTi1GUiI+MTYwRU4tRlI8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzIwIiBpdGVtcHJvcD0icHJpY2UiPjMyMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2xhYmVsPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9zY2hlbWEub3JnL0luU3RvY2siIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSI+CjxidXR0b24gY2xhc3M9ImJ0biBidG4tY29tbWl0IiB0eXBlPSJzdWJtaXQiPkFkZCB0byBjYXJ0PC9idXR0b24+PC9kaXY+CjwvZmllbGRzZXQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZ2M4NjAycWt5ciEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIj48L2Zvcm0+CjxwIGNsYXNzPSJzZWNvbmRhcnkgYm94LW9wdCI+CjxhIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/T3BlbiZhbXA7aWQ9R0ZPVC03TlBQOEgiIGNsYXNzPSJ4c3BMaW5rIj5EbyB5b3UgbmVlZCBhIG11bHRpLXVzZXIgY29weT88L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSAgcGFuZVAiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYwJmFtcDt0ZXN0IiBjbGFzcz0iUCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxkaXYgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQ1IiBzdHlsZT0ibWFyZ2luLXRvcDo0cHgiIGNsYXNzPSJsYW5nc3dpdGNobGFiZWwiPkVuZ2xpc2gvRnJlbmNoPC9kaXY+PHNlbGVjdCBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6bGlzdEJveDEiIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmxpc3RCb3gxIiBjbGFzcz0ibGFuZ3N3aXRjaCIgc2l6ZT0iMSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CTxvcHRpb24gdmFsdWU9IjE2MEVOLUZSIj4xNjBFTi1GUjwvb3B0aW9uPgo8L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50Ij48c3BhbiBpdGVtcHJvcD0ib2ZmZXJzIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9PZmZlciI+PGFiYnIgaXRlbXByb3A9InByaWNlQ3VycmVuY3kiIHRpdGxlPSJTd2lzcyBGcmFuY3MiPkNIRjwvYWJicj4mbmJzcDs8bGFiZWwgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmxhYmVsMSIgY2xhc3M9InByaWNlIiBjb250ZW50PSIzMjAiIGl0ZW1wcm9wPSJwcmljZSI+MzIwLi08c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+KyBzaGlwcGluZzwvc3Bhbj48L2xhYmVsPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9zY2hlbWEub3JnL0luU3RvY2siIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSI+CjxidXR0b24gY2xhc3M9ImJ0biBidG4tY29tbWl0IiB0eXBlPSJzdWJtaXQiPkFkZCB0byBjYXJ0PC9idXR0b24+PC9kaXY+CjwvZmllbGRzZXQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZ2M4NjAycWt5ciEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIj48L2Zvcm0+CjwvZGl2Pgo8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48aHI+CjwvaHI+CjxkaXYgY2xhc3M9ImwtbWFpbi1wdWxsZWQiPjxkaXYgY2xhc3M9ImFic3RyYWN0Ij48cCBjbGFzcz0iYnRuIGJ0bi1wcmV2aWV3Ij4KPGEgaWQ9InZpZXc6bGluazIiIGhyZWY9Ii9wcmV2aWV3L2luZm9faWVjNjAwNTAtMTAyJTdCZWQxLjAlN0RiLnBkZiIgdGFyZ2V0PSJfYmxhbmsiPlByZXZpZXc8L2E+PC9wPgo8aDM+CkFic3RyYWN0PC9oMz4KPGRpdiBpZD0idmlldzpjb21wdXRlZEZpZWxkMyIgY2xhc3M9InJlYWRtb3JlIiBpdGVtcHJvcD0iZGVzY3JpcHRpb24iPlRoaXMgcGFydCBvZiBJRUMgNjAwNTAgZ2l2ZXMgdGhlIGdlbmVyYWwgbWF0aGVtYXRpY2FsIHRlcm1pbm9sb2d5IHVzZWQgaW4gdGhlIGZpZWxkcyBvZiBlbGVjdHJpY2l0eSwgZWxlY3Ryb25pY3MgYW5kIHRlbGVjb21tdW5pY2F0aW9ucywgdG9nZXRoZXIgd2l0aCBiYXNpYyBjb25jZXB0cyBpbiBsaW5lYXIgYWxnZWJyYS4gSXQgbWFpbnRhaW5zIGEgY2xlYXIgZGlzdGluY3Rpb24gYmV0d2VlbiBtYXRoZW1hdGljYWwgY29uY2VwdHMgYW5kIHBoeXNpY2FsIGNvbmNlcHRzLCBldmVuIGlmIHNvbWUgdGVybXMgYXJlIHVzZWQgaW4gYm90aCBjYXNlcy4gQW5vdGhlciBwYXJ0IHdpbGwgZGVhbCB3aXRoIGZ1bmN0aW9ucy48YnIgLz4NCkl0IGhhcyB0aGUgc3RhdHVzIG9mIGEgaG9yaXpvbnRhbCBzdGFuZGFyZCBpbiBhY2NvcmRhbmNlIHdpdGggPGEgaHJlZj0iaHR0cDovL3dlYnN0b3JlLmllYy5jaC93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQXJ0bnVtX1BLLzM2NDM1P28NCnBlbmRvY3VtZW50Ij5JRUMgR3VpZGUgMTA4PC9hPi48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48ZGl2IGNsYXNzPSJ0b2MiPjxoMz4KTG9vayBpbnNpZGU8L2gzPgo8YSBpZD0idmlldzpsaW5rMTUiIGhyZWY9Ii9wcmV2aWV3L2luZm9faWVjNjAwNTAtMTAyJTdCZWQxLjAlN0RiLnBkZiIgdGl0bGU9IkZyZWUgcHJldmlldyIgdGFyZ2V0PSJfYmxhbmsiPjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCBzZWNvbmRhcnkgdC1jb2x1bW5zIj4KPGltZyBpZD0idmlldzppbWFnZTEiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9sb29raW5zaWRlLnBuZyIgYWx0PSIiIGNsYXNzPSJ4c3BJbWFnZSI+PC91bD4KPC9hPjwvZGl2PjwvZGl2Pjxocj48ZGl2IGNsYXNzPSJsLW1haW4iPjxoMyBpZD0iYWRkaXRpb25hbGluZm8iPkFkZGl0aW9uYWwgaW5mb3JtYXRpb248L2gzPjxkaXYgY2xhc3M9InRhYmJhYmxlIj48dWwgY2xhc3M9Im5hdiBuYXYtdGFicyI+PGxpIGNsYXNzPSJhY3RpdmUiPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNkZXRhaWxzIj5EZXRhaWxzPC9hPjwvbGk+PGxpIGlkPSJoaXN0b3J5dGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjaGlzdG9yeSIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnQWRkaXRpb25hbEluZm8nLCAnQ2xpY2snLCAnaGlzdG9yeScpOyI+SGlzdG9yeTwvYT48L2xpPjxsaSBpZD0id29ya2lucHJvZ3Jlc3N0YWIiPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiN3b3JraW5wcm9ncmVzcyIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnQWRkaXRpb25hbEluZm8nLCAnQ2xpY2snLCAnd29ya2lucHJvZ3Jlc3MnKTsiPldvcmsgaW4gcHJvZ3Jlc3M8L2E+PC9saT48bGkgaWQ9ImxpMSI+PC9saT48bGkgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiN0YWdjbG91ZCI+VGFnczwvYT48L2xpPjwvdWw+PGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjxkaXYgY2xhc3M9InRhYi1wYW5lIGZhZGUgYWN0aXZlIGluIiBpZD0iZGV0YWlscyI+PHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1pbmZvIHZlcnRpY2FsLXRoIj48dGJvZHk+PHRyPjx0aCBzY29wZT0icm93Ij5QdWJsaWNhdGlvbiB0eXBlPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDciIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+SW50ZXJuYXRpb25hbCBTdGFuZGFyZDwvc3Bhbj48L3RkPjwvdHI+Cjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gZGF0ZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmlucHV0VGV4dDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCIgaXRlbXByb3A9InJlbGVhc2VEYXRlIj4yMDA3LTA4LTI3PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkVkaXRpb248L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQxIj4xLjA8L3NwYW4+PC90ZD48L3RyPjx0cj48dGggc2NvcGU9InJvdyI+QXZhaWxhYmxlIGxhbmd1YWdlKHMpPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+RW5nbGlzaC9GcmVuY2g8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPjxhYmJyIHRpdGxlPSJUZWNobmljYWwgQ29tbWl0dGVlIj5UQzwvYWJicj4vPGFiYnIgdGl0bGU9IlN1Yi1jb21taXR0ZWUiPlNDPC9hYmJyPjwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms2IiBocmVmPSIuLi9zZWFyY2hmb3JtJkNvbU51bWJlcj0xIiBjbGFzcz0ieHNwTGluayI+VEMgMSAtIFRlcm1pbm9sb2d5PC9hPjxhIGlkPSJ2aWV3OmxpbmsxIiBocmVmPSJodHRwczovL3dlYnN0b3JlLmllYy5jaC9yc3MmdGM9VEMlMjAxIiBzdHlsZT0iZmxvYXQ6cmlnaHQiIGNsYXNzPSJzeW1ib2wgcnNzIiB0aXRsZT0iU3Vic2NyaWJlIHRvIHRoaXMgUlNTIGZlZWQiPjxzcGFuIGNsYXNzPSJpY29uLXJzcyI+PC9zcGFuPjxiPnJzczwvYj48L2E+PC90ZD48L3RyPjx0cj48dGggc2NvcGU9InJvdyI+SUNTPC90aD48dGQ+PGEgaWQ9InZpZXc6bGluazciIGhyZWY9Ii4uL3NlYXJjaGZvcm0mSUNTTnVtYmVyPTAxLjA0MC4wNyIgY2xhc3M9InhzcExpbmsiPjAxLjA0MC4wNyAtIE1hdGhlbWF0aWNzLiBOYXR1cmFsIHNjaWVuY2VzIChWb2NhYnVsYXJpZXMpPC9hPjxicj4KPGEgaWQ9InZpZXc6bGluazgiIGhyZWY9Ii4uL3NlYXJjaGZvcm0mSUNTTnVtYmVyPTA3LjAyMCIgY2xhc3M9InhzcExpbmsiPjA3LjAyMCAtIE1hdGhlbWF0aWNzDQo8L2E+PC90ZD48L3RyPjx0cj48dGggc2NvcGU9InJvdyI+UGFnZXM8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNCIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xNjI8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPkZpbGUgc2l6ZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ1IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjE3NzY8L3NwYW4+Jm5ic3A7PGFiYnIgdGl0bGU9IktpbG9iaXRzIj5LQjwvYWJicj48L3RkPjwvdHI+CjwvdGJvZHk+PC90YWJsZT48L2Rpdj48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0iaGlzdG9yeSI+PHNwYW4gaWQ9InZpZXc6X2lkMTg0OnhtbEhpc3RvcnkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0id29ya2lucHJvZ3Jlc3MiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4NDp4bWxXb3JraW5wcm9ncmVzcyI+PC9zcGFuPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIHB1YmlkICAgPSAiMTYwIjsKdmFyIHB1YnR5cGUgPSAiSVMiOwoKdmFyIFhNTHVybD0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9BamF4UmVxdWVzdFhNTD9PcGVuYWdlbnQmdXJsPSIrIiIrcHViaWQ7CnZhciB0YXJnZXRJZEhpc3Rvcnk9InZpZXc6X2lkMTg0OnhtbEhpc3RvcnkiOwp2YXIgdGFyZ2V0SWRXb3JraW5wcm9ncmVzcz0idmlldzpfaWQxODQ6eG1sV29ya2lucHJvZ3Jlc3MiOwp2YXIgYXBIaXN0ID0gZG9qby5ieUlkKHRhcmdldElkSGlzdG9yeSk7CnZhciBhcFdvcmsgPSBkb2pvLmJ5SWQodGFyZ2V0SWRXb3JraW5wcm9ncmVzcyk7Cgp0cnkgewoKCWRvam8ueGhyR2V0KHsKCQl1cmw6IFhNTHVybCwKCQlsb2FkOiBmdW5jdGlvbihYTUxyZXN1bHQpIHsKCQkJWE1McGFyc2VIaXN0b3J5KFhNTHJlc3VsdCwgdGFyZ2V0SWRIaXN0b3J5LHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoJCX0sCiAgICBlcnJvcjogZnVuY3Rpb24oZXJyb3IsIGlvYXJncyl7CgkgICAgICBhcEhpc3QuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCSAgICAgIGFwV29yay5pbm5lckhUTUwgPSAiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZDogPGJyIC8+IiArIGVycm9yOwoJCQl9CgkJfSk7CgkJCgkgIGlmIChwdWJ0eXBlPT0nVFJGJykgewkJCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpc3Rvcnl0YWIiKS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgIH0KCQkKfSBjYXRjaChlKSB7CmFsZXJ0KCJlcnJvciAiICsgZSl9Cjwvc2NyaXB0Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0idHJmIj48cD5UaGUgZm9sbG93aW5nIHRlc3QgcmVwb3J0IGZvcm1zIGFyZSByZWxhdGVkOjwvcD48ZGl2IGlkPSJ2aWV3Ol9pZDE4NTpyZXBlYXRyZWxhdGVkVFJGIj4KPC9kaXY+Cjxicj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0idGFnY2xvdWQiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImwtYXNpZGUiPjxmb3JtIGlkPSJ2aWV3Ol9pZDIwNzpfaWQzMDUiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InhzcEZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgo8aDM+UmVsYXRlZCBwdWJsaWNhdGlvbnM8L2gzPjxkaXYgaWQ9InZpZXc6X2lkMjA3Ol9pZDMwNTpvdGhlcnBhcnRzZGl2Ij4KPHVsPjxzcGFuIGlkPSJ2aWV3Ol9pZDIwNzpfaWQzMDU6b3RoZXJwYXJ0cyI+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82Njg0NCJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQyOjIwMjAnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82ODcwOSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQzOjIwMjEnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMzoyMDIxPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi8xNjEib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAzOjIwMDknLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDk8L2E+PC9saT48bGk+PGEgaHJlZj0iL3B1YmxpY2F0aW9uLzYxMzE3Im9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5L0FNRDE6MjAxNycsICdJRUMgNjAwNTAtMTAyOjIwMDcnKTsiPklFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTc8L2E+PC9saT48L3NwYW4+PGxpIGNsYXNzPSJtb3JlIiBpZD0id3IiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMjA3Ol9pZDMwNTpsaW5rc2hvd2FsbCIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPlNob3cgYWxsICZyYXF1bzs8L2E+PC9saT48L3VsPjxwPjwvcD48L2Rpdj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQyMDc6X2lkMzA1X19WVUlEIiB2YWx1ZT0iIWdjODYwMnFreXIhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQyMDc6X2lkMzA1IiB2YWx1ZT0idmlldzpfaWQyMDc6X2lkMzA1Ij48L2Zvcm0+CjxoMyBpZD0idmlldzpfaWQyMTM6Y29tcHV0ZWRGaWVsZDIiPk1vcmUgaW5mb3JtYXRpb248L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48ZGl2IGlkPSJ2aWV3Ol9pZDIxMzpyZXBlYXRCbG9ja0xpbmtieXB1YiI+CjwvZGl2Pgo8ZGl2IGlkPSJ2aWV3Ol9pZDIxMzpyZXBlYXRCbG9ja0xpbmtieVRDIj4KPGxpPjxhIGlkPSJ2aWV3Ol9pZDIxMzpyZXBlYXRCbG9ja0xpbmtieVRDOjA6bGluazIiIGhyZWY9Imh0dHBzOi8vZXRlY2guaWVjLmNoL2lzc3VlLzIwMTktMDIvaW4tdGhlLWJlZ2lubmluZy10aGVyZS13YXN0ZXJtaW5vbG9neSIgdGFyZ2V0PSJfYmxhbmsiPkFydGljbGU6IGF2b2lkaW5nIGFtYmlndWl0eTwvYT48L2xpPjwvZGl2Pgo8L3VsPjxicj48aDM+U2hhcmUgdGhpcyBwYWdlPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIyMDpsaW5rMSIgaHJlZj0ibWFpbHRvOj9zdWJqZWN0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7Ym9keT1IZWxsbyUyQyUwQSUwQUklMjB0aG91Z2h0JTIweW91JTIwbWlnaHQlMjBiZSUyMGludGVyZXN0ZWQlMjBieSUyMHRoaXMlMjBwdWJsaWNhdGlvbiUzQSUwQSUwQSUwOWh0dHBzJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIyMDpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHBzJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0ZXh0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7dmlhPUlFQ1N0YW5kYXJkcyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+VHdpdHRlcjwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMjA6bGluazExIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD91PWh0dHBzJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjIwOmxpbmsxMyIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJlQXJ0aWNsZT9taW5pPXRydWUmYW1wO3VybD1odHRwcyUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCZhbXA7dGl0bGU9SUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7c3VtbWFyeT0mYW1wO3NvdXJjZT1JRUMlMjBXZWJzdG9yZSIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+TGlua2VkSW48L2E+Jm5ic3A7PC9saT48L3VsPjwvZGl2PjxociBjbGFzcz0id2lkZSI+PGRpdiBjbGFzcz0ibC1xdWFydGVyMSI+PGg0PlNoYXJlIHlvdXIgcHVibGljYXRpb25zPC9oND48cD5MZWFybiBob3cgdG8gc2hhcmUgeW91ciBwdWJsaWNhdGlvbnMgd2l0aCB5b3VyCgkJCWNvbGxlYWd1ZXMsJm5ic3A7PGEgaWQ9InZpZXc6X2lkMjM1OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOUFA4SCI+dXNpbmcgbmV0d29ya2luZyBvcHRpb25zPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyMiI+PGg0PlBheW1lbnQgaW5mb3JtYXRpb248L2g0PjxwPk91ciBwcmljZXMgYXJlIGluIFN3aXNzIGZyYW5jcyAoPGFiYnIgdGl0bGU9IlN3aXNzIGZyYW5jcyI+Q0hGPC9hYmJyPikuIFdlIGFjY2VwdCBhbGwgbWFqb3IgY3JlZGl0IGNhcmRzIChBbWVyaWNhbiBFeHByZXNzLCBNYXN0ZXJjYXJkIGFuZAoJCQlWaXNhLCBKQ0IgYW5kIENVUCksIFBheVBhbCBhbmQgYmFuayB0cmFuc2ZlcnMgYXMgZm9ybSBvZiBwYXltZW50LjwvcD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjMiPjxoND5LZWVwIGluIHRvdWNoPC9oND48cD5LZWVwIHVwIHRvIGRhdGUgd2l0aCBuZXcgcHVibGljYXRpb24gcmVsZWFzZXMgYW5kCgkJCWFubm91bmNlbWVudHMgd2l0aAoJCQlvdXIgZnJlZSZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNTpsaW5rMSIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPklFQyBKdXN0IFB1Ymxpc2hlZCBlbWFpbCBuZXdzbGV0dGVyPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyNCI+PGg0IGlkPSJ2aWV3Ol9pZDIzNTpjb21wdXRlZEZpZWxkNiI+Q29udGFjdCBjdXN0b21lciBzZXJ2aWNlczwvaDQ+PHAgaWQ9InZpZXc6X2lkMjM1OmNvbXB1dGVkRmllbGQ3Ij5QbGVhc2UgPGEgaHJlZj0ibWFpbHRvOnNhbGVzQGllYy5jaCI+c2VuZCB5b3VyIGVucXVpcnkgYnkgZW1haWw8L2E+IG9yIGNhbGwgdXMgb24gKzQxIDIyIDkxOSAwMiAxMSBiZXR3ZWVuIDA5OjAwICZuZGFzaDsgMTc6MDAgQ0VUIE1vbmRheSB0byBGcmlkYXkuPC9wPjwvZGl2Pjwvc2VjdGlvbj48L2Rpdj48Zm9vdGVyIHJvbGU9ImNvbnRlbnRpbmZvIj48ZGl2IGNsYXNzPSJpbm5lciI+PHAgY2xhc3M9InNvY2lhbCI+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL0ludGVybmF0aW9uYWxFbGVjdHJvdGVjaG5pY2FsQ29tbWlzc2lvbiIgdGl0bGU9IkZhY2Vib29rIj48c3BhbiBjbGFzcz0iaWNvbi1mYWNlYm9vayI+PC9zcGFuPjxiPkZhY2Vib29rPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwczovL3d3dy50d2l0dGVyLmNvbS9JRUNTdGFuZGFyZHMiIHRpdGxlPSJUd2l0dGVyIj48c3BhbiBjbGFzcz0iaWNvbi10d2l0dGVyIj48L3NwYW4+PGI+VHdpdHRlcjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvaW50ZXJuYXRpb25hbC1lbGVjdHJvdGVjaG5pY2FsLWNvbW1pc3Npb24taWVjLS8iIHRpdGxlPSJMaW5rZWRJbiI+PHNwYW4gY2xhc3M9Imljb24tbGlua2VkaW4iPjwvc3Bhbj48Yj5MaW5rZWRJbjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cucGludGVyZXN0LmNvbS9pZWNzdGFuZGFyZHMiIHRpdGxlPSJQaW50ZXJlc3QiPjxzcGFuIGNsYXNzPSJpY29uLXBpbnRlcmVzdCI+PC9zcGFuPjxiPlBpbnRlcmVzdDwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3hHa19TX3JuWXlGQmNUaWRnbnk3RUEiIHRpdGxlPSJZb3VUdWJlIj48c3BhbiBjbGFzcz0iaWNvbi15b3V0dWJlIj48L3NwYW4+PGI+WW91VHViZTwvYj48L2E+PC9wPjx1bCBjbGFzcz0ibGlua3MgdGVydGlhcnkgaW5saW5lIj48bGk+PGEgaWQ9InZpZXc6X2lkMjU5OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1DU0pOLTlWQ0JXSiI+VGVybXMgJmFtcDsgQ29uZGl0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9wcml2YWN5LyI+UHJpdmFjeTwvYT48L2xpPjwvdWw+PHVsIGNsYXNzPSJjb3B5cmlnaHQgdGVydGlhcnkgaW5saW5lIj48bGk+PGk+PGEgaWQ9InZpZXc6X2lkMjU5OmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOV042UCI+Q29weXJpZ2h0PC9hPjwvaT4mbmJzcDsmY29weTsmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCI+SUVDPC9hPiZuYnNwOzxzcGFuIGlkPSJ2aWV3Ol9pZDI1OTpjb21wdXRlZEZpZWxkMSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4yMDIyPC9zcGFuPi4mbmJzcDtBbGwgcmlnaHRzIHJlc2VydmVkLjwvbGk+PC91bD48cCBjbGFzcz0ic2VsZiI+PGEgaHJlZj0iI2llYy13ZWJzdG9yZSI+VG9wPHNwYW4gY2xhc3M9Imljb24tY2lyY2xlLWFycm93LXVwIj48L3NwYW4+PC9hPjwvcD48L2Rpdj48L2Zvb3Rlcj48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3ZlbmRvci9qcXVlcnktMS44LjMtbWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL2NvbmZpZy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9wbHVnaW5zLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAvL3ZhciBlbGxpcHNlc3RleHQgPSAiLi4uIjsKICAgIHZhciBlbGxpcHNlc3RleHQgPSAiIjsKICAgIHZhciBtb3JldGV4dCA9ICJTaG93IG1vcmUgwrsiOwogICAgdmFyIGxlc3N0ZXh0ID0gIlNob3cgbGVzcyI7CiAgICAKICAgIHZhciBjb250ZW50SGVpZ2h0OwogICAgdmFyIHNob3dIZWlnaHQ9MjAwOwogICAgCgogICAgJCgnLnJlYWRtb3JlJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY29udGVudCA9ICQodGhpcykuaHRtbCgpOwoKICAgICAgICBjb250ZW50SGVpZ2h0ID0gJCgnLnJlYWRtb3JlJykuaGVpZ2h0KCk7IAogICAgICAgIGlmKGNvbnRlbnRIZWlnaHQgPiBzaG93SGVpZ2h0KSB7CiAgICAgICAgCSQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iCgkJCSAgICB9KTsKICAgICAgICAgICAgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9Im1vcmVlbGxpcHNlcyI+JyArIGVsbGlwc2VzdGV4dCsgJzwvc3Bhbj48c3Bhbj48YSBocmVmPSIiIGNsYXNzPSJtb3JlbGluayI+JyArIG1vcmV0ZXh0ICsgJzwvYT48L3NwYW4+Jyk7CiAgICAgICAgfSAKICAgIH0pOwogCiAgICAkKCIubW9yZWxpbmsiKS5jbGljayhmdW5jdGlvbigpewogICAgICAgIGlmKCQodGhpcykuaGFzQ2xhc3MoImxlc3MiKSkgewogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChtb3JldGV4dCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6c2hvd0hlaWdodAoJCQl9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChsZXNzdGV4dCk7CiAgICAKCQkJJCgnLnJlYWRtb3JlJykuY3NzKHsJCQkJCQoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjoiIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICIiCgkJCX0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkKHRoaXMpLnByZXYoKS50b2dnbGUoKTsgIC8vIHNob3cvaGlkZSAiLi4uIiAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgpmdW5jdGlvbiB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQodGhpc0V2ZW50KSB7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyAKCXRyeXsJCgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJdmFyIGJhc2tldG5hbWU9cmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSk7CgkJCgkJY29tcHV0ZUJhc2tldEl0ZW1zKGJhc2tldG5hbWUpOwoJCWNvbXB1dGVEQUZpbGVzKCk7CgkJJCgiZGl2LmJ1eWJveCBmb3JtIikuc3VibWl0KAoJCQkJCQlmdW5jdGlvbigpIHsKCgkJCQkJCQl2YXIgbWVkaWEgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CgkJCQkJCQl2YXIgcHJpY2UgPSAkKHRoaXMpLmZpbmQoKCdpbnB1dFtuYW1lPWFydF9wcmljZV0nKSkKCQkJCQkJCQkJLnZhbCgpOwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtuYW1lPWFydF9sYW5nXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJCQkKCQkJCQkJCXZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJCQkoJ1tjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwkJCgkJCQkJCQljb25zb2xlLmxvZyhsYW5nYXJ0bnVtKTsKCQkJCQkJCQkJCgkJCQkJCQl2YXIgYmFza2V0bmFtZTIgPSBnZXRDb29raWUoanNDb29raWVOYW1lKTsKCQkJCQkJCUFkZFRvQmFza2V0KG1lZGlhLCBsYW5nYXJ0bnVtLCBiYXNrZXRuYW1lMik7CgoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9KTsKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl9IGNhdGNoKGUpIHthbGVydChlLm1lc3NhZ2UpO30KCQkKfSk7Cgp9CgpmdW5jdGlvbiB2aWV3X19pZDIzNV9faWQyNTZfY2xpZW50U2lkZV9vbmNsaWNrKHRoaXNFdmVudCkgewp2YXIgbXlXaW5kb3cgPSB3aW5kb3cub3BlbigiaHR0cDovL2VlcHVybC5jb20vYlkzdjc5IiwgIl9ibGFuayIsICJ0b29sYmFyPW5vLCBzY3JvbGxiYXJzPW5vLCByZXNpemFibGU9bm8sIHRvcD0yMDAsIGxlZnQ9NTAwLCB3aWR0aD05MDAsIGhlaWdodD01NTUiKTsKCgp9CgpYU1AuYWRkT25Mb2FkKGZ1bmN0aW9uKCkgewpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMzpfaWQ0NiIsICJ2aWV3Ol9pZDMiLCAib25DbGllbnRMb2FkIiwgdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkLCBmYWxzZSwgMik7ClhTUC5hdHRhY2hQYXJ0aWFsKCJ2aWV3Ol9pZDIwNzpfaWQzMDU6X2lkMjExIiwgInZpZXc6X2lkMjA3Ol9pZDMwNTpsaW5rc2hvd2FsbCIsICJ2aWV3Ol9pZDIwNzpfaWQzMDU6bGlua3Nob3dhbGwiLCAib25jbGljayIsIGZ1bmN0aW9uKCl7fSwgMiwgInZpZXc6X2lkMjA3Ol9pZDMwNTpvdGhlcnBhcnRzZGl2Iik7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQyMzU6X2lkMjU2IiwgInZpZXc6X2lkMjM1OmxpbmsxIiwgIm9uY2xpY2siLCB2aWV3X19pZDIzNV9faWQyNTZfY2xpZW50U2lkZV9vbmNsaWNrLCBmYWxzZSwgMik7Cn0pOyAKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
227
+ recorded_at: Tue, 02 Aug 2022 15:03:25 GMT
228
228
  - request:
229
229
  method: get
230
230
  uri: https://webstore.iec.ch/webstore/webstore.nsf/AjaxRequestXML?Openagent&url=160
@@ -254,17 +254,17 @@ http_interactions:
254
254
  Server:
255
255
  - Lotus-Domino
256
256
  Date:
257
- - Thu, 30 Jun 2022 17:16:42 GMT
257
+ - Tue, 02 Aug 2022 15:03:26 GMT
258
258
  Cache-Control:
259
259
  - NoCache
260
260
  X-Cache:
261
261
  - Miss from cloudfront
262
262
  Via:
263
- - 1.1 4549c7f1695f03beb32f60cd903ff6c6.cloudfront.net (CloudFront)
263
+ - 1.1 3b6239c61689b2727182c34a97307648.cloudfront.net (CloudFront)
264
264
  X-Amz-Cf-Pop:
265
265
  - BUD50-C1
266
266
  X-Amz-Cf-Id:
267
- - _P2Rp6WRzE6R0190wSY-SyQulW997vDxykaLgJ8gzTTy9S48BkP_hQ==
267
+ - mAABO0Jxkp2LGifsFUWFqbs5eANz1AtsTmq4avNrFP7ZhrAPkUGcKA==
268
268
  body:
269
269
  encoding: ASCII-8BIT
270
270
  string: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RES><ROW><FULL_NAME>IEC
@@ -276,5 +276,5 @@ http_interactions:
276
276
  99.0010000000</ORDER><PUB_ID>61315</PUB_ID><EDITION>1.0</EDITION><FPD></FPD><STAGE></STAGE></ROW></RES>
277
277
 
278
278
  '
279
- recorded_at: Thu, 30 Jun 2022 17:16:42 GMT
279
+ recorded_at: Tue, 02 Aug 2022 15:03:26 GMT
280
280
  recorded_with: VCR 6.1.0