metanorma-standoc 1.3.23 → 1.3.24

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bdd733f8468bdcfebb94a59fcf3005287d631127b0b78b5451ecd2298596d2fc
4
- data.tar.gz: 06a8c8ebe957c6e40612fdb8e1a4e42c20479b4cfc947e13e75dc505855d3e35
3
+ metadata.gz: 92fc31b8bb1e9754d79b535a4daf3025602e87e0611a5bf6381b9acf5a3d80e6
4
+ data.tar.gz: 801345a1e19a5d89df053dbcd969ae508b604f82914e93623bbfebb7f33b55af
5
5
  SHA512:
6
- metadata.gz: d26c1267c6f15607fc8302b17983943f56a666b41581d8aed53bc96a4316232ce4bfd063dce6cbc70600f51abe9273431c512a6e1554bd7fa0a8e8e44a7c3ee6
7
- data.tar.gz: e75b8a871b95db034dc5f220689499237459a2d621347b3ed61f40e87ef2f1f2930123f3886b53a48caf899c41f2dbea8725979b4c684ecff942ef59ad599f59
6
+ metadata.gz: 829deae2c17c445636d4e7ef20e2e34043e1e6dff35c9d3e7c41949119867e8865279a6ed527f60ac5c413bb87058cd4262a6ada7719b36850f099aaa1e39cac
7
+ data.tar.gz: 44adac89d280d897bb4fa515f6da866da79bdde608a40bf3ea3ff31e2dd0d3f22c989e671e9ab6b1fe54d534c3476ac82d1acd22ecf87ca98248b4948a87cc50
@@ -27,9 +27,8 @@ jobs:
27
27
  node-version: '10.x'
28
28
  - name: Install LaTeXML
29
29
  run: |
30
- # https://github.com/Homebrew/homebrew-core/issues/44950
31
- brew install cpanminus
32
- cpanm --notest XML::LibXSLT@1.96 LaTeXML@0.8.4
30
+ brew install libxml2 cpanminus
31
+ env PATH=$(brew --prefix libxml2)/bin:$PATH cpanm --notest XML::LibXSLT@1.96 git://github.com/brucemiller/LaTeXML.git@9a0e7dc5
33
32
  - name: Install PlantUML
34
33
  run: |
35
34
  brew install plantuml
@@ -35,7 +35,6 @@ module Asciidoctor
35
35
  name = name || node.node_name
36
36
  w = "converter missing for #{name} node in Metanorma backend"
37
37
  @log.add("Asciidoctor Input", node, w)
38
- #Utils::warning(node, w, nil)
39
38
  nil
40
39
  end
41
40
 
@@ -49,11 +49,17 @@
49
49
  </define>
50
50
  <define name="stage">
51
51
  <element name="stage">
52
+ <optional>
53
+ <attribute name="abbreviation"/>
54
+ </optional>
52
55
  <text/>
53
56
  </element>
54
57
  </define>
55
58
  <define name="substage">
56
59
  <element name="substage">
60
+ <optional>
61
+ <attribute name="abbreviation"/>
62
+ </optional>
57
63
  <text/>
58
64
  </element>
59
65
  </define>
@@ -452,9 +458,14 @@
452
458
  <attribute name="bibitemid">
453
459
  <data type="IDREF"/>
454
460
  </attribute>
455
- <zeroOrMore>
456
- <ref name="locality"/>
457
- </zeroOrMore>
461
+ <choice>
462
+ <zeroOrMore>
463
+ <ref name="locality"/>
464
+ </zeroOrMore>
465
+ <zeroOrMore>
466
+ <ref name="localityStack"/>
467
+ </zeroOrMore>
468
+ </choice>
458
469
  <optional>
459
470
  <ref name="date"/>
460
471
  </optional>
@@ -469,6 +480,25 @@
469
480
  <ref name="BibItemLocality"/>
470
481
  </element>
471
482
  </define>
483
+ <define name="localityStack">
484
+ <element name="localityStack">
485
+ <zeroOrMore>
486
+ <ref name="locality"/>
487
+ </zeroOrMore>
488
+ </element>
489
+ </define>
490
+ <define name="sourceLocality">
491
+ <element name="sourceLocality">
492
+ <ref name="BibItemLocality"/>
493
+ </element>
494
+ </define>
495
+ <define name="sourceLocalityStack">
496
+ <element name="sourceLocalityStack">
497
+ <zeroOrMore>
498
+ <ref name="sourceLocality"/>
499
+ </zeroOrMore>
500
+ </element>
501
+ </define>
472
502
  <define name="BibItemLocality">
473
503
  <attribute name="type">
474
504
  <ref name="LocalityType"/>
@@ -1028,12 +1058,30 @@
1028
1058
  <attribute name="type">
1029
1059
  <ref name="DocRelationType"/>
1030
1060
  </attribute>
1061
+ <optional>
1062
+ <element name="description">
1063
+ <ref name="FormattedString"/>
1064
+ </element>
1065
+ </optional>
1031
1066
  <element name="bibitem">
1032
1067
  <ref name="BibliographicItem"/>
1033
1068
  </element>
1034
- <zeroOrMore>
1035
- <ref name="locality"/>
1036
- </zeroOrMore>
1069
+ <choice>
1070
+ <zeroOrMore>
1071
+ <ref name="locality"/>
1072
+ </zeroOrMore>
1073
+ <zeroOrMore>
1074
+ <ref name="localityStack"/>
1075
+ </zeroOrMore>
1076
+ </choice>
1077
+ <choice>
1078
+ <zeroOrMore>
1079
+ <ref name="sourceLocality"/>
1080
+ </zeroOrMore>
1081
+ <zeroOrMore>
1082
+ <ref name="sourceLocalityStack"/>
1083
+ </zeroOrMore>
1084
+ </choice>
1037
1085
  </element>
1038
1086
  </define>
1039
1087
  <define name="version">
@@ -35,10 +35,10 @@ module Asciidoctor
35
35
  LOCALITY_REGEX_STR = <<~REGEXP.freeze
36
36
  ^((?<locality>section|clause|part|paragraph|chapter|page|
37
37
  table|annex|figure|example|note|formula|list|
38
- locality:[^ \\t\\n\\r:,]+)(\\s+|=)
38
+ locality:[^ \\t\\n\\r:,;=]+)(\\s+|=)
39
39
  (?<ref>[^"][^ \\t\\n,:-]*|"[^"]+")
40
40
  (-(?<to>[^"][^ \\t\\n,:-]*|"[^"]"))?|
41
- (?<locality2>whole|locality:[^ \\t\\n\\r:,]+))[,:]?\\s*
41
+ (?<locality2>whole|locality:[^ \\t\\n\\r:,;=]+))(?<punct>[,:;]?)\\s*
42
42
  (?<text>.*)$
43
43
  REGEXP
44
44
  LOCALITY_RE = Regexp.new(LOCALITY_REGEX_STR.gsub(/\s/, ""),
@@ -50,12 +50,14 @@ module Asciidoctor
50
50
 
51
51
  def extract_localities(x)
52
52
  text = x&.children&.first&.remove&.text
53
+ b = x.add_child("<localityStack/>").first if LOCALITY_RE.match text
53
54
  while (m = LOCALITY_RE.match text)
54
55
  ref = m[:ref] ? "<referenceFrom>#{tq m[:ref]}</referenceFrom>" : ""
55
56
  refto = m[:to] ? "<referenceTo>#{tq m[:to]}</referenceTo>" : ""
56
57
  loc = m[:locality]&.downcase || m[:locality2]&.downcase
57
- x.add_child("<locality type='#{loc}'>#{ref}#{refto}</locality>")
58
+ b.add_child("<locality type='#{loc}'>#{ref}#{refto}</locality>")
58
59
  text = m[:text]
60
+ b = x.add_child("<localityStack/>").first if m[:punct] == ";"
59
61
  end
60
62
  x.add_child(text) if text
61
63
  end
@@ -105,10 +105,17 @@ module Asciidoctor
105
105
  %w(part-of translated-from)
106
106
  end
107
107
 
108
+ def relaton_relation_descriptions
109
+ {}
110
+ end
111
+
108
112
  def metadata_relations(node, xml)
109
113
  relaton_relations.each do |t|
110
114
  metadata_getrelation(node, xml, t)
111
115
  end
116
+ relaton_relation_descriptions.each do |k, v|
117
+ metadata_getrelation(node, xml, v, k)
118
+ end
112
119
  end
113
120
 
114
121
  def relation_normalise(type)
@@ -116,11 +123,12 @@ module Asciidoctor
116
123
  sub(/-in$/, "In")
117
124
  end
118
125
 
119
- def metadata_getrelation(node, xml, type)
120
- docs = node.attr(type) || return
126
+ def metadata_getrelation(node, xml, type, desc = nil)
127
+ docs = node.attr(desc || type) || return
121
128
  HTMLEntities.new.decode(docs).split(/;\s*/).each do |d|
122
129
  id = d.split(/,\s*/)
123
130
  xml.relation **{ type: relation_normalise(type) } do |r|
131
+ desc.nil? or r.description relation_normalise(desc)
124
132
  fetch_ref(r, d, nil, {}) or r.bibitem do |b|
125
133
  b.title id[1] ? id[1] : "--"
126
134
  b.docidentifier id[0]
@@ -8,7 +8,7 @@ module Asciidoctor
8
8
  module Standoc
9
9
  module Validate
10
10
 
11
- SOURCELOCALITY = "./termsource/origin/locality[@type = 'clause']/referenceFrom".freeze
11
+ SOURCELOCALITY = "./termsource/origin//locality[@type = 'clause']/referenceFrom".freeze
12
12
 
13
13
  def init_iev
14
14
  return nil if @no_isobib
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Standoc
3
- VERSION = "1.3.23".freeze
3
+ VERSION = "1.3.24".freeze
4
4
  end
5
5
  end
@@ -850,7 +850,11 @@ RSpec.describe Asciidoctor::Standoc do
850
850
  #{BLANK_HDR}
851
851
  <sections>
852
852
  <quote id="ABC">
853
- <source type="inline" bibitemid="ISO7301" citeas=""><locality type="section"><referenceFrom>1</referenceFrom></locality></source>
853
+ <source type="inline" bibitemid="ISO7301" citeas="">
854
+ <localityStack>
855
+ <locality type="section"><referenceFrom>1</referenceFrom></locality>
856
+ </localityStack>
857
+ </source>
854
858
  <author>ISO</author>
855
859
  <p id="_">Block quotation</p>
856
860
  </quote>
@@ -929,7 +933,11 @@ RSpec.describe Asciidoctor::Standoc do
929
933
  <term id="_">
930
934
  <preferred>Term1</preferred>
931
935
  <termsource status="identical">
932
- <origin bibitemid="ISO2191" type="inline" citeas=""><locality type="section"><referenceFrom>1</referenceFrom></locality></origin>
936
+ <origin bibitemid="ISO2191" type="inline" citeas="">
937
+ <localityStack>
938
+ <locality type="section"><referenceFrom>1</referenceFrom></locality>
939
+ </localityStack>
940
+ </origin>
933
941
  </termsource>
934
942
  </term>
935
943
  </terms>
@@ -957,7 +965,11 @@ RSpec.describe Asciidoctor::Standoc do
957
965
  <term id="_">
958
966
  <preferred>Term1</preferred>
959
967
  <termsource status="modified">
960
- <origin bibitemid="ISO2191" type="inline" citeas=""><locality type="section"><referenceFrom>1</referenceFrom></locality></origin>
968
+ <origin bibitemid="ISO2191" type="inline" citeas="">
969
+ <localityStack>
970
+ <locality type="section"><referenceFrom>1</referenceFrom></locality>
971
+ </localityStack>
972
+ </origin>
961
973
  <modification>
962
974
  <p id="_">with adjustments</p>
963
975
  </modification>
@@ -355,7 +355,8 @@ RSpec.describe Asciidoctor::Standoc do
355
355
  it "extracts localities from erefs" do
356
356
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
357
357
  #{ASCIIDOC_BLANK_HDR}
358
- <<iso216,whole,clause=3,example=9-11,locality:prelude=33,locality:entirety:the reference>>
358
+ <<iso216,whole,clause=3,example=9-11,locality:prelude="33 a",locality:entirety:the reference,xyz>>
359
+ <<iso216,whole,clause=3,example=9-11,locality:prelude=33,locality:entirety="the reference";whole,clause=3,example=9-11,locality:prelude=33,locality:entirety:the reference,xyz>>
359
360
 
360
361
  [bibliography]
361
362
  == Normative References
@@ -365,7 +366,45 @@ RSpec.describe Asciidoctor::Standoc do
365
366
  <preface><foreword id="_" obligation="informative">
366
367
  <title>Foreword</title>
367
368
  <p id="_">
368
- <eref type="inline" bibitemid="iso216" citeas="ISO 216"><locality type="whole"/><locality type="clause"><referenceFrom>3</referenceFrom></locality><locality type="example"><referenceFrom>9</referenceFrom><referenceTo>11</referenceTo></locality><locality type="locality:prelude"><referenceFrom>33</referenceFrom></locality><locality type="locality:entirety"/>the reference</eref>
369
+ <eref type="inline" bibitemid="iso216" citeas="ISO 216">
370
+ <localityStack>
371
+ <locality type="whole"/><locality type="clause"><referenceFrom>3</referenceFrom></locality><locality type="example"><referenceFrom>9</referenceFrom><referenceTo>11</referenceTo></locality><locality type="locality:prelude"><referenceFrom>33 a</referenceFrom></locality><locality type="locality:entirety"/>
372
+ </localityStack>
373
+ the reference,xyz</eref>
374
+ <eref type='inline' bibitemid='iso216' citeas='ISO 216'>
375
+ <localityStack>
376
+ <locality type='whole'/>
377
+ <locality type='clause'>
378
+ <referenceFrom>3</referenceFrom>
379
+ </locality>
380
+ <locality type='example'>
381
+ <referenceFrom>9</referenceFrom>
382
+ <referenceTo>11</referenceTo>
383
+ </locality>
384
+ <locality type='locality:prelude'>
385
+ <referenceFrom>33</referenceFrom>
386
+ </locality>
387
+ <locality type='locality:entirety'>
388
+ <referenceFrom>the reference</referenceFrom>
389
+ </locality>
390
+ </localityStack>
391
+ <localityStack>
392
+ <locality type='whole'/>
393
+ <locality type='clause'>
394
+ <referenceFrom>3</referenceFrom>
395
+ </locality>
396
+ <locality type='example'>
397
+ <referenceFrom>9</referenceFrom>
398
+ <referenceTo>11</referenceTo>
399
+ </locality>
400
+ <locality type='locality:prelude'>
401
+ <referenceFrom>33</referenceFrom>
402
+ </locality>
403
+ <locality type='locality:entirety'/>
404
+ </localityStack>
405
+ the reference,xyz
406
+ </eref>
407
+
369
408
  </p>
370
409
  </foreword></preface><sections>
371
410
  </sections><bibliography><references id="_" obligation="informative">
@@ -440,7 +479,11 @@ RSpec.describe Asciidoctor::Standoc do
440
479
  <term id="_">
441
480
  <preferred>Term1</preferred>
442
481
  <termsource status="identical">
443
- <origin bibitemid="ISO2191" type="inline" citeas=""><locality type="section"><referenceFrom>1</referenceFrom></locality></origin>
482
+ <origin bibitemid="ISO2191" type="inline" citeas="">
483
+ <localityStack>
484
+ <locality type="section"><referenceFrom>1</referenceFrom></locality>
485
+ </localityStack>
486
+ </origin>
444
487
  </termsource>
445
488
  </term>
446
489
  </terms>
@@ -975,7 +1018,11 @@ end
975
1018
  </termexample><termexample id="_">
976
1019
  <p id="_">Example 2</p>
977
1020
  </termexample><termsource status="identical">
978
- <origin bibitemid="ISO2191" type="inline" citeas=""><locality type="section"><referenceFrom>1</referenceFrom></locality></origin>
1021
+ <origin bibitemid="ISO2191" type="inline" citeas="">
1022
+ <localityStack>
1023
+ <locality type="section"><referenceFrom>1</referenceFrom></locality>
1024
+ </localityStack>
1025
+ </origin>
979
1026
  </termsource></term>
980
1027
  </terms>
981
1028
  </sections>
@@ -1088,19 +1135,31 @@ end
1088
1135
  <term id="_">
1089
1136
  <preferred>Automation1</preferred>
1090
1137
  <termsource status="identical">
1091
- <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009"><locality type="clause"><referenceFrom>103-01-02</referenceFrom></locality></origin>
1138
+ <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009">
1139
+ <localityStack>
1140
+ <locality type="clause"><referenceFrom>103-01-02</referenceFrom></locality>
1141
+ </localityStack>
1142
+ </origin>
1092
1143
  </termsource>
1093
1144
  </term>
1094
1145
  <term id="_">
1095
1146
  <preferred>Automation2</preferred>
1096
1147
  <termsource status="identical">
1097
- <origin bibitemid="IEC60050-102" type="inline" citeas="IEC 60050-102:2007"><locality type="clause"><referenceFrom>102-01-02</referenceFrom></locality></origin>
1148
+ <origin bibitemid="IEC60050-102" type="inline" citeas="IEC 60050-102:2007">
1149
+ <localityStack>
1150
+ <locality type="clause"><referenceFrom>102-01-02</referenceFrom></locality>
1151
+ </localityStack>
1152
+ </origin>
1098
1153
  </termsource>
1099
1154
  </term>
1100
1155
  <term id="_">
1101
1156
  <preferred>Automation3</preferred>
1102
1157
  <termsource status="identical">
1103
- <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009"><locality type="clause"><referenceFrom>103-01-02</referenceFrom></locality></origin>
1158
+ <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009">
1159
+ <localityStack>
1160
+ <locality type="clause"><referenceFrom>103-01-02</referenceFrom></locality>
1161
+ </localityStack>
1162
+ </origin>
1104
1163
  </termsource>
1105
1164
  </term></terms></sections><bibliography><references id="_" obligation="informative">
1106
1165
  <title>Normative References</title>
@@ -93,56 +93,68 @@ INPUT
93
93
  </concept>
94
94
  <concept>
95
95
  <eref>
96
+ <localityStack>
96
97
  <locality type='clause'>
97
98
  <referenceFrom>3.1</referenceFrom>
98
99
  </locality>
100
+ </localityStack>
99
101
  </eref>
100
102
  </concept>
101
103
  <concept>
102
104
  <eref>
105
+ <localityStack>
103
106
  <locality type='clause'>
104
107
  <referenceFrom>3.1</referenceFrom>
105
108
  </locality>
109
+ </localityStack>
106
110
  word
107
111
  </eref>
108
112
  </concept>
109
113
  <concept term='term'>
110
114
  <eref>
115
+ <localityStack>
111
116
  <locality type='clause'>
112
117
  <referenceFrom>3.1</referenceFrom>
113
118
  </locality>
119
+ </localityStack>
114
120
  word
115
121
  </eref>
116
122
  </concept>
117
123
  <concept>
118
124
  <eref>
125
+ <localityStack>
119
126
  <locality type='clause'>
120
127
  <referenceFrom>3.1</referenceFrom>
121
128
  </locality>
122
129
  <locality type='figure'>
123
130
  <referenceFrom>a</referenceFrom>
124
131
  </locality>
132
+ </localityStack>
125
133
  </eref>
126
134
  </concept>
127
135
  <concept>
128
136
  <eref>
137
+ <localityStack>
129
138
  <locality type='clause'>
130
139
  <referenceFrom>3.1</referenceFrom>
131
140
  </locality>
132
141
  <locality type='figure'>
133
142
  <referenceFrom>a</referenceFrom>
134
143
  </locality>
144
+ </localityStack>
135
145
  word
136
146
  </eref>
137
147
  </concept>
138
148
  <concept term='term'>
139
149
  <eref>
150
+ <localityStack>
140
151
  <locality type='clause'>
141
152
  <referenceFrom>3.1</referenceFrom>
142
153
  </locality>
143
154
  <locality type='figure'>
144
155
  <referenceFrom>a</referenceFrom>
145
156
  </locality>
157
+ </localityStack>
146
158
  word
147
159
  </eref>
148
160
  </concept>
@@ -27,15 +27,15 @@ http_interactions:
27
27
  Server:
28
28
  - Lotus-Domino
29
29
  Date:
30
- - Mon, 30 Mar 2020 23:07:35 GMT
30
+ - Thu, 09 Apr 2020 17:40:57 GMT
31
31
  X-Cache:
32
32
  - Miss from cloudfront
33
33
  Via:
34
- - 1.1 c8ff79862c1540e2ac1d12cabffed831.cloudfront.net (CloudFront)
34
+ - 1.1 cd36f176a69306a48de77eb7071831f6.cloudfront.net (CloudFront)
35
35
  X-Amz-Cf-Pop:
36
- - PER50-C1
36
+ - MEL50
37
37
  X-Amz-Cf-Id:
38
- - 4WW6D74xse0C0jtLbXRnb3JiceQRWb-PXrmUVrWILoZHU_GC3Qgx_Q==
38
+ - MySGyL-vOFyA2mk8juW5TXrqbjYHboeh_sLbQk4KXGCSBgXttBESQA==
39
39
  body:
40
40
  encoding: ASCII-8BIT
41
41
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -62,7 +62,7 @@ http_interactions:
62
62
  class=\"pagination pagination-centered\">\n\t\t\t\t<ul><li class=\"active\"><a
63
63
  href=\"#\" Title=\"Current page\">1</a></li></ul>\n\t\t </div>\n</body>\n</html>\n"
64
64
  http_version:
65
- recorded_at: Mon, 30 Mar 2020 23:07:32 GMT
65
+ recorded_at: Thu, 09 Apr 2020 17:40:53 GMT
66
66
  - request:
67
67
  method: get
68
68
  uri: https://webstore.iec.ch/publication/160
@@ -86,31 +86,31 @@ http_interactions:
86
86
  Content-Type:
87
87
  - text/html;charset=UTF-8
88
88
  Content-Length:
89
- - '6864'
89
+ - '6865'
90
90
  Connection:
91
91
  - keep-alive
92
92
  Server:
93
93
  - Lotus-Domino
94
94
  Date:
95
- - Mon, 30 Mar 2020 23:07:36 GMT
95
+ - Thu, 09 Apr 2020 17:40:58 GMT
96
96
  Set-Cookie:
97
- - SessionID=FM1V0OYIWA; path=/
97
+ - SessionID=FMCMXJZP9C; path=/
98
98
  Expires:
99
99
  - "-1"
100
100
  X-Cache:
101
101
  - Miss from cloudfront
102
102
  Via:
103
- - 1.1 6d9e1b33d4d46f8a020a2cae42e0c9ed.cloudfront.net (CloudFront)
103
+ - 1.1 8d06e892dffabc9924f753ab15381674.cloudfront.net (CloudFront)
104
104
  X-Amz-Cf-Pop:
105
- - PER50-C1
105
+ - MEL50
106
106
  X-Amz-Cf-Id:
107
- - 4ZUwHkUTZ5ZGejpqDRb9cm7SPzb425ydHfe8iE9FI8ePd6ZWg9GMIg==
107
+ - XwN9yhVOHFMIfcfE1ZtZi6haBfi9_G_roMmaQJ72YImLyGqQ1HFpUg==
108
108
  body:
109
109
  encoding: ASCII-8BIT
110
110
  string: !binary |-
111
- PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZNMVYwT1lJV0EiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFmbTF2MG95amN0ISI+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+QWRkIHRvIGNhcnQ8L2J1dHRvbj48L2Rpdj4KPC9maWVsZHNldD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR2aWV3aWQiIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Ml9fVlVJRCIgdmFsdWU9IiFmbTF2MG95amN0ISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIiB2YWx1ZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiPjwvZm9ybT4KPHAgY2xhc3M9InNlY29uZGFyeSBib3gtb3B0Ij4KPGEgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9PcGVuJmFtcDtpZD1HRk9ULTdOUFA4SCIgY2xhc3M9InhzcExpbmsiPkRvIHlvdSBuZWVkIGEgbXVsdGktdXNlciBjb3B5PzwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlICBwYW5lUCI+CjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpjb21wdXRlZEZpZWxkMiIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGZvcm0gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJQIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGZpZWxkc2V0IGNsYXNzPSJwYXJhbWV0ZXJzIj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50IHN0eWxlZC1zZWxlY3QiPjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNCIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDUiIHN0eWxlPSJtYXJnaW4tdG9wOjRweCIgY2xhc3M9Imxhbmdzd2l0Y2hsYWJlbCI+RW5nbGlzaC9GcmVuY2g8L2Rpdj48b3B0aW9uIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgY2xhc3M9Imxhbmdzd2l0Y2giPjE2MEVOLUZSPC9vcHRpb24+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZtMXYwb3lqY3QhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+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+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDE6MjAxNzwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYxIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMzoyMDA5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi8xNjIib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTEyOjIwMTAnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTEyOjIwMTA8L2E+PC9saT48L3NwYW4+PGxpIGNsYXNzPSJtb3JlIiBpZD0id3IiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPlNob3cgYWxsICZyYXF1bzs8L2E+PC9saT48L3VsPjxwPjwvcD48L2Rpdj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQyMDY6X2lkMzA0X19WVUlEIiB2YWx1ZT0iIWZtMXYwb3lqY3QhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQyMDY6X2lkMzA0IiB2YWx1ZT0idmlldzpfaWQyMDY6X2lkMzA0Ij48L2Zvcm0+CjxoMyBpZD0idmlldzpfaWQyMTI6Y29tcHV0ZWRGaWVsZDIiPk1vcmUgaW5mb3JtYXRpb248L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieXB1YiI+CjwvZGl2Pgo8ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDIj4KPGxpPjxhIGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDOjA6bGluazIiIGhyZWY9Imh0dHBzOi8vaWVjZXRlY2gub3JnL1RlY2huaWNhbC1Db21taXR0ZWVzLzIwMTktMDIvSW4tdGhlLWJlZ2lubmluZy10aGVyZS13YXMtdGVybWlub2xvZ3klMjAiIHRhcmdldD0iX2JsYW5rIj5BcnRpY2xlOiBhdm9pZGluZyBhbWJpZ3VpdHk8L2E+PC9saT48L2Rpdj4KPC91bD48YnI+PGgzPlNoYXJlIHRoaXMgcGFnZTwvaDM+PHVsIGNsYXNzPSJpbmxpbmUiPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEiIGhyZWY9Im1haWx0bzo/c3ViamVjdD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO2JvZHk9SGVsbG8lMkMlMEElMEFJJTIwdGhvdWdodCUyMHlvdSUyMG1pZ2h0JTIwYmUlMjBpbnRlcmVzdGVkJTIwYnklMjB0aGlzJTIwcHVibGljYXRpb24lM0ElMEElMEElMDlodHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RleHQ9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDt2aWE9SUVDU3RhbmRhcmRzIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5Ud2l0dGVyPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTEiIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxMyIgaHJlZj0iaHR0cDovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZhbXA7dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RpdGxlPUlFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO3N1bW1hcnk9JmFtcDtzb3VyY2U9SUVDJTIwV2Vic3RvcmUiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkxpbmtlZEluPC9hPiZuYnNwOzwvbGk+PC91bD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjEiPjxoND5TaGFyZSB5b3VyIHB1YmxpY2F0aW9uczwvaDQ+PHA+TGVhcm4gaG93IHRvIHNoYXJlIHlvdXIgcHVibGljYXRpb25zIHdpdGggeW91cgoJCQljb2xsZWFndWVzLCZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TlBQOEgiPnVzaW5nIG5ldHdvcmtpbmcgb3B0aW9uczwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjIiPjxoND5QYXltZW50IGluZm9ybWF0aW9uPC9oND48cD5PdXIgcHJpY2VzIGFyZSBpbiBTd2lzcyBmcmFuY3MgKDxhYmJyIHRpdGxlPSJTd2lzcyBmcmFuY3MiPkNIRjwvYWJicj4pLiBXZSBhY2NlcHQgYWxsIG1ham9yIGNyZWRpdCBjYXJkcyAoQW1lcmljYW4gRXhwcmVzcywgTWFzdGVyY2FyZCBhbmQKCQkJVmlzYSksIFBheVBhbCBhbmQgYmFuayB0cmFuc2ZlcnMgYXMgZm9ybSBvZiBwYXltZW50LjwvcD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjMiPjxoND5LZWVwIGluIHRvdWNoPC9oND48cD5LZWVwIHVwIHRvIGRhdGUgd2l0aCBuZXcgcHVibGljYXRpb24gcmVsZWFzZXMgYW5kCgkJCWFubm91bmNlbWVudHMgd2l0aAoJCQlvdXIgZnJlZSZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMSIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPklFQyBKdXN0IFB1Ymxpc2hlZCBlbWFpbCBuZXdzbGV0dGVyPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyNCI+PGg0IGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNiI+Q29udGFjdCBjdXN0b21lciBzZXJ2aWNlczwvaDQ+PHAgaWQ9InZpZXc6X2lkMjM0OmNvbXB1dGVkRmllbGQ3Ij5QbGVhc2UgPGEgaHJlZj0ibWFpbHRvOnNhbGVzQGllYy5jaCI+c2VuZCB5b3VyIGVucXVpcnkgYnkgZW1haWw8L2E+IG9yIGNhbGwgdXMgb24gKzQxIDIyIDkxOSAwMiAxMSBiZXR3ZWVuIDA5OjAwICZuZGFzaDsgMTc6MDAgQ0VUIE1vbmRheSB0byBGcmlkYXkuPC9wPjwvZGl2Pjwvc2VjdGlvbj48L2Rpdj48Zm9vdGVyIHJvbGU9ImNvbnRlbnRpbmZvIj48ZGl2IGNsYXNzPSJpbm5lciI+PHAgY2xhc3M9InNvY2lhbCI+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvZmFjZWJvb2siIHRpdGxlPSJGYWNlYm9vayI+PHNwYW4gY2xhc3M9Imljb24tZmFjZWJvb2siPjwvc3Bhbj48Yj5GYWNlYm9vazwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvdHdpdHRlciIgdGl0bGU9IlR3aXR0ZXIiPjxzcGFuIGNsYXNzPSJpY29uLXR3aXR0ZXIiPjwvc3Bhbj48Yj5Ud2l0dGVyPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9saW5rZWRpbiIgdGl0bGU9IkxpbmtlZEluIj48c3BhbiBjbGFzcz0iaWNvbi1saW5rZWRpbiI+PC9zcGFuPjxiPkxpbmtlZEluPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9waW50ZXJlc3QiIHRpdGxlPSJQaW50ZXJlc3QiPjxzcGFuIGNsYXNzPSJpY29uLXBpbnRlcmVzdCI+PC9zcGFuPjxiPlBpbnRlcmVzdDwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gveW91dHViZSIgdGl0bGU9IllvdVR1YmUiPjxzcGFuIGNsYXNzPSJpY29uLXlvdXR1YmUiPjwvc3Bhbj48Yj5Zb3VUdWJlPC9iPjwvYT48L3A+PHVsIGNsYXNzPSJsaW5rcyB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48YSBpZD0idmlldzpfaWQyNTg6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUNTSk4tOVZDQldKIj5UZXJtcyAmYW1wOyBDb25kaXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2Fib3V0L3ByaXZhY3kvIj5Qcml2YWN5PC9hPjwvbGk+PC91bD48dWwgY2xhc3M9ImNvcHlyaWdodCB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48aT48YSBpZD0idmlldzpfaWQyNTg6bGluazEiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05XTjZQIj5Db3B5cmlnaHQ8L2E+PC9pPiZuYnNwOyZjb3B5OyZuYnNwOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoIj5JRUM8L2E+Jm5ic3A7PHNwYW4gaWQ9InZpZXc6X2lkMjU4OmNvbXB1dGVkRmllbGQxIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjIwMjA8L3NwYW4+LiZuYnNwO0FsbCByaWdodHMgcmVzZXJ2ZWQuPC9saT48L3VsPjxwIGNsYXNzPSJzZWxmIj48YSBocmVmPSIjaWVjLXdlYnN0b3JlIj5Ub3A8c3BhbiBjbGFzcz0iaWNvbi1jaXJjbGUtYXJyb3ctdXAiPjwvc3Bhbj48L2E+PC9wPjwvZGl2PjwvZm9vdGVyPjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvdmVuZG9yL2pxdWVyeS0xLjguMy1taW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvY29uZmlnLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3BsdWdpbnMuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgIC8vdmFyIGVsbGlwc2VzdGV4dCA9ICIuLi4iOwogICAgdmFyIGVsbGlwc2VzdGV4dCA9ICIiOwogICAgdmFyIG1vcmV0ZXh0ID0gIlNob3cgbW9yZSDCuyI7CiAgICB2YXIgbGVzc3RleHQgPSAiU2hvdyBsZXNzIjsKICAgIAogICAgdmFyIGNvbnRlbnRIZWlnaHQ7CiAgICB2YXIgc2hvd0hlaWdodD0yMDA7CiAgICAKCiAgICAkKCcucmVhZG1vcmUnKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBjb250ZW50ID0gJCh0aGlzKS5odG1sKCk7CgogICAgICAgIGNvbnRlbnRIZWlnaHQgPSAkKCcucmVhZG1vcmUnKS5oZWlnaHQoKTsgCiAgICAgICAgaWYoY29udGVudEhlaWdodCA+IHNob3dIZWlnaHQpIHsKICAgICAgICAJJCgnLnJlYWRtb3JlJykuY3NzKHsKCQkJICAgICAgICAibWF4LWhlaWdodCI6c2hvd0hlaWdodCwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogImhpZGRlbiIKCQkJICAgIH0pOwogICAgICAgICAgICAkKHRoaXMpLmFmdGVyKCc8c3BhbiBjbGFzcz0ibW9yZWVsbGlwc2VzIj4nICsgZWxsaXBzZXN0ZXh0KyAnPC9zcGFuPjxzcGFuPjxhIGhyZWY9IiIgY2xhc3M9Im1vcmVsaW5rIj4nICsgbW9yZXRleHQgKyAnPC9hPjwvc3Bhbj4nKTsKICAgICAgICB9IAogICAgfSk7CiAKICAgICQoIi5tb3JlbGluayIpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgaWYoJCh0aGlzKS5oYXNDbGFzcygibGVzcyIpKSB7CiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKG1vcmV0ZXh0KTsKICAgICAgICAgICAgCiAgICAgICAgICAgICQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjpzaG93SGVpZ2h0CgkJCX0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKGxlc3N0ZXh0KTsKICAgIAoJCQkkKCcucmVhZG1vcmUnKS5jc3MoewkJCQkJCgkJCSAgICAgICAgIm1heC1oZWlnaHQiOiIiLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjoiIiwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogIiIKCQkJfSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICQodGhpcykucHJldigpLnRvZ2dsZSgpOyAgLy8gc2hvdy9oaWRlICIuLi4iIAogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwp9KTsKPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCmZ1bmN0aW9uIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCh0aGlzRXZlbnQpIHsKCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IAoJdHJ5ewkKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl2YXIgYmFza2V0bmFtZT1yZXR1cm5Db29raWVWYWwoanNDb29raWVOYW1lKTsKCQkKCQljb21wdXRlQmFza2V0SXRlbXMoYmFza2V0bmFtZSk7CgkJY29tcHV0ZURBRmlsZXMoKTsKCQkkKCJkaXYuYnV5Ym94IGZvcm0iKS5zdWJtaXQoCgkJCQkJCWZ1bmN0aW9uKCkgewoKCQkJCQkJCXZhciBtZWRpYSA9ICQodGhpcykuYXR0cignY2xhc3MnKTsKCQkJCQkJCXZhciBwcmljZSA9ICQodGhpcykuZmluZCgoJ2lucHV0W25hbWU9YXJ0X3ByaWNlXScpKQoJCQkJCQkJCQkudmFsKCk7CgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W25hbWU9YXJ0X2xhbmddJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkJCSgnW2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCQkKCQkJCQkJCQkJCgkJCQkJCQkKCQkJCQkJCQkJCgkJCQkJCQl2YXIgYmFza2V0bmFtZTIgPSBnZXRDb29raWUoanNDb29raWVOYW1lKTsKCQkJCQkJCUFkZFRvQmFza2V0KG1lZGlhLCBsYW5nYXJ0bnVtLCBiYXNrZXRuYW1lMik7CgoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9KTsKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl9IGNhdGNoKGUpIHthbGVydChlLm1lc3NhZ2UpO30KCQkKfSk7Cgp9CgpmdW5jdGlvbiB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrKHRoaXNFdmVudCkgewp2YXIgbXlXaW5kb3cgPSB3aW5kb3cub3BlbigiaHR0cDovL2VlcHVybC5jb20vYlkzdjc5IiwgIl9ibGFuayIsICJ0b29sYmFyPW5vLCBzY3JvbGxiYXJzPW5vLCByZXNpemFibGU9bm8sIHRvcD0yMDAsIGxlZnQ9NTAwLCB3aWR0aD05MDAsIGhlaWdodD01NTUiKTsKCgp9CgpYU1AuYWRkT25Mb2FkKGZ1bmN0aW9uKCkgewpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMzpfaWQ0NiIsICJ2aWV3Ol9pZDMiLCAib25DbGllbnRMb2FkIiwgdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkLCBmYWxzZSwgMik7ClhTUC5hdHRhY2hQYXJ0aWFsKCJ2aWV3Ol9pZDIwNjpfaWQzMDQ6X2lkMjEwIiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAib25jbGljayIsIGZ1bmN0aW9uKCl7fSwgMiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpvdGhlcnBhcnRzZGl2Iik7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQyMzQ6X2lkMjU1IiwgInZpZXc6X2lkMjM0OmxpbmsxIiwgIm9uY2xpY2siLCB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrLCBmYWxzZSwgMik7Cn0pOyAKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
111
+ PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZNQ01YSlpQOUMiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFmbWNteGp6cG10ISI+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+QWRkIHRvIGNhcnQ8L2J1dHRvbj48L2Rpdj4KPC9maWVsZHNldD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR2aWV3aWQiIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Ml9fVlVJRCIgdmFsdWU9IiFmbWNteGp6cG10ISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIiB2YWx1ZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiPjwvZm9ybT4KPHAgY2xhc3M9InNlY29uZGFyeSBib3gtb3B0Ij4KPGEgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9PcGVuJmFtcDtpZD1HRk9ULTdOUFA4SCIgY2xhc3M9InhzcExpbmsiPkRvIHlvdSBuZWVkIGEgbXVsdGktdXNlciBjb3B5PzwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlICBwYW5lUCI+CjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpjb21wdXRlZEZpZWxkMiIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGZvcm0gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJQIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGZpZWxkc2V0IGNsYXNzPSJwYXJhbWV0ZXJzIj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50IHN0eWxlZC1zZWxlY3QiPjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNCIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDUiIHN0eWxlPSJtYXJnaW4tdG9wOjRweCIgY2xhc3M9Imxhbmdzd2l0Y2hsYWJlbCI+RW5nbGlzaC9GcmVuY2g8L2Rpdj48b3B0aW9uIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgY2xhc3M9Imxhbmdzd2l0Y2giPjE2MEVOLUZSPC9vcHRpb24+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZtY214anpwbXQhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+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+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDE6MjAxNzwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYxIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMzoyMDA5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi8xNjIib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTEyOjIwMTAnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTEyOjIwMTA8L2E+PC9saT48L3NwYW4+PGxpIGNsYXNzPSJtb3JlIiBpZD0id3IiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPlNob3cgYWxsICZyYXF1bzs8L2E+PC9saT48L3VsPjxwPjwvcD48L2Rpdj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQyMDY6X2lkMzA0X19WVUlEIiB2YWx1ZT0iIWZtY214anpwbXQhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQyMDY6X2lkMzA0IiB2YWx1ZT0idmlldzpfaWQyMDY6X2lkMzA0Ij48L2Zvcm0+CjxoMyBpZD0idmlldzpfaWQyMTI6Y29tcHV0ZWRGaWVsZDIiPk1vcmUgaW5mb3JtYXRpb248L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieXB1YiI+CjwvZGl2Pgo8ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDIj4KPGxpPjxhIGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDOjA6bGluazIiIGhyZWY9Imh0dHBzOi8vaWVjZXRlY2gub3JnL1RlY2huaWNhbC1Db21taXR0ZWVzLzIwMTktMDIvSW4tdGhlLWJlZ2lubmluZy10aGVyZS13YXMtdGVybWlub2xvZ3klMjAiIHRhcmdldD0iX2JsYW5rIj5BcnRpY2xlOiBhdm9pZGluZyBhbWJpZ3VpdHk8L2E+PC9saT48L2Rpdj4KPC91bD48YnI+PGgzPlNoYXJlIHRoaXMgcGFnZTwvaDM+PHVsIGNsYXNzPSJpbmxpbmUiPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEiIGhyZWY9Im1haWx0bzo/c3ViamVjdD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO2JvZHk9SGVsbG8lMkMlMEElMEFJJTIwdGhvdWdodCUyMHlvdSUyMG1pZ2h0JTIwYmUlMjBpbnRlcmVzdGVkJTIwYnklMjB0aGlzJTIwcHVibGljYXRpb24lM0ElMEElMEElMDlodHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RleHQ9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDt2aWE9SUVDU3RhbmRhcmRzIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5Ud2l0dGVyPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTEiIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxMyIgaHJlZj0iaHR0cDovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZhbXA7dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RpdGxlPUlFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO3N1bW1hcnk9JmFtcDtzb3VyY2U9SUVDJTIwV2Vic3RvcmUiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkxpbmtlZEluPC9hPiZuYnNwOzwvbGk+PC91bD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjEiPjxoND5TaGFyZSB5b3VyIHB1YmxpY2F0aW9uczwvaDQ+PHA+TGVhcm4gaG93IHRvIHNoYXJlIHlvdXIgcHVibGljYXRpb25zIHdpdGggeW91cgoJCQljb2xsZWFndWVzLCZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TlBQOEgiPnVzaW5nIG5ldHdvcmtpbmcgb3B0aW9uczwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjIiPjxoND5QYXltZW50IGluZm9ybWF0aW9uPC9oND48cD5PdXIgcHJpY2VzIGFyZSBpbiBTd2lzcyBmcmFuY3MgKDxhYmJyIHRpdGxlPSJTd2lzcyBmcmFuY3MiPkNIRjwvYWJicj4pLiBXZSBhY2NlcHQgYWxsIG1ham9yIGNyZWRpdCBjYXJkcyAoQW1lcmljYW4gRXhwcmVzcywgTWFzdGVyY2FyZCBhbmQKCQkJVmlzYSksIFBheVBhbCBhbmQgYmFuayB0cmFuc2ZlcnMgYXMgZm9ybSBvZiBwYXltZW50LjwvcD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjMiPjxoND5LZWVwIGluIHRvdWNoPC9oND48cD5LZWVwIHVwIHRvIGRhdGUgd2l0aCBuZXcgcHVibGljYXRpb24gcmVsZWFzZXMgYW5kCgkJCWFubm91bmNlbWVudHMgd2l0aAoJCQlvdXIgZnJlZSZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMSIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPklFQyBKdXN0IFB1Ymxpc2hlZCBlbWFpbCBuZXdzbGV0dGVyPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyNCI+PGg0IGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNiI+Q29udGFjdCBjdXN0b21lciBzZXJ2aWNlczwvaDQ+PHAgaWQ9InZpZXc6X2lkMjM0OmNvbXB1dGVkRmllbGQ3Ij5QbGVhc2UgPGEgaHJlZj0ibWFpbHRvOnNhbGVzQGllYy5jaCI+c2VuZCB5b3VyIGVucXVpcnkgYnkgZW1haWw8L2E+IG9yIGNhbGwgdXMgb24gKzQxIDIyIDkxOSAwMiAxMSBiZXR3ZWVuIDA5OjAwICZuZGFzaDsgMTc6MDAgQ0VUIE1vbmRheSB0byBGcmlkYXkuPC9wPjwvZGl2Pjwvc2VjdGlvbj48L2Rpdj48Zm9vdGVyIHJvbGU9ImNvbnRlbnRpbmZvIj48ZGl2IGNsYXNzPSJpbm5lciI+PHAgY2xhc3M9InNvY2lhbCI+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvZmFjZWJvb2siIHRpdGxlPSJGYWNlYm9vayI+PHNwYW4gY2xhc3M9Imljb24tZmFjZWJvb2siPjwvc3Bhbj48Yj5GYWNlYm9vazwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvdHdpdHRlciIgdGl0bGU9IlR3aXR0ZXIiPjxzcGFuIGNsYXNzPSJpY29uLXR3aXR0ZXIiPjwvc3Bhbj48Yj5Ud2l0dGVyPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9saW5rZWRpbiIgdGl0bGU9IkxpbmtlZEluIj48c3BhbiBjbGFzcz0iaWNvbi1saW5rZWRpbiI+PC9zcGFuPjxiPkxpbmtlZEluPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9waW50ZXJlc3QiIHRpdGxlPSJQaW50ZXJlc3QiPjxzcGFuIGNsYXNzPSJpY29uLXBpbnRlcmVzdCI+PC9zcGFuPjxiPlBpbnRlcmVzdDwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gveW91dHViZSIgdGl0bGU9IllvdVR1YmUiPjxzcGFuIGNsYXNzPSJpY29uLXlvdXR1YmUiPjwvc3Bhbj48Yj5Zb3VUdWJlPC9iPjwvYT48L3A+PHVsIGNsYXNzPSJsaW5rcyB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48YSBpZD0idmlldzpfaWQyNTg6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUNTSk4tOVZDQldKIj5UZXJtcyAmYW1wOyBDb25kaXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2Fib3V0L3ByaXZhY3kvIj5Qcml2YWN5PC9hPjwvbGk+PC91bD48dWwgY2xhc3M9ImNvcHlyaWdodCB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48aT48YSBpZD0idmlldzpfaWQyNTg6bGluazEiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05XTjZQIj5Db3B5cmlnaHQ8L2E+PC9pPiZuYnNwOyZjb3B5OyZuYnNwOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoIj5JRUM8L2E+Jm5ic3A7PHNwYW4gaWQ9InZpZXc6X2lkMjU4OmNvbXB1dGVkRmllbGQxIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjIwMjA8L3NwYW4+LiZuYnNwO0FsbCByaWdodHMgcmVzZXJ2ZWQuPC9saT48L3VsPjxwIGNsYXNzPSJzZWxmIj48YSBocmVmPSIjaWVjLXdlYnN0b3JlIj5Ub3A8c3BhbiBjbGFzcz0iaWNvbi1jaXJjbGUtYXJyb3ctdXAiPjwvc3Bhbj48L2E+PC9wPjwvZGl2PjwvZm9vdGVyPjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvdmVuZG9yL2pxdWVyeS0xLjguMy1taW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvY29uZmlnLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3BsdWdpbnMuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgIC8vdmFyIGVsbGlwc2VzdGV4dCA9ICIuLi4iOwogICAgdmFyIGVsbGlwc2VzdGV4dCA9ICIiOwogICAgdmFyIG1vcmV0ZXh0ID0gIlNob3cgbW9yZSDCuyI7CiAgICB2YXIgbGVzc3RleHQgPSAiU2hvdyBsZXNzIjsKICAgIAogICAgdmFyIGNvbnRlbnRIZWlnaHQ7CiAgICB2YXIgc2hvd0hlaWdodD0yMDA7CiAgICAKCiAgICAkKCcucmVhZG1vcmUnKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBjb250ZW50ID0gJCh0aGlzKS5odG1sKCk7CgogICAgICAgIGNvbnRlbnRIZWlnaHQgPSAkKCcucmVhZG1vcmUnKS5oZWlnaHQoKTsgCiAgICAgICAgaWYoY29udGVudEhlaWdodCA+IHNob3dIZWlnaHQpIHsKICAgICAgICAJJCgnLnJlYWRtb3JlJykuY3NzKHsKCQkJICAgICAgICAibWF4LWhlaWdodCI6c2hvd0hlaWdodCwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogImhpZGRlbiIKCQkJICAgIH0pOwogICAgICAgICAgICAkKHRoaXMpLmFmdGVyKCc8c3BhbiBjbGFzcz0ibW9yZWVsbGlwc2VzIj4nICsgZWxsaXBzZXN0ZXh0KyAnPC9zcGFuPjxzcGFuPjxhIGhyZWY9IiIgY2xhc3M9Im1vcmVsaW5rIj4nICsgbW9yZXRleHQgKyAnPC9hPjwvc3Bhbj4nKTsKICAgICAgICB9IAogICAgfSk7CiAKICAgICQoIi5tb3JlbGluayIpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgaWYoJCh0aGlzKS5oYXNDbGFzcygibGVzcyIpKSB7CiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKG1vcmV0ZXh0KTsKICAgICAgICAgICAgCiAgICAgICAgICAgICQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjpzaG93SGVpZ2h0CgkJCX0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKGxlc3N0ZXh0KTsKICAgIAoJCQkkKCcucmVhZG1vcmUnKS5jc3MoewkJCQkJCgkJCSAgICAgICAgIm1heC1oZWlnaHQiOiIiLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjoiIiwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogIiIKCQkJfSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICQodGhpcykucHJldigpLnRvZ2dsZSgpOyAgLy8gc2hvdy9oaWRlICIuLi4iIAogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwp9KTsKPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCmZ1bmN0aW9uIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCh0aGlzRXZlbnQpIHsKCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IAoJdHJ5ewkKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl2YXIgYmFza2V0bmFtZT1yZXR1cm5Db29raWVWYWwoanNDb29raWVOYW1lKTsKCQkKCQljb21wdXRlQmFza2V0SXRlbXMoYmFza2V0bmFtZSk7CgkJY29tcHV0ZURBRmlsZXMoKTsKCQkkKCJkaXYuYnV5Ym94IGZvcm0iKS5zdWJtaXQoCgkJCQkJCWZ1bmN0aW9uKCkgewoKCQkJCQkJCXZhciBtZWRpYSA9ICQodGhpcykuYXR0cignY2xhc3MnKTsKCQkJCQkJCXZhciBwcmljZSA9ICQodGhpcykuZmluZCgoJ2lucHV0W25hbWU9YXJ0X3ByaWNlXScpKQoJCQkJCQkJCQkudmFsKCk7CgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W25hbWU9YXJ0X2xhbmddJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkJCSgnW2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCQkKCQkJCQkJCQkJCgkJCQkJCQkKCQkJCQkJCQkJCgkJCQkJCQl2YXIgYmFza2V0bmFtZTIgPSBnZXRDb29raWUoanNDb29raWVOYW1lKTsKCQkJCQkJCUFkZFRvQmFza2V0KG1lZGlhLCBsYW5nYXJ0bnVtLCBiYXNrZXRuYW1lMik7CgoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9KTsKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl9IGNhdGNoKGUpIHthbGVydChlLm1lc3NhZ2UpO30KCQkKfSk7Cgp9CgpmdW5jdGlvbiB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrKHRoaXNFdmVudCkgewp2YXIgbXlXaW5kb3cgPSB3aW5kb3cub3BlbigiaHR0cDovL2VlcHVybC5jb20vYlkzdjc5IiwgIl9ibGFuayIsICJ0b29sYmFyPW5vLCBzY3JvbGxiYXJzPW5vLCByZXNpemFibGU9bm8sIHRvcD0yMDAsIGxlZnQ9NTAwLCB3aWR0aD05MDAsIGhlaWdodD01NTUiKTsKCgp9CgpYU1AuYWRkT25Mb2FkKGZ1bmN0aW9uKCkgewpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMzpfaWQ0NiIsICJ2aWV3Ol9pZDMiLCAib25DbGllbnRMb2FkIiwgdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkLCBmYWxzZSwgMik7ClhTUC5hdHRhY2hQYXJ0aWFsKCJ2aWV3Ol9pZDIwNjpfaWQzMDQ6X2lkMjEwIiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAib25jbGljayIsIGZ1bmN0aW9uKCl7fSwgMiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpvdGhlcnBhcnRzZGl2Iik7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQyMzQ6X2lkMjU1IiwgInZpZXc6X2lkMjM0OmxpbmsxIiwgIm9uY2xpY2siLCB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrLCBmYWxzZSwgMik7Cn0pOyAKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
112
112
  http_version:
113
- recorded_at: Mon, 30 Mar 2020 23:07:33 GMT
113
+ recorded_at: Thu, 09 Apr 2020 17:40:55 GMT
114
114
  - request:
115
115
  method: get
116
116
  uri: https://webstore.iec.ch/webstore/webstore.nsf/AjaxRequestXML?Openagent&url=http://www.iec.ch/dyn/www/f?p=103:390:::::P390_PUBLICATION_ID:160
@@ -140,17 +140,17 @@ http_interactions:
140
140
  Server:
141
141
  - Lotus-Domino
142
142
  Date:
143
- - Mon, 30 Mar 2020 23:07:38 GMT
143
+ - Thu, 09 Apr 2020 17:40:59 GMT
144
144
  Cache-Control:
145
145
  - NoCache
146
146
  X-Cache:
147
147
  - Miss from cloudfront
148
148
  Via:
149
- - 1.1 8e4fe19e4afe627b6df92cd245022c00.cloudfront.net (CloudFront)
149
+ - 1.1 a996ef3003d01771c78c3372c0c9d9b8.cloudfront.net (CloudFront)
150
150
  X-Amz-Cf-Pop:
151
- - PER50-C1
151
+ - MEL50
152
152
  X-Amz-Cf-Id:
153
- - otRW1HZgF7ed89NCKH08RcvTDlAN0GLnUXRIc36DyNAAL7Qx_DUSuA==
153
+ - 1HBYxOuDrs_0nZi1MuXBJmdpg_uR26tpnecIkPnAzHXXWwJwUq3crA==
154
154
  body:
155
155
  encoding: ASCII-8BIT
156
156
  string: "<!DOCTYPE html>\n<html>\n<style type=\"text/css\" media=\"screen\">\nhtml{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}header{display:block}a{background:0
@@ -213,7 +213,7 @@ http_interactions:
213
213
  class=\"alert alert-danger\">\n\t\t\t<span>404</span> <small>Not Found</small>\n\t\t</h2>\n\t</div>\n\t<div
214
214
  class=\"container\">\n\t\t<ul class=\"reasons\">\n\t\t</ul>\n\t\t<p>\n\t\t\n\t\t</p>\n\t\t\n\t</div>\n</body>\n</html>\n\n"
215
215
  http_version:
216
- recorded_at: Mon, 30 Mar 2020 23:07:35 GMT
216
+ recorded_at: Thu, 09 Apr 2020 17:40:56 GMT
217
217
  - request:
218
218
  method: get
219
219
  uri: https://webstore.iec.ch/searchkey&RefNbr=IEC%2060050-103&From=&To=&start=1
@@ -241,15 +241,15 @@ http_interactions:
241
241
  Server:
242
242
  - Lotus-Domino
243
243
  Date:
244
- - Mon, 30 Mar 2020 23:07:39 GMT
244
+ - Thu, 09 Apr 2020 17:41:01 GMT
245
245
  X-Cache:
246
246
  - Miss from cloudfront
247
247
  Via:
248
- - 1.1 dcf07d246a661b6ec5620b4c9147d313.cloudfront.net (CloudFront)
248
+ - 1.1 a996ef3003d01771c78c3372c0c9d9b8.cloudfront.net (CloudFront)
249
249
  X-Amz-Cf-Pop:
250
- - PER50-C1
250
+ - MEL50
251
251
  X-Amz-Cf-Id:
252
- - tEG12ymjiS6XNlsj6CDPqNHeA68yCZVLI5sJ8YMFY31ZkNKK8YlFTw==
252
+ - drYK4MMmaABC7AJphT0Xh_RBJJ2m12nW-g7NfKnmiJkt4rcyOfKZ4A==
253
253
  body:
254
254
  encoding: ASCII-8BIT
255
255
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -278,7 +278,7 @@ http_interactions:
278
278
  pagination-centered\">\n\t\t\t\t<ul><li class=\"active\"><a href=\"#\" Title=\"Current
279
279
  page\">1</a></li></ul>\n\t\t </div>\n</body>\n</html>\n"
280
280
  http_version:
281
- recorded_at: Mon, 30 Mar 2020 23:07:36 GMT
281
+ recorded_at: Thu, 09 Apr 2020 17:40:57 GMT
282
282
  - request:
283
283
  method: get
284
284
  uri: https://webstore.iec.ch/publication/161
@@ -302,31 +302,31 @@ http_interactions:
302
302
  Content-Type:
303
303
  - text/html;charset=UTF-8
304
304
  Content-Length:
305
- - '6944'
305
+ - '6945'
306
306
  Connection:
307
307
  - keep-alive
308
308
  Server:
309
309
  - Lotus-Domino
310
310
  Date:
311
- - Mon, 30 Mar 2020 23:07:40 GMT
311
+ - Thu, 09 Apr 2020 17:41:01 GMT
312
312
  Set-Cookie:
313
- - SessionID=FM1V0RJI4C; path=/
313
+ - SessionID=FMCMXMAZPU; path=/
314
314
  Expires:
315
315
  - "-1"
316
316
  X-Cache:
317
317
  - Miss from cloudfront
318
318
  Via:
319
- - 1.1 dcf07d246a661b6ec5620b4c9147d313.cloudfront.net (CloudFront)
319
+ - 1.1 a996ef3003d01771c78c3372c0c9d9b8.cloudfront.net (CloudFront)
320
320
  X-Amz-Cf-Pop:
321
- - PER50-C1
321
+ - MEL50
322
322
  X-Amz-Cf-Id:
323
- - MIB-foEWpnHmCiJZrfi6dew2XuHfOVePS4Ak3w5-Ku2kk6L9k2EeCA==
323
+ - bU7D1O5o5C8tO_odA_iGDoy3RQHrcgEfjlzTOpwkX_HUCgjOc8EK-Q==
324
324
  body:
325
325
  encoding: ASCII-8BIT
326
326
  string: !binary |-
327
- PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjFcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZNMVYwUkpJNEMiOzwvc2NyaXB0Pgo8dGl0bGU+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+PC9wPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2hfX1ZVSUQiIHZhbHVlPSIhZm0xdjByamlreSEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIiB2YWx1ZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaCI+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+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZm0xdjByamlreSEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIj48L2Zvcm0+CjxwIGNsYXNzPSJzZWNvbmRhcnkgYm94LW9wdCI+CjxhIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/T3BlbiZhbXA7aWQ9R0ZPVC03TlBQOEgiIGNsYXNzPSJ4c3BMaW5rIj5EbyB5b3UgbmVlZCBhIG11bHRpLXVzZXIgY29weT88L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSAgcGFuZVAiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYxJmFtcDt0ZXN0IiBjbGFzcz0iUCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmFydF9sYW5nIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjphcnRfbGFuZyIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJmb250LXNpemU6MTVweCI+CTxvcHRpb24gdmFsdWU9IjE2MUVOLUZSIj5FbmdsaXNoL0ZyZW5jaDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMTYxRVMiPlNwYW5pc2g8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZtMXYwcmppa3khIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+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+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi8xNjIib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTEyOjIwMTAnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTEyOjIwMTA8L2E+PC9saT48L3NwYW4+PGxpIGNsYXNzPSJtb3JlIiBpZD0id3IiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPlNob3cgYWxsICZyYXF1bzs8L2E+PC9saT48L3VsPjxwPjwvcD48L2Rpdj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQyMDY6X2lkMzA0X19WVUlEIiB2YWx1ZT0iIWZtMXYwcmppa3khIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQyMDY6X2lkMzA0IiB2YWx1ZT0idmlldzpfaWQyMDY6X2lkMzA0Ij48L2Zvcm0+CjxoMyBpZD0idmlldzpfaWQyMTI6Y29tcHV0ZWRGaWVsZDIiPk1vcmUgaW5mb3JtYXRpb248L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieXB1YiI+CjwvZGl2Pgo8ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDIj4KPGxpPjxhIGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDOjA6bGluazIiIGhyZWY9Imh0dHBzOi8vaWVjZXRlY2gub3JnL1RlY2huaWNhbC1Db21taXR0ZWVzLzIwMTktMDIvSW4tdGhlLWJlZ2lubmluZy10aGVyZS13YXMtdGVybWlub2xvZ3klMjAiIHRhcmdldD0iX2JsYW5rIj5BcnRpY2xlOiBhdm9pZGluZyBhbWJpZ3VpdHk8L2E+PC9saT48L2Rpdj4KPC91bD48YnI+PGgzPlNoYXJlIHRoaXMgcGFnZTwvaDM+PHVsIGNsYXNzPSJpbmxpbmUiPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEiIGhyZWY9Im1haWx0bzo/c3ViamVjdD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMyUzQTIwMDkmYW1wO2JvZHk9SGVsbG8lMkMlMEElMEFJJTIwdGhvdWdodCUyMHlvdSUyMG1pZ2h0JTIwYmUlMjBpbnRlcmVzdGVkJTIwYnklMjB0aGlzJTIwcHVibGljYXRpb24lM0ElMEElMEElMDlodHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjEmYW1wO3RleHQ9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDMlM0EyMDA5JmFtcDt2aWE9SUVDU3RhbmRhcmRzIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5Ud2l0dGVyPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTEiIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAzJTNBMjAwOSIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxMyIgaHJlZj0iaHR0cDovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZhbXA7dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjEmYW1wO3RpdGxlPUlFQyUyMDYwMDUwLTEwMyUzQTIwMDkmYW1wO3N1bW1hcnk9JmFtcDtzb3VyY2U9SUVDJTIwV2Vic3RvcmUiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkxpbmtlZEluPC9hPiZuYnNwOzwvbGk+PC91bD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjEiPjxoND5TaGFyZSB5b3VyIHB1YmxpY2F0aW9uczwvaDQ+PHA+TGVhcm4gaG93IHRvIHNoYXJlIHlvdXIgcHVibGljYXRpb25zIHdpdGggeW91cgoJCQljb2xsZWFndWVzLCZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TlBQOEgiPnVzaW5nIG5ldHdvcmtpbmcgb3B0aW9uczwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjIiPjxoND5QYXltZW50IGluZm9ybWF0aW9uPC9oND48cD5PdXIgcHJpY2VzIGFyZSBpbiBTd2lzcyBmcmFuY3MgKDxhYmJyIHRpdGxlPSJTd2lzcyBmcmFuY3MiPkNIRjwvYWJicj4pLiBXZSBhY2NlcHQgYWxsIG1ham9yIGNyZWRpdCBjYXJkcyAoQW1lcmljYW4gRXhwcmVzcywgTWFzdGVyY2FyZCBhbmQKCQkJVmlzYSksIFBheVBhbCBhbmQgYmFuayB0cmFuc2ZlcnMgYXMgZm9ybSBvZiBwYXltZW50LjwvcD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjMiPjxoND5LZWVwIGluIHRvdWNoPC9oND48cD5LZWVwIHVwIHRvIGRhdGUgd2l0aCBuZXcgcHVibGljYXRpb24gcmVsZWFzZXMgYW5kCgkJCWFubm91bmNlbWVudHMgd2l0aAoJCQlvdXIgZnJlZSZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMSIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPklFQyBKdXN0IFB1Ymxpc2hlZCBlbWFpbCBuZXdzbGV0dGVyPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyNCI+PGg0IGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNiI+Q29udGFjdCBjdXN0b21lciBzZXJ2aWNlczwvaDQ+PHAgaWQ9InZpZXc6X2lkMjM0OmNvbXB1dGVkRmllbGQ3Ij5QbGVhc2UgPGEgaHJlZj0ibWFpbHRvOnNhbGVzQGllYy5jaCI+c2VuZCB5b3VyIGVucXVpcnkgYnkgZW1haWw8L2E+IG9yIGNhbGwgdXMgb24gKzQxIDIyIDkxOSAwMiAxMSBiZXR3ZWVuIDA5OjAwICZuZGFzaDsgMTc6MDAgQ0VUIE1vbmRheSB0byBGcmlkYXkuPC9wPjwvZGl2Pjwvc2VjdGlvbj48L2Rpdj48Zm9vdGVyIHJvbGU9ImNvbnRlbnRpbmZvIj48ZGl2IGNsYXNzPSJpbm5lciI+PHAgY2xhc3M9InNvY2lhbCI+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvZmFjZWJvb2siIHRpdGxlPSJGYWNlYm9vayI+PHNwYW4gY2xhc3M9Imljb24tZmFjZWJvb2siPjwvc3Bhbj48Yj5GYWNlYm9vazwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvdHdpdHRlciIgdGl0bGU9IlR3aXR0ZXIiPjxzcGFuIGNsYXNzPSJpY29uLXR3aXR0ZXIiPjwvc3Bhbj48Yj5Ud2l0dGVyPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9saW5rZWRpbiIgdGl0bGU9IkxpbmtlZEluIj48c3BhbiBjbGFzcz0iaWNvbi1saW5rZWRpbiI+PC9zcGFuPjxiPkxpbmtlZEluPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9waW50ZXJlc3QiIHRpdGxlPSJQaW50ZXJlc3QiPjxzcGFuIGNsYXNzPSJpY29uLXBpbnRlcmVzdCI+PC9zcGFuPjxiPlBpbnRlcmVzdDwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gveW91dHViZSIgdGl0bGU9IllvdVR1YmUiPjxzcGFuIGNsYXNzPSJpY29uLXlvdXR1YmUiPjwvc3Bhbj48Yj5Zb3VUdWJlPC9iPjwvYT48L3A+PHVsIGNsYXNzPSJsaW5rcyB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48YSBpZD0idmlldzpfaWQyNTg6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUNTSk4tOVZDQldKIj5UZXJtcyAmYW1wOyBDb25kaXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2Fib3V0L3ByaXZhY3kvIj5Qcml2YWN5PC9hPjwvbGk+PC91bD48dWwgY2xhc3M9ImNvcHlyaWdodCB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48aT48YSBpZD0idmlldzpfaWQyNTg6bGluazEiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05XTjZQIj5Db3B5cmlnaHQ8L2E+PC9pPiZuYnNwOyZjb3B5OyZuYnNwOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoIj5JRUM8L2E+Jm5ic3A7PHNwYW4gaWQ9InZpZXc6X2lkMjU4OmNvbXB1dGVkRmllbGQxIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjIwMjA8L3NwYW4+LiZuYnNwO0FsbCByaWdodHMgcmVzZXJ2ZWQuPC9saT48L3VsPjxwIGNsYXNzPSJzZWxmIj48YSBocmVmPSIjaWVjLXdlYnN0b3JlIj5Ub3A8c3BhbiBjbGFzcz0iaWNvbi1jaXJjbGUtYXJyb3ctdXAiPjwvc3Bhbj48L2E+PC9wPjwvZGl2PjwvZm9vdGVyPjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvdmVuZG9yL2pxdWVyeS0xLjguMy1taW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvY29uZmlnLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3BsdWdpbnMuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgIC8vdmFyIGVsbGlwc2VzdGV4dCA9ICIuLi4iOwogICAgdmFyIGVsbGlwc2VzdGV4dCA9ICIiOwogICAgdmFyIG1vcmV0ZXh0ID0gIlNob3cgbW9yZSDCuyI7CiAgICB2YXIgbGVzc3RleHQgPSAiU2hvdyBsZXNzIjsKICAgIAogICAgdmFyIGNvbnRlbnRIZWlnaHQ7CiAgICB2YXIgc2hvd0hlaWdodD0yMDA7CiAgICAKCiAgICAkKCcucmVhZG1vcmUnKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBjb250ZW50ID0gJCh0aGlzKS5odG1sKCk7CgogICAgICAgIGNvbnRlbnRIZWlnaHQgPSAkKCcucmVhZG1vcmUnKS5oZWlnaHQoKTsgCiAgICAgICAgaWYoY29udGVudEhlaWdodCA+IHNob3dIZWlnaHQpIHsKICAgICAgICAJJCgnLnJlYWRtb3JlJykuY3NzKHsKCQkJICAgICAgICAibWF4LWhlaWdodCI6c2hvd0hlaWdodCwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogImhpZGRlbiIKCQkJICAgIH0pOwogICAgICAgICAgICAkKHRoaXMpLmFmdGVyKCc8c3BhbiBjbGFzcz0ibW9yZWVsbGlwc2VzIj4nICsgZWxsaXBzZXN0ZXh0KyAnPC9zcGFuPjxzcGFuPjxhIGhyZWY9IiIgY2xhc3M9Im1vcmVsaW5rIj4nICsgbW9yZXRleHQgKyAnPC9hPjwvc3Bhbj4nKTsKICAgICAgICB9IAogICAgfSk7CiAKICAgICQoIi5tb3JlbGluayIpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgaWYoJCh0aGlzKS5oYXNDbGFzcygibGVzcyIpKSB7CiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKG1vcmV0ZXh0KTsKICAgICAgICAgICAgCiAgICAgICAgICAgICQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjpzaG93SGVpZ2h0CgkJCX0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKGxlc3N0ZXh0KTsKICAgIAoJCQkkKCcucmVhZG1vcmUnKS5jc3MoewkJCQkJCgkJCSAgICAgICAgIm1heC1oZWlnaHQiOiIiLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjoiIiwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogIiIKCQkJfSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICQodGhpcykucHJldigpLnRvZ2dsZSgpOyAgLy8gc2hvdy9oaWRlICIuLi4iIAogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwp9KTsKPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCmZ1bmN0aW9uIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCh0aGlzRXZlbnQpIHsKCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IAoJdHJ5ewkKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl2YXIgYmFza2V0bmFtZT1yZXR1cm5Db29raWVWYWwoanNDb29raWVOYW1lKTsKCQkKCQljb21wdXRlQmFza2V0SXRlbXMoYmFza2V0bmFtZSk7CgkJY29tcHV0ZURBRmlsZXMoKTsKCQkkKCJkaXYuYnV5Ym94IGZvcm0iKS5zdWJtaXQoCgkJCQkJCWZ1bmN0aW9uKCkgewoKCQkJCQkJCXZhciBtZWRpYSA9ICQodGhpcykuYXR0cignY2xhc3MnKTsKCQkJCQkJCXZhciBwcmljZSA9ICQodGhpcykuZmluZCgoJ2lucHV0W25hbWU9YXJ0X3ByaWNlXScpKQoJCQkJCQkJCQkudmFsKCk7CgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W25hbWU9YXJ0X2xhbmddJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkJCSgnW2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCQkKCQkJCQkJCQkJCgkJCQkJCQkKCQkJCQkJCQkJCgkJCQkJCQl2YXIgYmFza2V0bmFtZTIgPSBnZXRDb29raWUoanNDb29raWVOYW1lKTsKCQkJCQkJCUFkZFRvQmFza2V0KG1lZGlhLCBsYW5nYXJ0bnVtLCBiYXNrZXRuYW1lMik7CgoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9KTsKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl9IGNhdGNoKGUpIHthbGVydChlLm1lc3NhZ2UpO30KCQkKfSk7Cgp9CgpmdW5jdGlvbiB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrKHRoaXNFdmVudCkgewp2YXIgbXlXaW5kb3cgPSB3aW5kb3cub3BlbigiaHR0cDovL2VlcHVybC5jb20vYlkzdjc5IiwgIl9ibGFuayIsICJ0b29sYmFyPW5vLCBzY3JvbGxiYXJzPW5vLCByZXNpemFibGU9bm8sIHRvcD0yMDAsIGxlZnQ9NTAwLCB3aWR0aD05MDAsIGhlaWdodD01NTUiKTsKCgp9CgpYU1AuYWRkT25Mb2FkKGZ1bmN0aW9uKCkgewpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMzpfaWQ0NiIsICJ2aWV3Ol9pZDMiLCAib25DbGllbnRMb2FkIiwgdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkLCBmYWxzZSwgMik7ClhTUC5hdHRhY2hQYXJ0aWFsKCJ2aWV3Ol9pZDIwNjpfaWQzMDQ6X2lkMjEwIiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAib25jbGljayIsIGZ1bmN0aW9uKCl7fSwgMiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpvdGhlcnBhcnRzZGl2Iik7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQyMzQ6X2lkMjU1IiwgInZpZXc6X2lkMjM0OmxpbmsxIiwgIm9uY2xpY2siLCB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrLCBmYWxzZSwgMik7Cn0pOyAKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
327
+ PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjFcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUZNQ01YTUFaUFUiOzwvc2NyaXB0Pgo8dGl0bGU+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+PC9wPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2hfX1ZVSUQiIHZhbHVlPSIhZm1jbXhtYmNmciEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIiB2YWx1ZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaCI+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+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODJfX1ZVSUQiIHZhbHVlPSIhZm1jbXhtYmNmciEiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdGlkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BleGVjaWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHZhbHVlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRzY3JvbGwiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4MiIgdmFsdWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIj48L2Zvcm0+CjxwIGNsYXNzPSJzZWNvbmRhcnkgYm94LW9wdCI+CjxhIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/T3BlbiZhbXA7aWQ9R0ZPVC03TlBQOEgiIGNsYXNzPSJ4c3BMaW5rIj5EbyB5b3UgbmVlZCBhIG11bHRpLXVzZXIgY29weT88L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSAgcGFuZVAiPgo8c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6Y29tcHV0ZWRGaWVsZDIiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxmb3JtIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBQdWJsaWNhdGlvbi54c3A/T3BlbiZhbXA7cHViaWQ9MTYxJmFtcDt0ZXN0IiBjbGFzcz0iUCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CjxmaWVsZHNldCBjbGFzcz0icGFyYW1ldGVycyI+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCBzdHlsZWQtc2VsZWN0Ij48c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDQiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxzZWxlY3QgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmFydF9sYW5nIiBuYW1lPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjphcnRfbGFuZyIgY2xhc3M9Imxhbmdzd2l0Y2giIHNpemU9IjEiIHN0eWxlPSJmb250LXNpemU6MTVweCI+CTxvcHRpb24gdmFsdWU9IjE2MUVOLUZSIj5FbmdsaXNoL0ZyZW5jaDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMTYxRVMiPlNwYW5pc2g8L29wdGlvbj4KPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzEwIiBpdGVtcHJvcD0icHJpY2UiPjMxMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWZtY214bWJjZnIhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+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+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82NTc2OSJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQyOjIwMTknLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMjoyMDE5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi8xNjIib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTEyOjIwMTAnLCAnSUVDIDYwMDUwLTEwMzoyMDA5Jyk7Ij5JRUMgNjAwNTAtMTEyOjIwMTA8L2E+PC9saT48L3NwYW4+PGxpIGNsYXNzPSJtb3JlIiBpZD0id3IiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPlNob3cgYWxsICZyYXF1bzs8L2E+PC9saT48L3VsPjxwPjwvcD48L2Rpdj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQyMDY6X2lkMzA0X19WVUlEIiB2YWx1ZT0iIWZtY214bWJjZnIhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQyMDY6X2lkMzA0IiB2YWx1ZT0idmlldzpfaWQyMDY6X2lkMzA0Ij48L2Zvcm0+CjxoMyBpZD0idmlldzpfaWQyMTI6Y29tcHV0ZWRGaWVsZDIiPk1vcmUgaW5mb3JtYXRpb248L2gzPjx1bCBjbGFzcz0iaW5saW5lIj48ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieXB1YiI+CjwvZGl2Pgo8ZGl2IGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDIj4KPGxpPjxhIGlkPSJ2aWV3Ol9pZDIxMjpyZXBlYXRCbG9ja0xpbmtieVRDOjA6bGluazIiIGhyZWY9Imh0dHBzOi8vaWVjZXRlY2gub3JnL1RlY2huaWNhbC1Db21taXR0ZWVzLzIwMTktMDIvSW4tdGhlLWJlZ2lubmluZy10aGVyZS13YXMtdGVybWlub2xvZ3klMjAiIHRhcmdldD0iX2JsYW5rIj5BcnRpY2xlOiBhdm9pZGluZyBhbWJpZ3VpdHk8L2E+PC9saT48L2Rpdj4KPC91bD48YnI+PGgzPlNoYXJlIHRoaXMgcGFnZTwvaDM+PHVsIGNsYXNzPSJpbmxpbmUiPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEiIGhyZWY9Im1haWx0bzo/c3ViamVjdD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMyUzQTIwMDkmYW1wO2JvZHk9SGVsbG8lMkMlMEElMEFJJTIwdGhvdWdodCUyMHlvdSUyMG1pZ2h0JTIwYmUlMjBpbnRlcmVzdGVkJTIwYnklMjB0aGlzJTIwcHVibGljYXRpb24lM0ElMEElMEElMDlodHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjEmYW1wO3RleHQ9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDMlM0EyMDA5JmFtcDt2aWE9SUVDU3RhbmRhcmRzIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5Ud2l0dGVyPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTEiIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYxJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAzJTNBMjAwOSIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxMyIgaHJlZj0iaHR0cDovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZhbXA7dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjEmYW1wO3RpdGxlPUlFQyUyMDYwMDUwLTEwMyUzQTIwMDkmYW1wO3N1bW1hcnk9JmFtcDtzb3VyY2U9SUVDJTIwV2Vic3RvcmUiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkxpbmtlZEluPC9hPiZuYnNwOzwvbGk+PC91bD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjEiPjxoND5TaGFyZSB5b3VyIHB1YmxpY2F0aW9uczwvaDQ+PHA+TGVhcm4gaG93IHRvIHNoYXJlIHlvdXIgcHVibGljYXRpb25zIHdpdGggeW91cgoJCQljb2xsZWFndWVzLCZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TlBQOEgiPnVzaW5nIG5ldHdvcmtpbmcgb3B0aW9uczwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjIiPjxoND5QYXltZW50IGluZm9ybWF0aW9uPC9oND48cD5PdXIgcHJpY2VzIGFyZSBpbiBTd2lzcyBmcmFuY3MgKDxhYmJyIHRpdGxlPSJTd2lzcyBmcmFuY3MiPkNIRjwvYWJicj4pLiBXZSBhY2NlcHQgYWxsIG1ham9yIGNyZWRpdCBjYXJkcyAoQW1lcmljYW4gRXhwcmVzcywgTWFzdGVyY2FyZCBhbmQKCQkJVmlzYSksIFBheVBhbCBhbmQgYmFuayB0cmFuc2ZlcnMgYXMgZm9ybSBvZiBwYXltZW50LjwvcD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjMiPjxoND5LZWVwIGluIHRvdWNoPC9oND48cD5LZWVwIHVwIHRvIGRhdGUgd2l0aCBuZXcgcHVibGljYXRpb24gcmVsZWFzZXMgYW5kCgkJCWFubm91bmNlbWVudHMgd2l0aAoJCQlvdXIgZnJlZSZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMSIgaHJlZj0iIyIgY2xhc3M9InhzcExpbmsiPklFQyBKdXN0IFB1Ymxpc2hlZCBlbWFpbCBuZXdzbGV0dGVyPC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibC1xdWFydGVyNCI+PGg0IGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNiI+Q29udGFjdCBjdXN0b21lciBzZXJ2aWNlczwvaDQ+PHAgaWQ9InZpZXc6X2lkMjM0OmNvbXB1dGVkRmllbGQ3Ij5QbGVhc2UgPGEgaHJlZj0ibWFpbHRvOnNhbGVzQGllYy5jaCI+c2VuZCB5b3VyIGVucXVpcnkgYnkgZW1haWw8L2E+IG9yIGNhbGwgdXMgb24gKzQxIDIyIDkxOSAwMiAxMSBiZXR3ZWVuIDA5OjAwICZuZGFzaDsgMTc6MDAgQ0VUIE1vbmRheSB0byBGcmlkYXkuPC9wPjwvZGl2Pjwvc2VjdGlvbj48L2Rpdj48Zm9vdGVyIHJvbGU9ImNvbnRlbnRpbmZvIj48ZGl2IGNsYXNzPSJpbm5lciI+PHAgY2xhc3M9InNvY2lhbCI+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvZmFjZWJvb2siIHRpdGxlPSJGYWNlYm9vayI+PHNwYW4gY2xhc3M9Imljb24tZmFjZWJvb2siPjwvc3Bhbj48Yj5GYWNlYm9vazwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvdHdpdHRlciIgdGl0bGU9IlR3aXR0ZXIiPjxzcGFuIGNsYXNzPSJpY29uLXR3aXR0ZXIiPjwvc3Bhbj48Yj5Ud2l0dGVyPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9saW5rZWRpbiIgdGl0bGU9IkxpbmtlZEluIj48c3BhbiBjbGFzcz0iaWNvbi1saW5rZWRpbiI+PC9zcGFuPjxiPkxpbmtlZEluPC9iPjwvYT48YSBjbGFzcz0ic3ltYm9sIiBocmVmPSJodHRwOi8vd3d3LmllYy5jaC9waW50ZXJlc3QiIHRpdGxlPSJQaW50ZXJlc3QiPjxzcGFuIGNsYXNzPSJpY29uLXBpbnRlcmVzdCI+PC9zcGFuPjxiPlBpbnRlcmVzdDwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gveW91dHViZSIgdGl0bGU9IllvdVR1YmUiPjxzcGFuIGNsYXNzPSJpY29uLXlvdXR1YmUiPjwvc3Bhbj48Yj5Zb3VUdWJlPC9iPjwvYT48L3A+PHVsIGNsYXNzPSJsaW5rcyB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48YSBpZD0idmlldzpfaWQyNTg6bGluazIiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUNTSk4tOVZDQldKIj5UZXJtcyAmYW1wOyBDb25kaXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoL2Fib3V0L3ByaXZhY3kvIj5Qcml2YWN5PC9hPjwvbGk+PC91bD48dWwgY2xhc3M9ImNvcHlyaWdodCB0ZXJ0aWFyeSBpbmxpbmUiPjxsaT48aT48YSBpZD0idmlldzpfaWQyNTg6bGluazEiIGhyZWY9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YveHBGQVEueHNwP2lkPUdGT1QtN05XTjZQIj5Db3B5cmlnaHQ8L2E+PC9pPiZuYnNwOyZjb3B5OyZuYnNwOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWVjLmNoIj5JRUM8L2E+Jm5ic3A7PHNwYW4gaWQ9InZpZXc6X2lkMjU4OmNvbXB1dGVkRmllbGQxIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjIwMjA8L3NwYW4+LiZuYnNwO0FsbCByaWdodHMgcmVzZXJ2ZWQuPC9saT48L3VsPjxwIGNsYXNzPSJzZWxmIj48YSBocmVmPSIjaWVjLXdlYnN0b3JlIj5Ub3A8c3BhbiBjbGFzcz0iaWNvbi1jaXJjbGUtYXJyb3ctdXAiPjwvc3Bhbj48L2E+PC9wPjwvZGl2PjwvZm9vdGVyPjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvdmVuZG9yL2pxdWVyeS0xLjguMy1taW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvY29uZmlnLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3dlYnN0b3JlX0J1aWxkL2pzL3BsdWdpbnMuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgIC8vdmFyIGVsbGlwc2VzdGV4dCA9ICIuLi4iOwogICAgdmFyIGVsbGlwc2VzdGV4dCA9ICIiOwogICAgdmFyIG1vcmV0ZXh0ID0gIlNob3cgbW9yZSDCuyI7CiAgICB2YXIgbGVzc3RleHQgPSAiU2hvdyBsZXNzIjsKICAgIAogICAgdmFyIGNvbnRlbnRIZWlnaHQ7CiAgICB2YXIgc2hvd0hlaWdodD0yMDA7CiAgICAKCiAgICAkKCcucmVhZG1vcmUnKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBjb250ZW50ID0gJCh0aGlzKS5odG1sKCk7CgogICAgICAgIGNvbnRlbnRIZWlnaHQgPSAkKCcucmVhZG1vcmUnKS5oZWlnaHQoKTsgCiAgICAgICAgaWYoY29udGVudEhlaWdodCA+IHNob3dIZWlnaHQpIHsKICAgICAgICAJJCgnLnJlYWRtb3JlJykuY3NzKHsKCQkJICAgICAgICAibWF4LWhlaWdodCI6c2hvd0hlaWdodCwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogImhpZGRlbiIKCQkJICAgIH0pOwogICAgICAgICAgICAkKHRoaXMpLmFmdGVyKCc8c3BhbiBjbGFzcz0ibW9yZWVsbGlwc2VzIj4nICsgZWxsaXBzZXN0ZXh0KyAnPC9zcGFuPjxzcGFuPjxhIGhyZWY9IiIgY2xhc3M9Im1vcmVsaW5rIj4nICsgbW9yZXRleHQgKyAnPC9hPjwvc3Bhbj4nKTsKICAgICAgICB9IAogICAgfSk7CiAKICAgICQoIi5tb3JlbGluayIpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgaWYoJCh0aGlzKS5oYXNDbGFzcygibGVzcyIpKSB7CiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKG1vcmV0ZXh0KTsKICAgICAgICAgICAgCiAgICAgICAgICAgICQoJy5yZWFkbW9yZScpLmNzcyh7CgkJCSAgICAgICAgIm1heC1oZWlnaHQiOnNob3dIZWlnaHQsCgkJCSAgICAgICAgIm92ZXJmbG93IiA6ICJoaWRkZW4iLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjpzaG93SGVpZ2h0CgkJCX0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoImxlc3MiKTsKICAgICAgICAgICAgJCh0aGlzKS5odG1sKGxlc3N0ZXh0KTsKICAgIAoJCQkkKCcucmVhZG1vcmUnKS5jc3MoewkJCQkJCgkJCSAgICAgICAgIm1heC1oZWlnaHQiOiIiLAoJCQkgICAgICAgICJtaW4taGVpZ2h0IjoiIiwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogIiIKCQkJfSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICQodGhpcykucHJldigpLnRvZ2dsZSgpOyAgLy8gc2hvdy9oaWRlICIuLi4iIAogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwp9KTsKPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCmZ1bmN0aW9uIHZpZXdfX2lkM19faWQ0Nl9jbGllbnRTaWRlX29uQ2xpZW50TG9hZCh0aGlzRXZlbnQpIHsKCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IAoJdHJ5ewkKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl2YXIgYmFza2V0bmFtZT1yZXR1cm5Db29raWVWYWwoanNDb29raWVOYW1lKTsKCQkKCQljb21wdXRlQmFza2V0SXRlbXMoYmFza2V0bmFtZSk7CgkJY29tcHV0ZURBRmlsZXMoKTsKCQkkKCJkaXYuYnV5Ym94IGZvcm0iKS5zdWJtaXQoCgkJCQkJCWZ1bmN0aW9uKCkgewoKCQkJCQkJCXZhciBtZWRpYSA9ICQodGhpcykuYXR0cignY2xhc3MnKTsKCQkJCQkJCXZhciBwcmljZSA9ICQodGhpcykuZmluZCgoJ2lucHV0W25hbWU9YXJ0X3ByaWNlXScpKQoJCQkJCQkJCQkudmFsKCk7CgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W25hbWU9YXJ0X2xhbmddJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkvL3ZhciBsYW5nYXJ0bnVtID0gJCh0aGlzKS5maW5kKAoJCQkJCQkJLy8JCSgnc2VsZWN0W2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCgkJCQkJCQkJCQoJCQkJCQkJdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkJCSgnW2NsYXNzPWxhbmdzd2l0Y2hdJykpLnZhbCgpOyAvLyBwdWJpZCtsYW5nCQkKCQkJCQkJCQkJCgkJCQkJCQkKCQkJCQkJCQkJCgkJCQkJCQl2YXIgYmFza2V0bmFtZTIgPSBnZXRDb29raWUoanNDb29raWVOYW1lKTsKCQkJCQkJCUFkZFRvQmFza2V0KG1lZGlhLCBsYW5nYXJ0bnVtLCBiYXNrZXRuYW1lMik7CgoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9KTsKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQl9IGNhdGNoKGUpIHthbGVydChlLm1lc3NhZ2UpO30KCQkKfSk7Cgp9CgpmdW5jdGlvbiB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrKHRoaXNFdmVudCkgewp2YXIgbXlXaW5kb3cgPSB3aW5kb3cub3BlbigiaHR0cDovL2VlcHVybC5jb20vYlkzdjc5IiwgIl9ibGFuayIsICJ0b29sYmFyPW5vLCBzY3JvbGxiYXJzPW5vLCByZXNpemFibGU9bm8sIHRvcD0yMDAsIGxlZnQ9NTAwLCB3aWR0aD05MDAsIGhlaWdodD01NTUiKTsKCgp9CgpYU1AuYWRkT25Mb2FkKGZ1bmN0aW9uKCkgewpYU1AuYXR0YWNoRXZlbnQoInZpZXc6X2lkMzpfaWQ0NiIsICJ2aWV3Ol9pZDMiLCAib25DbGllbnRMb2FkIiwgdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkLCBmYWxzZSwgMik7ClhTUC5hdHRhY2hQYXJ0aWFsKCJ2aWV3Ol9pZDIwNjpfaWQzMDQ6X2lkMjEwIiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIsICJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiLCAib25jbGljayIsIGZ1bmN0aW9uKCl7fSwgMiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpvdGhlcnBhcnRzZGl2Iik7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQyMzQ6X2lkMjU1IiwgInZpZXc6X2lkMjM0OmxpbmsxIiwgIm9uY2xpY2siLCB2aWV3X19pZDIzNF9faWQyNTVfY2xpZW50U2lkZV9vbmNsaWNrLCBmYWxzZSwgMik7Cn0pOyAKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
328
328
  http_version:
329
- recorded_at: Mon, 30 Mar 2020 23:07:38 GMT
329
+ recorded_at: Thu, 09 Apr 2020 17:40:59 GMT
330
330
  - request:
331
331
  method: get
332
332
  uri: https://webstore.iec.ch/webstore/webstore.nsf/AjaxRequestXML?Openagent&url=http://www.iec.ch/dyn/www/f?p=103:390:::::P390_PUBLICATION_ID:161
@@ -356,17 +356,17 @@ http_interactions:
356
356
  Server:
357
357
  - Lotus-Domino
358
358
  Date:
359
- - Mon, 30 Mar 2020 23:07:42 GMT
359
+ - Thu, 09 Apr 2020 17:41:05 GMT
360
360
  Cache-Control:
361
361
  - NoCache
362
362
  X-Cache:
363
363
  - Miss from cloudfront
364
364
  Via:
365
- - 1.1 2d59845825b74fd3ae094215b11f2c10.cloudfront.net (CloudFront)
365
+ - 1.1 a996ef3003d01771c78c3372c0c9d9b8.cloudfront.net (CloudFront)
366
366
  X-Amz-Cf-Pop:
367
- - PER50-C1
367
+ - MEL50
368
368
  X-Amz-Cf-Id:
369
- - LnN4bhoUjOa--50xOJiVC09h0emPqtepOl65ORCIXx1wZpAhtmCjEQ==
369
+ - uzAE0qBv68k6TWv-s-htzTF-WA4BeBqwfj7QwAeFL9c6OupZ-y_1bA==
370
370
  body:
371
371
  encoding: ASCII-8BIT
372
372
  string: "<!DOCTYPE html>\n<html>\n<style type=\"text/css\" media=\"screen\">\nhtml{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}header{display:block}a{background:0
@@ -429,5 +429,5 @@ http_interactions:
429
429
  class=\"alert alert-danger\">\n\t\t\t<span>404</span> <small>Not Found</small>\n\t\t</h2>\n\t</div>\n\t<div
430
430
  class=\"container\">\n\t\t<ul class=\"reasons\">\n\t\t</ul>\n\t\t<p>\n\t\t\n\t\t</p>\n\t\t\n\t</div>\n</body>\n</html>\n\n"
431
431
  http_version:
432
- recorded_at: Mon, 30 Mar 2020 23:07:39 GMT
432
+ recorded_at: Thu, 09 Apr 2020 17:41:02 GMT
433
433
  recorded_with: VCR 5.0.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-standoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.23
4
+ version: 1.3.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-03 00:00:00.000000000 Z
11
+ date: 2020-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor