relaton 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/relaton/registry.rb +1 -1
- data/lib/relaton/version.rb +1 -1
- data/relaton.gemspec +9 -8
- data/spec/relaton_spec.rb +7 -0
- data/spec/vcr_cassetes/ogm_ami4ccm_1_0.yml +55 -0
- metadata +33 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22a1e8f9a807ed93c69a7a876128c4d3804d6527d76160d3b206e5d254e42706
|
4
|
+
data.tar.gz: e5d763c7d1afdabe3744d2ea1b4bea990022dd205613a2c2a4261a98e339fb87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf63b7fa27d0f14e6de6fa42a7a8be6b9520a435fb99931313a589b43c75a88338a47dcd7fb24d57ebbec15926eb8e2bf8361d3a2748e53e1eede81cda1cd68b
|
7
|
+
data.tar.gz: 6d4e1abc76a7ff1048ed97e3b9f442d006f7185430668ed5270fe58080da274e42f258e847de61d00f59a4254987f02ab6310861d98de872f47ee0bebb9e451d
|
data/lib/relaton/registry.rb
CHANGED
data/lib/relaton/version.rb
CHANGED
data/relaton.gemspec
CHANGED
@@ -29,14 +29,15 @@ model.
|
|
29
29
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
30
30
|
|
31
31
|
# spec.add_dependency "algoliasearch"
|
32
|
-
spec.add_dependency "relaton-calconnect", "~> 0.
|
33
|
-
spec.add_dependency "relaton-gb", "~> 0.
|
34
|
-
spec.add_dependency "relaton-iec", "~> 0.
|
35
|
-
spec.add_dependency "relaton-ietf", "~> 0.
|
36
|
-
spec.add_dependency "relaton-iso", "~> 0.
|
37
|
-
spec.add_dependency "relaton-itu", "~> 0.
|
38
|
-
spec.add_dependency "relaton-nist", "~> 0.
|
39
|
-
spec.add_dependency "relaton-ogc", "~> 0.
|
32
|
+
spec.add_dependency "relaton-calconnect", "~> 0.5.0"
|
33
|
+
spec.add_dependency "relaton-gb", "~> 0.10.0"
|
34
|
+
spec.add_dependency "relaton-iec", "~> 0.8.0"
|
35
|
+
spec.add_dependency "relaton-ietf", "~> 0.10.0"
|
36
|
+
spec.add_dependency "relaton-iso", "~> 0.10.0"
|
37
|
+
spec.add_dependency "relaton-itu", "~> 0.7.0"
|
38
|
+
spec.add_dependency "relaton-nist", "~> 0.7.0"
|
39
|
+
spec.add_dependency "relaton-ogc", "~> 0.5.0"
|
40
|
+
spec.add_dependency "relaton-omg", "~> 0.1.0"
|
40
41
|
|
41
42
|
spec.add_development_dependency "byebug", "~> 10.0"
|
42
43
|
spec.add_development_dependency "debase"
|
data/spec/relaton_spec.rb
CHANGED
@@ -172,6 +172,13 @@ RSpec.describe Relaton::Db do
|
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
175
|
+
it "get OMG reference" do
|
176
|
+
VCR.use_cassette "ogm_ami4ccm_1_0" do
|
177
|
+
bib = @db.fetch "OMG AMI4CCM 1.0", nil, {}
|
178
|
+
expect(bib).to be_instance_of RelatonOmg::OmgBibliographicItem
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
175
182
|
context "version control" do
|
176
183
|
before(:each) { @db.save_entry "iso(test_key)", value: "test_value" }
|
177
184
|
|
@@ -0,0 +1,55 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.omg.org/spec/AMI4CCM/1.0
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: '200'
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Sun, 16 Feb 2020 14:45:34 GMT
|
23
|
+
Server:
|
24
|
+
- Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3
|
25
|
+
X-Arequestid:
|
26
|
+
- 585x2342567x1
|
27
|
+
X-Xss-Protection:
|
28
|
+
- 1; mode=block
|
29
|
+
X-Content-Type-Options:
|
30
|
+
- nosniff
|
31
|
+
X-Frame-Options:
|
32
|
+
- SAMEORIGIN
|
33
|
+
Content-Security-Policy:
|
34
|
+
- frame-ancestors 'self'
|
35
|
+
X-Asen:
|
36
|
+
- SEN-L14934863
|
37
|
+
Set-Cookie:
|
38
|
+
- JSESSIONID=63528B0B87BCB6F1EB10F952041B0C33; Path=/; Secure; HttpOnly
|
39
|
+
- atlassian.xsrf.token=BZ1S-78OQ-47MN-5Q1I_0f2201512bd66ae2981c3977077cecff55b27aa2_lout;
|
40
|
+
Path=/; Secure
|
41
|
+
X-Ausername:
|
42
|
+
- anonymous
|
43
|
+
Cache-Control:
|
44
|
+
- max-age=60, private
|
45
|
+
Content-Type:
|
46
|
+
- text/html;charset=UTF-8
|
47
|
+
Transfer-Encoding:
|
48
|
+
- chunked
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
CgoKCgoKCgoKCgoKCgoKCjxodG1sIGNsYXNzPSJqcyBuby10b3VjaCBjc3N0cmFuc2Zvcm1zM2QgY3NzdHJhbnNpdGlvbnMiIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8dGl0bGU+QWJvdXQgdGhlIEFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIFNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjA8L3RpdGxlPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS8iLz4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlvbi9yZGYreG1sIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS8iLz4KICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+WyB7CiAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9jYXRlZ29yeSIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00iLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNOYW1lZEluZGl2aWR1YWwiLCAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9TcGVjaWZpY2F0aW9uIiBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NhdGVnb3J5IiA6IFsgewogICAgIkB2YWx1ZSIgOiAiY29tcG9uZW50LWFyY2hpdGVjdHVyZSIKICB9LCB7CiAgICAiQHZhbHVlIiA6ICJjb3JiYS1wbGF0Zm9ybSIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvcHVibGljYXRpb25EYXRlIiA6IFsgewogICAgIkB0eXBlIiA6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkYXRlVGltZSIsCiAgICAiQHZhbHVlIiA6ICIyMDEzLTAzLTMxVDAwOjAwOjAwLTA0MDAiCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25BYmJyZXZpYXRpb24iIDogWyB7CiAgICAiQHZhbHVlIiA6ICJBTUk0Q0NNIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uQWJzdHJhY3QiIDogWyB7CiAgICAiQHZhbHVlIiA6ICJUaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIG1lY2hhbmlzbSB0byBwZXJmb3JtIGFzeW5jaHJvbm91cyBtZXRob2QgaW52b2NhdGlvbiBmb3IgQ0NNIChBTUk0Q0NNKS4iCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25UaXRsZSIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uVVJMIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5odG1sIgogIH0gXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS8iLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNPbnRvbG9neSIgXSwKICAiaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zL2xpY2Vuc2UiIDogWyB7CiAgICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL01JVExpY2Vuc2UiCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NyZWF0aW9uRGF0ZSIgOiBbIHsKICAgICJAdHlwZSIgOiAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUiLAogICAgIkB2YWx1ZSIgOiAiMjAxMy0wMy0zMVQwMDowMDowMC0wNDAwIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9maWxlbmFtZSIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFib3V0LUFNSTRDQ00ucmRmIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2xhYmVsIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiQWJvdXQgdGhlIEFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIFNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjAiCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNpbXBvcnRzIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS8iCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCN2ZXJzaW9uSVJJIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjdmVyc2lvbkluZm8iIDogWyB7CiAgICAiQHZhbHVlIiA6ICJHZW5lcmF0ZWQgb24gMjAyMC0wMi0xMVQxNjoyNjo1NC0wNTAwIgogIH0gXQp9IF08L3NjcmlwdD4KICAgIDwhLS0gSEVBRCBJTkNMVURFIEJFR0lOIC0tPg0KPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4NCg0KPCEtLSBNb2JpbGUgU3BlY2lmaWMgTWV0YXMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTEuMCx1c2VyLXNjYWxhYmxlPTAiPg0KDQo8IS0tIEdvb2dsZSBXZWIgRm9udHMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KPGxpbmsgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUFudG9ufE11bGk6MzAwLDQwMCw0MDBpdGFsaWMsMzAwaXRhbGljfE9zd2FsZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQoNCjwhLS0gR2xvYmFsIFNpdGUgVGFnIChndGFnLmpzKSAtIEdvb2dsZSBBbmFseXRpY3MgLS0+DQo8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1VQS0xMDY5NDE0ODgtMSI+PC9zY3JpcHQ+DQo8c2NyaXB0Pg0KICAgIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KICAgIGZ1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpfTsNCiAgICBndGFnKCdqcycsIG5ldyBEYXRlKCkpOw0KICAgIGd0YWcoJ2NvbmZpZycsICdVQS0xMDY5NDE0ODgtMScpOw0KPC9zY3JpcHQ+DQo8IS0tIEdvb2dsZSBBbmFseXRpY3MgLS0+DQoNCjwhLS0gQ1NTDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCjwhLS0gQmFzZSArIFZlbmRvcnMgQ1NTIC0tPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9ib290c3RyYXAubWluLmNzcyI+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvY3NzL2ZvbnRzL2ZvbnQtYXdlc29tZS9jc3MvZm9udC1hd2Vzb21lLmNzcyI+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL293bC1jYXJvdXNlbC9vd2wuY2Fyb3VzZWwuY3NzIiBtZWRpYT0ic2NyZWVuIj4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy92ZW5kb3Ivb3dsLWNhcm91c2VsL293bC50aGVtZS5jc3MiIG1lZGlhPSJzY3JlZW4iPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9tYWduaWZpYy1wb3B1cC9tYWduaWZpYy1wb3B1cC5jc3MiIG1lZGlhPSJzY3JlZW4iPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9tZWRpYWVsZW1lbnQvbWVkaWFlbGVtZW50cGxheWVyLmNzcyIgLz4NCg0KPCEtLSBUaGVtZSBDU1MtLT4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvdGhlbWUuY3NzIj4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvdGhlbWUtZWxlbWVudHMuY3NzIj4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvYW5pbWF0ZS5taW4uY3NzIj4NCg0KPCEtLSBTa2luIENTUyAtLT4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3Mvc2tpbnMvdGVhbC5jc3MiPg0KDQo8IS0tIEN1c3RvbSBDU1MtLT4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvY3VzdG9tLmNzcyI+DQoNCjwhLS0gSGVhZCBMaWJzIC0tPg0KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL21vZGVybml6ci5qcyI+PC9zY3JpcHQ+DQoNCjwhLS1baWYgbHQgSUUgOV0+DQogICAgPHNjcmlwdCBzcmM9Imh0dHA6Ly9odG1sNXNoaW0uZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2h0bWw1LmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0idmVuZG9yL3Jlc3BvbmQubWluLmpzIj48L3NjcmlwdD4NCjwhW2VuZGlmXS0tPg0KDQo8IS0tW2lmIElFXT4NCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9pZS5jc3MiPg0KPCFbZW5kaWZdLS0+DQoNCjwhLS0gRmF2aWNvbnMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvL3d3dy5vbWcub3JnL2ltYWdlcy9mYXZpY29uLmljbyI+DQo8bGluayByZWw9Imljb24iIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24ucG5nIj4NCjxsaW5rIHJlbD0iaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIvL3d3dy5vbWcub3JnL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyI+DQo8bGluayByZWw9Imljb24iIHNpemVzPSIxMTR4MTE0IiBocmVmPSIvL3d3dy5vbWcub3JnL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIj4NCjxsaW5rIHJlbD0iaWNvbiIgc2l6ZXM9IjE0NHgxNDQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTQ0eDE0NC5wbmciPg0KDQo8IS0tIHNvcnRhYmxlIHRhYmxlcyAtLT4NCjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zb3J0YWJsZS8wLjguMC9qcy9zb3J0YWJsZS5taW4uanMiIGludGVncml0eT0ic2hhMjU2LWdDdGRBMWNMSzJFaFFaQ01oaHZHelVzV00vZnN4dEoySUltVUorNFVPUDg9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvc29ydGFibGUvMC44LjAvY3NzL3NvcnRhYmxlLXRoZW1lLW1pbmltYWwubWluLmNzcyIgaW50ZWdyaXR5PSJzaGEyNTYtbFVwYTVaeksrZkVKbmM0THRlR2VoRi9JRVlRZWFPTXZrSHhuN3ljbjErND0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIC8+PCEtLSBzb3J0YWJsZSB0YWJsZXMgLS0+DQoNCjwhLS0gSW5zdGFuY2VCZWdpbkVkaXRhYmxlIG5hbWU9ImhlYWQiIC0tPg0KPCEtLSBJbnN0YW5jZUVuZEVkaXRhYmxlIC0tPg0KPHN0eWxlIGlkPSJmaXQtdmlkcy1zdHlsZSI+DQogICAgLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXJ7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjA7fQ0KICAgIC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIGlmcmFtZSwuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBvYmplY3QsLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgZW1iZWQge3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO30NCjwvc3R5bGU+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvL3Muc3dpZnR5cGVjZG4uY29tL2Fzc2V0cy9uZXdfZW1iZWQtNTlhZjU3YjI4MDFkN2Q4Y2NhODBlYmUwNDNjZGNmODAuY3NzIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAgLnN0LWluc3RhbGwtVUp3a21QemdqSEJDeEh5eHpDYWogLnN0LXVpLXJlc3VsdA0KICAgIC5zdC11aS10eXBlLWhlYWRpbmcgeyBjb2xvcjojMDA4OWQ3ICFpbXBvcnRhbnQgfQ0KICAgIC5zdC1pbnN0YWxsLVVKd2ttUHpnakhCQ3hIeXh6Q2FqIC5zdC11aS1yZXN1bHQgZW0ge2ZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDpib2xkOyBiYWNrZ3JvdW5kLWNvbG9yOiNmNmZjZmUgIWltcG9ydGFudH0NCiAgICB1bC5kZC1saXN0IHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB9DQogICAgZGl2Lmlzc3Vlcy1saW5rcyB7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB9DQouc3BlYy1hY3JvbnltIHsNCiAgICBib3JkZXI6IDVweCBzb2xpZCAjZDRkNGQ0Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW46IC01cHggMTVweCAwIC0xMzVweDsNCn0NCjwvc3R5bGU+DQo8IS0tIEhFQUQgSU5DTFVERSBFTkQgLS0+PC9oZWFkPgo8Ym9keT4KICAgIDwhLS0gQk9EWSBIRUFERVIgSU5DTFVERSBCRUdJTiAtLT4NCjxoZWFkZXIgY2xhc3M9ImhlYWRlciBoZWFkZXItZGVmYXVsdCI+DQogICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRvcCI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdG9wLWxlZnQiPg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaGVhZGVyLXRvcC1uYXYiPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9pbmRleC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+SG9tZTwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvc2l0ZS1tYXAuaHRtIj48c3BhbiBzdHlsZT0iY29sb3I6d2hpdGUiPlNpdGUgTWFwPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9sZWdhbC9pbmRleC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+TGVnYWw8L3NwYW4+PC9hPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImhlYWRlci10b3AtbmF2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vT2JqZWN0LU1hbmFnZW1lbnQtR3JvdXAtMTcxNTM0NDEwMDIyLyI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vb2JqZWN0bWdtdGdyb3VwIj48aSBjbGFzcz0iZmEgZmEtdHdpdHRlciI+PC9pPjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vZ3JvdXBzLzY2Nzk5Ij48aSBjbGFzcz0iZmEgZmEtbGlua2VkaW4iPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cDovL2Jsb2cub21nLm9yZy8iPjxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3R1VGoxd3R5d29qWU5ab3lQZVlBRnciPjxpIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+PC9hPg0KICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AtcmlnaHQiPg0KICAgICAgICAgICAgICAgIDwhLS0gQWRkU2VhcmNoIC0tPg0KICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FkZHNlYXJjaC5jb20vanMvP2tleT1hNzdmYjFlYjJjM2M4ZmFmZTJiMzAxODI0MzY5ZWQ5NyZjYXRlZ29yaWVzPTB4d3d3Lm9tZy5vcmciPjwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgIDwhLS0gQWRkU2VhcmNoIC0tPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgIA0KDQoNCgkJPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1kZWZhdWx0IGZobW0iPg0KCQkJCQkJPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciI+DQoJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIj4NCgkJCQkJCQkJPGkgY2xhc3M9ImZhIGZhLWJhcnMiPjwvaT4NCgkJCQkJCQk8L2J1dHRvbj4NCgkJCQkJCQk8IS0tIExvZ28gLS0+DQoJCQkJCQkJPGRpdiBjbGFzcz0ibG9nbyI+DQoJCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kZXguaHRtIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy9pbWFnZXMvbG9nb3MvT01HLWxvZ28td2ViLXNtLnN2ZyIgYWx0PSJPTUcgbG9nbyI+PC9hPgkNCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8IS0tIExvZ28gLyBFbmQgLS0+DQoJCQkJCQk8L2Rpdj48IS0tIGVuZCBuYXZiYXItaGVhZGVyIC0tPg0KDQoJCQkJCQk8ZGl2IGlkPSJtYWluLW5hdiIgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSI+DQoJCQkJCQkJPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiI+DQoJCQkJCQkJCTxsaSBjbGFzcz0iZHJvcGRvd24iPg0KCQkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9hYm91dC9pbmRleC5odG0iIGRhdGEtdG9nZ2xlPSIiIGNsYXNzPSIiPkFib3V0IHVzIDxiIGNsYXNzPSIiPjwvYj48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJCQ0KCQkJCQkJCQk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSZXNvdXJjZSBIdWIgbWVudSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biI+DQoJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPlJlc291cmNlIEh1YiA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+DQoJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPg0KCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2V2ZW50cy9pbmRleC5odG0iPkV2ZW50czwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2hvdC10b3BpY3MvaW5kZXguaHRtIj5Ib3QgVG9waWNzPC9hPjwvbGk+DQoJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbmV3cy9yZWxlYXNlcy9pbmRleC5odG0iPlByZXNzIFJvb208L2E+PC9saT4NCgkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vbWctZGlyZWN0b3JpZXMuaHRtIj5WZW5kb3IgRGlyZWN0b3JpZXM8L2E+PC9saT4NCgkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy93ZWJpbmFycy9pbmRleC5odG0iPldlYmluYXJzPC9hPjwvbGk+DQoJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL25ld3Mvd2hpdGVwYXBlcnMvaW5kZXguaHRtIj5XaGl0ZSBQYXBlcnM8L2E+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJlc291cmNlIEh1YiBtZW51IC0tPg0KDQoJCQkJCQkJDQoJCQkJCQkJCQk8IS0tIFNwZWNzIC0tPg0KCQkJCQkJCQk8bGkgY2xhc3M9ImRyb3Bkb3duIGZobW0tZnciPg0KCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5PTUcgU3BlY2lmaWNhdGlvbnMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPg0KCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IGZ1bGwiPg0KCQkJCQkJCQkJCTxsaSBjbGFzcz0iZmhtbS1jb250ZW50Ij4NCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icm93Ij4NCgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS0zIj4NCgkJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRpdGxlIj5TcGVjaWZpY2F0aW9uczwvaDM+DQoJCQkJCQkJCQkJCQkJPHVsPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjLyI+QWRvcHRlZCBTcGVjaWZpY2F0aW9uczwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9mYXh2b3Rlcy8iIHRhcmdldD0iX2JsYW5rIj5GYXh2b3RlcyBTdGF0dXM8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9saXN0cyI+SXNzdWVzPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9wdWJsaWNfc2NoZWR1bGUvIj5SRkkgJmFtcDsgUkZQPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vZG9jP3Ntc2MvMjAxOC0wOC0wMSI+U3BlY2lmaWNhdGlvbiBHdWlkZWxpbmVzPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3RlY2hub2xvZ3kvZG9jdW1lbnRzL3ZhdWx0Lmh0bSI+U3BlY2lmaWNhdGlvbiBWYXVsdDwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJCQkJCSAgPC91bD4NCgkJCQkJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0zIj4NCgkJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRpdGxlIj48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvaW5kZXguaHRtIj5JbmR1c3RyaWVzPC9hPjwvaDM+DQoJCQkJCQkJCQkJCQkJPHVsPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL2ZpbmFuY2UuaHRtIj5GaW5hbmNlPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvZ292ZXJubWVudC5odG0iPkdvdmVybm1lbnQ8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9oZWFsdGhjYXJlLmh0bSI+SGVhbHRoY2FyZTwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL21hbnVmYWN0dXJpbmcuaHRtIj5NYW51ZmFjdHVyaW5nPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvbWlsaXRhcnkuaHRtIj5NaWxpdGFyeTwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL3JldGFpbC5odG0iPlJldGFpbDwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL3NwYWNlLmh0bSI+U3BhY2UgRXhwbG9yYXRpb248L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS0zIj4NCgkJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRpdGxlIj5Eb2N1bWVudCBIZWxwPC9oMz4NCgkJCQkJCQkJCQkJCQk8dWw+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3RlY2hub2xvZ3kvZG93bmxvYWQuaHRtIj5Eb3dubG9hZCBJbnN0cnVjdGlvbnM8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vZG9jP2hoIj5Ib3cgdG8gRmluZCBhIERvY3VtZW50PC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9jcmVhdGUtbmV3LWlzc3VlIj5SZXBvcnQgYW4gSXNzdWU8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9hcHBzL2RvY2xpc3QucGwiPlNlYXJjaCBEb2N1bWVudHM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbWVtYmVyc19kb2NzZWFyY2guaHRtIj5TZWFyY2ggRG9jdW1lbnRzIChGdWxsKTwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9nZXR0aW5nc3RhcnRlZC90ZXJtc19hbmRfYWNyb255bXMuaHRtIj5UZXJtcyAmYW1wOyBBY3JvbnltczwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS0zIj4NCgkJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRpdGxlIj5PTUcgaW4gQWN0aW9uITwvaDM+DQoJCQkJCQkJCQkJCQkJPHVsPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9wdWJsaWNfc2NoZWR1bGUvIj5Xb3JrIGluIFByb2dyZXNzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3RlY2hub2xvZ3kvcmZjLWZvcm0uaHRtIj5SRkMgQ29tbWVudHMgRm9ybTwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCSAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9ob21lcGFnZXMvaW5kZXguaHRtIj5UZWNobm9sb2d5IENvbW1pdHRlZXMgRGlyZWN0b3J5PC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L29tZy1zdGFuZGFyZHMtaW50cm9kdWN0aW9uLmh0bSI+UG9wdWxhciBPTUcgU3RhbmRhcmRzPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2V2ZW50cy9zdHVkZW50LXBvc3Rlci1zZXNzaW9uLXByb2dyYW0vaW5kZXguaHRtIj5TdHVkZW50IFJlc2VhcmNoPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkgIDwvdWw+DQoJCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTcGVjcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJvZ3JhbXMgLS0+DQoJCQkJCQkJCQ0KCQkJCQkJCQk8bGkgY2xhc3M9ImRyb3Bkb3duIGRyb3Bkb3duLXJpZ2h0IGZobW0tZnciPg0KCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5Qcm9ncmFtcyA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+DQoJCQkJCQkJCQkNCgkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBmdWxsIj4NCgkJCQkJCQkJCQk8bGkgY2xhc3M9ImZobW0tY29udGVudCB3aXRob3V0ZGVzYyI+DQoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+DQoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNiI+DQoJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+Q2VydGlmaWNhdGlvbnM8L2gzPg0KCQkJCQkJCQkJCQkJCTx1bD4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb2N1cC0yL2luZGV4Lmh0bSI+T0NVUCAyIC0gVU1MIENlcnRpZmljYXRpb248L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb2NlYi0yL2luZGV4Lmh0bSI+T0NFQiAyIC0gQlBNIENlcnRpZmljYXRpb248L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb2NzbXAvaW5kZXguaHRtIj5PQ1NNUCAtIFN5c01MIENlcnRpZmljYXRpb248L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb2NyZXMvaW5kZXguaHRtIj5PQ1JFUyAtIFJlYWwtdGltZSBDZXJ0aWZpY2F0aW9uPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vc2VhcmNoY2VydC5jZ2kiIHRhcmdldD0iX2JsYW5rIj5DZXJ0aWZpZWQgUHJvZmVzc2lvbmFscyBEaXJlY3Rvcnk8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNiI+DQoJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+TWFuYWdlZCBQcm9ncmFtczwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJwbS1wbHVzLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5icG0tcGx1cy5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1oZWFydGJlYXQiPjwvaT4gQlBNJiM0MzsgSGVhbHRoPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2l0LWNpc3Eub3JnIiBvbmNsaWNrPSJ0cmFja091dGJvdW5kTGluaygnaHR0cHM6Ly9pdC1jaXNxLm9yZycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtY29kZSI+PC9pPiBDb25zb3J0aXVtIGZvciBJbmZvcm1hdGlvbiAmYW1wOyBTb2Z0d2FyZSBRdWFsaXR5ICAtIENJU1E8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kZHMtZm91bmRhdGlvbi5vcmcvIiBvbmNsaWNrPSJ0cmFja091dGJvdW5kTGluaygnaHR0cHM6Ly93d3cuZGRzLWZvdW5kYXRpb24ub3JnLycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtY29ubmVjdGRldmVsb3AiPjwvaT4gRERTIEZvdW5kYXRpb248L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5paWNvbnNvcnRpdW0ub3JnLyIgb25jbGljaz0idHJhY2tPdXRib3VuZExpbmsoJ2h0dHBzOi8vd3d3LmlpY29uc29ydGl1bS5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1nZWFyIj48L2k+IEluZHVzdHJpYWwgSW50ZXJuZXQgQ29uc29ydGl1bSAtIElJQzwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCgkJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCQk8L2Rpdj48IS0tIGVuZCByb3cgLS0+DQoJCQkJCQkJCQkJPC9saT48IS0tIGVuZCBncmlkIGRlbW8gLS0+DQoJCQkJCQkJCQk8L3VsPjwhLS0gZW5kIGRyb3AgZG93biBtZW51IC0tPg0KCQkJCQkJCQk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcm9ncmFtcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQk8IS0tIE1lbWJlcnNoaXAgLS0+DQoJCQkJCQkJCSA8bGkgY2xhc3M9ImRyb3Bkb3duIj4NCgkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+TWVtYmVyc2hpcCA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+DQoJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvYWJvdXQvbmV3LXRvLW9tZy5odG0iPk5ldyB0byBPTUc/PC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9iZS1hLW1lbWJlci5odG0iPkJlY29tZSBhIE1lbWJlcjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9hcHBzL21lbWJlcnNlYXJjaC5wbCI+Q3VycmVudCBNZW1iZXJzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9xdW90ZXMuaHRtIj5NZW1iZXIgUXVvdGVzPC9hPjwvbGk+DQogICAgIA0KCQkJCQkJCQkgICA8L3VsPg0KCQkJCQkJCQk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1lbWJlcnNoaXAgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQk8IS0tIE1lbWJlcnNoaXAgLS0+DQoJCQkJCQkJCSA8bGkgY2xhc3M9ImRyb3Bkb3duIj4NCgkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+TWVtYmVycyBBcmVhIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4NCgkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSIgcm9sZT0ibWVudSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9tZW1iZXJzLyI+PGkgY2xhc3M9ImZhIGZhLWxvY2siPjwvaT5Mb2ctSW48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2xvZ2luL2luZGV4Lmh0bSI+PGkgY2xhc3M9ImZhIGZhLXVubG9jayI+PC9pPkxvZy1JbiBBc3Npc3RhbmNlPC9hPjwvbGk+DQoJCQkJCQkJCQkNCgkJCQkJCQkJCQ0KCQkJCQkJCQkJCQ0KCQkJCQkJCQkgICA8L3VsPg0KCQkJCQkJCQk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1lbWJlcnNoaXAgLS0+DQoJCQkJCQkJPC91bD48IS0tIGVuZCBuYXYgbmF2YmFyLW5hdiAtLT4NCgkJCQkJCTwvZGl2PjwhLS0gZW5kICNtYWluLW5hdiAtLT4NCg0KCQkJCQk8L25hdj4NCg0KDQoNCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvaGVhZGVyPg0KPCEtLSBCT0RZIEhFQURFUiBJTkNMVURFIEVORCAtLT4NCjxkaXYgY2xhc3M9Im1haW4iIHJvbGU9Im1haW4iPiA8IS0tIE1haW4gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0icGFnZS1oZWFkaW5nIiByb2xlPSJuYXZpZ2F0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTkiPgogICAgICAgICAgICAgICAgICAgIDxoMT5BYm91dCB0aGUgQXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gU3BlY2lmaWNhdGlvbiBWZXJzaW9uIDEuMDwvaDE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIGNsYXNzPSJhY3RpdmUiPjEuMDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLyI+QU1JNENDTTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYyI+U3BlY2lmaWNhdGlvbnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0icGFnZS1jb250ZW50IiByb2xlPSJkaXJlY3RvcnkiPgogICAgICAgIDxzZWN0aW9uIGlkPSJkb2N1bWVudC1tZXRhZGF0YSIgcm9sZT0iY29tcGxlbWVudGFyeSIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InNwZWMtYWNyb255bSBjb2wtbWQtMyI+QU1JNENDTeKEojwvaDE+CiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InNwZWMtbmFtZSIgc3R5bGU9InRleHQtdHJhbnNmb3JtOiBub25lIj5Bc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTTwvaDE+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5Ij5UaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIG1lY2hhbmlzbSB0byBwZXJmb3JtIGFzeW5jaHJvbm91cyBtZXRob2QgaW52b2NhdGlvbiBmb3IgQ0NNIChBTUk0Q0NNKS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9ImRsLWhvcml6b250YWwgY29sLW1kLTExIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIHRpdGxlIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5UaXRsZTo8L2R0PgogICAgICAgICAgICAgICAgICAgIDxkZD5Bc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTTwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBhY3JvbnltIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5BY3JvbnltOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPkFNSTRDQ03ihKI8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB2ZXJzaW9uIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5WZXJzaW9uOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPlRoaXMgdmVyc2lvbiB3YXMgc3VwZXJzZWRlZCBieSBhIG5ld2VyIGludmVudG9yeS4gVGhlIGxhdGVzdCB2ZXJzaW9uIGNhbiBiZSBmb3VuZCBoZXJlOiA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS88L2E+PC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgIDwhLS0gZG9jdW1lbnQgc3RhdHVzIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5Eb2N1bWVudCBTdGF0dXM6PC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0icmlnaHQiIGRhdGEtY29udGFpbmVyPSdib2R5JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iRm9ybWFsIFNwZWNpZmljYXRpb25zIGhhdmUgYmVlbiBhcHByb3ZlZCBieSBPTUcgQm9hcmQgb2YgRGlyZWN0b3JzIGFuZCBoYXZlIGJlZW4gZWRpdGVkLiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYWwgJiM5NDMyOwogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBwdWJsaWNhdGlvbiBkYXRlIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5QdWJsaWNhdGlvbiBEYXRlOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPiAgICAgICAgICAgIE1hcmNoIDIwMTMKICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBjYXRlZ29yaWVzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5DYXRlZ29yaWVzOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZCByb2xlPSJsaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJncm91cCIgY2xhc3M9Imxpc3QtaW5saW5lIGRkLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9jb3JiYS1wbGF0Zm9ybS8iPjxlbT5Db3JiYSBQbGF0Zm9ybTwvZW0+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9jb21wb25lbnQtYXJjaGl0ZWN0dXJlLyI+PGVtPkNvbXBvbmVudCBBcmNoaXRlY3R1cmU8L2VtPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gaXByIG1vZGUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJyaWdodCIgZGF0YS1jb250YWluZXI9J2JvZHknIGRhdGEtaHRtbD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSdPTUcmIzM5O3MgUG9saWN5IG9uIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgaXMgZGVzaWduZWQgdG8gZW5hYmxlIHRoZSBvcGVuIGRldmVsb3BtZW50LCBkaXNzZW1pbmF0aW9uLCBhbmQgdXNlIG9mIGl0cyBzcGVjaWZpY2F0aW9ucywgYW5kIHRoZWlyIGJyb2FkIGltcGxlbWVudGF0aW9uIGFuZCB1cHRha2UuIFNwZWNpZmljYXRpb25zLCBpbmNsdWRpbmcgRmluYWxpemF0aW9uL1JldmlzaW9uIFRhc2sgRm9yY2UgUmVwb3J0cyBhcmUgcmVxdWlyZWQgdG8gaGF2ZSBhIGRlY2xhcmVkIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgc3RhdGVtZW50IGJhc2VkIG9uIGVpdGhlciBSQU5ELCBSRiBvbiBMaW1pdGVkIFRlcm1zLCBvciBOb24tQXNzZXJ0Ljxici8+U2VlIHRoZSBPTUcgUG9saWN5IFN0YXRlbWVudCwgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cywgY2xpY2sgdGhlIGxpbmsgZm9yIGRldGFpbHMuJz4gPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2RvYy5vbWcub3JnL2lwciI+SVBSIE1vZGUgJiM5NDMyOzwvYT48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0icmlnaHQiIGRhdGEtY29udGFpbmVyPSdib2R5JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9J0VhY2ggT2JsaWdhdGVkIFBhcnR5IGluIGFuIFJGIG9uIExpbWl0ZWQgVGVybXMgSVBSIE1vZGUgQWRvcHRpb24gb3IgUmV2aXNpb24gUHJvY2VzcyBjb3ZlbmFudHMgdGhhdCBpdCB3aWxsIGdyYW50IHRvIGFuIHVucmVzdHJpY3RlZCBudW1iZXIgb2YgYXBwbGljYW50cyBhIHJveWFsdHkgYW5kIGZlZSBmcmVlLCBub25leGNsdXNpdmUsIHdvcmxkd2lkZSwgbm9uLXN1YmxpY2Vuc2FibGUsIHBlcnBldHVhbCBwYXRlbnQgbGljZW5zZSB0byBpdHMgRXNzZW50aWFsIENsYWltcyc+UkYtTGltaXRlZCAmIzk0MzI7PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiA1cHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IiBkYXRhLXNwZWM9IkFNSTRDQ00vMS4wIiBkYXRhLWxhYmVsPSJBTUk0Q0NNLzEuMC9QREYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9QREYiIHRpdGxlPSJDbGljayB0byBEb3dubG9hZCBTcGVjaWZpY2F0b24gRG9jdW1lbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZpbGUtcGRmLW8gZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTcGVjaWZpY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcuKAnS8iPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gaWQ9InRvYyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5UYWJsZSBPZiBDb250ZW50czwvaDI+CiAgICAgICAgICAgIDx1bCByb2xlPSJkaXJlY3RvcnkiIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNkb2N1bWVudC1tZXRhZGF0YSI+QWJvdXQgdGhlIFNwZWNpZmljYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjY29tcGFuaWVzIj5Db21wYW5pZXMgdGhhdCBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFNwZWNpZmljYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjZG9jdW1lbnRzIj5TcGVjaWZpY2F0aW9uIERvY3VtZW50czwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3Mtbm9ybWF0aXZlLXN1cHBvcnRpbmciPk5vcm1hdGl2ZSBEb2N1bWVudHM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3Mtbm9ybWF0aXZlLW1hY2hpbmUiPk5vcm1hdGl2ZSBNYWNoaW5lIFJlYWRhYmxlIERvY3VtZW50czwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjc3BlYy12ZXJzaW9ucyI+SGlzdG9yeTwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNzcGVjLXZlcnNpb25zLWZvcm1hbCI+Rm9ybWFsIFZlcnNpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNpbnZlbnRvcnktbGlua3MiPkxpbmtzPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9ImNvbXBhbmllcyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+Q29tcGFuaWVzIHRoYXQgaGF2ZSBjb250cmlidXRlZCB0byB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTcGVjaWZpY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgIDx1bCByb2xlPSJkaXJlY3RvcnkiIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+Q29weXJpZ2h0IMKpIDIwMTMgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iL3NwZWMvY29tcGFueS9vYmplY3QtbWFuYWdlbWVudC1ncm91cCI+T2JqZWN0IE1hbmFnZW1lbnQgR3JvdXA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj5Db3B5cmlnaHQgwqkgMjAxMS0yMDEyIDxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9Ii9zcGVjL2NvbXBhbnkvcmVtZWR5LWl0Ij5SZW1lZHkgSVQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcuKAnS8iPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgCiAgICAgICAgPHNlY3Rpb24gaWQ9Imlzc3VlcyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5Jc3N1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3BlY2lmaWNhdGlvbjwvaDI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBpc3N1ZXMtbGlua3MiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9zcGVjL0FNSTRDQ00vMS4wIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWxpc3QgZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZXMgUmVwb3J0ZWQgaW4gdGhpcyBTcGVjaWZpY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9zcGVjL0FNSTRDQ00vMS4wL2ZpeGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZsYWctY2hlY2tlcmVkIGZhLTN4Ij48L2k+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgSXNzdWVzIEZpeGVkIGluIHRoaXMgU3BlY2lmaWNhdGlvbgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb2wtbWQtMiI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvY3JlYXRlLW5ldy1pc3N1ZT9zcGVjaWZpY2F0aW9uPUFNSTRDQ00lMjMxLjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY29tbWVudGluZyBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydCBhbiBpc3N1ZQogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9icm93c2UvQU1JNENDTTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS11c2VycyBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZSBUcmFja2VyIChNZW1iZXJzIE9ubHkpCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGlkPSJkb2N1bWVudHMiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+U3BlY2lmaWNhdGlvbiBEb2N1bWVudHM8L2gyPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb250YWluZXIiIGlkPSJkb2NzLW5vcm1hdGl2ZS1zdXBwb3J0aW5nIj4KICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Tm9ybWF0aXZlIERvY3VtZW50czwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCI+CiAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy01Ij5EZXNjcmlwdGlvbjwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtMSI+Rm9ybWF0PC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0zIj5VUkw8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTIiPk9NRyBGaWxlIElEPC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWV4cGxhbmF0aW9uIj5TcGVjaWZpY2F0aW9uPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1mb3JtYXQiPlBERjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IiBkYXRhLXNwZWM9IkFNSTRDQ00vMS4wIiBkYXRhLWxhYmVsPSJBTUk0Q0NNLzEuMC9QREYiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9QREYiPkFNSTRDQ00vMS4wL1BERjwvYT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1udW1iZXIiIHRpdGxlPSI0NzQ5MjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWFsLzEzLTA0LTAxCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbnRhaW5lciIgaWQ9ImRvY3Mtbm9ybWF0aXZlLW1hY2hpbmUiPgogICAgICAgIDxoMyByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5Ob3JtYXRpdmUgTWFjaGluZSBSZWFkYWJsZSBEb2N1bWVudHM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQiPgogICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtNSI+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTEiPkZvcm1hdDwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtMyI+VVJMPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5PTUcgRmlsZSBJRDwvdGg+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1leHBsYW5hdGlvbiI+QXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gRlRGIHppcHBlZCBJREwgZmlsZTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtZm9ybWF0Ij5JREw8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkb3dubG9hZC1kb2N1bWVudCIgZGF0YS1zcGVjPSJBTUk0Q0NNLzEuMCIgZGF0YS1sYWJlbD0iQU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbCIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMjAxMjA3MDcvYW1pNGNjbS5pZGwiPkFNSTRDQ00vMjAxMjA3MDcvYW1pNGNjbS5pZGw8L2E+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtbnVtYmVyIiB0aXRsZT0iNDczOTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0Yy8xMi0wNy0wNwogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBpZD0ic3BlYy12ZXJzaW9ucyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5IaXN0b3J5PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbnRhaW5lciIgaWQ9InNwZWMtdmVyc2lvbnMtZm9ybWFsIj4KICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Rm9ybWFsIFZlcnNpb25zPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1zdHJpcGVkIj4KICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5WZXJzaW9uPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0zIj5BZG9wdGlvbiBEYXRlPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy03Ij5VUkw8L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xLjA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+ICAgICAgICAgICAgTWFyY2ggMjAxMwogICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMCI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBpZD0iaW52ZW50b3J5LWxpbmtzIiByb2xlPSJjb21wbGVtZW50YXJ5IiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGgyIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjEiPkxpbmtzPC9oMj4KICAgICAgICAgICAgPGRsIGNsYXNzPSJkbC1ob3Jpem9udGFsIj4KICAgICAgICAgICAgICAgIDxkdD5UaGlzIERvY3VtZW50OjwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wLyI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wLzwvYT48L2RkPgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJzbWFsbCI+UkRGPC9kdD4KICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ic21hbGwiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLnJkZiI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00ucmRmPC9hPjwvZGQ+CgogICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJzbWFsbCI+SlNPTi1MRDwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InNtYWxsIj48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS5qc29ubGQiPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLmpzb25sZDwvYT48L2RkPgoKICAgICAgICAgICAgICAgIDxkdD5MYXRlc3QgRG9jdW1lbnQ6PC9kdD4KICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8iPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzwvYT48L2RkPgoKICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0ic21hbGwiPlJERjwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InNtYWxsIj48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLnJkZiI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5yZGY8L2E+PC9kZD4KCiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5KU09OLUxEPC9kdD4KICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ic21hbGwiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00uanNvbmxkIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLmpzb25sZDwvYT48L2RkPgoKICAgICAgICAgICAgICAgIDxkdD5NZW1iZXJzIE9ubHk6PC9kdD4KICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnMvc3BlYy9BTUk0Q0NNLzEuMC8iPmh0dHBzOi8vd3d3Lm9tZy5vcmcvbWVtYmVycy9zcGVjL0FNSTRDQ00vMS4wLzwvYT48L2RkPgogICAgICAgICAgICAgICAgPCEtLSBrZXl3b3JkcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+IDwhLS0gUGFnZSBDb250ZW50IC8gRW5kIC0tPgo8L2Rpdj4gPCEtLSBNYWluIC8gRW5kIC0tPgoKICAgIDwhLS0gQk9EWSBGT09URVIgSU5DTFVERSBCRUdJTiAtLT4NCjwhLS0gRm9vdGVyIC0tPg0KPGZvb3RlciBjbGFzcz0iZm9vdGVyIiBpZD0iZm9vdGVyIj4NCiAgICA8ZGl2IGNsYXNzPSJmb290ZXItd2lkZ2V0cyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj4NCiAgICAgICAgICAgICAgICAgICAgPCEtLSBXaWRnZXQgOjogQ3VzdG9tIE1lbnUgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldF9uYXZfbWVudSB3aWRnZXQgd2lkZ2V0X19mb290ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPkN1c3RvbSBMaW5rczwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9nZXR0aW5nc3RhcnRlZC9ib2RfcHVibGljLmh0bSI+Qm9hcmQgb2YgRGlyZWN0b3JzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2xlZ2FsL2luZGV4Lmh0bSI+TGVnYWw8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvYWJvdXQvbGlhaXNvbi5odG0iPkxpYWlzb24gUmVsYXRpb25zPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2Fib3V0L3N0YWZmLmh0bSI+TWVldCBPdXIgU3RhZmY8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogQ3VzdG9tIE1lbnUgLS0+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTYiPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBUZXh0IFdpZGdldCAtLT4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3RleHQgd2lkZ2V0IHdpZGdldF9fZm9vdGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj5BYm91dCBVczwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIE9iamVjdCBNYW5hZ2VtZW50IEdyb3VwJnJlZzsgKE9NRyZyZWc7KSBpcyBhbiBpbnRlcm5hdGlvbmFsLCBvcGVuIG1lbWJlcnNoaXAsIG5vdC1mb3ItcHJvZml0IHRlY2hub2xvZ3kgc3RhbmRhcmRzIGNvbnNvcnRpdW0uPC9wPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Rm91bmRlZCBpbiAxOTg5LCBPTUcgc3RhbmRhcmRzIGFyZSBkcml2ZW4gYnkgdmVuZG9ycywgZW5kLXVzZXJzLCBhY2FkZW1pYyBpbnN0aXR1dGlvbnMgYW5kIGdvdmVybm1lbnQgYWdlbmNpZXMuIE9NRyBUYXNrIEZvcmNlcyBkZXZlbG9wIGVudGVycHJpc2UgaW50ZWdyYXRpb24gc3RhbmRhcmRzIGZvciBhIHdpZGUgcmFuZ2Ugb2YgdGVjaG5vbG9naWVzIGFuZCBhbiBldmVuIHdpZGVyIHJhbmdlIG9mIGluZHVzdHJpZXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvYWJvdXQvaW5kZXguaHRtIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij5MZWFybiBNb3JlPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogVGV4dCBXaWRnZXQgLS0+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBDb250YWN0cyBJbmZvIC0tPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0cy13aWRnZXQgd2lkZ2V0IHdpZGdldF9fZm9vdGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj5Db250YWN0IFVzPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbnRhY3RzLWluZm8tbGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1tYXAtbWFya2VyIj48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwOSBIaWdobGFuZCBBdmU8YnI+TmVlZGhhbSwgTUEgMDI0OTQgVVNBDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXBob25lIj48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBoLisxIDc4MSA0NDQtMDQwNDxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYXggKzEgNzgxLTQ0NC0wMzIwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWVudmVsb3BlIj48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1pdGVtIj4NCgkJCQkJCQkJCQkJCQk8YSBocmVmPSJtYWlsdG86aW5mb0BvbWcub3JnIj5pbmZvQG9tZy5vcmc8L2E+DQoJCQkJCQkJCQkJCQk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPCEtLSAvV2lkZ2V0IDo6IENvbnRhY3RzIEluZm8gLS0+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvcHlyaWdodCI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02IGNvbC1tZC02Ij4NCiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICZjb3B5OyAyMDIwICA8YSBocmVmPSIvL3d3dy5vbWcub3JnL2luZGV4Lmh0bSI+T2JqZWN0IE1hbmFnZW1lbnQgR3JvdXAmcmVnOywgT01HJnJlZzs8L2E+ICZuYnNwO3wgJm5ic3A7QWxsIFJpZ2h0cyBSZXNlcnZlZA0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02IGNvbC1tZC02Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic29jaWFsLWxpbmtzLXdyYXBwZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNvY2lhbC1saW5rcy10eHQiPkNvbm5lY3Qgd2l0aCB1czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic29jaWFsLWxpbmtzIHNvY2lhbC1saW5rc19fZGFyayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9PYmplY3QtTWFuYWdlbWVudC1Hcm91cC0xNzE1MzQ0MTAwMjIvIj48aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2siPjwvaT48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9vYmplY3RtZ210Z3JvdXAiPjxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9ncm91cHMvNjY3OTkiPjxpIGNsYXNzPSJmYSBmYS1saW5rZWRpbiI+PC9pPjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vYmxvZy5vbWcub3JnLyI+PGkgY2xhc3M9ImZhIGZhLXBlbmNpbC1zcXVhcmUtbyI+PC9pPjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9jaGFubmVsL1VDdHVUajF3dHl3b2pZTlpveVBlWUFGdyI+PGkgY2xhc3M9ImZhIGZhLXlvdXR1YmUiPjwvaT48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vYi8xMTIzMDM0NjE5OTU4NzAzMTUxNTYvMTEyMzAzNDYxOTk1ODcwMzE1MTU2L3Bvc3RzIj48aSBjbGFzcz0iZmEgZmEtZ29vZ2xlLXBsdXMiPjwvaT48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLXJzcyI+PC9pPjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Zvb3Rlcj4NCjwhLS0gRm9vdGVyIC8gRW5kIC0tPg0KDQo8IS0tIEphdmFzY3JpcHQgRmlsZXMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL2pxdWVyeS0xLjExLjAubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnktbWlncmF0ZS0xLjIuMS5taW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL2hlYWRoZXNpdmUubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9maG1tLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnkuZmxpY2tyZmVlZC5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvaXNvdG9wZS9pc290b3BlLnBrZ2QubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9pc290b3BlL2pxdWVyeS5pbWFnZXNsb2FkZWQubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9tYWduaWZpYy1wb3B1cC9qcXVlcnkubWFnbmlmaWMtcG9wdXAuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL293bC1jYXJvdXNlbC9vd2wuY2Fyb3VzZWwubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnkuZml0dmlkcy5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LmFwcGVhci5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LnN0ZWxsYXIubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9zbmFwLnN2Zy1taW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL21lZGlhZWxlbWVudC9tZWRpYWVsZW1lbnQtYW5kLXBsYXllci5taW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGFzeW5jPSIiIHNyYz0iLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanMiPjwvc2NyaXB0Pg0KDQo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy9qcy9jdXN0b20uanMiPjwvc2NyaXB0Pg0KDQo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvc2VsZWN0Mi80LjAuMy9qcy9zZWxlY3QyLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGEyNTYtK21XZC9HNjlTNHF0Z1Bvd1NFTEllVkF2NytGdUw4NzFXWGFvbGdYbnJ3UT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zZWxlY3QyLzQuMC4zL2Nzcy9zZWxlY3QyLm1pbi5jc3MiIGludGVncml0eT0ic2hhMjU2LXhKT1pIZnB4TFIvdWhoMUJ3WUZTNWZobU9BZElSUWFpT3VsNUYvYjd2M3M9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiAvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgc2VhcmNoQm94ID0gJCgiI3NwZWNzLXNlYXJjaC1ib3giKTsNCiAgICAgICAgc2VhcmNoQm94LnNlbGVjdDIoew0KICAgICAgICAgICAgcGxhY2Vob2xkZXIgICAgICAgICAgICAgOiAiVHlwZSBTcGVjaWZpY2F0aW9ucywgQ2F0ZWdvcmllcyBvciBLZXl3b3JkcyIsDQogICAgICAgICAgICBhbGxvd0NsZWFyICAgICAgICAgICAgICA6IHRydWUsDQogICAgICAgICAgICBtaW5pbXVtUmVzdWx0c0ZvclNlYXJjaCA6IDUNCiAgICAgICAgfSk7DQogICAgICAgIHNlYXJjaEJveC5vbigic2VsZWN0MjpzZWxlY3QiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgdmFyIHBhdGggPSBlLmN1cnJlbnRUYXJnZXQudmFsdWU7DQogICAgICAgICAgICBzZWFyY2hCb3gudmFsKFtdKS50cmlnZ2VyKCJjaGFuZ2UiKTsNCiAgICAgICAgICAgIGlmICghd2luZG93LmxvY2F0aW9uLmhyZWYuZW5kc1dpdGgoIi8iKSkNCiAgICAgICAgICAgICAgICBwYXRoID0gIi8iICsgcGF0aDsNCiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWYgKyBwYXRoOw0KICAgICAgICB9KTsNCiAgICAgICAgJCgiI3NwZWNzLXNlYXJjaC1idXR0b24iKS5oaWRlKCk7DQogICAgICAgICQoImEuZG93bmxvYWQtZG9jdW1lbnQiKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgICAgICAgZ3RhZygnZXZlbnQnLCAnZG93bmxvYWQnLCB7DQogICAgICAgICAgICAgICAgJ2V2ZW50X2NhdGVnb3J5JzogJ2Rvd25sb2FkcycsDQogICAgICAgICAgICAgICAgJ2V2ZW50X2FjdGlvbicgIDogJCh0aGlzKS5kYXRhKCJzcGVjIiksDQogICAgICAgICAgICAgICAgJ2V2ZW50X2xhYmVsJyAgIDogJCh0aGlzKS5kYXRhKCJsYWJlbCIpfSk7DQogICAgICAgIH0pOw0KICAgIH0pOw0KICAgICQoJ1tkYXRhLXRvZ2dsZT0idG9vbHRpcCJdJykudG9vbHRpcCgpDQo8L3NjcmlwdD4NCg0KPCEtLSBCT0RZIEZPT1RFUiBJTkNMVURFIEVORCAtLT4NCjwvYm9keT4KPC9odG1sPgoK
|
53
|
+
http_version:
|
54
|
+
recorded_at: Sun, 16 Feb 2020 14:45:34 GMT
|
55
|
+
recorded_with: VCR 5.0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
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-02-
|
11
|
+
date: 2020-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: relaton-calconnect
|
@@ -16,112 +16,126 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.5.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.5.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: relaton-gb
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.10.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.10.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: relaton-iec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.8.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.8.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: relaton-ietf
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.10.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.10.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: relaton-iso
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.10.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.10.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: relaton-itu
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.7.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.7.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: relaton-nist
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.7.0
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.7.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: relaton-ogc
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 0.5.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.5.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: relaton-omg
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.1.0
|
118
132
|
type: :runtime
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
138
|
+
version: 0.1.0
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: byebug
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -384,6 +398,7 @@ files:
|
|
384
398
|
- spec/vcr_cassetes/iso_awi_24229.yml
|
385
399
|
- spec/vcr_cassetes/iso_iec_guide_2.yml
|
386
400
|
- spec/vcr_cassetes/ogc_19_025r1.yml
|
401
|
+
- spec/vcr_cassetes/ogm_ami4ccm_1_0.yml
|
387
402
|
- spec/vcr_cassetes/rfc_8341.yml
|
388
403
|
- spec/vcr_cassetes/sp_800_38b.yml
|
389
404
|
homepage: https://github.com/relato/relaton
|