relaton 1.14.2 → 1.15.1

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/docs/README.adoc +1 -3
  3. data/lib/relaton/db.rb +1 -1
  4. data/lib/relaton/registry.rb +1 -1
  5. data/lib/relaton/version.rb +1 -1
  6. data/relaton.gemspec +2 -1
  7. data/spec/relaton/db_spec.rb +14 -20
  8. data/spec/relaton/registry_spec.rb +4 -0
  9. data/spec/relaton_spec.rb +147 -118
  10. data/spec/spec_helper.rb +1 -1
  11. data/spec/vcr_cassetes/3gpp_tr_00_01u_umts_3_0_0.yml +16 -14
  12. data/spec/vcr_cassetes/api_relaton_org.yml +80 -10
  13. data/spec/vcr_cassetes/api_relaton_org_unavailable.yml +18 -18
  14. data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +34 -34
  15. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +2310 -13
  16. data/spec/vcr_cassetes/cie_001_1980.yml +15 -13
  17. data/spec/vcr_cassetes/doi_10_6028_nist_ir_8245.yml +9 -9
  18. data/spec/vcr_cassetes/ecma_6.yml +13 -12
  19. data/spec/vcr_cassetes/en_10160_1999.yml +6821 -34
  20. data/spec/vcr_cassetes/iana_service_names_port_numbers.yml +13 -10
  21. data/spec/vcr_cassetes/ieee_528_2019.yml +11 -11
  22. data/spec/vcr_cassetes/iso_111111119115_1.yml +10 -10
  23. data/spec/vcr_cassetes/iso_19115_1.yml +17 -17
  24. data/spec/vcr_cassetes/iso_19115_1_2.yml +34 -34
  25. data/spec/vcr_cassetes/iso_19115_all_parts.yml +18 -18
  26. data/spec/vcr_cassetes/iso_19133_2005.yml +16 -16
  27. data/spec/vcr_cassetes/iso_combined_applied.yml +34 -34
  28. data/spec/vcr_cassetes/iso_combined_included.yml +35 -35
  29. data/spec/vcr_cassetes/iso_dis.yml +17 -17
  30. data/spec/vcr_cassetes/ogc_19_025r1.yml +11 -11
  31. data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +6 -6
  32. data/spec/vcr_cassetes/rfc_8341.yml +21 -9
  33. metadata +17 -17
  34. data/spec/vcr_cassetes/async_fetch.yml +0 -4457
  35. data/spec/vcr_cassetes/bipm_i18n_async_fetch.yml +0 -414
  36. data/spec/vcr_cassetes/bipm_metrologia_29_6_373.yml +0 -294
  37. data/spec/vcr_cassetes/fisp_140.yml +0 -48
  38. data/spec/vcr_cassetes/gb_t_20223_2006.yml +0 -147
  39. data/spec/vcr_cassetes/iec_60050_102_2007.yml +0 -280
  40. data/spec/vcr_cassetes/iec_combined_included.yml +0 -926
  41. data/spec/vcr_cassetes/iho_b_11.yml +0 -74
  42. data/spec/vcr_cassetes/itu_combined_included.yml +0 -1333
  43. data/spec/vcr_cassetes/oasis_amqp_core_types_v1_0_pt1.yml +0 -84
  44. data/spec/vcr_cassetes/sp_800_38b.yml +0 -48
  45. data/spec/vcr_cassetes/threads_from_env.yml +0 -412
  46. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +0 -814
  47. data/spec/vcr_cassetes/w3c_json_ld11.yml +0 -232
@@ -1,280 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://webstore.iec.ch/searchkey&RefNbr=IEC%2060050-102&From=2007-01-01&To=2007-12-31&start=1
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML,
12
- like Gecko) Chrome/86.0.4240.111 Safari/537.36
13
- Accept-Encoding:
14
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
15
- Accept:
16
- - "*/*"
17
- response:
18
- status:
19
- code: 200
20
- message: OK
21
- headers:
22
- Content-Type:
23
- - text/html; charset=US-ASCII
24
- Content-Length:
25
- - '878'
26
- Connection:
27
- - keep-alive
28
- Server:
29
- - Lotus-Domino
30
- Date:
31
- - Thu, 01 Dec 2022 16:52:29 GMT
32
- X-Cache:
33
- - Miss from cloudfront
34
- Via:
35
- - 1.1 2d1c46f78407b3ac919cadf865dd3246.cloudfront.net (CloudFront)
36
- X-Amz-Cf-Pop:
37
- - ATL56-P1
38
- X-Amz-Cf-Id:
39
- - dgKkSj0M4j1LlxUPZGb1WHVW8avyOvACityiJR2oHZijlXcpPZRYyg==
40
- body:
41
- encoding: ASCII-8BIT
42
- string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
43
- {\n\t\t background-color: #ddf0ff;\n color: #0060aa;\n text-shadow:
44
- none;\n\t}\n\t.bold {\n\tfont-weight: bold;\n\t}\n.blue {\ncolor: blue;\n\t}\n</style>\n<script>\n\t$(document).ready(function(){\n\t\ttry
45
- {\n\n\t\t\tvar k = $(\".search-query\").val().trim();\n\n\t\t\tif (k == '')
46
- {k = $(\"#search-inputsearch\").val().trim();}\n\t\t\t} catch(e){\n\t\t\t//IE8\n\t\t\tvar
47
- k = $.trim($(\".search-query\").val());\n\t\t\tif (k == '') {k = $(\".search-query\").val().trim();}\n\t\t\t}\n
48
- \t\tvar element = k.split(\" \");\n\n\t\tfor (var i = 0; i < k.length; i++)
49
- {\n\t\t\tif (\telement[i] != undefined) {\t\t\t\t\t\n\t\t\t\t//console.log(i+\"
50
- - \" + element[i]);\n\t\t\t\tvar word = element[i].replace('\"','');\n\t\t\t\tvar
51
- regexp=/\\*/g;\n\t\t\t\tvar match = regexp.exec(word);\n\n\n\t\t\t\tword =
52
- element[i].replace('*','')\n\n\t \t\t$(\".search-results\").highlight(word,{
53
- wordsOnly: !match });\n\t\t\t\t$(\"#wr.search-results\").highlight(word,{
54
- wordsOnly: !match });\n\t\t\t\t$(\"#trf.search-results\").highlight(word,{
55
- wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
56
- id=\"nbres\" type=\"hidden\" value=\"1\">\n<ul class=\"search-results lined-list\">\n<li>\r\n\n<a
57
- class=\"showmore\" id=\"160\" href=\"#\">Show all publications &raquo;</a><a
58
- href=\"/publication/160\">IEC 60050-102:2007&nbsp;&nbsp;</a>\r\n\n<br>International
59
- Electrotechnical Vocabulary (IEV) - Part 102: Mathematics - General concepts
60
- and linear algebra<ul class=\"morethesame 160\">\r\n\n<li>\r\n\n<a href=\"/publication/61315\">IEC
61
- 60050-102:2007/AMD1:2017</a>\r\n\n<br>Amendment 1 - International Electrotechnical
62
- Vocabulary (IEV) - Part 102: Mathematics - General concepts and linear algebra</li>\r\n\n<li>\r\n\n<a
63
- href=\"/publication/66844\">IEC 60050-102:2007/AMD2:2020</a>\r\n\n<br>Amendment
64
- 2 - International Electrotechnical Vocabulary (IEV) - Part 102: Mathematics
65
- - General concepts and linear algebra</li>\r\n\n<li>\r\n\n<a href=\"/publication/68709\">IEC
66
- 60050-102:2007/AMD3:2021</a>\r\n\n<br>Amendment 3 - International Electrotechnical
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
- class=\"pagination pagination-centered\">\n\t\t\t\t<ul><li class=\"active\"><a
69
- href=\"#\" Title=\"Current page\">1</a></li></ul>\n\t\t </div>\n</body>\n</html>\n"
70
- recorded_at: Thu, 01 Dec 2022 16:52:27 GMT
71
- - request:
72
- method: get
73
- uri: https://webstore.iec.ch/searchkey&type=trf&RefNbr=IEC%2060050-102&From=2007-01-01&To=2007-12-31&start=1
74
- body:
75
- encoding: US-ASCII
76
- string: ''
77
- headers:
78
- User-Agent:
79
- - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML,
80
- like Gecko) Chrome/86.0.4240.111 Safari/537.36
81
- Accept-Encoding:
82
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
83
- Accept:
84
- - "*/*"
85
- response:
86
- status:
87
- code: 200
88
- message: OK
89
- headers:
90
- Content-Type:
91
- - text/html; charset=US-ASCII
92
- Content-Length:
93
- - '546'
94
- Connection:
95
- - keep-alive
96
- Server:
97
- - Lotus-Domino
98
- Date:
99
- - Thu, 01 Dec 2022 16:52:30 GMT
100
- X-Cache:
101
- - Miss from cloudfront
102
- Via:
103
- - 1.1 d6a35bbafad9c6ab102b2f66ffd65942.cloudfront.net (CloudFront)
104
- X-Amz-Cf-Pop:
105
- - ATL56-P1
106
- X-Amz-Cf-Id:
107
- - gVjBLh9czvDwbtspU3ioMyIjGNSG8C2AGnYwGGr0C-Mn4gd577BrsQ==
108
- body:
109
- encoding: ASCII-8BIT
110
- string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
111
- {\n\t\t background-color: #ddf0ff;\n color: #0060aa;\n text-shadow:
112
- none;\n\t}\n\t.bold {\n\tfont-weight: bold;\n\t}\n.blue {\ncolor: blue;\n\t}\n</style>\n<script>\n\t$(document).ready(function(){\n\t\ttry
113
- {\n\n\t\t\tvar k = $(\".search-query\").val().trim();\n\n\t\t\tif (k == '')
114
- {k = $(\"#search-inputsearch\").val().trim();}\n\t\t\t} catch(e){\n\t\t\t//IE8\n\t\t\tvar
115
- k = $.trim($(\".search-query\").val());\n\t\t\tif (k == '') {k = $(\".search-query\").val().trim();}\n\t\t\t}\n
116
- \t\tvar element = k.split(\" \");\n\n\t\tfor (var i = 0; i < k.length; i++)
117
- {\n\t\t\tif (\telement[i] != undefined) {\t\t\t\t\t\n\t\t\t\t//console.log(i+\"
118
- - \" + element[i]);\n\t\t\t\tvar word = element[i].replace('\"','');\n\t\t\t\tvar
119
- regexp=/\\*/g;\n\t\t\t\tvar match = regexp.exec(word);\n\n\n\t\t\t\tword =
120
- element[i].replace('*','')\n\n\t \t\t$(\".search-results\").highlight(word,{
121
- wordsOnly: !match });\n\t\t\t\t$(\"#wr.search-results\").highlight(word,{
122
- wordsOnly: !match });\n\t\t\t\t$(\"#trf.search-results\").highlight(word,{
123
- wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
124
- id=\"nbrestrf\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
125
- recorded_at: Thu, 01 Dec 2022 16:52:28 GMT
126
- - request:
127
- method: get
128
- uri: https://webstore.iec.ch/searchkey&type=wr&RefNbr=IEC%2060050-102&From=2007-01-01&To=2007-12-31&start=1
129
- body:
130
- encoding: US-ASCII
131
- string: ''
132
- headers:
133
- User-Agent:
134
- - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML,
135
- like Gecko) Chrome/86.0.4240.111 Safari/537.36
136
- Accept-Encoding:
137
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
138
- Accept:
139
- - "*/*"
140
- response:
141
- status:
142
- code: 200
143
- message: OK
144
- headers:
145
- Content-Type:
146
- - text/html; charset=US-ASCII
147
- Content-Length:
148
- - '546'
149
- Connection:
150
- - keep-alive
151
- Server:
152
- - Lotus-Domino
153
- Date:
154
- - Thu, 01 Dec 2022 16:52:30 GMT
155
- X-Cache:
156
- - Miss from cloudfront
157
- Via:
158
- - 1.1 cf3d1e052996caae2818411d17bb4fc2.cloudfront.net (CloudFront)
159
- X-Amz-Cf-Pop:
160
- - ATL56-P1
161
- X-Amz-Cf-Id:
162
- - mu9Qinv1msVKh3O7OQFTih5sSxo60ybKREO2xqldGJ4NdpZWK-Jt9Q==
163
- body:
164
- encoding: ASCII-8BIT
165
- string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
166
- {\n\t\t background-color: #ddf0ff;\n color: #0060aa;\n text-shadow:
167
- none;\n\t}\n\t.bold {\n\tfont-weight: bold;\n\t}\n.blue {\ncolor: blue;\n\t}\n</style>\n<script>\n\t$(document).ready(function(){\n\t\ttry
168
- {\n\n\t\t\tvar k = $(\".search-query\").val().trim();\n\n\t\t\tif (k == '')
169
- {k = $(\"#search-inputsearch\").val().trim();}\n\t\t\t} catch(e){\n\t\t\t//IE8\n\t\t\tvar
170
- k = $.trim($(\".search-query\").val());\n\t\t\tif (k == '') {k = $(\".search-query\").val().trim();}\n\t\t\t}\n
171
- \t\tvar element = k.split(\" \");\n\n\t\tfor (var i = 0; i < k.length; i++)
172
- {\n\t\t\tif (\telement[i] != undefined) {\t\t\t\t\t\n\t\t\t\t//console.log(i+\"
173
- - \" + element[i]);\n\t\t\t\tvar word = element[i].replace('\"','');\n\t\t\t\tvar
174
- regexp=/\\*/g;\n\t\t\t\tvar match = regexp.exec(word);\n\n\n\t\t\t\tword =
175
- element[i].replace('*','')\n\n\t \t\t$(\".search-results\").highlight(word,{
176
- wordsOnly: !match });\n\t\t\t\t$(\"#wr.search-results\").highlight(word,{
177
- wordsOnly: !match });\n\t\t\t\t$(\"#trf.search-results\").highlight(word,{
178
- wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
179
- id=\"nbreswr\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
180
- recorded_at: Thu, 01 Dec 2022 16:52:29 GMT
181
- - request:
182
- method: get
183
- uri: https://webstore.iec.ch/publication/160
184
- body:
185
- encoding: US-ASCII
186
- string: ''
187
- headers:
188
- Accept-Encoding:
189
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
190
- Accept:
191
- - "*/*"
192
- User-Agent:
193
- - Ruby
194
- Host:
195
- - webstore.iec.ch
196
- response:
197
- status:
198
- code: 200
199
- message: OK
200
- headers:
201
- Content-Type:
202
- - text/html;charset=UTF-8
203
- Content-Length:
204
- - '6973'
205
- Connection:
206
- - keep-alive
207
- Server:
208
- - Lotus-Domino
209
- Date:
210
- - Thu, 01 Dec 2022 16:52:31 GMT
211
- Set-Cookie:
212
- - SessionID=GFXNOZEXI4; path=/
213
- Expires:
214
- - "-1"
215
- X-Cache:
216
- - Miss from cloudfront
217
- Via:
218
- - 1.1 b2005ca570500d06b9f0674e17212cee.cloudfront.net (CloudFront)
219
- X-Amz-Cf-Pop:
220
- - ATL56-P1
221
- X-Amz-Cf-Id:
222
- - LtQIVb7XMwhgHOcMHiWvbW8Ofaw3eQpEH1svE-UNyCnYp1fnihGEHA==
223
- body:
224
- encoding: ASCII-8BIT
225
- string: !binary |-
226
- PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUdGWE5PWkVYSTQiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFnZnhub3pleGlqISI+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+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZ2Z4bm96ZXhpaiEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIj48L2Zvcm0+CjxwIGNsYXNzPSJzZWNvbmRhcnkgYm94LW9wdCI+CjxhIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/T3BlbiZhbXA7aWQ9R0ZPVC03TlBQOEgiIGNsYXNzPSJ4c3BMaW5rIj5EbyB5b3UgbmVlZCBhIG11bHRpLXVzZXIgY29weT88L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSAgcGFuZVAiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYwJmFtcDt0ZXN0IiBjbGFzcz0iUCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxkaXYgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQ1IiBzdHlsZT0ibWFyZ2luLXRvcDo0cHgiIGNsYXNzPSJsYW5nc3dpdGNobGFiZWwiPkVuZ2xpc2gvRnJlbmNoPC9kaXY+PHNlbGVjdCBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6bGlzdEJveDEiIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmxpc3RCb3gxIiBjbGFzcz0ibGFuZ3N3aXRjaCIgc2l6ZT0iMSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CTxvcHRpb24gdmFsdWU9IjE2MEVOLUZSIj4xNjBFTi1GUjwvb3B0aW9uPgo8L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50Ij48c3BhbiBpdGVtcHJvcD0ib2ZmZXJzIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9PZmZlciI+PGFiYnIgaXRlbXByb3A9InByaWNlQ3VycmVuY3kiIHRpdGxlPSJTd2lzcyBGcmFuY3MiPkNIRjwvYWJicj4mbmJzcDs8bGFiZWwgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmxhYmVsMSIgY2xhc3M9InByaWNlIiBjb250ZW50PSIzMjAiIGl0ZW1wcm9wPSJwcmljZSI+MzIwLi08c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+KyBzaGlwcGluZzwvc3Bhbj48L2xhYmVsPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9zY2hlbWEub3JnL0luU3RvY2siIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSI+CjxidXR0b24gY2xhc3M9ImJ0biBidG4tY29tbWl0IiB0eXBlPSJzdWJtaXQiPkFkZCB0byBjYXJ0PC9idXR0b24+PC9kaXY+CjwvZmllbGRzZXQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZ2Z4bm96ZXhpaiEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIj48L2Zvcm0+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+PC9saT48L3VsPjxwPjwvcD48L2Rpdj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQyMDc6X2lkMzA1X19WVUlEIiB2YWx1ZT0iIWdmeG5vemV4aWohIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+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, 01 Dec 2022 16:52:29 GMT
228
- - request:
229
- method: get
230
- uri: https://webstore.iec.ch/webstore/webstore.nsf/AjaxRequestXML?Openagent&url=160
231
- body:
232
- encoding: US-ASCII
233
- string: ''
234
- headers:
235
- Accept-Encoding:
236
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
237
- Accept:
238
- - "*/*"
239
- User-Agent:
240
- - Ruby
241
- Host:
242
- - webstore.iec.ch
243
- response:
244
- status:
245
- code: 200
246
- message: OK
247
- headers:
248
- Content-Type:
249
- - text/xml
250
- Content-Length:
251
- - '326'
252
- Connection:
253
- - keep-alive
254
- Server:
255
- - Lotus-Domino
256
- Date:
257
- - Thu, 01 Dec 2022 16:52:32 GMT
258
- Cache-Control:
259
- - NoCache
260
- X-Cache:
261
- - Miss from cloudfront
262
- Via:
263
- - 1.1 190f65eebc0c7e2a61e00850eb7dae6a.cloudfront.net (CloudFront)
264
- X-Amz-Cf-Pop:
265
- - ATL56-P1
266
- X-Amz-Cf-Id:
267
- - BLRi7aZcWiDOPMWc58T-ywUk8QiGe-xQo9Tu2EiQGZaPUOiEK8smsQ==
268
- body:
269
- encoding: ASCII-8BIT
270
- string: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RES><ROW><FULL_NAME>IEC
271
- 60050-102:2007/AMD3:2021</FULL_NAME><PUB_DATE>2021-03-23</PUB_DATE><ARTNUM>109921</ARTNUM><STATUS>PUBLISHED</STATUS><CORR></CORR><ISH></ISH><VAP></VAP><ORDER>A006005001021000
272
- 99.0030000000</ORDER><PUB_ID>68709</PUB_ID><EDITION>1.0</EDITION><FPD></FPD><STAGE></STAGE></ROW><ROW><FULL_NAME>IEC
273
- 60050-102:2007/AMD2:2020</FULL_NAME><PUB_DATE>2020-05-26</PUB_DATE><ARTNUM>107982</ARTNUM><STATUS>PUBLISHED</STATUS><CORR></CORR><ISH></ISH><VAP></VAP><ORDER>A006005001021000
274
- 99.0020000000</ORDER><PUB_ID>66844</PUB_ID><EDITION>1.0</EDITION><FPD></FPD><STAGE></STAGE></ROW><ROW><FULL_NAME>IEC
275
- 60050-102:2007/AMD1:2017</FULL_NAME><PUB_DATE>2017-08-31</PUB_DATE><ARTNUM>102635</ARTNUM><STATUS>PUBLISHED</STATUS><CORR></CORR><ISH></ISH><VAP></VAP><ORDER>A006005001021000
276
- 99.0010000000</ORDER><PUB_ID>61315</PUB_ID><EDITION>1.0</EDITION><FPD></FPD><STAGE></STAGE></ROW></RES>
277
-
278
- '
279
- recorded_at: Thu, 01 Dec 2022 16:52:30 GMT
280
- recorded_with: VCR 6.1.0