metanorma-standoc 2.2.5 → 2.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/html/htmlstyle.css +1 -1
- data/lib/metanorma/standoc/base.rb +4 -5
- data/lib/metanorma/standoc/basicdoc.rng +0 -27
- data/lib/metanorma/standoc/biblio-standoc.rng +164 -0
- data/lib/metanorma/standoc/biblio.rng +50 -18
- data/lib/metanorma/standoc/cleanup.rb +18 -17
- data/lib/metanorma/standoc/cleanup_amend.rb +2 -2
- data/lib/metanorma/standoc/cleanup_asciibib.rb +110 -0
- data/lib/metanorma/standoc/cleanup_biblio.rb +7 -112
- data/lib/metanorma/standoc/cleanup_block.rb +7 -6
- data/lib/metanorma/standoc/cleanup_boilerplate.rb +6 -6
- data/lib/metanorma/standoc/cleanup_inline.rb +2 -2
- data/lib/metanorma/standoc/cleanup_maths.rb +12 -4
- data/lib/metanorma/standoc/cleanup_section.rb +19 -9
- data/lib/metanorma/standoc/cleanup_symbols.rb +14 -7
- data/lib/metanorma/standoc/cleanup_text.rb +19 -6
- data/lib/metanorma/standoc/cleanup_toc.rb +1 -2
- data/lib/metanorma/standoc/cleanup_xref.rb +55 -14
- data/lib/metanorma/standoc/inline.rb +29 -12
- data/lib/metanorma/standoc/isodoc-compile.rng +7 -0
- data/lib/metanorma/standoc/isodoc.rng +69 -207
- data/lib/metanorma/standoc/ref_utility.rb +1 -0
- data/lib/metanorma/standoc/render.rb +10 -1
- data/lib/metanorma/standoc/section.rb +10 -3
- data/lib/metanorma/standoc/utils.rb +6 -1
- data/lib/metanorma/standoc/validate.rb +9 -9
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +5 -3
- metadata +7 -141
- data/.github/workflows/rake.yml +0 -15
- data/.github/workflows/release.yml +0 -24
- data/Rakefile +0 -8
- data/bin/rspec +0 -18
- data/spec/assets/a1.adoc +0 -8
- data/spec/assets/a2.adoc +0 -10
- data/spec/assets/a3.adoc +0 -9
- data/spec/assets/a3a.adoc +0 -7
- data/spec/assets/a4.adoc +0 -4
- data/spec/assets/boilerplate.xml +0 -4
- data/spec/assets/codes.yml +0 -695
- data/spec/assets/correct.png +0 -0
- data/spec/assets/corrupt.png +0 -0
- data/spec/assets/header.html +0 -7
- data/spec/assets/html-override.css +0 -1
- data/spec/assets/html.scss +0 -13
- data/spec/assets/htmlcover.html +0 -4
- data/spec/assets/htmlintro.html +0 -5
- data/spec/assets/i18n.yaml +0 -17
- data/spec/assets/iso.adoc +0 -10
- data/spec/assets/iso.headless.html +0 -33
- data/spec/assets/iso.xml +0 -8
- data/spec/assets/iso123.rxl +0 -107
- data/spec/assets/rice_image1.png +0 -0
- data/spec/assets/scripts.html +0 -3
- data/spec/assets/std.css +0 -2
- data/spec/assets/word-override.css +0 -1
- data/spec/assets/word.scss +0 -13
- data/spec/assets/wordcover.html +0 -3
- data/spec/assets/wordintro.html +0 -4
- data/spec/assets/xref_error.adoc +0 -8
- data/spec/examples/103_01_02.html +0 -247
- data/spec/examples/codes_table.html +0 -3174
- data/spec/examples/datamodel/address_class_profile.adoc +0 -5
- data/spec/examples/datamodel/address_class_profile.presentation.xml +0 -14
- data/spec/examples/datamodel/address_component_profile.adoc +0 -5
- data/spec/examples/datamodel/blank_definition_profile.adoc +0 -5
- data/spec/examples/datamodel/common_models_diagram.adoc +0 -5
- data/spec/examples/datamodel/models/models/AddressClassProfile.yml +0 -90
- data/spec/examples/datamodel/models/models/AddressComponentProfile.yml +0 -63
- data/spec/examples/datamodel/models/models/AddressComponentSpecification.yml +0 -15
- data/spec/examples/datamodel/models/models/AddressProfile.yml +0 -36
- data/spec/examples/datamodel/models/models/AttributeProfile.yml +0 -32
- data/spec/examples/datamodel/models/models/InterchangeAddressClassProfile.yml +0 -79
- data/spec/examples/datamodel/models/models/Localization copy.yml +0 -23
- data/spec/examples/datamodel/models/models/Localization.yml +0 -23
- data/spec/examples/datamodel/models/models/ProfileCompliantAddress.yml +0 -36
- data/spec/examples/datamodel/models/models/ProfileCompliantAddressComponent.yml +0 -15
- data/spec/examples/datamodel/models/models/Signature.yml +0 -20
- data/spec/examples/datamodel/models/models/SignatureBlankDefinition.yml +0 -20
- data/spec/examples/datamodel/models/models/TextDirectionCode copy.yml +0 -16
- data/spec/examples/datamodel/models/models/TextDirectionCode.yml +0 -16
- data/spec/examples/datamodel/models/models/Validity.yml +0 -14
- data/spec/examples/datamodel/models/models/iso19160-1/Address.yml +0 -22
- data/spec/examples/datamodel/models/models/iso19160-1/AddressComponent.yml +0 -2
- data/spec/examples/datamodel/models/style.uml.inc +0 -37
- data/spec/examples/datamodel/models/views/CommonModels.yml +0 -9
- data/spec/examples/datamodel/models/views/TopDown.yml +0 -62
- data/spec/examples/datamodel/top_down_diagram.adoc +0 -5
- data/spec/examples/english.yaml +0 -69
- data/spec/examples/iso_123_.xml +0 -46
- data/spec/examples/iso_123_all_parts.xml +0 -46
- data/spec/examples/iso_123_no_year_note.xml +0 -47
- data/spec/examples/iso_124_.xml +0 -42
- data/spec/examples/iso_216_.xml +0 -48
- data/spec/examples/iso_iec_12382_.xml +0 -49
- data/spec/examples/rice.adoc +0 -715
- data/spec/examples/rice.preview.html +0 -1877
- data/spec/examples/rice.sh +0 -4
- data/spec/examples/rice_images/rice_image1.png +0 -0
- data/spec/examples/rice_images/rice_image2.png +0 -0
- data/spec/examples/rice_images/rice_image3_1.png +0 -0
- data/spec/examples/rice_images/rice_image3_2.png +0 -0
- data/spec/examples/rice_images/rice_image3_3.png +0 -0
- data/spec/fixtures/action_schemaexpg1.svg +0 -122
- data/spec/fixtures/datamodel_description_sections_tree.xml +0 -327
- data/spec/fixtures/diagram_definitions.lutaml +0 -22
- data/spec/fixtures/macros_datamodel/address_class_profile.xml +0 -149
- data/spec/fixtures/macros_datamodel/address_component_profile.xml +0 -71
- data/spec/fixtures/macros_datamodel/blank_definition_profile.xml +0 -51
- data/spec/fixtures/macros_datamodel/common_models_diagram.xml +0 -7
- data/spec/fixtures/macros_datamodel/top_down_diagram.xml +0 -7
- data/spec/fixtures/test.exp +0 -121
- data/spec/fixtures/test.xmi +0 -9250
- data/spec/metanorma/base_spec.rb +0 -1125
- data/spec/metanorma/biblio_spec.rb +0 -1004
- data/spec/metanorma/blank_spec.rb +0 -37
- data/spec/metanorma/blocks_spec.rb +0 -1784
- data/spec/metanorma/cleanup_blocks_spec.rb +0 -1099
- data/spec/metanorma/cleanup_sections_spec.rb +0 -1850
- data/spec/metanorma/cleanup_spec.rb +0 -1920
- data/spec/metanorma/cleanup_terms_spec.rb +0 -1543
- data/spec/metanorma/datamodel/attributes_table_preprocessor_spec.rb +0 -111
- data/spec/metanorma/datamodel/diagram_preprocessor_spec.rb +0 -72
- data/spec/metanorma/inline_spec.rb +0 -724
- data/spec/metanorma/isobib_cache_spec.rb +0 -742
- data/spec/metanorma/lists_spec.rb +0 -232
- data/spec/metanorma/macros_concept_spec.rb +0 -1052
- data/spec/metanorma/macros_json2text_spec.rb +0 -10
- data/spec/metanorma/macros_plantuml_spec.rb +0 -402
- data/spec/metanorma/macros_spec.rb +0 -1183
- data/spec/metanorma/macros_yaml2text_spec.rb +0 -10
- data/spec/metanorma/processor_spec.rb +0 -96
- data/spec/metanorma/refs_spec.rb +0 -2807
- data/spec/metanorma/reqt_spec.rb +0 -130
- data/spec/metanorma/section_spec.rb +0 -1325
- data/spec/metanorma/table_spec.rb +0 -474
- data/spec/metanorma/validate_spec.rb +0 -886
- data/spec/spec_helper.rb +0 -290
- data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +0 -781
- data/spec/vcr_cassettes/bsi16341.yml +0 -488
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +0 -611
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +0 -149
- data/spec/vcr_cassettes/hide_refs.yml +0 -587
- data/spec/vcr_cassettes/isobib_get_123.yml +0 -149
- data/spec/vcr_cassettes/isobib_get_123_1.yml +0 -295
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +0 -385
- data/spec/vcr_cassettes/isobib_get_123_2.yml +0 -295
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +0 -149
- data/spec/vcr_cassettes/isobib_get_124.yml +0 -149
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +0 -351
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +0 -560
- data/spec/vcr_cassettes/std-link.yml +0 -149
@@ -1,149 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: post
|
5
|
-
uri: https://jcl49wv5ar-dsn.algolia.net/1/indexes/all_en/query
|
6
|
-
body:
|
7
|
-
encoding: UTF-8
|
8
|
-
string: '{"query":"ISO 131","hitsPerPage":100,"filters":"category:standard"}'
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Algolia for Ruby (2.2.5), Ruby (3.1.2)
|
12
|
-
X-Algolia-Api-Key:
|
13
|
-
- dd1b9e1ab383f4d4817d29cd5e96d3f0
|
14
|
-
X-Algolia-Application-Id:
|
15
|
-
- JCL49WV5AR
|
16
|
-
Content-Type:
|
17
|
-
- application/json; charset=utf-8
|
18
|
-
Accept-Encoding:
|
19
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
-
Accept:
|
21
|
-
- "*/*"
|
22
|
-
Connection:
|
23
|
-
- keep-alive
|
24
|
-
Keep-Alive:
|
25
|
-
- '30'
|
26
|
-
response:
|
27
|
-
status:
|
28
|
-
code: 200
|
29
|
-
message: OK
|
30
|
-
headers:
|
31
|
-
Server:
|
32
|
-
- nginx
|
33
|
-
Date:
|
34
|
-
- Mon, 26 Sep 2022 09:21:04 GMT
|
35
|
-
Content-Type:
|
36
|
-
- application/json; charset=UTF-8
|
37
|
-
Transfer-Encoding:
|
38
|
-
- chunked
|
39
|
-
Connection:
|
40
|
-
- keep-alive
|
41
|
-
X-Alg-Pt:
|
42
|
-
- '4'
|
43
|
-
Accept-Encoding:
|
44
|
-
- deflate, gzip
|
45
|
-
Cache-Control:
|
46
|
-
- no-store
|
47
|
-
Access-Control-Allow-Origin:
|
48
|
-
- "*"
|
49
|
-
Timing-Allow-Origin:
|
50
|
-
- "*"
|
51
|
-
X-Content-Type-Options:
|
52
|
-
- nosniff
|
53
|
-
Strict-Transport-Security:
|
54
|
-
- max-age=31536000; includeSubDomains; preload
|
55
|
-
Content-Disposition:
|
56
|
-
- inline; filename=a.txt
|
57
|
-
body:
|
58
|
-
encoding: ASCII-8BIT
|
59
|
-
string: !binary |-
|
60
|
-
eyJoaXRzIjpbeyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wMC8zOS8zOTQ0IiwidXVpZCI6IjQwMDRhYzZjLTQ3NjEtNDFjOS1iOTg3LWMwMTkyYTE4MjU5YyIsInRpdGxlIjoiSVNPIDEzMToxOTc5IEFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjE5OTYsIm9yZGVyIjoxMDAsIm9iamVjdElEIjoiMzk0NF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT46MTk3OSBBY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXIiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC8yMC84MjAwNiIsInV1aWQiOiIyZjc3NDE2YS1kMzliLTQ5NTQtODYzMi0zOTY0MjdjMWY0ZWUiLCJ0aXRsZSI6IklTTyAxMzE2NS0yOjIwMjIgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCB0byBkZXRlcm1pbmUgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgZW1hbm9tZXRyeS4gVGhlIHRlc3QgbWV0aG9kIHNwZWNpZmllZCBpcyBzdWl0YWJsZSBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdGhlIHNvbHVibGUsIHN1c3BlbmRlZCBhbmQgdG90YWwgMjI2IFJhIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYWxsIHR5cGVzIG9mIHdhdGVyIHdpdGggc29sdWJsZSAyMjYgUmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgZ3JlYXRlciB0aGFuIDAsMDLCoEJxwqBsIOKIkjEgLiBUaGUgZGVjYXkgY2hhaW5zIG9mIDIzOCBVIGFuZCAyMzIgVGggYXJlIGdpdmVuIGluIEFubmV4wqBBLiBGaWd1cmXCoEEuMSBzaG93cyB0aGUgMjM4IFUgYW5kIGl0cyBkZWNheSBjaGFpbi4gIiwib2JqZWN0SUQiOiI4MjAwNl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0yOjIwMjIgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAyOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgdG8gZGV0ZXJtaW5lIHJhZGl1bS0yMjYgKCAyMjYgUmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYWxsIHR5cGVzIG9mIHdhdGVyIGJ5IGVtYW5vbWV0cnkuIFRoZSB0ZXN0IG1ldGhvZCBzcGVjaWZpZWQgaXMgc3VpdGFibGUgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzb2x1YmxlLCBzdXNwZW5kZWQgYW5kIHRvdGFsIDIyNiBSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciB3aXRoIHNvbHVibGUgMjI2IFJhIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGdyZWF0ZXIgdGhhbiAwLDAywqBCccKgbCDiiJIxIC4gVGhlIGRlY2F5IGNoYWlucyBvZiAyMzggVSBhbmQgMjMyIFRoIGFyZSBnaXZlbiBpbiBBbm5leMKgQS4gRmlndXJlwqBBLjEgc2hvd3MgdGhlIDIzOCBVIGFuZCBpdHMgZGVjYXkgY2hhaW4uICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3Lzk2Lzc5NjgyIiwidXVpZCI6IjczMjQ1ZDJlLWI4MWUtNDk5OC1hNzQyLWQ1M2JmMThkYjVlZSIsInRpdGxlIjoiSVNPIDEzMTM3OjIwMjIgV29ya3BsYWNlIGF0bW9zcGhlcmVzIOKAlCBQdW1wcyBmb3IgcGVyc29uYWwgc2FtcGxpbmcgb2YgY2hlbWljYWwgYW5kIGJpb2xvZ2ljYWwgYWdlbnRzIOKAlCBSZXF1aXJlbWVudHMgYW5kIHRlc3QgbWV0aG9kcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50cyBmb3IgYmF0dGVyeSBwb3dlcmVkIHB1bXBzIHVzZWQgZm9yIHBlcnNvbmFsIHNhbXBsaW5nIG9mIGNoZW1pY2FsIGFuZCBiaW9sb2dpY2FsIGFnZW50cyBpbiB3b3JrcGxhY2UgYWlyLiBJdCBhbHNvIHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygc3VjaCBwdW1wcyB1bmRlciBwcmVzY3JpYmVkIGxhYm9yYXRvcnkgY29uZGl0aW9ucy4gVGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhYmxlIHRvIGJhdHRlcnkgcG93ZXJlZCBwdW1wcyBoYXZpbmcgYSBub21pbmFsIHZvbHVtZXRyaWMgZmxvdyByYXRlIGFib3ZlIDEwwqBtbMKg4ouFwqBtaW4g4oiSMSAsIGFzIHVzZWQgd2l0aCBjb21iaW5hdGlvbnMgb2Ygc2FtcGxlciBhbmQgY29sbGVjdGlvbiBzdWJzdHJhdGUgZm9yIHNhbXBsaW5nIG9mIGdhc2VzLCB2YXBvdXJzLCBkdXN0cywgZnVtZXMsIG1pc3RzIGFuZCBmaWJyZXMuIFRoaXMgZG9jdW1lbnQgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciBmbG93LWNvbnRyb2xsZWQgcHVtcHMuICIsIm9iamVjdElEIjoiNzk2ODJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzc6MjAyMiBXb3JrcGxhY2UgYXRtb3NwaGVyZXMg4oCUIFB1bXBzIGZvciBwZXJzb25hbCBzYW1wbGluZyBvZiBjaGVtaWNhbCBhbmQgYmlvbG9naWNhbCBhZ2VudHMg4oCUIFJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50cyBmb3IgYmF0dGVyeSBwb3dlcmVkIHB1bXBzIHVzZWQgZm9yIHBlcnNvbmFsIHNhbXBsaW5nIG9mIGNoZW1pY2FsIGFuZCBiaW9sb2dpY2FsIGFnZW50cyBpbiB3b3JrcGxhY2UgYWlyLiBJdCBhbHNvIHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygc3VjaCBwdW1wcyB1bmRlciBwcmVzY3JpYmVkIGxhYm9yYXRvcnkgY29uZGl0aW9ucy4gVGhpcyBkb2N1bWVudCBpcyBhcHBsaWNhYmxlIHRvIGJhdHRlcnkgcG93ZXJlZCBwdW1wcyBoYXZpbmcgYSBub21pbmFsIHZvbHVtZXRyaWMgZmxvdyByYXRlIGFib3ZlIDEwwqBtbMKg4ouFwqBtaW4g4oiSMSAsIGFzIHVzZWQgd2l0aCBjb21iaW5hdGlvbnMgb2Ygc2FtcGxlciBhbmQgY29sbGVjdGlvbiBzdWJzdHJhdGUgZm9yIHNhbXBsaW5nIG9mIGdhc2VzLCB2YXBvdXJzLCBkdXN0cywgZnVtZXMsIG1pc3RzIGFuZCBmaWJyZXMuIFRoaXMgZG9jdW1lbnQgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciBmbG93LWNvbnRyb2xsZWQgcHVtcHMuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3Lzg4Lzc4ODYzIiwidXVpZCI6IjAzMTVjMzcyLTMyNTUtNDQ4NC04MjJkLWFkYWZiMTRiMGFiYyIsInRpdGxlIjoiSVNPIDEzMTExLTI6MjAyMiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgVGhlIHVzZSBvZiBwZXJzb25hbCBJVFMgc3RhdGlvbnMgdG8gc3VwcG9ydCBJVFMgc2VydmljZSBwcm92aXNpb24gZm9yIHRyYXZlbGxlcnMg4oCUIFBhcnQgMjogR2VuZXJhbCByZXF1aXJlbWVudHMgZm9yIGRhdGEgZXhjaGFuZ2UgYmV0d2VlbiBJVFMgc3RhdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IGRlZmluZXMgdGhlIGRhdGEgZXhjaGFuZ2UgcHJvdG9jb2wgdXNlZCB0byBpbXBsZW1lbnQgdXNlIGNhc2VzIGZvciBhcHBsaWNhdGlvbnMgYmFzZWQgb24gdGhlIHBlcnNvbmFsIElUUyBzdGF0aW9uIGRlZmluZWQgaW4gSVNPwqAxMzExMS0xLCB3aGljaCBwcm92aWRlcyBhbmQgbWFpbnRhaW5zIElUUyBzZXJ2aWNlcyB0byB0cmF2ZWxsZXJzLCBpbmNsdWRpbmcgZHJpdmVycywgcGFzc2VuZ2VycyBhbmQgcGVkZXN0cmlhbnMuIFRoZSBJVFMgYXBwbGljYXRpb25zIHN1cHBvcnRlZCBieSB0aGlzIGRvY3VtZW50IGluY2x1ZGUgbXVsdGltb2RhbCB0cmFuc3BvcnRhdGlvbiBpbmZvcm1hdGlvbiBzZXJ2aWNlcyBhbmQgbXVsdGltb2RhbCBuYXZpZ2F0aW9uIHNlcnZpY2VzIHRoYXQgYXJlIGJhc2VkIG9uIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBpbiB2YXJpb3VzIGFwcGxpY2F0aW9uIHNjZW5hcmlvcyBkZWZpbmVkIGluIElTT8KgMTMxMTEtMS4gVGhlIHVzZSBjYXNlIGltcGxlbWVudGF0aW9ucyBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCByZWZlciB0byB0aGUgYXJjaGl0ZWN0dXJlIGRlZmluZWQgaW4gSVNPwqAyMTIxNyBhbmQgSVNPwqAxMzE4NC4gIiwib2JqZWN0SUQiOiI3ODg2M18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xMS0yOjIwMjIgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIFRoZSB1c2Ugb2YgcGVyc29uYWwgSVRTIHN0YXRpb25zIHRvIHN1cHBvcnQgSVRTIHNlcnZpY2UgcHJvdmlzaW9uIGZvciB0cmF2ZWxsZXJzIOKAlCBQYXJ0IDI6IEdlbmVyYWwgcmVxdWlyZW1lbnRzIGZvciBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gSVRTIHN0YXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgZGVmaW5lcyB0aGUgZGF0YSBleGNoYW5nZSBwcm90b2NvbCB1c2VkIHRvIGltcGxlbWVudCB1c2UgY2FzZXMgZm9yIGFwcGxpY2F0aW9ucyBiYXNlZCBvbiB0aGUgcGVyc29uYWwgSVRTIHN0YXRpb24gZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT7CoDxlbT4xMzE8L2VtPjExLTEsIHdoaWNoIHByb3ZpZGVzIGFuZCBtYWludGFpbnMgSVRTIHNlcnZpY2VzIHRvIHRyYXZlbGxlcnMsIGluY2x1ZGluZyBkcml2ZXJzLCBwYXNzZW5nZXJzIGFuZCBwZWRlc3RyaWFucy4gVGhlIElUUyBhcHBsaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHRoaXMgZG9jdW1lbnQgaW5jbHVkZSBtdWx0aW1vZGFsIHRyYW5zcG9ydGF0aW9uIGluZm9ybWF0aW9uIHNlcnZpY2VzIGFuZCBtdWx0aW1vZGFsIG5hdmlnYXRpb24gc2VydmljZXMgdGhhdCBhcmUgYmFzZWQgb24gcGVyc29uYWwgSVRTIHN0YXRpb25zIGluIHZhcmlvdXMgYXBwbGljYXRpb24gc2NlbmFyaW9zIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+wqA8ZW0+MTMxPC9lbT4xMS0xLiBUaGUgdXNlIGNhc2UgaW1wbGVtZW50YXRpb25zIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IHJlZmVyIHRvIHRoZSBhcmNoaXRlY3R1cmUgZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT7CoDIxMjE3IGFuZCA8ZW0+SVNPPC9lbT7CoDxlbT4xMzE8L2VtPjg0LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy84My83ODM1NCIsInV1aWQiOiJmN2JmNjdmMy1iZmZkLTRiZTktYmEwZS03OTYzYWZkNzM0N2QiLCJ0aXRsZSI6IklTTyAxMzE0My0xOjIwMjAgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgRXZhbHVhdGlvbiBvZiBvbi1ib2FyZCBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IGZvciBjb25mb3JtaXR5IHRvIElTTyAxMjgxMyDigJQgUGFydCAxOiBUZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSAoVFNTKSBhbmQgdGVzdCBwdXJwb3NlcyAoVFBzKSBmb3IgZXZhbHVhdGluZyB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCAoUlNFKSB0byBJU08gMTI4MTMuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgT0JFIGFuZCBSU0UgdG8gc3VwcG9ydCBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gSVNPIDEyODEzIGRlZmluZXMgcmVxdWlyZW1lbnRzIG9uIHRoZSBjb21wbGlhbmNlIGNoZWNrIGNvbW11bmljYXRpb24gKENDQykgaW50ZXJmYWNlIGxldmVsLCBidXQgbm90IGZvciB0aGUgUlNFIG9yIE9CRSBpbnRlcm5hbCBmdW5jdGlvbmFsIGJlaGF2aW91ci4gQ29uc2VxdWVudGx5LCB0ZXN0cyByZWdhcmRpbmcgT0JFIGFuZC9vciBSU0UgZnVuY3Rpb25hbCBiZWhhdmlvdXIgcmVtYWluIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuICIsIm9iamVjdElEIjoiNzgzNTRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDMtMToyMDIwIEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byA8ZW0+SVNPPC9lbT4gMTI4MTMg4oCUIFBhcnQgMTogVGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIChUU1MpIGFuZCB0ZXN0IHB1cnBvc2VzIChUUHMpIGZvciBldmFsdWF0aW5nIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIDxlbT5JU088L2VtPiAxMjgxMy4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBPQkUgYW5kIFJTRSB0byBzdXBwb3J0IGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiA8ZW0+SVNPPC9lbT4gMTI4MTMgZGVmaW5lcyByZXF1aXJlbWVudHMgb24gdGhlIGNvbXBsaWFuY2UgY2hlY2sgY29tbXVuaWNhdGlvbiAoQ0NDKSBpbnRlcmZhY2UgbGV2ZWwsIGJ1dCBub3QgZm9yIHRoZSBSU0Ugb3IgT0JFIGludGVybmFsIGZ1bmN0aW9uYWwgYmVoYXZpb3VyLiBDb25zZXF1ZW50bHksIHRlc3RzIHJlZ2FyZGluZyBPQkUgYW5kL29yIFJTRSBmdW5jdGlvbmFsIGJlaGF2aW91ciByZW1haW4gb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudC4gIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvMDAvNzAwNDgiLCJ1dWlkIjoiM2YyZmIzMzUtYTljNC00ZmU3LWI5NGMtZGNjY2M4YjkzZjk2IiwidGl0bGUiOiJJU08gMTMxNDAtMjoyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byBJU08gMTMxNDEg4oCUIFBhcnQgMjogQWJzdHJhY3QgdGVzdCBzdWl0ZSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE0MC0yOjIwMTYgc3BlY2lmaWVzIHRoZSBhYnN0cmFjdCB0ZXN0IHN1aXRlIChBVFMpIHRvIGV2YWx1YXRlIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIElTTyAxMzE0MToyMDE1IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMgZGVmaW5lZCBpbiBJU08gMTMxNDDigJExOjIwMTYuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgZXF1aXBtZW50IChPQkUgYW5kIFJTRSkgdG8gc3VwcG9ydCBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gIiwib2JqZWN0SUQiOiI3MDA0OF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MC0yOjIwMTYgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgRXZhbHVhdGlvbiBvZiBvbi1ib2FyZCBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IGZvciBjb25mb3JtaXR5IHRvIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MSDigJQgUGFydCAyOiBBYnN0cmFjdCB0ZXN0IHN1aXRlIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MC0yOjIwMTYgc3BlY2lmaWVzIHRoZSBhYnN0cmFjdCB0ZXN0IHN1aXRlIChBVFMpIHRvIGV2YWx1YXRlIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MToyMDE1IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMgZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDDigJExOjIwMTYuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgZXF1aXBtZW50IChPQkUgYW5kIFJTRSkgdG8gc3VwcG9ydCBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvODIvNjgyNDciLCJ1dWlkIjoiMzI5Y2Y4MDMtMjViYy00YWM3LWE4MTUtOTRjOTYxNDRhNjRmIiwidGl0bGUiOiJJU08gMTMxNDMtMjoyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byBJU08gMTI4MTMg4oCUIFBhcnQgMjogQWJzdHJhY3QgdGVzdCBzdWl0ZSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE0My0yOjIwMTYgc3BlY2lmaWVzIHRoZSBhYnN0cmFjdCB0ZXN0IHN1aXRlIChBVFMpIHRvIGV2YWx1YXRlIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIElTTyAxMjgxMyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIGRlZmluZWQgaW4gSVNPIDEzMTQz4oCRMToyMDE2LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAoT0JFIGFuZCBSU0UpIHRvIGVuYWJsZSBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiBJbiBvcmRlciB0byBhc2NlcnRhaW4gdGhhdCBPQkUgYW5kIFJTRSBmdWxmaWwgZXNzZW50aWFsIHJhZGlvIHJlcXVpcmVtZW50cywgdGhleSBhcmUgYWxzbyBsaWtlbHkgdG8gYmUgc3ViamVjdCB0byBhZGRpdGlvbmFsIGZhY3RvcnksIHNpdGUgYW5kIHN5c3RlbSBhY2NlcHRhbmNlIHRlc3RpbmcgKGUuZy4gb2YgcGh5c2ljYWwgYW5kIGVudmlyb25tZW50YWwgZW5kdXJhbmNlLCBxdWFsaXR5IGFzc3VyYW5jZSBhbmQgY29udHJvbCBhdCBtYW51ZmFjdHVyaW5nLCBhbmQgY2hhcmdlIHBvaW50IGludGVncmF0aW9uKSwgd2hpY2ggaXMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudC4gIiwib2JqZWN0SUQiOiI2ODI0N18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40My0yOjIwMTYgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgRXZhbHVhdGlvbiBvZiBvbi1ib2FyZCBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IGZvciBjb25mb3JtaXR5IHRvIDxlbT5JU088L2VtPiAxMjgxMyDigJQgUGFydCAyOiBBYnN0cmFjdCB0ZXN0IHN1aXRlIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40My0yOjIwMTYgc3BlY2lmaWVzIHRoZSBhYnN0cmFjdCB0ZXN0IHN1aXRlIChBVFMpIHRvIGV2YWx1YXRlIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIGVxdWlwbWVudCAoT0JFKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIDxlbT5JU088L2VtPiAxMjgxMyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQz4oCRMToyMDE2LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAoT0JFIGFuZCBSU0UpIHRvIGVuYWJsZSBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiBJbiBvcmRlciB0byBhc2NlcnRhaW4gdGhhdCBPQkUgYW5kIFJTRSBmdWxmaWwgZXNzZW50aWFsIHJhZGlvIHJlcXVpcmVtZW50cywgdGhleSBhcmUgYWxzbyBsaWtlbHkgdG8gYmUgc3ViamVjdCB0byBhZGRpdGlvbmFsIGZhY3RvcnksIHNpdGUgYW5kIHN5c3RlbSBhY2NlcHRhbmNlIHRlc3RpbmcgKGUuZy4gb2YgcGh5c2ljYWwgYW5kIGVudmlyb25tZW50YWwgZW5kdXJhbmNlLCBxdWFsaXR5IGFzc3VyYW5jZSBhbmQgY29udHJvbCBhdCBtYW51ZmFjdHVyaW5nLCBhbmQgY2hhcmdlIHBvaW50IGludGVncmF0aW9uKSwgd2hpY2ggaXMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvODIvNjgyNDUiLCJ1dWlkIjoiNGRkYmY1YzQtNTZhOC00MDgzLWJlNjMtZDllZTY2YTQyNjdhIiwidGl0bGUiOiJJU08gMTMxNDAtMToyMDE2IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIEV2YWx1YXRpb24gb2Ygb24tYm9hcmQgYW5kIHJvYWRzaWRlIGVxdWlwbWVudCBmb3IgY29uZm9ybWl0eSB0byBJU08gMTMxNDEg4oCUIFBhcnQgMTogVGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgYW5kIHRlc3QgcHVycG9zZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNDAtMToyMDE2IHNwZWNpZmllcyB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgKFRTUykgYW5kIHRlc3QgcHVycG9zZXMgKFRQKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCB1bml0cyAoT0JVKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIElTTyAxMzE0MS4gSXQgcHJvdmlkZXMgYSBiYXNpcyBmb3IgY29uZm9ybWFuY2UgdGVzdHMgZm9yIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIChEU1JDKSBlcXVpcG1lbnQgKG9uLWJvYXJkIHVuaXRzIGFuZCByb2Fkc2lkZSB1bml0cykgdG8gZW5hYmxlIGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgZXF1aXBtZW50IHN1cHBsaWVkIGJ5IGRpZmZlcmVudCBtYW51ZmFjdHVyZXJzLiAiLCJvYmplY3RJRCI6IjY4MjQ1XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQwLTE6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxIOKAlCBQYXJ0IDE6IFRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MC0xOjIwMTYgc3BlY2lmaWVzIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSAoVFNTKSBhbmQgdGVzdCBwdXJwb3NlcyAoVFApIHRvIGV2YWx1YXRlIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIHVuaXRzIChPQlUpIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkgdG8gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxLiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAob24tYm9hcmQgdW5pdHMgYW5kIHJvYWRzaWRlIHVuaXRzKSB0byBlbmFibGUgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzYyLzY2MjAyIiwidXVpZCI6IjAxOTY4OTRmLTBlYzYtNDE0NS04N2Q4LTE1NDE0NWE4ZDI3YyIsInRpdGxlIjoiSVNPIDEzMTcxOjIwMTYgRXNzZW50aWFsIG9pbCBvZiBvcmVnYW5vIFtPcmlnYW51bSB2dWxnYXJlIEwuIHN1YnNwLiBoaXJ0dW0gKExpbmspIGxldHN3XSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE3MToyMDE2IHNwZWNpZmllcyBjZXJ0YWluIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZXNzZW50aWFsIG9pbCBvZiBvcmVnYW5vIFsgT3JpZ2FudW0gdnVsZ2FyZSBMLiBzdWJzcC4gaGlydHVtIChMaW5rKSBsZXRzd10sIGluIG9yZGVyIHRvIGZhY2lsaXRhdGUgdGhlIGFzc2Vzc21lbnQgb2YgaXRzIHF1YWxpdHkuICIsIm9iamVjdElEIjoiNjYyMDJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzE6MjAxNiBFc3NlbnRpYWwgb2lsIG9mIG9yZWdhbm8gW09yaWdhbnVtIHZ1bGdhcmUgTC4gc3Vic3AuIGhpcnR1bSAoTGluaykgbGV0c3ddIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43MToyMDE2IHNwZWNpZmllcyBjZXJ0YWluIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZXNzZW50aWFsIG9pbCBvZiBvcmVnYW5vIFsgT3JpZ2FudW0gdnVsZ2FyZSBMLiBzdWJzcC4gaGlydHVtIChMaW5rKSBsZXRzd10sIGluIG9yZGVyIHRvIGZhY2lsaXRhdGUgdGhlIGFzc2Vzc21lbnQgb2YgaXRzIHF1YWxpdHkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzIyLzYyMjg1IiwidXVpZCI6ImZiMTZjNWQ5LWJkMGItNDIwZC04MDhmLTU2MWQ1YzNhYzRjMCIsInRpdGxlIjoiSVNPIDEzMTA1LTI6MjAxNCBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDI6IFNhZmV0eSByZXF1aXJlbWVudHMgYW5kIHZlcmlmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEwNS0yOjIwMTQgc3BlY2lmaWVzIHNhZmV0eSByZXF1aXJlbWVudHMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZy4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gICAgaW50ZXJuYWwgb3IgZXh0ZXJuYWwgdmlicmF0b3JzIG9yIGFuY2lsbGFyeSBlcXVpcG1lbnQgdXNlZCB3aXRoIGludGVybmFsIGFuZCBleHRlcm5hbCB2aWJyYXRvcnMsIGZvciBleGFtcGxlLCBhaXIgY29tcHJlc3NvcnMsIGh5ZHJhdWxpYyBwb3dlciBzb3VyY2VzLCBhbmQgdm9sdGFnZSB0cmFuc2Zvcm1lcnMsIHRvIHJlbW90ZS1jb250cm9sbGVkIG9yIGhhbmQtaGVsZCBzbW9vdGhpbmcgbWFjaGluZXMgYW5kIHNlbGYtYWN0aW5nIChyb2JvdGljKSBzbW9vdGhpbmcgbWFjaGluZXMsIG9yIHRvIHN0cmlrZS1vZmYgdHlwZSBtYWNoaW5lcyBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiBJdCBkZWFscyB3aXRoIHNpZ25pZmljYW50IGhhemFyZHMsIGhhemFyZG91cyBzaXR1YXRpb25zLCBvciBoYXphcmRvdXMgZXZlbnRzIHJlbGV2YW50IHRvIG1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIChwb3dlciB0cm93ZWxzKSB3aGVuIHVzZWQgYXMgaW50ZW5kZWQgYW5kIHVuZGVyIGNvbmRpdGlvbnMgb2YgbWlzdXNlIHdoaWNoIGFyZSByZWFzb25hYmx5IGZvcmVzZWVhYmxlIGJ5IHRoZSBtYW51ZmFjdHVyZXIuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIG1hY2hpbmVzIHdoaWNoIGFyZSBtYW51ZmFjdHVyZWQgYmVmb3JlIHRoZSBkYXRlIG9mIGl0cyBwdWJsaWNhdGlvbi4gIiwib2JqZWN0SUQiOiI2MjI4NV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0yOjIwMTQgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAyOiBTYWZldHkgcmVxdWlyZW1lbnRzIGFuZCB2ZXJpZmljYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTI6MjAxNCBzcGVjaWZpZXMgc2FmZXR5IHJlcXVpcmVtZW50cyBmb3IgbWFjaGluZXMgdXNlZCBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nLiBUaGlzIGluY2x1ZGVzIHBlZGVzdHJpYW4tY29udHJvbGxlZCBlcXVpcG1lbnQgYW5kIHJpZGUtb24gZXF1aXBtZW50LiBJdCBpcyBub3QgYXBwbGljYWJsZSB0byAgICBpbnRlcm5hbCBvciBleHRlcm5hbCB2aWJyYXRvcnMgb3IgYW5jaWxsYXJ5IGVxdWlwbWVudCB1c2VkIHdpdGggaW50ZXJuYWwgYW5kIGV4dGVybmFsIHZpYnJhdG9ycywgZm9yIGV4YW1wbGUsIGFpciBjb21wcmVzc29ycywgaHlkcmF1bGljIHBvd2VyIHNvdXJjZXMsIGFuZCB2b2x0YWdlIHRyYW5zZm9ybWVycywgdG8gcmVtb3RlLWNvbnRyb2xsZWQgb3IgaGFuZC1oZWxkIHNtb290aGluZyBtYWNoaW5lcyBhbmQgc2VsZi1hY3RpbmcgKHJvYm90aWMpIHNtb290aGluZyBtYWNoaW5lcywgb3IgdG8gc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzIGNvbW1vbmx5IGtub3duIGFzIHNjcmVlZHMuIEl0IGRlYWxzIHdpdGggc2lnbmlmaWNhbnQgaGF6YXJkcywgaGF6YXJkb3VzIHNpdHVhdGlvbnMsIG9yIGhhemFyZG91cyBldmVudHMgcmVsZXZhbnQgdG8gbWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKHBvd2VyIHRyb3dlbHMpIHdoZW4gdXNlZCBhcyBpbnRlbmRlZCBhbmQgdW5kZXIgY29uZGl0aW9ucyBvZiBtaXN1c2Ugd2hpY2ggYXJlIHJlYXNvbmFibHkgZm9yZXNlZWFibGUgYnkgdGhlIG1hbnVmYWN0dXJlci4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gbWFjaGluZXMgd2hpY2ggYXJlIG1hbnVmYWN0dXJlZCBiZWZvcmUgdGhlIGRhdGUgb2YgaXRzIHB1YmxpY2F0aW9uLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8xNS82MTU2MiIsInV1aWQiOiI0ZTU2YmM2Zi0zMzQ3LTQwZDQtOGY1MS0xYzMzMmY2MTYyMjIiLCJ0aXRsZSI6IklTTyAxMzExMS0xOjIwMTcgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIFRoZSB1c2Ugb2YgcGVyc29uYWwgSVRTIHN0YXRpb24gdG8gc3VwcG9ydCBJVFMgc2VydmljZSBwcm92aXNpb24gZm9yIHRyYXZlbGxlcnMg4oCUIFBhcnQgMTogR2VuZXJhbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGNhc2UgZGVmaW5pdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMTEtMToyMDE3IGRlZmluZXMgdGhlIGdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlcyBvZiB0aGUgYXBwbGljYXRpb25zIGJhc2VkIG9uIHRoZSBwZXJzb25hbCBJVFMgc3RhdGlvbiB0byBwcm92aWRlIGFuZCBtYWludGFpbiBJVFMgc2VydmljZXMgdG8gdHJhdmVsbGVycyBpbmNsdWRpbmcgZHJpdmVycywgcGFzc2VuZ2VycyBhbmQgcGVkZXN0cmlhbnMuIFRoZSBJVFMgYXBwbGljYXRpb25zIHN1cHBvcnRlZCBieSBJU08gMTMxMTEtMToyMDE3IGluY2x1ZGUgbXVsdGktbW9kYWwgdHJhbnNwb3J0YXRpb24gaW5mb3JtYXRpb24gc2VydmljZSBhbmQgbXVsdGltb2RhbCBuYXZpZ2F0aW9uIHNlcnZpY2Ugd2hpY2ggYXJlIGJhc2VkIG9uIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBpbiB2YXJpb3VzIGFwcGxpY2F0aW9uIHNjZW5hcmlvcyBhcyBmb2xsb3dzLiAtICAgICAgU2xvdyB0cmFuc3BvcnQgaW5mb3JtYXRpb24gc2VydmljZSBhbmQgbmF2aWdhdGlvbiBzZXJ2aWNlIHN1Y2ggYXMgcGVkZXN0cmlhbnMsIGJpY3ljbGVzIGFuZCBkaXNhYmxlZCAod2hlZWxjaGFpciBhY2Nlc3NpYmxlKSBuYXZpZ2F0aW9uLCBhcyB3ZWxsIGFzIGludGVybmFsIHRyYWZmaWMgbmF2aWdhdGlvbiBpbnNpZGUgdGhlIGxvY2FsIHRyYW5zcG9ydCBhcmVhLiAtICAgICAgVHJhbnNmZXIgaW5mb3JtYXRpb24gc2VydmljZS4gVGhlIGNvbnNpZGVyZWQgYXBwbGljYXRpb24gZW52aXJvbm1lbnQgaW5jbHVkZXMgdGhlIHRyYW5zZmVyIGluZm9ybWF0aW9uIHNlcnZpY2UgaW4gYSB0cmFuc2ZlciBub2RlIHN1Y2ggYXMgdGhlIGludGVncmF0ZWQgdHJhbnNwb3J0YXRpb24gaHViLCBidXMgc3RhdGlvbnMsIGNhciBwYXJraW5nIGxvdCwgYW4gaW5kb29yIHRyYW5zZmVyIGFyZWEsIGV0Yy4gLSAgICAgIE11bHRpLW1vZGFsIHRyYWZmaWMgaW5mb3JtYXRpb24gc2VydmljZS4gVHlwZXMgb2YgdHJhZmZpYyBpbmZvcm1hdGlvbiBpbmNsdWRlIHJlYWwtdGltZSByb2FkIHRyYWZmaWMgaW5mb3JtYXRpb24sIHB1YmxpYyB0cmFuc3BvcnQgb3BlcmF0aW5nIGluZm9ybWF0aW9uLCBzZXJ2aWNlIGluZm9ybWF0aW9uIGZvciBwZWRlc3RyaWFucycgcm9hZCBuZXR3b3JrIGFuZCBzZXJ2aWNlIGluZm9ybWF0aW9uIGZvciB0cmFuc2ZlciBub2RlIHN1Y2ggYXMgaW50ZWdyYXRlZCB0cmFuc3BvcnRhdGlvbiBodWIsIGJ1cyBzdGF0aW9ucywgY2FyIHBhcmtpbmcgbG90LCBhbiBpbmRvb3IgdHJhbnNmZXIgYXJlYSwgZXRjLiAtICAgICAgTXVsdGktbW9kYWwgbmF2aWdhdGlvbiBzZXJ2aWNlLiBJbmNsdWRlcyBzdGF0aWMgYW5kIGR5bmFtaWMgbXVsdGktbW9kYWwgcm91dGluZyBhbmQgcmUtcm91dGluZyBzZXJ2aWNlLCBhcyB3ZWxsIGFzIHJlYWwtdGltZSBndWlkYW5jZSBzZXJ2aWNlIHdpdGggdm9pY2UvaW1hZ2UvdGV4dC9tYXAgZHJhd2luZ3MuIC0gICAgICBDb21tdW5pdGllcyBhY3Rpdml0aWVzLiBGb3IgZXhhbXBsZSwgYSB0ZWFtIHRyYXZlbCB3aGVuIGEgZ3JvdXAgb2YgdmVoaWNsZXMgKG9yIGJpY3ljbGVzKSB0cmFjayB0aGUgbGVhZCB2ZWhpY2xlIG9uIHRoZSB3YXkgdG8gdGhlIHNhbWUgZGVzdGluYXRpb24uICIsIm9iamVjdElEIjoiNjE1NjJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTEtMToyMDE3IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBUaGUgdXNlIG9mIHBlcnNvbmFsIElUUyBzdGF0aW9uIHRvIHN1cHBvcnQgSVRTIHNlcnZpY2UgcHJvdmlzaW9uIGZvciB0cmF2ZWxsZXJzIOKAlCBQYXJ0IDE6IEdlbmVyYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBjYXNlIGRlZmluaXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xMS0xOjIwMTcgZGVmaW5lcyB0aGUgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGNhc2VzIG9mIHRoZSBhcHBsaWNhdGlvbnMgYmFzZWQgb24gdGhlIHBlcnNvbmFsIElUUyBzdGF0aW9uIHRvIHByb3ZpZGUgYW5kIG1haW50YWluIElUUyBzZXJ2aWNlcyB0byB0cmF2ZWxsZXJzIGluY2x1ZGluZyBkcml2ZXJzLCBwYXNzZW5nZXJzIGFuZCBwZWRlc3RyaWFucy4gVGhlIElUUyBhcHBsaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xMS0xOjIwMTcgaW5jbHVkZSBtdWx0aS1tb2RhbCB0cmFuc3BvcnRhdGlvbiBpbmZvcm1hdGlvbiBzZXJ2aWNlIGFuZCBtdWx0aW1vZGFsIG5hdmlnYXRpb24gc2VydmljZSB3aGljaCBhcmUgYmFzZWQgb24gcGVyc29uYWwgSVRTIHN0YXRpb25zIGluIHZhcmlvdXMgYXBwbGljYXRpb24gc2NlbmFyaW9zIGFzIGZvbGxvd3MuIC0gICAgICBTbG93IHRyYW5zcG9ydCBpbmZvcm1hdGlvbiBzZXJ2aWNlIGFuZCBuYXZpZ2F0aW9uIHNlcnZpY2Ugc3VjaCBhcyBwZWRlc3RyaWFucywgYmljeWNsZXMgYW5kIGRpc2FibGVkICh3aGVlbGNoYWlyIGFjY2Vzc2libGUpIG5hdmlnYXRpb24sIGFzIHdlbGwgYXMgaW50ZXJuYWwgdHJhZmZpYyBuYXZpZ2F0aW9uIGluc2lkZSB0aGUgbG9jYWwgdHJhbnNwb3J0IGFyZWEuIC0gICAgICBUcmFuc2ZlciBpbmZvcm1hdGlvbiBzZXJ2aWNlLiBUaGUgY29uc2lkZXJlZCBhcHBsaWNhdGlvbiBlbnZpcm9ubWVudCBpbmNsdWRlcyB0aGUgdHJhbnNmZXIgaW5mb3JtYXRpb24gc2VydmljZSBpbiBhIHRyYW5zZmVyIG5vZGUgc3VjaCBhcyB0aGUgaW50ZWdyYXRlZCB0cmFuc3BvcnRhdGlvbiBodWIsIGJ1cyBzdGF0aW9ucywgY2FyIHBhcmtpbmcgbG90LCBhbiBpbmRvb3IgdHJhbnNmZXIgYXJlYSwgZXRjLiAtICAgICAgTXVsdGktbW9kYWwgdHJhZmZpYyBpbmZvcm1hdGlvbiBzZXJ2aWNlLiBUeXBlcyBvZiB0cmFmZmljIGluZm9ybWF0aW9uIGluY2x1ZGUgcmVhbC10aW1lIHJvYWQgdHJhZmZpYyBpbmZvcm1hdGlvbiwgcHVibGljIHRyYW5zcG9ydCBvcGVyYXRpbmcgaW5mb3JtYXRpb24sIHNlcnZpY2UgaW5mb3JtYXRpb24gZm9yIHBlZGVzdHJpYW5zJyByb2FkIG5ldHdvcmsgYW5kIHNlcnZpY2UgaW5mb3JtYXRpb24gZm9yIHRyYW5zZmVyIG5vZGUgc3VjaCBhcyBpbnRlZ3JhdGVkIHRyYW5zcG9ydGF0aW9uIGh1YiwgYnVzIHN0YXRpb25zLCBjYXIgcGFya2luZyBsb3QsIGFuIGluZG9vciB0cmFuc2ZlciBhcmVhLCBldGMuIC0gICAgICBNdWx0aS1tb2RhbCBuYXZpZ2F0aW9uIHNlcnZpY2UuIEluY2x1ZGVzIHN0YXRpYyBhbmQgZHluYW1pYyBtdWx0aS1tb2RhbCByb3V0aW5nIGFuZCByZS1yb3V0aW5nIHNlcnZpY2UsIGFzIHdlbGwgYXMgcmVhbC10aW1lIGd1aWRhbmNlIHNlcnZpY2Ugd2l0aCB2b2ljZS9pbWFnZS90ZXh0L21hcCBkcmF3aW5ncy4gLSAgICAgIENvbW11bml0aWVzIGFjdGl2aXRpZXMuIEZvciBleGFtcGxlLCBhIHRlYW0gdHJhdmVsIHdoZW4gYSBncm91cCBvZiB2ZWhpY2xlcyAob3IgYmljeWNsZXMpIHRyYWNrIHRoZSBsZWFkIHZlaGljbGUgb24gdGhlIHdheSB0byB0aGUgc2FtZSBkZXN0aW5hdGlvbi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNzIvNTcyMzYiLCJ1dWlkIjoiOGMzYzAwNzAtNGQ2Ni00MWU0LWEzYjEtNWY3YWVmNWRjNTQ2IiwidGl0bGUiOiJJU08gMTMxMDUtMToyMDE0IEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMTogVGVybXMgYW5kIGNvbW1lcmNpYWwgc3BlY2lmaWNhdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMDUtMToyMDE0IGRlZmluZXMgdGVybXMgYW5kIGNvbW1lcmNpYWwgc3BlY2lmaWNhdGlvbnMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyAoYWxzbyBrbm93biBhcyBwb3dlciB0cm93ZWxzKS4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgZG9lcyBub3QgYWRkcmVzcyBzdHJpa2Utb2ZmIHR5cGUgbWFjaGluZXMsIGNvbW1vbmx5IGtub3duIGFzIHNjcmVlZHMuICIsIm9iamVjdElEIjoiNTcyMzZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDUtMToyMDE0IEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMTogVGVybXMgYW5kIGNvbW1lcmNpYWwgc3BlY2lmaWNhdGlvbnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTE6MjAxNCBkZWZpbmVzIHRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKGFsc28ga25vd24gYXMgcG93ZXIgdHJvd2VscykuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGRvZXMgbm90IGFkZHJlc3Mgc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzLCBjb21tb25seSBrbm93biBhcyBzY3JlZWRzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ3OCIsInV1aWQiOiJkYmQ0ZWVjYy02MWY4LTQyYjAtYjY5Ny02YWUxYzkzYTkyMDkiLCJ0aXRsZSI6IklTTyAxMzE5NDoyMDExIEJveCBwYWxsZXRzIOKAlCBQcmluY2lwYWwgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0IG1ldGhvZHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxOTQ6MjAxMSBzcGVjaWZpZXMgdGhlIGRlZmluaXRpb25zLCBwcmluY2lwYWwgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0IG1ldGhvZHMgZm9yIGJveCBwYWxsZXRzIG9mIGFsbCBtYXRlcmlhbHMuIEl0IGFwcGxpZXMgdG8gYm94IHBhbGxldHMsIGluY2x1ZGluZyBwb3N0IHBhbGxldHMgYW5kIGNhZ2UgcGFsbGV0cywgYnV0IGlzIG5vdCBpbnRlbmRlZCB0byBhcHBseSB0byB0YW5rIGFuZCBzaWxvIHBhbGxldHMgYXMgZGVmaW5lZCBpbiBJU08gNDQ1LiBJdCBhbHNvIGFwcGxpZXMgdG8gYm94IHBhbGxldHMgd2hpY2ggY2FuIGJlIHN0YWNrZWQgYW5kIGhhbmRsZWQgYnkgZm9ya2xpZnQgdHJ1Y2tzIG9yIHBhbGxldCB0cnVja3MsIGJ1dCBleGNsdWRlcyBvdGhlciBsaWZ0aW5nIGRldmljZXMuIElTTyAxMzE5NDoyMDExIGFkZHJlc3NlcyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGJveCBwYWxsZXQgb25seSwgYW5kIG5vdCBpdHMgY29udGVudHMuICIsIm9iamVjdElEIjoiNTM0NzhfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+OTQ6MjAxMSBCb3ggcGFsbGV0cyDigJQgUHJpbmNpcGFsIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBtZXRob2RzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45NDoyMDExIHNwZWNpZmllcyB0aGUgZGVmaW5pdGlvbnMsIHByaW5jaXBhbCByZXF1aXJlbWVudHMgYW5kIHRlc3QgbWV0aG9kcyBmb3IgYm94IHBhbGxldHMgb2YgYWxsIG1hdGVyaWFscy4gSXQgYXBwbGllcyB0byBib3ggcGFsbGV0cywgaW5jbHVkaW5nIHBvc3QgcGFsbGV0cyBhbmQgY2FnZSBwYWxsZXRzLCBidXQgaXMgbm90IGludGVuZGVkIHRvIGFwcGx5IHRvIHRhbmsgYW5kIHNpbG8gcGFsbGV0cyBhcyBkZWZpbmVkIGluIDxlbT5JU088L2VtPiA0NDUuIEl0IGFsc28gYXBwbGllcyB0byBib3ggcGFsbGV0cyB3aGljaCBjYW4gYmUgc3RhY2tlZCBhbmQgaGFuZGxlZCBieSBmb3JrbGlmdCB0cnVja3Mgb3IgcGFsbGV0IHRydWNrcywgYnV0IGV4Y2x1ZGVzIG90aGVyIGxpZnRpbmcgZGV2aWNlcy4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjk0OjIwMTEgYWRkcmVzc2VzIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgYm94IHBhbGxldCBvbmx5LCBhbmQgbm90IGl0cyBjb250ZW50cy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzMvNTMzODkiLCJ1dWlkIjoiY2VkYjdkMjktYmY5ZC00MjhkLWE0NWYtOTViYWQ2YTkxYmZiIiwidGl0bGUiOiJJU08gMTMxNDU6MjAxMiBSdWJiZXIg4oCUIERldGVybWluYXRpb24gb2YgdmlzY29zaXR5IGFuZCBzdHJlc3MgcmVsYXhhdGlvbiB1c2luZyBhIHJvdG9ybGVzcyBzZWFsZWQgc2hlYXIgcmhlb21ldGVyIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMiwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTQ1OjIwMTIgZGVzY3JpYmVzIGEgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgdmlzY29zaXR5IGFuZCBzdHJlc3MgcmVsYXhhdGlvbiBvZiByYXcgb3IgY29tcG91bmRlZCBydWJiZXIgdW5kZXIgc3BlY2lmaWVkIGNvbmRpdGlvbnMuIFRoZSB2aXNjb3NpdHkgZGV0ZXJtaW5hdGlvbiBjb25zaXN0cyBvZiBhIGNvbnN0YW50IHN0cmFpbiwgdGVtcGVyYXR1cmUgYW5kIGZyZXF1ZW5jeSB0ZXN0IGluIHdoaWNoIHRoZSBlbGFzdGljIGFuZCB0aGUgbG9zcyBjb21wb25lbnRzIG9mIHRoZSBjb21wbGV4IHNoZWFyIG1vZHVsdXMgY2FuIGJlIGRldGVybWluZWQuIFRoZSBkZXRlcm1pbmF0aW9uIG9mIHN0cmVzcyByZWxheGF0aW9uIGNvbnNpc3RzIG9mIGEgY29uc3RhbnQgc3RhdGljIHN0cmFpbiBhbmQgdGVtcGVyYXR1cmUgdGVzdCBpbiB3aGljaCB0aGUgdG9ycXVlIGRlY3JlYXNlIGNhbiBiZSBkZXRlcm1pbmVkLiAiLCJvYmplY3RJRCI6IjUzMzg5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQ1OjIwMTIgUnViYmVyIOKAlCBEZXRlcm1pbmF0aW9uIG9mIHZpc2Nvc2l0eSBhbmQgc3RyZXNzIHJlbGF4YXRpb24gdXNpbmcgYSByb3Rvcmxlc3Mgc2VhbGVkIHNoZWFyIHJoZW9tZXRlciIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDU6MjAxMiBkZXNjcmliZXMgYSBtZXRob2QgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSB2aXNjb3NpdHkgYW5kIHN0cmVzcyByZWxheGF0aW9uIG9mIHJhdyBvciBjb21wb3VuZGVkIHJ1YmJlciB1bmRlciBzcGVjaWZpZWQgY29uZGl0aW9ucy4gVGhlIHZpc2Nvc2l0eSBkZXRlcm1pbmF0aW9uIGNvbnNpc3RzIG9mIGEgY29uc3RhbnQgc3RyYWluLCB0ZW1wZXJhdHVyZSBhbmQgZnJlcXVlbmN5IHRlc3QgaW4gd2hpY2ggdGhlIGVsYXN0aWMgYW5kIHRoZSBsb3NzIGNvbXBvbmVudHMgb2YgdGhlIGNvbXBsZXggc2hlYXIgbW9kdWx1cyBjYW4gYmUgZGV0ZXJtaW5lZC4gVGhlIGRldGVybWluYXRpb24gb2Ygc3RyZXNzIHJlbGF4YXRpb24gY29uc2lzdHMgb2YgYSBjb25zdGFudCBzdGF0aWMgc3RyYWluIGFuZCB0ZW1wZXJhdHVyZSB0ZXN0IGluIHdoaWNoIHRoZSB0b3JxdWUgZGVjcmVhc2UgY2FuIGJlIGRldGVybWluZWQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMzLzUzMzMxIiwidXVpZCI6Ijg1M2RkN2NkLWVlYjMtNDkyYS1hNjY5LTQ5NjY1OWIyMWRlOSIsInRpdGxlIjoiSVNPIDEzMTM4OjIwMTIgQWlyIHF1YWxpdHkg4oCUIFNhbXBsaW5nIGNvbnZlbnRpb25zIGZvciBhaXJib3JuZSBwYXJ0aWNsZSBkZXBvc2l0aW9uIGluIHRoZSBodW1hbiByZXNwaXJhdG9yeSBzeXN0ZW0iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMzg6MjAxMiBzcGVjaWZpZXMgc2FtcGxpbmcgY29udmVudGlvbnMgdG8gZGVmaW5lIGlkZWFsaXplZCBzYW1wbGVycyBmb3IgZXN0aW1hdGluZyB0aGUgZGVwb3NpdGlvbiBvZiBub24tdm9sYXRpbGUsIG5vbi1oeWdyb3Njb3BpYywgbm9uLWZpYnJvdXMgYWVyb3NvbHMgaW4gZml2ZSBzcGVjaWZpYyBsb2NpIG9mIHRoZSByZXNwaXJhdG9yeSB0cmFjdC4gVGhlIGZpdmUgbG9jaSBjb25zaXN0IG9mIHRoZSBhbnRlcmlvciBhbmQgcG9zdGVyaW9yIGFyZWFzIG9mIHRoZSBuYXNhbCBwYXNzYWdlcywgdGhlIGNpbGlhdGVkIGFuZCBub24tY2lsaWF0ZWQgcGFydHMgb2YgdGhlIHRyYWNoZW9icm9uY2hpYWwgYXJlYSwgYW5kIHRoZSBhbHZlb2xhciAoZ2FzIGV4Y2hhbmdlKSByZWdpb24uIFRoZSBjb252ZW50aW9ucyBhcmUgc2VwYXJhdGVkIGludG8gdGhyZWUgaW5kZXBlbmRlbnQgc2FtcGxpbmcgZWZmaWNpZW5jaWVzIGRlZmluZWQgaW4gdGVybXMgb2YgdGhlcm1vZHluYW1pYyBkaWFtZXRlciBjaGFyYWN0ZXJpemluZyB0aGUgZGlmZnVzaXZlIChCcm93bmlhbikgbW90aW9uIG9mIHN1Yi1taWNyb21ldHJlIHBhcnRpY2xlcyBhbmQgZm91ciBlZmZpY2llbmNpZXMgaW4gdGVybXMgb2YgYWVyb2R5bmFtaWMgZGlhbWV0ZXIg74C+MCwxIM68bSBjaGFyYWN0ZXJpemluZyBkZXBvc2l0aW9uIGJ5IGltcGFjdGlvbiwgaW50ZXJjZXB0aW9uIG9yIGdyYXZpdGF0aW9uYWwgc2V0dGxpbmcuIEVhY2ggY29udmVudGlvbmFsIGN1cnZlIGhhcyBiZWVuIGRldmVsb3BlZCBhcyBhbiBhdmVyYWdlIG9mIDEyIGRlcG9zaXRpb24gY3VydmVzIGNvcnJlc3BvbmRpbmcgdG8gMTIgYnJlYXRoaW5nIGNvbmRpdGlvbnMgcmFuZ2luZyBmcm9tIHNpdHRpbmcgdG8gaGVhdnkgZXhlcmNpc2UsIG1hbGUgdnMgZmVtYWxlLCBhbmQgYnJlYXRoaW5nIG1vZGUgKG1vdXRoIHZzIG5hc2FsIGJyZWF0aGluZykuICIsIm9iamVjdElEIjoiNTMzMzFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzg6MjAxMiBBaXIgcXVhbGl0eSDigJQgU2FtcGxpbmcgY29udmVudGlvbnMgZm9yIGFpcmJvcm5lIHBhcnRpY2xlIGRlcG9zaXRpb24gaW4gdGhlIGh1bWFuIHJlc3BpcmF0b3J5IHN5c3RlbSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzg6MjAxMiBzcGVjaWZpZXMgc2FtcGxpbmcgY29udmVudGlvbnMgdG8gZGVmaW5lIGlkZWFsaXplZCBzYW1wbGVycyBmb3IgZXN0aW1hdGluZyB0aGUgZGVwb3NpdGlvbiBvZiBub24tdm9sYXRpbGUsIG5vbi1oeWdyb3Njb3BpYywgbm9uLWZpYnJvdXMgYWVyb3NvbHMgaW4gZml2ZSBzcGVjaWZpYyBsb2NpIG9mIHRoZSByZXNwaXJhdG9yeSB0cmFjdC4gVGhlIGZpdmUgbG9jaSBjb25zaXN0IG9mIHRoZSBhbnRlcmlvciBhbmQgcG9zdGVyaW9yIGFyZWFzIG9mIHRoZSBuYXNhbCBwYXNzYWdlcywgdGhlIGNpbGlhdGVkIGFuZCBub24tY2lsaWF0ZWQgcGFydHMgb2YgdGhlIHRyYWNoZW9icm9uY2hpYWwgYXJlYSwgYW5kIHRoZSBhbHZlb2xhciAoZ2FzIGV4Y2hhbmdlKSByZWdpb24uIFRoZSBjb252ZW50aW9ucyBhcmUgc2VwYXJhdGVkIGludG8gdGhyZWUgaW5kZXBlbmRlbnQgc2FtcGxpbmcgZWZmaWNpZW5jaWVzIGRlZmluZWQgaW4gdGVybXMgb2YgdGhlcm1vZHluYW1pYyBkaWFtZXRlciBjaGFyYWN0ZXJpemluZyB0aGUgZGlmZnVzaXZlIChCcm93bmlhbikgbW90aW9uIG9mIHN1Yi1taWNyb21ldHJlIHBhcnRpY2xlcyBhbmQgZm91ciBlZmZpY2llbmNpZXMgaW4gdGVybXMgb2YgYWVyb2R5bmFtaWMgZGlhbWV0ZXIg74C+MCwxIM68bSBjaGFyYWN0ZXJpemluZyBkZXBvc2l0aW9uIGJ5IGltcGFjdGlvbiwgaW50ZXJjZXB0aW9uIG9yIGdyYXZpdGF0aW9uYWwgc2V0dGxpbmcuIEVhY2ggY29udmVudGlvbmFsIGN1cnZlIGhhcyBiZWVuIGRldmVsb3BlZCBhcyBhbiBhdmVyYWdlIG9mIDEyIGRlcG9zaXRpb24gY3VydmVzIGNvcnJlc3BvbmRpbmcgdG8gMTIgYnJlYXRoaW5nIGNvbmRpdGlvbnMgcmFuZ2luZyBmcm9tIHNpdHRpbmcgdG8gaGVhdnkgZXhlcmNpc2UsIG1hbGUgdnMgZmVtYWxlLCBhbmQgYnJlYXRoaW5nIG1vZGUgKG1vdXRoIHZzIG5hc2FsIGJyZWF0aGluZykuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDA2IiwidXVpZCI6ImUzMWRlN2YzLTI2ODctNGI1Yi04NmJiLTUwNzZkNzNmMDdlZiIsInRpdGxlIjoiSVNPIDEzMTIzOjIwMTEgTWV0YWxsaWMgYW5kIG90aGVyIGlub3JnYW5pYyBjb2F0aW5ncyDigJQgVGVzdCBtZXRob2Qgb2YgY3ljbGljIGhlYXRpbmcgZm9yIHRoZXJtYWwtYmFycmllciBjb2F0aW5ncyB1bmRlciB0ZW1wZXJhdHVyZSBncmFkaWVudCIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEyMzoyMDExIGFwcGxpZXMgdG8gdGhlIHRlc3QgbWV0aG9kIG9mIGN5Y2xpYyBoZWF0aW5nIHRvIGV2YWx1YXRlIHRoZSB0aGVybWFsLWJhcnJpZXIgcGVyZm9ybWFuY2UgYW5kIGN5Y2xpYyBoZWF0IHJlc2lzdGFuY2Ugb2YgdGhlIHRoZXJtYWwtYmFycmllciBjb2F0aW5ncyBwcm92aWRlZCBmb3IgaGlnaC10ZW1wZXJhdHVyZSBjb21wb25lbnRzLCBzdWNoIGFzIGJ1cm5lcnMsIHJvdG9yIGFuZCBzdGF0b3IgYmxhZGVzLCBldGMuIG9mIHBvd2VyLWdlbmVyYXRpb24gZ2FzIHR1cmJpbmVzIHVzZWQgaW4gdGhlcm1hbCBwb3dlciBwbGFudHMsIGFpcmNyYWZ0IGVuZ2luZXMgYW5kIHJvY2tldCBlbmdpbmVzLiAiLCJvYmplY3RJRCI6IjUzMDA2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIzOjIwMTEgTWV0YWxsaWMgYW5kIG90aGVyIGlub3JnYW5pYyBjb2F0aW5ncyDigJQgVGVzdCBtZXRob2Qgb2YgY3ljbGljIGhlYXRpbmcgZm9yIHRoZXJtYWwtYmFycmllciBjb2F0aW5ncyB1bmRlciB0ZW1wZXJhdHVyZSBncmFkaWVudCIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjM6MjAxMSBhcHBsaWVzIHRvIHRoZSB0ZXN0IG1ldGhvZCBvZiBjeWNsaWMgaGVhdGluZyB0byBldmFsdWF0ZSB0aGUgdGhlcm1hbC1iYXJyaWVyIHBlcmZvcm1hbmNlIGFuZCBjeWNsaWMgaGVhdCByZXNpc3RhbmNlIG9mIHRoZSB0aGVybWFsLWJhcnJpZXIgY29hdGluZ3MgcHJvdmlkZWQgZm9yIGhpZ2gtdGVtcGVyYXR1cmUgY29tcG9uZW50cywgc3VjaCBhcyBidXJuZXJzLCByb3RvciBhbmQgc3RhdG9yIGJsYWRlcywgZXRjLiBvZiBwb3dlci1nZW5lcmF0aW9uIGdhcyB0dXJiaW5lcyB1c2VkIGluIHRoZXJtYWwgcG93ZXIgcGxhbnRzLCBhaXJjcmFmdCBlbmdpbmVzIGFuZCByb2NrZXQgZW5naW5lcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvOTgvNzk4MjciLCJ1dWlkIjoiOTkzNzFjODEtMTNlOC00NDk3LTkyNTAtNjg0NjAwN2VhYzZkIiwidGl0bGUiOiJJU08gMTMxNzktMToyMDIxIEltcGxhbnRzIGZvciBzdXJnZXJ5IOKAlCBDb2F0aW5ncyBvbiBtZXRhbGxpYyBzdXJnaWNhbCBpbXBsYW50cyDigJQgUGFydCAxOiBQbGFzbWEtc3ByYXllZCBjb2F0aW5ncyBkZXJpdmVkIGZyb20gdGl0YW5pdW0gb3IgdGl0YW5pdW0tNiBhbHVtaW51bS00IHZhbmFkaXVtIGFsbG95IHBvd2RlcnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBnZW5lcmFsIHJlcXVpcmVtZW50cyBmb3IgcGxhc21hLXNwcmF5ZWQgdGl0YW5pdW0gY29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMuIFRoaXMgZG9jdW1lbnQgYXBwbGllcyB0byBhdG1vc3BoZXJpYyBwbGFzbWEgc3ByYXlpbmcgYW5kIHZhY3V1bSBwbGFzbWEgc3ByYXlpbmcuIFRoaXMgZG9jdW1lbnQgZG9lcyBub3QgYXBwbHkgdG8gY29hdGluZ3MgbWFkZSBvZiBvdGhlciBtYXRlcmlhbHMgdGhhbiB0aXRhbml1bSBvciB0aXRhbml1bS02IGFsdW1pbnVtLTQgdmFuYWRpdW0gYWxsb3kgb3IgdG8gY29hdGluZ3MgcmVhbGl6ZWQgYnkgYW5vdGhlciB0ZWNobm9sb2d5IHRoYW4gcGxhc21hIHNwcmF5aW5nLiBOT1RFwqDCoMKgwqDCoMKgIEEgcXVhbGl0eSBtYW5hZ2VtZW50IHN5c3RlbSBjYW4gYmUgdXNlZnVsLCBlLmcuIGFzIGRlc2NyaWJlZCBpbiBJU0/CoDEzNDg1LiBSZXF1aXJlbWVudHMgZm9yIHRoZSBjb21wZXRlbmNlIG9mIHRlc3RpbmcgbGFib3JhdG9yaWVzIGNhbiBiZSBmb3VuZCBpbiBJU08vSUVDwqAxNzAyNS4gIiwib2JqZWN0SUQiOiI3OTgyN18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43OS0xOjIwMjEgSW1wbGFudHMgZm9yIHN1cmdlcnkg4oCUIENvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzIOKAlCBQYXJ0IDE6IFBsYXNtYS1zcHJheWVkIGNvYXRpbmdzIGRlcml2ZWQgZnJvbSB0aXRhbml1bSBvciB0aXRhbml1bS02IGFsdW1pbnVtLTQgdmFuYWRpdW0gYWxsb3kgcG93ZGVycyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBnZW5lcmFsIHJlcXVpcmVtZW50cyBmb3IgcGxhc21hLXNwcmF5ZWQgdGl0YW5pdW0gY29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMuIFRoaXMgZG9jdW1lbnQgYXBwbGllcyB0byBhdG1vc3BoZXJpYyBwbGFzbWEgc3ByYXlpbmcgYW5kIHZhY3V1bSBwbGFzbWEgc3ByYXlpbmcuIFRoaXMgZG9jdW1lbnQgZG9lcyBub3QgYXBwbHkgdG8gY29hdGluZ3MgbWFkZSBvZiBvdGhlciBtYXRlcmlhbHMgdGhhbiB0aXRhbml1bSBvciB0aXRhbml1bS02IGFsdW1pbnVtLTQgdmFuYWRpdW0gYWxsb3kgb3IgdG8gY29hdGluZ3MgcmVhbGl6ZWQgYnkgYW5vdGhlciB0ZWNobm9sb2d5IHRoYW4gcGxhc21hIHNwcmF5aW5nLiBOT1RFwqDCoMKgwqDCoMKgIEEgcXVhbGl0eSBtYW5hZ2VtZW50IHN5c3RlbSBjYW4gYmUgdXNlZnVsLCBlLmcuIGFzIGRlc2NyaWJlZCBpbiA8ZW0+SVNPPC9lbT7CoDEzNDg1LiBSZXF1aXJlbWVudHMgZm9yIHRoZSBjb21wZXRlbmNlIG9mIHRlc3RpbmcgbGFib3JhdG9yaWVzIGNhbiBiZSBmb3VuZCBpbiA8ZW0+SVNPPC9lbT4vSUVDwqAxNzAyNS4gIiwibWF0Y2hMZXZlbCI6InBhcnRpYWwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvODgvNzg4NDUiLCJ1dWlkIjoiNTEwYTdiNWUtYzEzZS00ZGUzLWI5Y2EtMTZkOTQ2NjU4YWVmIiwidGl0bGUiOiJJU08gMTMxNjM6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBMZWFkLTIxMCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIDIxMCBQYiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXJzIGJ5IGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIChMU0MpLiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGVzdCBzYW1wbGVzIG9mIHN1cHBseS9kcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBpcyBuZWNlc3NhcnkuIExlYWTigJEyMTAgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiB0aGUgZW52aXJvbm1lbnQgY2FuIHZhcnkgYW5kIHVzdWFsbHkgcmFuZ2VzIGZyb20gMsKgbUJxwqBsIC0xIHRvwqAzMDDCoG1CccKgbCAtMSBbMjddWzI4XSAuIFVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMsIHRoZSBsaW1pdCBvZiBkZXRlY3Rpb24gb2YgdGhpcyBtZXRob2QgZm9ywqAgMjEwIFBiIGlzIGdlbmVyYWxseSBvZiB0aGUgb3JkZXIgb2YgMjDCoG1CccKgbCAtMSB0byA1MMKgbUJxwqBsIC0xICwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoG1CcSBsIOKIkjEgKS4gWzRdWzZdIFRoZXNlIHZhbHVlcyBjYW4gYmUgYWNoaWV2ZWQgd2l0aCBhIGNvdW50aW5nIHRpbWUgYmV0d2VlbiAxODDCoG1pbiBhbmQgNzIwwqBtaW4gZm9yIGEgc2FtcGxlIHZvbHVtZSBmcm9tIDAsNcKgbCB0byAxLDXCoGwuIEhpZ2hlciBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjYW4gYmUgbWVhc3VyZWQgYnkgZWl0aGVyIGRpbHV0aW5nIHRoZSBzYW1wbGUgb3IgdXNpbmcgc21hbGxlciBzYW1wbGUgYWxpcXVvdHMgb3IgYm90aC4gVGhlIG1ldGhvZCBwcmVzZW50ZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBub3QgaW50ZW5kZWQgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIGFuIHVsdHJhLXRyYWNlIGFtb3VudCBvZiAyMTAgUGIuIFRoZSByYW5nZSBvZiBhcHBsaWNhdGlvbiBkZXBlbmRzIG9uIHRoZSBhbW91bnQgb2YgZGlzc29sdmVkIG1hdGVyaWFsIGluIHRoZSB3YXRlciBhbmQgb24gdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgbWVhc3VyZW1lbnQgZXF1aXBtZW50IChiYWNrZ3JvdW5kIGNvdW50IHJhdGUgYW5kIGNvdW50aW5nIGVmZmljaWVuY3kpLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGlzIGFwcGxpY2FibGUgdG8gYW4gZW1lcmdlbmN5IHNpdHVhdGlvbi4gVGhlIGFuYWx5c2lzIG9mIFBiIGFkc29yYmVkIHRvIHN1c3BlbmRlZCBtYXR0ZXIgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBtZXRob2QuIEl0IGlzIHRoZSB1c2Vy4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwib2JqZWN0SUQiOiI3ODg0NV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MzoyMDIxIFdhdGVyIHF1YWxpdHkg4oCUIExlYWQtMjEwIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIDIxMCBQYiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXJzIGJ5IGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIChMU0MpLiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGVzdCBzYW1wbGVzIG9mIHN1cHBseS9kcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIgYWZ0ZXIgcHJvcGVyIHNhbXBsaW5nIGFuZCBoYW5kbGluZywgYW5kIHRlc3Qgc2FtcGxlIHByZXBhcmF0aW9uLiBGaWx0cmF0aW9uIG9mIHRoZSB0ZXN0IHNhbXBsZSBpcyBuZWNlc3NhcnkuIExlYWTigJEyMTAgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiB0aGUgZW52aXJvbm1lbnQgY2FuIHZhcnkgYW5kIHVzdWFsbHkgcmFuZ2VzIGZyb20gMsKgbUJxwqBsIC0xIHRvwqAzMDDCoG1CccKgbCAtMSBbMjddWzI4XSAuIFVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMsIHRoZSBsaW1pdCBvZiBkZXRlY3Rpb24gb2YgdGhpcyBtZXRob2QgZm9ywqAgMjEwIFBiIGlzIGdlbmVyYWxseSBvZiB0aGUgb3JkZXIgb2YgMjDCoG1CccKgbCAtMSB0byA1MMKgbUJxwqBsIC0xICwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDDCoG1CcSBsIOKIkjEgKS4gWzRdWzZdIFRoZXNlIHZhbHVlcyBjYW4gYmUgYWNoaWV2ZWQgd2l0aCBhIGNvdW50aW5nIHRpbWUgYmV0d2VlbiAxODDCoG1pbiBhbmQgNzIwwqBtaW4gZm9yIGEgc2FtcGxlIHZvbHVtZSBmcm9tIDAsNcKgbCB0byAxLDXCoGwuIEhpZ2hlciBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjYW4gYmUgbWVhc3VyZWQgYnkgZWl0aGVyIGRpbHV0aW5nIHRoZSBzYW1wbGUgb3IgdXNpbmcgc21hbGxlciBzYW1wbGUgYWxpcXVvdHMgb3IgYm90aC4gVGhlIG1ldGhvZCBwcmVzZW50ZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBub3QgaW50ZW5kZWQgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIGFuIHVsdHJhLXRyYWNlIGFtb3VudCBvZiAyMTAgUGIuIFRoZSByYW5nZSBvZiBhcHBsaWNhdGlvbiBkZXBlbmRzIG9uIHRoZSBhbW91bnQgb2YgZGlzc29sdmVkIG1hdGVyaWFsIGluIHRoZSB3YXRlciBhbmQgb24gdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgbWVhc3VyZW1lbnQgZXF1aXBtZW50IChiYWNrZ3JvdW5kIGNvdW50IHJhdGUgYW5kIGNvdW50aW5nIGVmZmljaWVuY3kpLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGlzIGFwcGxpY2FibGUgdG8gYW4gZW1lcmdlbmN5IHNpdHVhdGlvbi4gVGhlIGFuYWx5c2lzIG9mIFBiIGFkc29yYmVkIHRvIHN1c3BlbmRlZCBtYXR0ZXIgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBtZXRob2QuIEl0IGlzIHRoZSB1c2Vy4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvODIvNzgyMDUiLCJ1dWlkIjoiYWUzYzkwZmUtNTI2NS00NDc0LTk5M2MtM2VlM2EyNDdkZTMxIiwidGl0bGUiOiJJU08gMTMxNjA6MjAyMSBXYXRlciBxdWFsaXR5IOKAlCBTdHJvbnRpdW0gOTAgYW5kIHN0cm9udGl1bSA4OSDigJQgVGVzdCBtZXRob2RzIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG9yIHByb3BvcnRpb25hbCBjb3VudGluZyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGNvbmRpdGlvbnMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIDkwIFNyIGFuZCA4OSBTciBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgZW52aXJvbm1lbnRhbCB3YXRlciB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKSBvciBwcm9wb3J0aW9uYWwgY291bnRpbmcgKFBDKS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBkcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIG1hcmluZSB3YXRlciwgYXMgd2VsbCBhcyBjb29saW5nIHdhdGVyLCBpbmR1c3RyaWFsIHdhdGVyLCBkb21lc3RpYywgYW5kIGluZHVzdHJpYWwgd2FzdGV3YXRlciBhZnRlciBwcm9wZXIgc2FtcGxpbmcgYW5kIGhhbmRsaW5nLCBhbmQgdGVzdCBzYW1wbGUgcHJlcGFyYXRpb24uIEZpbHRyYXRpb24gb2YgdGhlIHRlc3Qgc2FtcGxlIGFuZCBhIGNoZW1pY2FsIHNlcGFyYXRpb24gYXJlIHJlcXVpcmVkIHRvIHNlcGFyYXRlIGFuZCBwdXJpZnkgc3Ryb250aXVtIGZyb20gYSB0ZXN0IHBvcnRpb24gb2YgdGhlIHNhbXBsZS4gVGhlIGRldGVjdGlvbiBsaW1pdCBkZXBlbmRzIG9uIHRoZSBzYW1wbGUgdm9sdW1lLCB0aGUgaW5zdHJ1bWVudCB1c2VkLCB0aGUgc2FtcGxlIGNvdW50IHRpbWUsIHRoZSBiYWNrZ3JvdW5kIGNvdW50IHJhdGUsIHRoZSBkZXRlY3Rpb24gZWZmaWNpZW5jeSBhbmQgdGhlIGNoZW1pY2FsIHlpZWxkLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LCB1c2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIExTQyBjb3VudGVycywgaGFzIGEgZGV0ZWN0aW9uIGxpbWl0IG9mIGFwcHJveGltYXRlbHkgMTDCoG1CcSBsIOKIkjEgYW5kIDLCoG1CcSBsIOKIkjEgZm9yIDg5IFNyIGFuZCA5MCBTciwgcmVzcGVjdGl2ZWx5LCB3aGljaCBpcyBsb3dlciB0aGFuIHRoZSBXSE8gY3JpdGVyaWEgZm9yIHNhZmUgY29uc3VtcHRpb24gb2YgZHJpbmtpbmcgd2F0ZXIgKDEwMMKgQnHCt2wg4oiSMSBmb3IgODkgU3IgYW5kIDEwwqBCccK3bCDiiJIxIGZvciA5MCBTcikgWyAzIF0gLiBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIDHCoDAwMMKgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgb2YgMsKgbC4gVGhlIG1ldGhvZHMgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgYXJlIGFwcGxpY2FibGUgaW4gdGhlIGV2ZW50IG9mIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24uIFdoZW4gZmFsbG91dCBvY2N1cnMgZm9sbG93aW5nIGEgbnVjbGVhciBhY2NpZGVudCwgdGhlIGNvbnRyaWJ1dGlvbiBvZiA4OSBTciB0byB0aGUgdG90YWwgYW1vdW50IG9mIHJhZGlvYWN0aXZlIHN0cm9udGl1bSBpcyBub3QgbmVnbGlnaWJsZS4gVGhpcyBkb2N1bWVudCBwcm92aWRlcyB0ZXN0IG1ldGhvZHMgdG8gZGV0ZXJtaW5lIHRoZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIDkwIFNyIGluIHByZXNlbmNlIG9mIDg5IFNyLiBUaGUgYW5hbHlzaXMgb2YgOTAgU3IgYW5kIDg5IFNyIGFkc29yYmVkIHRvIHN1c3BlbmRlZCBtYXR0ZXIgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBtZXRob2QuIEl0IGlzIHRoZSB1c2Vy4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2Qgc2VsZWN0ZWQgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwib2JqZWN0SUQiOiI3ODIwNV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MDoyMDIxIFdhdGVyIHF1YWxpdHkg4oCUIFN0cm9udGl1bSA5MCBhbmQgc3Ryb250aXVtIDg5IOKAlCBUZXN0IG1ldGhvZHMgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgb3IgcHJvcG9ydGlvbmFsIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGNvbmRpdGlvbnMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIDkwIFNyIGFuZCA4OSBTciBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgZW52aXJvbm1lbnRhbCB3YXRlciB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKSBvciBwcm9wb3J0aW9uYWwgY291bnRpbmcgKFBDKS4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBkcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIG1hcmluZSB3YXRlciwgYXMgd2VsbCBhcyBjb29saW5nIHdhdGVyLCBpbmR1c3RyaWFsIHdhdGVyLCBkb21lc3RpYywgYW5kIGluZHVzdHJpYWwgd2FzdGV3YXRlciBhZnRlciBwcm9wZXIgc2FtcGxpbmcgYW5kIGhhbmRsaW5nLCBhbmQgdGVzdCBzYW1wbGUgcHJlcGFyYXRpb24uIEZpbHRyYXRpb24gb2YgdGhlIHRlc3Qgc2FtcGxlIGFuZCBhIGNoZW1pY2FsIHNlcGFyYXRpb24gYXJlIHJlcXVpcmVkIHRvIHNlcGFyYXRlIGFuZCBwdXJpZnkgc3Ryb250aXVtIGZyb20gYSB0ZXN0IHBvcnRpb24gb2YgdGhlIHNhbXBsZS4gVGhlIGRldGVjdGlvbiBsaW1pdCBkZXBlbmRzIG9uIHRoZSBzYW1wbGUgdm9sdW1lLCB0aGUgaW5zdHJ1bWVudCB1c2VkLCB0aGUgc2FtcGxlIGNvdW50IHRpbWUsIHRoZSBiYWNrZ3JvdW5kIGNvdW50IHJhdGUsIHRoZSBkZXRlY3Rpb24gZWZmaWNpZW5jeSBhbmQgdGhlIGNoZW1pY2FsIHlpZWxkLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LCB1c2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIExTQyBjb3VudGVycywgaGFzIGEgZGV0ZWN0aW9uIGxpbWl0IG9mIGFwcHJveGltYXRlbHkgMTDCoG1CcSBsIOKIkjEgYW5kIDLCoG1CcSBsIOKIkjEgZm9yIDg5IFNyIGFuZCA5MCBTciwgcmVzcGVjdGl2ZWx5LCB3aGljaCBpcyBsb3dlciB0aGFuIHRoZSBXSE8gY3JpdGVyaWEgZm9yIHNhZmUgY29uc3VtcHRpb24gb2YgZHJpbmtpbmcgd2F0ZXIgKDEwMMKgQnHCt2wg4oiSMSBmb3IgODkgU3IgYW5kIDEwwqBCccK3bCDiiJIxIGZvciA5MCBTcikgWyAzIF0gLiBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIDHCoDAwMMKgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgb2YgMsKgbC4gVGhlIG1ldGhvZHMgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgYXJlIGFwcGxpY2FibGUgaW4gdGhlIGV2ZW50IG9mIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24uIFdoZW4gZmFsbG91dCBvY2N1cnMgZm9sbG93aW5nIGEgbnVjbGVhciBhY2NpZGVudCwgdGhlIGNvbnRyaWJ1dGlvbiBvZiA4OSBTciB0byB0aGUgdG90YWwgYW1vdW50IG9mIHJhZGlvYWN0aXZlIHN0cm9udGl1bSBpcyBub3QgbmVnbGlnaWJsZS4gVGhpcyBkb2N1bWVudCBwcm92aWRlcyB0ZXN0IG1ldGhvZHMgdG8gZGV0ZXJtaW5lIHRoZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIDkwIFNyIGluIHByZXNlbmNlIG9mIDg5IFNyLiBUaGUgYW5hbHlzaXMgb2YgOTAgU3IgYW5kIDg5IFNyIGFkc29yYmVkIHRvIHN1c3BlbmRlZCBtYXR0ZXIgaXMgbm90IGNvdmVyZWQgYnkgdGhpcyBtZXRob2QuIEl0IGlzIHRoZSB1c2Vy4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2Qgc2VsZWN0ZWQgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvNTkvNzU5NjIiLCJ1dWlkIjoiMzI2YzQ4YjktNTUzNi00NmMzLThmZWItNDk4OWM0MjYyNTI5IiwidGl0bGUiOiJJU08gMTMxMzE6MjAyMSBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIFRlbGVoZWFsdGggc2VydmljZXMg4oCUIFF1YWxpdHkgcGxhbm5pbmcgZ3VpZGVsaW5lcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgcHJvY2Vzc2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYW5hbHl6ZSB0aGUgcmlza3MgdG8gdGhlIHF1YWxpdHkgYW5kIHNhZmV0eSBvZiBoZWFsdGhjYXJlIGFuZCBjb250aW51aXR5IG9mIGNhcmUgd2hlbiB0ZWxlaGVhbHRoIHNlcnZpY2VzIGFyZSB1c2VkIHRvIHN1cHBvcnQgaGVhbHRoY2FyZSBhY3Rpdml0aWVzLiBVc2luZyByaXNrIG1hbmFnZW1lbnQgcHJvY2Vzc2VzLCBxdWFsaXR5IG9iamVjdGl2ZXMgYW5kIHByb2NlZHVyZXMgYXJlIGRlcml2ZWQgd2hpY2ggcHJvdmlkZSBndWlkZWxpbmVzIGZvciB0aGUgb3BlcmF0aW9ucyBvZiB0ZWxlaGVhbHRoIHNlcnZpY2VzLiBUaGVzZSBpbmNsdWRlIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8gdGhlIGZvbGxvd2luZyBkb21haW5zOiDigJTCoMKgwqAgbWFuYWdlbWVudCBvZiB0ZWxlaGVhbHRoIHF1YWxpdHkgcHJvY2Vzc2VzIGJ5IHRoZSBoZWFsdGhjYXJlIG9yZ2FuaXphdGlvbjsg4oCUwqDCoMKgIHN0cmF0ZWdpYyBhbmQgb3BlcmF0aW9uYWwgcHJvY2VzcyBtYW5hZ2VtZW50IHJlbGF0aW5nIHRvIHJlZ3VsYXRpb25zLCBrbm93bGVkZ2UgbWFuYWdlbWVudCAoYmVzdCBwcmFjdGljZSkgYW5kIGd1aWRlbGluZXM7IOKAlMKgwqDCoCBoZWFsdGhjYXJlIHByb2Nlc3NlcyByZWxhdGluZyB0byBwZW9wbGUgc3VjaCBhcyBoZWFsdGhjYXJlIGFjdGl2aXRpZXMsIHBsYW5uaW5nLCBhbmQgcmVzcG9uc2liaWxpdGllczsg4oCUwqDCoMKgIG1hbmFnZW1lbnQgb2YgZmluYW5jaWFsIHJlc291cmNlcyB0byBzdXBwb3J0IHRlbGVoZWFsdGggc2VydmljZXM7IOKAlMKgwqDCoCBtYW5hZ2VtZW50IG9mIGluZm9ybWF0aW9uIG1hbmFnZW1lbnQgYW5kIHNlY3VyaXR5IHVzZWQgaW4gdGVsZWhlYWx0aCBzZXJ2aWNlczsg4oCUwqDCoMKgIHByb2Nlc3NlcyByZWxhdGVkIHRvIHRoZSBwbGFubmluZyBhbmQgcHJvdmlzaW9uIG9mIGh1bWFuIHJlc291cmNlcywgaW5mcmFzdHJ1Y3R1cmUsIGZhY2lsaXRpZXMgYW5kIHRlY2hub2xvZ3kgcmVzb3VyY2VzIGZvciB1c2UgYnkgdGVsZWhlYWx0aCBzZXJ2aWNlcy4gVGhpcyBkb2N1bWVudCBwcm92aWRlcyBhIHNldCBvZiBleGFtcGxlIGd1aWRlbGluZXMgY29udGFpbmluZyBxdWFsaXR5IG9iamVjdGl2ZXMgYW5kIHByb2NlZHVyZXMgZm9yIGVhY2ggZG9tYWluLiBPcmdhbml6YXRpb25zIGNhbiBhcHBseSB0aGUgcXVhbGl0eSBhbmQgcmlzayBtYW5hZ2VtZW50IHByb2Nlc3NlcyBkZXNjcmliZWQgaW4gQ2xhdXNlc8KgNSBhbmQgNiB0byBkZXZlbG9wIHF1YWxpdHkgb2JqZWN0aXZlcyBhbmQgcHJvY2VkdXJlcyBhcHByb3ByaWF0ZSB0byB0aGUgdGVsZWhlYWx0aCBzZXJ2aWNlcyB0aGV5IHByb3ZpZGUuIFRoaXMgZG9jdW1lbnQgZG9lcyBub3QgcHJvdmlkZSBndWlkYW5jZSBmb3IgdGhlIG1hbnVmYWN0dXJlLCBhc3NlbWJseSwgY29uZmlndXJhdGlvbiwgaW50ZXJvcGVyYWJpbGl0eSBvciBtYW5hZ2VtZW50IG9mIGRldmljZXMsIHByb2R1Y3RzIG9yIHRlY2huaWNhbCBzeXN0ZW1zLiBBbm5leMKgQSBwcm92aWRlcyBwcm9jZWR1cmVzIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGVsZWhlYWx0aCBzZXJ2aWNlcyBieSBhIGxhcmdlIG9yZ2FuaXphdGlvbi4gQW5uZXjCoEIgcHJvdmlkZXMgdXNlIGNhc2VzIGZvciB0aGUgYXBwbGljYXRpb24gb2YgcXVhbGl0eSBwbGFubmluZyBndWlkZWxpbmVzIGluIGRpZmZlcmVudCB0eXBlcyBvZiByZWFsLXdvcmxkIHRlbGVoZWFsdGggc2VydmljZXMuICIsIm9iamVjdElEIjoiNzU5NjJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzE6MjAyMSBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIFRlbGVoZWFsdGggc2VydmljZXMg4oCUIFF1YWxpdHkgcGxhbm5pbmcgZ3VpZGVsaW5lcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHByb3ZpZGVzIHByb2Nlc3NlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFuYWx5emUgdGhlIHJpc2tzIHRvIHRoZSBxdWFsaXR5IGFuZCBzYWZldHkgb2YgaGVhbHRoY2FyZSBhbmQgY29udGludWl0eSBvZiBjYXJlIHdoZW4gdGVsZWhlYWx0aCBzZXJ2aWNlcyBhcmUgdXNlZCB0byBzdXBwb3J0IGhlYWx0aGNhcmUgYWN0aXZpdGllcy4gVXNpbmcgcmlzayBtYW5hZ2VtZW50IHByb2Nlc3NlcywgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGFyZSBkZXJpdmVkIHdoaWNoIHByb3ZpZGUgZ3VpZGVsaW5lcyBmb3IgdGhlIG9wZXJhdGlvbnMgb2YgdGVsZWhlYWx0aCBzZXJ2aWNlcy4gVGhlc2UgaW5jbHVkZSBidXQgYXJlIG5vdCBsaW1pdGVkIHRvIHRoZSBmb2xsb3dpbmcgZG9tYWluczog4oCUwqDCoMKgIG1hbmFnZW1lbnQgb2YgdGVsZWhlYWx0aCBxdWFsaXR5IHByb2Nlc3NlcyBieSB0aGUgaGVhbHRoY2FyZSBvcmdhbml6YXRpb247IOKAlMKgwqDCoCBzdHJhdGVnaWMgYW5kIG9wZXJhdGlvbmFsIHByb2Nlc3MgbWFuYWdlbWVudCByZWxhdGluZyB0byByZWd1bGF0aW9ucywga25vd2xlZGdlIG1hbmFnZW1lbnQgKGJlc3QgcHJhY3RpY2UpIGFuZCBndWlkZWxpbmVzOyDigJTCoMKgwqAgaGVhbHRoY2FyZSBwcm9jZXNzZXMgcmVsYXRpbmcgdG8gcGVvcGxlIHN1Y2ggYXMgaGVhbHRoY2FyZSBhY3Rpdml0aWVzLCBwbGFubmluZywgYW5kIHJlc3BvbnNpYmlsaXRpZXM7IOKAlMKgwqDCoCBtYW5hZ2VtZW50IG9mIGZpbmFuY2lhbCByZXNvdXJjZXMgdG8gc3VwcG9ydCB0ZWxlaGVhbHRoIHNlcnZpY2VzOyDigJTCoMKgwqAgbWFuYWdlbWVudCBvZiBpbmZvcm1hdGlvbiBtYW5hZ2VtZW50IGFuZCBzZWN1cml0eSB1c2VkIGluIHRlbGVoZWFsdGggc2VydmljZXM7IOKAlMKgwqDCoCBwcm9jZXNzZXMgcmVsYXRlZCB0byB0aGUgcGxhbm5pbmcgYW5kIHByb3Zpc2lvbiBvZiBodW1hbiByZXNvdXJjZXMsIGluZnJhc3RydWN0dXJlLCBmYWNpbGl0aWVzIGFuZCB0ZWNobm9sb2d5IHJlc291cmNlcyBmb3IgdXNlIGJ5IHRlbGVoZWFsdGggc2VydmljZXMuIFRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgYSBzZXQgb2YgZXhhbXBsZSBndWlkZWxpbmVzIGNvbnRhaW5pbmcgcXVhbGl0eSBvYmplY3RpdmVzIGFuZCBwcm9jZWR1cmVzIGZvciBlYWNoIGRvbWFpbi4gT3JnYW5pemF0aW9ucyBjYW4gYXBwbHkgdGhlIHF1YWxpdHkgYW5kIHJpc2sgbWFuYWdlbWVudCBwcm9jZXNzZXMgZGVzY3JpYmVkIGluIENsYXVzZXPCoDUgYW5kIDYgdG8gZGV2ZWxvcCBxdWFsaXR5IG9iamVjdGl2ZXMgYW5kIHByb2NlZHVyZXMgYXBwcm9wcmlhdGUgdG8gdGhlIHRlbGVoZWFsdGggc2VydmljZXMgdGhleSBwcm92aWRlLiBUaGlzIGRvY3VtZW50IGRvZXMgbm90IHByb3ZpZGUgZ3VpZGFuY2UgZm9yIHRoZSBtYW51ZmFjdHVyZSwgYXNzZW1ibHksIGNvbmZpZ3VyYXRpb24sIGludGVyb3BlcmFiaWxpdHkgb3IgbWFuYWdlbWVudCBvZiBkZXZpY2VzLCBwcm9kdWN0cyBvciB0ZWNobmljYWwgc3lzdGVtcy4gQW5uZXjCoEEgcHJvdmlkZXMgcHJvY2VkdXJlcyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRlbGVoZWFsdGggc2VydmljZXMgYnkgYSBsYXJnZSBvcmdhbml6YXRpb24uIEFubmV4wqBCIHByb3ZpZGVzIHVzZSBjYXNlcyBmb3IgdGhlIGFwcGxpY2F0aW9uIG9mIHF1YWxpdHkgcGxhbm5pbmcgZ3VpZGVsaW5lcyBpbiBkaWZmZXJlbnQgdHlwZXMgb2YgcmVhbC13b3JsZCB0ZWxlaGVhbHRoIHNlcnZpY2VzLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy81OC83NTg1NyIsInV1aWQiOiI5MzQ0M2MwNi05ZDEwLTRiZjYtYTRkMS02YWRmMDc0OGY2YTMiLCJ0aXRsZSI6IklTTyAxMzE0MjoyMDIxIE9wdGljcyBhbmQgcGhvdG9uaWNzIOKAlCBMYXNlcnMgYW5kIGxhc2VyLXJlbGF0ZWQgZXF1aXBtZW50IOKAlCBDYXZpdHkgcmluZy1kb3duIG1ldGhvZCBmb3IgaGlnaC1yZWZsZWN0YW5jZSBhbmQgaGlnaC10cmFuc21pdHRhbmNlIG1lYXN1cmVtZW50cyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIG1lYXN1cmVtZW50IHByb2NlZHVyZXMgZm9yIHRoZSBwcmVjaXNlIGRldGVybWluYXRpb24gb2YgdGhlIGhpZ2ggcmVmbGVjdGFuY2Ugb3IgaGlnaCB0cmFuc21pdHRhbmNlICg+OTnCoCUpIG9mIG9wdGljYWwgbGFzZXIgY29tcG9uZW50cy4gVGhlIG1ldGhvZHMgZ2l2ZW4gaW4gdGhpcyBkb2N1bWVudCBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgdGhlIHRlc3RpbmcgYW5kIGNoYXJhY3Rlcml6YXRpb24gb2YgaGlnaCByZWZsZWN0YW5jZSBvZiBib3RoIGNvbmNhdmUgYW5kIHBsYW5lIG1pcnJvcnMgb3IgaGlnaCB0cmFuc21pdHRhbmNlIG9mIHBsYW5lIHdpbmRvd3MgdXNlZCBpbiBsYXNlciBzeXN0ZW1zIGFuZCBsYXNlci1iYXNlZCBpbnN0cnVtZW50cy4gVGhlIHJlZmxlY3RhbmNlIG9mIGNvbnZleCBtaXJyb3JzIG9yIHRyYW5zbWl0dGFuY2Ugb2YgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbGVuc2VzIGNhbiBhbHNvIGJlIHRlc3RlZCBieSB0YWtpbmcgaW50byBjb25zaWRlcmF0aW9uIHRoZSByYWRpdXMgb2YgY3VydmF0dXJlIG9mIHRoZSBtaXJyb3Igc3VyZmFjZSBvciB0aGUgZm9jYWwgbGVuZ3RoIG9mIHRoZSBsZW5zLiBUaGlzIGRvY3VtZW50IGlzIGNvbXBsZW1lbnRhcnkgdG8gSVNPwqAxNTM2OCB3aGljaCBzcGVjaWZpZXMgdGhlIG1lYXN1cmVtZW50IHByb2NlZHVyZXMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJlZmxlY3RhbmNlIGFuZCB0cmFuc21pdHRhbmNlIG9mIG9wdGljYWwgY29tcG9uZW50cyB3aXRoIHNwZWN0cm9waG90b21ldHJ5LiBJU0/CoDE1MzY4IGlzIGFwcGxpY2FibGUgdG8gdGhlIG1lYXN1cmVtZW50cyBvZiByZWZsZWN0YW5jZSBhbmQgdHJhbnNtaXR0YW5jZSBpbiB0aGUgcmFuZ2UgZnJvbSAwwqAlIHRvIDEwMMKgJSB3aXRoIGEgdHlwaWNhbCBhY2N1cmFjeSBvZiDCsTAsM8KgJSwgYW5kIGlzIHRoZXJlZm9yZSBub3QgYXBwbGljYWJsZSB0byB0aGUgcHJlY2lzZSBtZWFzdXJlbWVudHMgb2YgcmVmbGVjdGFuY2UgYW5kIHRyYW5zbWl0dGFuY2UgaGlnaGVyIHRoYW4gOTksOcKgJS4gIiwib2JqZWN0SUQiOiI3NTg1N18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MjoyMDIxIE9wdGljcyBhbmQgcGhvdG9uaWNzIOKAlCBMYXNlcnMgYW5kIGxhc2VyLXJlbGF0ZWQgZXF1aXBtZW50IOKAlCBDYXZpdHkgcmluZy1kb3duIG1ldGhvZCBmb3IgaGlnaC1yZWZsZWN0YW5jZSBhbmQgaGlnaC10cmFuc21pdHRhbmNlIG1lYXN1cmVtZW50cyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgcHJlY2lzZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBoaWdoIHJlZmxlY3RhbmNlIG9yIGhpZ2ggdHJhbnNtaXR0YW5jZSAoPjk5wqAlKSBvZiBvcHRpY2FsIGxhc2VyIGNvbXBvbmVudHMuIFRoZSBtZXRob2RzIGdpdmVuIGluIHRoaXMgZG9jdW1lbnQgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIHRoZSB0ZXN0aW5nIGFuZCBjaGFyYWN0ZXJpemF0aW9uIG9mIGhpZ2ggcmVmbGVjdGFuY2Ugb2YgYm90aCBjb25jYXZlIGFuZCBwbGFuZSBtaXJyb3JzIG9yIGhpZ2ggdHJhbnNtaXR0YW5jZSBvZiBwbGFuZSB3aW5kb3dzIHVzZWQgaW4gbGFzZXIgc3lzdGVtcyBhbmQgbGFzZXItYmFzZWQgaW5zdHJ1bWVudHMuIFRoZSByZWZsZWN0YW5jZSBvZiBjb252ZXggbWlycm9ycyBvciB0cmFuc21pdHRhbmNlIG9mIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGxlbnNlcyBjYW4gYWxzbyBiZSB0ZXN0ZWQgYnkgdGFraW5nIGludG8gY29uc2lkZXJhdGlvbiB0aGUgcmFkaXVzIG9mIGN1cnZhdHVyZSBvZiB0aGUgbWlycm9yIHN1cmZhY2Ugb3IgdGhlIGZvY2FsIGxlbmd0aCBvZiB0aGUgbGVucy4gVGhpcyBkb2N1bWVudCBpcyBjb21wbGVtZW50YXJ5IHRvIDxlbT5JU088L2VtPsKgMTUzNjggd2hpY2ggc3BlY2lmaWVzIHRoZSBtZWFzdXJlbWVudCBwcm9jZWR1cmVzIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByZWZsZWN0YW5jZSBhbmQgdHJhbnNtaXR0YW5jZSBvZiBvcHRpY2FsIGNvbXBvbmVudHMgd2l0aCBzcGVjdHJvcGhvdG9tZXRyeS4gPGVtPklTTzwvZW0+wqAxNTM2OCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBtZWFzdXJlbWVudHMgb2YgcmVmbGVjdGFuY2UgYW5kIHRyYW5zbWl0dGFuY2UgaW4gdGhlIHJhbmdlIGZyb20gMMKgJSB0byAxMDDCoCUgd2l0aCBhIHR5cGljYWwgYWNjdXJhY3kgb2YgwrEwLDPCoCUsIGFuZCBpcyB0aGVyZWZvcmUgbm90IGFwcGxpY2FibGUgdG8gdGhlIHByZWNpc2UgbWVhc3VyZW1lbnRzIG9mIHJlZmxlY3RhbmNlIGFuZCB0cmFuc21pdHRhbmNlIGhpZ2hlciB0aGFuIDk5LDnCoCUuICIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzU4Lzc1ODIxIiwidXVpZCI6IjA3NGQxMzc4LTJiMzUtNDUyNS1hYzdhLTY3ZGYwNzczMjgwYSIsInRpdGxlIjoiSVNPIDEzMTYyOjIwMjEgV2F0ZXIgcXVhbGl0eSDigJQgQ2FyYm9uIDE0IOKAlCBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBzYW1wbGVzIGJ5IGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIChMU0MpIGVpdGhlciBkaXJlY3RseSBvbiB0aGUgdGVzdCBzYW1wbGUgb3IgZm9sbG93aW5nIGEgY2hlbWljYWwgc2VwYXJhdGlvbi4gVGhlIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIHRlc3Qgc2FtcGxlcyBvZiBzdXBwbHkvZHJpbmtpbmcgd2F0ZXIsIHJhaW53YXRlciwgc3VyZmFjZSBhbmQgZ3JvdW5kIHdhdGVyLCBtYXJpbmUgd2F0ZXIsIGFzIHdlbGwgYXMgY29vbGluZyB3YXRlciwgaW5kdXN0cmlhbCB3YXRlciwgZG9tZXN0aWMsIGFuZCBpbmR1c3RyaWFsIHdhc3Rld2F0ZXIuIFRoZSBkZXRlY3Rpb24gbGltaXQgZGVwZW5kcyBvbiB0aGUgc2FtcGxlIHZvbHVtZSwgdGhlIGluc3RydW1lbnQgdXNlZCwgdGhlIHNhbXBsZSBjb3VudGluZyB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCByZWNvdmVyeS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBhbmQgc3VpdGFibGUgdGVjaG5pY2FsIGNvbmRpdGlvbnMsIGhhcyBhIGRldGVjdGlvbiBsaW1pdCBhcyBsb3cgYXMgMcKgQnHiiJlsIOKIkjEgLCB3aGljaCBpcyBsb3dlciB0aGFuIHRoZSBXSE8gY3JpdGVyaWEgZm9yIHNhZmUgY29uc3VtcHRpb24gb2YgZHJpbmtpbmcgd2F0ZXIgKDEwMMKgQnHCt2wgLTEgKS4gMTQgQyBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjYW4gYmUgbWVhc3VyZWQgdXAgdG8gMTAgNiDCoEJx4oiZbCAtMSB3aXRob3V0IGFueSBzYW1wbGUgZGlsdXRpb24uIEl0IGlzIHRoZSB1c2Vy4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwib2JqZWN0SUQiOiI3NTgyMV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MjoyMDIxIFdhdGVyIHF1YWxpdHkg4oCUIENhcmJvbiAxNCDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBtZXRob2QgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiAxNCBDIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYWxsIHR5cGVzIG9mIHdhdGVyIHNhbXBsZXMgYnkgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcgKExTQykgZWl0aGVyIGRpcmVjdGx5IG9uIHRoZSB0ZXN0IHNhbXBsZSBvciBmb2xsb3dpbmcgYSBjaGVtaWNhbCBzZXBhcmF0aW9uLiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGVzdCBzYW1wbGVzIG9mIHN1cHBseS9kcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIG1hcmluZSB3YXRlciwgYXMgd2VsbCBhcyBjb29saW5nIHdhdGVyLCBpbmR1c3RyaWFsIHdhdGVyLCBkb21lc3RpYywgYW5kIGluZHVzdHJpYWwgd2FzdGV3YXRlci4gVGhlIGRldGVjdGlvbiBsaW1pdCBkZXBlbmRzIG9uIHRoZSBzYW1wbGUgdm9sdW1lLCB0aGUgaW5zdHJ1bWVudCB1c2VkLCB0aGUgc2FtcGxlIGNvdW50aW5nIHRpbWUsIHRoZSBiYWNrZ3JvdW5kIGNvdW50IHJhdGUsIHRoZSBkZXRlY3Rpb24gZWZmaWNpZW5jeSBhbmQgdGhlIGNoZW1pY2FsIHJlY292ZXJ5LiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LCB1c2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzIGFuZCBzdWl0YWJsZSB0ZWNobmljYWwgY29uZGl0aW9ucywgaGFzIGEgZGV0ZWN0aW9uIGxpbWl0IGFzIGxvdyBhcyAxwqBCceKImWwg4oiSMSAsIHdoaWNoIGlzIGxvd2VyIHRoYW4gdGhlIFdITyBjcml0ZXJpYSBmb3Igc2FmZSBjb25zdW1wdGlvbiBvZiBkcmlua2luZyB3YXRlciAoMTAwwqBCccK3bCAtMSApLiAxNCBDIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGNhbiBiZSBtZWFzdXJlZCB1cCB0byAxMCA2IMKgQnHiiJlsIC0xIHdpdGhvdXQgYW55IHNhbXBsZSBkaWx1dGlvbi4gSXQgaXMgdGhlIHVzZXLigJlzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi80MS82NDE2NiIsInV1aWQiOiJiMjBmMTE0Mi1jNjAwLTQyMTAtOWYzMS02OGEwZTJiNjg3YzciLCJ0aXRsZSI6IklTTyAxMzE0MToyMDE1IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIExvY2FsaXNhdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiBmb3IgYXV0b25vbW91cyBzeXN0ZW1zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTQxOjIwMTUgZXN0YWJsaXNoZXMgcmVxdWlyZW1lbnRzIGZvciBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIGZvciB0aGUgcHVycG9zZXMgb2YgYXVnbWVudGluZyB0aGUgbG9jYWxpemF0aW9uIGluIGF1dG9ub21vdXMgZWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiAoRUZDKSBzeXN0ZW1zLiBMb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIHNlcnZlcyB0byBpbmZvcm0gb24tYm9hcmQgZXF1aXBtZW50IChPQkUpIGFib3V0IGdlb2dyYXBoaWNhbCBsb2NhdGlvbiBhbmQgdGhlIGlkZW50aWZpY2F0aW9uIG9mIGEgY2hhcmdlIG9iamVjdC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHNwZWNpZmllcyB0aGUgcHJvdmlzaW9uIG9mIGxvY2F0aW9uIGFuZCBoZWFkaW5nIGluZm9ybWF0aW9uIGFuZCBzZWN1cml0eSBtZWFucyB0byBwcm90ZWN0IGZyb20gdGhlIG1hbmlwdWxhdGlvbiBvZiB0aGUgT0JFIHdpdGggZmFsc2Ugcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpLiBUaGUgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIHRha2VzIHBsYWNlIGJldHdlZW4gYW4gT0JFIGluIGEgdmVoaWNsZSBhbmQgZml4ZWQgcm9hZHNpZGUgZXF1aXBtZW50LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgaXMgYXBwbGljYWJsZSB0byBPQkUgaW4gYW4gYXV0b25vbW91cyBtb2RlIG9mIG9wZXJhdGlvbi4gSVNPIDEzMTQxOjIwMTUgZGVmaW5lcyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgZm9yIHRoZSBwdXJwb3NlIG9mIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24sIGJ5IG1ha2luZyB1c2Ugb2YgdGhlIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9ucyAoRFNSQykgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBwcm92aWRlZCBieSBEU1JDIExheWVyIDcsIGFuZCBtYWtlcyB0aGVzZSBMQUMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGF2YWlsYWJsZSB0byB0aGUgTEFDIGFwcGxpY2F0aW9ucyBhdCB0aGUgUlNFIGFuZCB0aGUgT0JFLiBBdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXJlIGRlZmluZWQgb24gdGhlIGxldmVsIG9mIEFwcGxpY2F0aW9uIERhdGEgVW5pdHMgKEFEVXMsIHNlZSBGaWd1cmUgMSkuICIsIm9iamVjdElEIjoiNjQxNjZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDE6MjAxNSBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBMb2NhbGlzYXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gZm9yIGF1dG9ub21vdXMgc3lzdGVtcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDE6MjAxNSBlc3RhYmxpc2hlcyByZXF1aXJlbWVudHMgZm9yIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gZm9yIHRoZSBwdXJwb3NlcyBvZiBhdWdtZW50aW5nIHRoZSBsb2NhbGl6YXRpb24gaW4gYXV0b25vbW91cyBlbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIChFRkMpIHN5c3RlbXMuIExvY2FsaXphdGlvbiBhdWdtZW50YXRpb24gc2VydmVzIHRvIGluZm9ybSBvbi1ib2FyZCBlcXVpcG1lbnQgKE9CRSkgYWJvdXQgZ2VvZ3JhcGhpY2FsIGxvY2F0aW9uIGFuZCB0aGUgaWRlbnRpZmljYXRpb24gb2YgYSBjaGFyZ2Ugb2JqZWN0LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgc3BlY2lmaWVzIHRoZSBwcm92aXNpb24gb2YgbG9jYXRpb24gYW5kIGhlYWRpbmcgaW5mb3JtYXRpb24gYW5kIHNlY3VyaXR5IG1lYW5zIHRvIHByb3RlY3QgZnJvbSB0aGUgbWFuaXB1bGF0aW9uIG9mIHRoZSBPQkUgd2l0aCBmYWxzZSByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkuIFRoZSBsb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gdGFrZXMgcGxhY2UgYmV0d2VlbiBhbiBPQkUgaW4gYSB2ZWhpY2xlIGFuZCBmaXhlZCByb2Fkc2lkZSBlcXVpcG1lbnQuIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBpcyBhcHBsaWNhYmxlIHRvIE9CRSBpbiBhbiBhdXRvbm9tb3VzIG1vZGUgb2Ygb3BlcmF0aW9uLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDE6MjAxNSBkZWZpbmVzIGF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBmb3IgdGhlIHB1cnBvc2Ugb2YgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiwgYnkgbWFraW5nIHVzZSBvZiB0aGUgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb25zIChEU1JDKSBjb21tdW5pY2F0aW9uIHNlcnZpY2VzIHByb3ZpZGVkIGJ5IERTUkMgTGF5ZXIgNywgYW5kIG1ha2VzIHRoZXNlIExBQyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXZhaWxhYmxlIHRvIHRoZSBMQUMgYXBwbGljYXRpb25zIGF0IHRoZSBSU0UgYW5kIHRoZSBPQkUuIEF0dHJpYnV0ZXMgYW5kIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBvbiB0aGUgbGV2ZWwgb2YgQXBwbGljYXRpb24gRGF0YSBVbml0cyAoQURVcywgc2VlIEZpZ3VyZSAxKS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvMjQvNjI0MjQiLCJ1dWlkIjoiOTQxNWEzMDgtOTQwYS00MGRiLWI2YjYtNWMzYTMwMjZjOTNiIiwidGl0bGUiOiJJU08gMTMxNjQtNDoyMDE1IFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCA0OiBUZXN0IG1ldGhvZCB1c2luZyB0d28tcGhhc2UgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjQtNDoyMDE1IGRlc2NyaWJlcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgKCAyMjIgUm4pIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlcnMgYnkgZXh0cmFjdGlvbiBhbmQgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmcuIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGluc3RydW1lbnRzLCBhcmUgYXQgbGVhc3QgYWJvdmUgMCw1IEJxIGwg4oiSMSBmb3IgYSAxMCBtbCB0ZXN0IHNhbXBsZSBhbmQgYSBtZWFzdXJpbmcgdGltZSBvZiAxIGguIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIHVzZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZHJpbmtpbmcgd2F0ZXIgc2FtcGxlcyBhbmQgaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBsYWJvcmF0b3J5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gQW5uZXggQSBnaXZlcyBpbmRpY2F0aW9uIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBkZXRlY3Rpb24gbGltaXRzIGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nLiAiLCJvYmplY3RJRCI6IjYyNDI0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTQ6MjAxNSBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgNDogVGVzdCBtZXRob2QgdXNpbmcgdHdvLXBoYXNlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC00OjIwMTUgZGVzY3JpYmVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZG9uLTIyMiAoIDIyMiBSbikgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBub24tc2FsaW5lIHdhdGVycyBieSBleHRyYWN0aW9uIGFuZCBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gVGhlIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucywgd2hpY2ggY2FuIGJlIG1lYXN1cmVkIGJ5IHRoaXMgdGVzdCBtZXRob2QgdXRpbGl6aW5nIGN1cnJlbnRseSBhdmFpbGFibGUgaW5zdHJ1bWVudHMsIGFyZSBhdCBsZWFzdCBhYm92ZSAwLDUgQnEgbCDiiJIxIGZvciBhIDEwIG1sIHRlc3Qgc2FtcGxlIGFuZCBhIG1lYXN1cmluZyB0aW1lIG9mIDEgaC4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzIGFuZCBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGxhYm9yYXRvcnkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB3YXRlciBzYW1wbGVzIG9mIHVudGVzdGVkIG1hdHJpY2VzLiBBbm5leCBBIGdpdmVzIGluZGljYXRpb24gb24gdGhlIG5lY2Vzc2FyeSBjb3VudGluZyBjb25kaXRpb25zIHRvIG1lZXQgdGhlIHJlcXVpcmVkIGRldGVjdGlvbiBsaW1pdHMgZm9yIGRyaW5raW5nIHdhdGVyIG1vbml0b3JpbmcuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzE1LzYxNTczIiwidXVpZCI6IjYwZmMxMzY3LWZmNGUtNDJkNS1hOTM0LTY1M2M5NzU3MWUyNiIsInRpdGxlIjoiSVNPIDEzMTg0LTI6MjAxNiBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgR3VpZGFuY2UgcHJvdG9jb2wgdmlhIHBlcnNvbmFsIElUUyBzdGF0aW9uIGZvciBhZHZpc29yeSBzYWZldHkgc3lzdGVtcyDigJQgUGFydCAyOiBSb2FkIGd1aWRhbmNlIHByb3RvY29sIChSR1ApIHJlcXVpcmVtZW50cyBhbmQgc3BlY2lmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjEsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE4NC0yOjIwMTYgc3BlY2lmaWVzIHRoZSByb2FkIGd1aWRhbmNlIHVzZSBjYXNlcyBvbiB0aGUgRFhNIHRvIHByb3ZpZGUgdGhlIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSB0byBkcml2ZXJzIG9yIHBlZGVzdHJpYW5zIHVzaW5nIFAtSVRTLVMuIFRoZSByb2FkIGd1aWRhbmNlIHByb3RvY29sIChSR1ApIGlzIGFuIGluc3RhbnRpYXRpb24gb2YgdGhlIGRhdGEgZXhjaGFuZ2UgbWVzc2FnZSAoRFhNKSwgd2hpY2ggcmVwcmVzZW50cyBhIGdlbmVyaWMgbWVzc2FnZSB0byBleGNoYW5nZSBkYXRhIGJldHdlZW4gSVRTIHN0YXRpb25zLiBUaGUgUkdQIGRlZmluZXMgYW4gaW50ZXJvcGVyYWJsZSBzZXJ2aWNlIHByb3RvY29sIGJldHdlZW4gUC1JVFMtUyBhbmQgUi1JVFMtUyBmb3IgZXhjaGFuZ2luZyBkYXRhIGVsZW1lbnRzLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTg0IHNwZWNpZmllcyB0aGUgZm9sbG93aW5nOiAtICAgICAgUmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBmb3IgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtLiBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgcHJvdmlkZXMgYSBnZW5lcmFsIHN0cnVjdHVyZSBmb3IgdGhlIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSBhbmQgdGhlIG1ldGhvZCBvZiBtZXNzYWdlIGV4Y2hhbmdlIGJldHdlZW4gdGhlIFAtSVRTLVMgYW5kIHRoZSBSLUlUUy1TLiBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgaXMgdXNlZCB0byBidWlsZCB0aGUgaW50ZXJjb25uZWN0aW9ucyBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUy4gLSAgICAgIFRlY2huaXF1ZSBvZiBhcHBsaWNhdGlvbiBwcm90b2NvbCBkZXNpZ24gZm9yIHZhcmlvdXMgdXNlIGNhc2VzIG9uIGEgUC1JVFMtUy4gVGhpcyB0ZWNobmlxdWUgYWRvcHRzIGEgZmxleGlibGUgYW5kIGV4dGVuZGFibGUgcHJvdG9jb2wgZGVzaWduLiBJbiBtYW55IGNhc2VzLCB0aGUgYXBwbGljYXRpb24gcHJvdG9jb2wgZm9yIHRoZSBJVFMgaXMgZGVzaWduZWQgdG8gcHJvdmlkZSBhIHNldCBvZiBtZXNzYWdlcyB0aGF0IGlzIGRlcGVuZGVudCBvbiB0aGUgdXNlIGNhc2VzIGFuZCB0aGUgbWVzc2FnZSBleGNoYW5nZSBtZXRob2QuIEhvd2V2ZXIsIGl0IGlzIG5vdCBlYXN5IHRvIGVudW1lcmF0ZSBhbGwgdXNlIGNhc2VzIGZvciBzb21lIGFwcGxpY2F0aW9ucy4gVGhlIHVzZSBjYXNlcyBjYW4gYmUgY2hhbmdlZCBvciBlbmhhbmNlZCBmcmVxdWVudGx5LiBGb3IgdGhpcyB0eXBlIG9mIGFwcGxpY2F0aW9uLCB0aGUgcHJvdG9jb2wgZGVzaWduLCBkZXBlbmRpbmcgb24gdGhlIHVzZSBjYXNlcywgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTg0IHByb3ZpZGVzIGEgZ2VuZXJhbCB0ZWNobmlxdWUgb2YgZGVzaWduaW5nIHRoZSByb2FkIGd1aWRhbmNlIGFwcGxpY2F0aW9uIHByb3RvY29sIGJhc2VkIG9uIHRoZSB1c2UgY2FzZXMuIC0gICAgICBQcmltaXRpdmUgZGF0YSBlbGVtZW50LiBUaGUgcHJpbWl0aXZlIGRhdGEgZWxlbWVudCB3aWxsIGJlIGNvbW1vbmx5IHVzZWQgdG8gY29uZmlndXJlIHRoZSBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkZSBzZXJ2aWNlIGluIHRoZSBmb3JtIG9mIHNwZWVkLCBsb2NhdGlvbiBhbmQgdGltZS4gLSAgICAgIFVzZSBjYXNlcyBhdCB0aGUgcm9hZCBhbmQgcGFya2luZyBzcGFjZXMgZm9yIHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUuIFRoaXMgcGFydCBvZiBJU08gMTMxODQgZGVzY3JpYmVzIHRoZSB1c2UgY2FzZXMgYXBwbGljYWJsZSB0byB0aGUgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUyBmb3IgdGhlIHB1cnBvc2VzIG9mIHByb3ZpZGluZyBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkYW5jZS4gSVNPIDEzMTg0IChhbGwgcGFydHMpIGhhdmUgYmVlbiBhbGlnbmVkIGFjY29yZGluZyB0byB0aGUgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCBpbiBJU08gMjEyMTcsIElTTy9UUyAxNzQxOSBhbmQgSVNPL1RTIDE3NDIzLiBJU08gMTMxODQtMjoyMDE2IG9ubHkgc3BlY2lmaWVzIHRoZSBSR1AgbWVzc2FnZXMgYmFzZWQgb24gdGhlIERYTSBkZWZpbml0aW9uIChzZWUgQW5uZXggQiBhbmQgQW5uZXggQykgYXQgcmVhbC10aW1lLiBUaGUgY29udGVudCBvZiB0aGUgUkdQIG1lc3NhZ2VzIGFyZSBiYXNlZCBvbiB0aGUgZGVmaW5pdGlvbiBvZiByb2FkIGd1aWRhbmNlIHVzZSBjYXNlcyBhcyBkb2N1bWVudGVkIGluIElTTyAxMzE4ND8xLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTg0IGltcGxlbWVudHMgSVRTLVNVIG9iamVjdHMsIHdoaWNoIGlzIGEgZ2VuZXJhbCByZWZlcmVuY2UgdG8gSVRTIGFwcGxpY2F0aW9uIG9iamVjdHMsIElUUyBtZXNzYWdlIHNldHMgYW5kIG90aGVyIG9iamVjdHMgd2hpY2ggbWF5IHJlcXVpcmUgZ2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpY2F0aW9uIGFuZCByZWdpc3RyYXRpb24uIFRoZSBtYW5hZ2VtZW50IG9mIElUUy1TVSBvYmplY3RzIGlzIG1hbnktZm9sZCwgZS5nLiBzcGVjaWZpZWQgaW4gSVNPIDI0MTAyPzQsIElTTyAyNDEwMj81LCBJU08gMjQxMDI/NiwgSVNPIDI0MTAyPzcsIElTTyAyNDEwMj84IGFuZCBJU08gMjQxMDI/OSwgYW5kIGluIENFTi9JU08vVFMgMTc0MjMuIFRoaXMgcGFydCBvZiBJU08gMTMxODQgaW1wbGVtZW50cyBhdXRob3JpemVkIGFuZCBjb250cm9sbGVkIG9wZXJhdGlvbiBvZiBJVFMtU1Ugb2JqZWN0cywgd2hpY2ggcmVxdWlyZXMgY29uc2lkZXJhdGlvbnMgb2YgSVRTLVNVIG9iamVjdCBpZGVudGlmaWVycywgaS5lLiBJVFMtQUlELCBJVFMtTXNnU2V0SUQsIElUUy1TVUlELCBJVFMtU0NVSUQsIGFkZHJlc3NlcyBhbmQgcHJvdG9jb2wgaWRlbnRpZmllcnMgdXNlZCBpbiB0aGUgY29tbXVuaWNhdGlvbiBwcm90b2NvbCBzdGFjayBvZiBhbiBJVFMtUywgYW5kIG90aGVycy4gTk9URSAgICAgICAgICBUaGUgYWNjdXJhY3kgb2YgdGhlIG5hdmlnYXRpb24gYW5kIHBvc2l0aW9uaW5nIHN5c3RlbSBhcyBpbnB1dCB0byB0aGUgUm9hZCBHdWlkYW5jZSBhcHBsaWNhdGlvbiBpcyBpbXBvcnRhbnQgZm9yIHJvYWQgZ3VpZGFuY2UgYnV0IGlzIG5vdCBwYXJ0IG9mIHRoZSBJU08gMTMxODQgc2VyaWVzLiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBjcm9zc3JvYWRzIGlzIG5lZWRlZCBmb3IgaW1wbGVtZW50YXRpb24gb2YgUm9hZCBHdWlkYW5jZSBhcHBsaWNhdGlvbnMuICIsIm9iamVjdElEIjoiNjE1NzNfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQtMjoyMDE2IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBHdWlkYW5jZSBwcm90b2NvbCB2aWEgcGVyc29uYWwgSVRTIHN0YXRpb24gZm9yIGFkdmlzb3J5IHNhZmV0eSBzeXN0ZW1zIOKAlCBQYXJ0IDI6IFJvYWQgZ3VpZGFuY2UgcHJvdG9jb2wgKFJHUCkgcmVxdWlyZW1lbnRzIGFuZCBzcGVjaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NC0yOjIwMTYgc3BlY2lmaWVzIHRoZSByb2FkIGd1aWRhbmNlIHVzZSBjYXNlcyBvbiB0aGUgRFhNIHRvIHByb3ZpZGUgdGhlIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSB0byBkcml2ZXJzIG9yIHBlZGVzdHJpYW5zIHVzaW5nIFAtSVRTLVMuIFRoZSByb2FkIGd1aWRhbmNlIHByb3RvY29sIChSR1ApIGlzIGFuIGluc3RhbnRpYXRpb24gb2YgdGhlIGRhdGEgZXhjaGFuZ2UgbWVzc2FnZSAoRFhNKSwgd2hpY2ggcmVwcmVzZW50cyBhIGdlbmVyaWMgbWVzc2FnZSB0byBleGNoYW5nZSBkYXRhIGJldHdlZW4gSVRTIHN0YXRpb25zLiBUaGUgUkdQIGRlZmluZXMgYW4gaW50ZXJvcGVyYWJsZSBzZXJ2aWNlIHByb3RvY29sIGJldHdlZW4gUC1JVFMtUyBhbmQgUi1JVFMtUyBmb3IgZXhjaGFuZ2luZyBkYXRhIGVsZW1lbnRzLiBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IHNwZWNpZmllcyB0aGUgZm9sbG93aW5nOiAtICAgICAgUmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBmb3IgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtLiBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgcHJvdmlkZXMgYSBnZW5lcmFsIHN0cnVjdHVyZSBmb3IgdGhlIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSBhbmQgdGhlIG1ldGhvZCBvZiBtZXNzYWdlIGV4Y2hhbmdlIGJldHdlZW4gdGhlIFAtSVRTLVMgYW5kIHRoZSBSLUlUUy1TLiBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgaXMgdXNlZCB0byBidWlsZCB0aGUgaW50ZXJjb25uZWN0aW9ucyBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUy4gLSAgICAgIFRlY2huaXF1ZSBvZiBhcHBsaWNhdGlvbiBwcm90b2NvbCBkZXNpZ24gZm9yIHZhcmlvdXMgdXNlIGNhc2VzIG9uIGEgUC1JVFMtUy4gVGhpcyB0ZWNobmlxdWUgYWRvcHRzIGEgZmxleGlibGUgYW5kIGV4dGVuZGFibGUgcHJvdG9jb2wgZGVzaWduLiBJbiBtYW55IGNhc2VzLCB0aGUgYXBwbGljYXRpb24gcHJvdG9jb2wgZm9yIHRoZSBJVFMgaXMgZGVzaWduZWQgdG8gcHJvdmlkZSBhIHNldCBvZiBtZXNzYWdlcyB0aGF0IGlzIGRlcGVuZGVudCBvbiB0aGUgdXNlIGNhc2VzIGFuZCB0aGUgbWVzc2FnZSBleGNoYW5nZSBtZXRob2QuIEhvd2V2ZXIsIGl0IGlzIG5vdCBlYXN5IHRvIGVudW1lcmF0ZSBhbGwgdXNlIGNhc2VzIGZvciBzb21lIGFwcGxpY2F0aW9ucy4gVGhlIHVzZSBjYXNlcyBjYW4gYmUgY2hhbmdlZCBvciBlbmhhbmNlZCBmcmVxdWVudGx5LiBGb3IgdGhpcyB0eXBlIG9mIGFwcGxpY2F0aW9uLCB0aGUgcHJvdG9jb2wgZGVzaWduLCBkZXBlbmRpbmcgb24gdGhlIHVzZSBjYXNlcywgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IHByb3ZpZGVzIGEgZ2VuZXJhbCB0ZWNobmlxdWUgb2YgZGVzaWduaW5nIHRoZSByb2FkIGd1aWRhbmNlIGFwcGxpY2F0aW9uIHByb3RvY29sIGJhc2VkIG9uIHRoZSB1c2UgY2FzZXMuIC0gICAgICBQcmltaXRpdmUgZGF0YSBlbGVtZW50LiBUaGUgcHJpbWl0aXZlIGRhdGEgZWxlbWVudCB3aWxsIGJlIGNvbW1vbmx5IHVzZWQgdG8gY29uZmlndXJlIHRoZSBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkZSBzZXJ2aWNlIGluIHRoZSBmb3JtIG9mIHNwZWVkLCBsb2NhdGlvbiBhbmQgdGltZS4gLSAgICAgIFVzZSBjYXNlcyBhdCB0aGUgcm9hZCBhbmQgcGFya2luZyBzcGFjZXMgZm9yIHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUuIFRoaXMgcGFydCBvZiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQgZGVzY3JpYmVzIHRoZSB1c2UgY2FzZXMgYXBwbGljYWJsZSB0byB0aGUgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBiZXR3ZWVuIHRoZSBQLUlUUy1TIGFuZCB0aGUgUi1JVFMtUyBmb3IgdGhlIHB1cnBvc2VzIG9mIHByb3ZpZGluZyBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkYW5jZS4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IChhbGwgcGFydHMpIGhhdmUgYmVlbiBhbGlnbmVkIGFjY29yZGluZyB0byB0aGUgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCBpbiA8ZW0+SVNPPC9lbT4gMjEyMTcsIDxlbT5JU088L2VtPi9UUyAxNzQxOSBhbmQgPGVtPklTTzwvZW0+L1RTIDE3NDIzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQtMjoyMDE2IG9ubHkgc3BlY2lmaWVzIHRoZSBSR1AgbWVzc2FnZXMgYmFzZWQgb24gdGhlIERYTSBkZWZpbml0aW9uIChzZWUgQW5uZXggQiBhbmQgQW5uZXggQykgYXQgcmVhbC10aW1lLiBUaGUgY29udGVudCBvZiB0aGUgUkdQIG1lc3NhZ2VzIGFyZSBiYXNlZCBvbiB0aGUgZGVmaW5pdGlvbiBvZiByb2FkIGd1aWRhbmNlIHVzZSBjYXNlcyBhcyBkb2N1bWVudGVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44ND8xLiBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg0IGltcGxlbWVudHMgSVRTLVNVIG9iamVjdHMsIHdoaWNoIGlzIGEgZ2VuZXJhbCByZWZlcmVuY2UgdG8gSVRTIGFwcGxpY2F0aW9uIG9iamVjdHMsIElUUyBtZXNzYWdlIHNldHMgYW5kIG90aGVyIG9iamVjdHMgd2hpY2ggbWF5IHJlcXVpcmUgZ2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpY2F0aW9uIGFuZCByZWdpc3RyYXRpb24uIFRoZSBtYW5hZ2VtZW50IG9mIElUUy1TVSBvYmplY3RzIGlzIG1hbnktZm9sZCwgZS5nLiBzcGVjaWZpZWQgaW4gPGVtPklTTzwvZW0+IDI0MTAyPzQsIDxlbT5JU088L2VtPiAyNDEwMj81LCA8ZW0+SVNPPC9lbT4gMjQxMDI/NiwgPGVtPklTTzwvZW0+IDI0MTAyPzcsIDxlbT5JU088L2VtPiAyNDEwMj84IGFuZCA8ZW0+SVNPPC9lbT4gMjQxMDI/OSwgYW5kIGluIENFTi88ZW0+SVNPPC9lbT4vVFMgMTc0MjMuIFRoaXMgcGFydCBvZiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQgaW1wbGVtZW50cyBhdXRob3JpemVkIGFuZCBjb250cm9sbGVkIG9wZXJhdGlvbiBvZiBJVFMtU1Ugb2JqZWN0cywgd2hpY2ggcmVxdWlyZXMgY29uc2lkZXJhdGlvbnMgb2YgSVRTLVNVIG9iamVjdCBpZGVudGlmaWVycywgaS5lLiBJVFMtQUlELCBJVFMtTXNnU2V0SUQsIElUUy1TVUlELCBJVFMtU0NVSUQsIGFkZHJlc3NlcyBhbmQgcHJvdG9jb2wgaWRlbnRpZmllcnMgdXNlZCBpbiB0aGUgY29tbXVuaWNhdGlvbiBwcm90b2NvbCBzdGFjayBvZiBhbiBJVFMtUywgYW5kIG90aGVycy4gTk9URSAgICAgICAgICBUaGUgYWNjdXJhY3kgb2YgdGhlIG5hdmlnYXRpb24gYW5kIHBvc2l0aW9uaW5nIHN5c3RlbSBhcyBpbnB1dCB0byB0aGUgUm9hZCBHdWlkYW5jZSBhcHBsaWNhdGlvbiBpcyBpbXBvcnRhbnQgZm9yIHJvYWQgZ3VpZGFuY2UgYnV0IGlzIG5vdCBwYXJ0IG9mIHRoZSA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQgc2VyaWVzLiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBjcm9zc3JvYWRzIGlzIG5lZWRlZCBmb3IgaW1wbGVtZW50YXRpb24gb2YgUm9hZCBHdWlkYW5jZSBhcHBsaWNhdGlvbnMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzAxLzYwMTQ2IiwidXVpZCI6ImM1OTJmMjRiLWViNGUtNDY2My1hMDEwLThjNGRkZTkxZTI4NSIsInRpdGxlIjoiSVNPIDEzMTY1LTM6MjAxNiBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDM6IFRlc3QgbWV0aG9kIHVzaW5nIGNvcHJlY2lwaXRhdGlvbiBhbmQgZ2FtbWEtc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY1LTM6MjAxNiBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoMjI2UmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYWxsIHR5cGVzIG9mIHdhdGVyIGJ5IGNvcHJlY2lwaXRhdGlvbiBmb2xsb3dlZCBieSBnYW1tYS1zcGVjdHJvbWV0cnkgKHNlZSBJU08gMTg1ODnigJEzKS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaXMgc3VpdGFibGUgZm9yIGRldGVybWluYXRpb24gb2Ygc29sdWJsZSAyMjZSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBs4oiSMSB1c2luZyBhIHNhbXBsZSB2b2x1bWUgb2YgMSBsIHRvIDEwMCBsIG9mIGFueSB3YXRlciB0eXBlLiBGb3Igd2F0ZXIgc2FtcGxlcyBzbWFsbGVyIHRoYW4gYSB2b2x1bWUgb2YgMSBsLCBkaXJlY3QgZ2FtbWEtc3BlY3Ryb21ldHJ5IGNhbiBiZSBwZXJmb3JtZWQgZm9sbG93aW5nIElTTyAxMDcwMyB3aXRoIGEgaGlnaGVyIGRldGVjdGlvbiBsaW1pdC4gTk9URSAgICAgICAgICBUaGlzIHRlc3QgbWV0aG9kIGFsc28gYWxsb3dzIG90aGVyIGlzb3RvcGVzIG9mIHJhZGl1bSwgMjIzUmEsIDIyNFJhLCBhbmQgMjI4UmEsIHRvIGJlIGRldGVybWluZWQuICIsIm9iamVjdElEIjoiNjAxNDZfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjUtMzoyMDE2IFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMzogVGVzdCBtZXRob2QgdXNpbmcgY29wcmVjaXBpdGF0aW9uIGFuZCBnYW1tYS1zcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTM6MjAxNiBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoMjI2UmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYWxsIHR5cGVzIG9mIHdhdGVyIGJ5IGNvcHJlY2lwaXRhdGlvbiBmb2xsb3dlZCBieSBnYW1tYS1zcGVjdHJvbWV0cnkgKHNlZSA8ZW0+SVNPPC9lbT4gMTg1ODnigJEzKS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaXMgc3VpdGFibGUgZm9yIGRldGVybWluYXRpb24gb2Ygc29sdWJsZSAyMjZSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBs4oiSMSB1c2luZyBhIHNhbXBsZSB2b2x1bWUgb2YgMSBsIHRvIDEwMCBsIG9mIGFueSB3YXRlciB0eXBlLiBGb3Igd2F0ZXIgc2FtcGxlcyBzbWFsbGVyIHRoYW4gYSB2b2x1bWUgb2YgMSBsLCBkaXJlY3QgZ2FtbWEtc3BlY3Ryb21ldHJ5IGNhbiBiZSBwZXJmb3JtZWQgZm9sbG93aW5nIDxlbT5JU088L2VtPiAxMDcwMyB3aXRoIGEgaGlnaGVyIGRldGVjdGlvbiBsaW1pdC4gTk9URSAgICAgICAgICBUaGlzIHRlc3QgbWV0aG9kIGFsc28gYWxsb3dzIG90aGVyIGlzb3RvcGVzIG9mIHJhZGl1bSwgMjIzUmEsIDIyNFJhLCBhbmQgMjI4UmEsIHRvIGJlIGRldGVybWluZWQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDA4IiwidXVpZCI6IjAzYjg5NThjLWUwOWItNDQ3Zi1iNjExLTFmMjAyODZmZTBkZCIsInRpdGxlIjoiSVNPIDEzMTY3OjIwMTUgV2F0ZXIgcXVhbGl0eSDigJQgUGx1dG9uaXVtLCBhbWVyaWNpdW0sIGN1cml1bSBhbmQgbmVwdHVuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBzcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjc6MjAxNSBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgbWVhc3VyaW5nIGFjdGluaWRlcyAoIDIzOCBQdSwgMjM5KzI0MCBQdSwgMjQxIEFtLCAyNDIgQ20sIDI0MysyNDQgQ20gYW5kIDIzNyBOcCkgaW4gd2F0ZXIgc2FtcGxlcyBieSBhbHBoYSBzcGVjdHJvbWV0cnkgZm9sbG93aW5nIGEgY2hlbWljYWwgc2VwYXJhdGlvbi4gVGhlIG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgYW55IHR5cGUgb2YgZW52aXJvbm1lbnRhbCBzdHVkeSBvciBtb25pdG9yaW5nLiBUaGUgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gcmVxdWlyZWQgZGVwZW5kcyBvbiB0aGUgYXNzdW1lZCBhY3Rpdml0eSBvZiB0aGUgc2FtcGxlIGFuZCB0aGUgZGVzaXJlZCBkZXRlY3Rpb24gbGltaXQuIFRoZSBkZXRlY3Rpb24gbGltaXQgb2YgdGhlIHRlc3QgbWV0aG9kIGlzIDUgw5cgMTAg4oiSMyB0byA1IMOXIDEwIOKIkjQgQnEvbCBmb3IgYSB2b2x1bWUgb2YgdGhlIHRlc3QgcG9ydGlvbiBvZiAwLDEgbCB0byA1IGwgd2l0aCBhIGNvdW50aW5nIHRpbWUgb2YgdHdvIHRvIHRlbiBkYXlzLiAiLCJvYmplY3RJRCI6IjUzNDA4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY3OjIwMTUgV2F0ZXIgcXVhbGl0eSDigJQgUGx1dG9uaXVtLCBhbWVyaWNpdW0sIGN1cml1bSBhbmQgbmVwdHVuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBzcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY3OjIwMTUgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIG1lYXN1cmluZyBhY3RpbmlkZXMgKCAyMzggUHUsIDIzOSsyNDAgUHUsIDI0MSBBbSwgMjQyIENtLCAyNDMrMjQ0IENtIGFuZCAyMzcgTnApIGluIHdhdGVyIHNhbXBsZXMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IGZvbGxvd2luZyBhIGNoZW1pY2FsIHNlcGFyYXRpb24uIFRoZSBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIGFueSB0eXBlIG9mIGVudmlyb25tZW50YWwgc3R1ZHkgb3IgbW9uaXRvcmluZy4gVGhlIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIHJlcXVpcmVkIGRlcGVuZHMgb24gdGhlIGFzc3VtZWQgYWN0aXZpdHkgb2YgdGhlIHNhbXBsZSBhbmQgdGhlIGRlc2lyZWQgZGV0ZWN0aW9uIGxpbWl0LiBUaGUgZGV0ZWN0aW9uIGxpbWl0IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyA1IMOXIDEwIOKIkjMgdG8gNSDDlyAxMCDiiJI0IEJxL2wgZm9yIGEgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gb2YgMCwxIGwgdG8gNSBsIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIHR3byB0byB0ZW4gZGF5cy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwNTQiLCJ1dWlkIjoiNjc4MTY4ODQtN2M1MS00ZTVlLWJkNmMtNmVlMWFmZWE1YThkIiwidGl0bGUiOiJJU08gMTMxMzI6MjAxMSBMYWJvcmF0b3J5IGdsYXNzd2FyZSDigJQgUGV0cmkgZGlzaGVzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTMyOjIwMTEgc3BlY2lmaWVzIHJlcXVpcmVtZW50cyBhbmQgdGVzdHMgZm9yIGdsYXNzIFBldHJpIGRpc2hlcyBpbnRlbmRlZCBmb3IgZ2VuZXJhbCBsYWJvcmF0b3J5IHB1cnBvc2VzIGFuZCBtaWNyb2Jpb2xvZ2ljYWwgd29yay4gIiwib2JqZWN0SUQiOiI1MzA1NF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zMjoyMDExIExhYm9yYXRvcnkgZ2xhc3N3YXJlIOKAlCBQZXRyaSBkaXNoZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjMyOjIwMTEgc3BlY2lmaWVzIHJlcXVpcmVtZW50cyBhbmQgdGVzdHMgZm9yIGdsYXNzIFBldHJpIGRpc2hlcyBpbnRlbmRlZCBmb3IgZ2VuZXJhbCBsYWJvcmF0b3J5IHB1cnBvc2VzIGFuZCBtaWNyb2Jpb2xvZ2ljYWwgd29yay4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwMDciLCJ1dWlkIjoiZDJjY2YyYmMtNTlkZi00MTdhLWE1ZGUtMjM5YjRiY2Q0MGZlIiwidGl0bGUiOiJJU08gMTMxMjQ6MjAxMSBGaW5lIGNlcmFtaWNzIChhZHZhbmNlZCBjZXJhbWljcywgYWR2YW5jZWQgdGVjaG5pY2FsIGNlcmFtaWNzKSDigJQgVGVzdCBtZXRob2QgZm9yIGludGVyZmFjaWFsIGJvbmQgc3RyZW5ndGggb2YgY2VyYW1pYyBtYXRlcmlhbHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIxLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMjQ6MjAxMSBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgZGV0ZXJtaW5pbmcgdGhlIGludGVyZmFjaWFsIHRlbnNpbGUgYW5kIHNoZWFyIGJvbmQgc3RyZW5ndGggb2YgY2VyYW1pYy1jZXJhbWljLCBjZXJhbWljLW1ldGFsLCBhbmQgY2VyYW1pYy1nbGFzcyBqb2luaW5nIGF0IGFtYmllbnQgdGVtcGVyYXR1cmUgYnkgY29tcHJlc3Npb24gdGVzdHMgb24gY3Jvc3MtYm9uZGVkIHRlc3QgcGllY2VzLiBNZXRob2RzIGZvciB0ZXN0LXBpZWNlIHByZXBhcmF0aW9uLCB0ZXN0IG1vZGVzIGFuZCByYXRlcyAobG9hZCByYXRlIG9yIGRpc3BsYWNlbWVudCByYXRlKSwgZGF0YSBjb2xsZWN0aW9uIGFuZCByZXBvcnRpbmcgcHJvY2VkdXJlcyBhcmUgYWRkcmVzc2VkLiBJU08gMTMxMjQ6MjAxMSBhcHBsaWVzIHByaW1hcmlseSB0byBjZXJhbWljIG1hdGVyaWFscywgaW5jbHVkaW5nIG1vbm9saXRoaWMgZmluZSBjZXJhbWljcyBhbmQgd2hpc2tlci0sIGZpYnJlLSBvciBwYXJ0aWN1bGF0ZS1yZWluZm9yY2VkIGNlcmFtaWMgY29tcG9zaXRlcy4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBmb3IgbWF0ZXJpYWxzIHJlc2VhcmNoLCBxdWFsaXR5IGNvbnRyb2wsIGFuZCBjaGFyYWN0ZXJpemF0aW9uIGFuZCBkZXNpZ24gZGF0YSBnZW5lcmF0aW9uIHB1cnBvc2VzLiAiLCJvYmplY3RJRCI6IjUzMDA3XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI0OjIwMTEgRmluZSBjZXJhbWljcyAoYWR2YW5jZWQgY2VyYW1pY3MsIGFkdmFuY2VkIHRlY2huaWNhbCBjZXJhbWljcykg4oCUIFRlc3QgbWV0aG9kIGZvciBpbnRlcmZhY2lhbCBib25kIHN0cmVuZ3RoIG9mIGNlcmFtaWMgbWF0ZXJpYWxzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNDoyMDExIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciBkZXRlcm1pbmluZyB0aGUgaW50ZXJmYWNpYWwgdGVuc2lsZSBhbmQgc2hlYXIgYm9uZCBzdHJlbmd0aCBvZiBjZXJhbWljLWNlcmFtaWMsIGNlcmFtaWMtbWV0YWwsIGFuZCBjZXJhbWljLWdsYXNzIGpvaW5pbmcgYXQgYW1iaWVudCB0ZW1wZXJhdHVyZSBieSBjb21wcmVzc2lvbiB0ZXN0cyBvbiBjcm9zcy1ib25kZWQgdGVzdCBwaWVjZXMuIE1ldGhvZHMgZm9yIHRlc3QtcGllY2UgcHJlcGFyYXRpb24sIHRlc3QgbW9kZXMgYW5kIHJhdGVzIChsb2FkIHJhdGUgb3IgZGlzcGxhY2VtZW50IHJhdGUpLCBkYXRhIGNvbGxlY3Rpb24gYW5kIHJlcG9ydGluZyBwcm9jZWR1cmVzIGFyZSBhZGRyZXNzZWQuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNDoyMDExIGFwcGxpZXMgcHJpbWFyaWx5IHRvIGNlcmFtaWMgbWF0ZXJpYWxzLCBpbmNsdWRpbmcgbW9ub2xpdGhpYyBmaW5lIGNlcmFtaWNzIGFuZCB3aGlza2VyLSwgZmlicmUtIG9yIHBhcnRpY3VsYXRlLXJlaW5mb3JjZWQgY2VyYW1pYyBjb21wb3NpdGVzLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBtYXRlcmlhbHMgcmVzZWFyY2gsIHF1YWxpdHkgY29udHJvbCwgYW5kIGNoYXJhY3Rlcml6YXRpb24gYW5kIGRlc2lnbiBkYXRhIGdlbmVyYXRpb24gcHVycG9zZXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzAwLzgwMDM3IiwidXVpZCI6IjMyNWMzMTM4LWQ5NmItNGVlMS1hZGQyLTcxMjJkOGVlMDY0MiIsInRpdGxlIjoiSVNPIDEzMTY2OjIwMjAgV2F0ZXIgcXVhbGl0eSDigJQgVXJhbml1bSBpc290b3BlcyDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgdGhlIGNvbmRpdGlvbnMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHVyYW5pdW0gaXNvdG9wZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgZW52aXJvbm1lbnRhbCB3YXRlciAoaW5jbHVkaW5nIHNlYSB3YXRlcnMpIHVzaW5nIGFscGhhLXNwZWN0cm9tZXRyeSBhbmQgMjMyIFUgYXMgYSB5aWVsZCB0cmFjZXIuIEEgY2hlbWljYWwgc2VwYXJhdGlvbiBpcyByZXF1aXJlZCB0byBzZXBhcmF0ZSBhbmQgcHVyaWZ5IHVyYW5pdW0gZnJvbSBhIHRlc3QgcG9ydGlvbiBvZiB0aGUgc2FtcGxlLiAiLCJvYmplY3RJRCI6IjgwMDM3XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY2OjIwMjAgV2F0ZXIgcXVhbGl0eSDigJQgVXJhbml1bSBpc290b3BlcyDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSBjb25kaXRpb25zIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB1cmFuaXVtIGlzb3RvcGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgKGluY2x1ZGluZyBzZWEgd2F0ZXJzKSB1c2luZyBhbHBoYS1zcGVjdHJvbWV0cnkgYW5kIDIzMiBVIGFzIGEgeWllbGQgdHJhY2VyLiBBIGNoZW1pY2FsIHNlcGFyYXRpb24gaXMgcmVxdWlyZWQgdG8gc2VwYXJhdGUgYW5kIHB1cmlmeSB1cmFuaXVtIGZyb20gYSB0ZXN0IHBvcnRpb24gb2YgdGhlIHNhbXBsZS4gIiwibWF0Y2hMZXZlbCI6Im5vbmUiLCJtYXRjaGVkV29yZHMiOltdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvNDcvNzQ3NzYiLCJ1dWlkIjoiNTRiMGMyYzAtNjQ0Mi00NzQ0LTgyZjktMDdjYjgwZmIwOTg5IiwidGl0bGUiOiJJU08gMTMxNjE6MjAyMCBXYXRlciBxdWFsaXR5IOKAlCBQb2xvbml1bSAyMTAg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhIHNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjAsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgbWV0aG9kIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgMjEwIFBvIGluIGFsbCB0eXBlcyBvZiB3YXRlcnMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5LiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGVzdCBzYW1wbGVzIG9mIHN1cHBseS9kcmlua2luZyB3YXRlciwgcmFpbndhdGVyLCBzdXJmYWNlIGFuZCBncm91bmQgd2F0ZXIsIG1hcmluZSB3YXRlciwgYXMgd2VsbCBhcyBjb29saW5nIHdhdGVyLCBpbmR1c3RyaWFsIHdhdGVyLCBkb21lc3RpYywgYW5kIGluZHVzdHJpYWwgd2FzdGV3YXRlciBhZnRlciBwcm9wZXIgc2FtcGxpbmcgYW5kIGhhbmRsaW5nLCBhbmQgdGVzdCBzYW1wbGUgcHJlcGFyYXRpb24uIEZpbHRyYXRpb24gb2YgdGhlIHRlc3Qgc2FtcGxlIG1heSBiZSByZXF1aXJlZC4gVGhlIGRldGVjdGlvbiBsaW1pdCBkZXBlbmRzIG9uIHRoZSBzYW1wbGUgdm9sdW1lLCB0aGUgaW5zdHJ1bWVudCB1c2VkLCB0aGUgY291bnRpbmcgdGltZSwgdGhlIGJhY2tncm91bmQgY291bnQgcmF0ZSwgdGhlIGRldGVjdGlvbiBlZmZpY2llbmN5IGFuZCB0aGUgY2hlbWljYWwgeWllbGQuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQsIHVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgYWxwaGEgc3BlY3Ryb21ldHJ5IGFwcGFyYXR1cywgaGFzIGEgZGV0ZWN0aW9uIGxpbWl0IG9mIGFwcHJveGltYXRlbHkgNSBtQnEgbCDiiJIxICwgd2hpY2ggaXMgbG93ZXIgdGhhbiB0aGUgV0hPIGNyaXRlcmlhIGZvciBzYWZlIGNvbnN1bXB0aW9uIG9mIGRyaW5raW5nIHdhdGVyICgxMDAgbUJxIGwg4oiSMSApLiBUaGlzIHZhbHVlIGNhbiBiZSBhY2hpZXZlZCB3aXRoIGEgY291bnRpbmcgdGltZSBvZiAyNCBoIGZvciBhIHNhbXBsZSB2b2x1bWUgb2YgNTAwIG1sLiBUaGUgbWV0aG9kIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGlzIGFsc28gYXBwbGljYWJsZSBpbiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLiBUaGUgYW5hbHlzaXMgb2YgMjEwIFBvIGFkc29yYmVkIHRvIHN1c3BlbmRlZCBtYXR0ZXIgaW4gdGhlIHNhbXBsZSBpcyBub3QgY292ZXJlZCBieSB0aGlzIG1ldGhvZC4gSWYgc3VzcGVuZGVkIG1hdGVyaWFsIGhhcyB0byBiZSByZW1vdmVkIG9yIGFuYWx5c2VkLCBmaWx0cmF0aW9uIHVzaW5nIGEgMCw0NSDOvG0gZmlsdGVyIGlzIHJlY29tbWVuZGVkLiBUaGUgYW5hbHlzaXMgb2YgdGhlIGluc29sdWJsZSBmcmFjdGlvbiByZXF1aXJlcyBhIG1pbmVyYWxpemF0aW9uIHN0ZXAgdGhhdCBpcyBub3QgY292ZXJlZCBieSB0aGlzIGRvY3VtZW50IFsxM10gLiBJbiB0aGlzIGNhc2UsIHRoZSBtZWFzdXJlbWVudCBpcyBtYWRlIG9uIHRoZSBkaWZmZXJlbnQgcGhhc2VzIG9idGFpbmVkLiBUaGUgZmluYWwgYWN0aXZpdHkgaXMgdGhlIHN1bSBvZiBhbGwgdGhlIG1lYXN1cmVkIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLiBJdCBpcyB0aGUgdXNlcidzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3IgdGhlIHdhdGVyIHNhbXBsZXMgdGVzdGVkLiAiLCJvYmplY3RJRCI6Ijc0Nzc2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYxOjIwMjAgV2F0ZXIgcXVhbGl0eSDigJQgUG9sb25pdW0gMjEwIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBzcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBtZXRob2QgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiAyMTAgUG8gaW4gYWxsIHR5cGVzIG9mIHdhdGVycyBieSBhbHBoYSBzcGVjdHJvbWV0cnkuIFRoZSBtZXRob2QgaXMgYXBwbGljYWJsZSB0byB0ZXN0IHNhbXBsZXMgb2Ygc3VwcGx5L2RyaW5raW5nIHdhdGVyLCByYWlud2F0ZXIsIHN1cmZhY2UgYW5kIGdyb3VuZCB3YXRlciwgbWFyaW5lIHdhdGVyLCBhcyB3ZWxsIGFzIGNvb2xpbmcgd2F0ZXIsIGluZHVzdHJpYWwgd2F0ZXIsIGRvbWVzdGljLCBhbmQgaW5kdXN0cmlhbCB3YXN0ZXdhdGVyIGFmdGVyIHByb3BlciBzYW1wbGluZyBhbmQgaGFuZGxpbmcsIGFuZCB0ZXN0IHNhbXBsZSBwcmVwYXJhdGlvbi4gRmlsdHJhdGlvbiBvZiB0aGUgdGVzdCBzYW1wbGUgbWF5IGJlIHJlcXVpcmVkLiBUaGUgZGV0ZWN0aW9uIGxpbWl0IGRlcGVuZHMgb24gdGhlIHNhbXBsZSB2b2x1bWUsIHRoZSBpbnN0cnVtZW50IHVzZWQsIHRoZSBjb3VudGluZyB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlLCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kgYW5kIHRoZSBjaGVtaWNhbCB5aWVsZC4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwgdXNpbmcgY3VycmVudGx5IGF2YWlsYWJsZSBhbHBoYSBzcGVjdHJvbWV0cnkgYXBwYXJhdHVzLCBoYXMgYSBkZXRlY3Rpb24gbGltaXQgb2YgYXBwcm94aW1hdGVseSA1IG1CcSBsIOKIkjEgLCB3aGljaCBpcyBsb3dlciB0aGFuIHRoZSBXSE8gY3JpdGVyaWEgZm9yIHNhZmUgY29uc3VtcHRpb24gb2YgZHJpbmtpbmcgd2F0ZXIgKDEwMCBtQnEgbCDiiJIxICkuIFRoaXMgdmFsdWUgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIDI0IGggZm9yIGEgc2FtcGxlIHZvbHVtZSBvZiA1MDAgbWwuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgaXMgYWxzbyBhcHBsaWNhYmxlIGluIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24uIFRoZSBhbmFseXNpcyBvZiAyMTAgUG8gYWRzb3JiZWQgdG8gc3VzcGVuZGVkIG1hdHRlciBpbiB0aGUgc2FtcGxlIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgbWV0aG9kLiBJZiBzdXNwZW5kZWQgbWF0ZXJpYWwgaGFzIHRvIGJlIHJlbW92ZWQgb3IgYW5hbHlzZWQsIGZpbHRyYXRpb24gdXNpbmcgYSAwLDQ1IM68bSBmaWx0ZXIgaXMgcmVjb21tZW5kZWQuIFRoZSBhbmFseXNpcyBvZiB0aGUgaW5zb2x1YmxlIGZyYWN0aW9uIHJlcXVpcmVzIGEgbWluZXJhbGl6YXRpb24gc3RlcCB0aGF0IGlzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgZG9jdW1lbnQgWzEzXSAuIEluIHRoaXMgY2FzZSwgdGhlIG1lYXN1cmVtZW50IGlzIG1hZGUgb24gdGhlIGRpZmZlcmVudCBwaGFzZXMgb2J0YWluZWQuIFRoZSBmaW5hbCBhY3Rpdml0eSBpcyB0aGUgc3VtIG9mIGFsbCB0aGUgbWVhc3VyZWQgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMuIEl0IGlzIHRoZSB1c2VyJ3MgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm1hdGNoTGV2ZWwiOiJub25lIiwibWF0Y2hlZFdvcmRzIjpbXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzQzLzc0MzM3IiwidXVpZCI6ImIwNzJjNDBhLTdlODYtNGNkYS1iODUzLTRhNDA5ZjMzYTg4YiIsInRpdGxlIjoiSVNPIDEzMTg1LTQ6MjAyMCBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgVmVoaWNsZSBpbnRlcmZhY2UgZm9yIHByb3Zpc2lvbmluZyBhbmQgc3VwcG9ydCBvZiBJVFMgU2VydmljZXMg4oCUIFBhcnQgNDogVW5pZmllZCB2ZWhpY2xlIGludGVyZmFjZSBwcm90b2NvbCAoVVZJUCkgY29uZm9ybWFuY2UgdGVzdCBzcGVjaWZpY2F0aW9uIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBjb25mb3JtYW5jZSB0ZXN0IGZvciBhIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtIGRldmVsb3BlciBhc3Nlc3NtZW50IG9mIHNlbGYtY29uZm9ybWFuY2Ugb2YgdGhlIHN1cHBsaWVyJ3MgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0uIFRoZSBjb25mb3JtYW5jZSB0ZXN0IGNhc2VzIGZvbGxvdyB0aGUgdXNlIGNhc2VzIGRlZmluaXRpb24gb2YgSVNPIDEzMTg1LTEgYW5kIHRoZSByZXF1aXJlbWVudHMgc3RhdGVkIGluIElTTyAxMzE4NS0yIGFuZCBJU08gMTMxODUtMy4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBkb2N1bWVudCBpcyB0byBwcm92aWRlIGluZm9ybWF0aW9uIHRvIHRoZSBVVklQIHNlcnZlciBhbmQgY2xpZW50IHN5c3RlbSBwcm92aWRlciB0byBidWlsZCBhbmQgdGVzdCB0aGUgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0gYWdhaW5zdCB0aGUgY29uZm9ybWFuY2UgdGVzdCBjYXNlcy4gIiwib2JqZWN0SUQiOiI3NDMzN18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS00OjIwMjAgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIFNlcnZpY2VzIOKAlCBQYXJ0IDQ6IFVuaWZpZWQgdmVoaWNsZSBpbnRlcmZhY2UgcHJvdG9jb2wgKFVWSVApIGNvbmZvcm1hbmNlIHRlc3Qgc3BlY2lmaWNhdGlvbiIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIGNvbmZvcm1hbmNlIHRlc3QgZm9yIGEgVVZJUCBzZXJ2ZXIgYW5kIGNsaWVudCBzeXN0ZW0gZGV2ZWxvcGVyIGFzc2Vzc21lbnQgb2Ygc2VsZi1jb25mb3JtYW5jZSBvZiB0aGUgc3VwcGxpZXIncyBVVklQIHNlcnZlciBhbmQgY2xpZW50IHN5c3RlbS4gVGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMgZm9sbG93IHRoZSB1c2UgY2FzZXMgZGVmaW5pdGlvbiBvZiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMSBhbmQgdGhlIHJlcXVpcmVtZW50cyBzdGF0ZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTIgYW5kIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS0zLiBUaGUgcHVycG9zZSBvZiB0aGlzIGRvY3VtZW50IGlzIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gdG8gdGhlIFVWSVAgc2VydmVyIGFuZCBjbGllbnQgc3lzdGVtIHByb3ZpZGVyIHRvIGJ1aWxkIGFuZCB0ZXN0IHRoZSBVVklQIHNlcnZlciBhbmQgY2xpZW50IHN5c3RlbSBhZ2FpbnN0IHRoZSBjb25mb3JtYW5jZSB0ZXN0IGNhc2VzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8zMS82MzEzNSIsInV1aWQiOiI1MWE4NGM2Ni1jMDZmLTRlMjUtYWRjOC02NGNiODJmYmYyYjMiLCJ0aXRsZSI6IklTTyAxMzExNjoyMDE0IERlbnRpc3RyeSDigJQgVGVzdCBtZXRob2QgZm9yIGRldGVybWluaW5nIHJhZGlvLW9wYWNpdHkgb2YgbWF0ZXJpYWxzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTE2OjIwMTQgc3BlY2lmaWVzIHRlc3QgbWV0aG9kcyBmb3IgZGV0ZXJtaW5hdGlvbiBvZiByYWRpby1vcGFjaXR5IG9mIGEgdGVzdCBtYXRlcmlhbCBieSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBvZiBhbiBhbHVtaW5pdW0gc3RhbmRhcmQuIFRoZSBtZXRob2QgaXMgZGVzaWduZWQgdG8gZGlzY3JpbWluYXRlIHJhZGlvLW9wYWNpdHkgYXQgYSBjbGluaWNhbGx5IG1lYW5pbmdmdWwgbGV2ZWwgYW5kIGlzIG5vdCBkZXNpZ25lZCB0byB0YWtlIGFjY291bnQgb2YgZmFjdG9ycyB3aGljaCBtYXkgYWZmZWN0IHByZWNpc2UsIGluaGVyZW50IHZhbHVlcyBvZiByYWRpby1vcGFjaXR5IHN1Y2ggYXMgYmFja2dyb3VuZCBub2lzZSwgWC1yYXkgYmVhbSBwb3dlciwgZ3JleSBzY2FsZSBjb3JyZWN0aW9uIGFuZCBpbWFnZSBlbmhhbmNlbWVudC4gSXQgaXMgcmVjb2duaXplZCB0aGF0IHN1Y2ggZmFjdG9ycyBjYW4gY2hhbmdlIHRoZSB2YWx1ZSBvZiByYWRpby1vcGFjaXR5IGJ1dCBub3QgdGhlIHJlbGF0aXZlIHJhbmtpbmcgY29tcGFyZWQgdG8gc3RhbmRhcmQgdGhpY2tuZXNzZXMgb2YgYW4gaW50ZXJuYWwgc3RhbmRhcmQgc3VjaCBhcyBhbHVtaW5pdW0uIFRoaXMgdGVzdCBtYXkgYmUgcGVyZm9ybWVkIHdpdGggY29udmVudGlvbmFsIG9yIGRpZ2l0YWwgc2Vuc29yaW5nIHRlY2huaXF1ZXMgb2YgZGVudGFsIFgtcmF5IGFwcGFyYXR1cy4gIiwib2JqZWN0SUQiOiI2MzEzNV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xNjoyMDE0IERlbnRpc3RyeSDigJQgVGVzdCBtZXRob2QgZm9yIGRldGVybWluaW5nIHJhZGlvLW9wYWNpdHkgb2YgbWF0ZXJpYWxzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xNjoyMDE0IHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgZm9yIGRldGVybWluYXRpb24gb2YgcmFkaW8tb3BhY2l0eSBvZiBhIHRlc3QgbWF0ZXJpYWwgYnkgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gb2YgYW4gYWx1bWluaXVtIHN0YW5kYXJkLiBUaGUgbWV0aG9kIGlzIGRlc2lnbmVkIHRvIGRpc2NyaW1pbmF0ZSByYWRpby1vcGFjaXR5IGF0IGEgY2xpbmljYWxseSBtZWFuaW5nZnVsIGxldmVsIGFuZCBpcyBub3QgZGVzaWduZWQgdG8gdGFrZSBhY2NvdW50IG9mIGZhY3RvcnMgd2hpY2ggbWF5IGFmZmVjdCBwcmVjaXNlLCBpbmhlcmVudCB2YWx1ZXMgb2YgcmFkaW8tb3BhY2l0eSBzdWNoIGFzIGJhY2tncm91bmQgbm9pc2UsIFgtcmF5IGJlYW0gcG93ZXIsIGdyZXkgc2NhbGUgY29ycmVjdGlvbiBhbmQgaW1hZ2UgZW5oYW5jZW1lbnQuIEl0IGlzIHJlY29nbml6ZWQgdGhhdCBzdWNoIGZhY3RvcnMgY2FuIGNoYW5nZSB0aGUgdmFsdWUgb2YgcmFkaW8tb3BhY2l0eSBidXQgbm90IHRoZSByZWxhdGl2ZSByYW5raW5nIGNvbXBhcmVkIHRvIHN0YW5kYXJkIHRoaWNrbmVzc2VzIG9mIGFuIGludGVybmFsIHN0YW5kYXJkIHN1Y2ggYXMgYWx1bWluaXVtLiBUaGlzIHRlc3QgbWF5IGJlIHBlcmZvcm1lZCB3aXRoIGNvbnZlbnRpb25hbCBvciBkaWdpdGFsIHNlbnNvcmluZyB0ZWNobmlxdWVzIG9mIGRlbnRhbCBYLXJheSBhcHBhcmF0dXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzY4LzU2ODIxIiwidXVpZCI6IjkzMjg0MmU0LTQ5YzUtNDE5ZC1hNjBiLTM0NmM1M2I5YTZmYiIsInRpdGxlIjoiSVNPIDEzMTg1LTI6MjAxNSBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgVmVoaWNsZSBpbnRlcmZhY2UgZm9yIHByb3Zpc2lvbmluZyBhbmQgc3VwcG9ydCBvZiBJVFMgc2VydmljZXMg4oCUIFBhcnQgMjogVW5pZmllZCBnYXRld2F5IHByb3RvY29sIChVR1ApIHJlcXVpcmVtZW50cyBhbmQgc3BlY2lmaWNhdGlvbiBmb3IgdmVoaWNsZSBJVFMgc3RhdGlvbiBnYXRld2F5IChWLUlUUy1TRykgaW50ZXJmYWNlIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTg1LTI6MjAxNSBzcGVjaWZpZXMgdGhlIHJlcXVpcmVtZW50cyBvZiBhbiBBU04uMS1iYXNlZCBwcm90b2NvbCBiZXR3ZWVuIGEgdmVoaWNsZS1JVFMtU3RhdGlvbiBHYXRld2F5IChWLUlUUy1TRykgYW5kIGEgbm9tYWRpYyBhbmQvb3IgbW9iaWxlIGRldmljZSAoTkQpIHRvIGVhc2lseSBleGNoYW5nZSB2ZWhpY2xlIGluZm9ybWF0aW9uIGRhdGEuIFRoZSBBU04uMS1iYXNlZCBwcm90b2NvbCBoYXMgYmVlbiBzcGVjaWZpZWQgdG8gc3VwcG9ydCBhIHdpcmVkIG9yIHdpcmVsZXNzIGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgTkQgYW5kIFYtSVRTLVNHLiBUaGUgVW5pZmllZCBHYXRld2F5IFByb3RvY29sIChVR1ApIGlzIHVzZWQgYmV0d2VlbiB0aGUgVi1JVFMtU0cgYW5kIHRoZSBORC4gVUdQIHN1cHBvcnRzIHNldmVyYWwgZmVhdHVyZXMgaW4gb3JkZXIgdG8gcHJvdmlkZSDCtyAgICAgICAgIGF1dGhvcml6YXRpb24gKGRhdGEgcHJpdmFjeSksIMK3ICAgICAgICAgc2VjdXJlZCBhY2Nlc3MsIMK3ICAgICAgICAgVi1JVFMtU0cgYW5kIGluLXZlaGljbGUgRUNVcyBpZGVudGlmaWNhdGlvbiwgwrcgICAgICAgICByZWFsLXRpbWUgdmVoaWNsZSBkYXRhIHBhcmFtZXRlcnMgd2l0aCBpZGVudGlmaWVyIGFuZCB0eXBlIGluZm9ybWF0aW9uIGluIEFTTi4xIGZvcm1hdCwgYW5kIMK3ICAgICAgICAgZW5oYW5jZWQgdmVoaWNsZSBkYXRhIHBhcmFtZXRlcnMgd2l0aCBpZGVudGlmaWVyIGFuZCB0eXBlIGluZm9ybWF0aW9uIGluIEFTTi4xIGZvcm1hdC4gIiwib2JqZWN0SUQiOiI1NjgyMV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS0yOjIwMTUgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIFZlaGljbGUgaW50ZXJmYWNlIGZvciBwcm92aXNpb25pbmcgYW5kIHN1cHBvcnQgb2YgSVRTIHNlcnZpY2VzIOKAlCBQYXJ0IDI6IFVuaWZpZWQgZ2F0ZXdheSBwcm90b2NvbCAoVUdQKSByZXF1aXJlbWVudHMgYW5kIHNwZWNpZmljYXRpb24gZm9yIHZlaGljbGUgSVRTIHN0YXRpb24gZ2F0ZXdheSAoVi1JVFMtU0cpIGludGVyZmFjZSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMjoyMDE1IHNwZWNpZmllcyB0aGUgcmVxdWlyZW1lbnRzIG9mIGFuIEFTTi4xLWJhc2VkIHByb3RvY29sIGJldHdlZW4gYSB2ZWhpY2xlLUlUUy1TdGF0aW9uIEdhdGV3YXkgKFYtSVRTLVNHKSBhbmQgYSBub21hZGljIGFuZC9vciBtb2JpbGUgZGV2aWNlIChORCkgdG8gZWFzaWx5IGV4Y2hhbmdlIHZlaGljbGUgaW5mb3JtYXRpb24gZGF0YS4gVGhlIEFTTi4xLWJhc2VkIHByb3RvY29sIGhhcyBiZWVuIHNwZWNpZmllZCB0byBzdXBwb3J0IGEgd2lyZWQgb3Igd2lyZWxlc3MgY29ubmVjdGlvbiBiZXR3ZWVuIHRoZSBORCBhbmQgVi1JVFMtU0cuIFRoZSBVbmlmaWVkIEdhdGV3YXkgUHJvdG9jb2wgKFVHUCkgaXMgdXNlZCBiZXR3ZWVuIHRoZSBWLUlUUy1TRyBhbmQgdGhlIE5ELiBVR1Agc3VwcG9ydHMgc2V2ZXJhbCBmZWF0dXJlcyBpbiBvcmRlciB0byBwcm92aWRlIMK3ICAgICAgICAgYXV0aG9yaXphdGlvbiAoZGF0YSBwcml2YWN5KSwgwrcgICAgICAgICBzZWN1cmVkIGFjY2VzcywgwrcgICAgICAgICBWLUlUUy1TRyBhbmQgaW4tdmVoaWNsZSBFQ1VzIGlkZW50aWZpY2F0aW9uLCDCtyAgICAgICAgIHJlYWwtdGltZSB2ZWhpY2xlIGRhdGEgcGFyYW1ldGVycyB3aXRoIGlkZW50aWZpZXIgYW5kIHR5cGUgaW5mb3JtYXRpb24gaW4gQVNOLjEgZm9ybWF0LCBhbmQgwrcgICAgICAgICBlbmhhbmNlZCB2ZWhpY2xlIGRhdGEgcGFyYW1ldGVycyB3aXRoIGlkZW50aWZpZXIgYW5kIHR5cGUgaW5mb3JtYXRpb24gaW4gQVNOLjEgZm9ybWF0LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ5NCIsInV1aWQiOiI4Y2RmODJlOC05ZjJkLTQyZmItOWQxMy0wNmRhOWE3YmQ5NTUiLCJ0aXRsZSI6IklTTyAxMzE5OToyMDEyIFN0YXRpb25hcnkgc291cmNlIGVtaXNzaW9ucyDigJQgRGV0ZXJtaW5hdGlvbiBvZiB0b3RhbCB2b2xhdGlsZSBvcmdhbmljIGNvbXBvdW5kcyAoVFZPQ3MpIGluIHdhc3RlIGdhc2VzIGZyb20gbm9uLWNvbWJ1c3Rpb24gcHJvY2Vzc2VzIOKAlCBOb24tZGlzcGVyc2l2ZSBpbmZyYXJlZCBhbmFseXNlciBlcXVpcHBlZCB3aXRoIGNhdGFseXRpYyBjb252ZXJ0ZXIiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxOTk6MjAxMiBzcGVjaWZpZXMgdGhlIHByaW5jaXBsZSwgdGhlIGVzc2VudGlhbCBwZXJmb3JtYW5jZSBjcml0ZXJpYSBhbmQgcXVhbGl0eSBhc3N1cmFuY2UvcXVhbGl0eSBjb250cm9sIChRQS9RQykgcHJvY2VkdXJlcyBvZiBhbiBhdXRvbWF0aWMgbWV0aG9kIGZvciBtZWFzdXJpbmcgdG90YWwgdm9sYXRpbGUgb3JnYW5pYyBjb21wb3VuZCAoVFZPQykgY29udGVudCBpbiB3YXN0ZSBnYXNlcyBvZiBzdGF0aW9uYXJ5IHNvdXJjZXMsIHVzaW5nIGEgbm9uLWRpc3BlcnNpdmUgaW5mcmFyZWQgYWJzb3JwdGlvbiAoTkRJUikgYW5hbHlzZXIgZXF1aXBwZWQgd2l0aCBhIGNhdGFseXRpYyBjb252ZXJ0ZXIgd2hpY2ggb3hpZGl6ZXMgVk9DIHRvIGNhcmJvbiBkaW94aWRlLiBUaGlzIG1ldGhvZCBpcyBzdWl0YWJsZSBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIFRWT0MgZW1pc3Npb25zIGZyb20gbm9uLWNvbWJ1c3Rpb24gcHJvY2Vzc2VzLiBUaGlzIG1ldGhvZCBhbGxvd3MgY29udGludW91cyBtb25pdG9yaW5nIHdpdGggcGVybWFuZW50bHkgaW5zdGFsbGVkIG1lYXN1cmluZyBzeXN0ZW1zLCBhcyB3ZWxsIGFzIGludGVybWl0dGVudCBtZWFzdXJlbWVudHMgb2YgVFZPQyBlbWlzc2lvbnMuIFRoZSBtZXRob2QgaGFzIGJlZW4gdGVzdGVkIG9uIGZpZWxkIG9wZXJhdGlvbiBmb3IgcGFpbnRpbmcgYW5kIHByaW50aW5nIHByb2Nlc3Nlcywgd2hlcmUgVFZPQyBjb25jZW50cmF0aW9ucyBpbiB0aGUgd2FzdGUgZ2FzZXMgd2VyZSBmcm9tIGFib3V0IDcwIG1nL20gMyB0byA2MDAgbWcvbSAzIC4gIiwib2JqZWN0SUQiOiI1MzQ5NF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45OToyMDEyIFN0YXRpb25hcnkgc291cmNlIGVtaXNzaW9ucyDigJQgRGV0ZXJtaW5hdGlvbiBvZiB0b3RhbCB2b2xhdGlsZSBvcmdhbmljIGNvbXBvdW5kcyAoVFZPQ3MpIGluIHdhc3RlIGdhc2VzIGZyb20gbm9uLWNvbWJ1c3Rpb24gcHJvY2Vzc2VzIOKAlCBOb24tZGlzcGVyc2l2ZSBpbmZyYXJlZCBhbmFseXNlciBlcXVpcHBlZCB3aXRoIGNhdGFseXRpYyBjb252ZXJ0ZXIiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjk5OjIwMTIgc3BlY2lmaWVzIHRoZSBwcmluY2lwbGUsIHRoZSBlc3NlbnRpYWwgcGVyZm9ybWFuY2UgY3JpdGVyaWEgYW5kIHF1YWxpdHkgYXNzdXJhbmNlL3F1YWxpdHkgY29udHJvbCAoUUEvUUMpIHByb2NlZHVyZXMgb2YgYW4gYXV0b21hdGljIG1ldGhvZCBmb3IgbWVhc3VyaW5nIHRvdGFsIHZvbGF0aWxlIG9yZ2FuaWMgY29tcG91bmQgKFRWT0MpIGNvbnRlbnQgaW4gd2FzdGUgZ2FzZXMgb2Ygc3RhdGlvbmFyeSBzb3VyY2VzLCB1c2luZyBhIG5vbi1kaXNwZXJzaXZlIGluZnJhcmVkIGFic29ycHRpb24gKE5ESVIpIGFuYWx5c2VyIGVxdWlwcGVkIHdpdGggYSBjYXRhbHl0aWMgY29udmVydGVyIHdoaWNoIG94aWRpemVzIFZPQyB0byBjYXJib24gZGlveGlkZS4gVGhpcyBtZXRob2QgaXMgc3VpdGFibGUgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiBUVk9DIGVtaXNzaW9ucyBmcm9tIG5vbi1jb21idXN0aW9uIHByb2Nlc3Nlcy4gVGhpcyBtZXRob2QgYWxsb3dzIGNvbnRpbnVvdXMgbW9uaXRvcmluZyB3aXRoIHBlcm1hbmVudGx5IGluc3RhbGxlZCBtZWFzdXJpbmcgc3lzdGVtcywgYXMgd2VsbCBhcyBpbnRlcm1pdHRlbnQgbWVhc3VyZW1lbnRzIG9mIFRWT0MgZW1pc3Npb25zLiBUaGUgbWV0aG9kIGhhcyBiZWVuIHRlc3RlZCBvbiBmaWVsZCBvcGVyYXRpb24gZm9yIHBhaW50aW5nIGFuZCBwcmludGluZyBwcm9jZXNzZXMsIHdoZXJlIFRWT0MgY29uY2VudHJhdGlvbnMgaW4gdGhlIHdhc3RlIGdhc2VzIHdlcmUgZnJvbSBhYm91dCA3MCBtZy9tIDMgdG8gNjAwIG1nL20gMyAuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDQ3IiwidXVpZCI6ImQxYTc0ZWI2LWNlM2MtNGYzYS1hNTgxLTc1YWYzNDVjMzIzYyIsInRpdGxlIjoiSVNPIDEzMTc1LTM6MjAxMiBJbXBsYW50cyBmb3Igc3VyZ2VyeSDigJQgQ2FsY2l1bSBwaG9zcGhhdGVzIOKAlCBQYXJ0IDM6IEh5ZHJveHlhcGF0aXRlIGFuZCBiZXRhLXRyaWNhbGNpdW0gcGhvc3BoYXRlIGJvbmUgc3Vic3RpdHV0ZXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTEsInRleHQiOiIxIFNjb3BlIFRoaXMgcGFydCBvZiBJU08gMTMxNzUgc3BlY2lmaWVzIHJlcXVpcmVtZW50cyBmb3IgbW9ub3BoYXNpYyBoeWRyb3h5YXBhdGl0ZSBib25lIHN1YnN0aXR1dGVzLCBtb25vcGhhc2ljIM6yLXRyaWNhbGNpdW0gcGhvc3BoYXRlIGJvbmUgc3Vic3RpdHV0ZXMgYW5kIGJpcGhhc2ljIGh5ZHJveHlhcGF0aXRlL86yLXRyaWNhbGNpdW0gcGhvc3BoYXRlIGJvbmUgc3Vic3RpdHV0ZXMgaW4gdGhlIGZvcm0gb2YgYmxvY2tzIG9yIGdyYW51bGVzLiBUaGlzIHBhcnQgb2YgSVNPIDEzMTc1IGlzIG5vdCBhcHBsaWNhYmxlIHRvIGNlbGwtc2VlZGVkIGJvbmUgdm9pZCBmaWxsZXJzLCBjYWxjaXVtIHBob3NwaGF0ZSBjZW1lbnRzIG9yIGJvbmUgdm9pZCBmaWxsZXJzIGNvbnRhaW5pbmcgbWF0ZXJpYWxzIG90aGVyIHRoYW4gaHlkcm94eWFwYXRpdGUgYW5kIM6yLXRyaWNhbGNpdW0gcGhvc3BoYXRlLiAiLCJvYmplY3RJRCI6IjUzNDQ3XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc1LTM6MjAxMiBJbXBsYW50cyBmb3Igc3VyZ2VyeSDigJQgQ2FsY2l1bSBwaG9zcGhhdGVzIOKAlCBQYXJ0IDM6IEh5ZHJveHlhcGF0aXRlIGFuZCBiZXRhLXRyaWNhbGNpdW0gcGhvc3BoYXRlIGJvbmUgc3Vic3RpdHV0ZXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiMSBTY29wZSBUaGlzIHBhcnQgb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc1IHNwZWNpZmllcyByZXF1aXJlbWVudHMgZm9yIG1vbm9waGFzaWMgaHlkcm94eWFwYXRpdGUgYm9uZSBzdWJzdGl0dXRlcywgbW9ub3BoYXNpYyDOsi10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIGFuZCBiaXBoYXNpYyBoeWRyb3h5YXBhdGl0ZS/Osi10cmljYWxjaXVtIHBob3NwaGF0ZSBib25lIHN1YnN0aXR1dGVzIGluIHRoZSBmb3JtIG9mIGJsb2NrcyBvciBncmFudWxlcy4gVGhpcyBwYXJ0IG9mIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NSBpcyBub3QgYXBwbGljYWJsZSB0byBjZWxsLXNlZWRlZCBib25lIHZvaWQgZmlsbGVycywgY2FsY2l1bSBwaG9zcGhhdGUgY2VtZW50cyBvciBib25lIHZvaWQgZmlsbGVycyBjb250YWluaW5nIG1hdGVyaWFscyBvdGhlciB0aGFuIGh5ZHJveHlhcGF0aXRlIGFuZCDOsi10cmljYWxjaXVtIHBob3NwaGF0ZS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0MDkiLCJ1dWlkIjoiNTg0MDQwZjEtZjg3Yi00Yjg2LTg4YjUtYTRkODQwMzY2NDNlIiwidGl0bGUiOiJJU08gMTMxNjg6MjAxNSBXYXRlciBxdWFsaXR5IOKAlCBTaW11bHRhbmVvdXMgZGV0ZXJtaW5hdGlvbiBvZiB0cml0aXVtIGFuZCBjYXJib24gMTQgYWN0aXZpdGllcyDigJQgVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDIwLCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjg6MjAxNSBkZXNjcmliZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIHNpbXVsdGFuZW91cyBtZWFzdXJlbWVudCBvZiB0cml0aXVtIGFuZCBjYXJib24tMTQgaW4gd2F0ZXIgc2FtcGxlcyBieSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyBvZiBhIHNvdXJjZSBvYnRhaW5lZCBieSBtaXhpbmcgdGhlIHdhdGVyIHNhbXBsZSB3aXRoIGEgaHlkcm9waGlsaWMgc2NpbnRpbGxhdGlvbiBjb2NrdGFpbC4gVGhpcyBpcyBjb25zaWRlcmVkIGEgc2NyZWVuaW5nIG1ldGhvZCBiZWNhdXNlIG9mIHRoZSBwb3RlbnRpYWwgcHJlc2VuY2Ugb2YgaW50ZXJmZXJpbmcgbnVjbGlkZXMgaW4gdGhlIHRlc3Qgc2FtcGxlLiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIGZvciBhbnkgdHlwZSBvZiBlbnZpcm9ubWVudGFsIHN0dWR5IG9yIG1vbml0b3JpbmcuIElTTyAxMzE2ODoyMDE1IGlzIGFwcGxpY2FibGUgdG8gYWxsIHR5cGVzIG9mIHdhdGVycyBoYXZpbmcgYW4gYWN0aXZpdHkgY29uY2VudHJhdGlvbiByYW5naW5nIGZyb20gNSBCcS9sIHRvIDEwIDYgQnEvbCAodXBwZXIgbGltaXQgb2YgdGhlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzIGZvciBkaXJlY3QgY291bnRpbmcpLiBGb3IgaGlnaGVyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB0aGUgc2FtcGxlIGNhbiBiZSBkaWx1dGVkIHRvIG9idGFpbiBhIHRlc3Qgc2FtcGxlIHdpdGhpbiB0aGlzIHJhbmdlLiAiLCJvYmplY3RJRCI6IjUzNDA5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY4OjIwMTUgV2F0ZXIgcXVhbGl0eSDigJQgU2ltdWx0YW5lb3VzIGRldGVybWluYXRpb24gb2YgdHJpdGl1bSBhbmQgY2FyYm9uIDE0IGFjdGl2aXRpZXMg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42ODoyMDE1IGRlc2NyaWJlcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgc2ltdWx0YW5lb3VzIG1lYXN1cmVtZW50IG9mIHRyaXRpdW0gYW5kIGNhcmJvbi0xNCBpbiB3YXRlciBzYW1wbGVzIGJ5IGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG9mIGEgc291cmNlIG9idGFpbmVkIGJ5IG1peGluZyB0aGUgd2F0ZXIgc2FtcGxlIHdpdGggYSBoeWRyb3BoaWxpYyBzY2ludGlsbGF0aW9uIGNvY2t0YWlsLiBUaGlzIGlzIGNvbnNpZGVyZWQgYSBzY3JlZW5pbmcgbWV0aG9kIGJlY2F1c2Ugb2YgdGhlIHBvdGVudGlhbCBwcmVzZW5jZSBvZiBpbnRlcmZlcmluZyBudWNsaWRlcyBpbiB0aGUgdGVzdCBzYW1wbGUuIFRoZSBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIGFueSB0eXBlIG9mIGVudmlyb25tZW50YWwgc3R1ZHkgb3IgbW9uaXRvcmluZy4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY4OjIwMTUgaXMgYXBwbGljYWJsZSB0byBhbGwgdHlwZXMgb2Ygd2F0ZXJzIGhhdmluZyBhbiBhY3Rpdml0eSBjb25jZW50cmF0aW9uIHJhbmdpbmcgZnJvbSA1IEJxL2wgdG8gMTAgNiBCcS9sICh1cHBlciBsaW1pdCBvZiB0aGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMgZm9yIGRpcmVjdCBjb3VudGluZykuIEZvciBoaWdoZXIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHRoZSBzYW1wbGUgY2FuIGJlIGRpbHV0ZWQgdG8gb2J0YWluIGEgdGVzdCBzYW1wbGUgd2l0aGluIHRoaXMgcmFuZ2UuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzkzLzY5MzE4IiwidXVpZCI6ImJhZjQyOWMwLWExZjUtNDk5ZS05MGI1LWIxYmM3YTNiMWM5YSIsInRpdGxlIjoiSVNPIDEzMTIwOjIwMTkgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBTeW50YXggdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyDigJQgQ2xhc3NpZmljYXRpb24gTWFya3VwIExhbmd1YWdlIChDbGFNTCkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJUaGUgbWFpbiBwdXJwb3NlIG9mIENsYU1MIGlzIHRvIGZvcm1hbGx5IHJlcHJlc2VudCB0aGUgY29udGVudCBhbmQgaGllcmFyY2hpY2FsIHN0cnVjdHVyZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gYSBtYXJrdXAgbGFuZ3VhZ2UgZm9yIHRoZSBzYWZlIGV4Y2hhbmdlIGFuZCBkaXN0cmlidXRpb24gb2YgZGF0YSBhbmQgc3RydWN0dXJlIGJldHdlZW4gb3JnYW5pemF0aW9ucyBhbmQgZGlzc2ltaWxhciBzb2Z0d2FyZSBwcm9kdWN0cy4gVGhlIHNjb3BlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBjb3ZlcmVkIGJ5IHRoaXMgZG9jdW1lbnQgZW5jb21wYXNzZXMgdGVybWlub2xvZ2llcywgYW5kIGlzIGNvbnN0cmFpbmVkIHRvIHRyYWRpdGlvbmFsIHBhcGVyLWJhc2VkIHN5c3RlbXMgKGxpa2UgSUNELTEwKSBhbmQgc3lzdGVtcyBidWlsdCBhY2NvcmRpbmcgdG8gY2F0ZWdvcmlhbCBzdHJ1Y3R1cmVzIGFuZCBhIGNyb3NzIHRoZXNhdXJ1cyAobGlrZSBJQ05QKVsyXS4gQ2xhTUwgaXMgaW50ZW5kZWQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiB3aGljaCBjbGFzc2VzIGhhdmUgdGV4dHVhbCBkZWZpbml0aW9ucywgaGllcmFyY2hpY2FsIG9yZGVyaW5nLCBuYW1lZCBoaWVyYXJjaGljYWwgbGV2ZWxzIChzdWNoIGFzIFwiY2hhcHRlclwiLCBcInNlY3Rpb25cIiksIGluY2x1c2lvbiBhbmQgZXhjbHVzaW9uIGNyaXRlcmlhLCBhbmQgY29kZXMuIEl0IGlzIG5vdCBpbnRlbmRlZCB0byBjb3ZlciBhbnkgZm9ybWFsIHJlcHJlc2VudGF0aW9uLCBuZWl0aGVyIGZvciBkZWZpbml0aW9uIG9yIGNvbXBvc2l0aW9uIG9mIGNvbmNlcHRzLCBub3IgZm9yIHNwZWNpZmljYXRpb24gb2YgY2xhc3NpZmljYXRpb24gcnVsZXMuIFN5c3RlbXMgd2l0aCBzdWNoIGZvcm1hbCBzcGVjaWZpY2F0aW9ucyBjYW4gYXQgYmVzdCBiZSBwYXJ0aWFsbHkgcmVwcmVzZW50ZWQgdXNpbmcgQ2xhTUwsIGFuZCBhcmUgaGVuY2Ugb3V0IG9mIHNjb3BlLiBNb3N0IG9mIHRoZSBub3RlcyBhbmQgZXhhbXBsZXMgaW4gdGhpcyBkb2N1bWVudCByZWxhdGUgdG8gSUNELiBUaGlzIGlzIGJlY2F1c2UgSUNEIGlzIHRoZSBtb3N0IGNvbW1vbiBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaW4gdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuIEFzIGEgaGlnaGx5IGNvbXBsZXggY2xhc3NpZmljYXRpb24gc3lzdGVtIGl0IGlzIGFuIGluZXhoYXVzdGlibGUgc291cmNlIGZvciBleGFtcGxlcyBvZiBuZWFybHkgYW55IGtpbmQuIEJ1dCBhbGwgdGhlc2Ugbm90ZXMgYW5kIGV4YW1wbGVzIHJlcHJlc2VudCBhbHNvIG90aGVyIHNpbWlsYXIgY2xhc3NpZmljYXRpb24gc3lzdGVtcywgaWYgYXBwbGljYWJsZSwgd2hpY2ggYXJlIHVzdWFsbHkgbGVzcyBjb21wbGV4LiBBbiBvdmVydmlldyBvZiBjdXJyZW50bHkga25vd24gY2xhc3NpZmljYXRpb24gc3lzdGVtcyB1c2luZyBDbGFNTCBpcyBwcm92aWRlZCBpbiBhIHNlcGFyYXRlIGRvY3VtZW50IHdoaWNoIGlzIGVsZWN0cm9uaWNhbGx5IGF2YWlsYWJsZSAoc2VlIDcuMykuIFRoaXMgZG9jdW1lbnQgaXMgbm90IGludGVuZGVkIHRvOiBhKSAgICBwcm92aWRlIGEgbm9ybWF0aXZlIHN5bnRheCBvbiBob3cgYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpcyB0byBiZSBjb25zdHJ1Y3RlZDsgYikgICAgZGVmaW5lIGxpbmsgdHlwZXMgYmV0d2VlbiBlbGVtZW50cyBpbiBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtICh0aGlzIGlzIGxlZnQgdG8gdGhlIGRldmVsb3BlcnMgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zKTsgYykgICAgcHJvdmlkZSBhIHJlcHJlc2VudGF0aW9uIGZvciBkaXJlY3Qgdmlld2luZyBvciBwcmludGluZy4gIiwib2JqZWN0SUQiOiI2OTMxOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMDoyMDE5IEhlYWx0aCBpbmZvcm1hdGljcyDigJQgU3ludGF4IHRvIHJlcHJlc2VudCB0aGUgY29udGVudCBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMg4oCUIENsYXNzaWZpY2F0aW9uIE1hcmt1cCBMYW5ndWFnZSAoQ2xhTUwpIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoZSBtYWluIHB1cnBvc2Ugb2YgQ2xhTUwgaXMgdG8gZm9ybWFsbHkgcmVwcmVzZW50IHRoZSBjb250ZW50IGFuZCBoaWVyYXJjaGljYWwgc3RydWN0dXJlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiBhIG1hcmt1cCBsYW5ndWFnZSBmb3IgdGhlIHNhZmUgZXhjaGFuZ2UgYW5kIGRpc3RyaWJ1dGlvbiBvZiBkYXRhIGFuZCBzdHJ1Y3R1cmUgYmV0d2VlbiBvcmdhbml6YXRpb25zIGFuZCBkaXNzaW1pbGFyIHNvZnR3YXJlIHByb2R1Y3RzLiBUaGUgc2NvcGUgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGNvdmVyZWQgYnkgdGhpcyBkb2N1bWVudCBlbmNvbXBhc3NlcyB0ZXJtaW5vbG9naWVzLCBhbmQgaXMgY29uc3RyYWluZWQgdG8gdHJhZGl0aW9uYWwgcGFwZXItYmFzZWQgc3lzdGVtcyAobGlrZSBJQ0QtMTApIGFuZCBzeXN0ZW1zIGJ1aWx0IGFjY29yZGluZyB0byBjYXRlZ29yaWFsIHN0cnVjdHVyZXMgYW5kIGEgY3Jvc3MgdGhlc2F1cnVzIChsaWtlIElDTlApWzJdLiBDbGFNTCBpcyBpbnRlbmRlZCBmb3IgcmVwcmVzZW50YXRpb24gb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGluIHdoaWNoIGNsYXNzZXMgaGF2ZSB0ZXh0dWFsIGRlZmluaXRpb25zLCBoaWVyYXJjaGljYWwgb3JkZXJpbmcsIG5hbWVkIGhpZXJhcmNoaWNhbCBsZXZlbHMgKHN1Y2ggYXMgXCJjaGFwdGVyXCIsIFwic2VjdGlvblwiKSwgaW5jbHVzaW9uIGFuZCBleGNsdXNpb24gY3JpdGVyaWEsIGFuZCBjb2Rlcy4gSXQgaXMgbm90IGludGVuZGVkIHRvIGNvdmVyIGFueSBmb3JtYWwgcmVwcmVzZW50YXRpb24sIG5laXRoZXIgZm9yIGRlZmluaXRpb24gb3IgY29tcG9zaXRpb24gb2YgY29uY2VwdHMsIG5vciBmb3Igc3BlY2lmaWNhdGlvbiBvZiBjbGFzc2lmaWNhdGlvbiBydWxlcy4gU3lzdGVtcyB3aXRoIHN1Y2ggZm9ybWFsIHNwZWNpZmljYXRpb25zIGNhbiBhdCBiZXN0IGJlIHBhcnRpYWxseSByZXByZXNlbnRlZCB1c2luZyBDbGFNTCwgYW5kIGFyZSBoZW5jZSBvdXQgb2Ygc2NvcGUuIE1vc3Qgb2YgdGhlIG5vdGVzIGFuZCBleGFtcGxlcyBpbiB0aGlzIGRvY3VtZW50IHJlbGF0ZSB0byBJQ0QuIFRoaXMgaXMgYmVjYXVzZSBJQ0QgaXMgdGhlIG1vc3QgY29tbW9uIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpbiB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudC4gQXMgYSBoaWdobHkgY29tcGxleCBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaXQgaXMgYW4gaW5leGhhdXN0aWJsZSBzb3VyY2UgZm9yIGV4YW1wbGVzIG9mIG5lYXJseSBhbnkga2luZC4gQnV0IGFsbCB0aGVzZSBub3RlcyBhbmQgZXhhbXBsZXMgcmVwcmVzZW50IGFsc28gb3RoZXIgc2ltaWxhciBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zLCBpZiBhcHBsaWNhYmxlLCB3aGljaCBhcmUgdXN1YWxseSBsZXNzIGNvbXBsZXguIEFuIG92ZXJ2aWV3IG9mIGN1cnJlbnRseSBrbm93biBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIHVzaW5nIENsYU1MIGlzIHByb3ZpZGVkIGluIGEgc2VwYXJhdGUgZG9jdW1lbnQgd2hpY2ggaXMgZWxlY3Ryb25pY2FsbHkgYXZhaWxhYmxlIChzZWUgNy4zKS4gVGhpcyBkb2N1bWVudCBpcyBub3QgaW50ZW5kZWQgdG86IGEpICAgIHByb3ZpZGUgYSBub3JtYXRpdmUgc3ludGF4IG9uIGhvdyBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtIGlzIHRvIGJlIGNvbnN0cnVjdGVkOyBiKSAgICBkZWZpbmUgbGluayB0eXBlcyBiZXR3ZWVuIGVsZW1lbnRzIGluIGEgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gKHRoaXMgaXMgbGVmdCB0byB0aGUgZGV2ZWxvcGVycyBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMpOyBjKSAgICBwcm92aWRlIGEgcmVwcmVzZW50YXRpb24gZm9yIGRpcmVjdCB2aWV3aW5nIG9yIHByaW50aW5nLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS82NC81NjQ2NCIsInV1aWQiOiJkZmY1YTRlMS0xNjMzLTRiZmEtOTg5ZS0yYmM4MjA1MDYxODkiLCJ0aXRsZSI6IklTTyAxMzE2NS0xOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAxOiBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE2NS0xOjIwMTMgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKCAyMjYgUmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gbm9uLXNhbGluZSB3YXRlciBzYW1wbGVzIGJ5IGV4dHJhY3Rpb24gb2YgaXRzIGRhdWdodGVyIHJhZG9uLTIyMiAoIDIyMiBSbikgYW5kIGl0cyBtZWFzdXJlbWVudCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gUmFkaXVtLTIyNiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVycyBnb2VzIGRvd24gdG8gNTAgbUJxIGwg4oiSMSAuIFRoaXMgbWV0aG9kIGlzIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBtZWFzdXJlbWVudCBvZiBvdGhlciByYWRpdW0gaXNvdG9wZXMuICIsIm9iamVjdElEIjoiNTY0NjRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjUtMToyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMTogVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTE6MjAxMyBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBub24tc2FsaW5lIHdhdGVyIHNhbXBsZXMgYnkgZXh0cmFjdGlvbiBvZiBpdHMgZGF1Z2h0ZXIgcmFkb24tMjIyICggMjIyIFJuKSBhbmQgaXRzIG1lYXN1cmVtZW50IHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBSYWRpdW0tMjI2IGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzIGdvZXMgZG93biB0byA1MCBtQnEgbCDiiJIxIC4gVGhpcyBtZXRob2QgaXMgbm90IGFwcGxpY2FibGUgdG8gdGhlIG1lYXN1cmVtZW50IG9mIG90aGVyIHJhZGl1bSBpc290b3Blcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvNjEvNTYxMDkiLCJ1dWlkIjoiZjgwZWZjNTktYzQ5MS00ZjFkLWE4YmMtOTI5ZGJlOWY3YjQ3IiwidGl0bGUiOiJJU08gMTMxNjQtMzoyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAzOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTY0LTM6MjAxMyBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYSBzYW1wbGUgb2Ygd2F0ZXIgZm9sbG93aW5nIGl0cyB0cmFuc2ZlciBmcm9tIHRoZSBhcXVlb3VzIHBoYXNlIHRvIHRoZSBhaXIgcGhhc2UgYnkgZGVnYXNzaW5nIGFuZCBpdHMgZGV0ZWN0aW9uLiBJdCBnaXZlcyByZWNvbW1lbmRhdGlvbnMgZm9yIHJhcGlkIG1lYXN1cmVtZW50cyBwZXJmb3JtZWQgd2l0aGluIGxlc3MgdGhhbiAxIGguIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGluc3RydW1lbnRzLCByYW5nZSBmcm9tIDAsMSBCcSBsIOKIkjEgdG8gc2V2ZXJhbCBodW5kcmVkIHRob3VzYW5kIGJlY3F1ZXJlbHMgcGVyIGxpdHJlIGZvciBhIDEwMCBtbCB0ZXN0IHNhbXBsZS4gVGhpcyB0ZXN0IG1ldGhvZCBpcyB1c2VkIHN1Y2Nlc3NmdWxseSB3aXRoIGRyaW5raW5nIHdhdGVyIHNhbXBsZXMuIFRoZSBsYWJvcmF0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgYXBwbGllZCBvbiBmaWVsZCBzaXRlcyBvciBpbiB0aGUgbGFib3JhdG9yeS4gQW5uZXhlcyBBIGFuZCBCIGdpdmUgaW5kaWNhdGlvbnMgb24gdGhlIG5lY2Vzc2FyeSBjb3VudGluZyBjb25kaXRpb25zIHRvIG1lZXQgdGhlIHJlcXVpcmVkIHNlbnNpdGl2aXR5IGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nICIsIm9iamVjdElEIjoiNTYxMDlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtMzoyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIFJhZG9uLTIyMiDigJQgUGFydCAzOiBUZXN0IG1ldGhvZCB1c2luZyBlbWFub21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC0zOjIwMTMgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGEgc2FtcGxlIG9mIHdhdGVyIGZvbGxvd2luZyBpdHMgdHJhbnNmZXIgZnJvbSB0aGUgYXF1ZW91cyBwaGFzZSB0byB0aGUgYWlyIHBoYXNlIGJ5IGRlZ2Fzc2luZyBhbmQgaXRzIGRldGVjdGlvbi4gSXQgZ2l2ZXMgcmVjb21tZW5kYXRpb25zIGZvciByYXBpZCBtZWFzdXJlbWVudHMgcGVyZm9ybWVkIHdpdGhpbiBsZXNzIHRoYW4gMSBoLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBpbnN0cnVtZW50cywgcmFuZ2UgZnJvbSAwLDEgQnEgbCDiiJIxIHRvIHNldmVyYWwgaHVuZHJlZCB0aG91c2FuZCBiZWNxdWVyZWxzIHBlciBsaXRyZSBmb3IgYSAxMDAgbWwgdGVzdCBzYW1wbGUuIFRoaXMgdGVzdCBtZXRob2QgaXMgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzLiBUaGUgbGFib3JhdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIFRoaXMgdGVzdCBtZXRob2QgY2FuIGJlIGFwcGxpZWQgb24gZmllbGQgc2l0ZXMgb3IgaW4gdGhlIGxhYm9yYXRvcnkuIEFubmV4ZXMgQSBhbmQgQiBnaXZlIGluZGljYXRpb25zIG9uIHRoZSBuZWNlc3NhcnkgY291bnRpbmcgY29uZGl0aW9ucyB0byBtZWV0IHRoZSByZXF1aXJlZCBzZW5zaXRpdml0eSBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZyAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS82MS81NjEwOCIsInV1aWQiOiJmN2E2YTQ1OC04N2Y4LTQ2OGMtYmZjMS0zN2I3ZjAwZTAwZmMiLCJ0aXRsZSI6IklTTyAxMzE2NC0yOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGdhbW1hLXJheSBzcGVjdHJvbWV0cnkiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNjQtMjoyMDEzIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhIHNhbXBsZSBvZiB3YXRlciBmb2xsb3dpbmcgdGhlIG1lYXN1cmVtZW50IG9mIGl0cyBzaG9ydC1saXZlZCBkZWNheSBwcm9kdWN0cyBieSBkaXJlY3QgZ2FtbWEtc3BlY3Ryb21ldHJ5IG9mIHRoZSB3YXRlciBzYW1wbGUuIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGdhbW1hLXJheSBpbnN0cnVtZW50cywgcmFuZ2UgZnJvbSBhIGZldyBiZWNxdWVyZWxzIHBlciBsaXRyZSB0byBzZXZlcmFsIGh1bmRyZWQgdGhvdXNhbmQgYmVjcXVlcmVscyBwZXIgbGl0cmUgZm9yIGEgMSBsIHRlc3Qgc2FtcGxlLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSB1c2VkIHN1Y2Nlc3NmdWxseSB3aXRoIGRyaW5raW5nIHdhdGVyIHNhbXBsZXMuIFRoZSBsYWJvcmF0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gQW4gYW5uZXggZ2l2ZXMgaW5kaWNhdGlvbnMgb24gdGhlIG5lY2Vzc2FyeSBjb3VudGluZyBjb25kaXRpb25zIHRvIG1lZXQgdGhlIHJlcXVpcmVkIHNlbnNpdGl2aXR5IGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nLiAiLCJvYmplY3RJRCI6IjU2MTA4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY0LTI6MjAxMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgMjogVGVzdCBtZXRob2QgdXNpbmcgZ2FtbWEtcmF5IHNwZWN0cm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtMjoyMDEzIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGZvciB0aGUgZGV0ZXJtaW5hdGlvbiBvZiByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhIHNhbXBsZSBvZiB3YXRlciBmb2xsb3dpbmcgdGhlIG1lYXN1cmVtZW50IG9mIGl0cyBzaG9ydC1saXZlZCBkZWNheSBwcm9kdWN0cyBieSBkaXJlY3QgZ2FtbWEtc3BlY3Ryb21ldHJ5IG9mIHRoZSB3YXRlciBzYW1wbGUuIFRoZSByYWRvbi0yMjIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMsIHdoaWNoIGNhbiBiZSBtZWFzdXJlZCBieSB0aGlzIHRlc3QgbWV0aG9kIHV0aWxpemluZyBjdXJyZW50bHkgYXZhaWxhYmxlIGdhbW1hLXJheSBpbnN0cnVtZW50cywgcmFuZ2UgZnJvbSBhIGZldyBiZWNxdWVyZWxzIHBlciBsaXRyZSB0byBzZXZlcmFsIGh1bmRyZWQgdGhvdXNhbmQgYmVjcXVlcmVscyBwZXIgbGl0cmUgZm9yIGEgMSBsIHRlc3Qgc2FtcGxlLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSB1c2VkIHN1Y2Nlc3NmdWxseSB3aXRoIGRyaW5raW5nIHdhdGVyIHNhbXBsZXMuIFRoZSBsYWJvcmF0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgdmFsaWRpdHkgb2YgdGhpcyB0ZXN0IG1ldGhvZCBmb3Igd2F0ZXIgc2FtcGxlcyBvZiB1bnRlc3RlZCBtYXRyaWNlcy4gQW4gYW5uZXggZ2l2ZXMgaW5kaWNhdGlvbnMgb24gdGhlIG5lY2Vzc2FyeSBjb3VudGluZyBjb25kaXRpb25zIHRvIG1lZXQgdGhlIHJlcXVpcmVkIHNlbnNpdGl2aXR5IGZvciBkcmlua2luZyB3YXRlciBtb25pdG9yaW5nLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQ5MCIsInV1aWQiOiIzZGIwMjdlZi03YTNlLTQ3NTctOGZiMS1iZjBjYzY4ZDBkOWIiLCJ0aXRsZSI6IklTTyAxMzE5NjoyMDEzIFNvaWwgcXVhbGl0eSDigJQgU2NyZWVuaW5nIHNvaWxzIGZvciBzZWxlY3RlZCBlbGVtZW50cyBieSBlbmVyZ3ktZGlzcGVyc2l2ZSBYLXJheSBmbHVvcmVzY2VuY2Ugc3BlY3Ryb21ldHJ5IHVzaW5nIGEgaGFuZGhlbGQgb3IgcG9ydGFibGUgaW5zdHJ1bWVudCIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE5NjoyMDEzIHNwZWNpZmllcyB0aGUgcHJvY2VkdXJlIGZvciBzY3JlZW5pbmcgc29pbHMgYW5kIHNvaWwtbGlrZSBtYXRlcmlhbHMgZm9yIHNlbGVjdGVkIGVsZW1lbnRzIHdoZW4gaGFuZGhlbGQgb3IgcG9ydGFibGUgZW5lcmd5LWRpc3BlcnNpdmUgWFJGIHNwZWN0cm9tZXRlcnMgYXJlIHVzZWQuIFRoaXMgcXVpY2sgbWV0aG9kIGlzIGFzc3VtZWQgdG8gYmUgYXBwbGllZCBvbi1zaXRlIHRvIG9idGFpbiBxdWFsaXRhdGl2ZSBvciBzZW1pcXVhbnRpdGF0aXZlIGRhdGEgdGhhdCBhc3Npc3RzIGRlY2lzaW9ucyBvbiBmdXJ0aGVyIHNhbXBsaW5nIHN0cmF0ZWd5IGZvciBhc3Nlc3Npbmcgc29pbCBxdWFsaXR5LiBUaGUgaGlnaGVyIHRoZSBlZmZvcnRzIGZvciBwcmV0cmVhdG1lbnQgdXNlZCBvbiBzb2lsIHNhbXBsZXMsIHRoZSBiZXR0ZXIgdGhlIGFuYWx5dGljYWwgcmVzdWx0cyBjYW4gYmUgZXhwZWN0ZWQuIElTTyAxMzE5NjoyMDEzIGRvZXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmeSBlbGVtZW50cyBmb3Igd2hpY2ggaXQgaXMgYXBwbGljYWJsZSwgc2luY2UgdGhlIGFwcGxpY2FiaWxpdHkgZGVwZW5kcyBvbiB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGFwcGFyYXR1cyBhbmQgdGhlIG9iamVjdGl2ZSBvZiB0aGUgc2NyZWVuaW5nLiBUaGUgZWxlbWVudHMgd2hpY2ggY2FuIGJlIGRldGVybWluZWQgYXJlIGxpbWl0ZWQgYnkgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBpbnN0cnVtZW50cyB1c2VkLCB0aGUgY29uY2VudHJhdGlvbiBvZiB0aGUgZWxlbWVudCBwcmVzZW50IGluIHRoZSBzb2lsLCBhbmQgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgaW52ZXN0aWdhdGlvbiAoZS5nLiBndWlkZWxpbmUgdmFsdWUpLiBGb3IgSGcsIENkLCBDbywgTW8sIFYgYW5kIFNiLCBhIG1ham9yaXR5IG9mIGluc3RydW1lbnRzIGFyZSBub3Qgc2Vuc2l0aXZlIGVub3VnaCB0byByZWFjaCBzdWZmaWNpZW50bHkgbG93IGxpbWl0cyBvZiBxdWFudGlmaWNhdGlvbiAoTE9RKSB0byBtZWV0IHRoZSByZXF1aXJlbWVudHMgKGxpbWl0IG9yIHRocmVzaG9sZCB2YWx1ZXMpIHNldCBpbiB0aGUgb3JkaW5hbmNlcyBvZiBkaWZmZXJlbnQgY291bnRyaWVzLiBJbiB0aGlzIGNhc2UsIG90aGVyIG1ldGhvZHMgbmVlZCB0byBiZSBlbXBsb3llZCB0byBtZWFzdXJlIHRoZXNlIGxvdyBjb25jZW50cmF0aW9ucy4gVXN1YWxseSwgd2V0IGNoZW1pY2FsIG1ldGhvZHMgYXJlIHVzZWQsIGJhc2VkIG9uIGFxdWEgcmVnaWEgZXh0cmFjdHMsIGluIGNvbWJpbmF0aW9uIHdpdGggb3B0aWNhbCBvciBtYXNzIHNwZWN0cm9tZXRyaWMgKE1TKSBtZXRob2RzIGxpa2UgYXRvbWljIGFic29ycHRpb24gc3BlY3Ryb21ldHJ5IChBQVMpLCBpbmR1Y3RpdmVseSBjb3VwbGVkIHBsYXNtYS9vcHRpY2FsIGVtaXNzaW9uIHNwZWN0cm9tZXRyeSAoSUNQL09FUykgb3IgSUNQL01TLiAiLCJvYmplY3RJRCI6IjUzNDkwXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjk2OjIwMTMgU29pbCBxdWFsaXR5IOKAlCBTY3JlZW5pbmcgc29pbHMgZm9yIHNlbGVjdGVkIGVsZW1lbnRzIGJ5IGVuZXJneS1kaXNwZXJzaXZlIFgtcmF5IGZsdW9yZXNjZW5jZSBzcGVjdHJvbWV0cnkgdXNpbmcgYSBoYW5kaGVsZCBvciBwb3J0YWJsZSBpbnN0cnVtZW50IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45NjoyMDEzIHNwZWNpZmllcyB0aGUgcHJvY2VkdXJlIGZvciBzY3JlZW5pbmcgc29pbHMgYW5kIHNvaWwtbGlrZSBtYXRlcmlhbHMgZm9yIHNlbGVjdGVkIGVsZW1lbnRzIHdoZW4gaGFuZGhlbGQgb3IgcG9ydGFibGUgZW5lcmd5LWRpc3BlcnNpdmUgWFJGIHNwZWN0cm9tZXRlcnMgYXJlIHVzZWQuIFRoaXMgcXVpY2sgbWV0aG9kIGlzIGFzc3VtZWQgdG8gYmUgYXBwbGllZCBvbi1zaXRlIHRvIG9idGFpbiBxdWFsaXRhdGl2ZSBvciBzZW1pcXVhbnRpdGF0aXZlIGRhdGEgdGhhdCBhc3Npc3RzIGRlY2lzaW9ucyBvbiBmdXJ0aGVyIHNhbXBsaW5nIHN0cmF0ZWd5IGZvciBhc3Nlc3Npbmcgc29pbCBxdWFsaXR5LiBUaGUgaGlnaGVyIHRoZSBlZmZvcnRzIGZvciBwcmV0cmVhdG1lbnQgdXNlZCBvbiBzb2lsIHNhbXBsZXMsIHRoZSBiZXR0ZXIgdGhlIGFuYWx5dGljYWwgcmVzdWx0cyBjYW4gYmUgZXhwZWN0ZWQuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT45NjoyMDEzIGRvZXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmeSBlbGVtZW50cyBmb3Igd2hpY2ggaXQgaXMgYXBwbGljYWJsZSwgc2luY2UgdGhlIGFwcGxpY2FiaWxpdHkgZGVwZW5kcyBvbiB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGFwcGFyYXR1cyBhbmQgdGhlIG9iamVjdGl2ZSBvZiB0aGUgc2NyZWVuaW5nLiBUaGUgZWxlbWVudHMgd2hpY2ggY2FuIGJlIGRldGVybWluZWQgYXJlIGxpbWl0ZWQgYnkgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBpbnN0cnVtZW50cyB1c2VkLCB0aGUgY29uY2VudHJhdGlvbiBvZiB0aGUgZWxlbWVudCBwcmVzZW50IGluIHRoZSBzb2lsLCBhbmQgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgaW52ZXN0aWdhdGlvbiAoZS5nLiBndWlkZWxpbmUgdmFsdWUpLiBGb3IgSGcsIENkLCBDbywgTW8sIFYgYW5kIFNiLCBhIG1ham9yaXR5IG9mIGluc3RydW1lbnRzIGFyZSBub3Qgc2Vuc2l0aXZlIGVub3VnaCB0byByZWFjaCBzdWZmaWNpZW50bHkgbG93IGxpbWl0cyBvZiBxdWFudGlmaWNhdGlvbiAoTE9RKSB0byBtZWV0IHRoZSByZXF1aXJlbWVudHMgKGxpbWl0IG9yIHRocmVzaG9sZCB2YWx1ZXMpIHNldCBpbiB0aGUgb3JkaW5hbmNlcyBvZiBkaWZmZXJlbnQgY291bnRyaWVzLiBJbiB0aGlzIGNhc2UsIG90aGVyIG1ldGhvZHMgbmVlZCB0byBiZSBlbXBsb3llZCB0byBtZWFzdXJlIHRoZXNlIGxvdyBjb25jZW50cmF0aW9ucy4gVXN1YWxseSwgd2V0IGNoZW1pY2FsIG1ldGhvZHMgYXJlIHVzZWQsIGJhc2VkIG9uIGFxdWEgcmVnaWEgZXh0cmFjdHMsIGluIGNvbWJpbmF0aW9uIHdpdGggb3B0aWNhbCBvciBtYXNzIHNwZWN0cm9tZXRyaWMgKE1TKSBtZXRob2RzIGxpa2UgYXRvbWljIGFic29ycHRpb24gc3BlY3Ryb21ldHJ5IChBQVMpLCBpbmR1Y3RpdmVseSBjb3VwbGVkIHBsYXNtYS9vcHRpY2FsIGVtaXNzaW9uIHNwZWN0cm9tZXRyeSAoSUNQL09FUykgb3IgSUNQL01TLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwNSIsInV1aWQiOiJlNGVkZjVmZi1hMTU0LTRiNmUtYWFmZi1kZjRjNGFiZmY4NDgiLCJ0aXRsZSI6IklTTyAxMzE2NC0xOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDE6IEdlbmVyYWwgcHJpbmNpcGxlcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzE2NC0xOjIwMTMgZ2l2ZXMgZ2VuZXJhbCBndWlkZWxpbmVzIGZvciBzYW1wbGluZywgcGFja2FnaW5nLCBhbmQgdHJhbnNwb3J0aW5nIG9mIGFsbCBraW5kcyBvZiB3YXRlciBzYW1wbGVzLCBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIHRoZSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIG9mIHJhZG9uLTIyMi4gVGhlIHRlc3QgbWV0aG9kcyBmYWxsIGludG8gdHdvIGNhdGVnb3JpZXM6IGEpIGRpcmVjdCBtZWFzdXJlbWVudCBvZiB0aGUgd2F0ZXIgc2FtcGxlIHdpdGhvdXQgYW55IHRyYW5zZmVyIG9mIHBoYXNlIChzZWUgSVNPIDEzMTY04oCRMik7IGIpIGluZGlyZWN0IG1lYXN1cmVtZW50IGludm9sdmluZyB0aGUgdHJhbnNmZXIgb2YgdGhlIHJhZG9uLTIyMiBmcm9tIHRoZSBhcXVlb3VzIHBoYXNlIHRvIGFub3RoZXIgcGhhc2UgKHNlZSBJU08gMTMxNjTigJEzKS4gVGhlIHRlc3QgbWV0aG9kcyBjYW4gYmUgYXBwbGllZCBlaXRoZXIgaW4gdGhlIGxhYm9yYXRvcnkgb3Igb24gc2l0ZS4gVGhlIGxhYm9yYXRvcnkgaXMgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHRoZSBzdWl0YWJpbGl0eSBvZiB0aGUgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwib2JqZWN0SUQiOiI1MzQwNV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC0xOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDE6IEdlbmVyYWwgcHJpbmNpcGxlcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjQtMToyMDEzIGdpdmVzIGdlbmVyYWwgZ3VpZGVsaW5lcyBmb3Igc2FtcGxpbmcsIHBhY2thZ2luZywgYW5kIHRyYW5zcG9ydGluZyBvZiBhbGwga2luZHMgb2Ygd2F0ZXIgc2FtcGxlcywgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiB0aGUgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiByYWRvbi0yMjIuIFRoZSB0ZXN0IG1ldGhvZHMgZmFsbCBpbnRvIHR3byBjYXRlZ29yaWVzOiBhKSBkaXJlY3QgbWVhc3VyZW1lbnQgb2YgdGhlIHdhdGVyIHNhbXBsZSB3aXRob3V0IGFueSB0cmFuc2ZlciBvZiBwaGFzZSAoc2VlIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NOKAkTIpOyBiKSBpbmRpcmVjdCBtZWFzdXJlbWVudCBpbnZvbHZpbmcgdGhlIHRyYW5zZmVyIG9mIHRoZSByYWRvbi0yMjIgZnJvbSB0aGUgYXF1ZW91cyBwaGFzZSB0byBhbm90aGVyIHBoYXNlIChzZWUgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY04oCRMykuIFRoZSB0ZXN0IG1ldGhvZHMgY2FuIGJlIGFwcGxpZWQgZWl0aGVyIGluIHRoZSBsYWJvcmF0b3J5IG9yIG9uIHNpdGUuIFRoZSBsYWJvcmF0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgc3VpdGFiaWxpdHkgb2YgdGhlIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDE5IiwidXVpZCI6IjQxM2VhNzU5LTViYTMtNGUyMy05ZTNhLTQ2OWMzMzIzN2I0OCIsInRpdGxlIjoiSVNPIDEzMTI3OjIwMTIgUGFja2FnaW5nIOKAlCBDaGlsZCByZXNpc3RhbnQgcGFja2FnaW5nIOKAlCBNZWNoYW5pY2FsIHRlc3QgbWV0aG9kcyBmb3IgcmVjbG9zYWJsZSBjaGlsZCByZXNpc3RhbnQgcGFja2FnaW5nIHN5c3RlbXMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMjc6MjAxMiBzcGVjaWZpZXMgdGVzdCBtZXRob2RzIGZvciBtZWNoYW5pY2FsIHRlc3Rpbmcgb2YgcmVjbG9zYWJsZSBjaGlsZCByZXNpc3RhbnQgcGFja2FnaW5nLiBUaGUgZGF0YSBnZW5lcmF0ZWQgYnkgdGhlc2UgbWVjaGFuaWNhbCB0ZXN0IG1ldGhvZHMgYXJlIHN1aXRhYmxlIGZvciBjb21wYXJpbmcgY2hpbGQgcmVzaXN0YW50IGNoYXJhY3RlcmlzdGljcyBvZiByZWxhdGVkIHJlY2xvc2FibGUgcGFja2FnaW5nIHN5c3RlbXMuICIsIm9iamVjdElEIjoiNTMwMTlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mjc6MjAxMiBQYWNrYWdpbmcg4oCUIENoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcg4oCUIE1lY2hhbmljYWwgdGVzdCBtZXRob2RzIGZvciByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcgc3lzdGVtcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mjc6MjAxMiBzcGVjaWZpZXMgdGVzdCBtZXRob2RzIGZvciBtZWNoYW5pY2FsIHRlc3Rpbmcgb2YgcmVjbG9zYWJsZSBjaGlsZCByZXNpc3RhbnQgcGFja2FnaW5nLiBUaGUgZGF0YSBnZW5lcmF0ZWQgYnkgdGhlc2UgbWVjaGFuaWNhbCB0ZXN0IG1ldGhvZHMgYXJlIHN1aXRhYmxlIGZvciBjb21wYXJpbmcgY2hpbGQgcmVzaXN0YW50IGNoYXJhY3RlcmlzdGljcyBvZiByZWxhdGVkIHJlY2xvc2FibGUgcGFja2FnaW5nIHN5c3RlbXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzI4LzUyODM2IiwidXVpZCI6ImI3ZDYxYzg0LTY4MTEtNDU4Yi1hNGE5LWM1NzAzZTc5ODY2OCIsInRpdGxlIjoiSVNPIDEzMTA2OjIwMTQgUGxhc3RpY3Mg4oCUIEJsb3ctbW91bGRlZCBwb2x5cHJvcHlsZW5lIGNvbnRhaW5lcnMgZm9yIHBhY2thZ2luZyBvZiBsaXF1aWQgZm9vZHN0dWZmcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTksIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEwNjoyMDE0IHByb3ZpZGVzIHRoZSByZXF1aXJlbWVudHMgZm9yIHBvbHlwcm9weWxlbmUgcmVzaW5zIGludGVuZGVkIGZvciB1c2UgaW4gYmxvdy1tb3VsZGVkLCByb3VuZCBjb250YWluZXJzIHdpdGggY2FwYWNpdGllcyB1cCB0bywgYW5kIGluY2x1ZGluZyB0d28gbGl0cmVzIGludGVuZGVkIGZvciB0aGUgcGFja2FnaW5nIG9mIGxpcXVpZHMgZm9yIGh1bWFuIGNvbnN1bXB0aW9uLiBJU08gMTMxMDY6MjAxNCBhbHNvIHByb3ZpZGVzIHRvbGVyYW5jZXMgb24gbWFzcywgZGltZW5zaW9ucywgbWV0aG9kcyBvZiBzYW1wbGluZywgdGVzdGluZywgYW5kIHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50cy4gIiwib2JqZWN0SUQiOiI1MjgzNl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNjoyMDE0IFBsYXN0aWNzIOKAlCBCbG93LW1vdWxkZWQgcG9seXByb3B5bGVuZSBjb250YWluZXJzIGZvciBwYWNrYWdpbmcgb2YgbGlxdWlkIGZvb2RzdHVmZnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA2OjIwMTQgcHJvdmlkZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgcG9seXByb3B5bGVuZSByZXNpbnMgaW50ZW5kZWQgZm9yIHVzZSBpbiBibG93LW1vdWxkZWQsIHJvdW5kIGNvbnRhaW5lcnMgd2l0aCBjYXBhY2l0aWVzIHVwIHRvLCBhbmQgaW5jbHVkaW5nIHR3byBsaXRyZXMgaW50ZW5kZWQgZm9yIHRoZSBwYWNrYWdpbmcgb2YgbGlxdWlkcyBmb3IgaHVtYW4gY29uc3VtcHRpb24uIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNjoyMDE0IGFsc28gcHJvdmlkZXMgdG9sZXJhbmNlcyBvbiBtYXNzLCBkaW1lbnNpb25zLCBtZXRob2RzIG9mIHNhbXBsaW5nLCB0ZXN0aW5nLCBhbmQgcGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi84Ny82ODc2OSIsInV1aWQiOiIzNmE2NjMyMC1jMGY4LTRhODQtYmJlMS04MGQzMjUxNjhjZDYiLCJ0aXRsZSI6IklTTyAxMzE2OToyMDE4IFdhdGVyIHF1YWxpdHkg4oCUIFVyYW5pdW0g4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgdGhlIG1lYXN1cmVtZW50IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdG90YWwgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiB1cmFuaXVtIGlzb3RvcGVzIGluIG5vbi1zYWxpbmUgd2F0ZXJzIGJ5IGV4dHJhY3Rpb24gYW5kIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGlzIG1ldGhvZCBjb3ZlcnMgdGhlIG1lYXN1cmVtZW50IG9mIHNvbHVibGUgdXJhbml1bSBpc290b3BlcyBpbiB3YXRlciBpbiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBiZXR3ZWVuIGFwcHJveGltYXRlbHkgMsK3MTAg4oiSMyBCcS9rZyBhbmQgMTAgQnEva2cgd2hlbiBhbmFseXNpbmcgYSAxIGwgdGVzdCBzYW1wbGUgdm9sdW1lIHdpdGggYSA2MCAwMDAgcyBjb3VudGluZyB0aW1lIHdpdGggYSB0eXBpY2FsIGFscGhhIExTQyBpbnN0cnVtZW50LiBUaGUgcmF0aW8gMjM0IFUvIDIzOCBVIGNhbiBhbHNvIGJlIGRldGVybWluZWQuIFRoaXMgbWV0aG9kIGhhcyBub3QgYmVlbiB0ZXN0ZWQgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiBvdGhlciB1cmFuaXVtIGlzb3RvcGVzLiAiLCJvYmplY3RJRCI6IjY4NzY5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY5OjIwMTggV2F0ZXIgcXVhbGl0eSDigJQgVXJhbml1bSDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgdGhlIG1lYXN1cmVtZW50IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdG90YWwgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBvZiB1cmFuaXVtIGlzb3RvcGVzIGluIG5vbi1zYWxpbmUgd2F0ZXJzIGJ5IGV4dHJhY3Rpb24gYW5kIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGlzIG1ldGhvZCBjb3ZlcnMgdGhlIG1lYXN1cmVtZW50IG9mIHNvbHVibGUgdXJhbml1bSBpc290b3BlcyBpbiB3YXRlciBpbiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBiZXR3ZWVuIGFwcHJveGltYXRlbHkgMsK3MTAg4oiSMyBCcS9rZyBhbmQgMTAgQnEva2cgd2hlbiBhbmFseXNpbmcgYSAxIGwgdGVzdCBzYW1wbGUgdm9sdW1lIHdpdGggYSA2MCAwMDAgcyBjb3VudGluZyB0aW1lIHdpdGggYSB0eXBpY2FsIGFscGhhIExTQyBpbnN0cnVtZW50LiBUaGUgcmF0aW8gMjM0IFUvIDIzOCBVIGNhbiBhbHNvIGJlIGRldGVybWluZWQuIFRoaXMgbWV0aG9kIGhhcyBub3QgYmVlbiB0ZXN0ZWQgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiBvdGhlciB1cmFuaXVtIGlzb3RvcGVzLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8xNS82MTU3MiIsInV1aWQiOiI2MzhhMTk3OC05NmZiLTQ4ODgtOTgxMC1lZGNlZmI5ZWJiZmYiLCJ0aXRsZSI6IklTTyAxMzE4NS0zOjIwMTggSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgIOKAlCBWZWhpY2xlIGludGVyZmFjZSBmb3IgcHJvdmlzaW9uaW5nIGFuZCBzdXBwb3J0IG9mIElUUyBTZXJ2aWNlcyDigJQgUGFydCAzOiBVbmlmaWVkIHZlaGljbGUgaW50ZXJmYWNlIHByb3RvY29sIChVVklQKSBzZXJ2ZXIgYW5kIGNsaWVudCBBUEkgc3BlY2lmaWNhdGlvbiIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSBzZXJ2ZXIgYW5kIGNsaWVudCBBUElzIG9mIHRoZSBVbmlmaWVkIEdhdGV3YXkgUHJvdG9jb2wgKFVHUCkuIEZpZ3VyZSAxIHNob3dzIGFuIG92ZXJ2aWV3IG9mIHRoZSBVR1AgY2xpZW50IGFuZCBzZXJ2ZXIgQVBJLiBBIFVHUCBjbGllbnQgYXBwbGljYXRpb24gb24gYSBQLUlUUy1TIGNvbW11bmljYXRlcyB3aXRoIGEgVUdQIHNlcnZlciBhcHBsaWNhdGlvbiBvbiBhIFYtSVRTLVMuIFRoZSBVR1AgY2xpZW50IGFwcGxpY2F0aW9uIGltcGxlbWVudHMgdGhlIFVHUCBjbGllbnQgQVBJIHVzaW5nIElTTyAxMzE4NS0yLiBUaGUgVUdQIHNlcnZlciBhcHBsaWNhdGlvbiBpbXBsZW1lbnRzIHRoZSBVR1Agc2VydmVyIEFQSSB1c2luZyBJU08gMTMxODUtMi4gIiwib2JqZWN0SUQiOiI2MTU3Ml8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NS0zOjIwMTggSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgIOKAlCBWZWhpY2xlIGludGVyZmFjZSBmb3IgcHJvdmlzaW9uaW5nIGFuZCBzdXBwb3J0IG9mIElUUyBTZXJ2aWNlcyDigJQgUGFydCAzOiBVbmlmaWVkIHZlaGljbGUgaW50ZXJmYWNlIHByb3RvY29sIChVVklQKSBzZXJ2ZXIgYW5kIGNsaWVudCBBUEkgc3BlY2lmaWNhdGlvbiIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgc2VydmVyIGFuZCBjbGllbnQgQVBJcyBvZiB0aGUgVW5pZmllZCBHYXRld2F5IFByb3RvY29sIChVR1ApLiBGaWd1cmUgMSBzaG93cyBhbiBvdmVydmlldyBvZiB0aGUgVUdQIGNsaWVudCBhbmQgc2VydmVyIEFQSS4gQSBVR1AgY2xpZW50IGFwcGxpY2F0aW9uIG9uIGEgUC1JVFMtUyBjb21tdW5pY2F0ZXMgd2l0aCBhIFVHUCBzZXJ2ZXIgYXBwbGljYXRpb24gb24gYSBWLUlUUy1TLiBUaGUgVUdQIGNsaWVudCBhcHBsaWNhdGlvbiBpbXBsZW1lbnRzIHRoZSBVR1AgY2xpZW50IEFQSSB1c2luZyA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODUtMi4gVGhlIFVHUCBzZXJ2ZXIgYXBwbGljYXRpb24gaW1wbGVtZW50cyB0aGUgVUdQIHNlcnZlciBBUEkgdXNpbmcgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjg1LTIuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM2LzUzNjYwIiwidXVpZCI6Ijc3ZTU3NTQwLWIzNTUtNDFjMi1hOWNkLTAyNjJkMDdiOGEyOCIsInRpdGxlIjoiSVNPIDEzMTc0OjIwMTIgQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBoYXJib3VyIGluc3RhbGxhdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxNzQ6MjAxMiBkZWZpbmVzIHRoZSBtZWFucyB0byBiZSB1c2VkIHRvIGVuc3VyZSB0aGF0IGNhdGhvZGljIHByb3RlY3Rpb24gaXMgZWZmaWNpZW50bHkgYXBwbGllZCB0byB0aGUgaW1tZXJzZWQgYW5kIGRyaXZlbi9idXJpZWQgbWV0YWxsaWMgZXh0ZXJuYWwgc3VyZmFjZXMgb2Ygc3RlZWwgcG9ydCwgaGFyYm91ciwgY29hc3RhbCBhbmQgZmxvb2QgZGVmZW5jZSBpbnN0YWxsYXRpb25zIGFuZCBhcHB1cnRlbmFuY2VzIGluIHNlYXdhdGVyIGFuZCBzYWxpbmUgbXVkIHRvIHByb3ZpZGUgcHJvdGVjdGlvbiBmcm9tIGNvcnJvc2lvbi4gSVNPIDEzMTc0OjIwMTIgc3BlY2lmaWVzIGNhdGhvZGljIHByb3RlY3Rpb24gb2YgZml4ZWQgYW5kIGZsb2F0aW5nIHBvcnQgYW5kIGhhcmJvdXIgc3RydWN0dXJlcy4gVGhpcyBpbmNsdWRlcyBwaWVycywgamV0dGllcywgZG9scGhpbnMgKG1vb3JpbmcgYW5kIGJlcnRoaW5nKSwgc2hlZXQgb3IgdHVidWxhciBwaWxpbmcsIHBvbnRvb25zLCBidW95cywgZmxvYXRpbmcgZG9ja3MsIGxvY2sgYW5kIHNsdWljZSBnYXRlcy4gSXQgYWxzbyBzcGVjaWZpZXMgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiB0aGUgc3VibWVyZ2VkIGFyZWFzIG9mIGFwcHVydGVuYW5jZXMsIHN1Y2ggYXMgY2hhaW5zIGF0dGFjaGVkIHRvIHRoZSBzdHJ1Y3R1cmUsIHdoZW4gdGhlc2UgYXJlIG5vdCBlbGVjdHJpY2FsbHkgaXNvbGF0ZWQgZnJvbSB0aGUgc3RydWN0dXJlLiBJU08gMTMxNzQ6MjAxMiBpcyB0byBiZSB1c2VkIGluIHJlc3BlY3Qgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiBzeXN0ZW1zIHdoZXJlIHRoZSBhbm9kZXMgYXJlIGV4cG9zZWQgdG8gd2F0ZXIgb3Igc2FsaW5lIG11ZC4gRm9yIGJ1cmllZCBhcmVhcywgdHlwaWNhbGx5IGluIHNvaWwgb3Igc2FuZCBmaWxsZWQgYXJlYXMgYmVoaW5kIHBpbGVkIHdhbGxzIG9yIHdpdGhpbiBmaWxsZWQgY2Fpc3NvbnMsIHdoaWNoIG1heSBiZSBzaWduaWZpY2FudGx5IGFmZmVjdGVkIGJ5IGNvcnJvc2lvbiwgc3BlY2lmaWMgY2F0aG9kaWMgcHJvdGVjdGlvbiBkZXNpZ24gYW5kIG9wZXJhdGlvbiByZXF1aXJlbWVudHMgYXJlIGRlZmluZWQgaW4gRU4gMTI5NTQsIHRoZSBhbm9kZXMgYmVpbmcgZXhwb3NlZCB0byBzb2lscy4gSVNPIDEzMTc0OjIwMTIgZG9lcyBub3QgY292ZXIgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gb2YgZml4ZWQgb3IgZmxvYXRpbmcgb2Zmc2hvcmUgc3RydWN0dXJlcyAoaW5jbHVkaW5nIG9mZnNob3JlIGxvYWRpbmcgYnVveXMpLCBzdWJtYXJpbmUgcGlwZWxpbmVzIG9yIHNoaXBzLiBJU08gMTMxNzQ6MjAxMiBkb2VzIG5vdCBpbmNsdWRlIHRoZSBpbnRlcm5hbCBwcm90ZWN0aW9uIG9mIHN1cmZhY2VzIG9mIGFueSBjb21wb25lbnRzIHN1Y2ggYXMgYmFsbGFzdCB0YW5rcywgaW50ZXJuYWxzIG9mIGZsb2F0aW5nIHN0cnVjdHVyZXMgZmxvb2RlZCBjb21wYXJ0bWVudHMgb2YgbG9jayBhbmQgc2x1aWNlIGdhdGVzIG9yIHRoZSBpbnRlcm5hbHMgb2YgdHVidWxhciBzdGVlbCBwaWxlcy4gSVNPIDEzMTc0OjIwMTIgY292ZXJzIHRoZSBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN0cnVjdHVyZXMgZmFicmljYXRlZCBwcmluY2lwYWxseSBmcm9tIGJhcmUgb3IgY29hdGVkIGNhcmJvbiBhbmQgY2FyYm9uIG1hbmdhbmVzZSBzdGVlbHMuIEFzIHNvbWUgcGFydHMgb2YgdGhlIHN0cnVjdHVyZSBtYXkgYmUgbWFkZSBvZiBtZXRhbGxpYyBtYXRlcmlhbHMgb3RoZXIgdGhhbiBjYXJib24gc3RlZWxzLCB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBzeXN0ZW0gc2hvdWxkIGJlIGRlc2lnbmVkIHRvIGVuc3VyZSB0aGF0IHRoZXJlIGlzIGEgY29tcGxldGUgY29udHJvbCBvdmVyIGFueSBnYWx2YW5pYyBjb3VwbGluZyBhbmQgbWluaW1pemUgcmlza3MgZHVlIHRvIGh5ZHJvZ2VuIGVtYnJpdHRsZW1lbnQgb3IgaHlkcm9nZW4taW5kdWNlZCBjcmFja2luZyAoc2VlIElTTyAxMjQ3MyApLiBJU08gMTMxNzQ6MjAxMiBkb2VzIG5vdCBhZGRyZXNzIHN0ZWVsIHJlaW5mb3JjZWQgY29uY3JldGUgc3RydWN0dXJlcyAoc2VlIEVOIDEyNjk2KS4gSVNPIDEzMTc0OjIwMTIgaXMgYXBwbGljYWJsZSB0byB0aGUgd2hvbGUgc3VibWVyZ2VkIHpvbmUgaW4gc2Vhd2F0ZXIsIGJyYWNraXNoIHdhdGVycyBhbmQgc2FsaW5lIG11ZCBhbmQgcmVsYXRlZCBidXJpZWQgYXJlYXMgd2hpY2ggY2FuIG5vcm1hbGx5IGJlIGZvdW5kIGluIHBvcnQsIGhhcmJvdXIsIGNvYXN0YWwgYW5kIGZsb29kIGRlZmVuY2UgaW5zdGFsbGF0aW9ucyB3aGVyZXZlciB0aGVzZSBzdHJ1Y3R1cmVzIGFyZSBmaXhlZCBvciBmbG9hdGluZy4gRm9yIHN1cmZhY2VzIHdoaWNoIGFyZSBhbHRlcm5hdGVseSBpbW1lcnNlZCBhbmQgZXhwb3NlZCB0byB0aGUgYXRtb3NwaGVyZSwgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gaXMgb25seSBlZmZlY3RpdmUgd2hlbiB0aGUgaW1tZXJzaW9uIHRpbWUgaXMgbG9uZyBlbm91Z2ggZm9yIHRoZSBzdGVlbCB0byBiZWNvbWUgcG9sYXJpemVkLiBUeXBpY2FsbHksIGVmZmVjdGl2ZSBjYXRob2RpYyBwcm90ZWN0aW9uIGlzIGFjaGlldmVkIGZvciBhbGwgc3VyZmFjZXMgYmVsb3cgbWlkIHRpZGUuIEZvciBzdHJ1Y3R1cmVzIHN1Y2ggYXMgc2hlZXQgc3RlZWwgYW5kIHR1YnVsYXIgc3RlZWwgcGlsZXMgdGhhdCBhcmUgZHJpdmVuIGludG8gdGhlIHNlYSBiZWQgb3IgdGhvc2UgdGhhdCBhcmUgcGFydGlhbGx5IGJ1cmllZCBvciBjb3ZlcmVkIGluIG11ZCwgSVNPIDEzMTc0OjIwMTIgaXMgYWxzbyBhcHBsaWNhYmxlIHRvIHRoZSBzdXJmYWNlcyBidXJpZWQsIGRyaXZlbiBhbmQgZXhwb3NlZCB0byBtdWQgd2hpY2ggYXJlIGludGVuZGVkIHRvIHJlY2VpdmUgY2F0aG9kaWMgcHJvdGVjdGlvbiBhbG9uZyB3aXRoIHN1cmZhY2VzIGltbWVyc2VkIGluIHdhdGVyLiBDYXRob2RpYyBwcm90ZWN0aW9uIG1heSBhbHNvIGJlIGFwcGxpZWQgdG8gdGhlIHJlYXIgZmFjZXMgb2Ygc2hlZXQgc3RlZWwgcGlsZWQgd2FsbHMgYW5kIHRoZSBpbnRlcm5hbCBzdXJmYWNlcyBvZiBmaWxsZWQgY2Fpc3NvbnMuIENhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3VjaCBzdXJmYWNlcyBpcyBzcGVjaWZpZWQgYnkgRU4gMTI5NTQuICIsIm9iamVjdElEIjoiNTM2NjBfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIGhhcmJvdXIgaW5zdGFsbGF0aW9ucyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBkZWZpbmVzIHRoZSBtZWFucyB0byBiZSB1c2VkIHRvIGVuc3VyZSB0aGF0IGNhdGhvZGljIHByb3RlY3Rpb24gaXMgZWZmaWNpZW50bHkgYXBwbGllZCB0byB0aGUgaW1tZXJzZWQgYW5kIGRyaXZlbi9idXJpZWQgbWV0YWxsaWMgZXh0ZXJuYWwgc3VyZmFjZXMgb2Ygc3RlZWwgcG9ydCwgaGFyYm91ciwgY29hc3RhbCBhbmQgZmxvb2QgZGVmZW5jZSBpbnN0YWxsYXRpb25zIGFuZCBhcHB1cnRlbmFuY2VzIGluIHNlYXdhdGVyIGFuZCBzYWxpbmUgbXVkIHRvIHByb3ZpZGUgcHJvdGVjdGlvbiBmcm9tIGNvcnJvc2lvbi4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc0OjIwMTIgc3BlY2lmaWVzIGNhdGhvZGljIHByb3RlY3Rpb24gb2YgZml4ZWQgYW5kIGZsb2F0aW5nIHBvcnQgYW5kIGhhcmJvdXIgc3RydWN0dXJlcy4gVGhpcyBpbmNsdWRlcyBwaWVycywgamV0dGllcywgZG9scGhpbnMgKG1vb3JpbmcgYW5kIGJlcnRoaW5nKSwgc2hlZXQgb3IgdHVidWxhciBwaWxpbmcsIHBvbnRvb25zLCBidW95cywgZmxvYXRpbmcgZG9ja3MsIGxvY2sgYW5kIHNsdWljZSBnYXRlcy4gSXQgYWxzbyBzcGVjaWZpZXMgY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiB0aGUgc3VibWVyZ2VkIGFyZWFzIG9mIGFwcHVydGVuYW5jZXMsIHN1Y2ggYXMgY2hhaW5zIGF0dGFjaGVkIHRvIHRoZSBzdHJ1Y3R1cmUsIHdoZW4gdGhlc2UgYXJlIG5vdCBlbGVjdHJpY2FsbHkgaXNvbGF0ZWQgZnJvbSB0aGUgc3RydWN0dXJlLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBpcyB0byBiZSB1c2VkIGluIHJlc3BlY3Qgb2YgY2F0aG9kaWMgcHJvdGVjdGlvbiBzeXN0ZW1zIHdoZXJlIHRoZSBhbm9kZXMgYXJlIGV4cG9zZWQgdG8gd2F0ZXIgb3Igc2FsaW5lIG11ZC4gRm9yIGJ1cmllZCBhcmVhcywgdHlwaWNhbGx5IGluIHNvaWwgb3Igc2FuZCBmaWxsZWQgYXJlYXMgYmVoaW5kIHBpbGVkIHdhbGxzIG9yIHdpdGhpbiBmaWxsZWQgY2Fpc3NvbnMsIHdoaWNoIG1heSBiZSBzaWduaWZpY2FudGx5IGFmZmVjdGVkIGJ5IGNvcnJvc2lvbiwgc3BlY2lmaWMgY2F0aG9kaWMgcHJvdGVjdGlvbiBkZXNpZ24gYW5kIG9wZXJhdGlvbiByZXF1aXJlbWVudHMgYXJlIGRlZmluZWQgaW4gRU4gMTI5NTQsIHRoZSBhbm9kZXMgYmVpbmcgZXhwb3NlZCB0byBzb2lscy4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc0OjIwMTIgZG9lcyBub3QgY292ZXIgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gb2YgZml4ZWQgb3IgZmxvYXRpbmcgb2Zmc2hvcmUgc3RydWN0dXJlcyAoaW5jbHVkaW5nIG9mZnNob3JlIGxvYWRpbmcgYnVveXMpLCBzdWJtYXJpbmUgcGlwZWxpbmVzIG9yIHNoaXBzLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBkb2VzIG5vdCBpbmNsdWRlIHRoZSBpbnRlcm5hbCBwcm90ZWN0aW9uIG9mIHN1cmZhY2VzIG9mIGFueSBjb21wb25lbnRzIHN1Y2ggYXMgYmFsbGFzdCB0YW5rcywgaW50ZXJuYWxzIG9mIGZsb2F0aW5nIHN0cnVjdHVyZXMgZmxvb2RlZCBjb21wYXJ0bWVudHMgb2YgbG9jayBhbmQgc2x1aWNlIGdhdGVzIG9yIHRoZSBpbnRlcm5hbHMgb2YgdHVidWxhciBzdGVlbCBwaWxlcy4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc0OjIwMTIgY292ZXJzIHRoZSBjYXRob2RpYyBwcm90ZWN0aW9uIG9mIHN0cnVjdHVyZXMgZmFicmljYXRlZCBwcmluY2lwYWxseSBmcm9tIGJhcmUgb3IgY29hdGVkIGNhcmJvbiBhbmQgY2FyYm9uIG1hbmdhbmVzZSBzdGVlbHMuIEFzIHNvbWUgcGFydHMgb2YgdGhlIHN0cnVjdHVyZSBtYXkgYmUgbWFkZSBvZiBtZXRhbGxpYyBtYXRlcmlhbHMgb3RoZXIgdGhhbiBjYXJib24gc3RlZWxzLCB0aGUgY2F0aG9kaWMgcHJvdGVjdGlvbiBzeXN0ZW0gc2hvdWxkIGJlIGRlc2lnbmVkIHRvIGVuc3VyZSB0aGF0IHRoZXJlIGlzIGEgY29tcGxldGUgY29udHJvbCBvdmVyIGFueSBnYWx2YW5pYyBjb3VwbGluZyBhbmQgbWluaW1pemUgcmlza3MgZHVlIHRvIGh5ZHJvZ2VuIGVtYnJpdHRsZW1lbnQgb3IgaHlkcm9nZW4taW5kdWNlZCBjcmFja2luZyAoc2VlIDxlbT5JU088L2VtPiAxMjQ3MyApLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzQ6MjAxMiBkb2VzIG5vdCBhZGRyZXNzIHN0ZWVsIHJlaW5mb3JjZWQgY29uY3JldGUgc3RydWN0dXJlcyAoc2VlIEVOIDEyNjk2KS4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc0OjIwMTIgaXMgYXBwbGljYWJsZSB0byB0aGUgd2hvbGUgc3VibWVyZ2VkIHpvbmUgaW4gc2Vhd2F0ZXIsIGJyYWNraXNoIHdhdGVycyBhbmQgc2FsaW5lIG11ZCBhbmQgcmVsYXRlZCBidXJpZWQgYXJlYXMgd2hpY2ggY2FuIG5vcm1hbGx5IGJlIGZvdW5kIGluIHBvcnQsIGhhcmJvdXIsIGNvYXN0YWwgYW5kIGZsb29kIGRlZmVuY2UgaW5zdGFsbGF0aW9ucyB3aGVyZXZlciB0aGVzZSBzdHJ1Y3R1cmVzIGFyZSBmaXhlZCBvciBmbG9hdGluZy4gRm9yIHN1cmZhY2VzIHdoaWNoIGFyZSBhbHRlcm5hdGVseSBpbW1lcnNlZCBhbmQgZXhwb3NlZCB0byB0aGUgYXRtb3NwaGVyZSwgdGhlIGNhdGhvZGljIHByb3RlY3Rpb24gaXMgb25seSBlZmZlY3RpdmUgd2hlbiB0aGUgaW1tZXJzaW9uIHRpbWUgaXMgbG9uZyBlbm91Z2ggZm9yIHRoZSBzdGVlbCB0byBiZWNvbWUgcG9sYXJpemVkLiBUeXBpY2FsbHksIGVmZmVjdGl2ZSBjYXRob2RpYyBwcm90ZWN0aW9uIGlzIGFjaGlldmVkIGZvciBhbGwgc3VyZmFjZXMgYmVsb3cgbWlkIHRpZGUuIEZvciBzdHJ1Y3R1cmVzIHN1Y2ggYXMgc2hlZXQgc3RlZWwgYW5kIHR1YnVsYXIgc3RlZWwgcGlsZXMgdGhhdCBhcmUgZHJpdmVuIGludG8gdGhlIHNlYSBiZWQgb3IgdGhvc2UgdGhhdCBhcmUgcGFydGlhbGx5IGJ1cmllZCBvciBjb3ZlcmVkIGluIG11ZCwgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc0OjIwMTIgaXMgYWxzbyBhcHBsaWNhYmxlIHRvIHRoZSBzdXJmYWNlcyBidXJpZWQsIGRyaXZlbiBhbmQgZXhwb3NlZCB0byBtdWQgd2hpY2ggYXJlIGludGVuZGVkIHRvIHJlY2VpdmUgY2F0aG9kaWMgcHJvdGVjdGlvbiBhbG9uZyB3aXRoIHN1cmZhY2VzIGltbWVyc2VkIGluIHdhdGVyLiBDYXRob2RpYyBwcm90ZWN0aW9uIG1heSBhbHNvIGJlIGFwcGxpZWQgdG8gdGhlIHJlYXIgZmFjZXMgb2Ygc2hlZXQgc3RlZWwgcGlsZWQgd2FsbHMgYW5kIHRoZSBpbnRlcm5hbCBzdXJmYWNlcyBvZiBmaWxsZWQgY2Fpc3NvbnMuIENhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3VjaCBzdXJmYWNlcyBpcyBzcGVjaWZpZWQgYnkgRU4gMTI5NTQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDQ5IiwidXVpZCI6Ijg1YTM4YjZmLTIxNDUtNGQzNi1hMzY4LTZmZDRhNzAyZDYzNiIsInRpdGxlIjoiSVNPIDEzMTgzOjIwMTIgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIENvbW11bmljYXRpb25zIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzIChDQUxNKSDigJQgVXNpbmcgYnJvYWRjYXN0IGNvbW11bmljYXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTgzOjIwMTIgc3BlY2lmaWVzIHRoZSBhcmNoaXRlY3R1cmFsIGNvbW11bmljYXRpb25zIGZyYW1ld29yayBvZiBpbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSBmb3IgdGhlIGZhbWlseSBvZiBjb21tdW5pY2F0aW9ucyBhY2Nlc3MgZm9yIGxhbmQgbW9iaWxlcyAoQ0FMTSkgcmVsYXRlZCBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkcy4gVGhlIGFyY2hpdGVjdHVyZSBpcyBkZXNjcmliZWQgaW4gYW4gYWJzdHJhY3Qgd2F5IHdpdGggc2V2ZXJhbCBncmFwaGljYWwgdmlld3MgYW5kIGV4YW1wbGVzLiBUaGUgZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9ucyBwYXJ0bHkgZm9sbG93IHRoZSBJU08gb3BlbiBzeXN0ZW1zIGludGVyY29ubmVjdGlvbiAoT1NJKSBwcmluY2lwbGVzLiBJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCB3aXRoaW4gSVNPIDEzMTgzOjIwMTIsIGEgbnVtYmVyIG9mIG5vdGVzIGFuZCBleGFtcGxlcyBhcmUgcHJvdmlkZWQgdG8gaWxsdXN0cmF0ZSB0aGUgQ0FMTSBjb25jZXB0LiAiLCJvYmplY3RJRCI6IjUzNDQ5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjgzOjIwMTIgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIENvbW11bmljYXRpb25zIGFjY2VzcyBmb3IgbGFuZCBtb2JpbGVzIChDQUxNKSDigJQgVXNpbmcgYnJvYWRjYXN0IGNvbW11bmljYXRpb25zIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44MzoyMDEyIHNwZWNpZmllcyB0aGUgYXJjaGl0ZWN0dXJhbCBjb21tdW5pY2F0aW9ucyBmcmFtZXdvcmsgb2YgaW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykgZm9yIHRoZSBmYW1pbHkgb2YgY29tbXVuaWNhdGlvbnMgYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMgKENBTE0pIHJlbGF0ZWQgSW50ZXJuYXRpb25hbCBTdGFuZGFyZHMuIFRoZSBhcmNoaXRlY3R1cmUgaXMgZGVzY3JpYmVkIGluIGFuIGFic3RyYWN0IHdheSB3aXRoIHNldmVyYWwgZ3JhcGhpY2FsIHZpZXdzIGFuZCBleGFtcGxlcy4gVGhlIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbnMgcGFydGx5IGZvbGxvdyB0aGUgPGVtPklTTzwvZW0+IG9wZW4gc3lzdGVtcyBpbnRlcmNvbm5lY3Rpb24gKE9TSSkgcHJpbmNpcGxlcy4gSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgd2l0aGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44MzoyMDEyLCBhIG51bWJlciBvZiBub3RlcyBhbmQgZXhhbXBsZXMgYXJlIHByb3ZpZGVkIHRvIGlsbHVzdHJhdGUgdGhlIENBTE0gY29uY2VwdC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0MDEiLCJ1dWlkIjoiMjM2ODhjM2EtM2FjMy00YTFiLWEzMmItNzJmNTRkMTkxMWE0IiwidGl0bGUiOiJJU08gMTMxNTM6MjAxMiBGcmFtZXdvcmsgb2YgdGhlIGRlc2lnbiBwcm9jZXNzIGZvciBlbmVyZ3ktc2F2aW5nIHNpbmdsZS1mYW1pbHkgcmVzaWRlbnRpYWwgYW5kIHNtYWxsIGNvbW1lcmNpYWwgYnVpbGRpbmdzIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEzMTUzOjIwMTIgc3BlY2lmaWVzIGEgZnJhbWV3b3JrIG9mIHRoZSBkZXNpZ24gcHJvY2VzcyBmb3IgZW5lcmd5LXNhdmluZyBzaW5nbGUtZmFtaWx5IHJlc2lkZW50aWFsIGFuZCBzbWFsbCBjb21tZXJjaWFsIGJ1aWxkaW5ncywgd2l0aCB0aGUgZW5lcmd5IGNvbnN1bXB0aW9uIHJhdGlvIGFzIHRoZSBrZXkgY3JpdGVyaW9uLiBJdCBpcyBpbnRlbmRlZCB0byBhc3Npc3QgaW4gdGhlIGRldmVsb3BtZW50IG9mIGRlc2lnbiBndWlkZWxpbmVzIGZvciBwcmFjdGl0aW9uZXJzIHdobyBkZXNpZ24gZW5lcmd5LXJlbGF0ZWQgcGFydHMgb2YgYnVpbGRpbmdzLiAiLCJvYmplY3RJRCI6IjUzNDAxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjUzOjIwMTIgRnJhbWV3b3JrIG9mIHRoZSBkZXNpZ24gcHJvY2VzcyBmb3IgZW5lcmd5LXNhdmluZyBzaW5nbGUtZmFtaWx5IHJlc2lkZW50aWFsIGFuZCBzbWFsbCBjb21tZXJjaWFsIGJ1aWxkaW5ncyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NTM6MjAxMiBzcGVjaWZpZXMgYSBmcmFtZXdvcmsgb2YgdGhlIGRlc2lnbiBwcm9jZXNzIGZvciBlbmVyZ3ktc2F2aW5nIHNpbmdsZS1mYW1pbHkgcmVzaWRlbnRpYWwgYW5kIHNtYWxsIGNvbW1lcmNpYWwgYnVpbGRpbmdzLCB3aXRoIHRoZSBlbmVyZ3kgY29uc3VtcHRpb24gcmF0aW8gYXMgdGhlIGtleSBjcml0ZXJpb24uIEl0IGlzIGludGVuZGVkIHRvIGFzc2lzdCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgZGVzaWduIGd1aWRlbGluZXMgZm9yIHByYWN0aXRpb25lcnMgd2hvIGRlc2lnbiBlbmVyZ3ktcmVsYXRlZCBwYXJ0cyBvZiBidWlsZGluZ3MuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzMwLzUzMDUwIiwidXVpZCI6IjJiNjRhODA2LTRhZWEtNDE5YS1hNmEwLTdkMTY4YmI5YWJhYiIsInRpdGxlIjoiSVNPIDEzMTI5OjIwMTIgUGFpbnRzIGFuZCB2YXJuaXNoZXMg4oCUIEVsZWN0cm9jaGVtaWNhbCBtZWFzdXJlbWVudCBvZiB0aGUgcHJvdGVjdGlvbiBwcm92aWRlZCB0byBzdGVlbCBieSBwYWludCBjb2F0aW5ncyDigJQgQ3VycmVudCBpbnRlcnJ1cHRlciAoQ0kpIHRlY2huaXF1ZSwgcmVsYXhhdGlvbiB2b2x0YW1tZXRyeSAoUlYpIHRlY2huaXF1ZSBhbmQgREMgdHJhbnNpZW50IChEQ1QpIG1lYXN1cmVtZW50cyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IjEgU2NvcGUgVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHNwZWNpZmllcyB0aGUgcHJvY2VkdXJlIGZvciBldmFsdWF0aW9uIG9mIHRoZSBleHBlcmltZW50YWwgc2V0LXVwIG9mIGVsZWN0cm9jaGVtaWNhbCBtZWFzdXJlbWVudHMgb24gaGlnaC1pbXBlZGFuY2UgY29hdGVkIHNhbXBsZXMgdXNpbmcgbWV0aG9kcyB0aGF0IGFyZSBiYXNlZCBvbiB0aGUgY3VycmVudCBpbnRlcnJ1cHRlciAoQ0kpIHRlY2huaXF1ZSwgcmVsYXhhdGlvbiB2b2x0YW1tZXRyeSAoUlYpIG9yIERDIHRyYW5zaWVudCAoRENUKSBtZWFzdXJlbWVudHMuIEl0IHByb3ZpZGVzIHNwZWNpZmljIGRlZmluaXRpb25zIGFuZCBndWlkYW5jZSBvbiBvcHRpbWl6aW5nIHRoZSBjb2xsZWN0aW9uIG9mIENJLCBSViBhbmQgRENUIGRhdGEgZnJvbSBoaWdoaW1wZWRhbmNlIHN5c3RlbXMuIEhpZ2ggaW1wZWRhbmNlIGluIHRoZSBjb250ZXh0IG9mIGludGFjdCBjb2F0aW5ncyByZWZlcnMgdG8gc3lzdGVtcyB3aXRoIGFuIGltcGVkYW5jZSBncmVhdGVyIHRoYW4gMTA5IM6pL2NtMi4gVGhpcyBkb2VzIG5vdCBwcmVjbHVkZSBtZWFzdXJlbWVudHMgb24gc3lzdGVtcyB3aXRoIGxvd2VyIGltcGVkYW5jZS4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGRlYWxzIGluIHBhcnRpY3VsYXIgd2l0aDog4oCUIGluc3RydW1lbnRhbCBzZXQtdXA6IHJlcXVpcmVtZW50cyBhbmQgc2hvcnRjb21pbmdzOyDigJQgZGF0YSB2YWxpZGF0aW9uOiBjaGVja2luZyB0aGUgbWVhc3VyZW1lbnQgcmFuZ2UgYW5kIHRoZSBhY2N1cmFjeSBvZiB0aGUgZGF0YTsg4oCUIHBlcmZvcm1pbmcgQ0ksIFJWLCBEQ1QgbWVhc3VyZW1lbnRzOiBzcGVjaW1lbiBjb25zaWRlcmF0aW9ucyBhbmQgaW5zdHJ1bWVudGFsIHBhcmFtZXRlcnM7IOKAlCB0aGUgZXhwZXJpbWVudGFsIHJlc3VsdHM6IGRpZmZlcmVudCBtZXRob2RzIG9mIHByZXNlbnRpbmcgQ0ksIFJWIGFuZCBEQ1QgZGF0YS4gRm9sbG93aW5nIHRoZSByZWNvbW1lbmRhdGlvbnMgc2hvdWxkIGVuc3VyZSB0aGUgYWNxdWlzaXRpb24gb2YgQ0ksIFJWIGFuZCBEQ1QgZGF0YSB0aGF0IGNhbiBiZSB1c2VkIHRvIHN0dWR5IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgc3BlY2ltZW4uIFRoaXMgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBkb2VzIG5vdCBnaXZlIGd1aWRlbGluZXMgZm9yIHRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZGF0YS4gIiwib2JqZWN0SUQiOiI1MzA1MF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yOToyMDEyIFBhaW50cyBhbmQgdmFybmlzaGVzIOKAlCBFbGVjdHJvY2hlbWljYWwgbWVhc3VyZW1lbnQgb2YgdGhlIHByb3RlY3Rpb24gcHJvdmlkZWQgdG8gc3RlZWwgYnkgcGFpbnQgY29hdGluZ3Mg4oCUIEN1cnJlbnQgaW50ZXJydXB0ZXIgKENJKSB0ZWNobmlxdWUsIHJlbGF4YXRpb24gdm9sdGFtbWV0cnkgKFJWKSB0ZWNobmlxdWUgYW5kIERDIHRyYW5zaWVudCAoRENUKSBtZWFzdXJlbWVudHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiMSBTY29wZSBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgc3BlY2lmaWVzIHRoZSBwcm9jZWR1cmUgZm9yIGV2YWx1YXRpb24gb2YgdGhlIGV4cGVyaW1lbnRhbCBzZXQtdXAgb2YgZWxlY3Ryb2NoZW1pY2FsIG1lYXN1cmVtZW50cyBvbiBoaWdoLWltcGVkYW5jZSBjb2F0ZWQgc2FtcGxlcyB1c2luZyBtZXRob2RzIHRoYXQgYXJlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGludGVycnVwdGVyIChDSSkgdGVjaG5pcXVlLCByZWxheGF0aW9uIHZvbHRhbW1ldHJ5IChSVikgb3IgREMgdHJhbnNpZW50IChEQ1QpIG1lYXN1cmVtZW50cy4gSXQgcHJvdmlkZXMgc3BlY2lmaWMgZGVmaW5pdGlvbnMgYW5kIGd1aWRhbmNlIG9uIG9wdGltaXppbmcgdGhlIGNvbGxlY3Rpb24gb2YgQ0ksIFJWIGFuZCBEQ1QgZGF0YSBmcm9tIGhpZ2hpbXBlZGFuY2Ugc3lzdGVtcy4gSGlnaCBpbXBlZGFuY2UgaW4gdGhlIGNvbnRleHQgb2YgaW50YWN0IGNvYXRpbmdzIHJlZmVycyB0byBzeXN0ZW1zIHdpdGggYW4gaW1wZWRhbmNlIGdyZWF0ZXIgdGhhbiAxMDkgzqkvY20yLiBUaGlzIGRvZXMgbm90IHByZWNsdWRlIG1lYXN1cmVtZW50cyBvbiBzeXN0ZW1zIHdpdGggbG93ZXIgaW1wZWRhbmNlLiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgZGVhbHMgaW4gcGFydGljdWxhciB3aXRoOiDigJQgaW5zdHJ1bWVudGFsIHNldC11cDogcmVxdWlyZW1lbnRzIGFuZCBzaG9ydGNvbWluZ3M7IOKAlCBkYXRhIHZhbGlkYXRpb246IGNoZWNraW5nIHRoZSBtZWFzdXJlbWVudCByYW5nZSBhbmQgdGhlIGFjY3VyYWN5IG9mIHRoZSBkYXRhOyDigJQgcGVyZm9ybWluZyBDSSwgUlYsIERDVCBtZWFzdXJlbWVudHM6IHNwZWNpbWVuIGNvbnNpZGVyYXRpb25zIGFuZCBpbnN0cnVtZW50YWwgcGFyYW1ldGVyczsg4oCUIHRoZSBleHBlcmltZW50YWwgcmVzdWx0czogZGlmZmVyZW50IG1ldGhvZHMgb2YgcHJlc2VudGluZyBDSSwgUlYgYW5kIERDVCBkYXRhLiBGb2xsb3dpbmcgdGhlIHJlY29tbWVuZGF0aW9ucyBzaG91bGQgZW5zdXJlIHRoZSBhY3F1aXNpdGlvbiBvZiBDSSwgUlYgYW5kIERDVCBkYXRhIHRoYXQgY2FuIGJlIHVzZWQgdG8gc3R1ZHkgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBzcGVjaW1lbi4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGRvZXMgbm90IGdpdmUgZ3VpZGVsaW5lcyBmb3IgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBkYXRhLiAiLCJtYXRjaExldmVsIjoibm9uZSIsIm1hdGNoZWRXb3JkcyI6W119fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMC81MzAwOSIsInV1aWQiOiIxOTkyZThkZi1hMWQ3LTRmNWMtYjRmZS00ZjhlZGQ5OTdiMmUiLCJ0aXRsZSI6IklTTyAxMzEyNToyMDEzIEZpbmUgY2VyYW1pY3MgKGFkdmFuY2VkIGNlcmFtaWNzLCBhZHZhbmNlZCB0ZWNobmljYWwgY2VyYW1pY3MpIOKAlCBUZXN0IG1ldGhvZCBmb3IgYW50aWZ1bmdhbCBhY3Rpdml0eSBvZiBzZW1pY29uZHVjdGluZyBwaG90b2NhdGFseXRpYyBtYXRlcmlhbHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMjU6MjAxMyBzcGVjaWZpZXMgYSB0ZXN0IG1ldGhvZCBjb3ZlcmluZyB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgYW50aWZ1bmdhbCBhY3Rpdml0eSBvZiBtYXRlcmlhbHMgdGhhdCBjb250YWluIGEgcGhvdG9jYXRhbHlzdCBvciBoYXZlIHBob3RvY2F0YWx5dGljIGZpbG1zIG9uIHRoZWlyIHN1cmZhY2UsIGJ5IGNvdW50aW5nIHRoZSBudW1iZXIgb2YgcHJlLWluY3ViYXRlZCBmdW5nYWwgc3BvcmVzIHRoYXQgc3Vydml2ZSBleHBvc3VyZSB0byB1bHRyYXZpb2xldCAoVVYtQSkgbGlnaHQuIElTTyAxMzEyNToyMDEzIHByb3ZpZGVzIGZvciB0aGUgYXNzZXNzbWVudCBvZiBkaWZmZXJlbnQga2luZHMgb24gbWF0ZXJpYWxzIHVzZWQgaW4gdmFyaW91cyBhcHBsaWNhdGlvbnMsIHN1Y2ggYXMgY29uc3RydWN0aW9uIG1hdGVyaWFscyBpbiBmbGF0IGNvYXRpbmcsIHNoZWV0LCBib2FyZCBvciBwbGF0ZSBmb3JtLCBldGMuIFBvd2RlciwgZ3JhbnVsYXIsIGZpYnJvdXMgb3IgcG9yb3VzIHBob3RvY2F0YWx5dGljIG1hdGVyaWFscyBhcmUgbm90IGluY2x1ZGVkLiBWYWx1ZXMgZXhwcmVzc2VkIGluIElTTyAxMzEyNToyMDEzIGFyZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIEludGVybmF0aW9uYWwgU3lzdGVtIG9mIFVuaXRzIChTSSkuICIsIm9iamVjdElEIjoiNTMwMDlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjU6MjAxMyBGaW5lIGNlcmFtaWNzIChhZHZhbmNlZCBjZXJhbWljcywgYWR2YW5jZWQgdGVjaG5pY2FsIGNlcmFtaWNzKSDigJQgVGVzdCBtZXRob2QgZm9yIGFudGlmdW5nYWwgYWN0aXZpdHkgb2Ygc2VtaWNvbmR1Y3RpbmcgcGhvdG9jYXRhbHl0aWMgbWF0ZXJpYWxzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yNToyMDEzIHNwZWNpZmllcyBhIHRlc3QgbWV0aG9kIGNvdmVyaW5nIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBhbnRpZnVuZ2FsIGFjdGl2aXR5IG9mIG1hdGVyaWFscyB0aGF0IGNvbnRhaW4gYSBwaG90b2NhdGFseXN0IG9yIGhhdmUgcGhvdG9jYXRhbHl0aWMgZmlsbXMgb24gdGhlaXIgc3VyZmFjZSwgYnkgY291bnRpbmcgdGhlIG51bWJlciBvZiBwcmUtaW5jdWJhdGVkIGZ1bmdhbCBzcG9yZXMgdGhhdCBzdXJ2aXZlIGV4cG9zdXJlIHRvIHVsdHJhdmlvbGV0IChVVi1BKSBsaWdodC4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI1OjIwMTMgcHJvdmlkZXMgZm9yIHRoZSBhc3Nlc3NtZW50IG9mIGRpZmZlcmVudCBraW5kcyBvbiBtYXRlcmlhbHMgdXNlZCBpbiB2YXJpb3VzIGFwcGxpY2F0aW9ucywgc3VjaCBhcyBjb25zdHJ1Y3Rpb24gbWF0ZXJpYWxzIGluIGZsYXQgY29hdGluZywgc2hlZXQsIGJvYXJkIG9yIHBsYXRlIGZvcm0sIGV0Yy4gUG93ZGVyLCBncmFudWxhciwgZmlicm91cyBvciBwb3JvdXMgcGhvdG9jYXRhbHl0aWMgbWF0ZXJpYWxzIGFyZSBub3QgaW5jbHVkZWQuIFZhbHVlcyBleHByZXNzZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI1OjIwMTMgYXJlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSW50ZXJuYXRpb25hbCBTeXN0ZW0gb2YgVW5pdHMgKFNJKS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMjkvNTI5NzkiLCJ1dWlkIjoiYTRhMDdhOTgtZWM5Yy00YmFkLWIzZGMtMDhmMzg0MjIxMjY3IiwidGl0bGUiOiJJU08gMTMxMjI6MjAxMSBTaGlwcyBhbmQgbWFyaW5lIHRlY2hub2xvZ3kg4oCUIExhdW5jaGluZyBhcHBsaWFuY2VzIGZvciBkYXZpdC1sYXVuY2hlZCBsaWZlcmFmdHMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMjI6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGZvciB0aGUgcGVyZm9ybWFuY2UsIGRlc2lnbiwgY29uc3RydWN0aW9uLCBvcGVyYXRpb24sIHNhZmV0eSwgaW5zcGVjdGlvbiwgbWFpbnRlbmFuY2UsIGFuZCB0ZXN0aW5nIGFuZCBhY2NlcHRhbmNlIG9mIGxhdW5jaGluZyBhcHBsaWFuY2VzIGZvciBkYXZpdC1sYXVuY2hlZCBsaWZlcmFmdHMgaW5zdGFsbGVkIG9uIGEgdmFyaWV0eSBvZiBzZWEtZ29pbmcgc2hpcHMuICIsIm9iamVjdElEIjoiNTI5NzlfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MjI6MjAxMSBTaGlwcyBhbmQgbWFyaW5lIHRlY2hub2xvZ3kg4oCUIExhdW5jaGluZyBhcHBsaWFuY2VzIGZvciBkYXZpdC1sYXVuY2hlZCBsaWZlcmFmdHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIyOjIwMTEgc3BlY2lmaWVzIHJlcXVpcmVtZW50cyBmb3IgdGhlIHBlcmZvcm1hbmNlLCBkZXNpZ24sIGNvbnN0cnVjdGlvbiwgb3BlcmF0aW9uLCBzYWZldHksIGluc3BlY3Rpb24sIG1haW50ZW5hbmNlLCBhbmQgdGVzdGluZyBhbmQgYWNjZXB0YW5jZSBvZiBsYXVuY2hpbmcgYXBwbGlhbmNlcyBmb3IgZGF2aXQtbGF1bmNoZWQgbGlmZXJhZnRzIGluc3RhbGxlZCBvbiBhIHZhcmlldHkgb2Ygc2VhLWdvaW5nIHNoaXBzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8yOS81Mjk1MSIsInV1aWQiOiI5ZWZlYTcxNi1iODQ2LTQxZDUtOGQ4My0xNDJlMmRlM2NhODMiLCJ0aXRsZSI6IklTTyAxMzExOToyMDEyIEhlYWx0aCBpbmZvcm1hdGljcyDigJQgQ2xpbmljYWwga25vd2xlZGdlIHJlc291cmNlcyDigJQgTWV0YWRhdGEiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE4LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMTk6MjAxMiBzcGVjaWZpZXMgYSBudW1iZXIgb2YgbWV0YWRhdGEgZWxlbWVudHMgdGhhdCBkZXNjcmliZSByZXNvdXJjZXMgY29udGFpbmluZyBtZWRpY2FsIGtub3dsZWRnZS4gSXQgaXMgcHJpbWFyaWx5IGFwcGxpY2FibGUgdG8gZGlnaXRhbCBkb2N1bWVudHMgcHJvdmlkZWQgYXMgd2ViIHJlc291cmNlcywgYWNjZXNzaWJsZSBmcm9tIGRhdGFiYXNlcyBvciB2aWEgZmlsZSB0cmFuc2ZlciwgYnV0IGNhbiBiZSBhcHBsaWNhYmxlIGFsc28gdG8gcGFwZXIgZG9jdW1lbnRzLCBlLmcuIGFydGljbGVzIGluIG1lZGljYWwgbGl0ZXJhdHVyZS4gIiwib2JqZWN0SUQiOiI1Mjk1MV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xOToyMDEyIEhlYWx0aCBpbmZvcm1hdGljcyDigJQgQ2xpbmljYWwga25vd2xlZGdlIHJlc291cmNlcyDigJQgTWV0YWRhdGEiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjE5OjIwMTIgc3BlY2lmaWVzIGEgbnVtYmVyIG9mIG1ldGFkYXRhIGVsZW1lbnRzIHRoYXQgZGVzY3JpYmUgcmVzb3VyY2VzIGNvbnRhaW5pbmcgbWVkaWNhbCBrbm93bGVkZ2UuIEl0IGlzIHByaW1hcmlseSBhcHBsaWNhYmxlIHRvIGRpZ2l0YWwgZG9jdW1lbnRzIHByb3ZpZGVkIGFzIHdlYiByZXNvdXJjZXMsIGFjY2Vzc2libGUgZnJvbSBkYXRhYmFzZXMgb3IgdmlhIGZpbGUgdHJhbnNmZXIsIGJ1dCBjYW4gYmUgYXBwbGljYWJsZSBhbHNvIHRvIHBhcGVyIGRvY3VtZW50cywgZS5nLiBhcnRpY2xlcyBpbiBtZWRpY2FsIGxpdGVyYXR1cmUuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzI4LzUyODk4IiwidXVpZCI6ImY2NjYxNmVkLWQxOTMtNGVlMS1hYmUwLTM3NDg4MjRlN2FlOSIsInRpdGxlIjoiSVNPIDEzMTEwOjIwMTIgQ2lnYXJldHRlcyDigJQgRGV0ZXJtaW5hdGlvbiBvZiBtZW50aG9sIGluIHNtb2tlIGNvbmRlbnNhdGVzIOKAlCBHYXMtY2hyb21hdG9ncmFwaGljIG1ldGhvZCIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzExMDoyMDEyIHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIGdhcy1jaHJvbWF0b2dyYXBoaWMgZGV0ZXJtaW5hdGlvbiBvZiBtZW50aG9sIGluIHRoZSB0b3RhbCBwYXJ0aWN1bGF0ZSBtYXR0ZXIgKFRQTSkgb2YgbWVudGhvbGF0ZWQgY2lnYXJldHRlIHNtb2tlIGNvbmRlbnNhdGVzLiBUaGUgc21va2luZyBvZiBjaWdhcmV0dGVzIGFuZCB0aGUgY29sbGVjdGlvbiBvZiBtYWluc3RyZWFtIHNtb2tlIGFyZSBjYXJyaWVkIG91dCBpbiBhY2NvcmRhbmNlIHdpdGggSVNPIDQzODcgd2l0aCBzb21lIGV4Y2VwdGlvbnMuIEVuY2Fwc3VsYXRlZCBtZW50aG9sIGluIHNwZWNpZmljIHByb2R1Y3RzIG1heSBsZWFkIHRvIHNwZWNpZmljIGhhbmRsaW5nIG5vdCBkZXNjcmliZWQgaW4gSVNPIDEzMTEwOjIwMTIuICIsIm9iamVjdElEIjoiNTI4OThfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTA6MjAxMiBDaWdhcmV0dGVzIOKAlCBEZXRlcm1pbmF0aW9uIG9mIG1lbnRob2wgaW4gc21va2UgY29uZGVuc2F0ZXMg4oCUIEdhcy1jaHJvbWF0b2dyYXBoaWMgbWV0aG9kIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4xMDoyMDEyIHNwZWNpZmllcyBhIG1ldGhvZCBmb3IgdGhlIGdhcy1jaHJvbWF0b2dyYXBoaWMgZGV0ZXJtaW5hdGlvbiBvZiBtZW50aG9sIGluIHRoZSB0b3RhbCBwYXJ0aWN1bGF0ZSBtYXR0ZXIgKFRQTSkgb2YgbWVudGhvbGF0ZWQgY2lnYXJldHRlIHNtb2tlIGNvbmRlbnNhdGVzLiBUaGUgc21va2luZyBvZiBjaWdhcmV0dGVzIGFuZCB0aGUgY29sbGVjdGlvbiBvZiBtYWluc3RyZWFtIHNtb2tlIGFyZSBjYXJyaWVkIG91dCBpbiBhY2NvcmRhbmNlIHdpdGggPGVtPklTTzwvZW0+IDQzODcgd2l0aCBzb21lIGV4Y2VwdGlvbnMuIEVuY2Fwc3VsYXRlZCBtZW50aG9sIGluIHNwZWNpZmljIHByb2R1Y3RzIG1heSBsZWFkIHRvIHNwZWNpZmljIGhhbmRsaW5nIG5vdCBkZXNjcmliZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjEwOjIwMTIuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA3LzI1LzcyNTYxIiwidXVpZCI6IjI4ZGI3ZTQ3LTgwNmQtNGRkZS1hZTMyLTZjMzY4ZWU0ZjFmOCIsInRpdGxlIjoiSVNPIDEzMTA1LTI6MjAxNC9BbWQgMToyMDE3IEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMjogU2FmZXR5IHJlcXVpcmVtZW50cyBhbmQgdmVyaWZpY2F0aW9uIOKAlCBBbWVuZG1lbnQgMSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwib2JqZWN0SUQiOiI3MjU2MV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wNS0yOjIwMTQvQW1kIDE6MjAxNyBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDI6IFNhZmV0eSByZXF1aXJlbWVudHMgYW5kIHZlcmlmaWNhdGlvbiDigJQgQW1lbmRtZW50IDEiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy8xOC83MTg3MSIsInV1aWQiOiI5YjQxZGU4Mi0yMTFlLTQyOWQtYjk5OS02ZDJmZGNjMDBlZDUiLCJ0aXRsZSI6IklTTyAxMzE4NC0zOjIwMTcgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIEd1aWRhbmNlIHByb3RvY29sIHZpYSBwZXJzb25hbCBJVFMgc3RhdGlvbiBmb3IgYWR2aXNvcnkgc2FmZXR5IHN5c3RlbXMg4oCUIFBhcnQgMzogUm9hZCBndWlkYW5jZSBwcm90b2NvbCAoUkdQKSBjb25mb3JtYW5jZSB0ZXN0IHNwZWNpZmljYXRpb24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE3LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxODQtMzoyMDE3IHNwZWNpZmllcyBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgYSBzZWxmLWNvbmZvcm1hbmNlIGFzc2Vzc21lbnQgb2YgdGhlIHN1cHBsaWVyJ3MgUC1JVFMtUyBzeXN0ZW0uIFRoZSBjb25mb3JtYW5jZSB0ZXN0IGNhc2VzIGZvbGxvdyB0aGUgdXNlIGNhc2UgZGVmaW5pdGlvbiBvZiBJU08vVFIgMTMxODTigJExIGFuZCB0aGUgcmVxdWlyZW1lbnRzIHN0YXRlZCBpbiBJU08gMTMxODTigJEyIGJhc2VkIG9uIHRoZSBEYXRhIGVYY2hhbmdlIE1lc3NhZ2UgKERYTSkgYXQgdGhlIGFwcGxpY2F0aW9uIGxldmVsIHJlZ2FyZGluZyB0aGUgc2FmZXR5IHdhcm5pbmcgYW5kIHBhcmtpbmcgZ3VpZGUgc2VydmljZXMgYmV0d2VlbiAtICAgICAgdGhlIFZlaGljbGUgSVRTIFN0YXRpb24gKFYtSVRTLVMpIGluc3RhbGxlZCBpbiB0aGUgdmVoaWNsZSwgb3IgLSAgICAgIGEgUGVyc29uYWwgSVRTIFN0YXRpb24gKFAtSVRTLVMpLCBlLmcuIE5vbWFkaWMgRGV2aWNlLCBpbiBhIHZlaGljbGUgb3IgdXNlZCBieSBhIHBlZGVzdHJpYW4sIGFuZCAtICAgICAgYSBSb2Fkc2lkZSBJVFMgU3RhdGlvbiAoUi1JVFMtUykgaW5zdGFsbGVkIGF0IHRoZSByb2Fkc2lkZS4gVGhlIHByaW1hcnkgYnV0IG5vdCBleGNsdXNpdmUgcHVycG9zZSBvZiB0aGlzIGRvY3VtZW50IGlzIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gdG8gdGhlIFAtSVRTLVMgc3lzdGVtIHByb3ZpZGVyIHRvIGJ1aWxkIGFuZCB0ZXN0IHRoZSBQLUlUUy1TIHN5c3RlbSBhZ2FpbnN0IHRoZSBjb25mb3JtYW5jZSB0ZXN0IGNhc2VzLiBUaGlzIGZpbmFsIHN0ZXAgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3Mgb2YgdGhlIFAtSVRTLVMgc3lzdGVtIGVuc3VyZXMgcHJvdmlkZXJzIHRoYXQgdGhlaXIgUC1JVFMtUyBzeXN0ZW0gbWVldHMgYSBoaWdoIGRlZ3JlZSBvZiBmdW5jdGlvbmFsIHJlcXVpcmVtZW50cyBleHBlY3RlZCBieSB0aGUgZW5kIHVzZXIuICIsIm9iamVjdElEIjoiNzE4NzFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQtMzoyMDE3IEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIChJVFMpIOKAlCBHdWlkYW5jZSBwcm90b2NvbCB2aWEgcGVyc29uYWwgSVRTIHN0YXRpb24gZm9yIGFkdmlzb3J5IHNhZmV0eSBzeXN0ZW1zIOKAlCBQYXJ0IDM6IFJvYWQgZ3VpZGFuY2UgcHJvdG9jb2wgKFJHUCkgY29uZm9ybWFuY2UgdGVzdCBzcGVjaWZpY2F0aW9uIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NC0zOjIwMTcgc3BlY2lmaWVzIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBhIHNlbGYtY29uZm9ybWFuY2UgYXNzZXNzbWVudCBvZiB0aGUgc3VwcGxpZXIncyBQLUlUUy1TIHN5c3RlbS4gVGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMgZm9sbG93IHRoZSB1c2UgY2FzZSBkZWZpbml0aW9uIG9mIDxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT44NOKAkTEgYW5kIHRoZSByZXF1aXJlbWVudHMgc3RhdGVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT44NOKAkTIgYmFzZWQgb24gdGhlIERhdGEgZVhjaGFuZ2UgTWVzc2FnZSAoRFhNKSBhdCB0aGUgYXBwbGljYXRpb24gbGV2ZWwgcmVnYXJkaW5nIHRoZSBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkZSBzZXJ2aWNlcyBiZXR3ZWVuIC0gICAgICB0aGUgVmVoaWNsZSBJVFMgU3RhdGlvbiAoVi1JVFMtUykgaW5zdGFsbGVkIGluIHRoZSB2ZWhpY2xlLCBvciAtICAgICAgYSBQZXJzb25hbCBJVFMgU3RhdGlvbiAoUC1JVFMtUyksIGUuZy4gTm9tYWRpYyBEZXZpY2UsIGluIGEgdmVoaWNsZSBvciB1c2VkIGJ5IGEgcGVkZXN0cmlhbiwgYW5kIC0gICAgICBhIFJvYWRzaWRlIElUUyBTdGF0aW9uIChSLUlUUy1TKSBpbnN0YWxsZWQgYXQgdGhlIHJvYWRzaWRlLiBUaGUgcHJpbWFyeSBidXQgbm90IGV4Y2x1c2l2ZSBwdXJwb3NlIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiB0byB0aGUgUC1JVFMtUyBzeXN0ZW0gcHJvdmlkZXIgdG8gYnVpbGQgYW5kIHRlc3QgdGhlIFAtSVRTLVMgc3lzdGVtIGFnYWluc3QgdGhlIGNvbmZvcm1hbmNlIHRlc3QgY2FzZXMuIFRoaXMgZmluYWwgc3RlcCBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBvZiB0aGUgUC1JVFMtUyBzeXN0ZW0gZW5zdXJlcyBwcm92aWRlcnMgdGhhdCB0aGVpciBQLUlUUy1TIHN5c3RlbSBtZWV0cyBhIGhpZ2ggZGVncmVlIG9mIGZ1bmN0aW9uYWwgcmVxdWlyZW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBlbmQgdXNlci4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDcvMDAvNzAwMzQiLCJ1dWlkIjoiMWNlZjcxMjktNDY5ZC00ZjExLWE5ZmQtODlhYmViOTE3NDJlIiwidGl0bGUiOiJJU08gMTMxNDE6MjAxNS9BbWQgMToyMDE3IEVsZWN0cm9uaWMgZmVlIGNvbGxlY3Rpb24g4oCUIExvY2FsaXNhdGlvbiBhdWdtZW50YXRpb24gY29tbXVuaWNhdGlvbiBmb3IgYXV0b25vbW91cyBzeXN0ZW1zIOKAlCBBbWVuZG1lbnQgMSIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwib2JqZWN0SUQiOiI3MDAzNF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MToyMDE1L0FtZCAxOjIwMTcgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgTG9jYWxpc2F0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIGZvciBhdXRvbm9tb3VzIHN5c3RlbXMg4oCUIEFtZW5kbWVudCAxIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzAvNTMwNTEiLCJ1dWlkIjoiM2ExYzhmY2YtNDg5Yy00MWI2LWI1YzgtMzJjZmRhZmY2MDY0IiwidGl0bGUiOiJJU08gMTMxMzA6MjAxMSBMYWJvcmF0b3J5IGdsYXNzd2FyZSDigJQgRGVzaWNjYXRvcnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE3LCJvcmRlciI6MTEsInRleHQiOiJJU08gMTMxMzA6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0cyBmb3IgZGVzaWNjYXRvcnMgYW5kIHZhY3V1bSBkZXNpY2NhdG9ycyBpbnRlbmRlZCBmb3IgZ2VuZXJhbCBsYWJvcmF0b3J5IHB1cnBvc2VzIHN1Y2ggYXMgZHJ5aW5nIG9mIHN1YnN0YW5jZXMgb3IgbWF0ZXJpYWwuICIsIm9iamVjdElEIjoiNTMwNTFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MzA6MjAxMSBMYWJvcmF0b3J5IGdsYXNzd2FyZSDigJQgRGVzaWNjYXRvcnMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjMwOjIwMTEgc3BlY2lmaWVzIHJlcXVpcmVtZW50cyBhbmQgdGVzdHMgZm9yIGRlc2ljY2F0b3JzIGFuZCB2YWN1dW0gZGVzaWNjYXRvcnMgaW50ZW5kZWQgZm9yIGdlbmVyYWwgbGFib3JhdG9yeSBwdXJwb3NlcyBzdWNoIGFzIGRyeWluZyBvZiBzdWJzdGFuY2VzIG9yIG1hdGVyaWFsLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8yOC81MjgyMSIsInV1aWQiOiJlMWM3ZjQxNC1kOTY5LTQyNjYtYmNmYy1iMzg3NDFjZjhlOTEiLCJ0aXRsZSI6IklTTyAxMzEwMjoyMDEyIEdlb21ldHJpY2FsIHByb2R1Y3Qgc3BlY2lmaWNhdGlvbnMgKEdQUykg4oCUIERpbWVuc2lvbmFsIG1lYXN1cmluZyBlcXVpcG1lbnQ6IEVsZWN0cm9uaWMgZGlnaXRhbC1pbmRpY2F0b3IgZ2F1Z2Ug4oCUIERlc2lnbiBhbmQgbWV0cm9sb2dpY2FsIGNoYXJhY3RlcmlzdGljcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAxMzEwMjoyMDEyIHNwZWNpZmllcyB0aGUgbW9zdCBpbXBvcnRhbnQgZGVzaWduIGFuZCBtZXRyb2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGVsZWN0cm9uaWMgZGlnaXRhbC1pbmRpY2F0b3IgZ2F1Z2VzLiAiLCJvYmplY3RJRCI6IjUyODIxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjAyOjIwMTIgR2VvbWV0cmljYWwgcHJvZHVjdCBzcGVjaWZpY2F0aW9ucyAoR1BTKSDigJQgRGltZW5zaW9uYWwgbWVhc3VyaW5nIGVxdWlwbWVudDogRWxlY3Ryb25pYyBkaWdpdGFsLWluZGljYXRvciBnYXVnZSDigJQgRGVzaWduIGFuZCBtZXRyb2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4wMjoyMDEyIHNwZWNpZmllcyB0aGUgbW9zdCBpbXBvcnRhbnQgZGVzaWduIGFuZCBtZXRyb2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGVsZWN0cm9uaWMgZGlnaXRhbC1pbmRpY2F0b3IgZ2F1Z2VzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi8zMC82MzA5MSIsInV1aWQiOiJhYWNhNjk4MC1jYzM3LTRjN2UtOWFiYy1jZmE4Y2Y5MTIwOTkiLCJ0aXRsZSI6IklTTyAxMzEyNzoyMDEyL0NvciAxOjIwMTIgUGFja2FnaW5nIOKAlCBDaGlsZCByZXNpc3RhbnQgcGFja2FnaW5nIOKAlCBNZWNoYW5pY2FsIHRlc3QgbWV0aG9kcyBmb3IgcmVjbG9zYWJsZSBjaGlsZCByZXNpc3RhbnQgcGFja2FnaW5nIHN5c3RlbXMg4oCUIFRlY2huaWNhbCBDb3JyaWdlbmR1bSAxIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxMiwib3JkZXIiOjExLCJvYmplY3RJRCI6IjYzMDkxXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjI3OjIwMTIvQ29yIDE6MjAxMiBQYWNrYWdpbmcg4oCUIENoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcg4oCUIE1lY2hhbmljYWwgdGVzdCBtZXRob2RzIGZvciByZWNsb3NhYmxlIGNoaWxkIHJlc2lzdGFudCBwYWNrYWdpbmcgc3lzdGVtcyDigJQgVGVjaG5pY2FsIENvcnJpZ2VuZHVtIDEiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy84OC83ODgwMiIsInV1aWQiOiJkZTMzZjU3YS00MzBjLTQ4OTctODBhMy1hOTI0MWU0ZWI0Y2YiLCJ0aXRsZSI6IklTTyAxMzE2NS0xIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMTogVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJzdGF0dXMiOiJVbmRlciBkZXZlbG9wbWVudCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMiwib2JqZWN0SUQiOiI3ODgwMl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0xIFdhdGVyIHF1YWxpdHkg4oCUIFJhZGl1bS0yMjYg4oCUIFBhcnQgMTogVGVzdCBtZXRob2QgdXNpbmcgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRpbmciLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy84My83ODM5MiIsInV1aWQiOiJlYjdlZWZmOS1iNjA1LTRlM2ItYTJlNi05ZjNjMjRiMzE5MTAiLCJ0aXRsZSI6IklTTyAxMzExOSBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIENsaW5pY2FsIGtub3dsZWRnZSByZXNvdXJjZXMg4oCUIE1ldGFkYXRhIiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsIm9iamVjdElEIjoiNzgzOTJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MTkgSGVhbHRoIGluZm9ybWF0aWNzIOKAlCBDbGluaWNhbCBrbm93bGVkZ2UgcmVzb3VyY2VzIOKAlCBNZXRhZGF0YSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDA2IiwidXVpZCI6ImQ2Mjg0N2RkLTk4ZTEtNGM2Ni05MmM2LTdmOGM5MTI5ZTA1YyIsInRpdGxlIjoiSVNPIDEzMTY1LTI6MjAxNCBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGVtYW5vbWV0cnkiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTY1LTI6MjAxNCBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgZW1hbm9tZXRyeS4gVGhlIG1ldGhvZCBzcGVjaWZpZWQgaXMgc3VpdGFibGUgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzb2x1YmxlLCBzdXNwZW5kZWQsIGFuZCB0b3RhbCAyMjYgUmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgd2l0aCBzb2x1YmxlIDIyNiBSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBsIOKIkjEgLiBJbiB3YXRlciBjb250YWluaW5nIGhpZ2ggYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgMjI4IFRoLCBpbnRlcmZlcmVuY2UgZnJvbSAyMjAgUm4gZGVjYXkgcHJvZHVjdHMgY2FuIGxlYWQgdG8gb3ZlcmVzdGltYXRpb24gb2YgbWVhc3VyZWQgbGV2ZWxzLiAiLCJvYmplY3RJRCI6IjUzNDA2XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTI6MjAxNCBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDI6IFRlc3QgbWV0aG9kIHVzaW5nIGVtYW5vbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY1LTI6MjAxNCBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoIDIyNiBSYSkgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgYnkgZW1hbm9tZXRyeS4gVGhlIG1ldGhvZCBzcGVjaWZpZWQgaXMgc3VpdGFibGUgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzb2x1YmxlLCBzdXNwZW5kZWQsIGFuZCB0b3RhbCAyMjYgUmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBhbGwgdHlwZXMgb2Ygd2F0ZXIgd2l0aCBzb2x1YmxlIDIyNiBSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBsIOKIkjEgLiBJbiB3YXRlciBjb250YWluaW5nIGhpZ2ggYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgb2YgMjI4IFRoLCBpbnRlcmZlcmVuY2UgZnJvbSAyMjAgUm4gZGVjYXkgcHJvZHVjdHMgY2FuIGxlYWQgdG8gb3ZlcmVzdGltYXRpb24gb2YgbWVhc3VyZWQgbGV2ZWxzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzMzMCIsInV1aWQiOiJiNmViMjE0Ni1hNGIzLTQ0Y2UtYjA3My1iNzU0OWMzNmU0ODYiLCJ0aXRsZSI6IklTTyAxMzEzNzoyMDEzIFdvcmtwbGFjZSBhdG1vc3BoZXJlcyDigJQgUHVtcHMgZm9yIHBlcnNvbmFsIHNhbXBsaW5nIG9mIGNoZW1pY2FsIGFuZCBiaW9sb2dpY2FsIGFnZW50cyDigJQgUmVxdWlyZW1lbnRzIGFuZCB0ZXN0IG1ldGhvZHMiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTAwLCJ0ZXh0IjoiSVNPIDEzMTM3OjIwMTMgc3BlY2lmaWVzIHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50cyBmb3IgYmF0dGVyeSBwb3dlcmVkIHB1bXBzIHVzZWQgZm9yIHBlcnNvbmFsIHNhbXBsaW5nIG9mIGNoZW1pY2FsIGFuZCBiaW9sb2dpY2FsIGFnZW50cyBpbiB3b3JrcGxhY2UgYWlyLiBJdCBhbHNvIHNwZWNpZmllcyB0ZXN0IG1ldGhvZHMgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygc3VjaCBwdW1wcyB1bmRlciBwcmVzY3JpYmVkIGxhYm9yYXRvcnkgY29uZGl0aW9ucy4gSVNPIDEzMTM3OjIwMTMgaXMgYXBwbGljYWJsZSB0byBiYXR0ZXJ5IHBvd2VyZWQgcHVtcHMgaGF2aW5nIGEgbm9taW5hbCB2b2x1bWUgZmxvdyByYXRlIGFib3ZlIDEwIG1sIOKLhSBtaW4g4oiSMSAsIGFzIHVzZWQgd2l0aCBjb21iaW5hdGlvbnMgb2Ygc2FtcGxlciBhbmQgY29sbGVjdGlvbiBzdWJzdHJhdGUgZm9yIHNhbXBsaW5nIG9mIGdhc2VzLCB2YXBvdXJzLCBkdXN0cywgZnVtZXMsIG1pc3RzIGFuZCBmaWJyZXMuIElTTyAxMzEzNzoyMDEzIGlzIHByaW1hcmlseSBpbnRlbmRlZCBmb3IgZmxvdy1jb250cm9sbGVkIHB1bXBzLiAiLCJvYmplY3RJRCI6IjUzMzMwXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjM3OjIwMTMgV29ya3BsYWNlIGF0bW9zcGhlcmVzIOKAlCBQdW1wcyBmb3IgcGVyc29uYWwgc2FtcGxpbmcgb2YgY2hlbWljYWwgYW5kIGJpb2xvZ2ljYWwgYWdlbnRzIOKAlCBSZXF1aXJlbWVudHMgYW5kIHRlc3QgbWV0aG9kcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzc6MjAxMyBzcGVjaWZpZXMgcGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzIGZvciBiYXR0ZXJ5IHBvd2VyZWQgcHVtcHMgdXNlZCBmb3IgcGVyc29uYWwgc2FtcGxpbmcgb2YgY2hlbWljYWwgYW5kIGJpb2xvZ2ljYWwgYWdlbnRzIGluIHdvcmtwbGFjZSBhaXIuIEl0IGFsc28gc3BlY2lmaWVzIHRlc3QgbWV0aG9kcyBpbiBvcmRlciB0byBkZXRlcm1pbmUgdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiBzdWNoIHB1bXBzIHVuZGVyIHByZXNjcmliZWQgbGFib3JhdG9yeSBjb25kaXRpb25zLiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+Mzc6MjAxMyBpcyBhcHBsaWNhYmxlIHRvIGJhdHRlcnkgcG93ZXJlZCBwdW1wcyBoYXZpbmcgYSBub21pbmFsIHZvbHVtZSBmbG93IHJhdGUgYWJvdmUgMTAgbWwg4ouFIG1pbiDiiJIxICwgYXMgdXNlZCB3aXRoIGNvbWJpbmF0aW9ucyBvZiBzYW1wbGVyIGFuZCBjb2xsZWN0aW9uIHN1YnN0cmF0ZSBmb3Igc2FtcGxpbmcgb2YgZ2FzZXMsIHZhcG91cnMsIGR1c3RzLCBmdW1lcywgbWlzdHMgYW5kIGZpYnJlcy4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjM3OjIwMTMgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciBmbG93LWNvbnRyb2xsZWQgcHVtcHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzY0LzU2NDYzIiwidXVpZCI6ImE5ZTFhZjEwLWIzYWItNGQ3Yi1iNTc4LTM1OTAxM2Q1YmE4NyIsInRpdGxlIjoiSVNPIDEzMTYzOjIwMTMgV2F0ZXIgcXVhbGl0eSDigJQgTGVhZC0yMTAg4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMSwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxMzE2MyBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgbGVhZC0yMTAgKDIxMFBiKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHNhbXBsZXMgb2YgYWxsIHR5cGVzIG9mIHdhdGVyIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIChMU0MpLiBGb3IgcmF3IGFuZCBkcmlua2luZyB3YXRlciwgdGhlIHNhbXBsZSBzaG91bGQgYmUgZGVnYXNzZWQgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhlIGluZ3Jvd3RoIG9mIDIxMCBQYiBmcm9tIHJhZG9uLTIyMiAoIDIyMiBSbikuIFVzaW5nIGN1cnJlbnRseSBhdmFpbGFibGUgbGlxdWlkIHNjaW50aWxsYXRpb24gY291bnRlcnMsIHRoaXMgdGVzdCBtZXRob2QgY2FuIG1lYXN1cmUgdGhlIDIxMCBQYiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBpbiB0aGUgcmFuZ2Ugb2YgbGVzcyB0aGFuIDIwIG1CceKLhWwgLTEgdG8gNTAgbUJx4ouFbCAtMSAuIFRoZXNlIHZhbHVlcyBjYW4gYmUgYWNoaWV2ZWQgd2l0aCBhIGNvdW50aW5nIHRpbWUgYmV0d2VlbiAxODAgbWluIGFuZCA3MjAgbWluIGZvciBhIHNhbXBsZSB2b2x1bWUgZnJvbSAwLDUgbCB0byAxLDUgbC4gSGlnaGVyIDIxMCBQYiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjYW4gYmUgbWVhc3VyZWQgYnkgZWl0aGVyIGRpbHV0aW5nIHRoZSBzYW1wbGUgb3IgdXNpbmcgc21hbGxlciBzYW1wbGUgYWxpcXVvdHMgb3IgYm90aC4gSXQgaXMgdGhlIGxhYm9yYXRvcnkncyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhlIHN1aXRhYmlsaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHRoZSB3YXRlciBzYW1wbGVzIHRlc3RlZC4gIiwib2JqZWN0SUQiOiI1NjQ2M18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MzoyMDEzIFdhdGVyIHF1YWxpdHkg4oCUIExlYWQtMjEwIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjMgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIGxlYWQtMjEwICgyMTBQYikgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGFsbCB0eXBlcyBvZiB3YXRlciB1c2luZyBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyAoTFNDKS4gRm9yIHJhdyBhbmQgZHJpbmtpbmcgd2F0ZXIsIHRoZSBzYW1wbGUgc2hvdWxkIGJlIGRlZ2Fzc2VkIGluIG9yZGVyIHRvIG1pbmltaXplIHRoZSBpbmdyb3d0aCBvZiAyMTAgUGIgZnJvbSByYWRvbi0yMjIgKCAyMjIgUm4pLiBVc2luZyBjdXJyZW50bHkgYXZhaWxhYmxlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50ZXJzLCB0aGlzIHRlc3QgbWV0aG9kIGNhbiBtZWFzdXJlIHRoZSAyMTAgUGIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgaW4gdGhlIHJhbmdlIG9mIGxlc3MgdGhhbiAyMCBtQnHii4VsIC0xIHRvIDUwIG1CceKLhWwgLTEgLiBUaGVzZSB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIHdpdGggYSBjb3VudGluZyB0aW1lIGJldHdlZW4gMTgwIG1pbiBhbmQgNzIwIG1pbiBmb3IgYSBzYW1wbGUgdm9sdW1lIGZyb20gMCw1IGwgdG8gMSw1IGwuIEhpZ2hlciAyMTAgUGIgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY2FuIGJlIG1lYXN1cmVkIGJ5IGVpdGhlciBkaWx1dGluZyB0aGUgc2FtcGxlIG9yIHVzaW5nIHNtYWxsZXIgc2FtcGxlIGFsaXF1b3RzIG9yIGJvdGguIEl0IGlzIHRoZSBsYWJvcmF0b3J5J3MgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSBzdWl0YWJpbGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB0aGUgd2F0ZXIgc2FtcGxlcyB0ZXN0ZWQuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDQ4IiwidXVpZCI6IjU2NWM4ZjEwLTBmNGYtNGI2Yi1hYTNlLTQxNmMwZmM5NzZkZCIsInRpdGxlIjoiSVNPIDEzMTc5LTE6MjAxNCBJbXBsYW50cyBmb3Igc3VyZ2VyeSDigJQgUGxhc21hLXNwcmF5ZWQgdW5hbGxveWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzIOKAlCBQYXJ0IDE6IEdlbmVyYWwgcmVxdWlyZW1lbnRzIiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMSwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxMzE3OS0xOjIwMTQgc3BlY2lmaWVzIGdlbmVyYWwgcmVxdWlyZW1lbnRzIGZvciBwbGFzbWEtc3ByYXllZCB1bmFsbG95ZWQgdGl0YW5pdW0gY29hdGluZ3Mgb24gbWV0YWxsaWMgc3VyZ2ljYWwgaW1wbGFudHMuIEl0IGFwcGxpZXMgdG8gcGxhc21hIHNwcmF5aW5nIGluIGFpciBhbmQgaW4gdmFjdXVtLiBJU08gMTMxNzktMToyMDE0IGRvZXMgbm90IGFwcGx5IHRvIGNvYXRpbmdzIG1hZGUgb2Ygb3RoZXIgbWF0ZXJpYWxzIHRoYW4gdW5hbGxveWVkIHRpdGFuaXVtIG9yIGNvYXRpbmdzIHJlYWxpemVkIGJ5IGFub3RoZXIgdGVjaG5vbG9neSB0aGFuIHBsYXNtYSBzcHJheWluZy4gIiwib2JqZWN0SUQiOiI1MzQ0OF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43OS0xOjIwMTQgSW1wbGFudHMgZm9yIHN1cmdlcnkg4oCUIFBsYXNtYS1zcHJheWVkIHVuYWxsb3llZCB0aXRhbml1bSBjb2F0aW5ncyBvbiBtZXRhbGxpYyBzdXJnaWNhbCBpbXBsYW50cyDigJQgUGFydCAxOiBHZW5lcmFsIHJlcXVpcmVtZW50cyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NzktMToyMDE0IHNwZWNpZmllcyBnZW5lcmFsIHJlcXVpcmVtZW50cyBmb3IgcGxhc21hLXNwcmF5ZWQgdW5hbGxveWVkIHRpdGFuaXVtIGNvYXRpbmdzIG9uIG1ldGFsbGljIHN1cmdpY2FsIGltcGxhbnRzLiBJdCBhcHBsaWVzIHRvIHBsYXNtYSBzcHJheWluZyBpbiBhaXIgYW5kIGluIHZhY3V1bS4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc5LTE6MjAxNCBkb2VzIG5vdCBhcHBseSB0byBjb2F0aW5ncyBtYWRlIG9mIG90aGVyIG1hdGVyaWFscyB0aGFuIHVuYWxsb3llZCB0aXRhbml1bSBvciBjb2F0aW5ncyByZWFsaXplZCBieSBhbm90aGVyIHRlY2hub2xvZ3kgdGhhbiBwbGFzbWEgc3ByYXlpbmcuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDAzIiwidXVpZCI6IjgwODk1ZTgzLWQzY2QtNDQ3NS05YzNhLTA4ZmM2OTgyYjY1NiIsInRpdGxlIjoiSVNPIDEzMTYyOjIwMTEgV2F0ZXIgcXVhbGl0eSDigJQgRGV0ZXJtaW5hdGlvbiBvZiBjYXJib24gMTQgYWN0aXZpdHkg4oCUIExpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG1ldGhvZCIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjEsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTMxNjI6MjAxMSBzcGVjaWZpZXMgdGhlIGNvbmRpdGlvbnMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgb3Igb2YgMTQgQy1jb250YWluaW5nIHdhdGVyIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGhlIGFuYWx5c2lzIG9mIGFueSBvcmdhbmljIG1vbGVjdWxlIHNvbHVibGUgaW4gd2F0ZXIgdGhhdCBpcyB3ZWxsIG1peGVkIHdpdGggdGhlIHNjaW50aWxsYXRpb24gY29ja3RhaWwuIEl0IGRvZXMgbm90IGFwcGx5IHRvIG1pY2VsbGVzIG9yIFwibGFyZ2VcIiBwYXJ0aWNsZXMgKGxpcGlkcywgZnVsdmljIGFjaWQsIGh1bWljIGFjaWQsIGV0Yy4pIHRoYXQgYXJlIGluYWRlcXVhdGVseSBtaXhlZCB3aXRoIHRoZSBzY2ludGlsbGF0aW9uIGNvY2t0YWlsIGFuZCB0aGUgd2F0ZXIuIFNvbWUgYmV0YSBlbmVyZ3kgaXMgbG9zdCB3aXRob3V0IGFueSBleGNpdGF0aW9uIG9mIHRoZSBzY2ludGlsbGF0aW9uIGNvY2t0YWlsIGFuZCB0aGUgcmVzdWx0cyBhcmUgdW5kZXJlc3RpbWF0ZWQuIFRoZSBtZXRob2QgaXMgbm90IGFwcGxpY2FibGUgdG8gdGhlIGFuYWx5c2lzIG9mIG9yZ2FuaWNhbGx5IGJvdW5kIDE0IEMsIHdob3NlIGRldGVybWluYXRpb24gcmVxdWlyZXMgYWRkaXRpb25hbCBjaGVtaWNhbCBwcm9jZXNzaW5nIChzdWNoIGFzIGNoZW1pY2FsIG94aWRhdGlvbiwgY29tYnVzdGlvbikuIEl0IGlzIHBvc3NpYmxlIHRvIGRldGVybWluZSAxNCBDIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJlbG93IDEwIDYgQnEgbCAtIDEgd2l0aG91dCBhbnkgc2FtcGxlIGRpbHV0aW9uLiAiLCJvYmplY3RJRCI6IjUzNDAzXzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYyOjIwMTEgV2F0ZXIgcXVhbGl0eSDigJQgRGV0ZXJtaW5hdGlvbiBvZiBjYXJib24gMTQgYWN0aXZpdHkg4oCUIExpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG1ldGhvZCIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjI6MjAxMSBzcGVjaWZpZXMgdGhlIGNvbmRpdGlvbnMgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIDE0IEMgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBzYW1wbGVzIG9mIGVudmlyb25tZW50YWwgd2F0ZXIgb3Igb2YgMTQgQy1jb250YWluaW5nIHdhdGVyIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGUgbWV0aG9kIGlzIGFwcGxpY2FibGUgdG8gdGhlIGFuYWx5c2lzIG9mIGFueSBvcmdhbmljIG1vbGVjdWxlIHNvbHVibGUgaW4gd2F0ZXIgdGhhdCBpcyB3ZWxsIG1peGVkIHdpdGggdGhlIHNjaW50aWxsYXRpb24gY29ja3RhaWwuIEl0IGRvZXMgbm90IGFwcGx5IHRvIG1pY2VsbGVzIG9yIFwibGFyZ2VcIiBwYXJ0aWNsZXMgKGxpcGlkcywgZnVsdmljIGFjaWQsIGh1bWljIGFjaWQsIGV0Yy4pIHRoYXQgYXJlIGluYWRlcXVhdGVseSBtaXhlZCB3aXRoIHRoZSBzY2ludGlsbGF0aW9uIGNvY2t0YWlsIGFuZCB0aGUgd2F0ZXIuIFNvbWUgYmV0YSBlbmVyZ3kgaXMgbG9zdCB3aXRob3V0IGFueSBleGNpdGF0aW9uIG9mIHRoZSBzY2ludGlsbGF0aW9uIGNvY2t0YWlsIGFuZCB0aGUgcmVzdWx0cyBhcmUgdW5kZXJlc3RpbWF0ZWQuIFRoZSBtZXRob2QgaXMgbm90IGFwcGxpY2FibGUgdG8gdGhlIGFuYWx5c2lzIG9mIG9yZ2FuaWNhbGx5IGJvdW5kIDE0IEMsIHdob3NlIGRldGVybWluYXRpb24gcmVxdWlyZXMgYWRkaXRpb25hbCBjaGVtaWNhbCBwcm9jZXNzaW5nIChzdWNoIGFzIGNoZW1pY2FsIG94aWRhdGlvbiwgY29tYnVzdGlvbikuIEl0IGlzIHBvc3NpYmxlIHRvIGRldGVybWluZSAxNCBDIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIGJlbG93IDEwIDYgQnEgbCAtIDEgd2l0aG91dCBhbnkgc2FtcGxlIGRpbHV0aW9uLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zMy81MzM2MiIsInV1aWQiOiIxOGViMWY4Mi00ZGE4LTQwYzItOWNlMS03ZjQxZjg0OGI5Y2YiLCJ0aXRsZSI6IklTTyAxMzE0MjoyMDE1IEVsZWN0cm8tb3B0aWNhbCBzeXN0ZW1zIOKAlCBDYXZpdHkgcmluZy1kb3duIHRlY2huaXF1ZSBmb3IgaGlnaC1yZWZsZWN0YW5jZSBtZWFzdXJlbWVudCIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjEsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTMxNDI6MjAxNSBzcGVjaWZpZXMgbWVhc3VyZW1lbnQgcHJvY2VkdXJlcyBmb3IgdGhlIHByZWNpc2UgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgaGlnaCByZWZsZWN0YW5jZSBvZiBvcHRpY2FsIGxhc2VyIGNvbXBvbmVudHMuIFVwIHRvIG5vdywgdGhlIElTTyBzdGFuZGFyZGl6ZWQgdGVzdGluZyBtZXRob2RzIGZvciByZWZsZWN0YW5jZSBvZiBvcHRpY2FsIGxhc2VyIGNvbXBvbmVudHMgaGF2ZSB0aGUgYWNjdXJhY3kgbGltaXQgb2YgYXBwcm94aW1hdGVseSAwLDAxICUgKGZvciBtZWFzdXJlbWVudCBvZiBhYnNvbHV0ZSByZWZsZWN0YW5jZSkgd2hpY2ggYXJlIG5vdCBhcHByb3ByaWF0ZSBmb3IgbWVhc3VyaW5nIHRoZSByZWZsZWN0YW5jZSBoaWdoZXIgdGhhbiA5OSw5OSAlIG9yLCBpbiBzb21lIGNhc2VzLCBtZWFzdXJlbWVudCBhY2N1cmFjeSBiZXR0ZXIgdGhhbiAwLDAxICUgaXMgcmVxdWlyZWQuIFRoZSByYW5nZSBvZiBhcHBsaWNhdGlvbiBvZiB0aGlzIHN0YW5kYXJkaXplZCB0ZXN0IG1ldGhvZCBpcyByZWZsZWN0YW5jZSA5OSAlIGFuZCBoaWdoZXIgKHRoZW9yZXRpY2FsbHkgdXAgdG8gMTAwICUpLiBUaGUgbWV0aG9kcyBnaXZlbiBpbiBJU08gMTMxNDI6MjAxNSBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgdGhlIHRlc3RpbmcgYW5kIGNoYXJhY3Rlcml6YXRpb24gb2YgaGlnaCByZWZsZWN0YW5jZSBvZiBib3RoIGNvbmNhdmUgYW5kIHBsYW5lIG1pcnJvcnMgdXNlZCBpbiBsYXNlciBzeXN0ZW1zIGFuZCBsYXNlci1iYXNlZCBpbnN0cnVtZW50cy4gVGhlIHJlZmxlY3RhbmNlIG9mIGNvbnZleCBtaXJyb3JzIGNhbiBhbHNvIGJlIHRlc3RlZCBieSB0YWtpbmcgaW50byBjb25zaWRlcmF0aW9uIHRoZSByYWRpdXMgb2YgY3VydmF0dXJlIG9mIHRoZSBtaXJyb3Igc3VyZmFjZS4gIiwib2JqZWN0SUQiOiI1MzM2Ml8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40MjoyMDE1IEVsZWN0cm8tb3B0aWNhbCBzeXN0ZW1zIOKAlCBDYXZpdHkgcmluZy1kb3duIHRlY2huaXF1ZSBmb3IgaGlnaC1yZWZsZWN0YW5jZSBtZWFzdXJlbWVudCIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDI6MjAxNSBzcGVjaWZpZXMgbWVhc3VyZW1lbnQgcHJvY2VkdXJlcyBmb3IgdGhlIHByZWNpc2UgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgaGlnaCByZWZsZWN0YW5jZSBvZiBvcHRpY2FsIGxhc2VyIGNvbXBvbmVudHMuIFVwIHRvIG5vdywgdGhlIDxlbT5JU088L2VtPiBzdGFuZGFyZGl6ZWQgdGVzdGluZyBtZXRob2RzIGZvciByZWZsZWN0YW5jZSBvZiBvcHRpY2FsIGxhc2VyIGNvbXBvbmVudHMgaGF2ZSB0aGUgYWNjdXJhY3kgbGltaXQgb2YgYXBwcm94aW1hdGVseSAwLDAxICUgKGZvciBtZWFzdXJlbWVudCBvZiBhYnNvbHV0ZSByZWZsZWN0YW5jZSkgd2hpY2ggYXJlIG5vdCBhcHByb3ByaWF0ZSBmb3IgbWVhc3VyaW5nIHRoZSByZWZsZWN0YW5jZSBoaWdoZXIgdGhhbiA5OSw5OSAlIG9yLCBpbiBzb21lIGNhc2VzLCBtZWFzdXJlbWVudCBhY2N1cmFjeSBiZXR0ZXIgdGhhbiAwLDAxICUgaXMgcmVxdWlyZWQuIFRoZSByYW5nZSBvZiBhcHBsaWNhdGlvbiBvZiB0aGlzIHN0YW5kYXJkaXplZCB0ZXN0IG1ldGhvZCBpcyByZWZsZWN0YW5jZSA5OSAlIGFuZCBoaWdoZXIgKHRoZW9yZXRpY2FsbHkgdXAgdG8gMTAwICUpLiBUaGUgbWV0aG9kcyBnaXZlbiBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NDI6MjAxNSBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgdGhlIHRlc3RpbmcgYW5kIGNoYXJhY3Rlcml6YXRpb24gb2YgaGlnaCByZWZsZWN0YW5jZSBvZiBib3RoIGNvbmNhdmUgYW5kIHBsYW5lIG1pcnJvcnMgdXNlZCBpbiBsYXNlciBzeXN0ZW1zIGFuZCBsYXNlci1iYXNlZCBpbnN0cnVtZW50cy4gVGhlIHJlZmxlY3RhbmNlIG9mIGNvbnZleCBtaXJyb3JzIGNhbiBhbHNvIGJlIHRlc3RlZCBieSB0YWtpbmcgaW50byBjb25zaWRlcmF0aW9uIHRoZSByYWRpdXMgb2YgY3VydmF0dXJlIG9mIHRoZSBtaXJyb3Igc3VyZmFjZS4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzMvNTMzMzIiLCJ1dWlkIjoiOWFmNGQwNmMtNTE5Yi00OTU3LWIxMTktZWE5ZjFlMzgwZjY4IiwidGl0bGUiOiJJU08gMTMxNjA6MjAxMiBXYXRlciBxdWFsaXR5IOKAlCBTdHJvbnRpdW0gOTAgYW5kIHN0cm9udGl1bSA4OSDigJQgVGVzdCBtZXRob2RzIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG9yIHByb3BvcnRpb25hbCBjb3VudGluZyIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjEsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTMxNjA6MjAxMiBzcGVjaWZpZXMgdGhlIHRlc3QgbWV0aG9kcyBhbmQgdGhlaXIgYXNzb2NpYXRlZCBwcmluY2lwbGVzIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgdGhlIGFjdGl2aXR5IG9mIDkwIFNyIGluIGVxdWlsaWJyaXVtIHdpdGggOTAgWSwgYW5kIDg5IFNyLCBwdXJlIGJldGEtZW1pdHRpbmcgcmFkaW9udWNsaWRlcywgaW4gd2F0ZXIgc2FtcGxlcy4gRGlmZmVyZW50IGNoZW1pY2FsIHNlcGFyYXRpb24gbWV0aG9kcyBhcmUgcHJlc2VudGVkIHRvIHByb2R1Y2Ugc3Ryb250aXVtIGFuZCB5dHRyaXVtIHNvdXJjZXMsIHRoZSBhY3Rpdml0eSBvZiB3aGljaCBpcyBkZXRlcm1pbmVkIHVzaW5nIGEgcHJvcG9ydGlvbmFsIGNvdW50ZXIgKFBDKSBvciBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVyIChMU0MpLiBUaGUgc2VsZWN0aW9uIG9mIHRoZSB0ZXN0IG1ldGhvZCBkZXBlbmRzIG9uIHRoZSBvcmlnaW4gb2YgdGhlIGNvbnRhbWluYXRpb24sIHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIHdhdGVyIHRvIGJlIGFuYWx5c2VkLCB0aGUgcmVxdWlyZWQgYWNjdXJhY3kgb2YgdGVzdCByZXN1bHRzIGFuZCB0aGUgYXZhaWxhYmxlIHJlc291cmNlcyBvZiB0aGUgbGFib3JhdG9yaWVzLiBUaGVzZSB0ZXN0IG1ldGhvZHMgYXJlIHVzZWQgZm9yIHdhdGVyIG1vbml0b3JpbmcgZm9sbG93aW5nLCBwYXN0IG9yIHByZXNlbnQsIGFjY2lkZW50YWwgb3Igcm91dGluZSwgbGlxdWlkIG9yIGdhc2VvdXMgZGlzY2hhcmdlcy4gSXQgYWxzbyBjb3ZlcnMgdGhlIG1vbml0b3Jpbmcgb2YgY29udGFtaW5hdGlvbiBjYXVzZWQgYnkgZ2xvYmFsIGZhbGxvdXQuIFdoZW4gZmFsbG91dCBvY2N1cnMgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGEgbnVjbGVhciBhY2NpZGVudCwgdGhlIGNvbnRyaWJ1dGlvbiBvZiA4OSBTciB0byB0aGUgdG90YWwgYW1vdW50IG9mIHN0cm9udGl1bSBhY3Rpdml0eSBpcyBub3QgbmVnbGlnaWJsZS4gSVNPIDEzMTYwOjIwMTIgcHJvdmlkZXMgdGhlIHRlc3QgbWV0aG9kcyB0byBkZXRlcm1pbmUgdGhlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gb2YgOTAgU3IgaW4gcHJlc2VuY2Ugb2YgODkgU3IuICIsIm9iamVjdElEIjoiNTMzMzJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjA6MjAxMiBXYXRlciBxdWFsaXR5IOKAlCBTdHJvbnRpdW0gOTAgYW5kIHN0cm9udGl1bSA4OSDigJQgVGVzdCBtZXRob2RzIHVzaW5nIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIG9yIHByb3BvcnRpb25hbCBjb3VudGluZyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjA6MjAxMiBzcGVjaWZpZXMgdGhlIHRlc3QgbWV0aG9kcyBhbmQgdGhlaXIgYXNzb2NpYXRlZCBwcmluY2lwbGVzIGZvciB0aGUgbWVhc3VyZW1lbnQgb2YgdGhlIGFjdGl2aXR5IG9mIDkwIFNyIGluIGVxdWlsaWJyaXVtIHdpdGggOTAgWSwgYW5kIDg5IFNyLCBwdXJlIGJldGEtZW1pdHRpbmcgcmFkaW9udWNsaWRlcywgaW4gd2F0ZXIgc2FtcGxlcy4gRGlmZmVyZW50IGNoZW1pY2FsIHNlcGFyYXRpb24gbWV0aG9kcyBhcmUgcHJlc2VudGVkIHRvIHByb2R1Y2Ugc3Ryb250aXVtIGFuZCB5dHRyaXVtIHNvdXJjZXMsIHRoZSBhY3Rpdml0eSBvZiB3aGljaCBpcyBkZXRlcm1pbmVkIHVzaW5nIGEgcHJvcG9ydGlvbmFsIGNvdW50ZXIgKFBDKSBvciBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGVyIChMU0MpLiBUaGUgc2VsZWN0aW9uIG9mIHRoZSB0ZXN0IG1ldGhvZCBkZXBlbmRzIG9uIHRoZSBvcmlnaW4gb2YgdGhlIGNvbnRhbWluYXRpb24sIHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIHdhdGVyIHRvIGJlIGFuYWx5c2VkLCB0aGUgcmVxdWlyZWQgYWNjdXJhY3kgb2YgdGVzdCByZXN1bHRzIGFuZCB0aGUgYXZhaWxhYmxlIHJlc291cmNlcyBvZiB0aGUgbGFib3JhdG9yaWVzLiBUaGVzZSB0ZXN0IG1ldGhvZHMgYXJlIHVzZWQgZm9yIHdhdGVyIG1vbml0b3JpbmcgZm9sbG93aW5nLCBwYXN0IG9yIHByZXNlbnQsIGFjY2lkZW50YWwgb3Igcm91dGluZSwgbGlxdWlkIG9yIGdhc2VvdXMgZGlzY2hhcmdlcy4gSXQgYWxzbyBjb3ZlcnMgdGhlIG1vbml0b3Jpbmcgb2YgY29udGFtaW5hdGlvbiBjYXVzZWQgYnkgZ2xvYmFsIGZhbGxvdXQuIFdoZW4gZmFsbG91dCBvY2N1cnMgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGEgbnVjbGVhciBhY2NpZGVudCwgdGhlIGNvbnRyaWJ1dGlvbiBvZiA4OSBTciB0byB0aGUgdG90YWwgYW1vdW50IG9mIHN0cm9udGl1bSBhY3Rpdml0eSBpcyBub3QgbmVnbGlnaWJsZS4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjYwOjIwMTIgcHJvdmlkZXMgdGhlIHRlc3QgbWV0aG9kcyB0byBkZXRlcm1pbmUgdGhlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gb2YgOTAgU3IgaW4gcHJlc2VuY2Ugb2YgODkgU3IuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzgyLzY4MjQ2IiwidXVpZCI6IjBhMWY0OTkwLTQ4MjQtNDc0Ny1hOWU0LTFlOGRkYjE4OTExYSIsInRpdGxlIjoiSVNPIDEzMTQzLTE6MjAxNiBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBFdmFsdWF0aW9uIG9mIG9uLWJvYXJkIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgZm9yIGNvbmZvcm1pdHkgdG8gSVNPIDEyODEzIOKAlCBQYXJ0IDE6IFRlc3Qgc3VpdGUgc3RydWN0dXJlIGFuZCB0ZXN0IHB1cnBvc2VzIiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMCwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxODE0My0xOjIwMTYgc3BlY2lmaWVzIHRoZSB0ZXN0IHN1aXRlIHN0cnVjdHVyZSAoVFNTKSBhbmQgdGVzdCBwdXJwb3NlcyAoVFApIHRvIGV2YWx1YXRlIHRoZSBjb25mb3JtaXR5IG9mIG9uLWJvYXJkIHVuaXRzIChPQlUpIGFuZCByb2Fkc2lkZSBlcXVpcG1lbnQgKFJTRSkgdG8gSVNPIDEyODEzOjIwMTUuIEl0IHByb3ZpZGVzIGEgYmFzaXMgZm9yIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBkZWRpY2F0ZWQgc2hvcnQtcmFuZ2UgY29tbXVuaWNhdGlvbiAoRFNSQykgZXF1aXBtZW50IChvbi1ib2FyZCB1bml0cyBhbmQgcm9hZHNpZGUgdW5pdHMpIHRvIGVuYWJsZSBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gZGlmZmVyZW50IGVxdWlwbWVudCBzdXBwbGllZCBieSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycy4gIiwib2JqZWN0SUQiOiI2ODI0Nl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT40My0xOjIwMTYgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgRXZhbHVhdGlvbiBvZiBvbi1ib2FyZCBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IGZvciBjb25mb3JtaXR5IHRvIDxlbT5JU088L2VtPiAxMjgxMyDigJQgUGFydCAxOiBUZXN0IHN1aXRlIHN0cnVjdHVyZSBhbmQgdGVzdCBwdXJwb3NlcyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMTgxNDMtMToyMDE2IHNwZWNpZmllcyB0aGUgdGVzdCBzdWl0ZSBzdHJ1Y3R1cmUgKFRTUykgYW5kIHRlc3QgcHVycG9zZXMgKFRQKSB0byBldmFsdWF0ZSB0aGUgY29uZm9ybWl0eSBvZiBvbi1ib2FyZCB1bml0cyAoT0JVKSBhbmQgcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpIHRvIDxlbT5JU088L2VtPiAxMjgxMzoyMDE1LiBJdCBwcm92aWRlcyBhIGJhc2lzIGZvciBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgZGVkaWNhdGVkIHNob3J0LXJhbmdlIGNvbW11bmljYXRpb24gKERTUkMpIGVxdWlwbWVudCAob24tYm9hcmQgdW5pdHMgYW5kIHJvYWRzaWRlIHVuaXRzKSB0byBlbmFibGUgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIGRpZmZlcmVudCBlcXVpcG1lbnQgc3VwcGxpZWQgYnkgZGlmZmVyZW50IG1hbnVmYWN0dXJlcnMuICIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzkyLzU5MjA5IiwidXVpZCI6IjgyYTVmNWNlLTk2MDAtNGM5My04NDNlLWU2YjlmMTZmYjcyYyIsInRpdGxlIjoiSVNPIDEzMTY2OjIwMTQgV2F0ZXIgcXVhbGl0eSDigJQgVXJhbml1bSBpc290b3BlcyDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5Iiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MjAyMCwib3JkZXIiOjEwMCwidGV4dCI6IklTTyAxMzE2NjoyMDE0IHNwZWNpZmllcyB0aGUgY29uZGl0aW9ucyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdXJhbml1bSBpc290b3BlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBlbnZpcm9ubWVudGFsIHdhdGVyIChpbmNsdWRpbmcgc2VhIHdhdGVycykgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5IGFuZCAyMzIgVSBhcyBhIHlpZWxkIHRyYWNlci4gQSBjaGVtaWNhbCBzZXBhcmF0aW9uIGlzIHJlcXVpcmVkIHRvIHNlcGFyYXRlIGFuZCBwdXJpZnkgdXJhbml1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuIFBsdXRvbml1bSBpc290b3BlcyBjYW4gaW50ZXJmZXJlLCBpZiBwcmVzZW50LCB3aXRoIGRldGVjdGFibGUgYWN0aXZpdGllcyBpbiB0aGUgc2FtcGxlLiBUaGUgZGV0ZWN0aW9uIGxpbWl0IGZvciBtZWFzdXJlbWVudCBvZiBhIHRlc3QgcG9ydGlvbiBvZiBhYm91dCA1MDAgbWwgaXMgYXBwcm94aW1hdGVseSA1IG1CcSDCtyBsIOKIkjEgd2l0aCBhIGNvdW50aW5nIHRpbWUgb2YgYWJvdXQgMjAwIDAwMCBzLiAiLCJvYmplY3RJRCI6IjU5MjA5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY2OjIwMTQgV2F0ZXIgcXVhbGl0eSDigJQgVXJhbml1bSBpc290b3BlcyDigJQgVGVzdCBtZXRob2QgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NjoyMDE0IHNwZWNpZmllcyB0aGUgY29uZGl0aW9ucyBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgdXJhbml1bSBpc290b3BlIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gc2FtcGxlcyBvZiBlbnZpcm9ubWVudGFsIHdhdGVyIChpbmNsdWRpbmcgc2VhIHdhdGVycykgdXNpbmcgYWxwaGEtc3BlY3Ryb21ldHJ5IGFuZCAyMzIgVSBhcyBhIHlpZWxkIHRyYWNlci4gQSBjaGVtaWNhbCBzZXBhcmF0aW9uIGlzIHJlcXVpcmVkIHRvIHNlcGFyYXRlIGFuZCBwdXJpZnkgdXJhbml1bSBmcm9tIGEgdGVzdCBwb3J0aW9uIG9mIHRoZSBzYW1wbGUuIFBsdXRvbml1bSBpc290b3BlcyBjYW4gaW50ZXJmZXJlLCBpZiBwcmVzZW50LCB3aXRoIGRldGVjdGFibGUgYWN0aXZpdGllcyBpbiB0aGUgc2FtcGxlLiBUaGUgZGV0ZWN0aW9uIGxpbWl0IGZvciBtZWFzdXJlbWVudCBvZiBhIHRlc3QgcG9ydGlvbiBvZiBhYm91dCA1MDAgbWwgaXMgYXBwcm94aW1hdGVseSA1IG1CcSDCtyBsIOKIkjEgd2l0aCBhIGNvdW50aW5nIHRpbWUgb2YgYWJvdXQgMjAwIDAwMCBzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS8zNC81MzQwMiIsInV1aWQiOiI2YjZmYzdjNS03NGFhLTQ2OTAtYTI2Yy1kNjI0YzM3MTk0Y2YiLCJ0aXRsZSI6IklTTyAxMzE2MToyMDExIFdhdGVyIHF1YWxpdHkg4oCUIE1lYXN1cmVtZW50IG9mIHBvbG9uaXVtIDIxMCBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHdhdGVyIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMjAsIm9yZGVyIjoxMDAsInRleHQiOiJJU08gMTMxNjE6MjAxMSBzcGVjaWZpZXMgdGhlIG1lYXN1cmVtZW50IG9mIDIxMCBQbyBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSBpbiBhbGwga2luZHMgb2YgbmF0dXJhbCB3YXRlcnMuIFRoZSBkZXRlY3Rpb24gbGltaXQgb2YgdGhpcyBtZXRob2QgZGVwZW5kcyBvbiB0aGUgdm9sdW1lIG9mIHRoZSBzYW1wbGUsIHRoZSBjb3VudGluZyB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlIGFuZCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kuIEluIHRoZSBjYXNlIG9mIGRyaW5raW5nIHdhdGVyLCB0aGUgYW5hbHlzaXMgaXMgdXN1YWxseSBjYXJyaWVkIG91dCBvbiB0aGUgcmF3IHNhbXBsZSwgd2l0aG91dCBmaWx0cmF0aW9uIG9yIG90aGVyIHByZXRyZWF0bWVudC4gSWYgc3VzcGVuZGVkIG1hdGVyaWFsIGhhcyB0byBiZSByZW1vdmVkIG9yIGFuYWx5c2VkLCBmaWx0cmF0aW9uIGF0IDAsNDUgwrVtIGlzIHJlY29tbWVuZGVkLiBUaGUgYW5hbHlzaXMgb2YgdGhlIGluc29sdWJsZSBmcmFjdGlvbiByZXF1aXJlcyBhIG1pbmVyYWxpemF0aW9uIHN0ZXAgdGhhdCBpcyBub3QgY292ZXJlZCBieSBJU08gMTMxNjE6MjAxMS4gSW4gdGhpcyBjYXNlLCB0aGUgbWVhc3VyZW1lbnQgaXMgbWFkZSBvbiB0aGUgZGlmZmVyZW50IHBoYXNlcyBvYnRhaW5lZC4gVGhlIGZpbmFsIGFjdGl2aXR5IGlzIHRoZSBzdW0gb2YgYWxsIHRoZSBtZWFzdXJlZCBhY3Rpdml0eSBjb25jZW50cmF0aW9ucy4gIiwib2JqZWN0SUQiOiI1MzQwMl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MToyMDExIFdhdGVyIHF1YWxpdHkg4oCUIE1lYXN1cmVtZW50IG9mIHBvbG9uaXVtIDIxMCBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIHdhdGVyIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjE6MjAxMSBzcGVjaWZpZXMgdGhlIG1lYXN1cmVtZW50IG9mIDIxMCBQbyBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGJ5IGFscGhhIHNwZWN0cm9tZXRyeSBpbiBhbGwga2luZHMgb2YgbmF0dXJhbCB3YXRlcnMuIFRoZSBkZXRlY3Rpb24gbGltaXQgb2YgdGhpcyBtZXRob2QgZGVwZW5kcyBvbiB0aGUgdm9sdW1lIG9mIHRoZSBzYW1wbGUsIHRoZSBjb3VudGluZyB0aW1lLCB0aGUgYmFja2dyb3VuZCBjb3VudCByYXRlIGFuZCB0aGUgZGV0ZWN0aW9uIGVmZmljaWVuY3kuIEluIHRoZSBjYXNlIG9mIGRyaW5raW5nIHdhdGVyLCB0aGUgYW5hbHlzaXMgaXMgdXN1YWxseSBjYXJyaWVkIG91dCBvbiB0aGUgcmF3IHNhbXBsZSwgd2l0aG91dCBmaWx0cmF0aW9uIG9yIG90aGVyIHByZXRyZWF0bWVudC4gSWYgc3VzcGVuZGVkIG1hdGVyaWFsIGhhcyB0byBiZSByZW1vdmVkIG9yIGFuYWx5c2VkLCBmaWx0cmF0aW9uIGF0IDAsNDUgwrVtIGlzIHJlY29tbWVuZGVkLiBUaGUgYW5hbHlzaXMgb2YgdGhlIGluc29sdWJsZSBmcmFjdGlvbiByZXF1aXJlcyBhIG1pbmVyYWxpemF0aW9uIHN0ZXAgdGhhdCBpcyBub3QgY292ZXJlZCBieSA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+NjE6MjAxMS4gSW4gdGhpcyBjYXNlLCB0aGUgbWVhc3VyZW1lbnQgaXMgbWFkZSBvbiB0aGUgZGlmZmVyZW50IHBoYXNlcyBvYnRhaW5lZC4gVGhlIGZpbmFsIGFjdGl2aXR5IGlzIHRoZSBzdW0gb2YgYWxsIHRoZSBtZWFzdXJlZCBhY3Rpdml0eSBjb25jZW50cmF0aW9ucy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMjkvNTI5NTIiLCJ1dWlkIjoiMGQ3YzU2YzYtYjQ5Ny00Y2Y0LTg2MzQtYmY1OGZjNDdkNDQ3IiwidGl0bGUiOiJJU08gMTMxMjA6MjAxMyBIZWFsdGggaW5mb3JtYXRpY3Mg4oCUIFN5bnRheCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIOKAlCBDbGFzc2lmaWNhdGlvbiBNYXJrdXAgTGFuZ3VhZ2UgKENsYU1MKSIsInN0YXR1cyI6IldpdGhkcmF3biIsInllYXIiOjIwMTksIm9yZGVyIjoxMDAsInRleHQiOiJUaGUgbWFpbiBwdXJwb3NlIG9mIElTTyAxMzEyMDoyMDEzIGlzIHRvIGZvcm1hbGx5IHJlcHJlc2VudCB0aGUgY29udGVudCBhbmQgaGllcmFyY2hpY2FsIHN0cnVjdHVyZSBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gYSBtYXJrdXAgbGFuZ3VhZ2UgZm9yIHRoZSBzYWZlIGV4Y2hhbmdlIGFuZCBkaXN0cmlidXRpb24gb2YgZGF0YSBhbmQgc3RydWN0dXJlIGJldHdlZW4gb3JnYW5pemF0aW9ucyBhbmQgZGlzc2ltaWxhciBzb2Z0d2FyZSBwcm9kdWN0cy4gVGhlIHNjb3BlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb25zIHN5c3RlbXMgY292ZXJlZCBpbiBJU08gMTMxMjA6MjAxMyBlbmNvbXBhc3NlcyB0ZXJtaW5vbG9naWVzLCBhbmQgaXMgY29uc3RyYWluZWQgdG8gdHJhZGl0aW9uYWwgcGFwZXItYmFzZWQgc3lzdGVtcyAobGlrZSBJQ0QtMTApIGFuZCBzeXN0ZW1zIGJ1aWx0IGFjY29yZGluZyB0byBjYXRlZ29yaWFsIHN0cnVjdHVyZXMgYW5kIGEgY3Jvc3MgdGhlc2F1cnVzIChsaWtlIElDTlApLiBJU08gMTMxMjA6MjAxMyBpcyBpbnRlbmRlZCBmb3IgcmVwcmVzZW50YXRpb24gb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIGluIHdoaWNoIGNsYXNzZXMgaGF2ZSB0ZXh0dWFsIGRlZmluaXRpb25zLCBoaWVyYXJjaGljYWwgb3JkZXJpbmcsIG5hbWVkIGhpZXJhcmNoaWNhbCBsZXZlbHMgKHN1Y2ggYXMgXCJjaGFwdGVyXCIsIFwic2VjdGlvblwiKSwgaW5jbHVzaW9uLSBhbmQgZXhjbHVzaW9uIGNyaXRlcmlhLCBhbmQgY29kZXMuIEl0IGlzIG5vdCBpbnRlbmRlZCB0byBjb3ZlciBhbnkgZm9ybWFsIHJlcHJlc2VudGF0aW9uLCBlaXRoZXIgZm9yIGRlZmluaXRpb24gb3IgY29tcG9zaXRpb24sIG9mIGNvbmNlcHRzLCBvciBmb3Igc3BlY2lmaWNhdGlvbiBvZiBjbGFzc2lmaWNhdGlvbiBydWxlcy4gU3lzdGVtcyB3aXRoIHN1Y2ggZm9ybWFsIHNwZWNpZmljYXRpb25zIGNhbiBhdCBiZXN0IGJlIHBhcnRpYWxseSByZXByZXNlbnRlZCB1c2luZyBJU08gMTMxMjA6MjAxMywgYW5kIGFyZSBoZW5jZSBvdXQgb2Ygc2NvcGUuIElTTyAxMzEyMDoyMDEzIGlzIG5vdCBpbnRlbmRlZCB0bzogcHJvdmlkZSBhIG5vcm1hdGl2ZSBzeW50YXggb24gaG93IGEgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW0gaXMgdG8gYmUgY29uc3RydWN0ZWQ7IGRlZmluZSBsaW5rIHR5cGVzIGJldHdlZW4gZWxlbWVudHMgaW4gYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbTsgdGhpcyBpcyBsZWZ0IHRvIHRoZSBkZXZlbG9wZXJzIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtczsgcHJvdmlkZSBhIHJlcHJlc2VudGF0aW9uIGZvciBkaXJlY3Qgdmlld2luZyBvciBwcmludGluZy4gIiwib2JqZWN0SUQiOiI1Mjk1Ml8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMDoyMDEzIEhlYWx0aCBpbmZvcm1hdGljcyDigJQgU3ludGF4IHRvIHJlcHJlc2VudCB0aGUgY29udGVudCBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMg4oCUIENsYXNzaWZpY2F0aW9uIE1hcmt1cCBMYW5ndWFnZSAoQ2xhTUwpIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IlRoZSBtYWluIHB1cnBvc2Ugb2YgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIwOjIwMTMgaXMgdG8gZm9ybWFsbHkgcmVwcmVzZW50IHRoZSBjb250ZW50IGFuZCBoaWVyYXJjaGljYWwgc3RydWN0dXJlIG9mIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtcyBpbiBhIG1hcmt1cCBsYW5ndWFnZSBmb3IgdGhlIHNhZmUgZXhjaGFuZ2UgYW5kIGRpc3RyaWJ1dGlvbiBvZiBkYXRhIGFuZCBzdHJ1Y3R1cmUgYmV0d2VlbiBvcmdhbml6YXRpb25zIGFuZCBkaXNzaW1pbGFyIHNvZnR3YXJlIHByb2R1Y3RzLiBUaGUgc2NvcGUgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbnMgc3lzdGVtcyBjb3ZlcmVkIGluIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMDoyMDEzIGVuY29tcGFzc2VzIHRlcm1pbm9sb2dpZXMsIGFuZCBpcyBjb25zdHJhaW5lZCB0byB0cmFkaXRpb25hbCBwYXBlci1iYXNlZCBzeXN0ZW1zIChsaWtlIElDRC0xMCkgYW5kIHN5c3RlbXMgYnVpbHQgYWNjb3JkaW5nIHRvIGNhdGVnb3JpYWwgc3RydWN0dXJlcyBhbmQgYSBjcm9zcyB0aGVzYXVydXMgKGxpa2UgSUNOUCkuIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMDoyMDEzIGlzIGludGVuZGVkIGZvciByZXByZXNlbnRhdGlvbiBvZiBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbXMgaW4gd2hpY2ggY2xhc3NlcyBoYXZlIHRleHR1YWwgZGVmaW5pdGlvbnMsIGhpZXJhcmNoaWNhbCBvcmRlcmluZywgbmFtZWQgaGllcmFyY2hpY2FsIGxldmVscyAoc3VjaCBhcyBcImNoYXB0ZXJcIiwgXCJzZWN0aW9uXCIpLCBpbmNsdXNpb24tIGFuZCBleGNsdXNpb24gY3JpdGVyaWEsIGFuZCBjb2Rlcy4gSXQgaXMgbm90IGludGVuZGVkIHRvIGNvdmVyIGFueSBmb3JtYWwgcmVwcmVzZW50YXRpb24sIGVpdGhlciBmb3IgZGVmaW5pdGlvbiBvciBjb21wb3NpdGlvbiwgb2YgY29uY2VwdHMsIG9yIGZvciBzcGVjaWZpY2F0aW9uIG9mIGNsYXNzaWZpY2F0aW9uIHJ1bGVzLiBTeXN0ZW1zIHdpdGggc3VjaCBmb3JtYWwgc3BlY2lmaWNhdGlvbnMgY2FuIGF0IGJlc3QgYmUgcGFydGlhbGx5IHJlcHJlc2VudGVkIHVzaW5nIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4yMDoyMDEzLCBhbmQgYXJlIGhlbmNlIG91dCBvZiBzY29wZS4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjIwOjIwMTMgaXMgbm90IGludGVuZGVkIHRvOiBwcm92aWRlIGEgbm9ybWF0aXZlIHN5bnRheCBvbiBob3cgYSBoZWFsdGhjYXJlIGNsYXNzaWZpY2F0aW9uIHN5c3RlbSBpcyB0byBiZSBjb25zdHJ1Y3RlZDsgZGVmaW5lIGxpbmsgdHlwZXMgYmV0d2VlbiBlbGVtZW50cyBpbiBhIGhlYWx0aGNhcmUgY2xhc3NpZmljYXRpb24gc3lzdGVtOyB0aGlzIGlzIGxlZnQgdG8gdGhlIGRldmVsb3BlcnMgb2YgaGVhbHRoY2FyZSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zOyBwcm92aWRlIGEgcmVwcmVzZW50YXRpb24gZm9yIGRpcmVjdCB2aWV3aW5nIG9yIHByaW50aW5nLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wMC81OC81ODkxIiwidXVpZCI6IjI2ZmY3NDUxLTZkZDktNDhiNi1iMWQwLTI4OTJlMGFkZTc0MyIsInRpdGxlIjoiSVNPIDEzMTA6MTk3NCBDYXJib24gYmxhY2sgZm9yIHVzZSBpbiB0aGUgcnViYmVyIGluZHVzdHJ5IOKAlCBTYW1wbGluZyBwYWNrYWdlZCBzaGlwbWVudHMiLCJzdGF0dXMiOiJXaXRoZHJhd24iLCJ5ZWFyIjoxOTg5LCJvcmRlciI6MTAwLCJvYmplY3RJRCI6IjU4OTFfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDoxOTc0IENhcmJvbiBibGFjayBmb3IgdXNlIGluIHRoZSBydWJiZXIgaW5kdXN0cnkg4oCUIFNhbXBsaW5nIHBhY2thZ2VkIHNoaXBtZW50cyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzQ5Lzg0OTE1IiwidXVpZCI6IjA3YzBiMjhlLTQ3MzUtNGM5Yy05MWU5LWI2NDM0YTFiOWJmMCIsInRpdGxlIjoiSVNPL0RJUyAxMzEwNS0yIEJ1aWxkaW5nIGNvbnN0cnVjdGlvbiBtYWNoaW5lcnkgYW5kIGVxdWlwbWVudCDigJQgTWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcg4oCUIFBhcnQgMjogU2FmZXR5IHJlcXVpcmVtZW50cyBhbmQgdmVyaWZpY2F0aW9uIiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsInRleHQiOiJJU08gMTMxMDUtMjoyMDE0IHNwZWNpZmllcyBzYWZldHkgcmVxdWlyZW1lbnRzIGZvciBtYWNoaW5lcyB1c2VkIGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcuIFRoaXMgaW5jbHVkZXMgcGVkZXN0cmlhbi1jb250cm9sbGVkIGVxdWlwbWVudCBhbmQgcmlkZS1vbiBlcXVpcG1lbnQuIEl0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIGludGVybmFsIG9yIGV4dGVybmFsIHZpYnJhdG9ycyBvciBhbmNpbGxhcnkgZXF1aXBtZW50IHVzZWQgd2l0aCBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgdmlicmF0b3JzLCBmb3IgZXhhbXBsZSwgYWlyIGNvbXByZXNzb3JzLCBoeWRyYXVsaWMgcG93ZXIgc291cmNlcywgYW5kIHZvbHRhZ2UgdHJhbnNmb3JtZXJzLCB0byByZW1vdGUtY29udHJvbGxlZCBvciBoYW5kLWhlbGQgc21vb3RoaW5nIG1hY2hpbmVzIGFuZCBzZWxmLWFjdGluZyAocm9ib3RpYykgc21vb3RoaW5nIG1hY2hpbmVzLCBvciB0byBzdHJpa2Utb2ZmIHR5cGUgbWFjaGluZXMgY29tbW9ubHkga25vd24gYXMgc2NyZWVkcy4gSXQgZGVhbHMgd2l0aCBzaWduaWZpY2FudCBoYXphcmRzLCBoYXphcmRvdXMgc2l0dWF0aW9ucywgb3IgaGF6YXJkb3VzIGV2ZW50cyByZWxldmFudCB0byBtYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyAocG93ZXIgdHJvd2Vscykgd2hlbiB1c2VkIGFzIGludGVuZGVkIGFuZCB1bmRlciBjb25kaXRpb25zIG9mIG1pc3VzZSB3aGljaCBhcmUgcmVhc29uYWJseSBmb3Jlc2VlYWJsZSBieSB0aGUgbWFudWZhY3R1cmVyLiBJdCBpcyBub3QgYXBwbGljYWJsZSB0byBtYWNoaW5lcyB3aGljaCBhcmUgbWFudWZhY3R1cmVkIGJlZm9yZSB0aGUgZGF0ZSBvZiBpdHMgcHVibGljYXRpb24uICIsIm9iamVjdElEIjoiODQ5MTVfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vRElTIDxlbT4xMzE8L2VtPjA1LTIgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAyOiBTYWZldHkgcmVxdWlyZW1lbnRzIGFuZCB2ZXJpZmljYXRpb24iLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjA1LTI6MjAxNCBzcGVjaWZpZXMgc2FmZXR5IHJlcXVpcmVtZW50cyBmb3IgbWFjaGluZXMgdXNlZCBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nLiBUaGlzIGluY2x1ZGVzIHBlZGVzdHJpYW4tY29udHJvbGxlZCBlcXVpcG1lbnQgYW5kIHJpZGUtb24gZXF1aXBtZW50LiBJdCBpcyBub3QgYXBwbGljYWJsZSB0byBpbnRlcm5hbCBvciBleHRlcm5hbCB2aWJyYXRvcnMgb3IgYW5jaWxsYXJ5IGVxdWlwbWVudCB1c2VkIHdpdGggaW50ZXJuYWwgYW5kIGV4dGVybmFsIHZpYnJhdG9ycywgZm9yIGV4YW1wbGUsIGFpciBjb21wcmVzc29ycywgaHlkcmF1bGljIHBvd2VyIHNvdXJjZXMsIGFuZCB2b2x0YWdlIHRyYW5zZm9ybWVycywgdG8gcmVtb3RlLWNvbnRyb2xsZWQgb3IgaGFuZC1oZWxkIHNtb290aGluZyBtYWNoaW5lcyBhbmQgc2VsZi1hY3RpbmcgKHJvYm90aWMpIHNtb290aGluZyBtYWNoaW5lcywgb3IgdG8gc3RyaWtlLW9mZiB0eXBlIG1hY2hpbmVzIGNvbW1vbmx5IGtub3duIGFzIHNjcmVlZHMuIEl0IGRlYWxzIHdpdGggc2lnbmlmaWNhbnQgaGF6YXJkcywgaGF6YXJkb3VzIHNpdHVhdGlvbnMsIG9yIGhhemFyZG91cyBldmVudHMgcmVsZXZhbnQgdG8gbWFjaGluZXJ5IGZvciBjb25jcmV0ZSBzdXJmYWNlIGZsb2F0aW5nIGFuZCBmaW5pc2hpbmcgKHBvd2VyIHRyb3dlbHMpIHdoZW4gdXNlZCBhcyBpbnRlbmRlZCBhbmQgdW5kZXIgY29uZGl0aW9ucyBvZiBtaXN1c2Ugd2hpY2ggYXJlIHJlYXNvbmFibHkgZm9yZXNlZWFibGUgYnkgdGhlIG1hbnVmYWN0dXJlci4gSXQgaXMgbm90IGFwcGxpY2FibGUgdG8gbWFjaGluZXMgd2hpY2ggYXJlIG1hbnVmYWN0dXJlZCBiZWZvcmUgdGhlIGRhdGUgb2YgaXRzIHB1YmxpY2F0aW9uLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC80OS84NDkxNCIsInV1aWQiOiJhMGM0ZmIyNS1jMWY5LTRiZjItYjA4MS1iMzUwMWU1YjQ4ZTgiLCJ0aXRsZSI6IklTTy9ESVMgMTMxMDUtMSBCdWlsZGluZyBjb25zdHJ1Y3Rpb24gbWFjaGluZXJ5IGFuZCBlcXVpcG1lbnQg4oCUIE1hY2hpbmVyeSBmb3IgY29uY3JldGUgc3VyZmFjZSBmbG9hdGluZyBhbmQgZmluaXNoaW5nIOKAlCBQYXJ0IDE6IFRlcm1zIGFuZCBjb21tZXJjaWFsIHNwZWNpZmljYXRpb25zIiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsInRleHQiOiJJU08gMTMxMDUtMToyMDE0IGRlZmluZXMgdGVybXMgYW5kIGNvbW1lcmNpYWwgc3BlY2lmaWNhdGlvbnMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyAoYWxzbyBrbm93biBhcyBwb3dlciB0cm93ZWxzKS4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgZG9lcyBub3QgYWRkcmVzcyBzdHJpa2Utb2ZmIHR5cGUgbWFjaGluZXMsIGNvbW1vbmx5IGtub3duIGFzIHNjcmVlZHMuICIsIm9iamVjdElEIjoiODQ5MTRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vRElTIDxlbT4xMzE8L2VtPjA1LTEgQnVpbGRpbmcgY29uc3RydWN0aW9uIG1hY2hpbmVyeSBhbmQgZXF1aXBtZW50IOKAlCBNYWNoaW5lcnkgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyDigJQgUGFydCAxOiBUZXJtcyBhbmQgY29tbWVyY2lhbCBzcGVjaWZpY2F0aW9ucyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+MDUtMToyMDE0IGRlZmluZXMgdGVybXMgYW5kIGNvbW1lcmNpYWwgc3BlY2lmaWNhdGlvbnMgZm9yIG1hY2hpbmVzIHVzZWQgZm9yIGNvbmNyZXRlIHN1cmZhY2UgZmxvYXRpbmcgYW5kIGZpbmlzaGluZyAoYWxzbyBrbm93biBhcyBwb3dlciB0cm93ZWxzKS4gVGhpcyBpbmNsdWRlcyBwZWRlc3RyaWFuLWNvbnRyb2xsZWQgZXF1aXBtZW50IGFuZCByaWRlLW9uIGVxdWlwbWVudC4gSXQgZG9lcyBub3QgYWRkcmVzcyBzdHJpa2Utb2ZmIHR5cGUgbWFjaGluZXMsIGNvbW1vbmx5IGtub3duIGFzIHNjcmVlZHMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzMwLzgzMDU2IiwidXVpZCI6IjQyZDQ2NTJkLWZmOTktNGY0Yy1iN2VlLWNjMjg5NDdhZTU4ZiIsInRpdGxlIjoiSVNPL0RJUyAxMzE2NyBXYXRlciBxdWFsaXR5IOKAlCBQbHV0b25pdW0sIGFtZXJpY2l1bSwgY3VyaXVtIGFuZCBuZXB0dW5pdW0g4oCUIFRlc3QgbWV0aG9kIHVzaW5nIGFscGhhIHNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMiwib3JkZXIiOjEyLCJ0ZXh0IjoiSVNPIDEzMTY3OjIwMTUgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIG1lYXN1cmluZyBhY3RpbmlkZXMgKCAyMzggUHUsIDIzOSsyNDAgUHUsIDI0MSBBbSwgMjQyIENtLCAyNDMrMjQ0IENtIGFuZCAyMzcgTnApIGluIHdhdGVyIHNhbXBsZXMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IGZvbGxvd2luZyBhIGNoZW1pY2FsIHNlcGFyYXRpb24uIFRoZSBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIGFueSB0eXBlIG9mIGVudmlyb25tZW50YWwgc3R1ZHkgb3IgbW9uaXRvcmluZy4gVGhlIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIHJlcXVpcmVkIGRlcGVuZHMgb24gdGhlIGFzc3VtZWQgYWN0aXZpdHkgb2YgdGhlIHNhbXBsZSBhbmQgdGhlIGRlc2lyZWQgZGV0ZWN0aW9uIGxpbWl0LiBUaGUgZGV0ZWN0aW9uIGxpbWl0IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyA1IMOXIDEwIOKIkjMgdG8gNSDDlyAxMCDiiJI0IEJxL2wgZm9yIGEgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gb2YgMCwxIGwgdG8gNSBsIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIHR3byB0byB0ZW4gZGF5cy4gIiwib2JqZWN0SUQiOiI4MzA1Nl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9ESVMgPGVtPjEzMTwvZW0+NjcgV2F0ZXIgcXVhbGl0eSDigJQgUGx1dG9uaXVtLCBhbWVyaWNpdW0sIGN1cml1bSBhbmQgbmVwdHVuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBhbHBoYSBzcGVjdHJvbWV0cnkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY3OjIwMTUgc3BlY2lmaWVzIGEgdGVzdCBtZXRob2QgZm9yIG1lYXN1cmluZyBhY3RpbmlkZXMgKCAyMzggUHUsIDIzOSsyNDAgUHUsIDI0MSBBbSwgMjQyIENtLCAyNDMrMjQ0IENtIGFuZCAyMzcgTnApIGluIHdhdGVyIHNhbXBsZXMgYnkgYWxwaGEgc3BlY3Ryb21ldHJ5IGZvbGxvd2luZyBhIGNoZW1pY2FsIHNlcGFyYXRpb24uIFRoZSBtZXRob2QgY2FuIGJlIHVzZWQgZm9yIGFueSB0eXBlIG9mIGVudmlyb25tZW50YWwgc3R1ZHkgb3IgbW9uaXRvcmluZy4gVGhlIHZvbHVtZSBvZiB0aGUgdGVzdCBwb3J0aW9uIHJlcXVpcmVkIGRlcGVuZHMgb24gdGhlIGFzc3VtZWQgYWN0aXZpdHkgb2YgdGhlIHNhbXBsZSBhbmQgdGhlIGRlc2lyZWQgZGV0ZWN0aW9uIGxpbWl0LiBUaGUgZGV0ZWN0aW9uIGxpbWl0IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyA1IMOXIDEwIOKIkjMgdG8gNSDDlyAxMCDiiJI0IEJxL2wgZm9yIGEgdm9sdW1lIG9mIHRoZSB0ZXN0IHBvcnRpb24gb2YgMCwxIGwgdG8gNSBsIHdpdGggYSBjb3VudGluZyB0aW1lIG9mIHR3byB0byB0ZW4gZGF5cy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDgvMzAvODMwNTUiLCJ1dWlkIjoiMjA4MWY4NzktZmQ0MC00ZmNmLWIzMTMtM2RhYzYzNDA0NzQ0IiwidGl0bGUiOiJJU08vRElTIDEzMTY0LTQgV2F0ZXIgcXVhbGl0eSDigJQgUmFkb24tMjIyIOKAlCBQYXJ0IDQ6IFRlc3QgbWV0aG9kIHVzaW5nIHR3by1waGFzZSBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZyIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMiwib3JkZXIiOjEyLCJ0ZXh0IjoiSVNPIDEzMTY0LTQ6MjAxNSBkZXNjcmliZXMgYSB0ZXN0IG1ldGhvZCBmb3IgdGhlIGRldGVybWluYXRpb24gb2YgcmFkb24tMjIyICggMjIyIFJuKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIG5vbi1zYWxpbmUgd2F0ZXJzIGJ5IGV4dHJhY3Rpb24gYW5kIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nLiBUaGUgcmFkb24tMjIyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zLCB3aGljaCBjYW4gYmUgbWVhc3VyZWQgYnkgdGhpcyB0ZXN0IG1ldGhvZCB1dGlsaXppbmcgY3VycmVudGx5IGF2YWlsYWJsZSBpbnN0cnVtZW50cywgYXJlIGF0IGxlYXN0IGFib3ZlIDAsNSBCcSBsIOKIkjEgZm9yIGEgMTAgbWwgdGVzdCBzYW1wbGUgYW5kIGEgbWVhc3VyaW5nIHRpbWUgb2YgMSBoLiBUaGlzIHRlc3QgbWV0aG9kIGNhbiBiZSB1c2VkIHN1Y2Nlc3NmdWxseSB3aXRoIGRyaW5raW5nIHdhdGVyIHNhbXBsZXMgYW5kIGl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgbGFib3JhdG9yeSB0byBlbnN1cmUgdGhlIHZhbGlkaXR5IG9mIHRoaXMgdGVzdCBtZXRob2QgZm9yIHdhdGVyIHNhbXBsZXMgb2YgdW50ZXN0ZWQgbWF0cmljZXMuIEFubmV4IEEgZ2l2ZXMgaW5kaWNhdGlvbiBvbiB0aGUgbmVjZXNzYXJ5IGNvdW50aW5nIGNvbmRpdGlvbnMgdG8gbWVldCB0aGUgcmVxdWlyZWQgZGV0ZWN0aW9uIGxpbWl0cyBmb3IgZHJpbmtpbmcgd2F0ZXIgbW9uaXRvcmluZy4gIiwib2JqZWN0SUQiOiI4MzA1NV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9ESVMgPGVtPjEzMTwvZW0+NjQtNCBXYXRlciBxdWFsaXR5IOKAlCBSYWRvbi0yMjIg4oCUIFBhcnQgNDogVGVzdCBtZXRob2QgdXNpbmcgdHdvLXBoYXNlIGxpcXVpZCBzY2ludGlsbGF0aW9uIGNvdW50aW5nIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NC00OjIwMTUgZGVzY3JpYmVzIGEgdGVzdCBtZXRob2QgZm9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZG9uLTIyMiAoIDIyMiBSbikgYWN0aXZpdHkgY29uY2VudHJhdGlvbiBpbiBub24tc2FsaW5lIHdhdGVycyBieSBleHRyYWN0aW9uIGFuZCBsaXF1aWQgc2NpbnRpbGxhdGlvbiBjb3VudGluZy4gVGhlIHJhZG9uLTIyMiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucywgd2hpY2ggY2FuIGJlIG1lYXN1cmVkIGJ5IHRoaXMgdGVzdCBtZXRob2QgdXRpbGl6aW5nIGN1cnJlbnRseSBhdmFpbGFibGUgaW5zdHJ1bWVudHMsIGFyZSBhdCBsZWFzdCBhYm92ZSAwLDUgQnEgbCDiiJIxIGZvciBhIDEwIG1sIHRlc3Qgc2FtcGxlIGFuZCBhIG1lYXN1cmluZyB0aW1lIG9mIDEgaC4gVGhpcyB0ZXN0IG1ldGhvZCBjYW4gYmUgdXNlZCBzdWNjZXNzZnVsbHkgd2l0aCBkcmlua2luZyB3YXRlciBzYW1wbGVzIGFuZCBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGxhYm9yYXRvcnkgdG8gZW5zdXJlIHRoZSB2YWxpZGl0eSBvZiB0aGlzIHRlc3QgbWV0aG9kIGZvciB3YXRlciBzYW1wbGVzIG9mIHVudGVzdGVkIG1hdHJpY2VzLiBBbm5leCBBIGdpdmVzIGluZGljYXRpb24gb24gdGhlIG5lY2Vzc2FyeSBjb3VudGluZyBjb25kaXRpb25zIHRvIG1lZXQgdGhlIHJlcXVpcmVkIGRldGVjdGlvbiBsaW1pdHMgZm9yIGRyaW5raW5nIHdhdGVyIG1vbml0b3JpbmcuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzI5LzgyOTc5IiwidXVpZCI6IjFiNDM5Y2U3LTVlOTMtNGM2ZC04MzY3LTIxMjQ3YzhjNDljNyIsInRpdGxlIjoiSVNPL0RJUyAxMzEzMiBMYWJvcmF0b3J5IGdsYXNzd2FyZSDigJQgUGV0cmkgZGlzaGVzIiwic3RhdHVzIjoiVW5kZXIgZGV2ZWxvcG1lbnQiLCJ5ZWFyIjoyMDIyLCJvcmRlciI6MTIsInRleHQiOiJJU08gMTMxMzI6MjAxMSBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0cyBmb3IgZ2xhc3MgUGV0cmkgZGlzaGVzIGludGVuZGVkIGZvciBnZW5lcmFsIGxhYm9yYXRvcnkgcHVycG9zZXMgYW5kIG1pY3JvYmlvbG9naWNhbCB3b3JrLiAiLCJvYmplY3RJRCI6IjgyOTc5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0RJUyA8ZW0+MTMxPC9lbT4zMiBMYWJvcmF0b3J5IGdsYXNzd2FyZSDigJQgUGV0cmkgZGlzaGVzIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT4zMjoyMDExIHNwZWNpZmllcyByZXF1aXJlbWVudHMgYW5kIHRlc3RzIGZvciBnbGFzcyBQZXRyaSBkaXNoZXMgaW50ZW5kZWQgZm9yIGdlbmVyYWwgbGFib3JhdG9yeSBwdXJwb3NlcyBhbmQgbWljcm9iaW9sb2dpY2FsIHdvcmsuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA4LzQyLzg0MjM4IiwidXVpZCI6IjhjNzQ1Y2FiLTIxZDAtNDJlMS1hODk4LTcwYWZmYjUwNTZhYSIsInRpdGxlIjoiSVNPL0NEIDEzMTY1LTMgV2F0ZXIgcXVhbGl0eSDigJQgUmFkaXVtLTIyNiDigJQgUGFydCAzOiBUZXN0IG1ldGhvZCB1c2luZyBjb3ByZWNpcGl0YXRpb24gYW5kIGdhbW1hLXNwZWN0cm9tZXRyeSIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMSwib3JkZXIiOjEyLCJ0ZXh0IjoiSVNPIDEzMTY1LTM6MjAxNiBzcGVjaWZpZXMgdGhlIGRldGVybWluYXRpb24gb2YgcmFkaXVtLTIyNiAoMjI2UmEpIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gaW4gYWxsIHR5cGVzIG9mIHdhdGVyIGJ5IGNvcHJlY2lwaXRhdGlvbiBmb2xsb3dlZCBieSBnYW1tYS1zcGVjdHJvbWV0cnkgKHNlZSBJU08gMTg1ODnigJEzKS4gVGhlIG1ldGhvZCBkZXNjcmliZWQgaXMgc3VpdGFibGUgZm9yIGRldGVybWluYXRpb24gb2Ygc29sdWJsZSAyMjZSYSBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBncmVhdGVyIHRoYW4gMCwwMiBCcSBs4oiSMSB1c2luZyBhIHNhbXBsZSB2b2x1bWUgb2YgMSBsIHRvIDEwMCBsIG9mIGFueSB3YXRlciB0eXBlLiBGb3Igd2F0ZXIgc2FtcGxlcyBzbWFsbGVyIHRoYW4gYSB2b2x1bWUgb2YgMSBsLCBkaXJlY3QgZ2FtbWEtc3BlY3Ryb21ldHJ5IGNhbiBiZSBwZXJmb3JtZWQgZm9sbG93aW5nIElTTyAxMDcwMyB3aXRoIGEgaGlnaGVyIGRldGVjdGlvbiBsaW1pdC4gTk9URSAgICAgICAgICBUaGlzIHRlc3QgbWV0aG9kIGFsc28gYWxsb3dzIG90aGVyIGlzb3RvcGVzIG9mIHJhZGl1bSwgMjIzUmEsIDIyNFJhLCBhbmQgMjI4UmEsIHRvIGJlIGRldGVybWluZWQuICIsIm9iamVjdElEIjoiODQyMzhfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vQ0QgPGVtPjEzMTwvZW0+NjUtMyBXYXRlciBxdWFsaXR5IOKAlCBSYWRpdW0tMjI2IOKAlCBQYXJ0IDM6IFRlc3QgbWV0aG9kIHVzaW5nIGNvcHJlY2lwaXRhdGlvbiBhbmQgZ2FtbWEtc3BlY3Ryb21ldHJ5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42NS0zOjIwMTYgc3BlY2lmaWVzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHJhZGl1bS0yMjYgKDIyNlJhKSBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGluIGFsbCB0eXBlcyBvZiB3YXRlciBieSBjb3ByZWNpcGl0YXRpb24gZm9sbG93ZWQgYnkgZ2FtbWEtc3BlY3Ryb21ldHJ5IChzZWUgPGVtPklTTzwvZW0+IDE4NTg54oCRMykuIFRoZSBtZXRob2QgZGVzY3JpYmVkIGlzIHN1aXRhYmxlIGZvciBkZXRlcm1pbmF0aW9uIG9mIHNvbHVibGUgMjI2UmEgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgZ3JlYXRlciB0aGFuIDAsMDIgQnEgbOKIkjEgdXNpbmcgYSBzYW1wbGUgdm9sdW1lIG9mIDEgbCB0byAxMDAgbCBvZiBhbnkgd2F0ZXIgdHlwZS4gRm9yIHdhdGVyIHNhbXBsZXMgc21hbGxlciB0aGFuIGEgdm9sdW1lIG9mIDEgbCwgZGlyZWN0IGdhbW1hLXNwZWN0cm9tZXRyeSBjYW4gYmUgcGVyZm9ybWVkIGZvbGxvd2luZyA8ZW0+SVNPPC9lbT4gMTA3MDMgd2l0aCBhIGhpZ2hlciBkZXRlY3Rpb24gbGltaXQuIE5PVEUgICAgICAgICAgVGhpcyB0ZXN0IG1ldGhvZCBhbHNvIGFsbG93cyBvdGhlciBpc290b3BlcyBvZiByYWRpdW0sIDIyM1JhLCAyMjRSYSwgYW5kIDIyOFJhLCB0byBiZSBkZXRlcm1pbmVkLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wOC8yOS84MjkzMCIsInV1aWQiOiJhMjQ4NjY2NC00NThhLTQ5NTUtODdiZC1mNTgxZGI3ODdlNGYiLCJ0aXRsZSI6IklTTy9DRCAxMzE0MSBFbGVjdHJvbmljIGZlZSBjb2xsZWN0aW9uIOKAlCBMb2NhbGlzYXRpb24gYXVnbWVudGF0aW9uIGNvbW11bmljYXRpb24gZm9yIGF1dG9ub21vdXMgc3lzdGVtcyIsInN0YXR1cyI6IlVuZGVyIGRldmVsb3BtZW50IiwieWVhciI6MjAyMSwib3JkZXIiOjEyLCJ0ZXh0IjoiSVNPIDEzMTQxOjIwMTUgZXN0YWJsaXNoZXMgcmVxdWlyZW1lbnRzIGZvciBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIGZvciB0aGUgcHVycG9zZXMgb2YgYXVnbWVudGluZyB0aGUgbG9jYWxpemF0aW9uIGluIGF1dG9ub21vdXMgZWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiAoRUZDKSBzeXN0ZW1zLiBMb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIHNlcnZlcyB0byBpbmZvcm0gb24tYm9hcmQgZXF1aXBtZW50IChPQkUpIGFib3V0IGdlb2dyYXBoaWNhbCBsb2NhdGlvbiBhbmQgdGhlIGlkZW50aWZpY2F0aW9uIG9mIGEgY2hhcmdlIG9iamVjdC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHNwZWNpZmllcyB0aGUgcHJvdmlzaW9uIG9mIGxvY2F0aW9uIGFuZCBoZWFkaW5nIGluZm9ybWF0aW9uIGFuZCBzZWN1cml0eSBtZWFucyB0byBwcm90ZWN0IGZyb20gdGhlIG1hbmlwdWxhdGlvbiBvZiB0aGUgT0JFIHdpdGggZmFsc2Ugcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpLiBUaGUgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIHRha2VzIHBsYWNlIGJldHdlZW4gYW4gT0JFIGluIGEgdmVoaWNsZSBhbmQgZml4ZWQgcm9hZHNpZGUgZXF1aXBtZW50LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgaXMgYXBwbGljYWJsZSB0byBPQkUgaW4gYW4gYXV0b25vbW91cyBtb2RlIG9mIG9wZXJhdGlvbi4gSVNPIDEzMTQxOjIwMTUgZGVmaW5lcyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgZm9yIHRoZSBwdXJwb3NlIG9mIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24sIGJ5IG1ha2luZyB1c2Ugb2YgdGhlIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9ucyAoRFNSQykgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBwcm92aWRlZCBieSBEU1JDIExheWVyIDcsIGFuZCBtYWtlcyB0aGVzZSBMQUMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGF2YWlsYWJsZSB0byB0aGUgTEFDIGFwcGxpY2F0aW9ucyBhdCB0aGUgUlNFIGFuZCB0aGUgT0JFLiBBdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXJlIGRlZmluZWQgb24gdGhlIGxldmVsIG9mIEFwcGxpY2F0aW9uIERhdGEgVW5pdHMgKEFEVXMsIHNlZSBGaWd1cmUgMSkuICIsIm9iamVjdElEIjoiODI5MzBfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vQ0QgPGVtPjEzMTwvZW0+NDEgRWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiDigJQgTG9jYWxpc2F0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIGZvciBhdXRvbm9tb3VzIHN5c3RlbXMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgZXN0YWJsaXNoZXMgcmVxdWlyZW1lbnRzIGZvciBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9uIGZvciB0aGUgcHVycG9zZXMgb2YgYXVnbWVudGluZyB0aGUgbG9jYWxpemF0aW9uIGluIGF1dG9ub21vdXMgZWxlY3Ryb25pYyBmZWUgY29sbGVjdGlvbiAoRUZDKSBzeXN0ZW1zLiBMb2NhbGl6YXRpb24gYXVnbWVudGF0aW9uIHNlcnZlcyB0byBpbmZvcm0gb24tYm9hcmQgZXF1aXBtZW50IChPQkUpIGFib3V0IGdlb2dyYXBoaWNhbCBsb2NhdGlvbiBhbmQgdGhlIGlkZW50aWZpY2F0aW9uIG9mIGEgY2hhcmdlIG9iamVjdC4gVGhpcyBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIHNwZWNpZmllcyB0aGUgcHJvdmlzaW9uIG9mIGxvY2F0aW9uIGFuZCBoZWFkaW5nIGluZm9ybWF0aW9uIGFuZCBzZWN1cml0eSBtZWFucyB0byBwcm90ZWN0IGZyb20gdGhlIG1hbmlwdWxhdGlvbiBvZiB0aGUgT0JFIHdpdGggZmFsc2Ugcm9hZHNpZGUgZXF1aXBtZW50IChSU0UpLiBUaGUgbG9jYWxpemF0aW9uIGF1Z21lbnRhdGlvbiBjb21tdW5pY2F0aW9uIHRha2VzIHBsYWNlIGJldHdlZW4gYW4gT0JFIGluIGEgdmVoaWNsZSBhbmQgZml4ZWQgcm9hZHNpZGUgZXF1aXBtZW50LiBUaGlzIEludGVybmF0aW9uYWwgU3RhbmRhcmQgaXMgYXBwbGljYWJsZSB0byBPQkUgaW4gYW4gYXV0b25vbW91cyBtb2RlIG9mIG9wZXJhdGlvbi4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjQxOjIwMTUgZGVmaW5lcyBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgZm9yIHRoZSBwdXJwb3NlIG9mIGxvY2FsaXphdGlvbiBhdWdtZW50YXRpb24sIGJ5IG1ha2luZyB1c2Ugb2YgdGhlIGRlZGljYXRlZCBzaG9ydC1yYW5nZSBjb21tdW5pY2F0aW9ucyAoRFNSQykgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBwcm92aWRlZCBieSBEU1JDIExheWVyIDcsIGFuZCBtYWtlcyB0aGVzZSBMQUMgYXR0cmlidXRlcyBhbmQgZnVuY3Rpb25zIGF2YWlsYWJsZSB0byB0aGUgTEFDIGFwcGxpY2F0aW9ucyBhdCB0aGUgUlNFIGFuZCB0aGUgT0JFLiBBdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbnMgYXJlIGRlZmluZWQgb24gdGhlIGxldmVsIG9mIEFwcGxpY2F0aW9uIERhdGEgVW5pdHMgKEFEVXMsIHNlZSBGaWd1cmUgMSkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2Lzk0LzY5NDA0IiwidXVpZCI6IjZkZTgyZWYzLTY0NDgtNGM4YS1iYTkwLTFjMzMzMTdkNWIxZCIsInRpdGxlIjoiSVNPIDIwODk5OjIwMTggV2F0ZXIgcXVhbGl0eSDigJQgUGx1dG9uaXVtIGFuZCBuZXB0dW5pdW0g4oCUIFRlc3QgbWV0aG9kIHVzaW5nIElDUC1NUyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIG1ldGhvZHMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGNvbmNlbnRyYXRpb24gb2YgcGx1dG9uaXVtIGFuZCBuZXB0dW5pdW0gaXNvdG9wZXMgaW4gd2F0ZXIgYnkgaW5kdWN0aXZlbHkgY291cGxlZCBwbGFzbWEgbWFzcyBzcGVjdHJvbWV0cnkgKElDUC1NUykgKDIzOVB1LCAyNDBQdSwgMjQxUHUgYW5kIDIzN05wKS4gVGhlIGNvbmNlbnRyYXRpb25zIG9idGFpbmVkIGNhbiBiZSBjb252ZXJ0ZWQgaW50byBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBvZiB0aGUgZGlmZmVyZW50IGlzb3RvcGVzWzldLiBEdWUgdG8gaXRzIHJlbGF0aXZlbHkgc2hvcnQgaGFsZi1saWZlIGFuZCAyMzhVIGlzb2JhcmljIGludGVyZmVyZW5jZSwgMjM4UHUgY2FuIGhhcmRseSBiZSBtZWFzdXJlZCBieSB0aGlzIG1ldGhvZC4gVG8gcXVhbnRpZnkgdGhpcyBpc290b3BlLCBvdGhlciB0ZWNobmlxdWVzIGNhbiBiZSB1c2VkIChJQ1AtTVMgd2l0aCBjb2xsaXNpb24tcmVhY3Rpb24gY2VsbCwgSUNQLU1TL01TIHdpdGggY29sbGlzaW9uLXJlYWN0aW9uIGNlbGwgb3IgY2hlbWljYWwgc2VwYXJhdGlvbikuIEFscGhhIHNwZWN0cm9tZXRyeSBtZWFzdXJlbWVudCwgYXMgZGVzY3JpYmVkIGluIElTTyAxMzE2N1sxMF0sIGlzIGN1cnJlbnRseSB1c2VkWzExXS4gVGhpcyBtZXRob2QgaXMgYXBwbGljYWJsZSB0byBhbGwgdHlwZXMgb2Ygd2F0ZXIgaGF2aW5nIGEgc2FsaW5lIGxvYWQgbGVzcyB0aGFuIDEgZ8K3bOKIkjEuIEEgZGlsdXRpb24gb2YgdGhlIHNhbXBsZSBpcyBwb3NzaWJsZSB0byBvYnRhaW4gYSBzb2x1dGlvbiBoYXZpbmcgYSBzYWxpbmUgbG9hZCBhbmQgYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgY29tcGF0aWJsZSB3aXRoIHRoZSBwcmVwYXJhdGlvbiBhbmQgdGhlIG1lYXN1cmVtZW50IGFzc2VtYmx5LiBBIGZpbHRyYXRpb24gYXQgMCw0NSDOvG0gaXMgbmVlZGVkIGZvciBkZXRlcm1pbmF0aW9uIG9mIGRpc3NvbHZlZCBudWNsaWRlcy4gQWNpZGlmaWNhdGlvbiBhbmQgY2hlbWljYWwgc2VwYXJhdGlvbiBvZiB0aGUgc2FtcGxlIGFyZSBhbHdheXMgbmVlZGVkLiBUaGUgbGltaXQgb2YgcXVhbnRpZmljYXRpb24gZGVwZW5kcyBvbiB0aGUgY2hlbWljYWwgc2VwYXJhdGlvbiBhbmQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBtZWFzdXJlbWVudCBkZXZpY2UuIFRoaXMgbWV0aG9kIGNvdmVycyB0aGUgbWVhc3VyZW1lbnQgb2YgdGhvc2UgaXNvdG9wZXMgaW4gd2F0ZXIgaW4gYWN0aXZpdHkgY29uY2VudHJhdGlvbnMgYmV0d2VlbiBhcm91bmRbMTJdWzEzXTog4oCUICAgICAgICAgIDEgbUJxwrds4oiSMSB0byA1IEJxwrds4oiSMSBmb3IgMjM5UHUsIDI0MFB1IGFuZCAyMzdOcDsg4oCUICAgICAgICAgIDEgQnHCt2ziiJIxIHRvIDUgQnHCt2ziiJIxIGZvciAyNDFQdS4gSW4gYm90aCBjYXNlcywgc2FtcGxlcyB3aXRoIGhpZ2hlciBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyB0aGFuIDUgQnHCt2ziiJIxIGNhbiBiZSBtZWFzdXJlZCBpZiBhIGRpbHV0aW9uIGlzIHBlcmZvcm1lZCBiZWZvcmUgdGhlIGNoZW1pY2FsIHNlcGFyYXRpb24uIEl0IGlzIHBvc3NpYmxlIHRvIG1lYXN1cmUgMjQxUHUgZm9sbG93aW5nIGEgcHJlLWNvbmNlbnRyYXRpb24gc3RlcCBvZiBhdCBsZWFzdCAxIDAwMC4gIiwib2JqZWN0SUQiOiI2OTQwNF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAyMDg5OToyMDE4IFdhdGVyIHF1YWxpdHkg4oCUIFBsdXRvbml1bSBhbmQgbmVwdHVuaXVtIOKAlCBUZXN0IG1ldGhvZCB1c2luZyBJQ1AtTVMiLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19LCJ0ZXh0Ijp7InZhbHVlIjoiVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgbWV0aG9kcyB1c2VkIHRvIGRldGVybWluZSB0aGUgY29uY2VudHJhdGlvbiBvZiBwbHV0b25pdW0gYW5kIG5lcHR1bml1bSBpc290b3BlcyBpbiB3YXRlciBieSBpbmR1Y3RpdmVseSBjb3VwbGVkIHBsYXNtYSBtYXNzIHNwZWN0cm9tZXRyeSAoSUNQLU1TKSAoMjM5UHUsIDI0MFB1LCAyNDFQdSBhbmQgMjM3TnApLiBUaGUgY29uY2VudHJhdGlvbnMgb2J0YWluZWQgY2FuIGJlIGNvbnZlcnRlZCBpbnRvIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIG9mIHRoZSBkaWZmZXJlbnQgaXNvdG9wZXNbOV0uIER1ZSB0byBpdHMgcmVsYXRpdmVseSBzaG9ydCBoYWxmLWxpZmUgYW5kIDIzOFUgaXNvYmFyaWMgaW50ZXJmZXJlbmNlLCAyMzhQdSBjYW4gaGFyZGx5IGJlIG1lYXN1cmVkIGJ5IHRoaXMgbWV0aG9kLiBUbyBxdWFudGlmeSB0aGlzIGlzb3RvcGUsIG90aGVyIHRlY2huaXF1ZXMgY2FuIGJlIHVzZWQgKElDUC1NUyB3aXRoIGNvbGxpc2lvbi1yZWFjdGlvbiBjZWxsLCBJQ1AtTVMvTVMgd2l0aCBjb2xsaXNpb24tcmVhY3Rpb24gY2VsbCBvciBjaGVtaWNhbCBzZXBhcmF0aW9uKS4gQWxwaGEgc3BlY3Ryb21ldHJ5IG1lYXN1cmVtZW50LCBhcyBkZXNjcmliZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjY3WzEwXSwgaXMgY3VycmVudGx5IHVzZWRbMTFdLiBUaGlzIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvIGFsbCB0eXBlcyBvZiB3YXRlciBoYXZpbmcgYSBzYWxpbmUgbG9hZCBsZXNzIHRoYW4gMSBnwrds4oiSMS4gQSBkaWx1dGlvbiBvZiB0aGUgc2FtcGxlIGlzIHBvc3NpYmxlIHRvIG9idGFpbiBhIHNvbHV0aW9uIGhhdmluZyBhIHNhbGluZSBsb2FkIGFuZCBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBjb21wYXRpYmxlIHdpdGggdGhlIHByZXBhcmF0aW9uIGFuZCB0aGUgbWVhc3VyZW1lbnQgYXNzZW1ibHkuIEEgZmlsdHJhdGlvbiBhdCAwLDQ1IM68bSBpcyBuZWVkZWQgZm9yIGRldGVybWluYXRpb24gb2YgZGlzc29sdmVkIG51Y2xpZGVzLiBBY2lkaWZpY2F0aW9uIGFuZCBjaGVtaWNhbCBzZXBhcmF0aW9uIG9mIHRoZSBzYW1wbGUgYXJlIGFsd2F5cyBuZWVkZWQuIFRoZSBsaW1pdCBvZiBxdWFudGlmaWNhdGlvbiBkZXBlbmRzIG9uIHRoZSBjaGVtaWNhbCBzZXBhcmF0aW9uIGFuZCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIG1lYXN1cmVtZW50IGRldmljZS4gVGhpcyBtZXRob2QgY292ZXJzIHRoZSBtZWFzdXJlbWVudCBvZiB0aG9zZSBpc290b3BlcyBpbiB3YXRlciBpbiBhY3Rpdml0eSBjb25jZW50cmF0aW9ucyBiZXR3ZWVuIGFyb3VuZFsxMl1bMTNdOiDigJQgICAgICAgICAgMSBtQnHCt2ziiJIxIHRvIDUgQnHCt2ziiJIxIGZvciAyMzlQdSwgMjQwUHUgYW5kIDIzN05wOyDigJQgICAgICAgICAgMSBCccK3bOKIkjEgdG8gNSBCccK3bOKIkjEgZm9yIDI0MVB1LiBJbiBib3RoIGNhc2VzLCBzYW1wbGVzIHdpdGggaGlnaGVyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb25zIHRoYW4gNSBCccK3bOKIkjEgY2FuIGJlIG1lYXN1cmVkIGlmIGEgZGlsdXRpb24gaXMgcGVyZm9ybWVkIGJlZm9yZSB0aGUgY2hlbWljYWwgc2VwYXJhdGlvbi4gSXQgaXMgcG9zc2libGUgdG8gbWVhc3VyZSAyNDFQdSBmb2xsb3dpbmcgYSBwcmUtY29uY2VudHJhdGlvbiBzdGVwIG9mIGF0IGxlYXN0IDEgMDAwLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi83Ny82NzcyOSIsInV1aWQiOiI0ZjU1ZGIyOS0xMTE0LTQwZjctYjQyZi05MjZkNjVmODg0ZWQiLCJ0aXRsZSI6IklTTyAxMjQ3MzoyMDE3IEdlbmVyYWwgcHJpbmNpcGxlcyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIGluIHNlYXdhdGVyIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxNywib3JkZXIiOjExLCJ0ZXh0IjoiSVNPIDEyNDczIGNvdmVycyB0aGUgZ2VuZXJhbCBwcmluY2lwbGVzIG9mIGNhdGhvZGljIHByb3RlY3Rpb24gd2hlbiBhcHBsaWVkIGluIHNlYXdhdGVyLCBicmFja2lzaCB3YXRlcnMgYW5kIG1hcmluZSBtdWQuIEl0IGlzIGludGVuZGVkIHRvIGJlIGFuIGludHJvZHVjdGlvbiwgdG8gcHJvdmlkZSBhIGxpbmsgYmV0d2VlbiB0aGUgdGhlb3JldGljYWwgYXNwZWN0cyBhbmQgdGhlIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBjb25zdGl0dXRlIGEgc3VwcG9ydCB0byB0aGUgb3RoZXIgc3RhbmRhcmRzIGRldm90ZWQgdG8gY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdGVlbCBzdHJ1Y3R1cmVzIGluIHNlYXdhdGVyLiBJU08gMTI0NzMgc3BlY2lmaWVzIHRoZSBjcml0ZXJpYSByZXF1aXJlZCBmb3IgY2F0aG9kaWMgcHJvdGVjdGlvbi4gSXQgcHJvdmlkZXMgcmVjb21tZW5kYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBvbiByZWZlcmVuY2UgZWxlY3Ryb2RlcywgZGVzaWduIGNvbnNpZGVyYXRpb25zIGFuZCBwcmV2ZW50aW9uIG9mIHRoZSBzZWNvbmRhcnkgZWZmZWN0cyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uLiBUaGUgcHJhY3RpY2FsIGFwcGxpY2F0aW9ucyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIGluIHNlYXdhdGVyIGFyZSBjb3ZlcmVkIGJ5IHRoZSBmb2xsb3dpbmcgc3RhbmRhcmRzOiAtICAgICAgRU4gMTI0OTUsIENhdGhvZGljIHByb3RlY3Rpb24gZm9yIGZpeGVkIHN0ZWVsIG9mZnNob3JlIHN0cnVjdHVyZXMgOyAtICAgICAgSVNPIDEzMTc0LCBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIGhhcmJvdXIgaW5zdGFsbGF0aW9ucyAoIElTTyAxMzE3NCApIDsgLSAgICAgIEVOIDEyNDk2LCBHYWx2YW5pYyBhbm9kZXMgZm9yIGNhdGhvZGljIHByb3RlY3Rpb24gaW4gc2Vhd2F0ZXIgYW5kIHNhbGluZSBtdWQgOyAtICAgICAgRU4gMTMxNzMsIENhdGhvZGljIHByb3RlY3Rpb24gZm9yIHN0ZWVsIG9mZnNob3JlIGZsb2F0aW5nIHN0cnVjdHVyZXMgOyAtICAgICAgRU4gMTYyMjIsIENhdGhvZGljIHByb3RlY3Rpb24gb2Ygc2hpcCBodWxscyA7IC0gICAgICBFTiAxMjQ3NCwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdWJtYXJpbmUgcGlwZWxpbmVzIDsgLSAgICAgIElTTyAxNTU4OeKAkTIsIFBldHJvbGV1bSwgcGV0cm9jaGVtaWNhbCBhbmQgbmF0dXJhbCBnYXMgaW5kdXN0cmllcyA/IENhdGhvZGljIHByb3RlY3Rpb24gb2YgcGlwZWxpbmUgdHJhbnNwb3J0YXRpb24gc3lzdGVtcyA/IFBhcnQgMjogT2Zmc2hvcmUgcGlwZWxpbmVzIC4gRm9yIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RlZWwgcmVpbmZvcmNlZCBjb25jcmV0ZSB3aGV0aGVyIGV4cG9zZWQgdG8gc2Vhd2F0ZXIgb3IgdG8gdGhlIGF0bW9zcGhlcmUsIElTTyAxMjY5NiBhcHBsaWVzLiAiLCJvYmplY3RJRCI6IjY3NzI5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDEyNDczOjIwMTcgR2VuZXJhbCBwcmluY2lwbGVzIG9mIGNhdGhvZGljIHByb3RlY3Rpb24gaW4gc2Vhd2F0ZXIiLCJtYXRjaExldmVsIjoicGFydGlhbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+IDEyNDczIGNvdmVycyB0aGUgZ2VuZXJhbCBwcmluY2lwbGVzIG9mIGNhdGhvZGljIHByb3RlY3Rpb24gd2hlbiBhcHBsaWVkIGluIHNlYXdhdGVyLCBicmFja2lzaCB3YXRlcnMgYW5kIG1hcmluZSBtdWQuIEl0IGlzIGludGVuZGVkIHRvIGJlIGFuIGludHJvZHVjdGlvbiwgdG8gcHJvdmlkZSBhIGxpbmsgYmV0d2VlbiB0aGUgdGhlb3JldGljYWwgYXNwZWN0cyBhbmQgdGhlIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBjb25zdGl0dXRlIGEgc3VwcG9ydCB0byB0aGUgb3RoZXIgc3RhbmRhcmRzIGRldm90ZWQgdG8gY2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdGVlbCBzdHJ1Y3R1cmVzIGluIHNlYXdhdGVyLiA8ZW0+SVNPPC9lbT4gMTI0NzMgc3BlY2lmaWVzIHRoZSBjcml0ZXJpYSByZXF1aXJlZCBmb3IgY2F0aG9kaWMgcHJvdGVjdGlvbi4gSXQgcHJvdmlkZXMgcmVjb21tZW5kYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBvbiByZWZlcmVuY2UgZWxlY3Ryb2RlcywgZGVzaWduIGNvbnNpZGVyYXRpb25zIGFuZCBwcmV2ZW50aW9uIG9mIHRoZSBzZWNvbmRhcnkgZWZmZWN0cyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uLiBUaGUgcHJhY3RpY2FsIGFwcGxpY2F0aW9ucyBvZiBjYXRob2RpYyBwcm90ZWN0aW9uIGluIHNlYXdhdGVyIGFyZSBjb3ZlcmVkIGJ5IHRoZSBmb2xsb3dpbmcgc3RhbmRhcmRzOiAtICAgICAgRU4gMTI0OTUsIENhdGhvZGljIHByb3RlY3Rpb24gZm9yIGZpeGVkIHN0ZWVsIG9mZnNob3JlIHN0cnVjdHVyZXMgOyAtICAgICAgPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjc0LCBDYXRob2RpYyBwcm90ZWN0aW9uIG9mIGhhcmJvdXIgaW5zdGFsbGF0aW9ucyAoIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT43NCApIDsgLSAgICAgIEVOIDEyNDk2LCBHYWx2YW5pYyBhbm9kZXMgZm9yIGNhdGhvZGljIHByb3RlY3Rpb24gaW4gc2Vhd2F0ZXIgYW5kIHNhbGluZSBtdWQgOyAtICAgICAgRU4gPGVtPjEzMTwvZW0+NzMsIENhdGhvZGljIHByb3RlY3Rpb24gZm9yIHN0ZWVsIG9mZnNob3JlIGZsb2F0aW5nIHN0cnVjdHVyZXMgOyAtICAgICAgRU4gMTYyMjIsIENhdGhvZGljIHByb3RlY3Rpb24gb2Ygc2hpcCBodWxscyA7IC0gICAgICBFTiAxMjQ3NCwgQ2F0aG9kaWMgcHJvdGVjdGlvbiBvZiBzdWJtYXJpbmUgcGlwZWxpbmVzIDsgLSAgICAgIDxlbT5JU088L2VtPiAxNTU4OeKAkTIsIFBldHJvbGV1bSwgcGV0cm9jaGVtaWNhbCBhbmQgbmF0dXJhbCBnYXMgaW5kdXN0cmllcyA/IENhdGhvZGljIHByb3RlY3Rpb24gb2YgcGlwZWxpbmUgdHJhbnNwb3J0YXRpb24gc3lzdGVtcyA/IFBhcnQgMjogT2Zmc2hvcmUgcGlwZWxpbmVzIC4gRm9yIGNhdGhvZGljIHByb3RlY3Rpb24gb2Ygc3RlZWwgcmVpbmZvcmNlZCBjb25jcmV0ZSB3aGV0aGVyIGV4cG9zZWQgdG8gc2Vhd2F0ZXIgb3IgdG8gdGhlIGF0bW9zcGhlcmUsIDxlbT5JU088L2VtPiAxMjY5NiBhcHBsaWVzLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNC81My80NTM4MCIsInV1aWQiOiJjOGFmNzEzMS02MWUzLTQzZDgtOTdmZi1iNmEyZTMyNTUzYmMiLCJ0aXRsZSI6IklTTyAyOTI4MjoyMDExIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBDb21tdW5pY2F0aW9ucyBhY2Nlc3MgZm9yIGxhbmQgbW9iaWxlcyAoQ0FMTSkg4oCUIFNhdGVsbGl0ZSBuZXR3b3JrcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTgsIm9yZGVyIjoxMSwidGV4dCI6IklTTyAyOTI4MjoyMDExIHByb3ZpZGVzIGRlZmluaXRpb25zIGFuZCBwcm9jZWR1cmVzIGZvciB0aGUgZXN0YWJsaXNobWVudCwgbWFpbnRlbmFuY2UgYW5kIHRlcm1pbmF0aW9uIG9mIGFuIElUUyAoaW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMpIGNvbW11bmljYXRpb25zIHNlc3Npb24gd2l0aGluIGEgQ0FMTSAoY29tbXVuaWNhdGlvbiBhY2Nlc3MgZm9yIGxhbmQgbW9iaWxlcykgc3lzdGVtIGVudmlyb25tZW50IHVzaW5nIGJpLWRpcmVjdGlvbmFsIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucy4gSXQgZGVmaW5lcyB0aGUgb3BlcmF0aW9uIG9mIHRoZSBtZWRpdW0gbWFuYWdlbWVudCBhZGFwdGF0aW9uIGVudGl0eSAoTU1BRSksIHdoaWNoIHByb3ZpZGVzIHRoZSBtYW5hZ2VtZW50IGludGVyZmFjZSBiZXR3ZWVuIGEgcHJvcHJpZXRhcnkgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zIG1lZGl1bSBhbmQgdGhlIFwiSVRTIHN0YXRpb24gbWFuYWdlbWVudFwiLiBUaGlzIGVuYWJsZXMgdGhlIFwiSVRTIHN0YXRpb24gbWFuYWdlbWVudFwiIHRvIGtub3cgdGhlIHN0YXR1cyBvZiB0aGUgY29tbXVuaWNhdGlvbnMgbWVkaXVtIGFuZCBjb250cm9sIHRoZSBpbnRlcmZhY2Ugd2l0aG91dCB0aGUgbmVlZCBmb3IgYXBwbGljYXRpb25zIGF0IHRoZSBJVFMgc3RhdGlvbiB0byBoYXZlIGFueSBrbm93bGVkZ2Ugb2YgdGhlIHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UuIFRoZSBwcm9jZWR1cmVzIHRoYXQgdGhlIFwiSVRTIHN0YXRpb24gbWFuYWdlbWVudFwiIGV4cGVjdHMgdG8gdXNlIGFyZSBhbHNvIGV4cGxhaW5lZC4gSVNPIDI5MjgyOjIwMTEgZGVmaW5lcyBob3cgdG8gY29ubmVjdCBhbmQgZGlzY29ubmVjdCBhIGNvbW11bmljYXRpb24gc2Vzc2lvbiB1c2luZyBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbiBzeXN0ZW1zIGluIHRoZSBjb250ZXh0IG9mIGFuIGFwcGxpY2F0aW9uIG9wZXJhdGVkIHdpdGhpbiB0aGUgZW52aXJvbm1lbnQgZGVmaW5lZCBpbiBJU08gMjEyMTcuIEl0IHN1cHBvcnRzIHBlZXItdG8tcGVlciBtb2RlcyBvZiBjb21tdW5pY2F0aW9uLiBTdXBwb3J0IGZvciBicm9hZGNhc3Qgc2F0ZWxsaXRlIHN5c3RlbXMgaXMgZGVmaW5lZCBpbiBJU08gMTMxODMsIHdoaWNoIHByb3ZpZGVzIGEgY29tbW9uIGFwcHJvYWNoIGZvciBhbGwgYnJvYWRjYXN0IG1lZGlhLiBJdCBzdXBwb3J0cyBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMgbmV0d29ya3MgdGhhdCBhcmUgaW50ZXJjb25uZWN0ZWQgd2l0aCB0aGUgcHVibGljIG5ldHdvcmssIGFzIHdlbGwgYXMgdGhvc2Ugd2hpY2ggY29ubmVjdCB2aWEgdGhlIGludGVybmV0IGFuZCB0aG9zZSB3aGljaCBwcm92aWRlIGEgc3RhbmQtYWxvbmUgY2FwYWJpbGl0eS4gIiwib2JqZWN0SUQiOiI0NTM4MF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAyOTI4MjoyMDExIEludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zIOKAlCBDb21tdW5pY2F0aW9ucyBhY2Nlc3MgZm9yIGxhbmQgbW9iaWxlcyAoQ0FMTSkg4oCUIFNhdGVsbGl0ZSBuZXR3b3JrcyIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMjkyODI6MjAxMSBwcm92aWRlcyBkZWZpbml0aW9ucyBhbmQgcHJvY2VkdXJlcyBmb3IgdGhlIGVzdGFibGlzaG1lbnQsIG1haW50ZW5hbmNlIGFuZCB0ZXJtaW5hdGlvbiBvZiBhbiBJVFMgKGludGVsbGlnZW50IHRyYW5zcG9ydCBzeXN0ZW1zKSBjb21tdW5pY2F0aW9ucyBzZXNzaW9uIHdpdGhpbiBhIENBTE0gKGNvbW11bmljYXRpb24gYWNjZXNzIGZvciBsYW5kIG1vYmlsZXMpIHN5c3RlbSBlbnZpcm9ubWVudCB1c2luZyBiaS1kaXJlY3Rpb25hbCBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMuIEl0IGRlZmluZXMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbWVkaXVtIG1hbmFnZW1lbnQgYWRhcHRhdGlvbiBlbnRpdHkgKE1NQUUpLCB3aGljaCBwcm92aWRlcyB0aGUgbWFuYWdlbWVudCBpbnRlcmZhY2UgYmV0d2VlbiBhIHByb3ByaWV0YXJ5IHNhdGVsbGl0ZSBjb21tdW5pY2F0aW9ucyBtZWRpdW0gYW5kIHRoZSBcIklUUyBzdGF0aW9uIG1hbmFnZW1lbnRcIi4gVGhpcyBlbmFibGVzIHRoZSBcIklUUyBzdGF0aW9uIG1hbmFnZW1lbnRcIiB0byBrbm93IHRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb25zIG1lZGl1bSBhbmQgY29udHJvbCB0aGUgaW50ZXJmYWNlIHdpdGhvdXQgdGhlIG5lZWQgZm9yIGFwcGxpY2F0aW9ucyBhdCB0aGUgSVRTIHN0YXRpb24gdG8gaGF2ZSBhbnkga25vd2xlZGdlIG9mIHRoZSBzYXRlbGxpdGUgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlLiBUaGUgcHJvY2VkdXJlcyB0aGF0IHRoZSBcIklUUyBzdGF0aW9uIG1hbmFnZW1lbnRcIiBleHBlY3RzIHRvIHVzZSBhcmUgYWxzbyBleHBsYWluZWQuIDxlbT5JU088L2VtPiAyOTI4MjoyMDExIGRlZmluZXMgaG93IHRvIGNvbm5lY3QgYW5kIGRpc2Nvbm5lY3QgYSBjb21tdW5pY2F0aW9uIHNlc3Npb24gdXNpbmcgc2F0ZWxsaXRlIGNvbW11bmljYXRpb24gc3lzdGVtcyBpbiB0aGUgY29udGV4dCBvZiBhbiBhcHBsaWNhdGlvbiBvcGVyYXRlZCB3aXRoaW4gdGhlIGVudmlyb25tZW50IGRlZmluZWQgaW4gPGVtPklTTzwvZW0+IDIxMjE3LiBJdCBzdXBwb3J0cyBwZWVyLXRvLXBlZXIgbW9kZXMgb2YgY29tbXVuaWNhdGlvbi4gU3VwcG9ydCBmb3IgYnJvYWRjYXN0IHNhdGVsbGl0ZSBzeXN0ZW1zIGlzIGRlZmluZWQgaW4gPGVtPklTTzwvZW0+IDxlbT4xMzE8L2VtPjgzLCB3aGljaCBwcm92aWRlcyBhIGNvbW1vbiBhcHByb2FjaCBmb3IgYWxsIGJyb2FkY2FzdCBtZWRpYS4gSXQgc3VwcG9ydHMgc2F0ZWxsaXRlIGNvbW11bmljYXRpb25zIG5ldHdvcmtzIHRoYXQgYXJlIGludGVyY29ubmVjdGVkIHdpdGggdGhlIHB1YmxpYyBuZXR3b3JrLCBhcyB3ZWxsIGFzIHRob3NlIHdoaWNoIGNvbm5lY3QgdmlhIHRoZSBpbnRlcm5ldCBhbmQgdGhvc2Ugd2hpY2ggcHJvdmlkZSBhIHN0YW5kLWFsb25lIGNhcGFiaWxpdHkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzcwLzY3MDg5IiwidXVpZCI6IjQ5ODVjYTQxLWM0NjAtNGQyZi04N2U2LTU5OTRjYjRjODFiNCIsInRpdGxlIjoiSVNPIDE3NDM4LTQ6MjAxOSBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyDigJQgSW5kb29yIG5hdmlnYXRpb24gZm9yIHBlcnNvbmFsIGFuZCB2ZWhpY2xlIElUUyBzdGF0aW9uIOKAlCBQYXJ0IDQ6IFJlcXVpcmVtZW50cyBhbmQgc3BlY2lmaWNhdGlvbnMgZm9yIGludGVyZmFjZSBiZXR3ZWVuIHBlcnNvbmFsL3ZlaGljbGUgYW5kIGNlbnRyYWwgSVRTIHN0YXRpb25zIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBkZWZpbmVzIGRldGFpbGVkIHVzZSBjYXNlcywgcmVxdWlyZW1lbnRzIGFuZCBtZXNzYWdlIHNwZWNpZmljYXRpb25zIGZvciBzdXBwb3J0aW5nIGluZG9vciBuYXZpZ2F0aW9uIGZ1bmN0aW9uYWxpdHkgYmV0d2VlbiBhIHBlcnNvbmFsL3ZlaGljbGUgKFAvVikgSVRTIHN0YXRpb24gYW5kIGEgY2VudHJhbCBJVFMgc3RhdGlvbi4gVGhpcyBkb2N1bWVudCBkZWZpbmVzOiBhKSAgICBDbHVzdGVycyBvZiB1c2UgY2FzZXMgYmFzZWQgb24gcHJvY2Vzc2luZyBmbG93cyBmb3IgaW5kb29yIG5hdmlnYXRpb24gYmV0d2VlbiBhIFAvViBJVFMgc3RhdGlvbiBhbmQgYSBjZW50cmFsIElUUyBzdGF0aW9uOyBiKSAgICBEZXRhaWxlZCB1c2UgY2FzZXMgZGVyaXZlZCBmcm9tIHRoZSBjbHVzdGVycyBvZiB1c2UgY2FzZXMgZm9yIGluZG9vciBuYXZpZ2F0aW9uOyBjKSAgICBNZXNzYWdlIHNwZWNpZmljYXRpb25zIHRvIHN1cHBvcnQgc29tZSBvZiB0aGUgZGV0YWlsZWQgdXNlIGNhc2VzLiBUaGUgbWVzc2FnZSBzcGVjaWZpY2F0aW9ucyBpbmNsdWRlIG1hbmRhdG9yeSwgY29uZGl0aW9uYWwgYW5kIG9wdGlvbmFsIGVsZW1lbnRzLiBUaGlzIGRvY3VtZW50IGlzIG9ubHkgYXBwbGljYWJsZSB0byB0aGUgY29yZSBmbG93IGZvciB0aGUgbmF2aWdhdGlvbmFsIGZ1bmN0aW9uYWxpdHkgaW4gaW5kb29yIHNwYWNlLiBUaGUgZm9sbG93aW5nIGlzc3VlcyB3aGljaCBhcmUgYWRqdW5jdGl2ZSBidXQgZXNzZW50aWFsIGZvciBjb21tZXJjaWFsIG5hdmlnYXRpb24gc2VydmljZXMgYXJlIGJleW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudDog4oCUICAgICAgICAgIEF1dGhvcml6ZWQgYW5kIGF1dGhlbnRpY2F0ZWQgYWNjZXNzIG9mIHVzZXJzIGFuZCBzZXJ2aWNlcywgaW5jbHVkaW5nIHNlY3VyaXR5OyDigJQgICAgICAgICAgUGF5bWVudDsg4oCUICAgICAgICAgIFByZXBhcmF0aW9uIG9mIGluZG9vciBkYXRhIHdoaWNoIGFyZSBuZWNlc3NhcnkgZm9yIGluZG9vciBuYXZpZ2F0aW9uOyDigJQgICAgICAgICAgRGV0YWlsZWQgZGF0YSBmb3JtYXRzIGZvciBpbmRvb3IgbmF2aWdhdGlvbiBkYXRhLCBpbmNsdWRpbmcgaW5kb29yIG1hcHMgYW5kIGluZG9vciBwb3NpdGlvbmluZyByZWZlcmVuY2VzICh0aGVzZSBmb3JtIGEgcGFydCBvZiBJU08gMTc0MzgtMlsxXSBhbmQgSVNPIDE3NDM4LTNbMl0pOyDigJQgICAgICAgICAgSG93IHRvIHRyYW5zZmVyIGFuZCBzaGFyZSBkYXRhIHJlcXVpcmVkIGZvciBpbmRvb3IgbmF2aWdhdGlvbiBiZXR3ZWVuIGEgcm9hZHNpZGUgSVRTIHN0YXRpb24gYW5kIGEgY2VudHJhbCBJVFMgc3RhdGlvbiwgaS5lLiBsb3ctbGV2ZWwgY29tbXVuaWNhdGlvbiBwcm90b2NvbHM7IOKAlCAgICAgICAgICBPdGhlciBpc3N1ZXMgZGVwZW5kZW50IG9uIGltcGxlbWVudGF0aW9uIG9mIGFuIGluc3RhbmNlIG9mIGluZG9vciBuYXZpZ2F0aW9uLCBlLmcuIGluZG9vci1vdXRkb29yIHNlYW1sZXNzIG5hdmlnYXRpb24uIFRoaXMgZG9jdW1lbnQgdXNlcyB0aGUgWE1MIGFuZCBEYXRhIGVYY2hhbmdlIE1lc3NhZ2UgKERYTSkgZm9ybWF0IGRlZmluZWQgaW4gSVNPIDEzMTg0LTIgdG8gZW5jb2RlIGRlZmluZWQgbWVzc2FnZXMuIFsxXSBVbmRlciBkZXZlbG9wbWVudC4gQ3VycmVudCBzdGFnZSAwLjAwLiBbMl0gVW5kZXIgZGV2ZWxvcG1lbnQuIEN1cnJlbnQgc3RhZ2UgMC4wMC4gIiwib2JqZWN0SUQiOiI2NzA4OV8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPiAxNzQzOC00OjIwMTkgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMg4oCUIEluZG9vciBuYXZpZ2F0aW9uIGZvciBwZXJzb25hbCBhbmQgdmVoaWNsZSBJVFMgc3RhdGlvbiDigJQgUGFydCA0OiBSZXF1aXJlbWVudHMgYW5kIHNwZWNpZmljYXRpb25zIGZvciBpbnRlcmZhY2UgYmV0d2VlbiBwZXJzb25hbC92ZWhpY2xlIGFuZCBjZW50cmFsIElUUyBzdGF0aW9ucyIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IGRlZmluZXMgZGV0YWlsZWQgdXNlIGNhc2VzLCByZXF1aXJlbWVudHMgYW5kIG1lc3NhZ2Ugc3BlY2lmaWNhdGlvbnMgZm9yIHN1cHBvcnRpbmcgaW5kb29yIG5hdmlnYXRpb24gZnVuY3Rpb25hbGl0eSBiZXR3ZWVuIGEgcGVyc29uYWwvdmVoaWNsZSAoUC9WKSBJVFMgc3RhdGlvbiBhbmQgYSBjZW50cmFsIElUUyBzdGF0aW9uLiBUaGlzIGRvY3VtZW50IGRlZmluZXM6IGEpICAgIENsdXN0ZXJzIG9mIHVzZSBjYXNlcyBiYXNlZCBvbiBwcm9jZXNzaW5nIGZsb3dzIGZvciBpbmRvb3IgbmF2aWdhdGlvbiBiZXR3ZWVuIGEgUC9WIElUUyBzdGF0aW9uIGFuZCBhIGNlbnRyYWwgSVRTIHN0YXRpb247IGIpICAgIERldGFpbGVkIHVzZSBjYXNlcyBkZXJpdmVkIGZyb20gdGhlIGNsdXN0ZXJzIG9mIHVzZSBjYXNlcyBmb3IgaW5kb29yIG5hdmlnYXRpb247IGMpICAgIE1lc3NhZ2Ugc3BlY2lmaWNhdGlvbnMgdG8gc3VwcG9ydCBzb21lIG9mIHRoZSBkZXRhaWxlZCB1c2UgY2FzZXMuIFRoZSBtZXNzYWdlIHNwZWNpZmljYXRpb25zIGluY2x1ZGUgbWFuZGF0b3J5LCBjb25kaXRpb25hbCBhbmQgb3B0aW9uYWwgZWxlbWVudHMuIFRoaXMgZG9jdW1lbnQgaXMgb25seSBhcHBsaWNhYmxlIHRvIHRoZSBjb3JlIGZsb3cgZm9yIHRoZSBuYXZpZ2F0aW9uYWwgZnVuY3Rpb25hbGl0eSBpbiBpbmRvb3Igc3BhY2UuIFRoZSBmb2xsb3dpbmcgaXNzdWVzIHdoaWNoIGFyZSBhZGp1bmN0aXZlIGJ1dCBlc3NlbnRpYWwgZm9yIGNvbW1lcmNpYWwgbmF2aWdhdGlvbiBzZXJ2aWNlcyBhcmUgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50OiDigJQgICAgICAgICAgQXV0aG9yaXplZCBhbmQgYXV0aGVudGljYXRlZCBhY2Nlc3Mgb2YgdXNlcnMgYW5kIHNlcnZpY2VzLCBpbmNsdWRpbmcgc2VjdXJpdHk7IOKAlCAgICAgICAgICBQYXltZW50OyDigJQgICAgICAgICAgUHJlcGFyYXRpb24gb2YgaW5kb29yIGRhdGEgd2hpY2ggYXJlIG5lY2Vzc2FyeSBmb3IgaW5kb29yIG5hdmlnYXRpb247IOKAlCAgICAgICAgICBEZXRhaWxlZCBkYXRhIGZvcm1hdHMgZm9yIGluZG9vciBuYXZpZ2F0aW9uIGRhdGEsIGluY2x1ZGluZyBpbmRvb3IgbWFwcyBhbmQgaW5kb29yIHBvc2l0aW9uaW5nIHJlZmVyZW5jZXMgKHRoZXNlIGZvcm0gYSBwYXJ0IG9mIDxlbT5JU088L2VtPiAxNzQzOC0yWzFdIGFuZCA8ZW0+SVNPPC9lbT4gMTc0MzgtM1syXSk7IOKAlCAgICAgICAgICBIb3cgdG8gdHJhbnNmZXIgYW5kIHNoYXJlIGRhdGEgcmVxdWlyZWQgZm9yIGluZG9vciBuYXZpZ2F0aW9uIGJldHdlZW4gYSByb2Fkc2lkZSBJVFMgc3RhdGlvbiBhbmQgYSBjZW50cmFsIElUUyBzdGF0aW9uLCBpLmUuIGxvdy1sZXZlbCBjb21tdW5pY2F0aW9uIHByb3RvY29sczsg4oCUICAgICAgICAgIE90aGVyIGlzc3VlcyBkZXBlbmRlbnQgb24gaW1wbGVtZW50YXRpb24gb2YgYW4gaW5zdGFuY2Ugb2YgaW5kb29yIG5hdmlnYXRpb24sIGUuZy4gaW5kb29yLW91dGRvb3Igc2VhbWxlc3MgbmF2aWdhdGlvbi4gVGhpcyBkb2N1bWVudCB1c2VzIHRoZSBYTUwgYW5kIERhdGEgZVhjaGFuZ2UgTWVzc2FnZSAoRFhNKSBmb3JtYXQgZGVmaW5lZCBpbiA8ZW0+SVNPPC9lbT4gPGVtPjEzMTwvZW0+ODQtMiB0byBlbmNvZGUgZGVmaW5lZCBtZXNzYWdlcy4gWzFdIFVuZGVyIGRldmVsb3BtZW50LiBDdXJyZW50IHN0YWdlIDAuMDAuIFsyXSBVbmRlciBkZXZlbG9wbWVudC4gQ3VycmVudCBzdGFnZSAwLjAwLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNy8yMy83MjM3MyIsInV1aWQiOiI1MWFhYjQ1OS0zYTY1LTQwMWMtYmNiZi1mOGNkNmQ2ODUxYjkiLCJ0aXRsZSI6IklTTyAyMjAxNzoyMDIwIFdhdGVyIHF1YWxpdHkg4oCUIEd1aWRhbmNlIGZvciByYXBpZCByYWRpb2FjdGl2aXR5IG1lYXN1cmVtZW50cyBpbiBudWNsZWFyIG9yIHJhZGlvbG9naWNhbCBlbWVyZ2VuY3kgc2l0dWF0aW9uIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiVGhpcyBkb2N1bWVudCBwcm92aWRlcyBndWlkZWxpbmVzIGZvciB0ZXN0aW5nIGxhYm9yYXRvcmllcyB3YW50aW5nIHRvIHVzZSByYXBpZCB0ZXN0IG1ldGhvZHMgb24gd2F0ZXIgc2FtcGxlcyB0aGF0IG1heSBiZSBjb250YW1pbmF0ZWQgZm9sbG93aW5nIGEgbnVjbGVhciBvciByYWRpb2xvZ2ljYWwgZW1lcmdlbmN5IGluY2lkZW50LiBJbiBhbiBlbWVyZ2VuY3kgc2l0dWF0aW9uLCBjb25zaWRlcmF0aW9uIHNob3VsZCBiZSBnaXZlbiB0bzog4oCUICAgICB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzcGVjaWZpYyBjb250ZXh0IGZvciB0aGUgdGVzdHMgdG8gYmUgcGVyZm9ybWVkLCBlLmcuIGEgcG90ZW50aWFsbHkgaGlnaCBsZXZlbCBvZiBjb250YW1pbmF0aW9uOyDigJQgICAgIHVzaW5nIG9yIGFkanVzdGluZywgd2hlbiBwb3NzaWJsZSwgcmFkaW9hY3Rpdml0eSB0ZXN0IG1ldGhvZHMgaW1wbGVtZW50ZWQgZHVyaW5nIHJvdXRpbmUgc2l0dWF0aW9ucyB0byBvYnRhaW4gYSByZXN1bHQgcmFwaWRseSBvciwgZm9yIHRlc3RzIG5vdCBwZXJmb3JtZWQgcm91dGluZWx5LCBhcHBseWluZyBzcGVjaWZpYyByYXBpZCB0ZXN0IG1ldGhvZHMgcHJldmlvdXNseSB2YWxpZGF0ZWQgYnkgdGhlIGxhYm9yYXRvcnksIGUuZy4gZm9yIDg5IFNyIGRldGVybWluYXRpb247IOKAlCAgICAgcHJlcGFyaW5nIHRoZSB0ZXN0IGxhYm9yYXRvcnkgdG8gbWVhc3VyZSBhIGxhcmdlIG51bWJlciBvZiBwb3RlbnRpYWxseSBjb250YW1pbmF0ZWQgc2FtcGxlcy4gVGhlIGFpbSBvZiB0aGlzIGRvY3VtZW50IGlzIHRvIGVuc3VyZSBkZWNpc2lvbiBtYWtlcnMgaGF2ZSByZWxpYWJsZSByZXN1bHRzIG5lZWRlZCB0byB0YWtlIGFjdGlvbnMgcXVpY2tseSBhbmQgbWluaW1pemUgdGhlIHJhZGlhdGlvbiBkb3NlIHRvIHRoZSBwdWJsaWMuIE1lYXN1cmVtZW50cyBhcmUgcGVyZm9ybWVkIGluIG9yZGVyIHRvIG1pbmltaXplIHRoZSByaXNrIHRvIHRoZSBwdWJsaWMgYnkgY2hlY2tpbmcgdGhlIHF1YWxpdHkgb2Ygd2F0ZXIgc3VwcGxpZXMuIEZvciBlbWVyZ2VuY3kgc2l0dWF0aW9ucywgdGVzdCByZXN1bHRzIGFyZSBvZnRlbiBjb21wYXJlZCB0byBvcGVyYXRpb25hbCBpbnRlcnZlbnRpb24gbGV2ZWxzLiBOT1RFICAgIE9wZXJhdGlvbmFsIGludGVydmVudGlvbiBsZXZlbHMgKE9JTHMpIGFyZSBkZXJpdmVkIGZyb20gSUFFQSBTYWZldHkgU3RhbmRhcmRzIFs4XSBvciBuYXRpb25hbCBhdXRob3JpdGllcyBbOV0gLiBBIGtleSBlbGVtZW50IG9mIHJhcGlkIGFuYWx5c2lzIGNhbiBiZSB0aGUgdXNlIG9mIHJvdXRpbmUgbWV0aG9kcyBidXQgd2l0aCBhIHJlZHVjZWQgdHVybmFyb3VuZCB0aW1lLiBUaGUgZ29hbCBvZiB0aGVzZSByYXBpZCBtZWFzdXJlbWVudHMgaXMgb2Z0ZW4gdG8gY2hlY2sgZm9yIHVudXN1YWwgcmFkaW9hY3Rpdml0eSBsZXZlbHMgaW4gdGhlIHRlc3Qgc2FtcGxlLCB0byBpZGVudGlmeSB0aGUgcmFkaW9udWNsaWRlcyBwcmVzZW50IGFuZCB0aGVpciBhY3Rpdml0eSBjb25jZW50cmF0aW9uIGxldmVscyBhbmQgdG8gZXN0YWJsaXNoIGNvbXBsaWFuY2Ugb2YgdGhlIHdhdGVyIHdpdGggaW50ZXJ2ZW50aW9uIGxldmVscyBbMTBdWzExXVsxMl0gLiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBpbiBzdWNoIGNpcmN1bXN0YW5jZXMsIHZhbGlkYXRpb24gcGFyYW1ldGVycyBldmFsdWF0ZWQgZm9yIHJvdXRpbmUgdXNlIChlLmcuIHJlcHJvZHVjaWJpbGl0eSwgcHJlY2lzaW9uLCBldGMuKSBtYXkgbm90IGJlIGFwcGxpY2FibGUgdG8gdGhlIG1vZGlmaWVkIHJhcGlkIG1ldGhvZC4gSG93ZXZlciwgZHVlIHRvIHRoZSBjaXJjdW1zdGFuY2VzIGFyaXNpbmcgYWZ0ZXIgYW4gZW1lcmdlbmN5LCB0aGUgbW9kaWZpZWQgbWV0aG9kIG1heSBzdGlsbCBiZSBmaXQtZm9yLXB1cnBvc2UgYWx0aG91Z2ggdW5jZXJ0YWludGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIHRlc3QgcmVzdWx0cyBuZWVkIHRvIGJlIGV2YWx1YXRlZCBhbmQgbWF5IGluY3JlYXNlIGZyb20gcm91dGluZSBhbmFseXNlcy4gVGhlIGZpcnN0IHN0ZXBzIG9mIHRoZSBhbmFseXRpY2FsIGFwcHJvYWNoIGFyZSB1c3VhbGx5IHNjcmVlbmluZyBtZXRob2RzIGJhc2VkIG9uIGdyb3NzIGFscGhhIGFuZCBncm9zcyBiZXRhIHRlc3QgbWV0aG9kcyAoYWRhcHRhdGlvbiBvZiBJU08gMTA3MDQgYW5kIElTTyAxMTcwNCkgYW5kIGdhbW1hIHNwZWN0cm9tZXRyeSAoYWRhcHRhdGlvbiBvZiBJU08gMjAwNDIsIElTTyAxMDcwMyBhbmQgSVNPIDE5NTgxKS4gVGhlbiwgaWYgcmVxdWlyZWQgWzEzXSAsIHRlc3QgbWV0aG9kIHN0YW5kYXJkcyBmb3Igc3BlY2lmaWMgcmFkaW9udWNsaWRlcyAoc2VlIENsYXVzZSAyKSBhcmUgYWRhcHRlZCBhbmQgYXBwbGllZCAoZm9yIGV4YW1wbGUsIDkwIFNyIG1lYXN1cmVtZW50IGFjY29yZGluZyB0byBJU08gMTMxNjApIGFzIHByb3Bvc2VkIGluIEFubmV4IEEuIFRoaXMgZG9jdW1lbnQgcmVmZXJzIHRvIHB1Ymxpc2hlZCBJU08gZG9jdW1lbnRzLiBXaGVuIGFwcHJvcHJpYXRlLCB0aGlzIGRvY3VtZW50IGFsc28gcmVmZXJzIHRvIG5hdGlvbmFsIHN0YW5kYXJkcyBvciBvdGhlciBwdWJsaWNseSBhdmFpbGFibGUgZG9jdW1lbnRzLiBTY3JlZW5pbmcgdGVjaG5pcXVlcyB0aGF0IGNhbiBiZSBjYXJyaWVkIG91dCBkaXJlY3RseSBpbiB0aGUgZmllbGQgYXJlIG5vdCBwYXJ0IG9mIHRoaXMgZG9jdW1lbnQuICIsIm9iamVjdElEIjoiNzIzNzNfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4gMjIwMTc6MjAyMCBXYXRlciBxdWFsaXR5IOKAlCBHdWlkYW5jZSBmb3IgcmFwaWQgcmFkaW9hY3Rpdml0eSBtZWFzdXJlbWVudHMgaW4gbnVjbGVhciBvciByYWRpb2xvZ2ljYWwgZW1lcmdlbmN5IHNpdHVhdGlvbiIsIm1hdGNoTGV2ZWwiOiJwYXJ0aWFsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iXX0sInRleHQiOnsidmFsdWUiOiJUaGlzIGRvY3VtZW50IHByb3ZpZGVzIGd1aWRlbGluZXMgZm9yIHRlc3RpbmcgbGFib3JhdG9yaWVzIHdhbnRpbmcgdG8gdXNlIHJhcGlkIHRlc3QgbWV0aG9kcyBvbiB3YXRlciBzYW1wbGVzIHRoYXQgbWF5IGJlIGNvbnRhbWluYXRlZCBmb2xsb3dpbmcgYSBudWNsZWFyIG9yIHJhZGlvbG9naWNhbCBlbWVyZ2VuY3kgaW5jaWRlbnQuIEluIGFuIGVtZXJnZW5jeSBzaXR1YXRpb24sIGNvbnNpZGVyYXRpb24gc2hvdWxkIGJlIGdpdmVuIHRvOiDigJQgICAgIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHNwZWNpZmljIGNvbnRleHQgZm9yIHRoZSB0ZXN0cyB0byBiZSBwZXJmb3JtZWQsIGUuZy4gYSBwb3RlbnRpYWxseSBoaWdoIGxldmVsIG9mIGNvbnRhbWluYXRpb247IOKAlCAgICAgdXNpbmcgb3IgYWRqdXN0aW5nLCB3aGVuIHBvc3NpYmxlLCByYWRpb2FjdGl2aXR5IHRlc3QgbWV0aG9kcyBpbXBsZW1lbnRlZCBkdXJpbmcgcm91dGluZSBzaXR1YXRpb25zIHRvIG9idGFpbiBhIHJlc3VsdCByYXBpZGx5IG9yLCBmb3IgdGVzdHMgbm90IHBlcmZvcm1lZCByb3V0aW5lbHksIGFwcGx5aW5nIHNwZWNpZmljIHJhcGlkIHRlc3QgbWV0aG9kcyBwcmV2aW91c2x5IHZhbGlkYXRlZCBieSB0aGUgbGFib3JhdG9yeSwgZS5nLiBmb3IgODkgU3IgZGV0ZXJtaW5hdGlvbjsg4oCUICAgICBwcmVwYXJpbmcgdGhlIHRlc3QgbGFib3JhdG9yeSB0byBtZWFzdXJlIGEgbGFyZ2UgbnVtYmVyIG9mIHBvdGVudGlhbGx5IGNvbnRhbWluYXRlZCBzYW1wbGVzLiBUaGUgYWltIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gZW5zdXJlIGRlY2lzaW9uIG1ha2VycyBoYXZlIHJlbGlhYmxlIHJlc3VsdHMgbmVlZGVkIHRvIHRha2UgYWN0aW9ucyBxdWlja2x5IGFuZCBtaW5pbWl6ZSB0aGUgcmFkaWF0aW9uIGRvc2UgdG8gdGhlIHB1YmxpYy4gTWVhc3VyZW1lbnRzIGFyZSBwZXJmb3JtZWQgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhlIHJpc2sgdG8gdGhlIHB1YmxpYyBieSBjaGVja2luZyB0aGUgcXVhbGl0eSBvZiB3YXRlciBzdXBwbGllcy4gRm9yIGVtZXJnZW5jeSBzaXR1YXRpb25zLCB0ZXN0IHJlc3VsdHMgYXJlIG9mdGVuIGNvbXBhcmVkIHRvIG9wZXJhdGlvbmFsIGludGVydmVudGlvbiBsZXZlbHMuIE5PVEUgICAgT3BlcmF0aW9uYWwgaW50ZXJ2ZW50aW9uIGxldmVscyAoT0lMcykgYXJlIGRlcml2ZWQgZnJvbSBJQUVBIFNhZmV0eSBTdGFuZGFyZHMgWzhdIG9yIG5hdGlvbmFsIGF1dGhvcml0aWVzIFs5XSAuIEEga2V5IGVsZW1lbnQgb2YgcmFwaWQgYW5hbHlzaXMgY2FuIGJlIHRoZSB1c2Ugb2Ygcm91dGluZSBtZXRob2RzIGJ1dCB3aXRoIGEgcmVkdWNlZCB0dXJuYXJvdW5kIHRpbWUuIFRoZSBnb2FsIG9mIHRoZXNlIHJhcGlkIG1lYXN1cmVtZW50cyBpcyBvZnRlbiB0byBjaGVjayBmb3IgdW51c3VhbCByYWRpb2FjdGl2aXR5IGxldmVscyBpbiB0aGUgdGVzdCBzYW1wbGUsIHRvIGlkZW50aWZ5IHRoZSByYWRpb251Y2xpZGVzIHByZXNlbnQgYW5kIHRoZWlyIGFjdGl2aXR5IGNvbmNlbnRyYXRpb24gbGV2ZWxzIGFuZCB0byBlc3RhYmxpc2ggY29tcGxpYW5jZSBvZiB0aGUgd2F0ZXIgd2l0aCBpbnRlcnZlbnRpb24gbGV2ZWxzIFsxMF1bMTFdWzEyXSAuIEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IGluIHN1Y2ggY2lyY3Vtc3RhbmNlcywgdmFsaWRhdGlvbiBwYXJhbWV0ZXJzIGV2YWx1YXRlZCBmb3Igcm91dGluZSB1c2UgKGUuZy4gcmVwcm9kdWNpYmlsaXR5LCBwcmVjaXNpb24sIGV0Yy4pIG1heSBub3QgYmUgYXBwbGljYWJsZSB0byB0aGUgbW9kaWZpZWQgcmFwaWQgbWV0aG9kLiBIb3dldmVyLCBkdWUgdG8gdGhlIGNpcmN1bXN0YW5jZXMgYXJpc2luZyBhZnRlciBhbiBlbWVyZ2VuY3ksIHRoZSBtb2RpZmllZCBtZXRob2QgbWF5IHN0aWxsIGJlIGZpdC1mb3ItcHVycG9zZSBhbHRob3VnaCB1bmNlcnRhaW50aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVzdCByZXN1bHRzIG5lZWQgdG8gYmUgZXZhbHVhdGVkIGFuZCBtYXkgaW5jcmVhc2UgZnJvbSByb3V0aW5lIGFuYWx5c2VzLiBUaGUgZmlyc3Qgc3RlcHMgb2YgdGhlIGFuYWx5dGljYWwgYXBwcm9hY2ggYXJlIHVzdWFsbHkgc2NyZWVuaW5nIG1ldGhvZHMgYmFzZWQgb24gZ3Jvc3MgYWxwaGEgYW5kIGdyb3NzIGJldGEgdGVzdCBtZXRob2RzIChhZGFwdGF0aW9uIG9mIDxlbT5JU088L2VtPiAxMDcwNCBhbmQgPGVtPklTTzwvZW0+IDExNzA0KSBhbmQgZ2FtbWEgc3BlY3Ryb21ldHJ5IChhZGFwdGF0aW9uIG9mIDxlbT5JU088L2VtPiAyMDA0MiwgPGVtPklTTzwvZW0+IDEwNzAzIGFuZCA8ZW0+SVNPPC9lbT4gMTk1ODEpLiBUaGVuLCBpZiByZXF1aXJlZCBbMTNdICwgdGVzdCBtZXRob2Qgc3RhbmRhcmRzIGZvciBzcGVjaWZpYyByYWRpb251Y2xpZGVzIChzZWUgQ2xhdXNlIDIpIGFyZSBhZGFwdGVkIGFuZCBhcHBsaWVkIChmb3IgZXhhbXBsZSwgOTAgU3IgbWVhc3VyZW1lbnQgYWNjb3JkaW5nIHRvIDxlbT5JU088L2VtPiA8ZW0+MTMxPC9lbT42MCkgYXMgcHJvcG9zZWQgaW4gQW5uZXggQS4gVGhpcyBkb2N1bWVudCByZWZlcnMgdG8gcHVibGlzaGVkIDxlbT5JU088L2VtPiBkb2N1bWVudHMuIFdoZW4gYXBwcm9wcmlhdGUsIHRoaXMgZG9jdW1lbnQgYWxzbyByZWZlcnMgdG8gbmF0aW9uYWwgc3RhbmRhcmRzIG9yIG90aGVyIHB1YmxpY2x5IGF2YWlsYWJsZSBkb2N1bWVudHMuIFNjcmVlbmluZyB0ZWNobmlxdWVzIHRoYXQgY2FuIGJlIGNhcnJpZWQgb3V0IGRpcmVjdGx5IGluIHRoZSBmaWVsZCBhcmUgbm90IHBhcnQgb2YgdGhpcyBkb2N1bWVudC4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDAvMDAvNDYiLCJ1dWlkIjoiNDFlN2VlOTEtNDBmYy00ZTkzLTg5MzMtYTZhMzNlY2Y4MTg3IiwidGl0bGUiOiJJU08vUiAxMzE6MTk1OSBUaXRsZSBtaXNzaW5nIC0gTGVnYWN5IHBhcGVyIGRvY3VtZW50Iiwic3RhdHVzIjoiV2l0aGRyYXduIiwieWVhciI6MTk2NCwib3JkZXIiOjEwMCwib2JqZWN0SUQiOiI0Nl8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9SIDxlbT4xMzE8L2VtPjoxOTU5IFRpdGxlIG1pc3NpbmcgLSBMZWdhY3kgcGFwZXIgZG9jdW1lbnQiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS83OS81Nzk1NCIsInV1aWQiOiI4YmZkNzUwMy1iODk3LTRmMWItYjg2OC0yZmUzNmFmNzFjM2EiLCJ0aXRsZSI6IklTTy9JRUMgMTMxNTY6MjAxMSBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgSGlnaCByYXRlIDYwIEdIeiBQSFksIE1BQyBhbmQgUEFMcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTy9JRUMgMTMxNTY6MjAxMSBzcGVjaWZpZXMgYSBwaHlzaWNhbCBsYXllciAoUEhZKSwgZGlzdHJpYnV0ZWQgbWVkaXVtIGFjY2VzcyBjb250cm9sIChNQUMpIHN1YmxheWVyLCBhbmQgYW4gSERNSSBwcm90b2NvbCBhZGFwdGF0aW9uIGxheWVyIChQQUwpIGZvciA2MCBHSHogd2lyZWxlc3MgbmV0d29ya3MuICIsIm9iamVjdElEIjoiNTc5NTRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU2OjIwMTEgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIEhpZ2ggcmF0ZSA2MCBHSHogUEhZLCBNQUMgYW5kIFBBTHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41NjoyMDExIHNwZWNpZmllcyBhIHBoeXNpY2FsIGxheWVyIChQSFkpLCBkaXN0cmlidXRlZCBtZWRpdW0gYWNjZXNzIGNvbnRyb2wgKE1BQykgc3VibGF5ZXIsIGFuZCBhbiBIRE1JIHByb3RvY29sIGFkYXB0YXRpb24gbGF5ZXIgKFBBTCkgZm9yIDYwIEdIeiB3aXJlbGVzcyBuZXR3b3Jrcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzMvNTMzMjgiLCJ1dWlkIjoiZDgwZmFlYTAtZmQ3Ni00MjFjLWI0ZmQtOTQ0ZTY1MmU2ZDI5IiwidGl0bGUiOiJJU08vVFMgMTMxMzY6MjAxMiBNaWNyb2Jpb2xvZ3kgb2YgZm9vZCBhbmQgYW5pbWFsIGZlZWQg4oCUIFJlYWwtdGltZSBwb2x5bWVyYXNlIGNoYWluIHJlYWN0aW9uIChQQ1IpLWJhc2VkIG1ldGhvZCBmb3IgdGhlIGRldGVjdGlvbiBvZiBmb29kLWJvcm5lIHBhdGhvZ2VucyDigJQgSG9yaXpvbnRhbCBtZXRob2QgZm9yIHRoZSBkZXRlY3Rpb24gb2YgU2hpZ2EgdG94aW4tcHJvZHVjaW5nIEVzY2hlcmljaGlhIGNvbGkgKFNURUMpIGFuZCB0aGUgZGV0ZXJtaW5hdGlvbiBvZiBPMTU3LCBPMTExLCBPMjYsIE8xMDMgYW5kIE8xNDUgc2Vyb2dyb3VwcyIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMjIsIm9yZGVyIjoxMSwidGV4dCI6IklTTy9UUiAxMzEzNjoyMDEyIGRlc2NyaWJlcyB0aGUgaWRlbnRpZmljYXRpb24gb2YgU2hpZ2EgdG94aW4tcHJvZHVjaW5nIEVzY2hlcmljaGlhIGNvbGkgKFNURUMpIGJ5IG1lYW5zIG9mIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGZvbGxvd2luZyBnZW5lczogYSkgdGhlIG1ham9yIHZpcnVsZW5jZSBnZW5lcyBvZiBTVEVDLCBzdHggYW5kIGVhZSA7IGIpIHRoZSBnZW5lcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNlcm9ncm91cHMgTzE1NywgTzExMSwgTzI2LCBPMTAzLCBhbmQgTzE0NS4gSW4gYW55IGNhc2UsIHdoZW4gb25lIG9yIGJvdGggb2YgdGhlIHN0eCBnZW5lcyBpcy9hcmUgZGV0ZWN0ZWQsIHRoZSBpc29sYXRpb24gb2YgdGhlIHN0cmFpbiBpcyBhdHRlbXB0ZWQuIFRoZSBpc29sYXRpb24gb2YgU1RFQyBmcm9tIHNhbXBsZXMgcG9zaXRpdmUgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgZ2VuZXMgc3BlY2lmeWluZyB0aGUgc2Vyb2dyb3VwcyBpbiB0aGUgc2NvcGUgb2YgdGhpcyBtZXRob2QgY2FuIGJlIGZhY2lsaXRhdGVkIGJ5IHVzaW5nIHNlcm9ncm91cC1zcGVjaWZpYyBlbnJpY2htZW50IHRlY2huaXF1ZXMgKGUuZy4gaW1tdW5vbWFnbmV0aWMgc2VwYXJhdGlvbiwgSU1TKS4gVGhlIHByb3RvY29sIHVzZXMgcmVhbC10aW1lIFBDUiBhcyB0aGUgcmVmZXJlbmNlIHRlY2hub2xvZ3kgZm9yIGRldGVjdGlvbiBvZiB0aGUgdmlydWxlbmNlIGFuZCBzZXJvZ3JvdXAtYXNzb2NpYXRlZCBnZW5lcy4gSVNPL1RSIDEzMTM2OjIwMTIgaXMgYXBwbGljYWJsZSB0bzogMSkgcHJvZHVjdHMgaW50ZW5kZWQgZm9yIGh1bWFuIGNvbnN1bXB0aW9uIGFuZCB0aGUgZmVlZGluZyBvZiBhbmltYWxzOyAyKSBlbnZpcm9ubWVudGFsIHNhbXBsZXMgaW4gdGhlIGFyZWEgb2YgZm9vZCBwcm9kdWN0aW9uIGFuZCBmb29kIGhhbmRsaW5nOyAzKSBlbnZpcm9ubWVudGFsIHNhbXBsZXMgaW4gdGhlIGFyZWEgb2YgcHJpbWFyeSBwcm9kdWN0aW9uLiAiLCJvYmplY3RJRCI6IjUzMzI4XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RTIDxlbT4xMzE8L2VtPjM2OjIwMTIgTWljcm9iaW9sb2d5IG9mIGZvb2QgYW5kIGFuaW1hbCBmZWVkIOKAlCBSZWFsLXRpbWUgcG9seW1lcmFzZSBjaGFpbiByZWFjdGlvbiAoUENSKS1iYXNlZCBtZXRob2QgZm9yIHRoZSBkZXRlY3Rpb24gb2YgZm9vZC1ib3JuZSBwYXRob2dlbnMg4oCUIEhvcml6b250YWwgbWV0aG9kIGZvciB0aGUgZGV0ZWN0aW9uIG9mIFNoaWdhIHRveGluLXByb2R1Y2luZyBFc2NoZXJpY2hpYSBjb2xpIChTVEVDKSBhbmQgdGhlIGRldGVybWluYXRpb24gb2YgTzE1NywgTzExMSwgTzI2LCBPMTAzIGFuZCBPMTQ1IHNlcm9ncm91cHMiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjM2OjIwMTIgZGVzY3JpYmVzIHRoZSBpZGVudGlmaWNhdGlvbiBvZiBTaGlnYSB0b3hpbi1wcm9kdWNpbmcgRXNjaGVyaWNoaWEgY29saSAoU1RFQykgYnkgbWVhbnMgb2YgdGhlIGRldGVjdGlvbiBvZiB0aGUgZm9sbG93aW5nIGdlbmVzOiBhKSB0aGUgbWFqb3IgdmlydWxlbmNlIGdlbmVzIG9mIFNURUMsIHN0eCBhbmQgZWFlIDsgYikgdGhlIGdlbmVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2Vyb2dyb3VwcyBPMTU3LCBPMTExLCBPMjYsIE8xMDMsIGFuZCBPMTQ1LiBJbiBhbnkgY2FzZSwgd2hlbiBvbmUgb3IgYm90aCBvZiB0aGUgc3R4IGdlbmVzIGlzL2FyZSBkZXRlY3RlZCwgdGhlIGlzb2xhdGlvbiBvZiB0aGUgc3RyYWluIGlzIGF0dGVtcHRlZC4gVGhlIGlzb2xhdGlvbiBvZiBTVEVDIGZyb20gc2FtcGxlcyBwb3NpdGl2ZSBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBnZW5lcyBzcGVjaWZ5aW5nIHRoZSBzZXJvZ3JvdXBzIGluIHRoZSBzY29wZSBvZiB0aGlzIG1ldGhvZCBjYW4gYmUgZmFjaWxpdGF0ZWQgYnkgdXNpbmcgc2Vyb2dyb3VwLXNwZWNpZmljIGVucmljaG1lbnQgdGVjaG5pcXVlcyAoZS5nLiBpbW11bm9tYWduZXRpYyBzZXBhcmF0aW9uLCBJTVMpLiBUaGUgcHJvdG9jb2wgdXNlcyByZWFsLXRpbWUgUENSIGFzIHRoZSByZWZlcmVuY2UgdGVjaG5vbG9neSBmb3IgZGV0ZWN0aW9uIG9mIHRoZSB2aXJ1bGVuY2UgYW5kIHNlcm9ncm91cC1hc3NvY2lhdGVkIGdlbmVzLiA8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+MzY6MjAxMiBpcyBhcHBsaWNhYmxlIHRvOiAxKSBwcm9kdWN0cyBpbnRlbmRlZCBmb3IgaHVtYW4gY29uc3VtcHRpb24gYW5kIHRoZSBmZWVkaW5nIG9mIGFuaW1hbHM7IDIpIGVudmlyb25tZW50YWwgc2FtcGxlcyBpbiB0aGUgYXJlYSBvZiBmb29kIHByb2R1Y3Rpb24gYW5kIGZvb2QgaGFuZGxpbmc7IDMpIGVudmlyb25tZW50YWwgc2FtcGxlcyBpbiB0aGUgYXJlYSBvZiBwcmltYXJ5IHByb2R1Y3Rpb24uICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzkzLzY5MzQ0IiwidXVpZCI6ImNlZjZiZWI3LTcxZDktNDViYi04MWU3LTRhZmM5NTdiZDc1OSIsInRpdGxlIjoiSVNPL0lFQyAxMzE1Ny01OjIwMTYgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCA1OiBORkMtU0VDIGVudGl0eSBhdXRoZW50aWNhdGlvbiBhbmQga2V5IGFncmVlbWVudCB1c2luZyBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny01OjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIGZvciBQSUQgMDQuIElTTy9JRUMgMTMxNTctNToyMDE2IHNwZWNpZmllcyBrZXkgYWdyZWVtZW50IGFuZCBjb25maXJtYXRpb24gbWVjaGFuaXNtcyBwcm92aWRpbmcgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLCB1c2luZyBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5LiBJU08vSUVDIDEzMTU3LTU6MjAxNiBhZGRzIGVudGl0eSBhdXRoZW50aWNhdGlvbiB0byB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgSVNPL0lFQyAxMzE1Ny0zIChFQ01B4oCRNDA5KSBORkMtU0VDLTAyLiAiLCJvYmplY3RJRCI6IjY5MzQ0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny01OjIwMTYgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCA1OiBORkMtU0VDIGVudGl0eSBhdXRoZW50aWNhdGlvbiBhbmQga2V5IGFncmVlbWVudCB1c2luZyBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5IiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNToyMDE2IHNwZWNpZmllcyB0aGUgbWVzc2FnZSBjb250ZW50cyBhbmQgdGhlIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyBmb3IgUElEIDA0LiA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTU6MjAxNiBzcGVjaWZpZXMga2V5IGFncmVlbWVudCBhbmQgY29uZmlybWF0aW9uIG1lY2hhbmlzbXMgcHJvdmlkaW5nIG11dHVhbCBhdXRoZW50aWNhdGlvbiwgdXNpbmcgc3ltbWV0cmljIGNyeXB0b2dyYXBoeS4gPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny01OjIwMTYgYWRkcyBlbnRpdHkgYXV0aGVudGljYXRpb24gdG8gdGhlIHNlcnZpY2VzIHByb3ZpZGVkIGJ5IDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMyAoRUNNQeKAkTQwOSkgTkZDLVNFQy0wMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvOTMvNjkzNDMiLCJ1dWlkIjoiODZiYzQyNGYtZjY1My00MWI4LWIyNTItMjI5NGJiMWUxOTdhIiwidGl0bGUiOiJJU08vSUVDIDEzMTU3LTQ6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDQ6IE5GQy1TRUMgZW50aXR5IGF1dGhlbnRpY2F0aW9uIGFuZCBrZXkgYWdyZWVtZW50IHVzaW5nIGFzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5Iiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny00OjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIGZvciBQSUQgMDMuIElTTy9JRUMgMTMxNTctNDoyMDE2IHNwZWNpZmllcyBrZXkgYWdyZWVtZW50IGFuZCBjb25maXJtYXRpb24gbWVjaGFuaXNtcyBwcm92aWRpbmcgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLCB1c2luZyBhc3ltbWV0cmljIGNyeXB0b2dyYXBoeSwgYW5kIHRoZSB0cmFuc3BvcnQgcHJvdG9jb2wgcmVxdWlyZW1lbnRzIGZvciB0aGUgZXhjaGFuZ2UgYmV0d2VlbiBTZW5kZXIgYW5kIFRUUC4gTk9URSBJU08vSUVDIDEzMTU3LTQ6MjAxNiBhZGRzIGVudGl0eSBhdXRoZW50aWNhdGlvbiB0byB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgSVNPL0lFQyAxMzE1Ny0zIChFQ01BLTQwOSkgTkZDLVNFQy0wMi4gIiwib2JqZWN0SUQiOiI2OTM0M18wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNDoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgNDogTkZDLVNFQyBlbnRpdHkgYXV0aGVudGljYXRpb24gYW5kIGtleSBhZ3JlZW1lbnQgdXNpbmcgYXN5bW1ldHJpYyBjcnlwdG9ncmFwaHkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny00OjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIGZvciBQSUQgMDMuIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctNDoyMDE2IHNwZWNpZmllcyBrZXkgYWdyZWVtZW50IGFuZCBjb25maXJtYXRpb24gbWVjaGFuaXNtcyBwcm92aWRpbmcgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLCB1c2luZyBhc3ltbWV0cmljIGNyeXB0b2dyYXBoeSwgYW5kIHRoZSB0cmFuc3BvcnQgcHJvdG9jb2wgcmVxdWlyZW1lbnRzIGZvciB0aGUgZXhjaGFuZ2UgYmV0d2VlbiBTZW5kZXIgYW5kIFRUUC4gTk9URSA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTQ6MjAxNiBhZGRzIGVudGl0eSBhdXRoZW50aWNhdGlvbiB0byB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0zIChFQ01BLTQwOSkgTkZDLVNFQy0wMi4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDYvOTMvNjkzNDIiLCJ1dWlkIjoiOTBmZjU1MGYtZjc4My00YTgzLWE2YmQtMzhiYTBjYTg0ODZkIiwidGl0bGUiOiJJU08vSUVDIDEzMTU3LTM6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDM6IE5GQy1TRUMgY3J5cHRvZ3JhcGh5IHN0YW5kYXJkIHVzaW5nIEVDREgtMjU2IGFuZCBBRVMtR0NNIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny0zOjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZXRob2RzIGZvciBQSUQgMDIuIEl0IHNwZWNpZmllcyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgdGhhdCB1c2UgdGhlIEVsbGlwdGljIEN1cnZlcyBEaWZmaWUtSGVsbG1hbiAoRUNESCkgcHJvdG9jb2wgd2l0aCBhIGtleSBsZW5ndGggb2YgMjU2IGJpdHMgZm9yIGtleSBhZ3JlZW1lbnQgYW5kIHRoZSBBRVMgYWxnb3JpdGhtIGluIEdDTSBtb2RlIHRvIHByb3ZpZGUgZGF0YSBhdXRoZW50aWNhdGVkIGVuY3J5cHRpb24uICIsIm9iamVjdElEIjoiNjkzNDJfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTM6MjAxNiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyDigJQgTkZDIFNlY3VyaXR5IOKAlCBQYXJ0IDM6IE5GQy1TRUMgY3J5cHRvZ3JhcGh5IHN0YW5kYXJkIHVzaW5nIEVDREgtMjU2IGFuZCBBRVMtR0NNIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMzoyMDE2IHNwZWNpZmllcyB0aGUgbWVzc2FnZSBjb250ZW50cyBhbmQgdGhlIGNyeXB0b2dyYXBoaWMgbWV0aG9kcyBmb3IgUElEIDAyLiBJdCBzcGVjaWZpZXMgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIHRoYXQgdXNlIHRoZSBFbGxpcHRpYyBDdXJ2ZXMgRGlmZmllLUhlbGxtYW4gKEVDREgpIHByb3RvY29sIHdpdGggYSBrZXkgbGVuZ3RoIG9mIDI1NiBiaXRzIGZvciBrZXkgYWdyZWVtZW50IGFuZCB0aGUgQUVTIGFsZ29yaXRobSBpbiBHQ00gbW9kZSB0byBwcm92aWRlIGRhdGEgYXV0aGVudGljYXRlZCBlbmNyeXB0aW9uLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85My82OTMyOCIsInV1aWQiOiJjNTBkMTRkZi1hNjc5LTRkNzctOTlmYy1hOGIyZTJjMmVlZjYiLCJ0aXRsZSI6IklTTy9JRUMgMTMxNTctMjoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgMjogTkZDLVNFQyBjcnlwdG9ncmFwaHkgc3RhbmRhcmQgdXNpbmcgRUNESCBhbmQgQUVTIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny0yOjIwMTYgc3BlY2lmaWVzIHRoZSBtZXNzYWdlIGNvbnRlbnRzIGFuZCB0aGUgY3J5cHRvZ3JhcGhpYyBtZXRob2RzIGZvciBQSUQgMDEuIElTTy9JRUMgMTMxNTctMjoyMDE2IHNwZWNpZmllcyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgdGhhdCB1c2UgdGhlIEVsbGlwdGljIEN1cnZlcyBEaWZmaWUtSGVsbG1hbiAoRUNESCkgcHJvdG9jb2wgZm9yIGtleSBhZ3JlZW1lbnQgYW5kIHRoZSBBRVMgYWxnb3JpdGhtIGZvciBkYXRhIGVuY3J5cHRpb24gYW5kIGludGVncml0eS4gIiwib2JqZWN0SUQiOiI2OTMyOF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMjoyMDE2IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIOKAlCBORkMgU2VjdXJpdHkg4oCUIFBhcnQgMjogTkZDLVNFQyBjcnlwdG9ncmFwaHkgc3RhbmRhcmQgdXNpbmcgRUNESCBhbmQgQUVTIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMjoyMDE2IHNwZWNpZmllcyB0aGUgbWVzc2FnZSBjb250ZW50cyBhbmQgdGhlIGNyeXB0b2dyYXBoaWMgbWV0aG9kcyBmb3IgUElEIDAxLiA8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjU3LTI6MjAxNiBzcGVjaWZpZXMgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIHRoYXQgdXNlIHRoZSBFbGxpcHRpYyBDdXJ2ZXMgRGlmZmllLUhlbGxtYW4gKEVDREgpIHByb3RvY29sIGZvciBrZXkgYWdyZWVtZW50IGFuZCB0aGUgQUVTIGFsZ29yaXRobSBmb3IgZGF0YSBlbmNyeXB0aW9uIGFuZCBpbnRlZ3JpdHkuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDM0IiwidXVpZCI6Ijc5NGIxNDg0LTlmNDYtNDMyZS1hY2YwLTE4MThhYjMzNGUwOSIsInRpdGxlIjoiSVNPL0lFQyAxMzE3MDoyMDA5IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIDEyMCBtbSAoOCw1NCBHYnl0ZXMgcGVyIHNpZGUpIGFuZCA4MCBtbSAoMiw2NiBHYnl0ZXMgcGVyIHNpZGUpIERWRCByZS1yZWNvcmRhYmxlIGRpc2sgZm9yIGR1YWwgbGF5ZXIgKERWRC1SVyBmb3IgREwpIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAyMCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE3MDoyMDEwIHNwZWNpZmllcyB0aGUgbWVjaGFuaWNhbCwgcGh5c2ljYWwgYW5kIG9wdGljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGEgMTIwIG1tIGFuZCBhbiA4MCBtbSBkdWFsIGxheWVyIERWRCByZS1yZWNvcmRhYmxlIGRpc2sgdG8gZW5hYmxlIHRoZSBpbnRlcmNoYW5nZSBvZiBzdWNoIGRpc2tzLiBJdCBzcGVjaWZpZXMgdGhlIHF1YWxpdHkgb2YgdGhlIGVtYm9zc2VkLCB1bnJlY29yZGVkIGFuZCB0aGUgcmVjb3JkZWQgc2lnbmFscywgdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSwgdGhlIGZvcm1hdCBvZiB0aGUgaW5mb3JtYXRpb24gem9uZSwgdGhlIGZvcm1hdCBvZiB0aGUgdW5yZWNvcmRlZCB6b25lLCBhbmQgdGhlIHJlY29yZGluZyBtZXRob2QsIHRoZXJlYnkgYWxsb3dpbmcgZm9yIGluZm9ybWF0aW9uIGludGVyY2hhbmdlIGJ5IG1lYW5zIG9mIHN1Y2ggZGlza3MuIFRoaXMgZGlzayBpcyBpZGVudGlmaWVkIGFzIGEgRFZEIHJlLXJlY29yZGFibGUgZGlzayBmb3IgZHVhbCBsYXllciAoRFZELVJXIGZvciBETCkuIElTTy9JRUMgMTMxNzA6MjAxMCBzcGVjaWZpZXM6IDEyMCBtbSBhbmQgODAgbW0gbm9taW5hbCBkaWFtZXRlciBkaXNrcyB0aGF0IG1heSBiZSBlaXRoZXIgc2luZ2xlIG9yIGRvdWJsZSBzaWRlZDsgdGhlIGNvbmRpdGlvbnMgZm9yIGNvbmZvcm1hbmNlOyB0aGUgZW52aXJvbm1lbnRzIGluIHdoaWNoIHRoZSBkaXNrIGlzIHRvIGJlIG9wZXJhdGVkIGFuZCBzdG9yZWQ7IHRoZSBtZWNoYW5pY2FsIGFuZCBwaHlzaWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGRpc2ssIHNvIGFzIHRvIHByb3ZpZGUgbWVjaGFuaWNhbCBpbnRlcmNoYW5nZSBiZXR3ZWVuIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zOyB0aGUgZm9ybWF0IG9mIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBvbiBhbiB1bnJlY29yZGVkIGRpc2ssIGluY2x1ZGluZyB0aGUgcGh5c2ljYWwgZGlzcG9zaXRpb24gb2YgdGhlIHRyYWNrcyBhbmQgc2VjdG9ycywgdGhlIGVycm9yIGNvcnJlY3RpbmcgY29kZXMgYW5kIHRoZSBjb2RpbmcgbWV0aG9kIHVzZWQ7IHRoZSBmb3JtYXQgb2YgdGhlIGRhdGEgYW5kIHRoZSByZWNvcmRlZCBpbmZvcm1hdGlvbiBvbiB0aGUgZGlzaywgaW5jbHVkaW5nIHRoZSBwaHlzaWNhbCBkaXNwb3NpdGlvbiBvZiB0aGUgdHJhY2tzIGFuZCBzZWN0b3JzLCB0aGUgZXJyb3IgY29ycmVjdGluZyBjb2RlcyBhbmQgdGhlIGNvZGluZyBtZXRob2QgdXNlZDsgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgc2lnbmFscyBmcm9tIGVtYm9zc2VkIGFuZCB1bnJlY29yZGVkIGFyZWFzIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBhbmQgdG8gd3JpdGUgdG8gdGhlIGRpc2tzOyB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBzaWduYWxzIHJlY29yZGVkIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBkYXRhIGZyb20gdGhlIGRpc2suIElTTy9JRUMgMTMxNzA6MjAxMCBwcm92aWRlcyBmb3IgaW50ZXJjaGFuZ2Ugb2YgZGlza3MgYmV0d2VlbiBkaXNrIGRyaXZlcy4gVG9nZXRoZXIgd2l0aCBhbiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGZvciB2b2x1bWUgYW5kIGZpbGUgc3RydWN0dXJlLCBpdCBwcm92aWRlcyBmb3IgZnVsbCBkYXRhIGludGVyY2hhbmdlIGJldHdlZW4gZGF0YSBwcm9jZXNzaW5nIHN5c3RlbXMuICIsIm9iamVjdElEIjoiNTM0MzRfMCIsIl9oaWdobGlnaHRSZXN1bHQiOnsidGl0bGUiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjcwOjIwMDkgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgMTIwIG1tICg4LDU0IEdieXRlcyBwZXIgc2lkZSkgYW5kIDgwIG1tICgyLDY2IEdieXRlcyBwZXIgc2lkZSkgRFZEIHJlLXJlY29yZGFibGUgZGlzayBmb3IgZHVhbCBsYXllciAoRFZELVJXIGZvciBETCkiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19LCJ0ZXh0Ijp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT43MDoyMDEwIHNwZWNpZmllcyB0aGUgbWVjaGFuaWNhbCwgcGh5c2ljYWwgYW5kIG9wdGljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGEgMTIwIG1tIGFuZCBhbiA4MCBtbSBkdWFsIGxheWVyIERWRCByZS1yZWNvcmRhYmxlIGRpc2sgdG8gZW5hYmxlIHRoZSBpbnRlcmNoYW5nZSBvZiBzdWNoIGRpc2tzLiBJdCBzcGVjaWZpZXMgdGhlIHF1YWxpdHkgb2YgdGhlIGVtYm9zc2VkLCB1bnJlY29yZGVkIGFuZCB0aGUgcmVjb3JkZWQgc2lnbmFscywgdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSwgdGhlIGZvcm1hdCBvZiB0aGUgaW5mb3JtYXRpb24gem9uZSwgdGhlIGZvcm1hdCBvZiB0aGUgdW5yZWNvcmRlZCB6b25lLCBhbmQgdGhlIHJlY29yZGluZyBtZXRob2QsIHRoZXJlYnkgYWxsb3dpbmcgZm9yIGluZm9ybWF0aW9uIGludGVyY2hhbmdlIGJ5IG1lYW5zIG9mIHN1Y2ggZGlza3MuIFRoaXMgZGlzayBpcyBpZGVudGlmaWVkIGFzIGEgRFZEIHJlLXJlY29yZGFibGUgZGlzayBmb3IgZHVhbCBsYXllciAoRFZELVJXIGZvciBETCkuIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NzA6MjAxMCBzcGVjaWZpZXM6IDEyMCBtbSBhbmQgODAgbW0gbm9taW5hbCBkaWFtZXRlciBkaXNrcyB0aGF0IG1heSBiZSBlaXRoZXIgc2luZ2xlIG9yIGRvdWJsZSBzaWRlZDsgdGhlIGNvbmRpdGlvbnMgZm9yIGNvbmZvcm1hbmNlOyB0aGUgZW52aXJvbm1lbnRzIGluIHdoaWNoIHRoZSBkaXNrIGlzIHRvIGJlIG9wZXJhdGVkIGFuZCBzdG9yZWQ7IHRoZSBtZWNoYW5pY2FsIGFuZCBwaHlzaWNhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGRpc2ssIHNvIGFzIHRvIHByb3ZpZGUgbWVjaGFuaWNhbCBpbnRlcmNoYW5nZSBiZXR3ZWVuIGRhdGEgcHJvY2Vzc2luZyBzeXN0ZW1zOyB0aGUgZm9ybWF0IG9mIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBvbiBhbiB1bnJlY29yZGVkIGRpc2ssIGluY2x1ZGluZyB0aGUgcGh5c2ljYWwgZGlzcG9zaXRpb24gb2YgdGhlIHRyYWNrcyBhbmQgc2VjdG9ycywgdGhlIGVycm9yIGNvcnJlY3RpbmcgY29kZXMgYW5kIHRoZSBjb2RpbmcgbWV0aG9kIHVzZWQ7IHRoZSBmb3JtYXQgb2YgdGhlIGRhdGEgYW5kIHRoZSByZWNvcmRlZCBpbmZvcm1hdGlvbiBvbiB0aGUgZGlzaywgaW5jbHVkaW5nIHRoZSBwaHlzaWNhbCBkaXNwb3NpdGlvbiBvZiB0aGUgdHJhY2tzIGFuZCBzZWN0b3JzLCB0aGUgZXJyb3IgY29ycmVjdGluZyBjb2RlcyBhbmQgdGhlIGNvZGluZyBtZXRob2QgdXNlZDsgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgc2lnbmFscyBmcm9tIGVtYm9zc2VkIGFuZCB1bnJlY29yZGVkIGFyZWFzIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBlbWJvc3NlZCBpbmZvcm1hdGlvbiBhbmQgdG8gd3JpdGUgdG8gdGhlIGRpc2tzOyB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBzaWduYWxzIHJlY29yZGVkIG9uIHRoZSBkaXNrLCBlbmFibGluZyBkYXRhIHByb2Nlc3Npbmcgc3lzdGVtcyB0byByZWFkIHRoZSBkYXRhIGZyb20gdGhlIGRpc2suIDxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NzA6MjAxMCBwcm92aWRlcyBmb3IgaW50ZXJjaGFuZ2Ugb2YgZGlza3MgYmV0d2VlbiBkaXNrIGRyaXZlcy4gVG9nZXRoZXIgd2l0aCBhbiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIGZvciB2b2x1bWUgYW5kIGZpbGUgc3RydWN0dXJlLCBpdCBwcm92aWRlcyBmb3IgZnVsbCBkYXRhIGludGVyY2hhbmdlIGJldHdlZW4gZGF0YSBwcm9jZXNzaW5nIHN5c3RlbXMuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzQ3LzY0NzE5IiwidXVpZCI6IjUxODU2NjFhLWEyYmQtNDAwMS05NGIwLWMxMTgyNGM1MjI3YiIsInRpdGxlIjoiSVNPL0lFQyAxMzE1Ny0xOjIwMTQgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCAxOiBORkMtU0VDIE5GQ0lQLTEgc2VjdXJpdHkgc2VydmljZXMgYW5kIHByb3RvY29sIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOSwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE1Ny0xOjIwMTQgc3BlY2lmaWVzIHRoZSBORkMtU0VDIHNlY3VyZSBjaGFubmVsIGFuZCBzaGFyZWQgc2VjcmV0IHNlcnZpY2VzIGZvciBORkNJUC0xIGFuZCB0aGUgUHJvdG9jb2wgRGF0YSBVbml0cyBhbmQgcHJvdG9jb2wgZm9yIHRob3NlIHNlcnZpY2VzLiAiLCJvYmplY3RJRCI6IjY0NzE5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L0lFQyA8ZW0+MTMxPC9lbT41Ny0xOjIwMTQgSW5mb3JtYXRpb24gdGVjaG5vbG9neSDigJQgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg4oCUIE5GQyBTZWN1cml0eSDigJQgUGFydCAxOiBORkMtU0VDIE5GQ0lQLTEgc2VjdXJpdHkgc2VydmljZXMgYW5kIHByb3RvY29sIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+NTctMToyMDE0IHNwZWNpZmllcyB0aGUgTkZDLVNFQyBzZWN1cmUgY2hhbm5lbCBhbmQgc2hhcmVkIHNlY3JldCBzZXJ2aWNlcyBmb3IgTkZDSVAtMSBhbmQgdGhlIFByb3RvY29sIERhdGEgVW5pdHMgYW5kIHByb3RvY29sIGZvciB0aG9zZSBzZXJ2aWNlcy4gIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfX19LHsiY2F0ZWdvcnkiOiJzdGFuZGFyZCIsInBhdGgiOiIvc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDUvMzQvNTM0NzkiLCJ1dWlkIjoiM2QxNjE1MTMtMDBmNi00ZDU4LTg1NTEtNjVhZWVjZWRhZjc3IiwidGl0bGUiOiJJU08vVFIgMTMxOTU6MjAxNSBTZWxlY3RlZCBpbGx1c3RyYXRpb25zIG9mIHJlc3BvbnNlIHN1cmZhY2UgbWV0aG9kIOKAlCBDZW50cmFsIGNvbXBvc2l0ZSBkZXNpZ24iLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDE5LCJvcmRlciI6MTEsInRleHQiOiJJU08vVFIgMTMxOTU6MjAxNSBkZXNjcmliZXMgdGhlIHN0ZXBzIG5lY2Vzc2FyeSB0byB1bmRlcnN0YW5kIHRoZSBzY29wZSBvZiBSZXNwb25zZSBTdXJmYWNlIE1ldGhvZG9sb2d5IChSU00pIGFuZCB0aGUgbWV0aG9kIHRvIGFuYWx5c2UgZGF0YSBjb2xsZWN0ZWQgdXNpbmcgQ2VudHJhbCBDb21wb3NpdGUgRGVzaWducyAoQ0NEKSB0aHJvdWdoIGlsbHVzdHJhdGlvbiB3aXRoIGZvdXIgZGlzdGluY3QgYXBwbGljYXRpb25zIG9mIHRoaXMgbWV0aG9kb2xvZ3kuIFJlc3BvbnNlIHN1cmZhY2UgbWV0aG9kb2xvZ3kgKFJTTSkgaXMgdXNlZCBpbiBvcmRlciB0byBpbnZlc3RpZ2F0ZSBhIHJlbGF0aW9uIGJldHdlZW4gdGhlIHJlc3BvbnNlIGFuZCB0aGUgc2V0IG9mIHF1YW50aXRhdGl2ZSBwcmVkaWN0b3IgdmFyaWFibGVzIG9yIGZhY3RvcnMuIEVzcGVjaWFsbHkgYWZ0ZXIgc3BlY2lmeWluZyB0aGUgdml0YWwgZmV3IGNvbnRyb2xsYWJsZSBmYWN0b3JzLCBSU00gaXMgdXNlZCBpbiBvcmRlciB0byBmaW5kIHRoZSBmYWN0b3Igc2V0dGluZyB3aGljaCBvcHRpbWl6ZXMgdGhlIHJlc3BvbnNlLiAiLCJvYmplY3RJRCI6IjUzNDc5XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjk1OjIwMTUgU2VsZWN0ZWQgaWxsdXN0cmF0aW9ucyBvZiByZXNwb25zZSBzdXJmYWNlIG1ldGhvZCDigJQgQ2VudHJhbCBjb21wb3NpdGUgZGVzaWduIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT45NToyMDE1IGRlc2NyaWJlcyB0aGUgc3RlcHMgbmVjZXNzYXJ5IHRvIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIFJlc3BvbnNlIFN1cmZhY2UgTWV0aG9kb2xvZ3kgKFJTTSkgYW5kIHRoZSBtZXRob2QgdG8gYW5hbHlzZSBkYXRhIGNvbGxlY3RlZCB1c2luZyBDZW50cmFsIENvbXBvc2l0ZSBEZXNpZ25zIChDQ0QpIHRocm91Z2ggaWxsdXN0cmF0aW9uIHdpdGggZm91ciBkaXN0aW5jdCBhcHBsaWNhdGlvbnMgb2YgdGhpcyBtZXRob2RvbG9neS4gUmVzcG9uc2Ugc3VyZmFjZSBtZXRob2RvbG9neSAoUlNNKSBpcyB1c2VkIGluIG9yZGVyIHRvIGludmVzdGlnYXRlIGEgcmVsYXRpb24gYmV0d2VlbiB0aGUgcmVzcG9uc2UgYW5kIHRoZSBzZXQgb2YgcXVhbnRpdGF0aXZlIHByZWRpY3RvciB2YXJpYWJsZXMgb3IgZmFjdG9ycy4gRXNwZWNpYWxseSBhZnRlciBzcGVjaWZ5aW5nIHRoZSB2aXRhbCBmZXcgY29udHJvbGxhYmxlIGZhY3RvcnMsIFJTTSBpcyB1c2VkIGluIG9yZGVyIHRvIGZpbmQgdGhlIGZhY3RvciBzZXR0aW5nIHdoaWNoIG9wdGltaXplcyB0aGUgcmVzcG9uc2UuICIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX19fSx7ImNhdGVnb3J5Ijoic3RhbmRhcmQiLCJwYXRoIjoiL3NpdGVzL2lzb29yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA1LzM0LzUzNDU4IiwidXVpZCI6ImYwYTFhOTE4LTE5MTUtNGQwMi05NTVhLTU3N2RkNzU0Nzc5OSIsInRpdGxlIjoiSVNPL0lFQyAxMzE4NzoyMDExIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIFNlcnZlciBtYW5hZ2VtZW50IGNvbW1hbmQgbGluZSBwcm90b2NvbCAoU00gQ0xQKSBzcGVjaWZpY2F0aW9uIiwic3RhdHVzIjoiUHVibGlzaGVkIiwieWVhciI6MjAxOCwib3JkZXIiOjExLCJ0ZXh0IjoiSVNPL0lFQyAxMzE4NzoyMDExKEUpIGxheXMgb3V0IHRoZSBnZW5lcmFsIGZyYW1ld29yayBmb3IgdGhlXG5TZXJ2ZXIgTWFuYWdlbWVudCBDb21tYW5kIExpbmUgUHJvdG9jb2wgKFNNIENMUCkuIFRoaXMgc3RhbmRhcmQgaXMgaW50ZW5kZWQgdG9cbmd1aWRlIGRldmVsb3BlcnMgb2YgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBTTSBDTFAgYW5kIG1heSBhbHNvIGJlIHVzZWQgYXMgYVxucmVmZXJlbmNlIGJ5IHN5c3RlbSBhZG1pbmlzdHJhdG9ycyBhbmQgb3RoZXIgdXNlcnMgb2YgU00gQ0xQIGltcGxlbWVudGF0aW9ucy5cbkl0IHdhcyBwcmVwYXJlZCBieSBTTklBIChTdG9yYWdlIE5ldHdvcmtpbmcgSW5kdXN0cnkgQXNzb2NpYXRpb24pLCB3YXMgYWRvcHRlZCxcbnVuZGVyIHRoZSBmYXN0IHRyYWNrIHByb2NlZHVyZS4gIiwib2JqZWN0SUQiOiI1MzQ1OF8wIiwiX2hpZ2hsaWdodFJlc3VsdCI6eyJ0aXRsZSI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9JRUMgPGVtPjEzMTwvZW0+ODc6MjAxMSBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBTZXJ2ZXIgbWFuYWdlbWVudCBjb21tYW5kIGxpbmUgcHJvdG9jb2wgKFNNIENMUCkgc3BlY2lmaWNhdGlvbiIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vSUVDIDxlbT4xMzE8L2VtPjg3OjIwMTEoRSkgbGF5cyBvdXQgdGhlIGdlbmVyYWwgZnJhbWV3b3JrIGZvciB0aGVcblNlcnZlciBNYW5hZ2VtZW50IENvbW1hbmQgTGluZSBQcm90b2NvbCAoU00gQ0xQKS4gVGhpcyBzdGFuZGFyZCBpcyBpbnRlbmRlZCB0b1xuZ3VpZGUgZGV2ZWxvcGVycyBvZiBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIFNNIENMUCBhbmQgbWF5IGFsc28gYmUgdXNlZCBhcyBhXG5yZWZlcmVuY2UgYnkgc3lzdGVtIGFkbWluaXN0cmF0b3JzIGFuZCBvdGhlciB1c2VycyBvZiBTTSBDTFAgaW1wbGVtZW50YXRpb25zLlxuSXQgd2FzIHByZXBhcmVkIGJ5IFNOSUEgKFN0b3JhZ2UgTmV0d29ya2luZyBJbmR1c3RyeSBBc3NvY2lhdGlvbiksIHdhcyBhZG9wdGVkLFxudW5kZXIgdGhlIGZhc3QgdHJhY2sgcHJvY2VkdXJlLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNi85My82OTM0NyIsInV1aWQiOiI4MDU5OWIzNC1jMWY3LTQ1NWYtYWQ1ZS1iMDU5NDUyZDI5NGEiLCJ0aXRsZSI6IklTTy9UUiAxMzE1NDoyMDE3IE1lZGljYWwgZWxlY3RyaWNhbCBlcXVpcG1lbnQg4oCUIERlcGxveW1lbnQsIGltcGxlbWVudGF0aW9uIGFuZCBvcGVyYXRpb25hbCBndWlkZWxpbmVzIGZvciBpZGVudGlmeWluZyBmZWJyaWxlIGh1bWFucyB1c2luZyBhIHNjcmVlbmluZyB0aGVybW9ncmFwaCIsInN0YXR1cyI6IlB1Ymxpc2hlZCIsInllYXIiOjIwMTcsIm9yZGVyIjoxMSwidGV4dCI6IklTTy9UUiAxMzE1NDoyMDE3IHByb3ZpZGVzIGdlbmVyYWwgZ3VpZGVsaW5lcyBmb3IgdGhlIGRlcGxveW1lbnQsIGltcGxlbWVudGF0aW9uIGFuZCBvcGVyYXRpb24gb2YgYSBzY3JlZW5pbmcgdGhlcm1vZ3JhcGggaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3Igbm9uLWludmFzaXZlIGZlYnJpbGUgdGVtcGVyYXR1cmUgc2NyZWVuaW5nIG9mIGluZGl2aWR1YWxzIHVuZGVyIGluZG9vciBlbnZpcm9ubWVudGFsIGNvbmRpdGlvbnMgdG8gcHJldmVudCB0aGUgc3ByZWFkIG9mIGluZmVjdGlvbi4gTk9URSAgICAgICAgICBUaGUgZXF1aXBtZW50IHN0YW5kYXJkIGZvciBzY3JlZW5pbmcgdGhlcm1vZ3JhcGhzIGlzIGZvdW5kIGluIElFQyA4MDYwMT8yLTU5LiAiLCJvYmplY3RJRCI6IjY5MzQ3XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjU0OjIwMTcgTWVkaWNhbCBlbGVjdHJpY2FsIGVxdWlwbWVudCDigJQgRGVwbG95bWVudCwgaW1wbGVtZW50YXRpb24gYW5kIG9wZXJhdGlvbmFsIGd1aWRlbGluZXMgZm9yIGlkZW50aWZ5aW5nIGZlYnJpbGUgaHVtYW5zIHVzaW5nIGEgc2NyZWVuaW5nIHRoZXJtb2dyYXBoIiwibWF0Y2hMZXZlbCI6ImZ1bGwiLCJmdWxseUhpZ2hsaWdodGVkIjpmYWxzZSwibWF0Y2hlZFdvcmRzIjpbImlzbyIsIjEzMSJdfSwidGV4dCI6eyJ2YWx1ZSI6IjxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT41NDoyMDE3IHByb3ZpZGVzIGdlbmVyYWwgZ3VpZGVsaW5lcyBmb3IgdGhlIGRlcGxveW1lbnQsIGltcGxlbWVudGF0aW9uIGFuZCBvcGVyYXRpb24gb2YgYSBzY3JlZW5pbmcgdGhlcm1vZ3JhcGggaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3Igbm9uLWludmFzaXZlIGZlYnJpbGUgdGVtcGVyYXR1cmUgc2NyZWVuaW5nIG9mIGluZGl2aWR1YWxzIHVuZGVyIGluZG9vciBlbnZpcm9ubWVudGFsIGNvbmRpdGlvbnMgdG8gcHJldmVudCB0aGUgc3ByZWFkIG9mIGluZmVjdGlvbi4gTk9URSAgICAgICAgICBUaGUgZXF1aXBtZW50IHN0YW5kYXJkIGZvciBzY3JlZW5pbmcgdGhlcm1vZ3JhcGhzIGlzIGZvdW5kIGluIElFQyA4MDYwMT8yLTU5LiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX0seyJjYXRlZ29yeSI6InN0YW5kYXJkIiwicGF0aCI6Ii9zaXRlcy9pc29vcmcvY29udGVudHMvZGF0YS9zdGFuZGFyZC8wNS83MC81NzAyNCIsInV1aWQiOiI2ZTM2OGQyNS1kMDM5LTRkZDAtYWVlNS0wNWNjZWQ1Njg5YTMiLCJ0aXRsZSI6IklTTy9UUiAxMzE4NC0xOjIwMTMgSW50ZWxsaWdlbnQgdHJhbnNwb3J0IHN5c3RlbXMgKElUUykg4oCUIEd1aWRhbmNlIHByb3RvY29sIHZpYSBwZXJzb25hbCBJVFMgc3RhdGlvbiBmb3IgYWR2aXNvcnkgc2FmZXR5IHN5c3RlbXMg4oCUIFBhcnQgMTogR2VuZXJhbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGNhc2UgZGVmaW5pdGlvbnMiLCJzdGF0dXMiOiJQdWJsaXNoZWQiLCJ5ZWFyIjoyMDEzLCJvcmRlciI6MTEsInRleHQiOiJJU08vVFIgMTMxODQtMToyMDEzIHNwZWNpZmllcyBndWlkYW5jZSBpbmZvcm1hdGlvbiBwcm90b2NvbCB0byBwcm92aWRlIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSB0byBkcml2ZXJzIG9yIHBlZGVzdHJpYW5zIHVzaW5nIHBlcnNvbmFsIElUUyBzdGF0aW9uczogYSkgUmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBmb3IgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtcyBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgcHJvdmlkZXMgYSBnZW5lcmFsIHN0cnVjdHVyZSBmb3IgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtcyBhbmQgdGhlIG1ldGhvZCBvZiBtZXNzYWdlIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHBlcnNvbmFsIElUUyBzdGF0aW9uIGFuZCB0aGUgcm9hZHNpZGUgSVRTIHN0YXRpb24uIFRoaXMgcmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBpcyB1c2VkIHRvIGJ1aWxkIHRoZSBpbnRlcmNvbm5lY3Rpb25zIGJldHdlZW4gcGVyc29uYWwgSVRTIHN0YXRpb25zIGFuZCByb2Fkc2lkZSBJVFMgc3RhdGlvbnMuIGIpIEQgZXNpZ24gbWV0aG9kIG9mIGFwcGxpY2F0aW9uIHByb3RvY29scyBmb3IgbGlnaHQtd2VpZ2h0ZWQgZGV2aWNlcyBUaGlzIG1ldGhvZCBpcyBhIGZsZXhpYmxlIGFwcGxpY2F0aW9uIHByb3RvY29sIGZvciBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkYW5jZSBzZXJ2aWNlcy4gVW5saWtlIG1hbnkgb3RoZXIgYXBwbGljYXRpb24gcHJvdG9jb2xzIGluIHRoZSBJVFMgYW5kIFRlbGVtYXRpY3MgZG9tYWlucywgdGhpcyBwcm90b2NvbCBtYWtlcyB0aGUgY2xpZW50IHBhcnQgaW5kZXBlbmRlbnQgb2YgdXNlIGNhc2VzIGZvciBzdXBwb3J0aW5nIGxpZ2h0LXdlaWdodGVkIGRldmljZXMuIGMpIFVzZSBjYXNlcyBhdCB0aGUgcm9hZCBhbmQgcGFya2luZyBiYXlzIGZvciB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlIElTTy9UUiAxMzE4NC0xOjIwMTMgZGVzY3JpYmVzIHRoZSB1c2UgY2FzZXMgYXBwbGljYWJsZSB0byB0aGUgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBiZXR3ZWVuIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBhbmQgcm9hZHNpZGUgSVRTIHN0YXRpb25zIGZvciB0aGUgcHVycG9zZXMgb2YgcHJvdmlkaW5nIHNhZmV0eSB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRhbmNlLiAiLCJvYmplY3RJRCI6IjU3MDI0XzAiLCJfaGlnaGxpZ2h0UmVzdWx0Ijp7InRpdGxlIjp7InZhbHVlIjoiPGVtPklTTzwvZW0+L1RSIDxlbT4xMzE8L2VtPjg0LTE6MjAxMyBJbnRlbGxpZ2VudCB0cmFuc3BvcnQgc3lzdGVtcyAoSVRTKSDigJQgR3VpZGFuY2UgcHJvdG9jb2wgdmlhIHBlcnNvbmFsIElUUyBzdGF0aW9uIGZvciBhZHZpc29yeSBzYWZldHkgc3lzdGVtcyDigJQgUGFydCAxOiBHZW5lcmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgY2FzZSBkZWZpbml0aW9ucyIsIm1hdGNoTGV2ZWwiOiJmdWxsIiwiZnVsbHlIaWdobGlnaHRlZCI6ZmFsc2UsIm1hdGNoZWRXb3JkcyI6WyJpc28iLCIxMzEiXX0sInRleHQiOnsidmFsdWUiOiI8ZW0+SVNPPC9lbT4vVFIgPGVtPjEzMTwvZW0+ODQtMToyMDEzIHNwZWNpZmllcyBndWlkYW5jZSBpbmZvcm1hdGlvbiBwcm90b2NvbCB0byBwcm92aWRlIHJlYWwtdGltZSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSB0byBkcml2ZXJzIG9yIHBlZGVzdHJpYW5zIHVzaW5nIHBlcnNvbmFsIElUUyBzdGF0aW9uczogYSkgUmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBmb3IgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtcyBUaGlzIHJlZmVyZW5jZSBhcmNoaXRlY3R1cmUgcHJvdmlkZXMgYSBnZW5lcmFsIHN0cnVjdHVyZSBmb3IgcmVhbC10aW1lIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtcyBhbmQgdGhlIG1ldGhvZCBvZiBtZXNzYWdlIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHBlcnNvbmFsIElUUyBzdGF0aW9uIGFuZCB0aGUgcm9hZHNpZGUgSVRTIHN0YXRpb24uIFRoaXMgcmVmZXJlbmNlIGFyY2hpdGVjdHVyZSBpcyB1c2VkIHRvIGJ1aWxkIHRoZSBpbnRlcmNvbm5lY3Rpb25zIGJldHdlZW4gcGVyc29uYWwgSVRTIHN0YXRpb25zIGFuZCByb2Fkc2lkZSBJVFMgc3RhdGlvbnMuIGIpIEQgZXNpZ24gbWV0aG9kIG9mIGFwcGxpY2F0aW9uIHByb3RvY29scyBmb3IgbGlnaHQtd2VpZ2h0ZWQgZGV2aWNlcyBUaGlzIG1ldGhvZCBpcyBhIGZsZXhpYmxlIGFwcGxpY2F0aW9uIHByb3RvY29sIGZvciBzYWZldHkgd2FybmluZyBhbmQgcGFya2luZyBndWlkYW5jZSBzZXJ2aWNlcy4gVW5saWtlIG1hbnkgb3RoZXIgYXBwbGljYXRpb24gcHJvdG9jb2xzIGluIHRoZSBJVFMgYW5kIFRlbGVtYXRpY3MgZG9tYWlucywgdGhpcyBwcm90b2NvbCBtYWtlcyB0aGUgY2xpZW50IHBhcnQgaW5kZXBlbmRlbnQgb2YgdXNlIGNhc2VzIGZvciBzdXBwb3J0aW5nIGxpZ2h0LXdlaWdodGVkIGRldmljZXMuIGMpIFVzZSBjYXNlcyBhdCB0aGUgcm9hZCBhbmQgcGFya2luZyBiYXlzIGZvciB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRlIDxlbT5JU088L2VtPi9UUiA8ZW0+MTMxPC9lbT44NC0xOjIwMTMgZGVzY3JpYmVzIHRoZSB1c2UgY2FzZXMgYXBwbGljYWJsZSB0byB0aGUgY29tbXVuaWNhdGlvbiBzZXJ2aWNlcyBiZXR3ZWVuIHBlcnNvbmFsIElUUyBzdGF0aW9ucyBhbmQgcm9hZHNpZGUgSVRTIHN0YXRpb25zIGZvciB0aGUgcHVycG9zZXMgb2YgcHJvdmlkaW5nIHNhZmV0eSB3YXJuaW5nIGFuZCBwYXJraW5nIGd1aWRhbmNlLiAiLCJtYXRjaExldmVsIjoiZnVsbCIsImZ1bGx5SGlnaGxpZ2h0ZWQiOmZhbHNlLCJtYXRjaGVkV29yZHMiOlsiaXNvIiwiMTMxIl19fX1dLCJuYkhpdHMiOjE3OSwicGFnZSI6MCwibmJQYWdlcyI6MiwiaGl0c1BlclBhZ2UiOjEwMCwiZXhoYXVzdGl2ZU5iSGl0cyI6dHJ1ZSwiZXhoYXVzdGl2ZVR5cG8iOnRydWUsImV4aGF1c3RpdmUiOnsibmJIaXRzIjp0cnVlLCJ0eXBvIjp0cnVlfSwicXVlcnkiOiJJU08gMTMxIiwicGFyYW1zIjoicXVlcnk9SVNPKzEzMSZoaXRzUGVyUGFnZT0xMDAmZmlsdGVycz1jYXRlZ29yeSUzQXN0YW5kYXJkIiwicHJvY2Vzc2luZ1RpbWVNUyI6NSwicHJvY2Vzc2luZ1RpbWluZ3NNUyI6eyJhZnRlckZldGNoIjp7ImZvcm1hdCI6eyJoaWdobGlnaHRpbmciOjMsInRvdGFsIjo0fSwidG90YWwiOjV9LCJ0b3RhbCI6NX19
|
61
|
-
recorded_at: Mon, 26 Sep 2022 09:21:04 GMT
|
62
|
-
- request:
|
63
|
-
method: get
|
64
|
-
uri: https://www.iso.org/contents/data/standard/00/39/3944.html
|
65
|
-
body:
|
66
|
-
encoding: US-ASCII
|
67
|
-
string: ''
|
68
|
-
headers:
|
69
|
-
Accept-Encoding:
|
70
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
71
|
-
Accept:
|
72
|
-
- "*/*"
|
73
|
-
User-Agent:
|
74
|
-
- Ruby
|
75
|
-
Host:
|
76
|
-
- www.iso.org
|
77
|
-
response:
|
78
|
-
status:
|
79
|
-
code: 301
|
80
|
-
message: ''
|
81
|
-
headers:
|
82
|
-
Expires:
|
83
|
-
- Wed, 09 May 1979 05:30:00 GMT
|
84
|
-
Cache-Control:
|
85
|
-
- no-cache, no-store, must-revalidate, proxy-revalidate, max-age=0
|
86
|
-
Pragma:
|
87
|
-
- no-cache
|
88
|
-
Set-Cookie:
|
89
|
-
- BIGipServerpool_prod_iso_www-jahia=730354058.36895.0000; path=/; Httponly;
|
90
|
-
Secure
|
91
|
-
- JSESSIONID=8DA35E61D9F2D75CB251F9057547019A; Path=/; Secure; HttpOnly
|
92
|
-
Location:
|
93
|
-
- "/standard/3944.html"
|
94
|
-
Content-Length:
|
95
|
-
- '0'
|
96
|
-
Date:
|
97
|
-
- Mon, 26 Sep 2022 09:21:09 GMT
|
98
|
-
Strict-Transport-Security:
|
99
|
-
- max-age=31536000; includeSubDomains
|
100
|
-
body:
|
101
|
-
encoding: UTF-8
|
102
|
-
string: ''
|
103
|
-
recorded_at: Mon, 26 Sep 2022 09:21:10 GMT
|
104
|
-
- request:
|
105
|
-
method: get
|
106
|
-
uri: https://www.iso.org/standard/3944.html
|
107
|
-
body:
|
108
|
-
encoding: US-ASCII
|
109
|
-
string: ''
|
110
|
-
headers:
|
111
|
-
Accept-Encoding:
|
112
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
113
|
-
Accept:
|
114
|
-
- "*/*"
|
115
|
-
User-Agent:
|
116
|
-
- Ruby
|
117
|
-
Host:
|
118
|
-
- www.iso.org
|
119
|
-
response:
|
120
|
-
status:
|
121
|
-
code: 200
|
122
|
-
message: ''
|
123
|
-
headers:
|
124
|
-
Expires:
|
125
|
-
- Wed, 09 May 1979 05:30:00 GMT
|
126
|
-
Cache-Control:
|
127
|
-
- no-cache, no-store, must-revalidate, proxy-revalidate, max-age=0
|
128
|
-
Pragma:
|
129
|
-
- no-cache
|
130
|
-
Set-Cookie:
|
131
|
-
- BIGipServerpool_prod_iso_www-jahia=730354058.36895.0000; path=/; Httponly;
|
132
|
-
Secure
|
133
|
-
- JSESSIONID=B0840DE5422347E3F9C86A78520ACC50; Path=/; Secure; HttpOnly
|
134
|
-
Vary:
|
135
|
-
- accept-encoding
|
136
|
-
Content-Type:
|
137
|
-
- text/html;charset=UTF-8
|
138
|
-
Transfer-Encoding:
|
139
|
-
- chunked
|
140
|
-
Date:
|
141
|
-
- Mon, 26 Sep 2022 09:21:11 GMT
|
142
|
-
Strict-Transport-Security:
|
143
|
-
- max-age=31536000; includeSubDomains
|
144
|
-
body:
|
145
|
-
encoding: ASCII-8BIT
|
146
|
-
string: !binary |-
|
147
|
-
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD48bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly93d3cuaXNvLm9yZy9zdGFuZGFyZC8zOTQ0Lmh0bWwiIC8+CjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZnIiIGhyZWY9Imh0dHBzOi8vd3d3Lmlzby5vcmcvZnIvc3RhbmRhcmQvMzk0NC5odG1sIiAvPgogICAgPHNjcmlwdD4KICAgICAgZGF0YUxheWVyID0gW3sKICAgICAgICAncGFnZVR5cGUnOiAnaXRzOnN0YW5kYXJkJywKICAgICAgICAncGFnZUxhbmd1YWdlJzogJ2VuJwogICAgICB9XTsKICAgIDwvc2NyaXB0PgoKICAgIDwhLS0gT25lVHJ1c3QgQ29va2llcyBDb25zZW50IE5vdGljZSBzdGFydCBmb3Igd3d3Lmlzby5vcmcgLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vY2RuLmNvb2tpZWxhdy5vcmcvY29uc2VudC8wOTY0NDkzYS1iMzk2LTQ2ODUtOTE1MC0xOGY3NDlhYmZiZmIvT3RBdXRvQmxvY2suanMiID48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmNvb2tpZWxhdy5vcmcvc2NyaXB0dGVtcGxhdGVzL290U0RLU3R1Yi5qcyIgZGF0YS1kb2N1bWVudC1sYW5ndWFnZT0idHJ1ZSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJVVEYtOCIgZGF0YS1kb21haW4tc2NyaXB0PSIwOTY0NDkzYS1iMzk2LTQ2ODUtOTE1MC0xOGY3NDlhYmZiZmIiID48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLyBmdW5jdGlvbiB0byBwdWxsIGNvb2tpZSB2YWx1ZQpmdW5jdGlvbiBnZXRDb29raWUobmFtZSkgewogICAgdmFyIHZhbHVlID0gIjsgIiArIGRvY3VtZW50LmNvb2tpZTsKICAgIHZhciBwYXJ0cyA9IHZhbHVlLnNwbGl0KCI7ICIgKyBuYW1lICsgIj0iKTsKICAgIGlmIChwYXJ0cy5sZW5ndGggPT0gMikgcmV0dXJuIHBhcnRzLnBvcCgpLnNwbGl0KCI7Iikuc2hpZnQoKTsKfQoKZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICBjb25zb2xlLmxvZygiT3B0YW5vbldyYXBwZXIgY2FsbGVkIik7CgogICAgdmFyIE9BQkNjb29raWVOYW1lID0gIk9wdGFub25BbGVydEJveENsb3NlZCI7CiAgICB2YXIgYmFubmVyQWNjZXB0QnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9uZXRydXN0LWFjY2VwdC1idG4taGFuZGxlciIpOwogICAgdmFyIHBjQWxsb3dBbGxCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNjZXB0LXJlY29tbWVuZGVkLWJ0bi1oYW5kbGVyIik7CiAgICB2YXIgcGNTYXZlQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgic2F2ZS1wcmVmZXJlbmNlLWJ0bi1oYW5kbGVyIG9uZXRydXN0LWNsb3NlLWJ0bi1oYW5kbGVyIGJ1dHRvbi10aGVtZSIpWzBdOwogICAgdmFyIE9BQkNjb29raWUgPSBnZXRDb29raWUoT0FCQ2Nvb2tpZU5hbWUpOwoKICAgIC8vIElGIGxvZ2ljIG5lZWRlZCBoZXJlIGJlY2F1c2Ugb3QtYmFubmVyLXNkayBESVYgaXMgbm90IGluamVjdGVkIG9uIHBhZ2UgbG9hZHMgaWYgYmFubmVyIGlzIG5vdCBleHBvc2VkCgogICAgaWYgKCFPQUJDY29va2llICYmIGJhbm5lckFjY2VwdEJ0bikgewogICAgICAgIGJhbm5lckFjY2VwdEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTsKICAgICAgICB9KTsKICAgIH0KICAgIGlmIChwY0FsbG93QWxsQnRuKQogICAgICAgIHBjQWxsb3dBbGxCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAgfSk7CgogICAgcGNTYXZlQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CiAgICB9KTsKfQo8L3NjcmlwdD4KPCEtLSBPbmVUcnVzdCBDb29raWVzIENvbnNlbnQgTm90aWNlIGVuZCBmb3Igd3d3Lmlzby5vcmcgLS0+Cgo8IS0tIEhvdGphciBUcmFja2luZyBDb2RlIGZvciB3d3cuaXNvLm9yZyAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L3BsYWluIiBjbGFzcz0ib3B0YW5vbi1jYXRlZ29yeS1DMDAwMyI+CiAgICAoZnVuY3Rpb24oaCxvLHQsaixhLHIpewogICAgICAgIGguaGo9aC5oanx8ZnVuY3Rpb24oKXsoaC5oai5xPWguaGoucXx8W10pLnB1c2goYXJndW1lbnRzKX07CiAgICAgICAgaC5faGpTZXR0aW5ncz17aGppZDoyNTEwODA1LGhqc3Y6Nn07CiAgICAgICAgYT1vLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07CiAgICAgICAgcj1vLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3IuYXN5bmM9MTsKICAgICAgICByLnNyYz10K2guX2hqU2V0dGluZ3MuaGppZCtqK2guX2hqU2V0dGluZ3MuaGpzdjsKICAgICAgICBhLmFwcGVuZENoaWxkKHIpOwogICAgfSkod2luZG93LGRvY3VtZW50LCdodHRwczovL3N0YXRpYy5ob3RqYXIuY29tL2MvaG90amFyLScsJy5qcz9zdj0nKTsKPC9zY3JpcHQ+PCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CiAgICAgIDxzY3JpcHQ+KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOgogICAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5qcyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLAogICAgICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9JytpK2RsO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaixmKTsKICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdHVE0tVEZHS1FRQicpOzwvc2NyaXB0PgogICAgICA8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDx0aXRsZT5JU08gLSBJU08gMTMxOjE5NzkgLSBBY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXI8L3RpdGxlPgoKICAgIDwhLS0KICAgICAgPGxpbmsgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0IiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy93b29kLzQuMC4xNy9qYXZhc2NyaXB0L3dvb2QuZnVsbC5taW4uanMiIC8+CiAgICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIiBocmVmPSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy93b29kLzQuMC4xNy9jc3Mvd29vZC5mdWxsLm1pbi5jc3MiIC8+CiAgICAgIC0tPgoKICAgIAo8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly93d3cuaXNvLm9yZy9zdGFuZGFyZC8zOTQ0Lmh0bWwiIC8+CgogICAgPCEtLSBzdGFydCBmYXZpY29ucyAtLT4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbi1wcmVjb21wb3NlZCIgaHJlZj0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC80LjAuMTcvaW1nL2lzby9mYXZpY29uL3JlZC9hcHBsZS10b3VjaC1pY29uLTE1MngxNTItcHJlY29tcG9zZWQucG5nIj4KICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC80LjAuMTcvaW1nL2lzby9mYXZpY29uL3JlZC9mYXZpY29uLmljbyI+CiAgICA8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iI2VlZSI+CiAgICA8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVJbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC80LjAuMTcvaW1nL2lzby9mYXZpY29uL3JlZC9tc3RpbGUtMTQ0eDE0NC5wbmciPgogICAgPCEtLSBlbmQgZmF2aWNvbnMgLS0+CgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMzMzMiPgoKICAKPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9qc29uIiBpZD0iamFoaWEtZGF0YS1jdHgiPnsiY29udGV4dFBhdGgiOiIiLCJsYW5nIjoiZW4iLCJ1aWxhbmciOiJlbiIsInNpdGVVdWlkIjoiNDM5MTQ2ZjgtNjc3ZS00ZGRlLWI2YzYtYjY5MmI3NTM0ZjUyIiwid2NhZyI6ZmFsc2UsImNrZUNmZyI6IiJ9PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vanNvbiIgaWQ9ImphaGlhLWRhdGEtY2siPnsicGF0aCI6Ii9tb2R1bGVzL2NrZWRpdG9yL2phdmFzY3JpcHQvIiwibG5nIjoiZW5fVVMifTwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHQvaW5pdEphaGlhQ29udGV4dC5qcyI+PC9zY3JpcHQ+CjxsaW5rIGlkPSJzdGF0aWNBc3NldENTUzAiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC80LjAuMTcvd29vZC5mdWxsLm1pbi5jc3MiIG1lZGlhPSJzY3JlZW4scHJpbnQsaGFuZGhlbGQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGlkPSJzdGF0aWNBc3NldENTUzEiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL21vZHVsZXMvaXNvLWphaGlhLXNlcnZpY2UtbW9kdWxlL2Nzcy9jYXRhbG9ndWUuY3NzPzE2NjMxNjMyNzg4OTUiIG1lZGlhPSJzY3JlZW4iIHR5cGU9InRleHQvY3NzIi8+CjxzY3JpcHQgaWQ9InN0YXRpY0Fzc2V0SmF2YXNjcmlwdDAiIHNyYz0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC80LjAuMTcvd29vZC5mdWxsLm1pbi5qcyIgID48L3NjcmlwdD4KPHNjcmlwdCBpZD0ic3RhdGljQXNzZXRKYXZhc2NyaXB0MSIgc3JjPSIvbW9kdWxlcy9pc28tamFoaWEtc2VydmljZS1tb2R1bGUvamF2YXNjcmlwdC9jYXRhbG9ndWUuanM/MTY2MzE2MzI3ODg5NSIgID48L3NjcmlwdD4KPHNjcmlwdCBpZD0ic3RhdGljQXNzZXRKYXZhc2NyaXB0MiIgc3JjPSIvbW9kdWxlcy9pc29vcmctdGVtcGxhdGUvamF2YXNjcmlwdC9jdXN0b20uanM/MTY2MzE2MzU3NTIyNiIgID48L3NjcmlwdD4KPG1ldGEgbmFtZT0iY2F0ZWdvcnkiIGNvbnRlbnQ9InciIC8+CiAgPG1ldGEgbmFtZT0icHViZGF0ZSIgY29udGVudD0iMTk5NjAzMDciIC8+CiAgCjwhLS0gVHdpdHRlciBDYXJkIGRhdGEgLS0+CiAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAaXNvc3RhbmRhcmRzIiAvPgoKICA8IS0tIE9wZW4gR3JhcGggZGF0YSAtLT4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJJU08iIC8+CiAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly93d3cuaXNvLm9yZy9jbXMvcmVuZGVyL2xpdmUvZW4vc2l0ZXMvaXNvb3JnL2NvbnRlbnRzL2RhdGEvc3RhbmRhcmQvMDAvMzkvMzk0NC5odG1sIiAvPgogIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIiAvPgogIDwhLS0gVGh1bWJuYWlsIGltYWdlIChmb3IgdHdpdHRlciBhbmQgT3BlbiBHcmFwaCkgLS0+CiAgICA8bWV0YSBuYW1lPSJ0aHVtYm5haWwiIGNvbnRlbnQ9Imh0dHBzOi8vY2RuLmlzby5vcmcvcmVzb3VyY2VzL3dvb2QvNC4wLjE3L2ltZy9pc28vaXNvLWxvZ28tcHJpbnQuZ2lmIiAvPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5IiAvPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jZG4uaXNvLm9yZy9yZXNvdXJjZXMvd29vZC80LjAuMTcvaW1nL2lzby9pc28tbG9nby1wcmludC5naWYiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY2RuLmlzby5vcmcvcmVzb3VyY2VzL3dvb2QvNC4wLjE3L2ltZy9pc28vaXNvLWxvZ28tcHJpbnQuZ2lmIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmFsdCIgY29udGVudD0iSVNPIGxvZ28iIC8+CiAgPCEtLSBUaXRsZSAoZm9yIHR3aXR0ZXIgYW5kIE9wZW4gR3JhcGgpIC0tPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iSVNPIDEzMToxOTc5IiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJJU08gMTMxOjE5NzkiIC8+CiAgPCEtLSBEZXNjcmlwdGlvbiAoZm9yIGdvb2dsZSwgdHdpdHRlciBhbmQgT3BlbiBHcmFwaCkgLS0+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmRlc2NyaXB0aW9uIiBjb250ZW50PSJBY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXIiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciIgLz4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJBY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXIiIC8+CiAgPCEtLSBGYWNlYm9vayBhZG1pbnMgOiBMaW9uZWwsTWFyaWEgLS0+CiAgPG1ldGEgcHJvcGVydHk9ImZiOmFkbWlucyIgY29udGVudD0iMTAwMDAxMTE2MDc5Njc2LDEwMDAwMTQ0MDAwMzMwNSIgLz4KCiAgCgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvbW9kdWxlcy9Dc3JmU2VydmxldCI+PC9zY3JpcHQ+CjwvaGVhZD4KICA8Ym9keSBjbGFzcz0idGhlbWUtcmVkIiBpZD0icGFnZS10b3AiPgogICAgPCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgKG5vc2NyaXB0KSAtLT4KICAgICAgPG5vc2NyaXB0IGFyaWEtaGlkZGVuPSJ0cnVlIj48aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vbnMuaHRtbD9pZD1HVE0tVEZHS1FRQiIgaGVpZ2h0PSIwIiB3aWR0aD0iMCIgc3R5bGU9ImRpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbiI+PC9pZnJhbWU+PC9ub3NjcmlwdD4KICAgICAgPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIChub3NjcmlwdCkgLS0+CiAgICA8YSBjbGFzcz0ic2tpcC1uYXZpZ2F0aW9uIGJ0biBidG4taW5mbyB2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSIgaHJlZj0iI2NvbnRlbnQiPlNraXAgdG8gbWFpbiBjb250ZW50PC9hPgoKICAgIDwhLS0gVG9wYmFyIHV0aWxpdHkgLS0+CiAgICA8bmF2IHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9IlV0aWxpdHkgTmF2aWdhdGlvbiIgY2xhc3M9Im5hdi11dGlsaXR5IG5hdmJhci1leHBhbmQtbGcgdGV4dC1zbSBuYXZiYXItZGFyayBiZy1kYXJrIHRleHQtbGlnaHQiPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDx1bCBjbGFzcz0ibmF2IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBqdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIGp1c3RpZnktY29udGVudC1tZC1lbmQiIGlkPSJ1dGlsaXRpZXMiPgogICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vbG9naW4uaXNvLm9yZyIgY2xhc3M9Im5hdi1saW5rIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiIHRpdGxlPSJJU08ncyBhcHBsaWNhdGlvbnMgcG9ydGFsIj48aSBjbGFzcz0iYmktZ3JpZC0zeDMtZ2FwLWZpbGwiPjwvaT4mbmJzcDtBcHBsaWNhdGlvbnM8L2E+CiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmlzby5vcmcvb2JwL3VpL2VuLyIgY2xhc3M9Im5hdi1saW5rIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiIHRpdGxlPSJPbmxpbmUgQnJvd3NpbmcgUGxhdGZvcm0iPjxpIGNsYXNzPSJiaS1qb3VybmFsLXRleHQiPjwvaT4mbmJzcDtPQlA8L2E+CiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBkcm9wZG93biIgaWQ9Imxhbmctc3dpdGNoZXIiPgogIDxhIGlkPSJsYW5nLWRyb3Bkb3duIiBjbGFzcz0ibmF2LWxpbmsgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGhyZWY9IiMiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5FbmdsaXNoPC9hPgogIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LWVuZCIgcm9sZT0ibWVudSIgYXJpYS1sYWJlbGxlZGJ5PSJsYW5nLWRyb3Bkb3duIj4KICAgIDxsaT48YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iL2ZyL3N0YW5kYXJkLzM5NDQuaHRtbCI+ZnJhbsOnYWlzPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSIvcnUvc3RhbmRhcmQvMzk0NC5odG1sIj7RgNGD0YHRgdC60LjQuTwvYT48L2xpPjwvdWw+CjwvbGk+PC91bD4KICAgICAgPC9kaXY+CiAgICA8L25hdj4KCiAgICA8IS0tIEhlYWRlciBJU08uT1JHIC0tPgogICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyLWJvb3RzdHJhcCBzdGlja3ktdG9wIj4KICAgICAgPCEtLSBNYWluIG5hdmlnYXRpb24gLS0+CiAgICAgIDxuYXYgY2xhc3M9Im5hdmJhciBuYXYtaXNvIG5hdmJhci1leHBhbmQtbWQgbmF2YmFyLWxpZ2h0IGJnLWxpZ2h0Z3JheSB0ZXh0LWRhcmsgc2hhZG93Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgPGEgY2xhc3M9ImxvZ28gbG9nby1zcXVhcmUgaXNvbG9nbyBsb2dvLXNtIiBocmVmPSIvaG9tZS5odG1sIiB0aXRsZT0iSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiIgYWx0PSJJU08gbG9nbyI+PC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0iaXNvbG9nby1wcmludCI+PGltZyBzcmM9Imh0dHBzOi8vY2RuLmlzby5vcmcvcmVzb3VyY2VzL3dvb2QvNC4wLjE3L2ltZy9pc28vaXNvLWxvZ28tcHJpbnQuZ2lmIiBhbHQ9IklTTyBsb2dvIGZvciBwcmludCIvPjwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saWdodCBuYXZiYXItdG9nZ2xlciIgdHlwZT0iYnV0dG9uIiBkYXRhLWJzLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtYnMtdGFyZ2V0PSIjbWFpbk5hdiIgYXJpYS1jb250cm9scz0ibWFpbk5hdiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtbGFiZWw9IlRvZ2dsZSBuYXZpZ2F0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLXRvZ2dsZXItaWNvbi1hbmltYXRlZCI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2PjxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4teHMiPiZuYnNwO01lbnU8L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwhLS0gVE9QIExFVkVMMSBOQVZJR0FUSU9OIC0tPgogICAgICAgICAgPG5hdiByb2xlPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJNYWluIE5hdmlnYXRpb24iIGNsYXNzPSJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UgIiBpZD0ibWFpbk5hdiI+PHVsIHJvbGU9Im1lbnViYXIiIGNsYXNzPSJuYXZiYXItbmF2IG1lLWF1dG8gbWItbGctMCBuYXYtbGV2ZWwxICI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJuYXYtaXRlbSBub0NoaWxkcmVuIGZpcnN0SW5MZXZlbCI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdGFuZGFyZHMuaHRtbCI+U3RhbmRhcmRzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJuYXYtaXRlbSBub0NoaWxkcmVuIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL2Fib3V0LXVzLmh0bWwiPkFib3V0IHVzPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJuYXYtaXRlbSBub0NoaWxkcmVuIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL25ld3MuaHRtbCI+TmV3czwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibmF2LWl0ZW0gbm9DaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9kZXZlbG9waW5nLXN0YW5kYXJkcy5odG1sIj5UYWtpbmcgcGFydDwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibmF2LWl0ZW0gbm9DaGlsZHJlbiBpblBhdGggIGxhc3RJbkxldmVsIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0b3JlLmh0bWwiPlN0b3JlPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbmF2Pjxmb3JtIGNsYXNzPSJuYXZiYXItZm9ybSBkLWZsZXggaXNvc2VhcmNoIG1zLXNtLTIiIHJvbGU9InNlYXJjaCIgaWQ9InNpdGVTZWFyY2giPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGlkZGVuIiBkYXRhLXVybGJhc2U9Ii9jbXMvcmVuZGVyL2xpdmUvZW4iPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhpZGRlbiIgZGF0YS1zZWFyY2hwYWdlcGF0aD0iL3NpdGVzL2lzb29yZy9zZWFyY2giPjwvc3Bhbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzZWFyY2giIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJTZWFyY2giIGFyaWEtbGFiZWxsZWRieT0iaW5wdXQtc2VhcmNoIj4KICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJpbnB1dC1zZWFyY2giIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCI+PGkgY2xhc3M9ImJpLXNlYXJjaCI+PC9pPjxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPlNlYXJjaDwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICA8YSByb2xlPSJidXR0b24iIGlkPSJzaG9wcGluZ0NhcnQiIGNsYXNzPSJidG4gYnRuLWxpZ2h0IHNob3BwaW5nLWNhcnQtbGluayBzaGFkb3ciIGhyZWY9Ii93ZWJzdG9yZS9zaG9wcGluZ2Jhc2tldD9tZW1iZXJJZD1JU08mZ3VpbGFuZz1lbiIgdGl0bGU9IlNob3BwaW5nIGNhcnQiIGFyaWEtbGFiZWw9IlNob3BwaW5nIGNhcnQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgICAgICAgPGkgY2xhc3M9ImJpLWNhcnQiPjwvaT4mbmJzcDs8c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuLXhzIj5DYXJ0PC9zcGFuPgogICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L25hdj4KCiAgICA8L2hlYWRlcj4KCiAgICA8IS0tIE1BSU4gQ09OVEVOVCAtLT4KICAgIDxtYWluIHJvbGU9Im1haW4iIGlkPSJjb250ZW50IiBjbGFzcz0iYWNlciIgYXJpYS1sYWJlbD0iQ29udGVudCIgdGFiaW5kZXg9Ii0xIj4KICAgICAgCgoKCjxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iIGlkPSJpbmRleFJlZmVyZW5jZSIgZGF0YS1pbmRleD0iMzk0NCAtIElTTyAxMzE6MTk3OSAtIEFjb3VzdGljcyDigJQgRXhwcmVzc2lvbiBvZiBwaHlzaWNhbCBhbmQgc3ViamVjdGl2ZSBtYWduaXR1ZGVzIG9mIHNvdW5kIG9yIG5vaXNlIGluIGFpciI+PC9zcGFuPgo8c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIiBpZD0iaXRlbVJlZmVyZW5jZSI+SVNPIDEzMToxOTc5PC9zcGFuPgo8c2VjdGlvbiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9Qcm9kdWN0IiBjbGFzcz0ic2VjdGlvbi1uYXZpZ2F0aW9uIj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iIGl0ZW1wcm9wPSJjYXRlZ29yeSI+dzwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpc3VhbGx5LWhpZGRlbiIgaXRlbXByb3A9Im5hbWUiIGlkPSJkb2NSZWYiPklTTyAxMzE6MTk3OTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpc3VhbGx5LWhpZGRlbiIgaXRlbXByb3A9InByb2R1Y3RJRCIgaWQ9ImNzTnVtYmVyIj4zOTQ0PC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InZpc3VhbGx5LWhpZGRlbiIgaXRlbXByb3A9ImJyYW5kIiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9Pcmdhbml6YXRpb24iPgogICAgICAgICAgPGRpdiBpdGVtcHJvcD0ibG9nbyIgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwczovL3NjaGVtYS5vcmcvSW1hZ2VPYmplY3QiPgogICAgICAgICAgICA8bWV0YSBpdGVtcHJvcD0idXJsIiBjb250ZW50PSJodHRwczovL2Nkbi5pc28ub3JnL3Jlc291cmNlcy93b29kLzQuMC4xNy9pbWcvaXNvL2lzby1sb2dvLXByaW50LmdpZiIvPgogICAgICAgICAgICA8bWV0YSBpdGVtcHJvcD0id2lkdGgiIGNvbnRlbnQ9IjI4MyI+CiAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJoZWlnaHQiIGNvbnRlbnQ9IjI2MSI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJuYW1lIiBjb250ZW50PSJJU08gLSBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uIj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPG5hdiByb2xlPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJDaGlsZHJlbiBOYXZpZ2F0aW9uIiBjbGFzcz0iaGVhZGluZy1jb25kZW5zZWQgbmF2LXJlbGF0aXZlcyI+CgogIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZCBzZWN0aW9uLWgxIHNlY3Rpb24tYmFjayI+PHNwYW4gY2xhc3M9Imljb24gIj48L3NwYW4+PGEgdGFyZ2V0PSIiIGhyZWY9Ii9zdGFuZGFyZHMtY2F0YWxvZ3VlL2Jyb3dzZS1ieS1pY3MuaHRtbCJ0aXRsZT0iQnJvd3NlIHRoZSBmdWxsIGNvbGxlY3Rpb24gb2YgSVNPIHN0YW5kYXJkcyBhbmQgZmluZCB0aGUgb25lcyB0aGF0IGFwcGx5IHRvIHlvdXIgc2VjdG9yLiI+SUNTPC9hPjxhIGhyZWY9Ii9lbi9pY3MvMTcuaHRtbCI+MTc8L2E+PGEgaHJlZj0iL2VuL2ljcy8xNy4xNDAuaHRtbCI+MTcuMTQwPC9hPjxhIGhyZWY9Ii9lbi9pY3MvMTcuMTQwLjAxLmh0bWwiPjE3LjE0MC4wMTwvYT48L2Rpdj4KICA8aDE+SVNPIDEzMToxOTc5PC9oMT4KICA8aDIgY2xhc3M9Im10LTAgIj5BY291c3RpY3Mg4oCUIEV4cHJlc3Npb24gb2YgcGh5c2ljYWwgYW5kIHN1YmplY3RpdmUgbWFnbml0dWRlcyBvZiBzb3VuZCBvciBub2lzZSBpbiBhaXI8L2gyPjwvbmF2PjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGlkPSJwcm9kdWN0LWRldGFpbHMiPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNyI+CiAgICAgICAgPGgzPgogIEdlbmVyYWwgaW5mb3JtYXRpb248c3VwPiZuYnNwOzxhIGhyZWY9Ii9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzAwLzM5LzM5NDQuZGV0YWlsLnJzcyIgY2xhc3M9ImJpLXJzcy1maWxsIHRleHQtd2FybmluZyBmcy02IiBkYXRhLWJzLXRvZ2dsZT0iaXNvLXRvb2x0aXAiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlN1YnNjcmliZSZuYnNwO3RvJm5ic3A7dXBkYXRlcyI+PC9hPjwvc3VwPgogICZuYnNwOzwvaDM+Cjx1bCBjbGFzcz0icmVmaW5lIj4KICA8bGk+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktbGFiZWwiPlN0YXR1czwvZGl2PiZuYnNwOzombmJzcDs8c3Bhbj48aSBjbGFzcz0iYmktc2xhc2gtY2lyY2xlIiB0aXRsZT0iV2l0aGRyYXduIj48L2k+Jm5ic3A7V2l0aGRyYXduPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktbGFiZWwiPlB1YmxpY2F0aW9uIGRhdGU8L2Rpdj4mbmJzcDs6Jm5ic3A7PHNwYW4gaXRlbXByb3A9InJlbGVhc2VEYXRlIj4xOTc5LTExPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9saT4KICA8bGk+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktbGFiZWwiPkVkaXRpb248L2Rpdj4mbmJzcDs6Jm5ic3A7MTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktbGFiZWwiPk51bWJlciBvZiBwYWdlczwvZGl2PiZuYnNwOzombmJzcDszPC9kaXY+CiAgICA8L2Rpdj4KICA8L2xpPgogIDxsaT4KICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPgogICAgICAgIDxkaXYgY2xhc3M9ImVudHJ5LWxhYmVsIj5UZWNobmljYWwgQ29tbWl0dGVlPC9kaXY+Jm5ic3A7OgogICAgICAgIDxzcGFuIGNsYXNzPSJlbnRyeS1uYW1lIGVudHJ5LWJsb2NrIj4KICAgICAgICAgIDxhIGhyZWY9Ii9jb21taXR0ZWUvNDg0NTguaHRtbCI+SVNPL1RDIDQzPC9hPjwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZW50cnktdGl0bGUiPkFjb3VzdGljczwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2xpPgogIDxsaT4KICAgIDxkbCBjbGFzcz0iZGwtaW5saW5lIG5vLWJvdHRvbS1tYXJnaW4iPgogICAgICA8ZHQgY2xhc3M9ImVudHJ5LWxhYmVsIGVudHJ5LWJsb2NrIj48c3Ryb25nPklDUzwvc3Ryb25nPjwvZHQ+Jm5ic3A7OgogICAgICA8ZGQ+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZW50cnktbmFtZSBlbnRyeS1ibG9jayI+CiAgICAgICAgICAgIDxhIGhyZWY9Ii9pY3MvMTcuMTQwLjAxLmh0bWwiPgogICAgICAgICAgICAgICAgMTcuMTQwLjAxPC9hPgogICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImVudHJ5LXRpdGxlIj5BY291c3RpYyBtZWFzdXJlbWVudHMgYW5kIG5vaXNlIGFiYXRlbWVudCBpbiBnZW5lcmFsPC9zcGFuPgogICAgICAgIDwvZGQ+CiAgICAgIDwvZGw+CiAgPC9saT4KPC91bD4KPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbWQtb2Zmc2V0LTEiPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGlkPSJsaWZlY3ljbGUiPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgogICAgICAgIDxoMz5MaWZlIGN5Y2xlPC9oMz4KICAgICAgICA8YnIvPgogICAgICAgIDxkaXYgY2xhc3M9ImxpZmVjeWNsZSI+CiAgICAgICAgICA8dWwgY2xhc3M9InN0ZXBzIj4KICAgICAgICAgICAgPGxpIGNsYXNzPSJ0aW1lLXN0ZXAiPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LWhlbHAiPlByZXZpb3VzbHk8L2g0PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCBzdGVwLWRhcmsiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZCI+V2l0aGRyYXduPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGg1PjxhIGhyZWY9Ii9zdGFuZGFyZC80MzIzLmh0bWwiPklTTy9SIDM1NzoxOTYzPC9hPjwvaDU+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJ0aW1lLXN0ZXAiPgogICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1oZWxwIj5Ob3c8L2g0PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAgc3RlcC1kYXJrIGFjdGl2ZSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkIj5XaXRoZHJhd248L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDU+SVNPIDEzMToxOTc5PC9oNT4KICAgICAgICAgICAgICAgICAgPGEgZGF0YS1icy10b2dnbGU9ImNvbGxhcHNlIiByb2xlPSJidXR0b24iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBocmVmPSIjc3RhZ2VzIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIGN1cnJlbnQtc3RhZ2UgdGV4dC1zbSBjb2xsYXBzZWQiPlN0YWdlOiA8c3Ryb25nPjk1Ljk5PC9zdHJvbmc+PC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8dWwgY2xhc3M9InN0YWdlcyBjb2xsYXBzZSIgaWQ9InN0YWdlcyI+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIGFsZXJ0LWluZm8iPgoKICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgIHJvbGU9ImJ1dHRvbiIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+MDA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj5QcmVsaW1pbmFyeTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24gYWxlcnQtaW5mbyI+CgogICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiAgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj4xMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPlByb3Bvc2FsPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBhbGVydC1pbmZvIj4KCiAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiICByb2xlPSJidXR0b24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjIwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+UHJlcGFyYXRvcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIGFsZXJ0LWluZm8iPgoKICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy1kaXNwbGF5PSJzdGF0aWMiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj4zMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPkNvbW1pdHRlZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjMzBfMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+MzAuMDA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTc4LTA3LTAxPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWl0dGVlIGRyYWZ0IChDRCkgcmVnaXN0ZXJlZDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24gYWxlcnQtaW5mbyI+CgogICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiAgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj40MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPkVucXVpcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIGFsZXJ0LWluZm8iPgoKICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy1kaXNwbGF5PSJzdGF0aWMiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj41MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPkFwcHJvdmFsPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvc3RhZ2UtY29kZXMuaHRtbCM1MF8wMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj41MC4wMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWRhdGUiPjE5NzktMDMtMDE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaW5hbCB0ZXh0IHJlY2VpdmVkIG9yIEZESVMgcmVnaXN0ZXJlZCBmb3IgZm9ybWFsIGFwcHJvdmFsPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48bGkgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjNTBfMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+NTAuMjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTc5LTA4LTAxPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvb2Ygc2VudCB0byBzZWNyZXRhcmlhdCBvciBGRElTIGJhbGxvdCBpbml0aWF0ZWQ6IDggd2Vla3M8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxsaSA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvc3RhZ2UtY29kZXMuaHRtbCM1MF82MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj41MC42MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWRhdGUiPjE5NzktMDgtMDE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZSBvZiB2b3RpbmcuIFByb29mIHJldHVybmVkIGJ5IHNlY3JldGFyaWF0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48L3VsPgogICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBhbGVydC1zdWNjZXNzIj4KCiAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtYnMtZGlzcGxheT0ic3RhdGljIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIHJvbGU9ImJ1dHRvbiIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+NjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLXRpdGxlIj5QdWJsaWNhdGlvbjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjNjBfNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+NjAuNjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTc5LTExLTAxPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBwdWJsaXNoZWQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIGFsZXJ0LXN1Y2Nlc3MiPgoKICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy1kaXNwbGF5PSJzdGF0aWMiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj45MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPlJldmlldzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgIGNsYXNzPSdsaXN0LXNlcGFyYXRpb24nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjOTBfMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+OTAuMjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTkzLTExLTMwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCB1bmRlciBzeXN0ZW1hdGljIHJldmlldzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGxpID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdGFnZS1jb2Rlcy5odG1sIzkwXzYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjkwLjYwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtZGF0ZSI+MTk5NC0wNy0xNTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlIG9mIHJldmlldzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGxpID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdGFnZS1jb2Rlcy5odG1sIzkwXzk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjkwLjk5PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtZGF0ZSI+MTk5NS0wNy0xOTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhkcmF3YWwgb2YgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBwcm9wb3NlZCBieSBUQyBvciBTQzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24gYmctZGFyayBhY3RpdmUiPgoKICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy1kaXNwbGF5PSJzdGF0aWMiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgcm9sZT0iYnV0dG9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1jb2RlIj45NTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPldpdGhkcmF3YWw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdGFnZS1jb2Rlcy5odG1sIzk1XzIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjk1LjIwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtZGF0ZSI+MTk5NS0wOC0xMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhkcmF3YWwgYmFsbG90IGluaXRpYXRlZDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGxpID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdGFnZS1jb2Rlcy5odG1sIzk1XzYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YWdlLWNvZGUiPjk1LjYwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtZGF0ZSI+MTk5NS0xMS0wODwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlIG9mIHZvdGluZzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGxpIGNsYXNzPSJhY3RpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3N0YWdlLWNvZGVzLmh0bWwjOTVfOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhZ2UtY29kZSI+OTUuOTk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFnZS1kYXRlIj4xOTk2LTAzLTA3PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGRyYXdhbCBvZiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48L3VsPgogICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNlY3Rpb24gY2xhc3M9ImJnLWxpZ2h0Z3JheSIgaWQ9ImNvbnRhY3QiPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgPGg0PkdvdCBhIHF1ZXN0aW9uPzwvaDQ+Cgo8cD5DaGVjayBvdXQgb3VyIDxhIGhyZWY9Ii9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy1mYXFzLmh0bWwiIHRpdGxlPSJGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyAoRkFRcykiPkZBUXM8L2E+PC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgPGRpdiBjbGFzcz0idmNhcmQgY29udGFjdCBuby1maWd1cmUgY2xlYXJmaXgiIGl0ZW1zY29wZT0iIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvUGVyc29uIj4KPGRpdiBjbGFzcz0iY29udGVudC1ib3ggbm8taW1hZ2UiPgo8ZGl2IGNsYXNzPSJmbiBuIj48c3BhbiBjbGFzcz0iZ2l2ZW4tbmFtZSIgaXRlbXByb3A9ImdpdmVuTmFtZSI+Q3VzdG9tZXIgY2FyZTwvc3Bhbj48L2Rpdj4KCjxkaXYgY2xhc3M9InRlbCIgaXRlbXByb3A9InRlbGVwaG9uZSI+KzQxIDIyIDc0OSAwOCA4ODwvZGl2PgoKPGRpdiBjbGFzcz0iZW1haWwiIGl0ZW1wcm9wPSJlbWFpbCI+PGEgaHJlZj0ibWFpbHRvOmN1c3RvbWVyc2VydmljZUBpc28ub3JnIj5jdXN0b21lcnNlcnZpY2VAaXNvLm9yZzwvYT48L2Rpdj4KCjxociAvPgo8ZGl2IGNsYXNzPSJub3RlIj4KPHAgY2xhc3M9InNtYWxsIj5PcGVuaW5nIGhvdXJzOjxiciAvPgpNb25kYXkgdG8gRnJpZGF5IC0gMDk6MDAtMTI6MDAsIDE0OjAwLTE3OjAwIChVVEMrMSk8L3A+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ3ZWxsIHRleHQtY2VudGVyIGNsZWFyZml4Ij4KICA8aDQ+S2VlcCB1cCB0byBkYXRlIHdpdGggSVNPPC9oND4KCjxwPlNpZ24gdXAgdG8gb3VyIG5ld3NsZXR0ZXIgZm9yIHRoZSBsYXRlc3QgbmV3cywgdmlld3MgYW5kIHByb2R1Y3QgaW5mb3JtYXRpb24uPC9wPjxkaXY+PGEgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgZGF0YS1mYW5jeWJveD0iIiBkYXRhLXR5cGU9ImlmcmFtZSIgaHJlZj0iaHR0cHM6Ly9jb25maXJtc3Vic2NyaXB0aW9uLmNvbS9oL2QvMzQxMkRBNzk5M0FDM0I3QyI+U3Vic2NyaWJlPC9hPjwvZGl2Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHsKIHdpZHRoICA6IDUwMHB4OwogaGVpZ2h0IDogNjAwcHg7CiBtYXgtd2lkdGggIDogODAlOwogbWF4LWhlaWdodCA6IDgwJTsKIG1hcmdpbjogMDsKfQouZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCAubC1wYWdlLWNvbnRhaW5lciB7CnBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKfQo8L3N0eWxlPjwvZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj48ZGl2IGNsYXNzPSJuYXYtYnJlYWRjcnVtYiBwcmludC1mb290ZXIgYmctYmxhY2siPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTAgc21hbGwiPgogICAgICAgICAgICAgIDwhLS0gQlJFQURDUlVNQiAtLT4KICAgICAgICAgICAgICA8b2wgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgPGxpIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iPjxhIGhyZWY9Ii9ob21lLmh0bWwiIHRpdGxlPSJIb21lIHBhZ2UiPjxpIGNsYXNzPSJiaS1ob3VzZSIgYXJpYS1oaWRkZW49InRydWUiPjwvaT48L2E+PC9saT4KICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIj4KICAgICAgICAgIDxhIGhyZWY9Ii9zdG9yZS5odG1sIj5TdG9yZTwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgPGxpIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iPgogICAgICAgICAgPGEgaHJlZj0iL3N0YW5kYXJkcy1jYXRhbG9ndWUvYnJvd3NlLWJ5LWljcy5odG1sIiA+U3RhbmRhcmRzIGNhdGFsb2d1ZTwvYT4KPC9saT4KICAgICAgPGxpIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iPgogICAgICAgICAgPGEgaHJlZj0iL3N0YW5kYXJkcy1jYXRhbG9ndWUvYnJvd3NlLWJ5LWljcy5odG1sIj5JQ1M8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIj48YSBocmVmPSIvZW4vaWNzLzE3Lmh0bWwiPjE3PC9hPjwvbGk+CiAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSI+PGEgaHJlZj0iL2VuL2ljcy8xNy4xNDAuaHRtbCI+MTcuMTQwPC9hPjwvbGk+CiAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSI+PGEgaHJlZj0iL2VuL2ljcy8xNy4xNDAuMDEuaHRtbCI+MTcuMTQwLjAxPC9hPjwvbGk+PGxpIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iPklTTyAxMzE6MTk3OTwvbGk+PC9vbD48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTIgaGlkZGVuLXByaW50IHRleHQtZW5kIHNtYWxsIG10LTMgbXQtc20tMCI+CiAgICAgICAgICAgICAgPGEgcm9sZT0iYnV0dG9uIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIHRleHQtd2hpdGUgY29sbGFwc2VkIiBkYXRhLWJzLXRvZ2dsZT0iY29sbGFwc2UiIGhyZWY9IiNjb2xsYXBzZVNpdGVtYXAiIHRhcmdldD0iX3NlbGYiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZVNpdGVtYXAiPlNpdGVtYXA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgYm9yZGVyLXRvcCIgaWQ9ImNvbGxhcHNlU2l0ZW1hcCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgPCEtLSBTSVRFTUFQIC0tPgogICAgICAgICAgICAgIDxuYXYgcm9sZT0ibmF2aWdhdGlvbiIgYXJpYS1sYWJlbD0iU2l0ZW1hcCIgY2xhc3M9InNpdGVtYXAtZm9vdGVyIGNsZWFyZml4IHNtYWxsICIgaWQ9Im5hdi1zaXRlbWFwIj48dWwgcm9sZT0ibWVudWJhciIgY2xhc3M9IiBuYXYtbGV2ZWwxIGxpc3QtaW5saW5lLTUgY2xlYXJmaXgiPjxsaSByb2xlPSJub25lIiBjbGFzcz0iaGFzQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3N0YW5kYXJkcy5odG1sIj5TdGFuZGFyZHM8L2E+PHVsIHJvbGU9Im1lbnUiIGNsYXNzPSIgbmF2LWxldmVsMiAgbGlzdC11bnN0eWxlZCI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGZpcnN0SW5MZXZlbCI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9iZW5lZml0cy1vZi1zdGFuZGFyZHMuaHRtbCI+QmVuZWZpdHM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcG9wdWxhci1zdGFuZGFyZHMuaHRtbCI+UG9wdWxhciBzdGFuZGFyZHM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvY29uZm9ybWl0eS1hc3Nlc3NtZW50Lmh0bWwiPkNvbW1pdHRlZSBmb3IgY29uZm9ybWl0eSBhc3Nlc3NtZW50IChDQVNDTyk8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gbGFzdEluTGV2ZWwiPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvc2Rncy5odG1sIj5TREdzPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJoYXNDaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9hYm91dC11cy5odG1sIj5BYm91dCB1czwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9IiBuYXYtbGV2ZWwyICBsaXN0LXVuc3R5bGVkIj48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3doYXQtd2UtZG8uaHRtbCI+V2hhdCB3ZSBkbzwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdHJ1Y3R1cmUuaHRtbCI+U3RydWN0dXJlPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL21lbWJlcnMuaHRtbCI+TWVtYmVyczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBsYXN0SW5MZXZlbCI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdHJhdGVneTIwMzAuaHRtbCI+U3RyYXRlZ3k8L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Imhhc0NoaWxkcmVuIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL25ld3MuaHRtbCI+TmV3czwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9IiBuYXYtbGV2ZWwyICBsaXN0LXVuc3R5bGVkIj48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvZXZlbnRzLmh0bWwiPkV2ZW50czwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9tZWRpYS1raXQuaHRtbCI+TWVkaWEga2l0PC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJoYXNDaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9kZXZlbG9waW5nLXN0YW5kYXJkcy5odG1sIj5UYWtpbmcgcGFydDwvYT48dWwgcm9sZT0ibWVudSIgY2xhc3M9IiBuYXYtbGV2ZWwyICBsaXN0LXVuc3R5bGVkIj48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gZmlyc3RJbkxldmVsIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3doby1kZXZlbG9wcy1zdGFuZGFyZHMuaHRtbCI+V2hvIGRldmVsb3BzIHN0YW5kYXJkczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9kZWxpdmVyYWJsZXMtYWxsLmh0bWwiPkRlbGl2ZXJhYmxlczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9nZXQtaW52b2x2ZWQuaHRtbCI+R2V0IGludm9sdmVkPC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL0NsaW1hdGVBY3Rpb24uaHRtbCI+Q2xpbWF0ZSBhY3Rpb24ga2l0PC9hPjwvbGk+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGxhc3RJbkxldmVsIj48YSBjbGFzcz0ibmF2LWxpbmsgIiByb2xlPSJtZW51aXRlbSIgaHJlZj0iL3Jlc291cmNlcy5odG1sIj5SZXNvdXJjZXM8L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Imhhc0NoaWxkcmVuIGluUGF0aCAgbGFzdEluTGV2ZWwiPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvc3RvcmUuaHRtbCI+U3RvcmU8L2E+PHVsIHJvbGU9Im1lbnUiIGNsYXNzPSIgbmF2LWxldmVsMiAgbGlzdC11bnN0eWxlZCI+PGxpIHJvbGU9Im5vbmUiIGNsYXNzPSJub0NoaWxkcmVuIGluUGF0aCAgYWN0aXZlIGZpcnN0SW5MZXZlbCI+PGEgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9zdGFuZGFyZHMtY2F0YWxvZ3VlL2Jyb3dzZS1ieS1pY3MuaHRtbCIgIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBjYXRhbG9ndWU8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcHVibGljYXRpb24tbGlzdC5odG1sIj5QdWJsaWNhdGlvbnMgYW5kIHByb2R1Y3RzPC9hPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbGk+PC91bD48IS0tIGNsb3NlIG9mIHVsIGxldmVsIC0tPjwvbmF2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9tYWluPgogICAgPGZvb3RlciByb2xlPSJjb250ZW50aW5mbyIgYXJpYS1sYWJlbD0iRm9vdGVyIiBjbGFzcz0iZm9vdGVyLWlzbyBmb290ZXItZGFyayBiZy1kYXJrZXJncmF5Ij4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItbGlua3MgY2VudGVyLWJsb2NrIj4KICAgICAgICAgIDwhLS0gRk9PVEVSIExJTktTIC0tPgogICAgICAgICAgPG5hdiByb2xlPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJJbmxpbmUgTmF2aWdhdGlvbiIgY2xhc3M9IiIgaWQ9IiI+PHVsIHJvbGU9Im1lbnViYXIiIGNsYXNzPSJsaXN0LWlubGluZSBjbGVhcmZpeCAgbmF2LWxldmVsMSAiPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiBmaXJzdEluTGV2ZWwiPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvaXNvLW5hbWUtYW5kLWxvZ28uaHRtbCI+SVNPIG5hbWUgYW5kIGxvZ288L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvcHJpdmFjeS1hbmQtY29weXJpZ2h0Lmh0bWwiPlByaXZhY3kgYW5kIGNvcHlyaWdodDwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9jb29raWVzLmh0bWwiPkNvb2tpZSBwb2xpY3k8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4iPjxhIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvd29ya2luZy13aXRoLWlzby5odG1sIiAgY2xhc3M9Im5hdi1saW5rICI+Sm9iczwvYT48L2xpPjxsaSByb2xlPSJub25lIiBjbGFzcz0ibm9DaGlsZHJlbiI+PGEgY2xhc3M9Im5hdi1saW5rICIgcm9sZT0ibWVudWl0ZW0iIGhyZWY9Ii9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy1mYXFzLmh0bWwiPkZBUXM8L2E+PC9saT48bGkgcm9sZT0ibm9uZSIgY2xhc3M9Im5vQ2hpbGRyZW4gbGFzdEluTGV2ZWwiPjxhIGNsYXNzPSJuYXYtbGluayAiIHJvbGU9Im1lbnVpdGVtIiBocmVmPSIvY29udGFjdC1pc28uaHRtbCI+Q29udGFjdCBJU088L2E+PC9saT48L3VsPjwhLS0gY2xvc2Ugb2YgdWwgbGV2ZWwgLS0+PC9uYXY+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXNvY2lhbCBjbGVhcmZpeCI+CiAgICAgICAgICA8dWwgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwczovL3NjaGVtYS5vcmcvT3JnYW5pemF0aW9uIj4KICAgICAgICAgICAgPGxpbmsgaXRlbXByb3A9InVybCIgaHJlZj0iaHR0cHM6Ly93d3cuaXNvLm9yZy8iPgogICAgICAgICAgICA8bGk+PGEgaXRlbXByb3A9InNhbWVBcyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2lzb3N0YW5kYXJkcyIgdGl0bGU9IkxpbmtlZGluIj48aSBjbGFzcz0iYmktbGlua2VkaW4iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGl0ZW1wcm9wPSJzYW1lQXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2lzb3N0YW5kYXJkcyIgdGl0bGU9IlR3aXR0ZXIiPjxpIGNsYXNzPSJiaS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBpdGVtcHJvcD0ic2FtZUFzIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2lzb3N0YW5kYXJkcyIgdGl0bGU9IkZhY2Vib29rIj48aSBjbGFzcz0iYmktZmFjZWJvb2siPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGl0ZW1wcm9wPSJzYW1lQXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS91c2VyL1BsYW5ldElTTyIgdGl0bGU9IllvdVR1YmUiPjxpIGNsYXNzPSJiaS15b3V0dWJlIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBpdGVtcHJvcD0ic2FtZUFzIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9pc29zdGFuZGFyZHMiIHRpdGxlPSJJbnN0YWdyYW0iPjxpIGNsYXNzPSJiaS1pbnN0YWdyYW0iPjwvaT48L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9ImxlYWQiPkdyZWF0IHRoaW5ncyBoYXBwZW4gd2hlbiB0aGUgd29ybGQgYWdyZWVzPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOCBjb2wtbWQtb2Zmc2V0LTIgcHVsbC1sZWZ0Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMiPldlIGFyZSBjb21taXR0ZWQgdG8gZW5zdXJpbmcgdGhhdCBvdXIgd2Vic2l0ZSBpcyBhY2Nlc3NpYmxlIHRvIGV2ZXJ5b25lLiBJZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIG9yIHN1Z2dlc3Rpb25zIHJlZ2FyZGluZyB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0aGlzIHNpdGUsIHBsZWFzZSA8YSBocmVmPSJtYWlsdG86d2VibWFzdGVyQGlzby5vcmc/c3ViamVjdD1BY2Nlc3NpYmlsaXR5IiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcCI+Y29udGFjdCB1czwvYT4uPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSI+PGEgaHJlZj0iI2NvcHlyaWdodCIgdGFyZ2V0PSJfc2VsZiIgZGF0YS1icy10b2dnbGU9ImNvbGxhcHNlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iY29weXJpZ2h0Ij7CqSBBbGwgUmlnaHRzIFJlc2VydmVkPC9hPiA8c3BhbiBpZD0iY29weXJpZ2h0IiBjbGFzcz0iY29sbGFwc2UiPkFsbCBJU08gcHVibGljYXRpb25zIGFuZCBtYXRlcmlhbHMgYXJlIHByb3RlY3RlZCBieSBjb3B5cmlnaHQgYW5kIGFyZSBzdWJqZWN0IHRvIHRoZSB1c2Vy4oCZcyBhY2NlcHRhbmNlIG9mIElTT+KAmXMgY29uZGl0aW9ucyBvZiBjb3B5cmlnaHQuIEFueSB1c2UsIGluY2x1ZGluZyByZXByb2R1Y3Rpb24gcmVxdWlyZXMgb3VyIHdyaXR0ZW4gcGVybWlzc2lvbi4gQWxsIGNvcHlyaWdodCByZXF1ZXN0cyBzaG91bGQgYmUgYWRkcmVzc2VkIHRvIDxhIGhyZWY9Im1haWx0bzpjb3B5cmlnaHRAaXNvLm9yZyI+Y29weXJpZ2h0QGlzby5vcmc8L2E+Ljwvc3Bhbj48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRvcGJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wYmFyLWNvbnRlbnQiPgogICAgICAgICAgPGEgY2xhc3M9ImxvZ28gaXNvbG9nbyBsb2dvLXhzIHRoZW1lLXJlZCBwb3dlcmVkYnkgcGFnZS1zY3JvbGwgbG9nby1zY3JvbGxUb3AiIGhyZWY9IiNwYWdlLXRvcCIgdGl0bGU9IlNjcm9sbCB0byB0b3AiPjwvYT4KPGRpdiBjbGFzcz0icG93ZXJlZGJ5LXR4dCI+UG93ZXJlZCBieTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icnViYmVyIj48L2Rpdj4KICAgIDwvZm9vdGVyPgoKICAgIAoKPC9ib2R5Pgo8L2h0bWw+
|
148
|
-
recorded_at: Mon, 26 Sep 2022 09:21:11 GMT
|
149
|
-
recorded_with: VCR 6.1.0
|