metanorma-standoc 1.6.5 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/standoc/basicdoc.rng +18 -3
- data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +33 -20
- data/lib/asciidoctor/standoc/cleanup_inline.rb +3 -1
- data/lib/asciidoctor/standoc/cleanup_terms.rb +1 -6
- data/lib/asciidoctor/standoc/converter.rb +23 -11
- data/lib/asciidoctor/standoc/front_contributor.rb +8 -4
- data/lib/asciidoctor/standoc/inline.rb +6 -5
- data/lib/asciidoctor/standoc/isodoc.rng +7 -0
- data/lib/asciidoctor/standoc/macros.rb +14 -1
- data/lib/asciidoctor/standoc/section.rb +21 -20
- data/lib/asciidoctor/standoc/utils.rb +2 -0
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +2 -2
- data/spec/asciidoctor-standoc/base_spec.rb +10 -4
- data/spec/asciidoctor-standoc/blocks_spec.rb +6 -1
- data/spec/asciidoctor-standoc/cleanup_sections_spec.rb +7 -2
- data/spec/asciidoctor-standoc/cleanup_spec.rb +3 -0
- data/spec/asciidoctor-standoc/converter_spec.rb +8 -0
- data/spec/asciidoctor-standoc/inline_spec.rb +2 -5
- data/spec/asciidoctor-standoc/macros_spec.rb +30 -0
- data/spec/asciidoctor-standoc/section_spec.rb +6 -1
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +75 -69
- metadata +7 -6
@@ -40,7 +40,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
40
40
|
:docfile: test.adoc
|
41
41
|
:nodoc:
|
42
42
|
:novalid:
|
43
|
-
:publisher: International Electrotechnical Commission
|
43
|
+
:publisher: International Electrotechnical Commission;IETF;ISO
|
44
44
|
INPUT
|
45
45
|
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type='semantic' version='#{Metanorma::Standoc::VERSION}'>
|
46
46
|
<bibdata type='standard'>
|
@@ -181,6 +181,7 @@ OUTPUT
|
|
181
181
|
:role: author
|
182
182
|
:affiliation: Slate Rock and Gravel Company
|
183
183
|
:affiliation_abbrev: SRG
|
184
|
+
:affiliation_subdiv: Hermeneutics Unit; Exegetical Subunit
|
184
185
|
:address: 6 Rubble Way, Bedrock
|
185
186
|
:contributor-uri: http://slate.example.com
|
186
187
|
:phone: 123
|
@@ -191,13 +192,14 @@ OUTPUT
|
|
191
192
|
:role_2: editor
|
192
193
|
:affiliation_2: Rockhead and Quarry Cave Construction Company
|
193
194
|
:affiliation_abbrev_2: RQCCC
|
195
|
+
:affiliation_subdiv_2: Hermeneutics Unit; Exegetical Subunit
|
194
196
|
:address_2: 6A Rubble Way, + \\
|
195
197
|
Bedrock
|
196
198
|
:email_2: barney@rockhead.example.com
|
197
199
|
:phone_2: 789
|
198
200
|
:fax_2: 012
|
199
|
-
:publisher: "Hanna Barbera"
|
200
|
-
:copyright-holder: "Ribose, Inc."
|
201
|
+
:publisher: "Hanna Barbera"; "Cartoon Network"; "Ribose, Inc."
|
202
|
+
:copyright-holder: "Ribose, Inc."; Hanna Barbera
|
201
203
|
:part-of: ABC
|
202
204
|
:translated-from: DEF,GHI;JKL MNO,PQR
|
203
205
|
:keywords: a, b, c
|
@@ -288,6 +290,8 @@ OUTPUT
|
|
288
290
|
<organization>
|
289
291
|
<name>Slate Rock and Gravel Company</name>
|
290
292
|
<abbreviation>SRG</abbreviation>
|
293
|
+
<subdivision>Hermeneutics Unit</subdivision>
|
294
|
+
<subdivision>Exegetical Subunit</subdivision>
|
291
295
|
<address>
|
292
296
|
<formattedAddress>
|
293
297
|
6 Rubble Way, Bedrock
|
@@ -312,6 +316,8 @@ OUTPUT
|
|
312
316
|
<organization>
|
313
317
|
<name>Rockhead and Quarry Cave Construction Company</name>
|
314
318
|
<abbreviation>RQCCC</abbreviation>
|
319
|
+
<subdivision>Hermeneutics Unit</subdivision>
|
320
|
+
<subdivision>Exegetical Subunit</subdivision>
|
315
321
|
<address>
|
316
322
|
<formattedAddress>6A Rubble Way, <br/>Bedrock</formattedAddress>
|
317
323
|
</address>
|
@@ -425,7 +431,7 @@ OUTPUT
|
|
425
431
|
:tc-docnumber: 2000
|
426
432
|
:language: el
|
427
433
|
:script: Grek
|
428
|
-
:publisher: IEC
|
434
|
+
:publisher: IEC;IETF;ISO
|
429
435
|
:uri: A
|
430
436
|
:xml-uri: B
|
431
437
|
:html-uri: C
|
@@ -340,7 +340,9 @@ RSpec.describe Asciidoctor::Standoc do
|
|
340
340
|
|
341
341
|
NOTE: This is not a termnote
|
342
342
|
|
343
|
-
|
343
|
+
====
|
344
|
+
This is not a termexample
|
345
|
+
====
|
344
346
|
|
345
347
|
[.nonterm]
|
346
348
|
=== Term1
|
@@ -355,6 +357,9 @@ RSpec.describe Asciidoctor::Standoc do
|
|
355
357
|
<note id='_'>
|
356
358
|
<p id='_'>This is not a termnote</p>
|
357
359
|
</note>
|
360
|
+
<example id='_'>
|
361
|
+
<p id='_'>This is not a termexample</p>
|
362
|
+
</example>
|
358
363
|
<clause id="_" inline-header="false" obligation="normative">
|
359
364
|
<title>Term1</title>
|
360
365
|
<note id="_">
|
@@ -3,7 +3,7 @@ require "relaton_iec"
|
|
3
3
|
require "fileutils"
|
4
4
|
|
5
5
|
RSpec.describe Asciidoctor::Standoc do
|
6
|
-
it "
|
6
|
+
it "appends any initial user-supplied text to boilerplate in terms and definitions" do
|
7
7
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
8
8
|
#{ASCIIDOC_BLANK_HDR}
|
9
9
|
== Terms and Definitions
|
@@ -20,7 +20,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
20
20
|
<sections>
|
21
21
|
<terms id="_" obligation="normative"><title>Terms and definitions</title>
|
22
22
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
23
|
-
|
23
|
+
<p id='_'>I am boilerplate</p>
|
24
|
+
<ul id='_'>
|
25
|
+
<li>
|
26
|
+
<p id='_'>So am I</p>
|
27
|
+
</li>
|
28
|
+
</ul>
|
24
29
|
<term id="term-time">
|
25
30
|
<preferred>Time</preferred>
|
26
31
|
<definition><p id="_">This paragraph is extraneous</p></definition>
|
@@ -7,11 +7,14 @@ RSpec.describe Asciidoctor::Standoc do
|
|
7
7
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
8
8
|
#{ASCIIDOC_BLANK_HDR}
|
9
9
|
== "Quotation" A's
|
10
|
+
|
11
|
+
'24:00:00'.
|
10
12
|
INPUT
|
11
13
|
#{BLANK_HDR}
|
12
14
|
<sections>
|
13
15
|
<clause id="_" inline-header="false" obligation="normative">
|
14
16
|
<title>“Quotation” A’s</title>
|
17
|
+
<p id='_'>‘24:00:00’.</p>
|
15
18
|
</clause>
|
16
19
|
</sections>
|
17
20
|
</standard-document>
|
@@ -418,14 +418,11 @@ OUTPUT
|
|
418
418
|
it "processes index terms" do
|
419
419
|
expect((strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to (<<~"OUTPUT")
|
420
420
|
#{ASCIIDOC_BLANK_HDR}
|
421
|
-
((See)) Index ((_term_)) and(((A
|
421
|
+
((See)) Index ((_term_)) and(((A~B~, stem:[alpha], Ⲁ))).
|
422
422
|
INPUT
|
423
423
|
#{BLANK_HDR}
|
424
424
|
<sections>
|
425
|
-
|
426
|
-
See
|
427
|
-
<index primary='See'/> Index <em>term</em> <index primary='term'/> and<index primary='A' secondary='B' tertiary='C'/>.
|
428
|
-
</p>
|
425
|
+
<p id="_">See<index><primary>See</primary></index> Index <em>term</em><index><primary><em>term</em></primary></index> and<index><primary>A<sub>B</sub></primary><secondary><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>α</mi></math></stem></secondary><tertiary>Ⲁ</tertiary></index>.</p>
|
429
426
|
</sections>
|
430
427
|
</standard-document>
|
431
428
|
OUTPUT
|
@@ -53,6 +53,13 @@ RSpec.describe Asciidoctor::Standoc do
|
|
53
53
|
index:see[D,_E_,F]
|
54
54
|
index:also[G,H,I,J]
|
55
55
|
index:see[K,L,M,N,O]
|
56
|
+
index-range:id2[P]
|
57
|
+
index-range:id3[((_P_))]
|
58
|
+
index-range:id3[(((Q, R, S)))]
|
59
|
+
|
60
|
+
Text [[id2]]
|
61
|
+
|
62
|
+
Text [[id3]]
|
56
63
|
INPUT
|
57
64
|
#{BLANK_HDR}
|
58
65
|
<sections>
|
@@ -77,7 +84,30 @@ RSpec.describe Asciidoctor::Standoc do
|
|
77
84
|
<tertiary>I</tertiary>
|
78
85
|
<target>J</target>
|
79
86
|
</index-xref>
|
87
|
+
P
|
88
|
+
<index to="id2">
|
89
|
+
<primary>P</primary>
|
90
|
+
</index>
|
91
|
+
<em>P</em>
|
92
|
+
<index to="id3">
|
93
|
+
<primary>
|
94
|
+
<em>P</em>
|
95
|
+
</primary>
|
96
|
+
</index>
|
97
|
+
<index to="id3">
|
98
|
+
<primary>Q</primary>
|
99
|
+
<secondary>R</secondary>
|
100
|
+
<tertiary>S</tertiary>
|
101
|
+
</index>
|
80
102
|
</p>
|
103
|
+
<p id='_'>
|
104
|
+
Text
|
105
|
+
<bookmark id='id2'/>
|
106
|
+
</p>
|
107
|
+
<p id='_'>
|
108
|
+
Text
|
109
|
+
<bookmark id='id3'/>
|
110
|
+
</p>
|
81
111
|
</sections>
|
82
112
|
</standard-document>
|
83
113
|
OUTPUT
|
@@ -34,6 +34,11 @@ RSpec.describe Asciidoctor::Standoc do
|
|
34
34
|
|
35
35
|
== Terms, Definitions, Symbols and Abbreviated Terms
|
36
36
|
|
37
|
+
[.boilerplate]
|
38
|
+
=== Boilerplate
|
39
|
+
|
40
|
+
Boilerplate text
|
41
|
+
|
37
42
|
[.nonterm]
|
38
43
|
=== Introduction
|
39
44
|
|
@@ -116,7 +121,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
116
121
|
</term>
|
117
122
|
</terms>
|
118
123
|
<clause id="_" obligation="normative"><title>Terms, definitions, symbols and abbreviated terms</title>
|
119
|
-
|
124
|
+
<p id='_'>Boilerplate text</p>
|
120
125
|
<clause id="_" inline-header="false" obligation="normative">
|
121
126
|
<title>Introduction</title>
|
122
127
|
<clause id="_" inline-header="false" obligation="normative">
|
@@ -7,12 +7,13 @@ http_interactions:
|
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
9
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
|
10
13
|
Accept-Encoding:
|
11
14
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
15
|
Accept:
|
13
16
|
- "*/*"
|
14
|
-
User-Agent:
|
15
|
-
- Ruby
|
16
17
|
response:
|
17
18
|
status:
|
18
19
|
code: 200
|
@@ -27,15 +28,15 @@ http_interactions:
|
|
27
28
|
Server:
|
28
29
|
- Lotus-Domino
|
29
30
|
Date:
|
30
|
-
-
|
31
|
+
- Mon, 21 Dec 2020 13:49:59 GMT
|
31
32
|
X-Cache:
|
32
33
|
- Miss from cloudfront
|
33
34
|
Via:
|
34
|
-
- 1.1
|
35
|
+
- 1.1 2e6ae2988ecce7b36779066f9365ab2d.cloudfront.net (CloudFront)
|
35
36
|
X-Amz-Cf-Pop:
|
36
|
-
-
|
37
|
+
- SYD1-C2
|
37
38
|
X-Amz-Cf-Id:
|
38
|
-
-
|
39
|
+
- MMlXsOFwqsjuGe07FNXVByL3zPvK7I4sYK4sVB7bwszvsMI206ghbw==
|
39
40
|
body:
|
40
41
|
encoding: ASCII-8BIT
|
41
42
|
string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
|
@@ -65,7 +66,7 @@ http_interactions:
|
|
65
66
|
class=\"pagination pagination-centered\">\n\t\t\t\t<ul><li class=\"active\"><a
|
66
67
|
href=\"#\" Title=\"Current page\">1</a></li></ul>\n\t\t </div>\n</body>\n</html>\n"
|
67
68
|
http_version:
|
68
|
-
recorded_at:
|
69
|
+
recorded_at: Mon, 21 Dec 2020 13:49:55 GMT
|
69
70
|
- request:
|
70
71
|
method: get
|
71
72
|
uri: https://webstore.iec.ch/searchkey&type=trf&RefNbr=IEC%2060050-102&From=&To=&start=1
|
@@ -73,12 +74,13 @@ http_interactions:
|
|
73
74
|
encoding: US-ASCII
|
74
75
|
string: ''
|
75
76
|
headers:
|
77
|
+
User-Agent:
|
78
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML,
|
79
|
+
like Gecko) Chrome/86.0.4240.111 Safari/537.36
|
76
80
|
Accept-Encoding:
|
77
81
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
78
82
|
Accept:
|
79
83
|
- "*/*"
|
80
|
-
User-Agent:
|
81
|
-
- Ruby
|
82
84
|
response:
|
83
85
|
status:
|
84
86
|
code: 200
|
@@ -93,15 +95,15 @@ http_interactions:
|
|
93
95
|
Server:
|
94
96
|
- Lotus-Domino
|
95
97
|
Date:
|
96
|
-
-
|
98
|
+
- Mon, 21 Dec 2020 13:50:00 GMT
|
97
99
|
X-Cache:
|
98
100
|
- Miss from cloudfront
|
99
101
|
Via:
|
100
|
-
- 1.1
|
102
|
+
- 1.1 8e87a55994813d8ad6e355c04ba8d3ba.cloudfront.net (CloudFront)
|
101
103
|
X-Amz-Cf-Pop:
|
102
|
-
-
|
104
|
+
- SYD1-C2
|
103
105
|
X-Amz-Cf-Id:
|
104
|
-
-
|
106
|
+
- F_alJW9HWKy_BJs71QELPtk9grVQlmkBeAaAHjeHIddEPL7nkjI-lg==
|
105
107
|
body:
|
106
108
|
encoding: ASCII-8BIT
|
107
109
|
string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
|
@@ -120,7 +122,7 @@ http_interactions:
|
|
120
122
|
wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
|
121
123
|
id=\"nbrestrf\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
|
122
124
|
http_version:
|
123
|
-
recorded_at:
|
125
|
+
recorded_at: Mon, 21 Dec 2020 13:49:56 GMT
|
124
126
|
- request:
|
125
127
|
method: get
|
126
128
|
uri: https://webstore.iec.ch/searchkey&type=wr&RefNbr=IEC%2060050-102&From=&To=&start=1
|
@@ -128,12 +130,13 @@ http_interactions:
|
|
128
130
|
encoding: US-ASCII
|
129
131
|
string: ''
|
130
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
|
131
136
|
Accept-Encoding:
|
132
137
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
133
138
|
Accept:
|
134
139
|
- "*/*"
|
135
|
-
User-Agent:
|
136
|
-
- Ruby
|
137
140
|
response:
|
138
141
|
status:
|
139
142
|
code: 200
|
@@ -148,15 +151,15 @@ http_interactions:
|
|
148
151
|
Server:
|
149
152
|
- Lotus-Domino
|
150
153
|
Date:
|
151
|
-
-
|
154
|
+
- Mon, 21 Dec 2020 13:50:01 GMT
|
152
155
|
X-Cache:
|
153
156
|
- Miss from cloudfront
|
154
157
|
Via:
|
155
|
-
- 1.1
|
158
|
+
- 1.1 4715204d6158cc3d3c88ac56effd794a.cloudfront.net (CloudFront)
|
156
159
|
X-Amz-Cf-Pop:
|
157
|
-
-
|
160
|
+
- SYD1-C2
|
158
161
|
X-Amz-Cf-Id:
|
159
|
-
-
|
162
|
+
- FbHY7EONTiCsJCF3o94MUwhWIdqHyJDj4Mq-0dSwRlf8g8tOVEA-1g==
|
160
163
|
body:
|
161
164
|
encoding: ASCII-8BIT
|
162
165
|
string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
|
@@ -175,7 +178,7 @@ http_interactions:
|
|
175
178
|
wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
|
176
179
|
id=\"nbreswr\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
|
177
180
|
http_version:
|
178
|
-
recorded_at:
|
181
|
+
recorded_at: Mon, 21 Dec 2020 13:49:57 GMT
|
179
182
|
- request:
|
180
183
|
method: get
|
181
184
|
uri: https://webstore.iec.ch/publication/160
|
@@ -205,25 +208,25 @@ http_interactions:
|
|
205
208
|
Server:
|
206
209
|
- Lotus-Domino
|
207
210
|
Date:
|
208
|
-
-
|
211
|
+
- Mon, 21 Dec 2020 13:50:02 GMT
|
209
212
|
Set-Cookie:
|
210
|
-
- SessionID=
|
213
|
+
- SessionID=FU6PMB1FS3; path=/
|
211
214
|
Expires:
|
212
215
|
- "-1"
|
213
216
|
X-Cache:
|
214
217
|
- Miss from cloudfront
|
215
218
|
Via:
|
216
|
-
- 1.1
|
219
|
+
- 1.1 31efcfadb9bf42888048a4e21662d761.cloudfront.net (CloudFront)
|
217
220
|
X-Amz-Cf-Pop:
|
218
|
-
-
|
221
|
+
- SYD1-C2
|
219
222
|
X-Amz-Cf-Id:
|
220
|
-
-
|
223
|
+
- NsID1LKY4Cb8ltrBt5f4Hw-9_HOadW-3jXl6imadQdzp9xziB2eJYw==
|
221
224
|
body:
|
222
225
|
encoding: ASCII-8BIT
|
223
226
|
string: !binary |-
|
224
|
-
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZUS0kzRVJCQTQiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFmdGtpM2VyYXZiISI+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+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ0IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48ZGl2IGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Mjpjb21wdXRlZEZpZWxkNSIgc3R5bGU9Im1hcmdpbi10b3A6NHB4IiBjbGFzcz0ibGFuZ3N3aXRjaGxhYmVsIj5FbmdsaXNoL0ZyZW5jaDwvZGl2PjxvcHRpb24gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ2IiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0ibGFuZ3N3aXRjaCI+MTYwRU4tRlI8L29wdGlvbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50Ij48c3BhbiBpdGVtcHJvcD0ib2ZmZXJzIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9PZmZlciI+PGFiYnIgaXRlbXByb3A9InByaWNlQ3VycmVuY3kiIHRpdGxlPSJTd2lzcyBGcmFuY3MiPkNIRjwvYWJicj4mbmJzcDs8bGFiZWwgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmxhYmVsMSIgY2xhc3M9InByaWNlIiBjb250ZW50PSIzMTAiIGl0ZW1wcm9wPSJwcmljZSI+MzEwLi08c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODI6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvbGFiZWw+PG1ldGEgY29udGVudD0iaHR0cDovL3NjaGVtYS5vcmcvSW5TdG9jayIgaXRlbXByb3A9ImF2YWlsYWJpbGl0eSI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJveC1wYW5lIj4KPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1jb21taXQiIHR5cGU9InN1Ym1pdCI+QWRkIHRvIGNhcnQ8L2J1dHRvbj48L2Rpdj4KPC9maWVsZHNldD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR2aWV3aWQiIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Ml9fVlVJRCIgdmFsdWU9IiFmdGtpM2VyYXZiISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIiB2YWx1ZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiPjwvZm9ybT4KPHAgY2xhc3M9InNlY29uZGFyeSBib3gtb3B0Ij4KPGEgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9PcGVuJmFtcDtpZD1HRk9ULTdOUFA4SCIgY2xhc3M9InhzcExpbmsiPkRvIHlvdSBuZWVkIGEgbXVsdGktdXNlciBjb3B5PzwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlICBwYW5lUCI+CjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpjb21wdXRlZEZpZWxkMiIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGZvcm0gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJQIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGZpZWxkc2V0IGNsYXNzPSJwYXJhbWV0ZXJzIj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50IHN0eWxlZC1zZWxlY3QiPjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNCIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDUiIHN0eWxlPSJtYXJnaW4tdG9wOjRweCIgY2xhc3M9Imxhbmdzd2l0Y2hsYWJlbCI+RW5nbGlzaC9GcmVuY2g8L2Rpdj48b3B0aW9uIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgY2xhc3M9Imxhbmdzd2l0Y2giPjE2MEVOLUZSPC9vcHRpb24+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZ0a2kzZXJhdmIhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODIiIHZhbHVlPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiI+PC9mb3JtPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGhyPgo8L2hyPgo8ZGl2IGNsYXNzPSJsLW1haW4tcHVsbGVkIj48ZGl2IGNsYXNzPSJhYnN0cmFjdCI+PHAgY2xhc3M9ImJ0biBidG4tcHJldmlldyI+CjxhIGlkPSJ2aWV3OmxpbmsyIiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRhcmdldD0iX2JsYW5rIj5QcmV2aWV3PC9hPjwvcD4KPGgzPgpBYnN0cmFjdDwvaDM+CjxkaXYgaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJyZWFkbW9yZSIgaXRlbXByb3A9ImRlc2NyaXB0aW9uIj5UaGlzIHBhcnQgb2YgSUVDIDYwMDUwIGdpdmVzIHRoZSBnZW5lcmFsIG1hdGhlbWF0aWNhbCB0ZXJtaW5vbG9neSB1c2VkIGluIHRoZSBmaWVsZHMgb2YgZWxlY3RyaWNpdHksIGVsZWN0cm9uaWNzIGFuZCB0ZWxlY29tbXVuaWNhdGlvbnMsIHRvZ2V0aGVyIHdpdGggYmFzaWMgY29uY2VwdHMgaW4gbGluZWFyIGFsZ2VicmEuIEl0IG1haW50YWlucyBhIGNsZWFyIGRpc3RpbmN0aW9uIGJldHdlZW4gbWF0aGVtYXRpY2FsIGNvbmNlcHRzIGFuZCBwaHlzaWNhbCBjb25jZXB0cywgZXZlbiBpZiBzb21lIHRlcm1zIGFyZSB1c2VkIGluIGJvdGggY2FzZXMuIEFub3RoZXIgcGFydCB3aWxsIGRlYWwgd2l0aCBmdW5jdGlvbnMuPGJyIC8+DQpJdCBoYXMgdGhlIHN0YXR1cyBvZiBhIGhvcml6b250YWwgc3RhbmRhcmQgaW4gYWNjb3JkYW5jZSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL0FydG51bV9QSy8zNjQzNT9vDQpwZW5kb2N1bWVudCI+SUVDIEd1aWRlIDEwODwvYT4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0idG9jIj48aDM+Ckxvb2sgaW5zaWRlPC9oMz4KPGEgaWQ9InZpZXc6bGluazE1IiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRpdGxlPSJGcmVlIHByZXZpZXciIHRhcmdldD0iX2JsYW5rIj48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3Qgc2Vjb25kYXJ5IHQtY29sdW1ucyI+CjxpbWcgaWQ9InZpZXc6aW1hZ2UxIiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvbG9va2luc2lkZS5wbmciIGFsdD0iIiBjbGFzcz0ieHNwSW1hZ2UiPjwvdWw+CjwvYT48L2Rpdj48L2Rpdj48aHI+PGRpdiBjbGFzcz0ibC1tYWluIj48aDMgaWQ9ImFkZGl0aW9uYWxpbmZvIj5BZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9oMz48ZGl2IGNsYXNzPSJ0YWJiYWJsZSI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiPjxsaSBjbGFzcz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjZGV0YWlscyI+RGV0YWlsczwvYT48L2xpPjxsaSBpZD0iaGlzdG9yeXRhYiI+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJlZj0iI2hpc3RvcnkiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ2hpc3RvcnknKTsiPkhpc3Rvcnk8L2E+PC9saT48bGkgaWQ9IndvcmtpbnByb2dyZXNzdGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjd29ya2lucHJvZ3Jlc3MiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ3dvcmtpbnByb2dyZXNzJyk7Ij5Xb3JrIGluIHByb2dyZXNzPC9hPjwvbGk+PGxpIGlkPSJsaTEiPjwvbGk+PGxpIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdGFnY2xvdWQiPlRhZ3M8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIGFjdGl2ZSBpbiIgaWQ9ImRldGFpbHMiPjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaW5mbyB2ZXJ0aWNhbC10aCI+PHRib2R5Pjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gdHlwZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ3IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkludGVybmF0aW9uYWwgU3RhbmRhcmQ8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPlB1YmxpY2F0aW9uIGRhdGU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiIGl0ZW1wcm9wPSJyZWxlYXNlRGF0ZSI+MjAwNy0wOC0yNzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBzY29wZT0icm93Ij5FZGl0aW9uPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6aW5wdXRUZXh0MSI+MS4wPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkF2YWlsYWJsZSBsYW5ndWFnZShzKTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkVuZ2xpc2gvRnJlbmNoPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij48YWJiciB0aXRsZT0iVGVjaG5pY2FsIENvbW1pdHRlZSI+VEM8L2FiYnI+LzxhYmJyIHRpdGxlPSJTdWItY29tbWl0dGVlIj5TQzwvYWJicj48L3RoPjx0ZD48YSBpZD0idmlldzpsaW5rNiIgaHJlZj0iLi4vc2VhcmNoZm9ybSZDb21OdW1iZXI9MSIgY2xhc3M9InhzcExpbmsiPlRDIDEgLSBUZXJtaW5vbG9neTwvYT48YSBpZD0idmlldzpsaW5rMSIgaHJlZj0iaHR0cHM6Ly93ZWJzdG9yZS5pZWMuY2gvcnNzJnRjPVRDJTIwMSIgc3R5bGU9ImZsb2F0OnJpZ2h0IiBjbGFzcz0ic3ltYm9sIHJzcyIgdGl0bGU9IlN1YnNjcmliZSB0byB0aGlzIFJTUyBmZWVkIj48c3BhbiBjbGFzcz0iaWNvbi1yc3MiPjwvc3Bhbj48Yj5yc3M8L2I+PC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPklDUzwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms3IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wMS4wNDAuMDciIGNsYXNzPSJ4c3BMaW5rIj4wMS4wNDAuMDcgLSBNYXRoZW1hdGljcy4gTmF0dXJhbCBzY2llbmNlcyAoVm9jYWJ1bGFyaWVzKTwvYT48YnI+CjxhIGlkPSJ2aWV3Omxpbms4IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wNy4wMjAiIGNsYXNzPSJ4c3BMaW5rIj4wNy4wMjAgLSBNYXRoZW1hdGljcw0KPC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPlBhZ2VzPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDQiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MTYyPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij5GaWxlIHNpemU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xNzc2PC9zcGFuPiZuYnNwOzxhYmJyIHRpdGxlPSJLaWxvYml0cyI+S0I8L2FiYnI+PC90ZD48L3RyPgo8L3Rib2R5PjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9Imhpc3RvcnkiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9IndvcmtpbnByb2dyZXNzIj48c3BhbiBpZD0idmlldzpfaWQxODM6eG1sV29ya2lucHJvZ3Jlc3MiPjwvc3Bhbj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwdWJpZCAgID0gIjE2MCI7CnZhciBwdWJ0eXBlID0gIklTIjsKCnZhciBYTUx1cmw9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQWpheFJlcXVlc3RYTUw/T3BlbmFnZW50JnVybD0iKyIiK3B1YmlkOwp2YXIgdGFyZ2V0SWRIaXN0b3J5PSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5IjsKdmFyIHRhcmdldElkV29ya2lucHJvZ3Jlc3M9InZpZXc6X2lkMTgzOnhtbFdvcmtpbnByb2dyZXNzIjsKdmFyIGFwSGlzdCA9IGRvam8uYnlJZCh0YXJnZXRJZEhpc3RvcnkpOwp2YXIgYXBXb3JrID0gZG9qby5ieUlkKHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoKdHJ5IHsKCglkb2pvLnhockdldCh7CgkJdXJsOiBYTUx1cmwsCgkJbG9hZDogZnVuY3Rpb24oWE1McmVzdWx0KSB7CgkJCVhNTHBhcnNlSGlzdG9yeShYTUxyZXN1bHQsIHRhcmdldElkSGlzdG9yeSx0YXJnZXRJZFdvcmtpbnByb2dyZXNzKTsKCQl9LAogICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yLCBpb2FyZ3MpewoJICAgICAgYXBIaXN0LmlubmVySFRNTCA9ICJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiA8YnIgLz4iICsgZXJyb3I7CgkgICAgICBhcFdvcmsuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCQkJfQoJCX0pOwoJCQoJICBpZiAocHVidHlwZT09J1RSRicpIHsJCQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5dGFiIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICB9CgkJCn0gY2F0Y2goZSkgewphbGVydCgiZXJyb3IgIiArIGUpfQo8L3NjcmlwdD4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRyZiI+PHA+VGhlIGZvbGxvd2luZyB0ZXN0IHJlcG9ydCBmb3JtcyBhcmUgcmVsYXRlZDo8L3A+PGRpdiBpZD0idmlldzpfaWQxODQ6cmVwZWF0cmVsYXRlZFRSRiI+CjwvZGl2Pgo8YnI+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRhZ2Nsb3VkIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48Zm9ybSBpZD0idmlldzpfaWQyMDY6X2lkMzA0IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJ4c3BGb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGgzPlJlbGF0ZWQgcHVibGljYXRpb25zPC9oMz48ZGl2IGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiI+Cjx1bD48c3BhbiBpZD0idmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHMiPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjEzMTUib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDE6MjAxNzwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjY4NDQib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwJywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDI6MjAyMDwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYxIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMzoyMDA5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PC9zcGFuPjxsaSBjbGFzcz0ibW9yZSIgaWQ9IndyIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOm5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5TaG93IGFsbCAmcmFxdW87PC9hPjwvbGk+PC91bD48cD48L3A+PC9kaXY+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNF9fVlVJRCIgdmFsdWU9IiFmdGtpM2VyYXZiISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMjA2Ol9pZDMwNCIgdmFsdWU9InZpZXc6X2lkMjA2Ol9pZDMwNCI+PC9mb3JtPgo8aDMgaWQ9InZpZXc6X2lkMjEyOmNvbXB1dGVkRmllbGQyIj5Nb3JlIGluZm9ybWF0aW9uPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlwdWIiPgo8L2Rpdj4KPGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQyI+CjxsaT48YSBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQzowOmxpbmsyIiBocmVmPSJodHRwczovL2llY2V0ZWNoLm9yZy9UZWNobmljYWwtQ29tbWl0dGVlcy8yMDE5LTAyL0luLXRoZS1iZWdpbm5pbmctdGhlcmUtd2FzLXRlcm1pbm9sb2d5IiB0YXJnZXQ9Il9ibGFuayI+QXJ0aWNsZTogYXZvaWRpbmcgYW1iaWd1aXR5PC9hPjwvbGk+PC9kaXY+CjwvdWw+PGJyPjxoMz5TaGFyZSB0aGlzIHBhZ2U8L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxIiBocmVmPSJtYWlsdG86P3N1YmplY3Q9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDtib2R5PUhlbGxvJTJDJTBBJTBBSSUyMHRob3VnaHQlMjB5b3UlMjBtaWdodCUyMGJlJTIwaW50ZXJlc3RlZCUyMGJ5JTIwdGhpcyUyMHB1YmxpY2F0aW9uJTNBJTBBJTBBJTA5aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCUwQSUwQS0tJTBBU2VudCUyMGZyb20lMjB0aGUlMjBJRUMlMjBXZWJzdG9yZSUyMHdlYnN0b3JlLmllYy5jaCUwQSIgY2xhc3M9InNzLWljb24gc3MtbWFpbC1yZWd1bGFyIiB0YXJnZXQ9Il9ibGFuayI+bWFpbDwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEwIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0ZXh0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7dmlhPUlFQ1N0YW5kYXJkcyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+VHdpdHRlcjwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazExIiBocmVmPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3U9aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCZhbXA7dD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMiUzQTIwMDciIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkZhY2Vib29rPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTMiIGhyZWY9Imh0dHA6Ly93d3cubGlua2VkaW4uY29tL3NoYXJlQXJ0aWNsZT9taW5pPXRydWUmYW1wO3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0aXRsZT1JRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDtzdW1tYXJ5PSZhbXA7c291cmNlPUlFQyUyMFdlYnN0b3JlIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5MaW5rZWRJbjwvYT4mbmJzcDs8L2xpPjwvdWw+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIxIj48aDQ+U2hhcmUgeW91ciBwdWJsaWNhdGlvbnM8L2g0PjxwPkxlYXJuIGhvdyB0byBzaGFyZSB5b3VyIHB1YmxpY2F0aW9ucyB3aXRoIHlvdXIKCQkJY29sbGVhZ3VlcywmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05QUDhIIj51c2luZyBuZXR3b3JraW5nIG9wdGlvbnM8L2E+LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIyIj48aDQ+UGF5bWVudCBpbmZvcm1hdGlvbjwvaDQ+PHA+T3VyIHByaWNlcyBhcmUgaW4gU3dpc3MgZnJhbmNzICg8YWJiciB0aXRsZT0iU3dpc3MgZnJhbmNzIj5DSEY8L2FiYnI+KS4gV2UgYWNjZXB0IGFsbCBtYWpvciBjcmVkaXQgY2FyZHMgKEFtZXJpY2FuIEV4cHJlc3MsIE1hc3RlcmNhcmQgYW5kCgkJCVZpc2EpLCBQYXlQYWwgYW5kIGJhbmsgdHJhbnNmZXJzIGFzIGZvcm0gb2YgcGF5bWVudC48L3A+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIzIj48aDQ+S2VlcCBpbiB0b3VjaDwvaDQ+PHA+S2VlcCB1cCB0byBkYXRlIHdpdGggbmV3IHB1YmxpY2F0aW9uIHJlbGVhc2VzIGFuZAoJCQlhbm5vdW5jZW1lbnRzIHdpdGgKCQkJb3VyIGZyZWUmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazEiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5JRUMgSnVzdCBQdWJsaXNoZWQgZW1haWwgbmV3c2xldHRlcjwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjQiPjxoNCBpZD0idmlldzpfaWQyMzQ6Y29tcHV0ZWRGaWVsZDYiPkNvbnRhY3QgY3VzdG9tZXIgc2VydmljZXM8L2g0PjxwIGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNyI+UGxlYXNlIDxhIGhyZWY9Im1haWx0bzpzYWxlc0BpZWMuY2giPnNlbmQgeW91ciBlbnF1aXJ5IGJ5IGVtYWlsPC9hPiBvciBjYWxsIHVzIG9uICs0MSAyMiA5MTkgMDIgMTEgYmV0d2VlbiAwOTowMCAmbmRhc2g7IDE3OjAwIENFVCBNb25kYXkgdG8gRnJpZGF5LjwvcD48L2Rpdj48L3NlY3Rpb24+PC9kaXY+PGZvb3RlciByb2xlPSJjb250ZW50aW5mbyI+PGRpdiBjbGFzcz0iaW5uZXIiPjxwIGNsYXNzPSJzb2NpYWwiPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2ZhY2Vib29rIiB0aXRsZT0iRmFjZWJvb2siPjxzcGFuIGNsYXNzPSJpY29uLWZhY2Vib29rIj48L3NwYW4+PGI+RmFjZWJvb2s8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3R3aXR0ZXIiIHRpdGxlPSJUd2l0dGVyIj48c3BhbiBjbGFzcz0iaWNvbi10d2l0dGVyIj48L3NwYW4+PGI+VHdpdHRlcjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvbGlua2VkaW4iIHRpdGxlPSJMaW5rZWRJbiI+PHNwYW4gY2xhc3M9Imljb24tbGlua2VkaW4iPjwvc3Bhbj48Yj5MaW5rZWRJbjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvcGludGVyZXN0IiB0aXRsZT0iUGludGVyZXN0Ij48c3BhbiBjbGFzcz0iaWNvbi1waW50ZXJlc3QiPjwvc3Bhbj48Yj5QaW50ZXJlc3Q8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3lvdXR1YmUiIHRpdGxlPSJZb3VUdWJlIj48c3BhbiBjbGFzcz0iaWNvbi15b3V0dWJlIj48L3NwYW4+PGI+WW91VHViZTwvYj48L2E+PC9wPjx1bCBjbGFzcz0ibGlua3MgdGVydGlhcnkgaW5saW5lIj48bGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1DU0pOLTlWQ0JXSiI+VGVybXMgJmFtcDsgQ29uZGl0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9hYm91dC9wcml2YWN5LyI+UHJpdmFjeTwvYT48L2xpPjwvdWw+PHVsIGNsYXNzPSJjb3B5cmlnaHQgdGVydGlhcnkgaW5saW5lIj48bGk+PGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOV042UCI+Q29weXJpZ2h0PC9hPjwvaT4mbmJzcDsmY29weTsmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCI+SUVDPC9hPiZuYnNwOzxzcGFuIGlkPSJ2aWV3Ol9pZDI1ODpjb21wdXRlZEZpZWxkMSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4yMDIwPC9zcGFuPi4mbmJzcDtBbGwgcmlnaHRzIHJlc2VydmVkLjwvbGk+PC91bD48cCBjbGFzcz0ic2VsZiI+PGEgaHJlZj0iI2llYy13ZWJzdG9yZSI+VG9wPHNwYW4gY2xhc3M9Imljb24tY2lyY2xlLWFycm93LXVwIj48L3NwYW4+PC9hPjwvcD48L2Rpdj48L2Zvb3Rlcj48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3ZlbmRvci9qcXVlcnktMS44LjMtbWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL2NvbmZpZy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9wbHVnaW5zLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAvL3ZhciBlbGxpcHNlc3RleHQgPSAiLi4uIjsKICAgIHZhciBlbGxpcHNlc3RleHQgPSAiIjsKICAgIHZhciBtb3JldGV4dCA9ICJTaG93IG1vcmUgwrsiOwogICAgdmFyIGxlc3N0ZXh0ID0gIlNob3cgbGVzcyI7CiAgICAKICAgIHZhciBjb250ZW50SGVpZ2h0OwogICAgdmFyIHNob3dIZWlnaHQ9MjAwOwogICAgCgogICAgJCgnLnJlYWRtb3JlJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY29udGVudCA9ICQodGhpcykuaHRtbCgpOwoKICAgICAgICBjb250ZW50SGVpZ2h0ID0gJCgnLnJlYWRtb3JlJykuaGVpZ2h0KCk7IAogICAgICAgIGlmKGNvbnRlbnRIZWlnaHQgPiBzaG93SGVpZ2h0KSB7CiAgICAgICAgCSQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iCgkJCSAgICB9KTsKICAgICAgICAgICAgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9Im1vcmVlbGxpcHNlcyI+JyArIGVsbGlwc2VzdGV4dCsgJzwvc3Bhbj48c3Bhbj48YSBocmVmPSIiIGNsYXNzPSJtb3JlbGluayI+JyArIG1vcmV0ZXh0ICsgJzwvYT48L3NwYW4+Jyk7CiAgICAgICAgfSAKICAgIH0pOwogCiAgICAkKCIubW9yZWxpbmsiKS5jbGljayhmdW5jdGlvbigpewogICAgICAgIGlmKCQodGhpcykuaGFzQ2xhc3MoImxlc3MiKSkgewogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChtb3JldGV4dCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6c2hvd0hlaWdodAoJCQl9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChsZXNzdGV4dCk7CiAgICAKCQkJJCgnLnJlYWRtb3JlJykuY3NzKHsJCQkJCQoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjoiIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICIiCgkJCX0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkKHRoaXMpLnByZXYoKS50b2dnbGUoKTsgIC8vIHNob3cvaGlkZSAiLi4uIiAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgpmdW5jdGlvbiB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQodGhpc0V2ZW50KSB7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyAKCXRyeXsJCgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJdmFyIGJhc2tldG5hbWU9cmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSk7CgkJCgkJY29tcHV0ZUJhc2tldEl0ZW1zKGJhc2tldG5hbWUpOwoJCWNvbXB1dGVEQUZpbGVzKCk7CgkJJCgiZGl2LmJ1eWJveCBmb3JtIikuc3VibWl0KAoJCQkJCQlmdW5jdGlvbigpIHsKCgkJCQkJCQl2YXIgbWVkaWEgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CgkJCQkJCQl2YXIgcHJpY2UgPSAkKHRoaXMpLmZpbmQoKCdpbnB1dFtuYW1lPWFydF9wcmljZV0nKSkKCQkJCQkJCQkJLnZhbCgpOwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtuYW1lPWFydF9sYW5nXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJCQkKCQkJCQkJCXZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJCQkoJ1tjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwkJCgkJCQkJCQkJCQoJCQkJCQkJCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGJhc2tldG5hbWUyID0gZ2V0Q29va2llKGpzQ29va2llTmFtZSk7CgkJCQkJCQlBZGRUb0Jhc2tldChtZWRpYSwgbGFuZ2FydG51bSwgYmFza2V0bmFtZTIpOwoKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfSk7CgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJfSBjYXRjaChlKSB7YWxlcnQoZS5tZXNzYWdlKTt9CgkJCn0pOwoKfQoKZnVuY3Rpb24gdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljayh0aGlzRXZlbnQpIHsKdmFyIG15V2luZG93ID0gd2luZG93Lm9wZW4oImh0dHA6Ly9lZXB1cmwuY29tL2JZM3Y3OSIsICJfYmxhbmsiLCAidG9vbGJhcj1ubywgc2Nyb2xsYmFycz1ubywgcmVzaXphYmxlPW5vLCB0b3A9MjAwLCBsZWZ0PTUwMCwgd2lkdGg9OTAwLCBoZWlnaHQ9NTU1Iik7CgoKfQoKWFNQLmFkZE9uTG9hZChmdW5jdGlvbigpIHsKWFNQLmF0dGFjaEV2ZW50KCJ2aWV3Ol9pZDM6X2lkNDYiLCAidmlldzpfaWQzIiwgIm9uQ2xpZW50TG9hZCIsIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCwgZmFsc2UsIDIpOwpYU1AuYXR0YWNoUGFydGlhbCgidmlldzpfaWQyMDY6X2lkMzA0Ol9pZDIxMCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAidmlldzpfaWQyMDY6X2lkMzA0OmxpbmtzaG93YWxsIiwgIm9uY2xpY2siLCBmdW5jdGlvbigpe30sIDIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiIpOwpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMjM0Ol9pZDI1NSIsICJ2aWV3Ol9pZDIzNDpsaW5rMSIsICJvbmNsaWNrIiwgdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljaywgZmFsc2UsIDIpOwp9KTsgCgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
|
227
|
+
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZVNlBNQjFGUzMiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFmdTZwbWIxZmdvISI+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+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ0IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48ZGl2IGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Mjpjb21wdXRlZEZpZWxkNSIgc3R5bGU9Im1hcmdpbi10b3A6NHB4IiBjbGFzcz0ibGFuZ3N3aXRjaGxhYmVsIj5FbmdsaXNoL0ZyZW5jaDwvZGl2PjxvcHRpb24gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ2IiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0ibGFuZ3N3aXRjaCI+MTYwRU4tRlI8L29wdGlvbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50Ij48c3BhbiBpdGVtcHJvcD0ib2ZmZXJzIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9PZmZlciI+PGFiYnIgaXRlbXByb3A9InByaWNlQ3VycmVuY3kiIHRpdGxlPSJTd2lzcyBGcmFuY3MiPkNIRjwvYWJicj4mbmJzcDs8bGFiZWwgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmxhYmVsMSIgY2xhc3M9InByaWNlIiBjb250ZW50PSIzMTAiIGl0ZW1wcm9wPSJwcmljZSI+MzEwLi08c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODI6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvbGFiZWw+PG1ldGEgY29udGVudD0iaHR0cDovL3NjaGVtYS5vcmcvSW5TdG9jayIgaXRlbXByb3A9ImF2YWlsYWJpbGl0eSI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJveC1wYW5lIj4KPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1jb21taXQiIHR5cGU9InN1Ym1pdCI+QWRkIHRvIGNhcnQ8L2J1dHRvbj48L2Rpdj4KPC9maWVsZHNldD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR2aWV3aWQiIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Ml9fVlVJRCIgdmFsdWU9IiFmdTZwbWIxZmdvISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIiB2YWx1ZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiPjwvZm9ybT4KPHAgY2xhc3M9InNlY29uZGFyeSBib3gtb3B0Ij4KPGEgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9PcGVuJmFtcDtpZD1HRk9ULTdOUFA4SCIgY2xhc3M9InhzcExpbmsiPkRvIHlvdSBuZWVkIGEgbXVsdGktdXNlciBjb3B5PzwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlICBwYW5lUCI+CjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpjb21wdXRlZEZpZWxkMiIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGZvcm0gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJQIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGZpZWxkc2V0IGNsYXNzPSJwYXJhbWV0ZXJzIj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50IHN0eWxlZC1zZWxlY3QiPjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNCIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDUiIHN0eWxlPSJtYXJnaW4tdG9wOjRweCIgY2xhc3M9Imxhbmdzd2l0Y2hsYWJlbCI+RW5nbGlzaC9GcmVuY2g8L2Rpdj48b3B0aW9uIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgY2xhc3M9Imxhbmdzd2l0Y2giPjE2MEVOLUZSPC9vcHRpb24+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZ1NnBtYjFmZ28hIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODIiIHZhbHVlPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiI+PC9mb3JtPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGhyPgo8L2hyPgo8ZGl2IGNsYXNzPSJsLW1haW4tcHVsbGVkIj48ZGl2IGNsYXNzPSJhYnN0cmFjdCI+PHAgY2xhc3M9ImJ0biBidG4tcHJldmlldyI+CjxhIGlkPSJ2aWV3OmxpbmsyIiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRhcmdldD0iX2JsYW5rIj5QcmV2aWV3PC9hPjwvcD4KPGgzPgpBYnN0cmFjdDwvaDM+CjxkaXYgaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJyZWFkbW9yZSIgaXRlbXByb3A9ImRlc2NyaXB0aW9uIj5UaGlzIHBhcnQgb2YgSUVDIDYwMDUwIGdpdmVzIHRoZSBnZW5lcmFsIG1hdGhlbWF0aWNhbCB0ZXJtaW5vbG9neSB1c2VkIGluIHRoZSBmaWVsZHMgb2YgZWxlY3RyaWNpdHksIGVsZWN0cm9uaWNzIGFuZCB0ZWxlY29tbXVuaWNhdGlvbnMsIHRvZ2V0aGVyIHdpdGggYmFzaWMgY29uY2VwdHMgaW4gbGluZWFyIGFsZ2VicmEuIEl0IG1haW50YWlucyBhIGNsZWFyIGRpc3RpbmN0aW9uIGJldHdlZW4gbWF0aGVtYXRpY2FsIGNvbmNlcHRzIGFuZCBwaHlzaWNhbCBjb25jZXB0cywgZXZlbiBpZiBzb21lIHRlcm1zIGFyZSB1c2VkIGluIGJvdGggY2FzZXMuIEFub3RoZXIgcGFydCB3aWxsIGRlYWwgd2l0aCBmdW5jdGlvbnMuPGJyIC8+DQpJdCBoYXMgdGhlIHN0YXR1cyBvZiBhIGhvcml6b250YWwgc3RhbmRhcmQgaW4gYWNjb3JkYW5jZSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL0FydG51bV9QSy8zNjQzNT9vDQpwZW5kb2N1bWVudCI+SUVDIEd1aWRlIDEwODwvYT4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0idG9jIj48aDM+Ckxvb2sgaW5zaWRlPC9oMz4KPGEgaWQ9InZpZXc6bGluazE1IiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRpdGxlPSJGcmVlIHByZXZpZXciIHRhcmdldD0iX2JsYW5rIj48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3Qgc2Vjb25kYXJ5IHQtY29sdW1ucyI+CjxpbWcgaWQ9InZpZXc6aW1hZ2UxIiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvbG9va2luc2lkZS5wbmciIGFsdD0iIiBjbGFzcz0ieHNwSW1hZ2UiPjwvdWw+CjwvYT48L2Rpdj48L2Rpdj48aHI+PGRpdiBjbGFzcz0ibC1tYWluIj48aDMgaWQ9ImFkZGl0aW9uYWxpbmZvIj5BZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9oMz48ZGl2IGNsYXNzPSJ0YWJiYWJsZSI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiPjxsaSBjbGFzcz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjZGV0YWlscyI+RGV0YWlsczwvYT48L2xpPjxsaSBpZD0iaGlzdG9yeXRhYiI+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJlZj0iI2hpc3RvcnkiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ2hpc3RvcnknKTsiPkhpc3Rvcnk8L2E+PC9saT48bGkgaWQ9IndvcmtpbnByb2dyZXNzdGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjd29ya2lucHJvZ3Jlc3MiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ3dvcmtpbnByb2dyZXNzJyk7Ij5Xb3JrIGluIHByb2dyZXNzPC9hPjwvbGk+PGxpIGlkPSJsaTEiPjwvbGk+PGxpIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdGFnY2xvdWQiPlRhZ3M8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIGFjdGl2ZSBpbiIgaWQ9ImRldGFpbHMiPjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaW5mbyB2ZXJ0aWNhbC10aCI+PHRib2R5Pjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gdHlwZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ3IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkludGVybmF0aW9uYWwgU3RhbmRhcmQ8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPlB1YmxpY2F0aW9uIGRhdGU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiIGl0ZW1wcm9wPSJyZWxlYXNlRGF0ZSI+MjAwNy0wOC0yNzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBzY29wZT0icm93Ij5FZGl0aW9uPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6aW5wdXRUZXh0MSI+MS4wPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkF2YWlsYWJsZSBsYW5ndWFnZShzKTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkVuZ2xpc2gvRnJlbmNoPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij48YWJiciB0aXRsZT0iVGVjaG5pY2FsIENvbW1pdHRlZSI+VEM8L2FiYnI+LzxhYmJyIHRpdGxlPSJTdWItY29tbWl0dGVlIj5TQzwvYWJicj48L3RoPjx0ZD48YSBpZD0idmlldzpsaW5rNiIgaHJlZj0iLi4vc2VhcmNoZm9ybSZDb21OdW1iZXI9MSIgY2xhc3M9InhzcExpbmsiPlRDIDEgLSBUZXJtaW5vbG9neTwvYT48YSBpZD0idmlldzpsaW5rMSIgaHJlZj0iaHR0cHM6Ly93ZWJzdG9yZS5pZWMuY2gvcnNzJnRjPVRDJTIwMSIgc3R5bGU9ImZsb2F0OnJpZ2h0IiBjbGFzcz0ic3ltYm9sIHJzcyIgdGl0bGU9IlN1YnNjcmliZSB0byB0aGlzIFJTUyBmZWVkIj48c3BhbiBjbGFzcz0iaWNvbi1yc3MiPjwvc3Bhbj48Yj5yc3M8L2I+PC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPklDUzwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms3IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wMS4wNDAuMDciIGNsYXNzPSJ4c3BMaW5rIj4wMS4wNDAuMDcgLSBNYXRoZW1hdGljcy4gTmF0dXJhbCBzY2llbmNlcyAoVm9jYWJ1bGFyaWVzKTwvYT48YnI+CjxhIGlkPSJ2aWV3Omxpbms4IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wNy4wMjAiIGNsYXNzPSJ4c3BMaW5rIj4wNy4wMjAgLSBNYXRoZW1hdGljcw0KPC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPlBhZ2VzPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDQiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MTYyPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij5GaWxlIHNpemU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xNzc2PC9zcGFuPiZuYnNwOzxhYmJyIHRpdGxlPSJLaWxvYml0cyI+S0I8L2FiYnI+PC90ZD48L3RyPgo8L3Rib2R5PjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9Imhpc3RvcnkiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9IndvcmtpbnByb2dyZXNzIj48c3BhbiBpZD0idmlldzpfaWQxODM6eG1sV29ya2lucHJvZ3Jlc3MiPjwvc3Bhbj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwdWJpZCAgID0gIjE2MCI7CnZhciBwdWJ0eXBlID0gIklTIjsKCnZhciBYTUx1cmw9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQWpheFJlcXVlc3RYTUw/T3BlbmFnZW50JnVybD0iKyIiK3B1YmlkOwp2YXIgdGFyZ2V0SWRIaXN0b3J5PSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5IjsKdmFyIHRhcmdldElkV29ya2lucHJvZ3Jlc3M9InZpZXc6X2lkMTgzOnhtbFdvcmtpbnByb2dyZXNzIjsKdmFyIGFwSGlzdCA9IGRvam8uYnlJZCh0YXJnZXRJZEhpc3RvcnkpOwp2YXIgYXBXb3JrID0gZG9qby5ieUlkKHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoKdHJ5IHsKCglkb2pvLnhockdldCh7CgkJdXJsOiBYTUx1cmwsCgkJbG9hZDogZnVuY3Rpb24oWE1McmVzdWx0KSB7CgkJCVhNTHBhcnNlSGlzdG9yeShYTUxyZXN1bHQsIHRhcmdldElkSGlzdG9yeSx0YXJnZXRJZFdvcmtpbnByb2dyZXNzKTsKCQl9LAogICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yLCBpb2FyZ3MpewoJICAgICAgYXBIaXN0LmlubmVySFRNTCA9ICJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiA8YnIgLz4iICsgZXJyb3I7CgkgICAgICBhcFdvcmsuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCQkJfQoJCX0pOwoJCQoJICBpZiAocHVidHlwZT09J1RSRicpIHsJCQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5dGFiIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICB9CgkJCn0gY2F0Y2goZSkgewphbGVydCgiZXJyb3IgIiArIGUpfQo8L3NjcmlwdD4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRyZiI+PHA+VGhlIGZvbGxvd2luZyB0ZXN0IHJlcG9ydCBmb3JtcyBhcmUgcmVsYXRlZDo8L3A+PGRpdiBpZD0idmlldzpfaWQxODQ6cmVwZWF0cmVsYXRlZFRSRiI+CjwvZGl2Pgo8YnI+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRhZ2Nsb3VkIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48Zm9ybSBpZD0idmlldzpfaWQyMDY6X2lkMzA0IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJ4c3BGb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGgzPlJlbGF0ZWQgcHVibGljYXRpb25zPC9oMz48ZGl2IGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiI+Cjx1bD48c3BhbiBpZD0idmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHMiPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjEzMTUib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDE6MjAxNzwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjY4NDQib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwJywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDI6MjAyMDwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYxIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMzoyMDA5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PC9zcGFuPjxsaSBjbGFzcz0ibW9yZSIgaWQ9IndyIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOm5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5TaG93IGFsbCAmcmFxdW87PC9hPjwvbGk+PC91bD48cD48L3A+PC9kaXY+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNF9fVlVJRCIgdmFsdWU9IiFmdTZwbWIxZmdvISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMjA2Ol9pZDMwNCIgdmFsdWU9InZpZXc6X2lkMjA2Ol9pZDMwNCI+PC9mb3JtPgo8aDMgaWQ9InZpZXc6X2lkMjEyOmNvbXB1dGVkRmllbGQyIj5Nb3JlIGluZm9ybWF0aW9uPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlwdWIiPgo8L2Rpdj4KPGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQyI+CjxsaT48YSBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQzowOmxpbmsyIiBocmVmPSJodHRwczovL2llY2V0ZWNoLm9yZy9UZWNobmljYWwtQ29tbWl0dGVlcy8yMDE5LTAyL0luLXRoZS1iZWdpbm5pbmctdGhlcmUtd2FzLXRlcm1pbm9sb2d5IiB0YXJnZXQ9Il9ibGFuayI+QXJ0aWNsZTogYXZvaWRpbmcgYW1iaWd1aXR5PC9hPjwvbGk+PC9kaXY+CjwvdWw+PGJyPjxoMz5TaGFyZSB0aGlzIHBhZ2U8L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxIiBocmVmPSJtYWlsdG86P3N1YmplY3Q9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDtib2R5PUhlbGxvJTJDJTBBJTBBSSUyMHRob3VnaHQlMjB5b3UlMjBtaWdodCUyMGJlJTIwaW50ZXJlc3RlZCUyMGJ5JTIwdGhpcyUyMHB1YmxpY2F0aW9uJTNBJTBBJTBBJTA5aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCUwQSUwQS0tJTBBU2VudCUyMGZyb20lMjB0aGUlMjBJRUMlMjBXZWJzdG9yZSUyMHdlYnN0b3JlLmllYy5jaCUwQSIgY2xhc3M9InNzLWljb24gc3MtbWFpbC1yZWd1bGFyIiB0YXJnZXQ9Il9ibGFuayI+bWFpbDwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEwIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0ZXh0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyZhbXA7dmlhPUlFQ1N0YW5kYXJkcyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+VHdpdHRlcjwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazExIiBocmVmPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3U9aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCZhbXA7dD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMiUzQTIwMDciIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkZhY2Vib29rPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTMiIGhyZWY9Imh0dHA6Ly93d3cubGlua2VkaW4uY29tL3NoYXJlQXJ0aWNsZT9taW5pPXRydWUmYW1wO3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0aXRsZT1JRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDtzdW1tYXJ5PSZhbXA7c291cmNlPUlFQyUyMFdlYnN0b3JlIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5MaW5rZWRJbjwvYT4mbmJzcDs8L2xpPjwvdWw+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIxIj48aDQ+U2hhcmUgeW91ciBwdWJsaWNhdGlvbnM8L2g0PjxwPkxlYXJuIGhvdyB0byBzaGFyZSB5b3VyIHB1YmxpY2F0aW9ucyB3aXRoIHlvdXIKCQkJY29sbGVhZ3VlcywmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05QUDhIIj51c2luZyBuZXR3b3JraW5nIG9wdGlvbnM8L2E+LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIyIj48aDQ+UGF5bWVudCBpbmZvcm1hdGlvbjwvaDQ+PHA+T3VyIHByaWNlcyBhcmUgaW4gU3dpc3MgZnJhbmNzICg8YWJiciB0aXRsZT0iU3dpc3MgZnJhbmNzIj5DSEY8L2FiYnI+KS4gV2UgYWNjZXB0IGFsbCBtYWpvciBjcmVkaXQgY2FyZHMgKEFtZXJpY2FuIEV4cHJlc3MsIE1hc3RlcmNhcmQgYW5kCgkJCVZpc2EpLCBQYXlQYWwgYW5kIGJhbmsgdHJhbnNmZXJzIGFzIGZvcm0gb2YgcGF5bWVudC48L3A+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIzIj48aDQ+S2VlcCBpbiB0b3VjaDwvaDQ+PHA+S2VlcCB1cCB0byBkYXRlIHdpdGggbmV3IHB1YmxpY2F0aW9uIHJlbGVhc2VzIGFuZAoJCQlhbm5vdW5jZW1lbnRzIHdpdGgKCQkJb3VyIGZyZWUmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazEiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5JRUMgSnVzdCBQdWJsaXNoZWQgZW1haWwgbmV3c2xldHRlcjwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjQiPjxoNCBpZD0idmlldzpfaWQyMzQ6Y29tcHV0ZWRGaWVsZDYiPkNvbnRhY3QgY3VzdG9tZXIgc2VydmljZXM8L2g0PjxwIGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNyI+UGxlYXNlIDxhIGhyZWY9Im1haWx0bzpzYWxlc0BpZWMuY2giPnNlbmQgeW91ciBlbnF1aXJ5IGJ5IGVtYWlsPC9hPiBvciBjYWxsIHVzIG9uICs0MSAyMiA5MTkgMDIgMTEgYmV0d2VlbiAwOTowMCAmbmRhc2g7IDE3OjAwIENFVCBNb25kYXkgdG8gRnJpZGF5LjwvcD48L2Rpdj48L3NlY3Rpb24+PC9kaXY+PGZvb3RlciByb2xlPSJjb250ZW50aW5mbyI+PGRpdiBjbGFzcz0iaW5uZXIiPjxwIGNsYXNzPSJzb2NpYWwiPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2ZhY2Vib29rIiB0aXRsZT0iRmFjZWJvb2siPjxzcGFuIGNsYXNzPSJpY29uLWZhY2Vib29rIj48L3NwYW4+PGI+RmFjZWJvb2s8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3R3aXR0ZXIiIHRpdGxlPSJUd2l0dGVyIj48c3BhbiBjbGFzcz0iaWNvbi10d2l0dGVyIj48L3NwYW4+PGI+VHdpdHRlcjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvbGlua2VkaW4iIHRpdGxlPSJMaW5rZWRJbiI+PHNwYW4gY2xhc3M9Imljb24tbGlua2VkaW4iPjwvc3Bhbj48Yj5MaW5rZWRJbjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvcGludGVyZXN0IiB0aXRsZT0iUGludGVyZXN0Ij48c3BhbiBjbGFzcz0iaWNvbi1waW50ZXJlc3QiPjwvc3Bhbj48Yj5QaW50ZXJlc3Q8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3lvdXR1YmUiIHRpdGxlPSJZb3VUdWJlIj48c3BhbiBjbGFzcz0iaWNvbi15b3V0dWJlIj48L3NwYW4+PGI+WW91VHViZTwvYj48L2E+PC9wPjx1bCBjbGFzcz0ibGlua3MgdGVydGlhcnkgaW5saW5lIj48bGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1DU0pOLTlWQ0JXSiI+VGVybXMgJmFtcDsgQ29uZGl0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9hYm91dC9wcml2YWN5LyI+UHJpdmFjeTwvYT48L2xpPjwvdWw+PHVsIGNsYXNzPSJjb3B5cmlnaHQgdGVydGlhcnkgaW5saW5lIj48bGk+PGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOV042UCI+Q29weXJpZ2h0PC9hPjwvaT4mbmJzcDsmY29weTsmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCI+SUVDPC9hPiZuYnNwOzxzcGFuIGlkPSJ2aWV3Ol9pZDI1ODpjb21wdXRlZEZpZWxkMSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4yMDIwPC9zcGFuPi4mbmJzcDtBbGwgcmlnaHRzIHJlc2VydmVkLjwvbGk+PC91bD48cCBjbGFzcz0ic2VsZiI+PGEgaHJlZj0iI2llYy13ZWJzdG9yZSI+VG9wPHNwYW4gY2xhc3M9Imljb24tY2lyY2xlLWFycm93LXVwIj48L3NwYW4+PC9hPjwvcD48L2Rpdj48L2Zvb3Rlcj48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3ZlbmRvci9qcXVlcnktMS44LjMtbWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL2NvbmZpZy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9wbHVnaW5zLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAvL3ZhciBlbGxpcHNlc3RleHQgPSAiLi4uIjsKICAgIHZhciBlbGxpcHNlc3RleHQgPSAiIjsKICAgIHZhciBtb3JldGV4dCA9ICJTaG93IG1vcmUgwrsiOwogICAgdmFyIGxlc3N0ZXh0ID0gIlNob3cgbGVzcyI7CiAgICAKICAgIHZhciBjb250ZW50SGVpZ2h0OwogICAgdmFyIHNob3dIZWlnaHQ9MjAwOwogICAgCgogICAgJCgnLnJlYWRtb3JlJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY29udGVudCA9ICQodGhpcykuaHRtbCgpOwoKICAgICAgICBjb250ZW50SGVpZ2h0ID0gJCgnLnJlYWRtb3JlJykuaGVpZ2h0KCk7IAogICAgICAgIGlmKGNvbnRlbnRIZWlnaHQgPiBzaG93SGVpZ2h0KSB7CiAgICAgICAgCSQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iCgkJCSAgICB9KTsKICAgICAgICAgICAgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9Im1vcmVlbGxpcHNlcyI+JyArIGVsbGlwc2VzdGV4dCsgJzwvc3Bhbj48c3Bhbj48YSBocmVmPSIiIGNsYXNzPSJtb3JlbGluayI+JyArIG1vcmV0ZXh0ICsgJzwvYT48L3NwYW4+Jyk7CiAgICAgICAgfSAKICAgIH0pOwogCiAgICAkKCIubW9yZWxpbmsiKS5jbGljayhmdW5jdGlvbigpewogICAgICAgIGlmKCQodGhpcykuaGFzQ2xhc3MoImxlc3MiKSkgewogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChtb3JldGV4dCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6c2hvd0hlaWdodAoJCQl9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChsZXNzdGV4dCk7CiAgICAKCQkJJCgnLnJlYWRtb3JlJykuY3NzKHsJCQkJCQoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjoiIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICIiCgkJCX0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkKHRoaXMpLnByZXYoKS50b2dnbGUoKTsgIC8vIHNob3cvaGlkZSAiLi4uIiAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgpmdW5jdGlvbiB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQodGhpc0V2ZW50KSB7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyAKCXRyeXsJCgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJdmFyIGJhc2tldG5hbWU9cmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSk7CgkJCgkJY29tcHV0ZUJhc2tldEl0ZW1zKGJhc2tldG5hbWUpOwoJCWNvbXB1dGVEQUZpbGVzKCk7CgkJJCgiZGl2LmJ1eWJveCBmb3JtIikuc3VibWl0KAoJCQkJCQlmdW5jdGlvbigpIHsKCgkJCQkJCQl2YXIgbWVkaWEgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CgkJCQkJCQl2YXIgcHJpY2UgPSAkKHRoaXMpLmZpbmQoKCdpbnB1dFtuYW1lPWFydF9wcmljZV0nKSkKCQkJCQkJCQkJLnZhbCgpOwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtuYW1lPWFydF9sYW5nXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJCQkKCQkJCQkJCXZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJCQkoJ1tjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwkJCgkJCQkJCQkJCQoJCQkJCQkJCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGJhc2tldG5hbWUyID0gZ2V0Q29va2llKGpzQ29va2llTmFtZSk7CgkJCQkJCQlBZGRUb0Jhc2tldChtZWRpYSwgbGFuZ2FydG51bSwgYmFza2V0bmFtZTIpOwoKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfSk7CgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJfSBjYXRjaChlKSB7YWxlcnQoZS5tZXNzYWdlKTt9CgkJCn0pOwoKfQoKZnVuY3Rpb24gdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljayh0aGlzRXZlbnQpIHsKdmFyIG15V2luZG93ID0gd2luZG93Lm9wZW4oImh0dHA6Ly9lZXB1cmwuY29tL2JZM3Y3OSIsICJfYmxhbmsiLCAidG9vbGJhcj1ubywgc2Nyb2xsYmFycz1ubywgcmVzaXphYmxlPW5vLCB0b3A9MjAwLCBsZWZ0PTUwMCwgd2lkdGg9OTAwLCBoZWlnaHQ9NTU1Iik7CgoKfQoKWFNQLmFkZE9uTG9hZChmdW5jdGlvbigpIHsKWFNQLmF0dGFjaEV2ZW50KCJ2aWV3Ol9pZDM6X2lkNDYiLCAidmlldzpfaWQzIiwgIm9uQ2xpZW50TG9hZCIsIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCwgZmFsc2UsIDIpOwpYU1AuYXR0YWNoUGFydGlhbCgidmlldzpfaWQyMDY6X2lkMzA0Ol9pZDIxMCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAidmlldzpfaWQyMDY6X2lkMzA0OmxpbmtzaG93YWxsIiwgIm9uY2xpY2siLCBmdW5jdGlvbigpe30sIDIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiIpOwpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMjM0Ol9pZDI1NSIsICJ2aWV3Ol9pZDIzNDpsaW5rMSIsICJvbmNsaWNrIiwgdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljaywgZmFsc2UsIDIpOwp9KTsgCgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
|
225
228
|
http_version:
|
226
|
-
recorded_at:
|
229
|
+
recorded_at: Mon, 21 Dec 2020 13:49:58 GMT
|
227
230
|
- request:
|
228
231
|
method: get
|
229
232
|
uri: https://webstore.iec.ch/webstore/webstore.nsf/AjaxRequestXML?Openagent&url=160
|
@@ -245,7 +248,7 @@ http_interactions:
|
|
245
248
|
message: OK
|
246
249
|
headers:
|
247
250
|
Content-Type:
|
248
|
-
- text/
|
251
|
+
- text/xml
|
249
252
|
Content-Length:
|
250
253
|
- '299'
|
251
254
|
Connection:
|
@@ -253,17 +256,17 @@ http_interactions:
|
|
253
256
|
Server:
|
254
257
|
- Lotus-Domino
|
255
258
|
Date:
|
256
|
-
-
|
259
|
+
- Mon, 21 Dec 2020 13:50:04 GMT
|
257
260
|
Cache-Control:
|
258
261
|
- NoCache
|
259
262
|
X-Cache:
|
260
263
|
- Miss from cloudfront
|
261
264
|
Via:
|
262
|
-
- 1.1
|
265
|
+
- 1.1 4507fe7df8410726135c5afe328b2149.cloudfront.net (CloudFront)
|
263
266
|
X-Amz-Cf-Pop:
|
264
|
-
-
|
267
|
+
- SYD1-C2
|
265
268
|
X-Amz-Cf-Id:
|
266
|
-
-
|
269
|
+
- 4VgTJoGDCEVUhUzrr3NPDj46ypxGOU4ERLpu90lQRvu1ptVRZOFbAw==
|
267
270
|
body:
|
268
271
|
encoding: ASCII-8BIT
|
269
272
|
string: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RES><ROW><FULL_NAME>IEC
|
@@ -274,7 +277,7 @@ http_interactions:
|
|
274
277
|
|
275
278
|
'
|
276
279
|
http_version:
|
277
|
-
recorded_at:
|
280
|
+
recorded_at: Mon, 21 Dec 2020 13:49:59 GMT
|
278
281
|
- request:
|
279
282
|
method: get
|
280
283
|
uri: https://webstore.iec.ch/searchkey&RefNbr=IEC%2060050-103&From=&To=&start=1
|
@@ -282,12 +285,13 @@ http_interactions:
|
|
282
285
|
encoding: US-ASCII
|
283
286
|
string: ''
|
284
287
|
headers:
|
288
|
+
User-Agent:
|
289
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML,
|
290
|
+
like Gecko) Chrome/86.0.4240.111 Safari/537.36
|
285
291
|
Accept-Encoding:
|
286
292
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
287
293
|
Accept:
|
288
294
|
- "*/*"
|
289
|
-
User-Agent:
|
290
|
-
- Ruby
|
291
295
|
response:
|
292
296
|
status:
|
293
297
|
code: 200
|
@@ -302,15 +306,15 @@ http_interactions:
|
|
302
306
|
Server:
|
303
307
|
- Lotus-Domino
|
304
308
|
Date:
|
305
|
-
-
|
309
|
+
- Mon, 21 Dec 2020 13:50:04 GMT
|
306
310
|
X-Cache:
|
307
311
|
- Miss from cloudfront
|
308
312
|
Via:
|
309
|
-
- 1.1
|
313
|
+
- 1.1 a1a78bf5c10465fa33c66184d3460d64.cloudfront.net (CloudFront)
|
310
314
|
X-Amz-Cf-Pop:
|
311
|
-
-
|
315
|
+
- SYD1-C2
|
312
316
|
X-Amz-Cf-Id:
|
313
|
-
-
|
317
|
+
- SdJsaxkdjcnAD9b3hIfnBAeHG3yrHbXHcJYz9_L3pC8e-0saKgK13w==
|
314
318
|
body:
|
315
319
|
encoding: ASCII-8BIT
|
316
320
|
string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
|
@@ -341,7 +345,7 @@ http_interactions:
|
|
341
345
|
pagination-centered\">\n\t\t\t\t<ul><li class=\"active\"><a href=\"#\" Title=\"Current
|
342
346
|
page\">1</a></li></ul>\n\t\t </div>\n</body>\n</html>\n"
|
343
347
|
http_version:
|
344
|
-
recorded_at:
|
348
|
+
recorded_at: Mon, 21 Dec 2020 13:50:00 GMT
|
345
349
|
- request:
|
346
350
|
method: get
|
347
351
|
uri: https://webstore.iec.ch/searchkey&type=trf&RefNbr=IEC%2060050-103&From=&To=&start=1
|
@@ -349,12 +353,13 @@ http_interactions:
|
|
349
353
|
encoding: US-ASCII
|
350
354
|
string: ''
|
351
355
|
headers:
|
356
|
+
User-Agent:
|
357
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML,
|
358
|
+
like Gecko) Chrome/86.0.4240.111 Safari/537.36
|
352
359
|
Accept-Encoding:
|
353
360
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
354
361
|
Accept:
|
355
362
|
- "*/*"
|
356
|
-
User-Agent:
|
357
|
-
- Ruby
|
358
363
|
response:
|
359
364
|
status:
|
360
365
|
code: 200
|
@@ -369,15 +374,15 @@ http_interactions:
|
|
369
374
|
Server:
|
370
375
|
- Lotus-Domino
|
371
376
|
Date:
|
372
|
-
-
|
377
|
+
- Mon, 21 Dec 2020 13:50:05 GMT
|
373
378
|
X-Cache:
|
374
379
|
- Miss from cloudfront
|
375
380
|
Via:
|
376
|
-
- 1.1
|
381
|
+
- 1.1 3fc090af5e840c09e1796cd1af76a002.cloudfront.net (CloudFront)
|
377
382
|
X-Amz-Cf-Pop:
|
378
|
-
-
|
383
|
+
- SYD1-C2
|
379
384
|
X-Amz-Cf-Id:
|
380
|
-
-
|
385
|
+
- ZBKSj3tyuJlNgcJyNI-fldjE24bOcI2A5GdpjovqwNuwFkouHcvFkA==
|
381
386
|
body:
|
382
387
|
encoding: ASCII-8BIT
|
383
388
|
string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
|
@@ -396,7 +401,7 @@ http_interactions:
|
|
396
401
|
wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
|
397
402
|
id=\"nbrestrf\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
|
398
403
|
http_version:
|
399
|
-
recorded_at:
|
404
|
+
recorded_at: Mon, 21 Dec 2020 13:50:01 GMT
|
400
405
|
- request:
|
401
406
|
method: get
|
402
407
|
uri: https://webstore.iec.ch/searchkey&type=wr&RefNbr=IEC%2060050-103&From=&To=&start=1
|
@@ -404,12 +409,13 @@ http_interactions:
|
|
404
409
|
encoding: US-ASCII
|
405
410
|
string: ''
|
406
411
|
headers:
|
412
|
+
User-Agent:
|
413
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML,
|
414
|
+
like Gecko) Chrome/86.0.4240.111 Safari/537.36
|
407
415
|
Accept-Encoding:
|
408
416
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
409
417
|
Accept:
|
410
418
|
- "*/*"
|
411
|
-
User-Agent:
|
412
|
-
- Ruby
|
413
419
|
response:
|
414
420
|
status:
|
415
421
|
code: 200
|
@@ -424,15 +430,15 @@ http_interactions:
|
|
424
430
|
Server:
|
425
431
|
- Lotus-Domino
|
426
432
|
Date:
|
427
|
-
-
|
433
|
+
- Mon, 21 Dec 2020 13:50:07 GMT
|
428
434
|
X-Cache:
|
429
435
|
- Miss from cloudfront
|
430
436
|
Via:
|
431
|
-
- 1.1
|
437
|
+
- 1.1 0fdd8a19a9733146290bbb49eeceb280.cloudfront.net (CloudFront)
|
432
438
|
X-Amz-Cf-Pop:
|
433
|
-
-
|
439
|
+
- SYD1-C2
|
434
440
|
X-Amz-Cf-Id:
|
435
|
-
-
|
441
|
+
- QqRIhE7P11lQGm_8yWn33JmPGaXPq4dqrrEgkS4r0_zXpr6KSonxdQ==
|
436
442
|
body:
|
437
443
|
encoding: ASCII-8BIT
|
438
444
|
string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
|
@@ -451,7 +457,7 @@ http_interactions:
|
|
451
457
|
wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
|
452
458
|
id=\"nbreswr\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
|
453
459
|
http_version:
|
454
|
-
recorded_at:
|
460
|
+
recorded_at: Mon, 21 Dec 2020 13:50:02 GMT
|
455
461
|
- request:
|
456
462
|
method: get
|
457
463
|
uri: https://webstore.iec.ch/publication/161
|
@@ -475,31 +481,31 @@ http_interactions:
|
|
475
481
|
Content-Type:
|
476
482
|
- text/html;charset=UTF-8
|
477
483
|
Content-Length:
|
478
|
-
- '
|
484
|
+
- '6943'
|
479
485
|
Connection:
|
480
486
|
- keep-alive
|
481
487
|
Server:
|
482
488
|
- Lotus-Domino
|
483
489
|
Date:
|
484
|
-
-
|
490
|
+
- Mon, 21 Dec 2020 13:50:07 GMT
|
485
491
|
Set-Cookie:
|
486
|
-
- SessionID=
|
492
|
+
- SessionID=FU6PME7J1I; path=/
|
487
493
|
Expires:
|
488
494
|
- "-1"
|
489
495
|
X-Cache:
|
490
496
|
- Miss from cloudfront
|
491
497
|
Via:
|
492
|
-
- 1.1
|
498
|
+
- 1.1 b398b0ccb6b29046c37a3d2c503a6941.cloudfront.net (CloudFront)
|
493
499
|
X-Amz-Cf-Pop:
|
494
|
-
-
|
500
|
+
- SYD1-C2
|
495
501
|
X-Amz-Cf-Id:
|
496
|
-
-
|
502
|
+
- 4iWiYNXz6X1k34RJKlN8vuuw7F_hIbu1M-qG4QfEPp5SXLaIw1s6zA==
|
497
503
|
body:
|
498
504
|
encoding: ASCII-8BIT
|
499
505
|
string: !binary |-
|
500
|
-
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjFcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZUS0kzSUhWRjkiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMzoyMDA5IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMzoyMDA5IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMzogTWF0aGVtYXRpY3MgLSBGdW5jdGlvbnMiPgo8bWV0YSBuYW1lPSJDb3B5cmlnaHQiIGNvbnRlbnQ9IklFQyAtIEludGVybmF0aW9uYWwgRWxlY3Ryb3RlY2huaWNhbCBDb21taXNzaW9uIj4KPG1ldGEgbmFtZT0iTGFuZ3VhZ2UiIGNvbnRlbnQ9IkVuZ2xpc2giPgo8bGluayBocmVmPSJodHRwczovL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjEiIHJlbD0iY2Fub25pY2FsIj4KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IklFQyA2MDA1MC0xMDM6MjAwOSwgU3RhbmRhcmQiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLmNvb2tpZScpPC9zY3JpcHQ+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KPG1ldGEgY29udGVudD0ib24iIGh0dHAtZXF1aXY9ImNsZWFydHlwZSI+CjxtZXRhIGNvbnRlbnQ9IklFPWVkZ2UsY2hyb21lPTEiIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvSGlzdG9yeVdvcmtJblByb2dyZXNzTGliIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPihmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7ICBnYSgnY3JlYXRlJywgJ1VBLTM0Mzk4MzMxLTInLCAnYXV0bycpOyBnYSgnc2V0JywgJ2RpbWVuc2lvbjEnLCAnJyk7IGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvdmVuZG9yL21vZGVybml6ci5jdXN0b20uNDIxOTcuanMiPjwvc2NyaXB0PjxzY3JpcHQ+dmFyIGpzREJDQVRBTE9HPSIvd2Vic3RvcmUvSUVDQ2F0YS5uc2YiOyB2YXIganNQYXRoV2Vic3RvcmVEQj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZiI7IHZhciBqc0Nvb2tpZU5hbWU9ImllY3dlYnN0b3JlIjsKCQkvL2NvbnNvbGUubG9nKCJjb29raWV2YWwgPSAiK3JldHVybkNvb2tpZVZhbChqc0Nvb2tpZU5hbWUpKTs8L3NjcmlwdD48aGVhZGVyIGNsYXNzPSJicmFuZGluZyIgcm9sZT0iYmFubmVyIj48ZGl2IGNsYXNzPSJpbm5lciI+PGEgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2giIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0lFQ0xvZ28nLCAnQ2xpY2snLCAnd3d3LmllYy5jaCcpOyIgdGl0bGU9Ind3dy5pZWMuY2giPjxkaXYgY2xhc3M9ImxvZ28iPjxpbWcgYWx0PSJJRUMgbG9nbyIgc3JjPSIvd2Vic3RvcmVfQnVpbGQvaW1nL2xvZ29faWVjXzI3Ni5qcGciPjwvZGl2PjwvYT48aDE+PHN0cm9uZz5XZWJzdG9yZTwvc3Ryb25nPiZuYnNwO0k8aT5udGVybmF0aW9uYWwmbmJzcDs8L2k+RTxpPmxlY3Ryb3RlY2huaWNhbCZuYnNwOzwvaT5DPGk+b21taXNzaW9uPC9pPjwvaDE+PGRpdiBjbGFzcz0iY29ubmVjdCI+PGEgaWQ9InZpZXc6X2lkMzpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QmYW1wO2xvZ2luIiBjbGFzcz0ibG9nb3V0Ij5TaWduIGluPC9hPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6bGFiZWwyIiBjbGFzcz0ieHNwVGV4dExhYmVsIj4gfCA8L3NwYW4+PGEgaWQ9InZpZXc6X2lkMzpsaW5rMyIgaHJlZj0iL25ld2FjY291bnQiIGNsYXNzPSJ4c3BMaW5rIj5DcmVhdGUgYWNjb3VudDwvYT48aT48c3BhbiBpZD0idmlldzpfaWQzOmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2k+PC9kaXY+PGRpdiBjbGFzcz0ic2VhcmNoLWJveC1hbHQiPjxmb3JtIGlkPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QiIGNsYXNzPSJzZWFyY2giIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG9uc3VibWl0PSIKCgovL3dpbmRvdy5sb2NhdGlvbi5ocmVmPScvc2VhcmNoZm9ybSZhbXA7cT0nKyQoJnF1b3Q7W2lkJD1xXSZxdW90OykudmFsKCk7CgovL3JldHVybiBmYWxzZTsKCgp2YXIgS0VZVkFMID0gJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCQkJCQkKCQkJCQlLRVlWQUwgPSBLRVlWQUwucmVwbGFjZSgvJS9naSwgJnF1b3Q7ICZxdW90Oyk7CgkJCQkvLwlLRVlWQUwgPSBLRVlWQUwucmVwbGFjZSgvJnF1b3Q7L2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCQoJCQkJCQoJCQkJLy8JCUtFWVZBTD1lbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJdHJ5IHsKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KEtFWVZBTC50cmltKCkpOwoJCQkJCX0gY2F0Y2goZSl7CgkJCQkJCS8vSUU4CgkJCQkJCUtFWVZBTCA9IGVuY29kZVVSSUNvbXBvbmVudCgkLnRyaW0oS0VZVkFMKSk7CgkJCQkJfQoJCQkJCgkJCQkJCgkJCQkJCgkJCQkJd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3NlYXJjaGZvcm0mYW1wO3E9JyArIEtFWVZBTDsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCgkJCQkJCgkJCQkJCiIgcm9sZT0ic2VhcmNoIj4KPHA+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoOnEiIG5hbWU9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgY2xhc3M9ImlucHV0LTc1IHNlYXJjaC1xdWVyeSIgcGxhY2Vob2xkZXI9IlNlYXJjaCI+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1ibHVlIHN5bWJvbCI+PHNwYW4gY2xhc3M9Imljb24tc2VhcmNoIj48Yj5HbzwvYj48L3NwYW4+PC9idXR0b24+PC9wPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2hfX1ZVSUQiIHZhbHVlPSIhZnRraTNpaTZsNiEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIiB2YWx1ZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaCI+PC9mb3JtPgo8cD48YSBocmVmPSIvYWR2c2VhcmNoZm9ybSI+QWR2YW5jZWQgc2VhcmNoPC9hPjwvcD48L2Rpdj48L2Rpdj48L2hlYWRlcj48bmF2IGlkPSJuYXZpZ2F0aW9uLXRvZ2dsZSIgcm9sZT0ibmF2aWdhdGlvbiI+PHVsPjxsaT48YSBpZD0idmlldzpfaWQzOmxpbmtIb21lIiBocmVmPSIvaG9tZSIgY2xhc3M9InB1YmxpY2F0aW9uIiB0YXJnZXQ9Il9zZWxmIj5Ib21lPC9hPjwvbGk+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua1NpZ25JbiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QmYW1wO2xvZ2luIiBjbGFzcz0ieHNwTGluayIgdHlwZT0idGV4dC9odG1sIj5TaWduIGluPC9hPjwvbGk+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua0hlbHAiIGhyZWY9Ii9oZWxwIiBjbGFzcz0icHVibGljYXRpb24iPkhlbHA8L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rQmFza2V0IiBocmVmPSJqYXZhc2NyaXB0Om9wZW5CYXNrZXQoJ0Fub255bW91cycpOyIgY2xhc3M9InB1YmxpY2F0aW9uIj5DYXJ0IDxzcGFuIGNsYXNzPSJuYi1pdGVtcyBuYi1pdGVtcy1idXkiPjwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9ImxpbmthZHZzZWFyY2giIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua2FkdnNlYXJjaCIgaHJlZj0iL2FkdnNlYXJjaGZvcm0iIGNsYXNzPSJwdWJsaWNhdGlvbiI+QWR2YW5jZWQgU2VhcmNoPC9hPjwvbGk+PC91bD48L25hdj48ZGl2IGNsYXNzPSJjb250YWluZXIiIHJvbGU9Im1haW4iPjxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LS1ibG9jayBhbGVydC1zdWNjZXNzIGFsZXJ0LWRpc21pc3NhYmxlIiBpZD0ibWVzc2FnZWJhc2tldCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGJ1dHRvbiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9ImFsZXJ0IiB0eXBlPSJidXR0b24iPiZ0aW1lczs8L2J1dHRvbj48cCBjbGFzcz0ic2Vjb25kYXJ5Ij48c3Bhbj48L3NwYW4+PC9wPjwvZGl2PjxzZWN0aW9uIGNsYXNzPSJhcnRpY2xlIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9Qcm9kdWN0Ij48ZGl2IGNsYXNzPSJsLW1haW4iPjxzcGFuIGl0ZW1wcm9wPSJicmFuZCIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT3JnYW5pemF0aW9uIj48bWV0YSBjb250ZW50PSJJRUMiIGl0ZW1wcm9wPSJuYW1lIj48L3NwYW4+PGgxIGNsYXNzPSJyZWZlcmVuY2UiPjxzcGFuIGlkPSJ2aWV3OmRPQ1VNRU5UTkFNRTEiIGl0ZW1wcm9wPSJwcm9kdWN0SUQiPklFQyA2MDA1MC0xMDM6MjAwOTwvc3Bhbj4mbmJzcDs8c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkOSIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PC9oMT48aDIgaWQ9InZpZXc6RW5nbGlzaF9UaXRsZSIgY2xhc3M9InRpdGxlIiBpdGVtcHJvcD0ibmFtZSI+SW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMzogTWF0aGVtYXRpY3MgLSBGdW5jdGlvbnM8L2gyPjx1bCBjbGFzcz0ibWV0YSBpbmxpbmUgc2VwYXJhdGVkIj48bGk+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDgiIHRpdGxlPSJUZXJtaW5vbG9neSI+VEMgMTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0icHJldmlldyI+PGEgaHJlZj0iI2FkZGl0aW9uYWxpbmZvIj4mbmJzcDtBZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48ZGl2IGNsYXNzPSJsLWJveCBpcy1hbHdheXMtdmlzaWJsZSI+PGRpdiBjbGFzcz0idGFiYmFibGUgYnV5Ym94Ij48dWwgY2xhc3M9Im5hdiBuYXYtdGFicyIgaWQ9ImJ1eWJveGIiPjxsaSBpZD0idmlldzpfaWQ3NTpfaWQ3ODpyZXBlYXQxOjA6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJhY3RpdmUiPjxhIGhyZWY9Ii5wYW5lRSIgZGF0YS10b2dnbGU9InRhYiI+IERvd25sb2FkPC9hPjwvbGk+PGxpIGlkPSJ2aWV3Ol9pZDc1Ol9pZDc4OnJlcGVhdDE6MTpjb21wdXRlZEZpZWxkMiI+PGEgaHJlZj0iLnBhbmVQIiBkYXRhLXRvZ2dsZT0idGFiIj4gSGFyZGNvcHk8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpjb21wdXRlZEZpZWxkMSIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSBhY3RpdmUgaW4gcGFuZUUiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYxJmFtcDt0ZXN0IiBjbGFzcz0iRSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmFydF9sYW5nIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjphcnRfbGFuZyIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJmb250LXNpemU6MTVweCI+CTxvcHRpb24gdmFsdWU9IjE2MUVOLUZSIj5FbmdsaXNoL0ZyZW5jaDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMTYxRVMiPlNwYW5pc2g8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2xhYmVsPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9zY2hlbWEub3JnL0luU3RvY2siIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSI+CjxidXR0b24gY2xhc3M9ImJ0biBidG4tY29tbWl0IiB0eXBlPSJzdWJtaXQiPkFkZCB0byBjYXJ0PC9idXR0b24+PC9kaXY+CjwvZmllbGRzZXQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZnRraTNpaTZsNiEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIj48L2Zvcm0+CjxwIGNsYXNzPSJzZWNvbmRhcnkgYm94LW9wdCI+CjxhIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/T3BlbiZhbXA7aWQ9R0ZPVC03TlBQOEgiIGNsYXNzPSJ4c3BMaW5rIj5EbyB5b3UgbmVlZCBhIG11bHRpLXVzZXIgY29weT88L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSAgcGFuZVAiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYxJmFtcDt0ZXN0IiBjbGFzcz0iUCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmFydF9sYW5nIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjphcnRfbGFuZyIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJmb250LXNpemU6MTVweCI+CTxvcHRpb24gdmFsdWU9IjE2MUVOLUZSIj5FbmdsaXNoL0ZyZW5jaDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMTYxRVMiPlNwYW5pc2g8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZ0a2kzaWk2bDYhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODIiIHZhbHVlPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiI+PC9mb3JtPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGhyPgo8L2hyPgo8ZGl2IGNsYXNzPSJsLW1haW4tcHVsbGVkIj48ZGl2IGNsYXNzPSJhYnN0cmFjdCI+PHAgY2xhc3M9ImJ0biBidG4tcHJldmlldyI+CjxhIGlkPSJ2aWV3OmxpbmsyIiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMyU3QmVkMS4wJTdEYi5wZGYiIHRhcmdldD0iX2JsYW5rIj5QcmV2aWV3PC9hPjwvcD4KPGgzPgpBYnN0cmFjdDwvaDM+CjxkaXYgaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJyZWFkbW9yZSIgaXRlbXByb3A9ImRlc2NyaXB0aW9uIj5JRUMgNjAwNTAtMTAzOjIwMDkgZ2l2ZXMgdGhlIHRlcm1pbm9sb2d5IHJlbGF0aXZlIHRvIGZ1bmN0aW9ucyBvZiBvbmUgb3IgbW9yZSB2YXJpYWJsZXMuIFRvZ2V0aGVyIHdpdGggSUVDIDYwMDUwLTEwMiwgaXQgY292ZXJzIHRoZSBtYXRoZW1hdGljYWwgdGVybWlub2xvZ3kgdXNlZCBpbiB0aGUgZmllbGRzIG9mIGVsZWN0cmljaXR5LCBlbGVjdHJvbmljcyBhbmQgdGVsZWNvbW11bmljYXRpb25zLiBJdCBtYWludGFpbnMgYSBjbGVhciBkaXN0aW5jdGlvbiBiZXR3ZWVuIG1hdGhlbWF0aWNhbCBjb25jZXB0cyBhbmQgcGh5c2ljYWwgY29uY2VwdHMsIGV2ZW4gaWYgc29tZSB0ZXJtcyBhcmUgdXNlZCBpbiBib3RoIGNhc2VzLiBNYXRoZW1hdGljYWwgc3ltYm9scyBhcmUgZ2VuZXJhbGx5IGluIGFjY29yZGFuY2Ugd2l0aCBJRUMgNjAwMjctMSBhbmQgSVNPIDgwMDAwLTIuIFRoaXMgc3RhbmRhcmQgY2FuY2VscyBhbmQgcmVwbGFjZXMgU2VjdGlvbnMgMTAxLTEzLCAxMDEtMTQgYW5kIDEwMS0xNSBvZiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIElFQyA2MDA1MC0xMDE6MTk5OC48YnIgLz4NCkl0IGhhcyB0aGUgc3RhdHVzIG9mIGEgaG9yaXpvbnRhbCBzdGFuZGFyZCBpbiBhY2NvcmRhbmNlIHdpdGggPGEgaHJlZj0iaHR0cDovL3dlYnN0b3JlLmllYy5jaC93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQXJ0bnVtX1BLLzM2NDM1P29wZW5kb2N1bWVudCI+SUVDIEd1aWRlIDEwODwvYT4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0idG9jIj48aDM+Ckxvb2sgaW5zaWRlPC9oMz4KPGEgaWQ9InZpZXc6bGluazE1IiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMyU3QmVkMS4wJTdEYi5wZGYiIHRpdGxlPSJGcmVlIHByZXZpZXciIHRhcmdldD0iX2JsYW5rIj48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3Qgc2Vjb25kYXJ5IHQtY29sdW1ucyI+CjxpbWcgaWQ9InZpZXc6aW1hZ2UxIiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvbG9va2luc2lkZS5wbmciIGFsdD0iIiBjbGFzcz0ieHNwSW1hZ2UiPjwvdWw+CjwvYT48L2Rpdj48L2Rpdj48aHI+PGRpdiBjbGFzcz0ibC1tYWluIj48aDMgaWQ9ImFkZGl0aW9uYWxpbmZvIj5BZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9oMz48ZGl2IGNsYXNzPSJ0YWJiYWJsZSI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiPjxsaSBjbGFzcz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjZGV0YWlscyI+RGV0YWlsczwvYT48L2xpPjxsaSBpZD0iaGlzdG9yeXRhYiI+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJlZj0iI2hpc3RvcnkiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ2hpc3RvcnknKTsiPkhpc3Rvcnk8L2E+PC9saT48bGkgaWQ9IndvcmtpbnByb2dyZXNzdGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjd29ya2lucHJvZ3Jlc3MiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ3dvcmtpbnByb2dyZXNzJyk7Ij5Xb3JrIGluIHByb2dyZXNzPC9hPjwvbGk+PGxpIGlkPSJsaTEiPjwvbGk+PGxpIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdGFnY2xvdWQiPlRhZ3M8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIGFjdGl2ZSBpbiIgaWQ9ImRldGFpbHMiPjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaW5mbyB2ZXJ0aWNhbC10aCI+PHRib2R5Pjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gdHlwZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ3IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkludGVybmF0aW9uYWwgU3RhbmRhcmQ8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPlB1YmxpY2F0aW9uIGRhdGU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiIGl0ZW1wcm9wPSJyZWxlYXNlRGF0ZSI+MjAwOS0xMi0xNDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBzY29wZT0icm93Ij5FZGl0aW9uPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6aW5wdXRUZXh0MSI+MS4wPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkF2YWlsYWJsZSBsYW5ndWFnZShzKTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkVuZ2xpc2gvRnJlbmNoLCBTcGFuaXNoPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij48YWJiciB0aXRsZT0iVGVjaG5pY2FsIENvbW1pdHRlZSI+VEM8L2FiYnI+LzxhYmJyIHRpdGxlPSJTdWItY29tbWl0dGVlIj5TQzwvYWJicj48L3RoPjx0ZD48YSBpZD0idmlldzpsaW5rNiIgaHJlZj0iLi4vc2VhcmNoZm9ybSZDb21OdW1iZXI9MSIgY2xhc3M9InhzcExpbmsiPlRDIDEgLSBUZXJtaW5vbG9neTwvYT48YSBpZD0idmlldzpsaW5rMSIgaHJlZj0iaHR0cHM6Ly93ZWJzdG9yZS5pZWMuY2gvcnNzJnRjPVRDJTIwMSIgc3R5bGU9ImZsb2F0OnJpZ2h0IiBjbGFzcz0ic3ltYm9sIHJzcyIgdGl0bGU9IlN1YnNjcmliZSB0byB0aGlzIFJTUyBmZWVkIj48c3BhbiBjbGFzcz0iaWNvbi1yc3MiPjwvc3Bhbj48Yj5yc3M8L2I+PC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPklDUzwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms3IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wMS4wNDAuMDciIGNsYXNzPSJ4c3BMaW5rIj4wMS4wNDAuMDcgLSBNYXRoZW1hdGljcy4gTmF0dXJhbCBzY2llbmNlcyAoVm9jYWJ1bGFyaWVzKTwvYT48YnI+CjxhIGlkPSJ2aWV3Omxpbms4IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wNy4wMjAiIGNsYXNzPSJ4c3BMaW5rIj4wNy4wMjAgLSBNYXRoZW1hdGljcw0KPC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPlBhZ2VzPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDQiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MTQxPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij5GaWxlIHNpemU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xOTkxPC9zcGFuPiZuYnNwOzxhYmJyIHRpdGxlPSJLaWxvYml0cyI+S0I8L2FiYnI+PC90ZD48L3RyPgo8L3Rib2R5PjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9Imhpc3RvcnkiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9IndvcmtpbnByb2dyZXNzIj48c3BhbiBpZD0idmlldzpfaWQxODM6eG1sV29ya2lucHJvZ3Jlc3MiPjwvc3Bhbj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwdWJpZCAgID0gIjE2MSI7CnZhciBwdWJ0eXBlID0gIklTIjsKCnZhciBYTUx1cmw9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQWpheFJlcXVlc3RYTUw/T3BlbmFnZW50JnVybD0iKyIiK3B1YmlkOwp2YXIgdGFyZ2V0SWRIaXN0b3J5PSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5IjsKdmFyIHRhcmdldElkV29ya2lucHJvZ3Jlc3M9InZpZXc6X2lkMTgzOnhtbFdvcmtpbnByb2dyZXNzIjsKdmFyIGFwSGlzdCA9IGRvam8uYnlJZCh0YXJnZXRJZEhpc3RvcnkpOwp2YXIgYXBXb3JrID0gZG9qby5ieUlkKHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoKdHJ5IHsKCglkb2pvLnhockdldCh7CgkJdXJsOiBYTUx1cmwsCgkJbG9hZDogZnVuY3Rpb24oWE1McmVzdWx0KSB7CgkJCVhNTHBhcnNlSGlzdG9yeShYTUxyZXN1bHQsIHRhcmdldElkSGlzdG9yeSx0YXJnZXRJZFdvcmtpbnByb2dyZXNzKTsKCQl9LAogICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yLCBpb2FyZ3MpewoJICAgICAgYXBIaXN0LmlubmVySFRNTCA9ICJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiA8YnIgLz4iICsgZXJyb3I7CgkgICAgICBhcFdvcmsuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCQkJfQoJCX0pOwoJCQoJICBpZiAocHVidHlwZT09J1RSRicpIHsJCQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5dGFiIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICB9CgkJCn0gY2F0Y2goZSkgewphbGVydCgiZXJyb3IgIiArIGUpfQo8L3NjcmlwdD4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRyZiI+PHA+VGhlIGZvbGxvd2luZyB0ZXN0IHJlcG9ydCBmb3JtcyBhcmUgcmVsYXRlZDo8L3A+PGRpdiBpZD0idmlldzpfaWQxODQ6cmVwZWF0cmVsYXRlZFRSRiI+CjwvZGl2Pgo8YnI+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRhZ2Nsb3VkIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48Zm9ybSBpZD0idmlldzpfaWQyMDY6X2lkMzA0IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QiIGNsYXNzPSJ4c3BGb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGgzPlJlbGF0ZWQgcHVibGljYXRpb25zPC9oMz48ZGl2IGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiI+Cjx1bD48c3BhbiBpZD0idmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHMiPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYwIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMjoyMDA3JywgJ0lFQyA2MDA1MC0xMDM6MjAwOScpOyI+SUVDIDYwMDUwLTEwMjoyMDA3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82Njg0NCJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQyOjIwMjAnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PC9zcGFuPjxsaSBjbGFzcz0ibW9yZSIgaWQ9IndyIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOm5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5TaG93IGFsbCAmcmFxdW87PC9hPjwvbGk+PC91bD48cD48L3A+PC9kaXY+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNF9fVlVJRCIgdmFsdWU9IiFmdGtpM2lpNmw2ISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMjA2Ol9pZDMwNCIgdmFsdWU9InZpZXc6X2lkMjA2Ol9pZDMwNCI+PC9mb3JtPgo8aDMgaWQ9InZpZXc6X2lkMjEyOmNvbXB1dGVkRmllbGQyIj5Nb3JlIGluZm9ybWF0aW9uPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlwdWIiPgo8L2Rpdj4KPGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQyI+CjxsaT48YSBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQzowOmxpbmsyIiBocmVmPSJodHRwczovL2llY2V0ZWNoLm9yZy9UZWNobmljYWwtQ29tbWl0dGVlcy8yMDE5LTAyL0luLXRoZS1iZWdpbm5pbmctdGhlcmUtd2FzLXRlcm1pbm9sb2d5IiB0YXJnZXQ9Il9ibGFuayI+QXJ0aWNsZTogYXZvaWRpbmcgYW1iaWd1aXR5PC9hPjwvbGk+PC9kaXY+CjwvdWw+PGJyPjxoMz5TaGFyZSB0aGlzIHBhZ2U8L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxIiBocmVmPSJtYWlsdG86P3N1YmplY3Q9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDMlM0EyMDA5JmFtcDtib2R5PUhlbGxvJTJDJTBBJTBBSSUyMHRob3VnaHQlMjB5b3UlMjBtaWdodCUyMGJlJTIwaW50ZXJlc3RlZCUyMGJ5JTIwdGhpcyUyMHB1YmxpY2F0aW9uJTNBJTBBJTBBJTA5aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MSUwQSUwQS0tJTBBU2VudCUyMGZyb20lMjB0aGUlMjBJRUMlMjBXZWJzdG9yZSUyMHdlYnN0b3JlLmllYy5jaCUwQSIgY2xhc3M9InNzLWljb24gc3MtbWFpbC1yZWd1bGFyIiB0YXJnZXQ9Il9ibGFuayI+bWFpbDwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEwIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJmFtcDt0ZXh0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAzJTNBMjAwOSZhbXA7dmlhPUlFQ1N0YW5kYXJkcyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+VHdpdHRlcjwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazExIiBocmVmPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3U9aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MSZhbXA7dD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMyUzQTIwMDkiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkZhY2Vib29rPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTMiIGhyZWY9Imh0dHA6Ly93d3cubGlua2VkaW4uY29tL3NoYXJlQXJ0aWNsZT9taW5pPXRydWUmYW1wO3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJmFtcDt0aXRsZT1JRUMlMjA2MDA1MC0xMDMlM0EyMDA5JmFtcDtzdW1tYXJ5PSZhbXA7c291cmNlPUlFQyUyMFdlYnN0b3JlIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5MaW5rZWRJbjwvYT4mbmJzcDs8L2xpPjwvdWw+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIxIj48aDQ+U2hhcmUgeW91ciBwdWJsaWNhdGlvbnM8L2g0PjxwPkxlYXJuIGhvdyB0byBzaGFyZSB5b3VyIHB1YmxpY2F0aW9ucyB3aXRoIHlvdXIKCQkJY29sbGVhZ3VlcywmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05QUDhIIj51c2luZyBuZXR3b3JraW5nIG9wdGlvbnM8L2E+LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIyIj48aDQ+UGF5bWVudCBpbmZvcm1hdGlvbjwvaDQ+PHA+T3VyIHByaWNlcyBhcmUgaW4gU3dpc3MgZnJhbmNzICg8YWJiciB0aXRsZT0iU3dpc3MgZnJhbmNzIj5DSEY8L2FiYnI+KS4gV2UgYWNjZXB0IGFsbCBtYWpvciBjcmVkaXQgY2FyZHMgKEFtZXJpY2FuIEV4cHJlc3MsIE1hc3RlcmNhcmQgYW5kCgkJCVZpc2EpLCBQYXlQYWwgYW5kIGJhbmsgdHJhbnNmZXJzIGFzIGZvcm0gb2YgcGF5bWVudC48L3A+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIzIj48aDQ+S2VlcCBpbiB0b3VjaDwvaDQ+PHA+S2VlcCB1cCB0byBkYXRlIHdpdGggbmV3IHB1YmxpY2F0aW9uIHJlbGVhc2VzIGFuZAoJCQlhbm5vdW5jZW1lbnRzIHdpdGgKCQkJb3VyIGZyZWUmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazEiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5JRUMgSnVzdCBQdWJsaXNoZWQgZW1haWwgbmV3c2xldHRlcjwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjQiPjxoNCBpZD0idmlldzpfaWQyMzQ6Y29tcHV0ZWRGaWVsZDYiPkNvbnRhY3QgY3VzdG9tZXIgc2VydmljZXM8L2g0PjxwIGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNyI+UGxlYXNlIDxhIGhyZWY9Im1haWx0bzpzYWxlc0BpZWMuY2giPnNlbmQgeW91ciBlbnF1aXJ5IGJ5IGVtYWlsPC9hPiBvciBjYWxsIHVzIG9uICs0MSAyMiA5MTkgMDIgMTEgYmV0d2VlbiAwOTowMCAmbmRhc2g7IDE3OjAwIENFVCBNb25kYXkgdG8gRnJpZGF5LjwvcD48L2Rpdj48L3NlY3Rpb24+PC9kaXY+PGZvb3RlciByb2xlPSJjb250ZW50aW5mbyI+PGRpdiBjbGFzcz0iaW5uZXIiPjxwIGNsYXNzPSJzb2NpYWwiPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2ZhY2Vib29rIiB0aXRsZT0iRmFjZWJvb2siPjxzcGFuIGNsYXNzPSJpY29uLWZhY2Vib29rIj48L3NwYW4+PGI+RmFjZWJvb2s8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3R3aXR0ZXIiIHRpdGxlPSJUd2l0dGVyIj48c3BhbiBjbGFzcz0iaWNvbi10d2l0dGVyIj48L3NwYW4+PGI+VHdpdHRlcjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvbGlua2VkaW4iIHRpdGxlPSJMaW5rZWRJbiI+PHNwYW4gY2xhc3M9Imljb24tbGlua2VkaW4iPjwvc3Bhbj48Yj5MaW5rZWRJbjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvcGludGVyZXN0IiB0aXRsZT0iUGludGVyZXN0Ij48c3BhbiBjbGFzcz0iaWNvbi1waW50ZXJlc3QiPjwvc3Bhbj48Yj5QaW50ZXJlc3Q8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3lvdXR1YmUiIHRpdGxlPSJZb3VUdWJlIj48c3BhbiBjbGFzcz0iaWNvbi15b3V0dWJlIj48L3NwYW4+PGI+WW91VHViZTwvYj48L2E+PC9wPjx1bCBjbGFzcz0ibGlua3MgdGVydGlhcnkgaW5saW5lIj48bGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1DU0pOLTlWQ0JXSiI+VGVybXMgJmFtcDsgQ29uZGl0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9hYm91dC9wcml2YWN5LyI+UHJpdmFjeTwvYT48L2xpPjwvdWw+PHVsIGNsYXNzPSJjb3B5cmlnaHQgdGVydGlhcnkgaW5saW5lIj48bGk+PGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOV042UCI+Q29weXJpZ2h0PC9hPjwvaT4mbmJzcDsmY29weTsmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCI+SUVDPC9hPiZuYnNwOzxzcGFuIGlkPSJ2aWV3Ol9pZDI1ODpjb21wdXRlZEZpZWxkMSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4yMDIwPC9zcGFuPi4mbmJzcDtBbGwgcmlnaHRzIHJlc2VydmVkLjwvbGk+PC91bD48cCBjbGFzcz0ic2VsZiI+PGEgaHJlZj0iI2llYy13ZWJzdG9yZSI+VG9wPHNwYW4gY2xhc3M9Imljb24tY2lyY2xlLWFycm93LXVwIj48L3NwYW4+PC9hPjwvcD48L2Rpdj48L2Zvb3Rlcj48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3ZlbmRvci9qcXVlcnktMS44LjMtbWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL2NvbmZpZy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9wbHVnaW5zLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAvL3ZhciBlbGxpcHNlc3RleHQgPSAiLi4uIjsKICAgIHZhciBlbGxpcHNlc3RleHQgPSAiIjsKICAgIHZhciBtb3JldGV4dCA9ICJTaG93IG1vcmUgwrsiOwogICAgdmFyIGxlc3N0ZXh0ID0gIlNob3cgbGVzcyI7CiAgICAKICAgIHZhciBjb250ZW50SGVpZ2h0OwogICAgdmFyIHNob3dIZWlnaHQ9MjAwOwogICAgCgogICAgJCgnLnJlYWRtb3JlJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY29udGVudCA9ICQodGhpcykuaHRtbCgpOwoKICAgICAgICBjb250ZW50SGVpZ2h0ID0gJCgnLnJlYWRtb3JlJykuaGVpZ2h0KCk7IAogICAgICAgIGlmKGNvbnRlbnRIZWlnaHQgPiBzaG93SGVpZ2h0KSB7CiAgICAgICAgCSQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iCgkJCSAgICB9KTsKICAgICAgICAgICAgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9Im1vcmVlbGxpcHNlcyI+JyArIGVsbGlwc2VzdGV4dCsgJzwvc3Bhbj48c3Bhbj48YSBocmVmPSIiIGNsYXNzPSJtb3JlbGluayI+JyArIG1vcmV0ZXh0ICsgJzwvYT48L3NwYW4+Jyk7CiAgICAgICAgfSAKICAgIH0pOwogCiAgICAkKCIubW9yZWxpbmsiKS5jbGljayhmdW5jdGlvbigpewogICAgICAgIGlmKCQodGhpcykuaGFzQ2xhc3MoImxlc3MiKSkgewogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChtb3JldGV4dCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6c2hvd0hlaWdodAoJCQl9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChsZXNzdGV4dCk7CiAgICAKCQkJJCgnLnJlYWRtb3JlJykuY3NzKHsJCQkJCQoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjoiIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICIiCgkJCX0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkKHRoaXMpLnByZXYoKS50b2dnbGUoKTsgIC8vIHNob3cvaGlkZSAiLi4uIiAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgpmdW5jdGlvbiB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQodGhpc0V2ZW50KSB7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyAKCXRyeXsJCgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJdmFyIGJhc2tldG5hbWU9cmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSk7CgkJCgkJY29tcHV0ZUJhc2tldEl0ZW1zKGJhc2tldG5hbWUpOwoJCWNvbXB1dGVEQUZpbGVzKCk7CgkJJCgiZGl2LmJ1eWJveCBmb3JtIikuc3VibWl0KAoJCQkJCQlmdW5jdGlvbigpIHsKCgkJCQkJCQl2YXIgbWVkaWEgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CgkJCQkJCQl2YXIgcHJpY2UgPSAkKHRoaXMpLmZpbmQoKCdpbnB1dFtuYW1lPWFydF9wcmljZV0nKSkKCQkJCQkJCQkJLnZhbCgpOwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtuYW1lPWFydF9sYW5nXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJCQkKCQkJCQkJCXZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJCQkoJ1tjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwkJCgkJCQkJCQkJCQoJCQkJCQkJCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGJhc2tldG5hbWUyID0gZ2V0Q29va2llKGpzQ29va2llTmFtZSk7CgkJCQkJCQlBZGRUb0Jhc2tldChtZWRpYSwgbGFuZ2FydG51bSwgYmFza2V0bmFtZTIpOwoKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfSk7CgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJfSBjYXRjaChlKSB7YWxlcnQoZS5tZXNzYWdlKTt9CgkJCn0pOwoKfQoKZnVuY3Rpb24gdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljayh0aGlzRXZlbnQpIHsKdmFyIG15V2luZG93ID0gd2luZG93Lm9wZW4oImh0dHA6Ly9lZXB1cmwuY29tL2JZM3Y3OSIsICJfYmxhbmsiLCAidG9vbGJhcj1ubywgc2Nyb2xsYmFycz1ubywgcmVzaXphYmxlPW5vLCB0b3A9MjAwLCBsZWZ0PTUwMCwgd2lkdGg9OTAwLCBoZWlnaHQ9NTU1Iik7CgoKfQoKWFNQLmFkZE9uTG9hZChmdW5jdGlvbigpIHsKWFNQLmF0dGFjaEV2ZW50KCJ2aWV3Ol9pZDM6X2lkNDYiLCAidmlldzpfaWQzIiwgIm9uQ2xpZW50TG9hZCIsIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCwgZmFsc2UsIDIpOwpYU1AuYXR0YWNoUGFydGlhbCgidmlldzpfaWQyMDY6X2lkMzA0Ol9pZDIxMCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAidmlldzpfaWQyMDY6X2lkMzA0OmxpbmtzaG93YWxsIiwgIm9uY2xpY2siLCBmdW5jdGlvbigpe30sIDIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiIpOwpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMjM0Ol9pZDI1NSIsICJ2aWV3Ol9pZDIzNDpsaW5rMSIsICJvbmNsaWNrIiwgdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljaywgZmFsc2UsIDIpOwp9KTsgCgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
|
506
|
+
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjFcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZVNlBNRTdKMUkiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMzoyMDA5IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMzoyMDA5IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMzogTWF0aGVtYXRpY3MgLSBGdW5jdGlvbnMiPgo8bWV0YSBuYW1lPSJDb3B5cmlnaHQiIGNvbnRlbnQ9IklFQyAtIEludGVybmF0aW9uYWwgRWxlY3Ryb3RlY2huaWNhbCBDb21taXNzaW9uIj4KPG1ldGEgbmFtZT0iTGFuZ3VhZ2UiIGNvbnRlbnQ9IkVuZ2xpc2giPgo8bGluayBocmVmPSJodHRwczovL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjEiIHJlbD0iY2Fub25pY2FsIj4KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IklFQyA2MDA1MC0xMDM6MjAwOSwgU3RhbmRhcmQiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLmNvb2tpZScpPC9zY3JpcHQ+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KPG1ldGEgY29udGVudD0ib24iIGh0dHAtZXF1aXY9ImNsZWFydHlwZSI+CjxtZXRhIGNvbnRlbnQ9IklFPWVkZ2UsY2hyb21lPTEiIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvSGlzdG9yeVdvcmtJblByb2dyZXNzTGliIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPihmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7ICBnYSgnY3JlYXRlJywgJ1VBLTM0Mzk4MzMxLTInLCAnYXV0bycpOyBnYSgnc2V0JywgJ2RpbWVuc2lvbjEnLCAnJyk7IGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvdmVuZG9yL21vZGVybml6ci5jdXN0b20uNDIxOTcuanMiPjwvc2NyaXB0PjxzY3JpcHQ+dmFyIGpzREJDQVRBTE9HPSIvd2Vic3RvcmUvSUVDQ2F0YS5uc2YiOyB2YXIganNQYXRoV2Vic3RvcmVEQj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZiI7IHZhciBqc0Nvb2tpZU5hbWU9ImllY3dlYnN0b3JlIjsKCQkvL2NvbnNvbGUubG9nKCJjb29raWV2YWwgPSAiK3JldHVybkNvb2tpZVZhbChqc0Nvb2tpZU5hbWUpKTs8L3NjcmlwdD48aGVhZGVyIGNsYXNzPSJicmFuZGluZyIgcm9sZT0iYmFubmVyIj48ZGl2IGNsYXNzPSJpbm5lciI+PGEgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2giIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0lFQ0xvZ28nLCAnQ2xpY2snLCAnd3d3LmllYy5jaCcpOyIgdGl0bGU9Ind3dy5pZWMuY2giPjxkaXYgY2xhc3M9ImxvZ28iPjxpbWcgYWx0PSJJRUMgbG9nbyIgc3JjPSIvd2Vic3RvcmVfQnVpbGQvaW1nL2xvZ29faWVjXzI3Ni5qcGciPjwvZGl2PjwvYT48aDE+PHN0cm9uZz5XZWJzdG9yZTwvc3Ryb25nPiZuYnNwO0k8aT5udGVybmF0aW9uYWwmbmJzcDs8L2k+RTxpPmxlY3Ryb3RlY2huaWNhbCZuYnNwOzwvaT5DPGk+b21taXNzaW9uPC9pPjwvaDE+PGRpdiBjbGFzcz0iY29ubmVjdCI+PGEgaWQ9InZpZXc6X2lkMzpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QmYW1wO2xvZ2luIiBjbGFzcz0ibG9nb3V0Ij5TaWduIGluPC9hPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6bGFiZWwyIiBjbGFzcz0ieHNwVGV4dExhYmVsIj4gfCA8L3NwYW4+PGEgaWQ9InZpZXc6X2lkMzpsaW5rMyIgaHJlZj0iL25ld2FjY291bnQiIGNsYXNzPSJ4c3BMaW5rIj5DcmVhdGUgYWNjb3VudDwvYT48aT48c3BhbiBpZD0idmlldzpfaWQzOmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2k+PC9kaXY+PGRpdiBjbGFzcz0ic2VhcmNoLWJveC1hbHQiPjxmb3JtIGlkPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QiIGNsYXNzPSJzZWFyY2giIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG9uc3VibWl0PSIKCgovL3dpbmRvdy5sb2NhdGlvbi5ocmVmPScvc2VhcmNoZm9ybSZhbXA7cT0nKyQoJnF1b3Q7W2lkJD1xXSZxdW90OykudmFsKCk7CgovL3JldHVybiBmYWxzZTsKCgp2YXIgS0VZVkFMID0gJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCQkJCQkKCQkJCQlLRVlWQUwgPSBLRVlWQUwucmVwbGFjZSgvJS9naSwgJnF1b3Q7ICZxdW90Oyk7CgkJCQkvLwlLRVlWQUwgPSBLRVlWQUwucmVwbGFjZSgvJnF1b3Q7L2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCQoJCQkJCQoJCQkJLy8JCUtFWVZBTD1lbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJdHJ5IHsKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KEtFWVZBTC50cmltKCkpOwoJCQkJCX0gY2F0Y2goZSl7CgkJCQkJCS8vSUU4CgkJCQkJCUtFWVZBTCA9IGVuY29kZVVSSUNvbXBvbmVudCgkLnRyaW0oS0VZVkFMKSk7CgkJCQkJfQoJCQkJCgkJCQkJCgkJCQkJCgkJCQkJd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3NlYXJjaGZvcm0mYW1wO3E9JyArIEtFWVZBTDsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCgkJCQkJCgkJCQkJCiIgcm9sZT0ic2VhcmNoIj4KPHA+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoOnEiIG5hbWU9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgY2xhc3M9ImlucHV0LTc1IHNlYXJjaC1xdWVyeSIgcGxhY2Vob2xkZXI9IlNlYXJjaCI+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1ibHVlIHN5bWJvbCI+PHNwYW4gY2xhc3M9Imljb24tc2VhcmNoIj48Yj5HbzwvYj48L3NwYW4+PC9idXR0b24+PC9wPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2hfX1ZVSUQiIHZhbHVlPSIhZnU2cG1lN2lxNyEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIiB2YWx1ZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaCI+PC9mb3JtPgo8cD48YSBocmVmPSIvYWR2c2VhcmNoZm9ybSI+QWR2YW5jZWQgc2VhcmNoPC9hPjwvcD48L2Rpdj48L2Rpdj48L2hlYWRlcj48bmF2IGlkPSJuYXZpZ2F0aW9uLXRvZ2dsZSIgcm9sZT0ibmF2aWdhdGlvbiI+PHVsPjxsaT48YSBpZD0idmlldzpfaWQzOmxpbmtIb21lIiBocmVmPSIvaG9tZSIgY2xhc3M9InB1YmxpY2F0aW9uIiB0YXJnZXQ9Il9zZWxmIj5Ib21lPC9hPjwvbGk+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua1NpZ25JbiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QmYW1wO2xvZ2luIiBjbGFzcz0ieHNwTGluayIgdHlwZT0idGV4dC9odG1sIj5TaWduIGluPC9hPjwvbGk+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua0hlbHAiIGhyZWY9Ii9oZWxwIiBjbGFzcz0icHVibGljYXRpb24iPkhlbHA8L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rQmFza2V0IiBocmVmPSJqYXZhc2NyaXB0Om9wZW5CYXNrZXQoJ0Fub255bW91cycpOyIgY2xhc3M9InB1YmxpY2F0aW9uIj5DYXJ0IDxzcGFuIGNsYXNzPSJuYi1pdGVtcyBuYi1pdGVtcy1idXkiPjwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9ImxpbmthZHZzZWFyY2giIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua2FkdnNlYXJjaCIgaHJlZj0iL2FkdnNlYXJjaGZvcm0iIGNsYXNzPSJwdWJsaWNhdGlvbiI+QWR2YW5jZWQgU2VhcmNoPC9hPjwvbGk+PC91bD48L25hdj48ZGl2IGNsYXNzPSJjb250YWluZXIiIHJvbGU9Im1haW4iPjxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LS1ibG9jayBhbGVydC1zdWNjZXNzIGFsZXJ0LWRpc21pc3NhYmxlIiBpZD0ibWVzc2FnZWJhc2tldCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGJ1dHRvbiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9ImFsZXJ0IiB0eXBlPSJidXR0b24iPiZ0aW1lczs8L2J1dHRvbj48cCBjbGFzcz0ic2Vjb25kYXJ5Ij48c3Bhbj48L3NwYW4+PC9wPjwvZGl2PjxzZWN0aW9uIGNsYXNzPSJhcnRpY2xlIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9Qcm9kdWN0Ij48ZGl2IGNsYXNzPSJsLW1haW4iPjxzcGFuIGl0ZW1wcm9wPSJicmFuZCIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT3JnYW5pemF0aW9uIj48bWV0YSBjb250ZW50PSJJRUMiIGl0ZW1wcm9wPSJuYW1lIj48L3NwYW4+PGgxIGNsYXNzPSJyZWZlcmVuY2UiPjxzcGFuIGlkPSJ2aWV3OmRPQ1VNRU5UTkFNRTEiIGl0ZW1wcm9wPSJwcm9kdWN0SUQiPklFQyA2MDA1MC0xMDM6MjAwOTwvc3Bhbj4mbmJzcDs8c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkOSIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PC9oMT48aDIgaWQ9InZpZXc6RW5nbGlzaF9UaXRsZSIgY2xhc3M9InRpdGxlIiBpdGVtcHJvcD0ibmFtZSI+SW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMzogTWF0aGVtYXRpY3MgLSBGdW5jdGlvbnM8L2gyPjx1bCBjbGFzcz0ibWV0YSBpbmxpbmUgc2VwYXJhdGVkIj48bGk+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDgiIHRpdGxlPSJUZXJtaW5vbG9neSI+VEMgMTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0icHJldmlldyI+PGEgaHJlZj0iI2FkZGl0aW9uYWxpbmZvIj4mbmJzcDtBZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48ZGl2IGNsYXNzPSJsLWJveCBpcy1hbHdheXMtdmlzaWJsZSI+PGRpdiBjbGFzcz0idGFiYmFibGUgYnV5Ym94Ij48dWwgY2xhc3M9Im5hdiBuYXYtdGFicyIgaWQ9ImJ1eWJveGIiPjxsaSBpZD0idmlldzpfaWQ3NTpfaWQ3ODpyZXBlYXQxOjA6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJhY3RpdmUiPjxhIGhyZWY9Ii5wYW5lRSIgZGF0YS10b2dnbGU9InRhYiI+IERvd25sb2FkPC9hPjwvbGk+PGxpIGlkPSJ2aWV3Ol9pZDc1Ol9pZDc4OnJlcGVhdDE6MTpjb21wdXRlZEZpZWxkMiI+PGEgaHJlZj0iLnBhbmVQIiBkYXRhLXRvZ2dsZT0idGFiIj4gSGFyZGNvcHk8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpjb21wdXRlZEZpZWxkMSIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSBhY3RpdmUgaW4gcGFuZUUiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYxJmFtcDt0ZXN0IiBjbGFzcz0iRSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmFydF9sYW5nIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjphcnRfbGFuZyIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJmb250LXNpemU6MTVweCI+CTxvcHRpb24gdmFsdWU9IjE2MUVOLUZSIj5FbmdsaXNoL0ZyZW5jaDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMTYxRVMiPlNwYW5pc2g8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2xhYmVsPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9zY2hlbWEub3JnL0luU3RvY2siIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSI+CjxidXR0b24gY2xhc3M9ImJ0biBidG4tY29tbWl0IiB0eXBlPSJzdWJtaXQiPkFkZCB0byBjYXJ0PC9idXR0b24+PC9kaXY+CjwvZmllbGRzZXQ+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZnU2cG1lN2lxNyEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIj48L2Zvcm0+CjxwIGNsYXNzPSJzZWNvbmRhcnkgYm94LW9wdCI+CjxhIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/T3BlbiZhbXA7aWQ9R0ZPVC03TlBQOEgiIGNsYXNzPSJ4c3BMaW5rIj5EbyB5b3UgbmVlZCBhIG11bHRpLXVzZXIgY29weT88L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSAgcGFuZVAiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYxJmFtcDt0ZXN0IiBjbGFzcz0iUCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmFydF9sYW5nIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjphcnRfbGFuZyIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJmb250LXNpemU6MTVweCI+CTxvcHRpb24gdmFsdWU9IjE2MUVOLUZSIj5FbmdsaXNoL0ZyZW5jaDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMTYxRVMiPlNwYW5pc2g8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZ1NnBtZTdpcTchIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODIiIHZhbHVlPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiI+PC9mb3JtPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGhyPgo8L2hyPgo8ZGl2IGNsYXNzPSJsLW1haW4tcHVsbGVkIj48ZGl2IGNsYXNzPSJhYnN0cmFjdCI+PHAgY2xhc3M9ImJ0biBidG4tcHJldmlldyI+CjxhIGlkPSJ2aWV3OmxpbmsyIiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMyU3QmVkMS4wJTdEYi5wZGYiIHRhcmdldD0iX2JsYW5rIj5QcmV2aWV3PC9hPjwvcD4KPGgzPgpBYnN0cmFjdDwvaDM+CjxkaXYgaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJyZWFkbW9yZSIgaXRlbXByb3A9ImRlc2NyaXB0aW9uIj5JRUMgNjAwNTAtMTAzOjIwMDkgZ2l2ZXMgdGhlIHRlcm1pbm9sb2d5IHJlbGF0aXZlIHRvIGZ1bmN0aW9ucyBvZiBvbmUgb3IgbW9yZSB2YXJpYWJsZXMuIFRvZ2V0aGVyIHdpdGggSUVDIDYwMDUwLTEwMiwgaXQgY292ZXJzIHRoZSBtYXRoZW1hdGljYWwgdGVybWlub2xvZ3kgdXNlZCBpbiB0aGUgZmllbGRzIG9mIGVsZWN0cmljaXR5LCBlbGVjdHJvbmljcyBhbmQgdGVsZWNvbW11bmljYXRpb25zLiBJdCBtYWludGFpbnMgYSBjbGVhciBkaXN0aW5jdGlvbiBiZXR3ZWVuIG1hdGhlbWF0aWNhbCBjb25jZXB0cyBhbmQgcGh5c2ljYWwgY29uY2VwdHMsIGV2ZW4gaWYgc29tZSB0ZXJtcyBhcmUgdXNlZCBpbiBib3RoIGNhc2VzLiBNYXRoZW1hdGljYWwgc3ltYm9scyBhcmUgZ2VuZXJhbGx5IGluIGFjY29yZGFuY2Ugd2l0aCBJRUMgNjAwMjctMSBhbmQgSVNPIDgwMDAwLTIuIFRoaXMgc3RhbmRhcmQgY2FuY2VscyBhbmQgcmVwbGFjZXMgU2VjdGlvbnMgMTAxLTEzLCAxMDEtMTQgYW5kIDEwMS0xNSBvZiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIElFQyA2MDA1MC0xMDE6MTk5OC48YnIgLz4NCkl0IGhhcyB0aGUgc3RhdHVzIG9mIGEgaG9yaXpvbnRhbCBzdGFuZGFyZCBpbiBhY2NvcmRhbmNlIHdpdGggPGEgaHJlZj0iaHR0cDovL3dlYnN0b3JlLmllYy5jaC93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQXJ0bnVtX1BLLzM2NDM1P29wZW5kb2N1bWVudCI+SUVDIEd1aWRlIDEwODwvYT4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0idG9jIj48aDM+Ckxvb2sgaW5zaWRlPC9oMz4KPGEgaWQ9InZpZXc6bGluazE1IiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMyU3QmVkMS4wJTdEYi5wZGYiIHRpdGxlPSJGcmVlIHByZXZpZXciIHRhcmdldD0iX2JsYW5rIj48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3Qgc2Vjb25kYXJ5IHQtY29sdW1ucyI+CjxpbWcgaWQ9InZpZXc6aW1hZ2UxIiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvbG9va2luc2lkZS5wbmciIGFsdD0iIiBjbGFzcz0ieHNwSW1hZ2UiPjwvdWw+CjwvYT48L2Rpdj48L2Rpdj48aHI+PGRpdiBjbGFzcz0ibC1tYWluIj48aDMgaWQ9ImFkZGl0aW9uYWxpbmZvIj5BZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9oMz48ZGl2IGNsYXNzPSJ0YWJiYWJsZSI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiPjxsaSBjbGFzcz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjZGV0YWlscyI+RGV0YWlsczwvYT48L2xpPjxsaSBpZD0iaGlzdG9yeXRhYiI+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJlZj0iI2hpc3RvcnkiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ2hpc3RvcnknKTsiPkhpc3Rvcnk8L2E+PC9saT48bGkgaWQ9IndvcmtpbnByb2dyZXNzdGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjd29ya2lucHJvZ3Jlc3MiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ3dvcmtpbnByb2dyZXNzJyk7Ij5Xb3JrIGluIHByb2dyZXNzPC9hPjwvbGk+PGxpIGlkPSJsaTEiPjwvbGk+PGxpIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdGFnY2xvdWQiPlRhZ3M8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIGFjdGl2ZSBpbiIgaWQ9ImRldGFpbHMiPjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaW5mbyB2ZXJ0aWNhbC10aCI+PHRib2R5Pjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gdHlwZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ3IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkludGVybmF0aW9uYWwgU3RhbmRhcmQ8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPlB1YmxpY2F0aW9uIGRhdGU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiIGl0ZW1wcm9wPSJyZWxlYXNlRGF0ZSI+MjAwOS0xMi0xNDwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBzY29wZT0icm93Ij5FZGl0aW9uPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6aW5wdXRUZXh0MSI+MS4wPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkF2YWlsYWJsZSBsYW5ndWFnZShzKTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkVuZ2xpc2gvRnJlbmNoLCBTcGFuaXNoPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij48YWJiciB0aXRsZT0iVGVjaG5pY2FsIENvbW1pdHRlZSI+VEM8L2FiYnI+LzxhYmJyIHRpdGxlPSJTdWItY29tbWl0dGVlIj5TQzwvYWJicj48L3RoPjx0ZD48YSBpZD0idmlldzpsaW5rNiIgaHJlZj0iLi4vc2VhcmNoZm9ybSZDb21OdW1iZXI9MSIgY2xhc3M9InhzcExpbmsiPlRDIDEgLSBUZXJtaW5vbG9neTwvYT48YSBpZD0idmlldzpsaW5rMSIgaHJlZj0iaHR0cHM6Ly93ZWJzdG9yZS5pZWMuY2gvcnNzJnRjPVRDJTIwMSIgc3R5bGU9ImZsb2F0OnJpZ2h0IiBjbGFzcz0ic3ltYm9sIHJzcyIgdGl0bGU9IlN1YnNjcmliZSB0byB0aGlzIFJTUyBmZWVkIj48c3BhbiBjbGFzcz0iaWNvbi1yc3MiPjwvc3Bhbj48Yj5yc3M8L2I+PC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPklDUzwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms3IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wMS4wNDAuMDciIGNsYXNzPSJ4c3BMaW5rIj4wMS4wNDAuMDcgLSBNYXRoZW1hdGljcy4gTmF0dXJhbCBzY2llbmNlcyAoVm9jYWJ1bGFyaWVzKTwvYT48YnI+CjxhIGlkPSJ2aWV3Omxpbms4IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wNy4wMjAiIGNsYXNzPSJ4c3BMaW5rIj4wNy4wMjAgLSBNYXRoZW1hdGljcw0KPC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPlBhZ2VzPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDQiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MTQxPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij5GaWxlIHNpemU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xOTkxPC9zcGFuPiZuYnNwOzxhYmJyIHRpdGxlPSJLaWxvYml0cyI+S0I8L2FiYnI+PC90ZD48L3RyPgo8L3Rib2R5PjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9Imhpc3RvcnkiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9IndvcmtpbnByb2dyZXNzIj48c3BhbiBpZD0idmlldzpfaWQxODM6eG1sV29ya2lucHJvZ3Jlc3MiPjwvc3Bhbj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwdWJpZCAgID0gIjE2MSI7CnZhciBwdWJ0eXBlID0gIklTIjsKCnZhciBYTUx1cmw9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQWpheFJlcXVlc3RYTUw/T3BlbmFnZW50JnVybD0iKyIiK3B1YmlkOwp2YXIgdGFyZ2V0SWRIaXN0b3J5PSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5IjsKdmFyIHRhcmdldElkV29ya2lucHJvZ3Jlc3M9InZpZXc6X2lkMTgzOnhtbFdvcmtpbnByb2dyZXNzIjsKdmFyIGFwSGlzdCA9IGRvam8uYnlJZCh0YXJnZXRJZEhpc3RvcnkpOwp2YXIgYXBXb3JrID0gZG9qby5ieUlkKHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoKdHJ5IHsKCglkb2pvLnhockdldCh7CgkJdXJsOiBYTUx1cmwsCgkJbG9hZDogZnVuY3Rpb24oWE1McmVzdWx0KSB7CgkJCVhNTHBhcnNlSGlzdG9yeShYTUxyZXN1bHQsIHRhcmdldElkSGlzdG9yeSx0YXJnZXRJZFdvcmtpbnByb2dyZXNzKTsKCQl9LAogICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yLCBpb2FyZ3MpewoJICAgICAgYXBIaXN0LmlubmVySFRNTCA9ICJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiA8YnIgLz4iICsgZXJyb3I7CgkgICAgICBhcFdvcmsuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCQkJfQoJCX0pOwoJCQoJICBpZiAocHVidHlwZT09J1RSRicpIHsJCQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5dGFiIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICB9CgkJCn0gY2F0Y2goZSkgewphbGVydCgiZXJyb3IgIiArIGUpfQo8L3NjcmlwdD4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRyZiI+PHA+VGhlIGZvbGxvd2luZyB0ZXN0IHJlcG9ydCBmb3JtcyBhcmUgcmVsYXRlZDo8L3A+PGRpdiBpZD0idmlldzpfaWQxODQ6cmVwZWF0cmVsYXRlZFRSRiI+CjwvZGl2Pgo8YnI+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRhZ2Nsb3VkIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48Zm9ybSBpZD0idmlldzpfaWQyMDY6X2lkMzA0IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjEmYW1wO3Rlc3QiIGNsYXNzPSJ4c3BGb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGgzPlJlbGF0ZWQgcHVibGljYXRpb25zPC9oMz48ZGl2IGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiI+Cjx1bD48c3BhbiBpZD0idmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHMiPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYwIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMjoyMDA3JywgJ0lFQyA2MDA1MC0xMDM6MjAwOScpOyI+SUVDIDYwMDUwLTEwMjoyMDA3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82Njg0NCJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDI6MjAwNy9BTUQyOjIwMjAnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PC9zcGFuPjxsaSBjbGFzcz0ibW9yZSIgaWQ9IndyIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOm5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5TaG93IGFsbCAmcmFxdW87PC9hPjwvbGk+PC91bD48cD48L3A+PC9kaXY+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNF9fVlVJRCIgdmFsdWU9IiFmdTZwbWU3aXE3ISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMjA2Ol9pZDMwNCIgdmFsdWU9InZpZXc6X2lkMjA2Ol9pZDMwNCI+PC9mb3JtPgo8aDMgaWQ9InZpZXc6X2lkMjEyOmNvbXB1dGVkRmllbGQyIj5Nb3JlIGluZm9ybWF0aW9uPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlwdWIiPgo8L2Rpdj4KPGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQyI+CjxsaT48YSBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQzowOmxpbmsyIiBocmVmPSJodHRwczovL2llY2V0ZWNoLm9yZy9UZWNobmljYWwtQ29tbWl0dGVlcy8yMDE5LTAyL0luLXRoZS1iZWdpbm5pbmctdGhlcmUtd2FzLXRlcm1pbm9sb2d5IiB0YXJnZXQ9Il9ibGFuayI+QXJ0aWNsZTogYXZvaWRpbmcgYW1iaWd1aXR5PC9hPjwvbGk+PC9kaXY+CjwvdWw+PGJyPjxoMz5TaGFyZSB0aGlzIHBhZ2U8L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxIiBocmVmPSJtYWlsdG86P3N1YmplY3Q9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDMlM0EyMDA5JmFtcDtib2R5PUhlbGxvJTJDJTBBJTBBSSUyMHRob3VnaHQlMjB5b3UlMjBtaWdodCUyMGJlJTIwaW50ZXJlc3RlZCUyMGJ5JTIwdGhpcyUyMHB1YmxpY2F0aW9uJTNBJTBBJTBBJTA5aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MSUwQSUwQS0tJTBBU2VudCUyMGZyb20lMjB0aGUlMjBJRUMlMjBXZWJzdG9yZSUyMHdlYnN0b3JlLmllYy5jaCUwQSIgY2xhc3M9InNzLWljb24gc3MtbWFpbC1yZWd1bGFyIiB0YXJnZXQ9Il9ibGFuayI+bWFpbDwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEwIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJmFtcDt0ZXh0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAzJTNBMjAwOSZhbXA7dmlhPUlFQ1N0YW5kYXJkcyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+VHdpdHRlcjwvYT4mbmJzcDs8L2xpPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazExIiBocmVmPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3U9aHR0cCUzQS8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MSZhbXA7dD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMyUzQTIwMDkiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkZhY2Vib29rPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTMiIGhyZWY9Imh0dHA6Ly93d3cubGlua2VkaW4uY29tL3NoYXJlQXJ0aWNsZT9taW5pPXRydWUmYW1wO3VybD1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJmFtcDt0aXRsZT1JRUMlMjA2MDA1MC0xMDMlM0EyMDA5JmFtcDtzdW1tYXJ5PSZhbXA7c291cmNlPUlFQyUyMFdlYnN0b3JlIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5MaW5rZWRJbjwvYT4mbmJzcDs8L2xpPjwvdWw+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIxIj48aDQ+U2hhcmUgeW91ciBwdWJsaWNhdGlvbnM8L2g0PjxwPkxlYXJuIGhvdyB0byBzaGFyZSB5b3VyIHB1YmxpY2F0aW9ucyB3aXRoIHlvdXIKCQkJY29sbGVhZ3VlcywmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05QUDhIIj51c2luZyBuZXR3b3JraW5nIG9wdGlvbnM8L2E+LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIyIj48aDQ+UGF5bWVudCBpbmZvcm1hdGlvbjwvaDQ+PHA+T3VyIHByaWNlcyBhcmUgaW4gU3dpc3MgZnJhbmNzICg8YWJiciB0aXRsZT0iU3dpc3MgZnJhbmNzIj5DSEY8L2FiYnI+KS4gV2UgYWNjZXB0IGFsbCBtYWpvciBjcmVkaXQgY2FyZHMgKEFtZXJpY2FuIEV4cHJlc3MsIE1hc3RlcmNhcmQgYW5kCgkJCVZpc2EpLCBQYXlQYWwgYW5kIGJhbmsgdHJhbnNmZXJzIGFzIGZvcm0gb2YgcGF5bWVudC48L3A+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIzIj48aDQ+S2VlcCBpbiB0b3VjaDwvaDQ+PHA+S2VlcCB1cCB0byBkYXRlIHdpdGggbmV3IHB1YmxpY2F0aW9uIHJlbGVhc2VzIGFuZAoJCQlhbm5vdW5jZW1lbnRzIHdpdGgKCQkJb3VyIGZyZWUmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazEiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5JRUMgSnVzdCBQdWJsaXNoZWQgZW1haWwgbmV3c2xldHRlcjwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjQiPjxoNCBpZD0idmlldzpfaWQyMzQ6Y29tcHV0ZWRGaWVsZDYiPkNvbnRhY3QgY3VzdG9tZXIgc2VydmljZXM8L2g0PjxwIGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNyI+UGxlYXNlIDxhIGhyZWY9Im1haWx0bzpzYWxlc0BpZWMuY2giPnNlbmQgeW91ciBlbnF1aXJ5IGJ5IGVtYWlsPC9hPiBvciBjYWxsIHVzIG9uICs0MSAyMiA5MTkgMDIgMTEgYmV0d2VlbiAwOTowMCAmbmRhc2g7IDE3OjAwIENFVCBNb25kYXkgdG8gRnJpZGF5LjwvcD48L2Rpdj48L3NlY3Rpb24+PC9kaXY+PGZvb3RlciByb2xlPSJjb250ZW50aW5mbyI+PGRpdiBjbGFzcz0iaW5uZXIiPjxwIGNsYXNzPSJzb2NpYWwiPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2ZhY2Vib29rIiB0aXRsZT0iRmFjZWJvb2siPjxzcGFuIGNsYXNzPSJpY29uLWZhY2Vib29rIj48L3NwYW4+PGI+RmFjZWJvb2s8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3R3aXR0ZXIiIHRpdGxlPSJUd2l0dGVyIj48c3BhbiBjbGFzcz0iaWNvbi10d2l0dGVyIj48L3NwYW4+PGI+VHdpdHRlcjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvbGlua2VkaW4iIHRpdGxlPSJMaW5rZWRJbiI+PHNwYW4gY2xhc3M9Imljb24tbGlua2VkaW4iPjwvc3Bhbj48Yj5MaW5rZWRJbjwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvcGludGVyZXN0IiB0aXRsZT0iUGludGVyZXN0Ij48c3BhbiBjbGFzcz0iaWNvbi1waW50ZXJlc3QiPjwvc3Bhbj48Yj5QaW50ZXJlc3Q8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL3lvdXR1YmUiIHRpdGxlPSJZb3VUdWJlIj48c3BhbiBjbGFzcz0iaWNvbi15b3V0dWJlIj48L3NwYW4+PGI+WW91VHViZTwvYj48L2E+PC9wPjx1bCBjbGFzcz0ibGlua3MgdGVydGlhcnkgaW5saW5lIj48bGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsyIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1DU0pOLTlWQ0JXSiI+VGVybXMgJmFtcDsgQ29uZGl0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9hYm91dC9wcml2YWN5LyI+UHJpdmFjeTwvYT48L2xpPjwvdWw+PHVsIGNsYXNzPSJjb3B5cmlnaHQgdGVydGlhcnkgaW5saW5lIj48bGk+PGk+PGEgaWQ9InZpZXc6X2lkMjU4OmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9pZD1HRk9ULTdOV042UCI+Q29weXJpZ2h0PC9hPjwvaT4mbmJzcDsmY29weTsmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCI+SUVDPC9hPiZuYnNwOzxzcGFuIGlkPSJ2aWV3Ol9pZDI1ODpjb21wdXRlZEZpZWxkMSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4yMDIwPC9zcGFuPi4mbmJzcDtBbGwgcmlnaHRzIHJlc2VydmVkLjwvbGk+PC91bD48cCBjbGFzcz0ic2VsZiI+PGEgaHJlZj0iI2llYy13ZWJzdG9yZSI+VG9wPHNwYW4gY2xhc3M9Imljb24tY2lyY2xlLWFycm93LXVwIj48L3NwYW4+PC9hPjwvcD48L2Rpdj48L2Zvb3Rlcj48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3ZlbmRvci9qcXVlcnktMS44LjMtbWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL2NvbmZpZy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9wbHVnaW5zLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAvL3ZhciBlbGxpcHNlc3RleHQgPSAiLi4uIjsKICAgIHZhciBlbGxpcHNlc3RleHQgPSAiIjsKICAgIHZhciBtb3JldGV4dCA9ICJTaG93IG1vcmUgwrsiOwogICAgdmFyIGxlc3N0ZXh0ID0gIlNob3cgbGVzcyI7CiAgICAKICAgIHZhciBjb250ZW50SGVpZ2h0OwogICAgdmFyIHNob3dIZWlnaHQ9MjAwOwogICAgCgogICAgJCgnLnJlYWRtb3JlJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY29udGVudCA9ICQodGhpcykuaHRtbCgpOwoKICAgICAgICBjb250ZW50SGVpZ2h0ID0gJCgnLnJlYWRtb3JlJykuaGVpZ2h0KCk7IAogICAgICAgIGlmKGNvbnRlbnRIZWlnaHQgPiBzaG93SGVpZ2h0KSB7CiAgICAgICAgCSQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iCgkJCSAgICB9KTsKICAgICAgICAgICAgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9Im1vcmVlbGxpcHNlcyI+JyArIGVsbGlwc2VzdGV4dCsgJzwvc3Bhbj48c3Bhbj48YSBocmVmPSIiIGNsYXNzPSJtb3JlbGluayI+JyArIG1vcmV0ZXh0ICsgJzwvYT48L3NwYW4+Jyk7CiAgICAgICAgfSAKICAgIH0pOwogCiAgICAkKCIubW9yZWxpbmsiKS5jbGljayhmdW5jdGlvbigpewogICAgICAgIGlmKCQodGhpcykuaGFzQ2xhc3MoImxlc3MiKSkgewogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChtb3JldGV4dCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6c2hvd0hlaWdodAoJCQl9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCJsZXNzIik7CiAgICAgICAgICAgICQodGhpcykuaHRtbChsZXNzdGV4dCk7CiAgICAKCQkJJCgnLnJlYWRtb3JlJykuY3NzKHsJCQkJCQoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjoiIiwKCQkJICAgICAgICAibWluLWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICIiCgkJCX0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkKHRoaXMpLnByZXYoKS50b2dnbGUoKTsgIC8vIHNob3cvaGlkZSAiLi4uIiAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgpmdW5jdGlvbiB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQodGhpc0V2ZW50KSB7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyAKCXRyeXsJCgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJdmFyIGJhc2tldG5hbWU9cmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSk7CgkJCgkJY29tcHV0ZUJhc2tldEl0ZW1zKGJhc2tldG5hbWUpOwoJCWNvbXB1dGVEQUZpbGVzKCk7CgkJJCgiZGl2LmJ1eWJveCBmb3JtIikuc3VibWl0KAoJCQkJCQlmdW5jdGlvbigpIHsKCgkJCQkJCQl2YXIgbWVkaWEgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CgkJCQkJCQl2YXIgcHJpY2UgPSAkKHRoaXMpLmZpbmQoKCdpbnB1dFtuYW1lPWFydF9wcmljZV0nKSkKCQkJCQkJCQkJLnZhbCgpOwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtuYW1lPWFydF9sYW5nXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJLy92YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCS8vCQkoJ3NlbGVjdFtjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwoJCQkJCQkJCQkKCQkJCQkJCXZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJCQkoJ1tjbGFzcz1sYW5nc3dpdGNoXScpKS52YWwoKTsgLy8gcHViaWQrbGFuZwkJCgkJCQkJCQkJCQoJCQkJCQkJCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGJhc2tldG5hbWUyID0gZ2V0Q29va2llKGpzQ29va2llTmFtZSk7CgkJCQkJCQlBZGRUb0Jhc2tldChtZWRpYSwgbGFuZ2FydG51bSwgYmFza2V0bmFtZTIpOwoKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfSk7CgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJfSBjYXRjaChlKSB7YWxlcnQoZS5tZXNzYWdlKTt9CgkJCn0pOwoKfQoKZnVuY3Rpb24gdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljayh0aGlzRXZlbnQpIHsKdmFyIG15V2luZG93ID0gd2luZG93Lm9wZW4oImh0dHA6Ly9lZXB1cmwuY29tL2JZM3Y3OSIsICJfYmxhbmsiLCAidG9vbGJhcj1ubywgc2Nyb2xsYmFycz1ubywgcmVzaXphYmxlPW5vLCB0b3A9MjAwLCBsZWZ0PTUwMCwgd2lkdGg9OTAwLCBoZWlnaHQ9NTU1Iik7CgoKfQoKWFNQLmFkZE9uTG9hZChmdW5jdGlvbigpIHsKWFNQLmF0dGFjaEV2ZW50KCJ2aWV3Ol9pZDM6X2lkNDYiLCAidmlldzpfaWQzIiwgIm9uQ2xpZW50TG9hZCIsIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCwgZmFsc2UsIDIpOwpYU1AuYXR0YWNoUGFydGlhbCgidmlldzpfaWQyMDY6X2lkMzA0Ol9pZDIxMCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAidmlldzpfaWQyMDY6X2lkMzA0OmxpbmtzaG93YWxsIiwgIm9uY2xpY2siLCBmdW5jdGlvbigpe30sIDIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiIpOwpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMjM0Ol9pZDI1NSIsICJ2aWV3Ol9pZDIzNDpsaW5rMSIsICJvbmNsaWNrIiwgdmlld19faWQyMzRfX2lkMjU1X2NsaWVudFNpZGVfb25jbGljaywgZmFsc2UsIDIpOwp9KTsgCgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
|
501
507
|
http_version:
|
502
|
-
recorded_at:
|
508
|
+
recorded_at: Mon, 21 Dec 2020 13:50:04 GMT
|
503
509
|
- request:
|
504
510
|
method: get
|
505
511
|
uri: https://webstore.iec.ch/webstore/webstore.nsf/AjaxRequestXML?Openagent&url=161
|
@@ -521,7 +527,7 @@ http_interactions:
|
|
521
527
|
message: OK
|
522
528
|
headers:
|
523
529
|
Content-Type:
|
524
|
-
- text/
|
530
|
+
- text/xml
|
525
531
|
Content-Length:
|
526
532
|
- '327'
|
527
533
|
Connection:
|
@@ -529,17 +535,17 @@ http_interactions:
|
|
529
535
|
Server:
|
530
536
|
- Lotus-Domino
|
531
537
|
Date:
|
532
|
-
-
|
538
|
+
- Mon, 21 Dec 2020 13:50:09 GMT
|
533
539
|
Cache-Control:
|
534
540
|
- NoCache
|
535
541
|
X-Cache:
|
536
542
|
- Miss from cloudfront
|
537
543
|
Via:
|
538
|
-
- 1.1
|
544
|
+
- 1.1 52fa887ba82513d16e3f586c3db681fe.cloudfront.net (CloudFront)
|
539
545
|
X-Amz-Cf-Pop:
|
540
|
-
-
|
546
|
+
- SYD1-C2
|
541
547
|
X-Amz-Cf-Id:
|
542
|
-
-
|
548
|
+
- Yyi0jzR9ThhAUT6cPVFClIrDuosikTGZF7EZXDzrBUOP0OqiNUCA0g==
|
543
549
|
body:
|
544
550
|
encoding: ASCII-8BIT
|
545
551
|
string: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RES><ROW><FULL_NAME>IEC
|
@@ -552,5 +558,5 @@ http_interactions:
|
|
552
558
|
|
553
559
|
'
|
554
560
|
http_version:
|
555
|
-
recorded_at:
|
561
|
+
recorded_at: Mon, 21 Dec 2020 13:50:05 GMT
|
556
562
|
recorded_with: VCR 5.0.0
|