relaton 1.11.3 → 1.11.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/docs/README.adoc +0 -13
  3. data/lib/relaton/db.rb +6 -31
  4. data/lib/relaton/db_cache.rb +6 -6
  5. data/lib/relaton/version.rb +1 -1
  6. data/relaton.gemspec +1 -1
  7. data/spec/relaton/db_spec.rb +24 -57
  8. data/spec/relaton_spec.rb +8 -11
  9. data/spec/vcr_cassetes/3gpp_tr_00_01u_umts_3_0_0.yml +9 -9
  10. data/spec/vcr_cassetes/async_fetch.yml +1441 -1441
  11. data/spec/vcr_cassetes/bipm_i18n_async_fetch.yml +620 -0
  12. data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +10 -10
  13. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +10 -10
  14. data/spec/vcr_cassetes/cie_001_1980.yml +7 -7
  15. data/spec/vcr_cassetes/ecma_6.yml +7 -7
  16. data/spec/vcr_cassetes/en_10160_1999.yml +29 -29
  17. data/spec/vcr_cassetes/fisp_140.yml +6 -6
  18. data/spec/vcr_cassetes/gb_t_20223_2006.yml +6 -6
  19. data/spec/vcr_cassetes/iana_service_names_port_numbers.yml +10 -10
  20. data/spec/vcr_cassetes/iec_60050_102_2007.yml +28 -28
  21. data/spec/vcr_cassetes/iec_combined_included.yml +99 -97
  22. data/spec/vcr_cassetes/ieee_528_2019.yml +858 -859
  23. data/spec/vcr_cassetes/iho_b_11.yml +7 -7
  24. data/spec/vcr_cassetes/iso_111111119115_1.yml +3 -3
  25. data/spec/vcr_cassetes/iso_19115_1.yml +14 -14
  26. data/spec/vcr_cassetes/iso_19115_1_2.yml +29 -29
  27. data/spec/vcr_cassetes/iso_19115_all_parts.yml +18 -18
  28. data/spec/vcr_cassetes/iso_19133_2005.yml +17 -17
  29. data/spec/vcr_cassetes/iso_combined_applied.yml +27 -27
  30. data/spec/vcr_cassetes/iso_combined_included.yml +30 -30
  31. data/spec/vcr_cassetes/iso_dis_14093.yml +15 -15
  32. data/spec/vcr_cassetes/itu_combined_included.yml +182 -182
  33. data/spec/vcr_cassetes/oasis_amqp_core_types_v1_0_pt1.yml +10 -10
  34. data/spec/vcr_cassetes/ogc_19_025r1.yml +11 -11
  35. data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +4 -4
  36. data/spec/vcr_cassetes/rfc_8341.yml +112 -24
  37. data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
  38. data/spec/vcr_cassetes/threads_from_env.yml +59 -59
  39. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +29 -29
  40. data/spec/vcr_cassetes/w3c_json_ld11.yml +44 -23
  41. metadata +3 -11
  42. data/globalcache/iec/iec_60050_102_2007.xml +0 -58
  43. data/globalcache/iec/version +0 -1
  44. data/lib/relaton/static_cache/iso/iso_iec_dir_1.yml +0 -33
  45. data/lib/relaton/static_cache/iso/iso_iec_dir_1_iec_sup.yml +0 -32
  46. data/lib/relaton/static_cache/iso/iso_iec_dir_1_iso_sup.yml +0 -39
  47. data/lib/relaton/static_cache/iso/iso_iec_dir_2_iec.yml +0 -32
  48. data/lib/relaton/static_cache/iso/iso_iec_dir_2_iso.yml +0 -39
  49. data/lib/relaton/static_cache/iso/iso_iec_dir_iec_sup.yml +0 -32
  50. data/lib/relaton/static_cache/iso/iso_iec_dir_jtc_1_sup.yml +0 -32
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: action=ieee_cloudsearch&q=IEEE+528-2019
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v1.8.0
11
+ - Faraday v1.10.0
12
12
  Content-Type:
13
13
  - application/x-www-form-urlencoded
14
14
  Accept-Encoding:
@@ -21,7 +21,7 @@ http_interactions:
21
21
  message: OK
22
22
  headers:
23
23
  Date:
24
- - Fri, 27 May 2022 11:48:31 GMT
24
+ - Thu, 16 Jun 2022 09:30:37 GMT
25
25
  Content-Type:
26
26
  - text/html; charset=UTF-8
27
27
  Transfer-Encoding:
@@ -36,10 +36,10 @@ http_interactions:
36
36
  - Wed, 11 Jan 1984 05:00:00 GMT
37
37
  Cache-Control:
38
38
  - no-cache, must-revalidate, max-age=0
39
- X-Frame-Options:
40
- - SAMEORIGIN
41
39
  Referrer-Policy:
42
40
  - strict-origin-when-cross-origin
41
+ X-Frame-Options:
42
+ - SAMEORIGIN
43
43
  Vary:
44
44
  - Accept-Encoding
45
45
  X-Powered-By:
@@ -51,12 +51,12 @@ http_interactions:
51
51
  Server:
52
52
  - cloudflare
53
53
  Cf-Ray:
54
- - 711e859ba80e77f7-VIE
54
+ - 71c2871beff377ec-VIE
55
55
  Alt-Svc:
56
56
  - h3=":443"; ma=86400, h3-29=":443"; ma=86400
57
57
  body:
58
58
  encoding: ASCII-8BIT
59
- string: '{"status":"ok","total_pages":3,"results":{"status":{"rid":"xf7iqpAwzusECtRG\/g==","time-ms":4},"hits":{"found":24,"start":0,"hit":[{"id":"c1dc1ae6ae407ec0a8a761c1e4e0832655dda6ed376d509c9f6f5cd99767c79abf416c615774db732cc8100d9c5a2eb0cfa7709ce0d82b88b603bbaba6278fd0","fields":{"meta_keywords_la":["Aerospace
59
+ string: '{"status":"ok","total_pages":3,"results":{"status":{"rid":"8uDm3pYw\/44ICtRLbQ==","time-ms":12},"hits":{"found":24,"start":0,"hit":[{"id":"c1dc1ae6ae407ec0a8a761c1e4e0832655dda6ed376d509c9f6f5cd99767c79abf416c615774db732cc8100d9c5a2eb0cfa7709ce0d82b88b603bbaba6278fd0","fields":{"meta_keywords_la":["Aerospace
60
60
  Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Standard
61
61
  for Inertial Sensor Terminology","meta_type_la":["Standard"],"meta_description_l":"Terms
62
62
  and definitions relating to inertial sensors are presented in this standard.
@@ -299,128 +299,6 @@ http_interactions:
299
299
  IEEE is the world\u2019s largest technical professional organization dedicated
300
300
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
301
301
  up for our monthly newsletter to learn about new developments, including resources,
302
- insights and more. "}},{"id":"6273bb5f6a6de25ca6fe5bb05a87adb3725e7c8f4c1661cda39f22e1f34267fae5504e0f050b949e7386975ba076329cbb467dd8a78da5224cb7e56f69948373","fields":{"meta_keywords_la":["Aerospace
303
- Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"Letter
304
- terms in common usage are related to the frequency ranges that they represent
305
- in this standard.","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/tag\/aerospace-electronics\/","doc_title_t":"IEEE
306
- SA - Tag: Aerospace-electronics","doc_text_t":"IEEE SA - Tag: Aerospace-electronics
307
- IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum More Sites
308
- eTools Standards Access Standards Search Standards Standards Development Standards
309
- Adoption Choose from the many ways to access IEEE SA Standards. Choose from
310
- individual or organizational access options to get the standards you need.
311
- Find the standards you\u2019re looking for. Get involved in the development
312
- of market-driven technology standards with proven expertise and dedicated
313
- support. Learn more about how to adopt IEEE standards. Products & Programs
314
- Alliance Management Services Conformity Assessment & Certification IEEE SA
315
- Open Source Industry Affiliate Network (IAN) Industry Connections The National
316
- Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority Government
317
- Engagement Program on Standards (GEPS) Standards Fellowship All Products &
318
- Programs Full ecosystem of standards-related solutions to help drive awareness,
319
- activation, and adoption. Providing support services to help manage the day-to-day
320
- operations of industry groups, allowing key stakeholders to focus on the work
321
- at hand. Focused on development and implementation of rigorous conformity
322
- assessment programs designed to help accelerate market adoption, reduce costs
323
- and more. A vendor-neutral, inclusive, open source platform\u2014for all,
324
- from independent software developers and start ups to industry, academic and
325
- research institutions. Open to consortia, industry alliance or other industry
326
- organizations, looking to bring forward specifications for standards development
327
- and market adoption. Facilitating collaboration among organizations and individuals
328
- as they hone and refine their thinking on rapidly changing technologies. Guidelines
329
- for practical safeguarding during the installation, operation, and maintenance
330
- of electric supply, communication lines and associated equipment. Assigns
331
- and maintains unique identifiers and unambiguous names to objects for those
332
- wishing to register them. Program for policymakers providing tailored standards
333
- information, access to the IEEE SA standardization ecosystem, and standardization
334
- resources. Providing global standards professionals the opportunity to observe
335
- the IEEE standards development process and learn about technical areas of
336
- interest. See all the programs, products, and services that IEEE SA has to
337
- offer. Focuses Artificial Intelligence Systems (AIS) Connectivity & Telecom
338
- Energy Foundational Technologies Healthcare and Life Sciences Mobility Government
339
- Engagement Strategic focuses and industries where IEEE SA is raising the world\u2019s
340
- standards. Developing accessible and sustainable approaches and solutions
341
- for practical application of AIS principles and frameworks. Advancing robust,
342
- responsible, and affordable connectivity. Enabling sustainable, efficient,
343
- and accessible energy through technological advances on a global scale. Working
344
- to standardize seamless and ubiquitous connectivity across all applications
345
- of connected technologies. Focused on enabling affordable healthcare, access
346
- to medicine, and innovation to improve overall global wellness. Working to
347
- help the evolving mobility ecosystem address some of its greatest business
348
- opportunities that have the potential to solve major societal challenges.
349
- Building bridges between the worlds of technology, standards, and policy making.
350
- Get Involved Events IEEE SA Membership How to Get Involved Learn about opportunities
351
- to engage with IEEE SA. Join us at upcoming virtual or in-person events. Flexible
352
- membership options that offer enhanced participation in IEEE SA activities,
353
- standards development, and governance. There are many opportunities for participation,
354
- find the right one for you. Resources Training & Development News IEEE SA
355
- Newsletter Standards Store Training and communication resources to stay connected.
356
- Individual and organizational effectiveness program to enable the success
357
- of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
358
- newsletter and keep up to date on the latest standards, event, and activities.
359
- Get the standards you need. Select from individual standards or standards
360
- bundles. MAC Address Tag: Aerospace-electronics Home Tag: aerospace-electronics
361
- IEEE 521-2019 Letter terms in common usage are related to the frequency ranges
362
- that they represent in this standard. Read more IEEE 1939.1-2021 A structure
363
- of low-altitude airspace for efficient unmanned aerial vehicle (UAV) traffic
364
- management is defined in this standard. The standard elaborates the structural
365
- low altitude based on UAV low-altitude public air routes from five parts:
366
- grid technology, remote sensing data, communication and networking, route
367
- planning, operation, and management. Read more IEEE 952-2020 Specification
368
- and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
369
- for use as a sensor in attitude control systems, angular displacement measuring
370
- systems, and angular rate measuring systems are defined. The test procedures
371
- are derived from those presently used in the industry. Read more IEEE 528-2019
372
- Terms and definitions relating to inertial sensors are presented in this standard.
373
- Usage as understood by the inertial sensor community is given preference over
374
- general technical usage of the terms herein. The criterion for inclusion of
375
- a term and its definition in this standard is usefulness as related to inertial
376
- sensor technology. Read more IEEE 952-1997\/Cor 1-2016 Errors identified in
377
- IEEE Std 952-1997 are corrected in this corrigendum. Corrections are made
378
- to Figure 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
379
- 12.12.3.1, and 12.12.4.1. Read more IEEE\/AIEE 700-1953 Aircraft Direct-Current
380
- Apparatus Voltage Ratings Read more IEEE\/AIEE 750.11-1960 This pamphlet is
381
- one of a series comprising the Report on Aircraft and Missiles Electric Systems
382
- Guide, and has been so printed in order to allow for more convenient revision
383
- and addition of Sections as available without necessitating a reprint of the
384
- entire Guide. As of the time of printing this pamphlet the available Sections
385
- are: No. 750.1-Sections 000- Introduction, 100- Criteria for the Electric
386
- System, 200- Principal Subdivisions of Electric System, 300- Selection of
387
- the System, No. 750.4-Section 400- Installation Practices, No. 750.5-Sections
388
- 500-Equipment Characteristics, 800- Electric System Design Procedures,No.
389
- 750.11-Appendices I- Characteristics of Alternating-Current Generators Affecting
390
- Their Application\u2026 Read more IEEE\/AIEE 750.1-1960 Material comprising
391
- this report is directed primarily at the attainment of improved application
392
- technique--the attainment of the highest possible quality of performance from
393
- a combination of particular devices to perform a given function. The performance
394
- qualities exhibited by a composite system composed of numerous devices will
395
- be influenced by the character of devices which are selected to work together
396
- and the manner in which they are interconnected or correlated. The extent
397
- to which such composite systems may be benefited by proper application technique
398
- is great. Realization of the stated objective involves comprehensive treatment
399
- of the following character expressed quantitatively in\u2026 Read more IEEE\/AIEE
400
- 750.5-1960 Read more 1 2 3 \u2026 9 Next Tag Cloud Aerospace Electronics AI
401
- AIS Artificial Intelligence Systems AudCom autonomy batteries blockchain committees
402
- communications Computer Technology digital twins Electromagnetic Compatibility
403
- Ethics In Action Event Green and Clean Technology Healthcare IT ic IEEE ieee-sa
404
- IEEESA ieee sa ieee standards association IEEE Standards Association (IEEE
405
- SA) Industry Applications industry connections Instrumentation and Measurement
406
- Nuclear Power policies Power and Energy Practice Area registration authority
407
- RevCom SASB smart-x smart cities smart grid smart houses smart transportation
408
- Software and Systems Engineering standards standards board transportation
409
- trustworthy autonomy Wired and Wireless Communications Facebook Twitter LinkedIn
410
- Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program Distributor
411
- Program Training & Development Policies & Procedures Contact Us Board of Governors
412
- About Board of Governors Awards Committee Corporate Advisory Group Industry
413
- Connections Committee Registration Authority Committee Strategic Planning
414
- Coordination Committee Standards Board About Standards Board Board Approvals
415
- Audit Committee New Standards Committee Patent Committee Procedures Committee
416
- Standards Review Committee News & Events News IEEE SA Newsletter Events Home
417
- Sitemap Contact & Support Accessibility Nondiscrimination Policy IEEE Ethics
418
- Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9 Copyright 2021
419
- IEEE \u2013 All rights reserved. Use of this website signifies your agreement
420
- to the IEEE Terms and Conditions . A not-for-profit organization, IEEE is
421
- the world\u2019s largest technical professional organization dedicated to
422
- advancing technology for the benefit of humanity. Subscribe Newswire Sign
423
- up for our monthly newsletter to learn about new developments, including resources,
424
302
  insights and more. "}},{"id":"9cbcfe1a1a10411b11c4725a58de46093d36dbb24df9cf54f22fc40c487274be111ebd55c6bbfdced6a400f258cc88df638efa40720209c344f3f919968e9a7b","fields":{"meta_keywords_la":["Aerospace
425
303
  Electronics,Power and Energy"],"doc_type_l":"text\/html","meta_title_t":"IEEE
426
304
  SA - IEEE Standard for Inertial Sensor Terminology","meta_type_la":["Standard"],"meta_description_l":"Terms
@@ -665,6 +543,128 @@ http_interactions:
665
543
  IEEE is the world\u2019s largest technical professional organization dedicated
666
544
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
667
545
  up for our monthly newsletter to learn about new developments, including resources,
546
+ insights and more. "}},{"id":"6273bb5f6a6de25ca6fe5bb05a87adb3725e7c8f4c1661cda39f22e1f34267fae5504e0f050b949e7386975ba076329cbb467dd8a78da5224cb7e56f69948373","fields":{"meta_keywords_la":["Aerospace
547
+ Electronics"],"doc_type_l":"text\/html","meta_type_la":["Standard"],"meta_description_l":"Letter
548
+ terms in common usage are related to the frequency ranges that they represent
549
+ in this standard.","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/tag\/aerospace-electronics\/","doc_title_t":"IEEE
550
+ SA - Tag: Aerospace-electronics","doc_text_t":"IEEE SA - Tag: Aerospace-electronics
551
+ IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum More Sites
552
+ eTools Standards Access Standards Search Standards Standards Development Standards
553
+ Adoption Choose from the many ways to access IEEE SA Standards. Choose from
554
+ individual or organizational access options to get the standards you need.
555
+ Find the standards you\u2019re looking for. Get involved in the development
556
+ of market-driven technology standards with proven expertise and dedicated
557
+ support. Learn more about how to adopt IEEE standards. Products & Programs
558
+ Alliance Management Services Conformity Assessment & Certification IEEE SA
559
+ Open Source Industry Affiliate Network (IAN) Industry Connections The National
560
+ Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority Government
561
+ Engagement Program on Standards (GEPS) Standards Fellowship All Products &
562
+ Programs Full ecosystem of standards-related solutions to help drive awareness,
563
+ activation, and adoption. Providing support services to help manage the day-to-day
564
+ operations of industry groups, allowing key stakeholders to focus on the work
565
+ at hand. Focused on development and implementation of rigorous conformity
566
+ assessment programs designed to help accelerate market adoption, reduce costs
567
+ and more. A vendor-neutral, inclusive, open source platform\u2014for all,
568
+ from independent software developers and start ups to industry, academic and
569
+ research institutions. Open to consortia, industry alliance or other industry
570
+ organizations, looking to bring forward specifications for standards development
571
+ and market adoption. Facilitating collaboration among organizations and individuals
572
+ as they hone and refine their thinking on rapidly changing technologies. Guidelines
573
+ for practical safeguarding during the installation, operation, and maintenance
574
+ of electric supply, communication lines and associated equipment. Assigns
575
+ and maintains unique identifiers and unambiguous names to objects for those
576
+ wishing to register them. Program for policymakers providing tailored standards
577
+ information, access to the IEEE SA standardization ecosystem, and standardization
578
+ resources. Providing global standards professionals the opportunity to observe
579
+ the IEEE standards development process and learn about technical areas of
580
+ interest. See all the programs, products, and services that IEEE SA has to
581
+ offer. Focuses Artificial Intelligence Systems (AIS) Connectivity & Telecom
582
+ Energy Foundational Technologies Healthcare and Life Sciences Mobility Government
583
+ Engagement Strategic focuses and industries where IEEE SA is raising the world\u2019s
584
+ standards. Developing accessible and sustainable approaches and solutions
585
+ for practical application of AIS principles and frameworks. Advancing robust,
586
+ responsible, and affordable connectivity. Enabling sustainable, efficient,
587
+ and accessible energy through technological advances on a global scale. Working
588
+ to standardize seamless and ubiquitous connectivity across all applications
589
+ of connected technologies. Focused on enabling affordable healthcare, access
590
+ to medicine, and innovation to improve overall global wellness. Working to
591
+ help the evolving mobility ecosystem address some of its greatest business
592
+ opportunities that have the potential to solve major societal challenges.
593
+ Building bridges between the worlds of technology, standards, and policy making.
594
+ Get Involved Events IEEE SA Membership How to Get Involved Learn about opportunities
595
+ to engage with IEEE SA. Join us at upcoming virtual or in-person events. Flexible
596
+ membership options that offer enhanced participation in IEEE SA activities,
597
+ standards development, and governance. There are many opportunities for participation,
598
+ find the right one for you. Resources Training & Development News IEEE SA
599
+ Newsletter Standards Store Training and communication resources to stay connected.
600
+ Individual and organizational effectiveness program to enable the success
601
+ of our vital volunteers. Read the latest news on IEEE SA. Subscribe to our
602
+ newsletter and keep up to date on the latest standards, event, and activities.
603
+ Get the standards you need. Select from individual standards or standards
604
+ bundles. MAC Address Tag: Aerospace-electronics Home Tag: aerospace-electronics
605
+ IEEE 521-2019 Letter terms in common usage are related to the frequency ranges
606
+ that they represent in this standard. Read more IEEE 1939.1-2021 A structure
607
+ of low-altitude airspace for efficient unmanned aerial vehicle (UAV) traffic
608
+ management is defined in this standard. The standard elaborates the structural
609
+ low altitude based on UAV low-altitude public air routes from five parts:
610
+ grid technology, remote sensing data, communication and networking, route
611
+ planning, operation, and management. Read more IEEE 952-2020 Specification
612
+ and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
613
+ for use as a sensor in attitude control systems, angular displacement measuring
614
+ systems, and angular rate measuring systems are defined. The test procedures
615
+ are derived from those presently used in the industry. Read more IEEE 528-2019
616
+ Terms and definitions relating to inertial sensors are presented in this standard.
617
+ Usage as understood by the inertial sensor community is given preference over
618
+ general technical usage of the terms herein. The criterion for inclusion of
619
+ a term and its definition in this standard is usefulness as related to inertial
620
+ sensor technology. Read more IEEE 952-1997\/Cor 1-2016 Errors identified in
621
+ IEEE Std 952-1997 are corrected in this corrigendum. Corrections are made
622
+ to Figure 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
623
+ 12.12.3.1, and 12.12.4.1. Read more IEEE\/AIEE 700-1953 Aircraft Direct-Current
624
+ Apparatus Voltage Ratings Read more IEEE\/AIEE 750.11-1960 This pamphlet is
625
+ one of a series comprising the Report on Aircraft and Missiles Electric Systems
626
+ Guide, and has been so printed in order to allow for more convenient revision
627
+ and addition of Sections as available without necessitating a reprint of the
628
+ entire Guide. As of the time of printing this pamphlet the available Sections
629
+ are: No. 750.1-Sections 000- Introduction, 100- Criteria for the Electric
630
+ System, 200- Principal Subdivisions of Electric System, 300- Selection of
631
+ the System, No. 750.4-Section 400- Installation Practices, No. 750.5-Sections
632
+ 500-Equipment Characteristics, 800- Electric System Design Procedures,No.
633
+ 750.11-Appendices I- Characteristics of Alternating-Current Generators Affecting
634
+ Their Application\u2026 Read more IEEE\/AIEE 750.1-1960 Material comprising
635
+ this report is directed primarily at the attainment of improved application
636
+ technique--the attainment of the highest possible quality of performance from
637
+ a combination of particular devices to perform a given function. The performance
638
+ qualities exhibited by a composite system composed of numerous devices will
639
+ be influenced by the character of devices which are selected to work together
640
+ and the manner in which they are interconnected or correlated. The extent
641
+ to which such composite systems may be benefited by proper application technique
642
+ is great. Realization of the stated objective involves comprehensive treatment
643
+ of the following character expressed quantitatively in\u2026 Read more IEEE\/AIEE
644
+ 750.5-1960 Read more 1 2 3 \u2026 9 Next Tag Cloud Aerospace Electronics AI
645
+ AIS Artificial Intelligence Systems AudCom autonomy batteries blockchain committees
646
+ communications Computer Technology digital twins Electromagnetic Compatibility
647
+ Ethics In Action Event Green and Clean Technology Healthcare IT ic IEEE ieee-sa
648
+ IEEESA ieee sa ieee standards association IEEE Standards Association (IEEE
649
+ SA) Industry Applications industry connections Instrumentation and Measurement
650
+ Nuclear Power policies Power and Energy Practice Area registration authority
651
+ RevCom SASB smart-x smart cities smart grid smart houses smart transportation
652
+ Software and Systems Engineering standards standards board transportation
653
+ trustworthy autonomy Wired and Wireless Communications Facebook Twitter LinkedIn
654
+ Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program Distributor
655
+ Program Training & Development Policies & Procedures Contact Us Board of Governors
656
+ About Board of Governors Awards Committee Corporate Advisory Group Industry
657
+ Connections Committee Registration Authority Committee Strategic Planning
658
+ Coordination Committee Standards Board About Standards Board Board Approvals
659
+ Audit Committee New Standards Committee Patent Committee Procedures Committee
660
+ Standards Review Committee News & Events News IEEE SA Newsletter Events Home
661
+ Sitemap Contact & Support Accessibility Nondiscrimination Policy IEEE Ethics
662
+ Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9 Copyright 2021
663
+ IEEE \u2013 All rights reserved. Use of this website signifies your agreement
664
+ to the IEEE Terms and Conditions . A not-for-profit organization, IEEE is
665
+ the world\u2019s largest technical professional organization dedicated to
666
+ advancing technology for the benefit of humanity. Subscribe Newswire Sign
667
+ up for our monthly newsletter to learn about new developments, including resources,
668
668
  insights and more. "}},{"id":"078cadb336c908939e58048dc80abc0e41d35a0b3fe16dd00a123a693916293353a5cbc79f3993b1f71bfe11e1d790d46b887a980a03ef635f23e8ac89da4925","fields":{"meta_keywords_la":["Aerospace
669
669
  Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Recommended
670
670
  Practice for Precision Centrifuge Testing of Linear Accelerometers","meta_type_la":["Standard"],"meta_description_l":"This
@@ -914,251 +914,7 @@ http_interactions:
914
914
  IEEE is the world\u2019s largest technical professional organization dedicated
915
915
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
916
916
  up for our monthly newsletter to learn about new developments, including resources,
917
- insights and more. "}},{"id":"3fc0c715deec41762b0998457967e6feb2e27945928e2467bfb2f2923a4976a89ba4567595790403dcd8f650e2906a80c9826aa4cd52d5af78f7195707928ce0","fields":{"meta_keywords_la":["Aerospace
918
- Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Standard
919
- Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
920
- Rate-Integrating Gyros","meta_type_la":["Standard"],"meta_description_l":"A
921
- specification format guide for the preparation of a rate-integrating gyro
922
- specification that provides a common meeting ground of terminology and practice
923
- for manufacturers and users is presented. A compilation of recommended procedures
924
- for testing a rate-integrating gyro is given.","meta_topic_la":["Aerospace
925
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/517\/760\/","meta_designation_l":"IEEE
926
- 517-1974","doc_title_t":"IEEE SA - IEEE 517-1974","doc_text_t":"IEEE SA -
927
- IEEE 517-1974 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum
928
- More Sites eTools Standards Access Standards Search Standards Standards Development
929
- Standards Adoption Choose from the many ways to access IEEE SA Standards.
930
- Choose from individual or organizational access options to get the standards
931
- you need. Find the standards you\u2019re looking for. Get involved in the
932
- development of market-driven technology standards with proven expertise and
933
- dedicated support. Learn more about how to adopt IEEE standards. Products
934
- & Programs Alliance Management Services Conformity Assessment & Certification
935
- IEEE SA Open Source Industry Affiliate Network (IAN) Industry Connections
936
- The National Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority
937
- Government Engagement Program on Standards (GEPS) Standards Fellowship All
938
- Products & Programs Full ecosystem of standards-related solutions to help
939
- drive awareness, activation, and adoption. Providing support services to help
940
- manage the day-to-day operations of industry groups, allowing key stakeholders
941
- to focus on the work at hand. Focused on development and implementation of
942
- rigorous conformity assessment programs designed to help accelerate market
943
- adoption, reduce costs and more. A vendor-neutral, inclusive, open source
944
- platform\u2014for all, from independent software developers and start ups
945
- to industry, academic and research institutions. Open to consortia, industry
946
- alliance or other industry organizations, looking to bring forward specifications
947
- for standards development and market adoption. Facilitating collaboration
948
- among organizations and individuals as they hone and refine their thinking
949
- on rapidly changing technologies. Guidelines for practical safeguarding during
950
- the installation, operation, and maintenance of electric supply, communication
951
- lines and associated equipment. Assigns and maintains unique identifiers and
952
- unambiguous names to objects for those wishing to register them. Program for
953
- policymakers providing tailored standards information, access to the IEEE
954
- SA standardization ecosystem, and standardization resources. Providing global
955
- standards professionals the opportunity to observe the IEEE standards development
956
- process and learn about technical areas of interest. See all the programs,
957
- products, and services that IEEE SA has to offer. Focuses Artificial Intelligence
958
- Systems (AIS) Connectivity & Telecom Energy Foundational Technologies Healthcare
959
- and Life Sciences Mobility Government Engagement Strategic focuses and industries
960
- where IEEE SA is raising the world\u2019s standards. Developing accessible
961
- and sustainable approaches and solutions for practical application of AIS
962
- principles and frameworks. Advancing robust, responsible, and affordable connectivity.
963
- Enabling sustainable, efficient, and accessible energy through technological
964
- advances on a global scale. Working to standardize seamless and ubiquitous
965
- connectivity across all applications of connected technologies. Focused on
966
- enabling affordable healthcare, access to medicine, and innovation to improve
967
- overall global wellness. Working to help the evolving mobility ecosystem address
968
- some of its greatest business opportunities that have the potential to solve
969
- major societal challenges. Building bridges between the worlds of technology,
970
- standards, and policy making. Get Involved Events IEEE SA Membership How to
971
- Get Involved Learn about opportunities to engage with IEEE SA. Join us at
972
- upcoming virtual or in-person events. Flexible membership options that offer
973
- enhanced participation in IEEE SA activities, standards development, and governance.
974
- There are many opportunities for participation, find the right one for you.
975
- Resources Training & Development News IEEE SA Newsletter Standards Store Training
976
- and communication resources to stay connected. Individual and organizational
977
- effectiveness program to enable the success of our vital volunteers. Read
978
- the latest news on IEEE SA. Subscribe to our newsletter and keep up to date
979
- on the latest standards, event, and activities. Get the standards you need.
980
- Select from individual standards or standards bundles. MAC Address Inactive-Reserved
981
- Standard IEEE 517-1974 IEEE Standard Specification Format Guide and Test Procedure
982
- for Single-Degree-of-Freedom Rate-Integrating Gyros Purchase Access via Subscription
983
- Home Standards IEEE 517-1974 A specification format guide for the preparation
984
- of a rate-integrating gyro specification that provides a common meeting ground
985
- of terminology and practice for manufacturers and users is presented. A compilation
986
- of recommended procedures for testing a rate-integrating gyro is given. Sponsor
987
- Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Inactive-Reserved
988
- Standard Board Approval 1973-12-13 History ANSI Approved: 1983-05-30 Published:
989
- 1974-10-17 Reaffirmed: 2010-09-30 Inactivated Date: 2021-03-25 Additional
990
- Resources Errata 517-1974_errata.pdf Working Group Details Society IEEE Aerospace
991
- and Electronic Systems Society Learn More Sponsor Committee AES\/GA - Gyro
992
- Accelerometer Panel Learn More Working Group SENSR_WG - Sensors Working Group
993
- Learn More IEEE Program Manager Soo Kim Contact Working Group Chair Harry
994
- Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
995
- Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
996
- Coriolis Vibratory Gyros This standard defines requirements and test procedures
997
- for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
998
- control systems, angular displacement measuring systems, and angular rate
999
- measuring systems. Informative annexes cover CVG design features and theoretical
1000
- principles of operation. Learn More 1293-2018 IEEE Standard Specification
1001
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1002
- The specification and test requirements for a linear, single-axis, nongyroscopic
1003
- accelerometer for use in inertial navigation, guidance, and leveling systems
1004
- are defined. A standard specification guide and a compilation of recommended
1005
- test procedures for such accelerometers are provided. Informative annexes
1006
- are given on the various types of such accelerometers (force or pendulous
1007
- torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1008
- and error effects, on filtering, noise, and transient analysis techniques,
1009
- and on calibration and modeling techniques (multipoint tumble analysis, vibration
1010
- and shock test analyses, and geophysical effects in inertial instrument testing).
1011
- Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1012
- definitions relating to inertial sensors are presented in this standard. Usage
1013
- as understood by the inertial sensor community is given preference over general
1014
- technical usage of the terms herein. The criterion for inclusion of a term
1015
- and its definition in this standard is usefulness as related to inertial sensor
1016
- technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
1017
- Interferometric Fiber Optic Gyros Specification and test procedures for a
1018
- single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
1019
- attitude control systems, angular displacement measuring systems, and angular
1020
- rate measuring systems are defined. The test procedures are derived from those
1021
- presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
1022
- Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
1023
- Accelerometers Corrigendum 1: Changes to Annex K and Annex L Corrigendum to
1024
- IEEE Std 1293-1998. Specification and test requirements for linear, single-axis,
1025
- nongyroscopic accelerometers for use as a sensor in attitude control systems,
1026
- linear displacement measuring systems, and linear rate measuring systems are
1027
- defined. The specification format guide and test procedure standard applies
1028
- to force-rebalance accelerometers (pendulous or translational proof mass),
1029
- vibrating beam accelerometers (VBAs), and micromechanical accelerometers that
1030
- range from lesser accuracy to high accuracy devices. Learn More 528-2001 IEEE
1031
- Standard for Inertial Sensor Terminology Terms and definitions relating to
1032
- inertial senors are presented in this standard. Usage as understood by the
1033
- inertial sensor community is given preference over general technical usage
1034
- of the terms herein. The criterion for inclusion of a term and its definition
1035
- in this standard is usefulness as related to inertial sensor technology. Learn
1036
- More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
1037
- for Single-Axis Interferometric Fiber Optic Gyros Specification and test requirements
1038
- for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
1039
- in attitude control systems, angular displacement measuring systems, and angular
1040
- rate measuring systems are defined. A standard specification format guide
1041
- for the preparation of a single-axis IFOG is provided. A compilation of recommended
1042
- procedures for testing a fiber optic gyro, derived from those presently used
1043
- in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
1044
- Specification Format Guide and Test Procedure for Single-Axis Interferometric
1045
- Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
1046
- 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
1047
- Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
1048
- 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
1049
- and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
1050
- Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
1051
- Specification and test requirements for a single-axis Coriolis vibratory gyro
1052
- (CVG) for use as a sensor in attitude control systems, angular displacement
1053
- measuring systems, and angular rate measuring systems are defined. A stadard
1054
- specification format guide for the preparation of a single-axis CVG is provided.
1055
- A complilation of recommended procedures for testing a CVG, derived from those
1056
- presently used in the industry, is also provided. Informative annexes cover
1057
- CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
1058
- 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1059
- Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1060
- 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
1061
- Data Acquisition, and Analysis Test equipment, data acquisition equipment,
1062
- instrumentation, test facilities, and data analysis techniques used in inertial
1063
- sensor testing are described in this recommended practice. Learn More 292-1969
1064
- IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
1065
- Gyros This specification defines the requirements for a single-degree-of-freedom
1066
- spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1067
- The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1068
- to angular rate inputs up to______ degrees per second, a switch closure(s)
1069
- at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
1070
- second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
1071
- Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
1072
- from those currently in use, including test conditions to be considered, are
1073
- compiled. In some cases alternate methods for measuring a performance characteristic
1074
- have been included. This standard is intended to be a guide in the preparation
1075
- of Section 4 of a specification that follows the format of IEEE Std 292, Specification
1076
- Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
1077
- 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
1078
- Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
1079
- to Table 1 on page 14 of IEEE Std 293-1969 Learn More 529-1980 Supplement
1080
- for Strapdown Applications to IEEE Standard Specification Format Guide and
1081
- Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros A specification
1082
- format guide for the preparation of a rate-integrating gyroscope specification
1083
- is presented. Recommended procedures for testing a rate-integrating gyroscope
1084
- are compiled. This standard, when combined with IEEE Std 517-1974 (R1980),
1085
- defines the requirements and test procedures in terms of characteristics unique
1086
- to the gyroscope or those applications in which the dynamic angular inputs
1087
- are significantly greater than the limitations identified in IEEE Std 517.
1088
- Learn More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
1089
- to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1090
- Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
1091
- and 10.10.4.1 Corrections are made by this corrigendum to material already
1092
- published in IEEE Std 529-1980. Learn More 647-2006 IEEE Standard Specification
1093
- Format Guide and Test Procedure for Single-Axis Laser Gyros Specification
1094
- and test requirements for a single-axis ring laser gyro (RLG) for use as a
1095
- sensor in attitude control systems, angular displacement measuring systems,
1096
- and angular rate measuring systems are defined. A standard specification format
1097
- guide for the preparation of a single-axis RLG is provided. A compilation
1098
- of recommended procedures for testing an RLG, derived from those presently
1099
- used in the industry, is also provided. Learn More 671-1985 IEEE Standard
1100
- Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1101
- Sensors: Jerk, Acceleration, Velocity, and Displacement A guide is presented
1102
- for the preparation of a specification and test procedure for an inertial
1103
- angular sensor that provides a common meeting ground of terminology and practice
1104
- for manufacturers and users of an array of sensors that have been developed
1105
- to meet needs not easily met by traditional spinning-rotor gyroscopes. A test
1106
- procedure for verifying that the specifications have been met is given. The
1107
- standard is not intended to compete with existing standards for specific devices
1108
- with highly specific models and error sources, such as spring-restrained rate
1109
- gyros, but to provide a uniform guide for those inertial angular sensors that
1110
- have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
1111
- Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1112
- Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
1113
- Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
1114
- provides specifications and test requirements for a non-gyroscopic inertial
1115
- angular sensor that may measure angular jerk, acceleration, rate, or displacement
1116
- with or without response down to zero frequency. A standard specification
1117
- format is provided. A compilation of recommended test procedures, derived
1118
- from those presently used in the industry, is also provided. Informative annexes
1119
- cover design features and theoretical principles of operation. This corrigendum
1120
- makes changes to 4.7.2.6 to delete a sentence that does not belong there,
1121
- to add a subclause that was inadvertently left out, and to renumber the existing
1122
- subclauses. Changes are also being made to fix the block diagrams in Annex
1123
- A, to correct a misspelling of inertia, and to add a missing symbol. Learn
1124
- More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
1125
- Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
1126
- dynamically tuned gyro (DTG) specification is given that provides a common
1127
- ground of terminology and practice for manufacturers and users. A compilation
1128
- of recommended procedures for testing a DTG is also given. The requirements
1129
- and test procedures are defined in terms unique to the DTG. They cover applications
1130
- of the gyro as an angular motion sensor in navigation and control systems.
1131
- They apply to two modes of use: (1) as a strap-down sensor in operating environments
1132
- typical of aircraft and missile applications, and (2) as a sensor in gimballed
1133
- platform applications in which the dynamic angular inputs to which the gyro
1134
- is subjected are benign relative to the accuracy required. In the case of
1135
- the strap-down DTG, the characteristics of the external capture loops are
1136
- considered to the extent necessary to define the gyro performance. Learn More
1137
- 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of Linear
1138
- Accelerometers This recommended practice describes the conduct and analysis
1139
- of precision tests that are to be performed on linear accelerometers using
1140
- centrifuge techniques. The term u201cprecision,u201d in this context, refers
1141
- to tests that are conducted to evaluate accelerometer parameters, as opposed
1142
- to those conducted to establish environmental survivability only. Evaluation
1143
- may take the form of determining the coefficients of the accelerometer''s
1144
- model equation, except for bias and scale factor, which are most accurately
1145
- determined by static multi-position tests. Alternatively, evaluation may only
1146
- establish that the accelerometer output complies with specific error limit
1147
- criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
1148
- Us IEEE SA Membership Corporate Program Distributor Program Training & Development
1149
- Policies & Procedures Contact Us Board of Governors About Board of Governors
1150
- Awards Committee Corporate Advisory Group Industry Connections Committee Registration
1151
- Authority Committee Strategic Planning Coordination Committee Standards Board
1152
- About Standards Board Board Approvals Audit Committee New Standards Committee
1153
- Patent Committee Procedures Committee Standards Review Committee News & Events
1154
- News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
1155
- Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
1156
- Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
1157
- of this website signifies your agreement to the IEEE Terms and Conditions
1158
- . A not-for-profit organization, IEEE is the world\u2019s largest technical
1159
- professional organization dedicated to advancing technology for the benefit
1160
- of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
1161
- about new developments, including resources, insights and more. "}},{"id":"5aeb29f1e173895ec06817ac31c30346a78b19bac25d687dbdf0076af571b3da207db66e51b3210131b259579c184141df47fc570ecdb419cc84500bdcf99b6a","fields":{"meta_keywords_la":["Aerospace
917
+ insights and more. "}},{"id":"5aeb29f1e173895ec06817ac31c30346a78b19bac25d687dbdf0076af571b3da207db66e51b3210131b259579c184141df47fc570ecdb419cc84500bdcf99b6a","fields":{"meta_keywords_la":["Aerospace
1162
918
  Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Standard
1163
919
  Specification Format Guide and Test Procedure for Single-Axis Laser Gyros","meta_type_la":["Standard"],"meta_description_l":"Specification
1164
920
  and test requirements for a single-axis ring laser gyro (RLG) for use as a sensor
@@ -1404,34 +1160,40 @@ http_interactions:
1404
1160
  IEEE is the world\u2019s largest technical professional organization dedicated
1405
1161
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
1406
1162
  up for our monthly newsletter to learn about new developments, including resources,
1407
- insights and more. "}},{"id":"1e7fa450951b3af061c01809cb2a2b51676250c0d1331c7347e03c5433bf478168f717fe2f8de898a11955cc575ef729baee3a2c2e1be936f000d19dcd689a81","fields":{"meta_keywords_la":["Aerospace
1163
+ insights and more. "}},{"id":"1f454c3c1d1b8225381c03b93f6289bb9a62e4db6b8208aa0e9403d764b40eaf5545f19a40f487252dbd1c193775b8f344b93ef95bb161c8996090a798bf7ef3","fields":{"meta_keywords_la":["Aerospace
1408
1164
  Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Standard
1409
- for Specifying and Testing Single-Axis Interferometric Fiber Optic Gyros","meta_type_la":["Standard"],"meta_description_l":"Specification
1410
- and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
1411
- for use as a sensor in attitude control systems, angular displacement measuring
1412
- systems, and angular rate measuring systems are defined. The test procedures
1413
- are derived from those presently used in the industry.","meta_topic_la":["Aerospace
1414
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/952\/7496\/","meta_designation_l":"IEEE
1415
- 952-2020","doc_title_t":"IEEE SA - IEEE 952-2020","doc_text_t":"IEEE SA -
1416
- IEEE 952-2020 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum
1417
- More Sites eTools Standards Access Standards Search Standards Standards Development
1418
- Standards Adoption Choose from the many ways to access IEEE SA Standards.
1419
- Choose from individual or organizational access options to get the standards
1420
- you need. Find the standards you\u2019re looking for. Get involved in the
1421
- development of market-driven technology standards with proven expertise and
1422
- dedicated support. Learn more about how to adopt IEEE standards. Products
1423
- & Programs Alliance Management Services Conformity Assessment & Certification
1424
- IEEE SA Open Source Industry Affiliate Network (IAN) Industry Connections
1425
- The National Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority
1426
- Government Engagement Program on Standards (GEPS) Standards Fellowship All
1427
- Products & Programs Full ecosystem of standards-related solutions to help
1428
- drive awareness, activation, and adoption. Providing support services to help
1429
- manage the day-to-day operations of industry groups, allowing key stakeholders
1430
- to focus on the work at hand. Focused on development and implementation of
1431
- rigorous conformity assessment programs designed to help accelerate market
1432
- adoption, reduce costs and more. A vendor-neutral, inclusive, open source
1433
- platform\u2014for all, from independent software developers and start ups
1434
- to industry, academic and research institutions. Open to consortia, industry
1165
+ Specification Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic
1166
+ Accelerometers","meta_type_la":["Standard"],"meta_description_l":"The specification
1167
+ and test requirements for a linear, single-axis, nongyroscopic accelerometer
1168
+ for use in inertial navigation, guidance, and leveling systems are defined.
1169
+ A standard specification guide and a compilation of recommended test procedures
1170
+ for such accelerometers are provided. Informative annexes are given on the
1171
+ various types of such accelerometers (force or pendulous torque rebalance
1172
+ with analog or digital output, vibrating beam, and micromechanical) and error
1173
+ effects, on filtering, noise, and transient analysis techniques, and on calibration
1174
+ and modeling techniques (multipoint tumble analysis, vibration and shock
1175
+ test analyses, and geophysical effects in inertial instrument testing).","meta_topic_la":["Aerospace
1176
+ Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/","meta_designation_l":"IEEE
1177
+ 1293-2018","doc_title_t":"IEEE SA - IEEE 1293-2018","doc_text_t":"IEEE SA
1178
+ - IEEE 1293-2018 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE
1179
+ Spectrum More Sites eTools Standards Access Standards Search Standards Standards
1180
+ Development Standards Adoption Choose from the many ways to access IEEE SA
1181
+ Standards. Choose from individual or organizational access options to get
1182
+ the standards you need. Find the standards you\u2019re looking for. Get involved
1183
+ in the development of market-driven technology standards with proven expertise
1184
+ and dedicated support. Learn more about how to adopt IEEE standards. Products
1185
+ & Programs Alliance Management Services Conformity Assessment & Certification
1186
+ IEEE SA Open Source Industry Affiliate Network (IAN) Industry Connections
1187
+ The National Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority
1188
+ Government Engagement Program on Standards (GEPS) Standards Fellowship All
1189
+ Products & Programs Full ecosystem of standards-related solutions to help
1190
+ drive awareness, activation, and adoption. Providing support services to help
1191
+ manage the day-to-day operations of industry groups, allowing key stakeholders
1192
+ to focus on the work at hand. Focused on development and implementation of
1193
+ rigorous conformity assessment programs designed to help accelerate market
1194
+ adoption, reduce costs and more. A vendor-neutral, inclusive, open source
1195
+ platform\u2014for all, from independent software developers and start ups
1196
+ to industry, academic and research institutions. Open to consortia, industry
1435
1197
  alliance or other industry organizations, looking to bring forward specifications
1436
1198
  for standards development and market adoption. Facilitating collaboration
1437
1199
  among organizations and individuals as they hone and refine their thinking
@@ -1467,77 +1229,77 @@ http_interactions:
1467
1229
  the latest news on IEEE SA. Subscribe to our newsletter and keep up to date
1468
1230
  on the latest standards, event, and activities. Get the standards you need.
1469
1231
  Select from individual standards or standards bundles. MAC Address Active
1470
- Standard IEEE 952-2020 IEEE Standard for Specifying and Testing Single-Axis
1471
- Interferometric Fiber Optic Gyros Purchase Access via Subscription Home Standards
1472
- IEEE 952-2020 Specification and test procedures for a single-axis interferometric
1473
- fiber optic gyro (IFOG) for use as a sensor in attitude control systems, angular
1474
- displacement measuring systems, and angular rate measuring systems are defined.
1475
- The test procedures are derived from those presently used in the industry.
1476
- Sponsor Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Active
1477
- Standard PAR Approval 2019-02-08 Superseding 952-1997 Board Approval 2020-09-24
1478
- History Published: 2021-02-12 Working Group Details Society IEEE Aerospace
1479
- and Electronic Systems Society Learn More Sponsor Committee AES\/GA - Gyro
1480
- Accelerometer Panel Learn More Working Group SENSR_WG - Sensors Working Group
1481
- Learn More IEEE Program Manager Soo Kim Contact Working Group Chair Harry
1482
- Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
1483
- Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
1484
- Coriolis Vibratory Gyros This standard defines requirements and test procedures
1485
- for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1232
+ Standard IEEE 1293-2018 IEEE Standard Specification Format Guide and Test
1233
+ Procedure for Linear Single-Axis, Nongyroscopic Accelerometers Purchase Access
1234
+ via Subscription Home Standards IEEE 1293-2018 The specification and test
1235
+ requirements for a linear, single-axis, nongyroscopic accelerometer for use
1236
+ in inertial navigation, guidance, and leveling systems are defined. A standard
1237
+ specification guide and a compilation of recommended test procedures for such
1238
+ accelerometers are provided. Informative annexes are given on the various
1239
+ types of such accelerometers (force or pendulous torque rebalance with analog
1240
+ or digital output, vibrating beam, and micromechanical) and error effects,
1241
+ on filtering, noise, and transient analysis techniques, and on calibration
1242
+ and modeling techniques (multipoint tumble analysis, vibration and shock test
1243
+ analyses, and geophysical effects in inertial instrument testing). Sponsor
1244
+ Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Active Standard
1245
+ PAR Approval 2012-11-02 Superseding 1293-1998 Board Approval 2018-10-23 History
1246
+ Published: 2019-02-28 Working Group Details Society IEEE Aerospace and Electronic
1247
+ Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
1248
+ Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
1249
+ IEEE Program Manager Soo Kim Contact Working Group Chair Harry Davis Active
1250
+ Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
1251
+ Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
1252
+ Vibratory Gyros This standard defines requirements and test procedures for
1253
+ a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1486
1254
  control systems, angular displacement measuring systems, and angular rate
1487
1255
  measuring systems. Informative annexes cover CVG design features and theoretical
1488
- principles of operation. Learn More 1293-2018 IEEE Standard Specification
1489
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1490
- The specification and test requirements for a linear, single-axis, nongyroscopic
1491
- accelerometer for use in inertial navigation, guidance, and leveling systems
1492
- are defined. A standard specification guide and a compilation of recommended
1493
- test procedures for such accelerometers are provided. Informative annexes
1494
- are given on the various types of such accelerometers (force or pendulous
1495
- torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1496
- and error effects, on filtering, noise, and transient analysis techniques,
1497
- and on calibration and modeling techniques (multipoint tumble analysis, vibration
1498
- and shock test analyses, and geophysical effects in inertial instrument testing).
1499
- Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1500
- definitions relating to inertial sensors are presented in this standard. Usage
1501
- as understood by the inertial sensor community is given preference over general
1502
- technical usage of the terms herein. The criterion for inclusion of a term
1503
- and its definition in this standard is usefulness as related to inertial sensor
1504
- technology. Learn More 1293-1998\/Cor 1-2008 IEEE Standard Specification Format
1505
- Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic Accelerometers
1506
- Corrigendum 1: Changes to Annex K and Annex L Corrigendum to IEEE Std 1293-1998.
1507
- Specification and test requirements for linear, single-axis, nongyroscopic
1508
- accelerometers for use as a sensor in attitude control systems, linear displacement
1509
- measuring systems, and linear rate measuring systems are defined. The specification
1510
- format guide and test procedure standard applies to force-rebalance accelerometers
1511
- (pendulous or translational proof mass), vibrating beam accelerometers (VBAs),
1512
- and micromechanical accelerometers that range from lesser accuracy to high
1513
- accuracy devices. Learn More 528-2001 IEEE Standard for Inertial Sensor Terminology
1514
- Terms and definitions relating to inertial senors are presented in this standard.
1515
- Usage as understood by the inertial sensor community is given preference over
1516
- general technical usage of the terms herein. The criterion for inclusion of
1517
- a term and its definition in this standard is usefulness as related to inertial
1518
- sensor technology. Learn More 952-1997 IEEE Standard Specification Format
1519
- Guide and Test Procedure for Single-Axis Interferometric Fiber Optic Gyros
1520
- Specification and test requirements for a single-axis interferometric fiber
1521
- optic gyro (IFOG) for use as a sensor in attitude control systems, angular
1522
- displacement measuring systems, and angular rate measuring systems are defined.
1523
- A standard specification format guide for the preparation of a single-axis
1524
- IFOG is provided. A compilation of recommended procedures for testing a fiber
1525
- optic gyro, derived from those presently used in the industry, is also provided.
1526
- Learn More 952-1997\/Cor 1-2016 IEEE Standard Specification Format Guide and
1527
- Test Procedure for Single-Axis Interferometric Fiber Optic Gyros -- Corrigendum
1528
- 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4,
1529
- 12.12.3.1, and 12.12.4.1 Errors identified in IEEE Std 952-1997 are corrected
1530
- in this corrigendum. Corrections are made to Figure 1 and in subclauses 5.3.4,
1531
- 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1. Learn
1532
- More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard Specification
1533
- Format Guide and Test Procedure for Coriolis Vibratory Gyros Specification
1534
- and test requirements for a single-axis Coriolis vibratory gyro (CVG) for
1535
- use as a sensor in attitude control systems, angular displacement measuring
1536
- systems, and angular rate measuring systems are defined. A stadard specification
1537
- format guide for the preparation of a single-axis CVG is provided. A complilation
1538
- of recommended procedures for testing a CVG, derived from those presently
1539
- used in the industry, is also provided. Informative annexes cover CVG design
1540
- features and theoretical principles of operation. Learn More 1431-2004\/Cor
1256
+ principles of operation. Learn More 528-2019 IEEE Standard for Inertial Sensor
1257
+ Terminology Terms and definitions relating to inertial sensors are presented
1258
+ in this standard. Usage as understood by the inertial sensor community is
1259
+ given preference over general technical usage of the terms herein. The criterion
1260
+ for inclusion of a term and its definition in this standard is usefulness
1261
+ as related to inertial sensor technology. Learn More 952-2020 IEEE Standard
1262
+ for Specifying and Testing Single-Axis Interferometric Fiber Optic Gyros Specification
1263
+ and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
1264
+ for use as a sensor in attitude control systems, angular displacement measuring
1265
+ systems, and angular rate measuring systems are defined. The test procedures
1266
+ are derived from those presently used in the industry. Learn More 1293-1998\/Cor
1267
+ 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Linear,Single-Axis,
1268
+ Nongyroscopic Accelerometers Corrigendum 1: Changes to Annex K and Annex L
1269
+ Corrigendum to IEEE Std 1293-1998. Specification and test requirements for
1270
+ linear, single-axis, nongyroscopic accelerometers for use as a sensor in attitude
1271
+ control systems, linear displacement measuring systems, and linear rate measuring
1272
+ systems are defined. The specification format guide and test procedure standard
1273
+ applies to force-rebalance accelerometers (pendulous or translational proof
1274
+ mass), vibrating beam accelerometers (VBAs), and micromechanical accelerometers
1275
+ that range from lesser accuracy to high accuracy devices. Learn More 528-2001
1276
+ IEEE Standard for Inertial Sensor Terminology Terms and definitions relating
1277
+ to inertial senors are presented in this standard. Usage as understood by
1278
+ the inertial sensor community is given preference over general technical usage
1279
+ of the terms herein. The criterion for inclusion of a term and its definition
1280
+ in this standard is usefulness as related to inertial sensor technology. Learn
1281
+ More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
1282
+ for Single-Axis Interferometric Fiber Optic Gyros Specification and test requirements
1283
+ for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
1284
+ in attitude control systems, angular displacement measuring systems, and angular
1285
+ rate measuring systems are defined. A standard specification format guide
1286
+ for the preparation of a single-axis IFOG is provided. A compilation of recommended
1287
+ procedures for testing a fiber optic gyro, derived from those presently used
1288
+ in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
1289
+ Specification Format Guide and Test Procedure for Single-Axis Interferometric
1290
+ Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
1291
+ 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
1292
+ Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
1293
+ 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
1294
+ and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
1295
+ Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
1296
+ Specification and test requirements for a single-axis Coriolis vibratory gyro
1297
+ (CVG) for use as a sensor in attitude control systems, angular displacement
1298
+ measuring systems, and angular rate measuring systems are defined. A stadard
1299
+ specification format guide for the preparation of a single-axis CVG is provided.
1300
+ A complilation of recommended procedures for testing a CVG, derived from those
1301
+ presently used in the industry, is also provided. Informative annexes cover
1302
+ CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
1541
1303
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1542
1304
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1543
1305
  1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
@@ -1647,23 +1409,21 @@ http_interactions:
1647
1409
  IEEE is the world\u2019s largest technical professional organization dedicated
1648
1410
  to advancing technology for the benefit of humanity. Subscribe Newswire Sign
1649
1411
  up for our monthly newsletter to learn about new developments, including resources,
1650
- insights and more. "}},{"id":"0e5f59ed4630b7396c4a857f43f6bb32af4c28844fefb77ff93fe62204b6b900a7db16a6b235b40889e7c1b34cbfd885f9f106827f93026cac353fc730a1df39","fields":{"meta_keywords_la":["Aerospace
1651
- Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Specification
1652
- Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros","meta_type_la":["Standard"],"meta_description_l":"This
1653
- specification defines the requirements for a single-degree-of-freedom spring-restrained
1654
- rate gyro for [aircraft, missile, spacecraft,______] applications. The rate
1655
- gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1656
- to angular rate inputs up to______ degrees per second, a switch closure(s)
1657
- at angular rates (exceeding,less than)______ (+,-,\u00b1)______ degrees per
1658
- second].","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/292\/485\/","meta_designation_l":"IEEE
1659
- 292-1969","doc_title_t":"IEEE SA - IEEE 292-1969","doc_text_t":"IEEE SA -
1660
- IEEE 292-1969 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum
1661
- More Sites eTools Standards Access Standards Search Standards Standards Development
1662
- Standards Adoption Choose from the many ways to access IEEE SA Standards.
1663
- Choose from individual or organizational access options to get the standards
1664
- you need. Find the standards you\u2019re looking for. Get involved in the
1665
- development of market-driven technology standards with proven expertise and
1666
- dedicated support. Learn more about how to adopt IEEE standards. Products
1412
+ insights and more. "}},{"id":"52eae60b2e77539af2d00032c19addb836f63a63838a98a1e1415ce8b7dc2251a177a0b3bc0831e7f951dfebfee24916a61d3623dbfda9f11f2e8eea97d28e2f","fields":{"meta_keywords_la":["Aerospace
1413
+ Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Recommended
1414
+ Practice for Inertial Sensor Test Equipment, Instrumentation, Data Acquisition,
1415
+ and Analysis","meta_type_la":["Standard"],"meta_description_l":"Test equipment,
1416
+ data acquisition equipment, instrumentation, test facilities, and data analysis
1417
+ techniques used in inertial sensor testing are described in this recommended
1418
+ practice.","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/1554\/2292\/","meta_designation_l":"IEEE
1419
+ 1554-2005","doc_title_t":"IEEE SA - IEEE 1554-2005","doc_text_t":"IEEE SA
1420
+ - IEEE 1554-2005 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE
1421
+ Spectrum More Sites eTools Standards Access Standards Search Standards Standards
1422
+ Development Standards Adoption Choose from the many ways to access IEEE SA
1423
+ Standards. Choose from individual or organizational access options to get
1424
+ the standards you need. Find the standards you\u2019re looking for. Get involved
1425
+ in the development of market-driven technology standards with proven expertise
1426
+ and dedicated support. Learn more about how to adopt IEEE standards. Products
1667
1427
  & Programs Alliance Management Services Conformity Assessment & Certification
1668
1428
  IEEE SA Open Source Industry Affiliate Network (IAN) Industry Connections
1669
1429
  The National Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority
@@ -1711,33 +1471,31 @@ http_interactions:
1711
1471
  the latest news on IEEE SA. Subscribe to our newsletter and keep up to date
1712
1472
  on the latest standards, event, and activities. Get the standards you need.
1713
1473
  Select from individual standards or standards bundles. MAC Address Inactive-Reserved
1714
- Standard IEEE 292-1969 IEEE Specification Format for Single-Degree-of-Freedom
1715
- Spring-Restrained Rate Gyros Purchase Access via Subscription Home Standards
1716
- IEEE 292-1969 This specification defines the requirements for a single-degree-of-freedom
1717
- spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1718
- The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1719
- to angular rate inputs up to______ degrees per second, a switch closure(s)
1720
- at angular rates (exceeding,less than)______ (+,-,\u00b1)______ degrees per
1721
- second]. Sponsor Committee AES\/GA - Gyro Accelerometer Panel Learn More Status
1722
- Inactive-Reserved Standard History ANSI Approved: 1986-11-17 Published: 1968-11-30
1723
- Reaffirmed: 2010-06-17 Inactivated Date: 2021-03-25 Additional Resources Errata
1724
- 292-1969_errata.pdf Working Group Details Society IEEE Aerospace and Electronic
1725
- Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
1726
- Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
1727
- IEEE Program Manager Soo Kim Contact Working Group Chair Harry Davis Active
1728
- Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
1729
- Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
1730
- Vibratory Gyros This standard defines requirements and test procedures for
1731
- a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1732
- control systems, angular displacement measuring systems, and angular rate
1733
- measuring systems. Informative annexes cover CVG design features and theoretical
1734
- principles of operation. Learn More 1293-2018 IEEE Standard Specification
1735
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1736
- The specification and test requirements for a linear, single-axis, nongyroscopic
1737
- accelerometer for use in inertial navigation, guidance, and leveling systems
1738
- are defined. A standard specification guide and a compilation of recommended
1739
- test procedures for such accelerometers are provided. Informative annexes
1740
- are given on the various types of such accelerometers (force or pendulous
1474
+ Standard IEEE 1554-2005 IEEE Recommended Practice for Inertial Sensor Test
1475
+ Equipment, Instrumentation, Data Acquisition, and Analysis Purchase Access
1476
+ via Subscription Home Standards IEEE 1554-2005 Test equipment, data acquisition
1477
+ equipment, instrumentation, test facilities, and data analysis techniques
1478
+ used in inertial sensor testing are described in this recommended practice.
1479
+ Sponsor Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Inactive-Reserved
1480
+ Standard PAR Approval 1999-09-16 Board Approval 2005-06-09 History ANSI Approved:
1481
+ 2005-10-05 Published: 2005-11-28 Reaffirmed: 2011-03-31 Inactivated Date:
1482
+ 2022-03-24 Additional Resources Errata 1554-2005_errata.pdf Working Group
1483
+ Details Society IEEE Aerospace and Electronic Systems Society Learn More Sponsor
1484
+ Committee AES\/GA - Gyro Accelerometer Panel Learn More Working Group SENSR_WG
1485
+ - Sensors Working Group Learn More IEEE Program Manager Soo Kim Contact Working
1486
+ Group Chair Harry Davis Active Projects Active Standards Superseded Standards
1487
+ Inactive-Withdrawn Standards Inactive-Reserved Standards P1431 Standard for
1488
+ Specifying and Testing Coriolis Vibratory Gyros This standard defines requirements
1489
+ and test procedures for a single-axis Coriolis vibratory gyro (CVG) for use
1490
+ as a sensor in attitude control systems, angular displacement measuring systems,
1491
+ and angular rate measuring systems. Informative annexes cover CVG design features
1492
+ and theoretical principles of operation. Learn More 1293-2018 IEEE Standard
1493
+ Specification Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic
1494
+ Accelerometers The specification and test requirements for a linear, single-axis,
1495
+ nongyroscopic accelerometer for use in inertial navigation, guidance, and
1496
+ leveling systems are defined. A standard specification guide and a compilation
1497
+ of recommended test procedures for such accelerometers are provided. Informative
1498
+ annexes are given on the various types of such accelerometers (force or pendulous
1741
1499
  torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1742
1500
  and error effects, on filtering, noise, and transient analysis techniques,
1743
1501
  and on calibration and modeling techniques (multipoint tumble analysis, vibration
@@ -1791,117 +1549,120 @@ http_interactions:
1791
1549
  CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
1792
1550
  1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
1793
1551
  Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
1794
- 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
1795
- Data Acquisition, and Analysis Test equipment, data acquisition equipment,
1796
- instrumentation, test facilities, and data analysis techniques used in inertial
1797
- sensor testing are described in this recommended practice. Learn More 293-1969
1798
- IEEE Test Procedure for Single-Degree-of-Freedom Spring-Restrained Rate Gyros
1799
- Recommended rate gyro test procedures derived from those currently in use,
1800
- including test conditions to be considered, are compiled. In some cases alternate
1801
- methods for measuring a performance characteristic have been included. This
1802
- standard is intended to be a guide in the preparation of Section 4 of a specification
1803
- that follows the format of IEEE Std 292, Specification Format for Single-Degree-of-Freedom
1804
- Spring-Restrained Rate Gyros. Learn More 293-1969\/Cor 1-2014 IEEE Standard
1805
- for IEEE Test Procedure for Single-Degree-of-Freedom Spring-Restrained Rate
1806
- Gyros -- Corrigendum 1: Table 1 Heading Correction to Table 1 on page 14 of
1807
- IEEE Std 293-1969 Learn More 517-1974 IEEE Standard Specification Format Guide
1808
- and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros A specification
1809
- format guide for the preparation of a rate-integrating gyro specification
1810
- that provides a common meeting ground of terminology and practice for manufacturers
1811
- and users is presented. A compilation of recommended procedures for testing
1812
- a rate-integrating gyro is given. Learn More 529-1980 Supplement for Strapdown
1813
- Applications to IEEE Standard Specification Format Guide and Test Procedure
1814
- for Single-Degree-of-Freedom Rate-Integrating Gyros A specification format
1815
- guide for the preparation of a rate-integrating gyroscope specification is
1816
- presented. Recommended procedures for testing a rate-integrating gyroscope
1817
- are compiled. This standard, when combined with IEEE Std 517-1974 (R1980),
1818
- defines the requirements and test procedures in terms of characteristics unique
1819
- to the gyroscope or those applications in which the dynamic angular inputs
1820
- are significantly greater than the limitations identified in IEEE Std 517.
1821
- Learn More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
1822
- to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1823
- Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
1824
- and 10.10.4.1 Corrections are made by this corrigendum to material already
1825
- published in IEEE Std 529-1980. Learn More 647-2006 IEEE Standard Specification
1826
- Format Guide and Test Procedure for Single-Axis Laser Gyros Specification
1827
- and test requirements for a single-axis ring laser gyro (RLG) for use as a
1828
- sensor in attitude control systems, angular displacement measuring systems,
1829
- and angular rate measuring systems are defined. A standard specification format
1830
- guide for the preparation of a single-axis RLG is provided. A compilation
1831
- of recommended procedures for testing an RLG, derived from those presently
1832
- used in the industry, is also provided. Learn More 671-1985 IEEE Standard
1833
- Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1834
- Sensors: Jerk, Acceleration, Velocity, and Displacement A guide is presented
1835
- for the preparation of a specification and test procedure for an inertial
1836
- angular sensor that provides a common meeting ground of terminology and practice
1837
- for manufacturers and users of an array of sensors that have been developed
1838
- to meet needs not easily met by traditional spinning-rotor gyroscopes. A test
1839
- procedure for verifying that the specifications have been met is given. The
1840
- standard is not intended to compete with existing standards for specific devices
1841
- with highly specific models and error sources, such as spring-restrained rate
1842
- gyros, but to provide a uniform guide for those inertial angular sensors that
1843
- have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
1844
- Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
1845
- Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
1846
- Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
1847
- provides specifications and test requirements for a non-gyroscopic inertial
1848
- angular sensor that may measure angular jerk, acceleration, rate, or displacement
1849
- with or without response down to zero frequency. A standard specification
1850
- format is provided. A compilation of recommended test procedures, derived
1851
- from those presently used in the industry, is also provided. Informative annexes
1852
- cover design features and theoretical principles of operation. This corrigendum
1853
- makes changes to 4.7.2.6 to delete a sentence that does not belong there,
1854
- to add a subclause that was inadvertently left out, and to renumber the existing
1855
- subclauses. Changes are also being made to fix the block diagrams in Annex
1856
- A, to correct a misspelling of inertia, and to add a missing symbol. Learn
1857
- More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
1858
- Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
1859
- dynamically tuned gyro (DTG) specification is given that provides a common
1860
- ground of terminology and practice for manufacturers and users. A compilation
1861
- of recommended procedures for testing a DTG is also given. The requirements
1862
- and test procedures are defined in terms unique to the DTG. They cover applications
1863
- of the gyro as an angular motion sensor in navigation and control systems.
1864
- They apply to two modes of use: (1) as a strap-down sensor in operating environments
1865
- typical of aircraft and missile applications, and (2) as a sensor in gimballed
1866
- platform applications in which the dynamic angular inputs to which the gyro
1867
- is subjected are benign relative to the accuracy required. In the case of
1868
- the strap-down DTG, the characteristics of the external capture loops are
1869
- considered to the extent necessary to define the gyro performance. Learn More
1870
- 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of Linear
1871
- Accelerometers This recommended practice describes the conduct and analysis
1872
- of precision tests that are to be performed on linear accelerometers using
1873
- centrifuge techniques. The term u201cprecision,u201d in this context, refers
1874
- to tests that are conducted to evaluate accelerometer parameters, as opposed
1875
- to those conducted to establish environmental survivability only. Evaluation
1876
- may take the form of determining the coefficients of the accelerometer''s
1877
- model equation, except for bias and scale factor, which are most accurately
1878
- determined by static multi-position tests. Alternatively, evaluation may only
1879
- establish that the accelerometer output complies with specific error limit
1880
- criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
1881
- Us IEEE SA Membership Corporate Program Distributor Program Training & Development
1882
- Policies & Procedures Contact Us Board of Governors About Board of Governors
1883
- Awards Committee Corporate Advisory Group Industry Connections Committee Registration
1884
- Authority Committee Strategic Planning Coordination Committee Standards Board
1885
- About Standards Board Board Approvals Audit Committee New Standards Committee
1886
- Patent Committee Procedures Committee Standards Review Committee News & Events
1887
- News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
1888
- Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
1889
- Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
1890
- of this website signifies your agreement to the IEEE Terms and Conditions
1891
- . A not-for-profit organization, IEEE is the world\u2019s largest technical
1892
- professional organization dedicated to advancing technology for the benefit
1893
- of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
1894
- about new developments, including resources, insights and more. "}},{"id":"994a2773a3f87366d9e7596ae1a277954c2c4d5f654e59ddbb8d2e5c8d83027a101d36188dbe0e50e60d6d3cb6d58028038c31c169368300a82ade2d172ce459","fields":{"meta_keywords_la":["Aerospace
1895
- Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Test
1896
- Procedure for Single-Degree-of-Freedom Spring-Restrained Rate Gyros","meta_type_la":["Standard"],"meta_description_l":"Recommended
1897
- rate gyro test procedures derived from those currently in use, including test
1898
- conditions to be considered, are compiled. In some cases alternate methods
1899
- for measuring a performance characteristic have been included. This standard
1900
- is intended to be a guide in the preparation of Section 4 of a specification
1901
- that follows the format of IEEE Std 292, Specification Format for Single-Degree-of-Freedom
1902
- Spring-Restrained Rate Gyros.","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/293\/486\/","meta_designation_l":"IEEE
1903
- 293-1969","doc_title_t":"IEEE SA - IEEE 293-1969","doc_text_t":"IEEE SA -
1904
- IEEE 293-1969 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum
1552
+ 292-1969 IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained
1553
+ Rate Gyros This specification defines the requirements for a single-degree-of-freedom
1554
+ spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1555
+ The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1556
+ to angular rate inputs up to______ degrees per second, a switch closure(s)
1557
+ at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
1558
+ second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
1559
+ Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
1560
+ from those currently in use, including test conditions to be considered, are
1561
+ compiled. In some cases alternate methods for measuring a performance characteristic
1562
+ have been included. This standard is intended to be a guide in the preparation
1563
+ of Section 4 of a specification that follows the format of IEEE Std 292, Specification
1564
+ Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
1565
+ 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
1566
+ Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
1567
+ to Table 1 on page 14 of IEEE Std 293-1969 Learn More 517-1974 IEEE Standard
1568
+ Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
1569
+ Rate-Integrating Gyros A specification format guide for the preparation of
1570
+ a rate-integrating gyro specification that provides a common meeting ground
1571
+ of terminology and practice for manufacturers and users is presented. A compilation
1572
+ of recommended procedures for testing a rate-integrating gyro is given. Learn
1573
+ More 529-1980 Supplement for Strapdown Applications to IEEE Standard Specification
1574
+ Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
1575
+ Gyros A specification format guide for the preparation of a rate-integrating
1576
+ gyroscope specification is presented. Recommended procedures for testing a
1577
+ rate-integrating gyroscope are compiled. This standard, when combined with
1578
+ IEEE Std 517-1974 (R1980), defines the requirements and test procedures in
1579
+ terms of characteristics unique to the gyroscope or those applications in
1580
+ which the dynamic angular inputs are significantly greater than the limitations
1581
+ identified in IEEE Std 517. Learn More 529-1980\/Cor 1-2017 IEEE Standard
1582
+ Supplement for Strapdown Applications to IEEE Standard Specification Format
1583
+ Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
1584
+ - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
1585
+ are made by this corrigendum to material already published in IEEE Std 529-1980.
1586
+ Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
1587
+ for Single-Axis Laser Gyros Specification and test requirements for a single-axis
1588
+ ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
1589
+ displacement measuring systems, and angular rate measuring systems are defined.
1590
+ A standard specification format guide for the preparation of a single-axis
1591
+ RLG is provided. A compilation of recommended procedures for testing an RLG,
1592
+ derived from those presently used in the industry, is also provided. Learn
1593
+ More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
1594
+ for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
1595
+ and Displacement A guide is presented for the preparation of a specification
1596
+ and test procedure for an inertial angular sensor that provides a common meeting
1597
+ ground of terminology and practice for manufacturers and users of an array
1598
+ of sensors that have been developed to meet needs not easily met by traditional
1599
+ spinning-rotor gyroscopes. A test procedure for verifying that the specifications
1600
+ have been met is given. The standard is not intended to compete with existing
1601
+ standards for specific devices with highly specific models and error sources,
1602
+ such as spring-restrained rate gyros, but to provide a uniform guide for those
1603
+ inertial angular sensors that have not been covered elsewhere. Learn More
1604
+ 671-1985\/Cor 1-2010 IEEE Standard Specification Format Guide and Test Procedure
1605
+ for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
1606
+ and Displacement Corrigendum 1: 4.7.2.6 Short-Term Stability and Annex A Sensor
1607
+ Dynamic Block Diagrams IEEE Std 671-1985 provides specifications and test
1608
+ requirements for a non-gyroscopic inertial angular sensor that may measure
1609
+ angular jerk, acceleration, rate, or displacement with or without response
1610
+ down to zero frequency. A standard specification format is provided. A compilation
1611
+ of recommended test procedures, derived from those presently used in the industry,
1612
+ is also provided. Informative annexes cover design features and theoretical
1613
+ principles of operation. This corrigendum makes changes to 4.7.2.6 to delete
1614
+ a sentence that does not belong there, to add a subclause that was inadvertently
1615
+ left out, and to renumber the existing subclauses. Changes are also being
1616
+ made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
1617
+ and to add a missing symbol. Learn More 813-1988 IEEE Specification Format
1618
+ Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
1619
+ A format guide for the preparation of a two-degree-of-freedom dynamically
1620
+ tuned gyro (DTG) specification is given that provides a common ground of terminology
1621
+ and practice for manufacturers and users. A compilation of recommended procedures
1622
+ for testing a DTG is also given. The requirements and test procedures are
1623
+ defined in terms unique to the DTG. They cover applications of the gyro as
1624
+ an angular motion sensor in navigation and control systems. They apply to
1625
+ two modes of use: (1) as a strap-down sensor in operating environments typical
1626
+ of aircraft and missile applications, and (2) as a sensor in gimballed platform
1627
+ applications in which the dynamic angular inputs to which the gyro is subjected
1628
+ are benign relative to the accuracy required. In the case of the strap-down
1629
+ DTG, the characteristics of the external capture loops are considered to the
1630
+ extent necessary to define the gyro performance. Learn More 836-2009 IEEE
1631
+ Recommended Practice for Precision Centrifuge Testing of Linear Accelerometers
1632
+ This recommended practice describes the conduct and analysis of precision
1633
+ tests that are to be performed on linear accelerometers using centrifuge techniques.
1634
+ The term u201cprecision,u201d in this context, refers to tests that are conducted
1635
+ to evaluate accelerometer parameters, as opposed to those conducted to establish
1636
+ environmental survivability only. Evaluation may take the form of determining
1637
+ the coefficients of the accelerometer''s model equation, except for bias and
1638
+ scale factor, which are most accurately determined by static multi-position
1639
+ tests. Alternatively, evaluation may only establish that the accelerometer
1640
+ output complies with specific error limit criteria. Learn More Facebook Twitter
1641
+ LinkedIn Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program
1642
+ Distributor Program Training & Development Policies & Procedures Contact Us
1643
+ Board of Governors About Board of Governors Awards Committee Corporate Advisory
1644
+ Group Industry Connections Committee Registration Authority Committee Strategic
1645
+ Planning Coordination Committee Standards Board About Standards Board Board
1646
+ Approvals Audit Committee New Standards Committee Patent Committee Procedures
1647
+ Committee Standards Review Committee News & Events News IEEE SA Newsletter
1648
+ Events Home Sitemap Contact & Support Accessibility Nondiscrimination Policy
1649
+ IEEE Ethics Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9
1650
+ Copyright 2021 IEEE \u2013 All rights reserved. Use of this website signifies
1651
+ your agreement to the IEEE Terms and Conditions . A not-for-profit organization,
1652
+ IEEE is the world\u2019s largest technical professional organization dedicated
1653
+ to advancing technology for the benefit of humanity. Subscribe Newswire Sign
1654
+ up for our monthly newsletter to learn about new developments, including resources,
1655
+ insights and more. "}},{"id":"0e5f59ed4630b7396c4a857f43f6bb32af4c28844fefb77ff93fe62204b6b900a7db16a6b235b40889e7c1b34cbfd885f9f106827f93026cac353fc730a1df39","fields":{"meta_keywords_la":["Aerospace
1656
+ Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Specification
1657
+ Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros","meta_type_la":["Standard"],"meta_description_l":"This
1658
+ specification defines the requirements for a single-degree-of-freedom spring-restrained
1659
+ rate gyro for [aircraft, missile, spacecraft,______] applications. The rate
1660
+ gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1661
+ to angular rate inputs up to______ degrees per second, a switch closure(s)
1662
+ at angular rates (exceeding,less than)______ (+,-,\u00b1)______ degrees per
1663
+ second].","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/292\/485\/","meta_designation_l":"IEEE
1664
+ 292-1969","doc_title_t":"IEEE SA - IEEE 292-1969","doc_text_t":"IEEE SA -
1665
+ IEEE 292-1969 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum
1905
1666
  More Sites eTools Standards Access Standards Search Standards Standards Development
1906
1667
  Standards Adoption Choose from the many ways to access IEEE SA Standards.
1907
1668
  Choose from individual or organizational access options to get the standards
@@ -1955,24 +1716,24 @@ http_interactions:
1955
1716
  the latest news on IEEE SA. Subscribe to our newsletter and keep up to date
1956
1717
  on the latest standards, event, and activities. Get the standards you need.
1957
1718
  Select from individual standards or standards bundles. MAC Address Inactive-Reserved
1958
- Standard IEEE 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom Spring-Restrained
1959
- Rate Gyros Purchase Access via Subscription Home Standards IEEE 293-1969 Recommended
1960
- rate gyro test procedures derived from those currently in use, including test
1961
- conditions to be considered, are compiled. In some cases alternate methods
1962
- for measuring a performance characteristic have been included. This standard
1963
- is intended to be a guide in the preparation of Section 4 of a specification
1964
- that follows the format of IEEE Std 292, Specification Format for Single-Degree-of-Freedom
1965
- Spring-Restrained Rate Gyros. Sponsor Committee AES\/GA - Gyro Accelerometer
1966
- Panel Learn More Status Inactive-Reserved Standard Corrigendum 293-1969\/Cor
1967
- 1-2014 History ANSI Approved: 1986-11-17 Published: 1968-11-30 Reaffirmed:
1968
- 2010-06-17 Inactivated Date: 2021-03-25 Working Group Details Society IEEE
1969
- Aerospace and Electronic Systems Society Learn More Sponsor Committee AES\/GA
1970
- - Gyro Accelerometer Panel Learn More Working Group SENSR_WG - Sensors Working
1971
- Group Learn More IEEE Program Manager Soo Kim Contact Working Group Chair
1972
- Harry Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
1973
- Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
1974
- Coriolis Vibratory Gyros This standard defines requirements and test procedures
1975
- for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1719
+ Standard IEEE 292-1969 IEEE Specification Format for Single-Degree-of-Freedom
1720
+ Spring-Restrained Rate Gyros Purchase Access via Subscription Home Standards
1721
+ IEEE 292-1969 This specification defines the requirements for a single-degree-of-freedom
1722
+ spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
1723
+ The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
1724
+ to angular rate inputs up to______ degrees per second, a switch closure(s)
1725
+ at angular rates (exceeding,less than)______ (+,-,\u00b1)______ degrees per
1726
+ second]. Sponsor Committee AES\/GA - Gyro Accelerometer Panel Learn More Status
1727
+ Inactive-Reserved Standard History ANSI Approved: 1986-11-17 Published: 1968-11-30
1728
+ Reaffirmed: 2010-06-17 Inactivated Date: 2021-03-25 Additional Resources Errata
1729
+ 292-1969_errata.pdf Working Group Details Society IEEE Aerospace and Electronic
1730
+ Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
1731
+ Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
1732
+ IEEE Program Manager Soo Kim Contact Working Group Chair Harry Davis Active
1733
+ Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
1734
+ Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
1735
+ Vibratory Gyros This standard defines requirements and test procedures for
1736
+ a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1976
1737
  control systems, angular displacement measuring systems, and angular rate
1977
1738
  measuring systems. Informative annexes cover CVG design features and theoretical
1978
1739
  principles of operation. Learn More 1293-2018 IEEE Standard Specification
@@ -2038,22 +1799,22 @@ http_interactions:
2038
1799
  1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
2039
1800
  Data Acquisition, and Analysis Test equipment, data acquisition equipment,
2040
1801
  instrumentation, test facilities, and data analysis techniques used in inertial
2041
- sensor testing are described in this recommended practice. Learn More 292-1969
2042
- IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
2043
- Gyros This specification defines the requirements for a single-degree-of-freedom
2044
- spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
2045
- The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
2046
- to angular rate inputs up to______ degrees per second, a switch closure(s)
2047
- at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
2048
- second]. Learn More 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure
2049
- for Single-Degree-of-Freedom Spring-Restrained Rate Gyros -- Corrigendum 1:
2050
- Table 1 Heading Correction to Table 1 on page 14 of IEEE Std 293-1969 Learn
2051
- More 517-1974 IEEE Standard Specification Format Guide and Test Procedure
2052
- for Single-Degree-of-Freedom Rate-Integrating Gyros A specification format
2053
- guide for the preparation of a rate-integrating gyro specification that provides
2054
- a common meeting ground of terminology and practice for manufacturers and
2055
- users is presented. A compilation of recommended procedures for testing a
2056
- rate-integrating gyro is given. Learn More 529-1980 Supplement for Strapdown
1802
+ sensor testing are described in this recommended practice. Learn More 293-1969
1803
+ IEEE Test Procedure for Single-Degree-of-Freedom Spring-Restrained Rate Gyros
1804
+ Recommended rate gyro test procedures derived from those currently in use,
1805
+ including test conditions to be considered, are compiled. In some cases alternate
1806
+ methods for measuring a performance characteristic have been included. This
1807
+ standard is intended to be a guide in the preparation of Section 4 of a specification
1808
+ that follows the format of IEEE Std 292, Specification Format for Single-Degree-of-Freedom
1809
+ Spring-Restrained Rate Gyros. Learn More 293-1969\/Cor 1-2014 IEEE Standard
1810
+ for IEEE Test Procedure for Single-Degree-of-Freedom Spring-Restrained Rate
1811
+ Gyros -- Corrigendum 1: Table 1 Heading Correction to Table 1 on page 14 of
1812
+ IEEE Std 293-1969 Learn More 517-1974 IEEE Standard Specification Format Guide
1813
+ and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros A specification
1814
+ format guide for the preparation of a rate-integrating gyro specification
1815
+ that provides a common meeting ground of terminology and practice for manufacturers
1816
+ and users is presented. A compilation of recommended procedures for testing
1817
+ a rate-integrating gyro is given. Learn More 529-1980 Supplement for Strapdown
2057
1818
  Applications to IEEE Standard Specification Format Guide and Test Procedure
2058
1819
  for Single-Degree-of-Freedom Rate-Integrating Gyros A specification format
2059
1820
  guide for the preparation of a rate-integrating gyroscope specification is
@@ -2135,28 +1896,23 @@ http_interactions:
2135
1896
  . A not-for-profit organization, IEEE is the world\u2019s largest technical
2136
1897
  professional organization dedicated to advancing technology for the benefit
2137
1898
  of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
2138
- about new developments, including resources, insights and more. "}},{"id":"1f454c3c1d1b8225381c03b93f6289bb9a62e4db6b8208aa0e9403d764b40eaf5545f19a40f487252dbd1c193775b8f344b93ef95bb161c8996090a798bf7ef3","fields":{"meta_keywords_la":["Aerospace
2139
- Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Standard
2140
- Specification Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic
2141
- Accelerometers","meta_type_la":["Standard"],"meta_description_l":"The specification
2142
- and test requirements for a linear, single-axis, nongyroscopic accelerometer
2143
- for use in inertial navigation, guidance, and leveling systems are defined.
2144
- A standard specification guide and a compilation of recommended test procedures
2145
- for such accelerometers are provided. Informative annexes are given on the
2146
- various types of such accelerometers (force or pendulous torque rebalance
2147
- with analog or digital output, vibrating beam, and micromechanical) and error
2148
- effects, on filtering, noise, and transient analysis techniques, and on calibration
2149
- and modeling techniques (multipoint tumble analysis, vibration and shock
2150
- test analyses, and geophysical effects in inertial instrument testing).","meta_topic_la":["Aerospace
2151
- Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/","meta_designation_l":"IEEE
2152
- 1293-2018","doc_title_t":"IEEE SA - IEEE 1293-2018","doc_text_t":"IEEE SA
2153
- - IEEE 1293-2018 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE
2154
- Spectrum More Sites eTools Standards Access Standards Search Standards Standards
2155
- Development Standards Adoption Choose from the many ways to access IEEE SA
2156
- Standards. Choose from individual or organizational access options to get
2157
- the standards you need. Find the standards you\u2019re looking for. Get involved
2158
- in the development of market-driven technology standards with proven expertise
2159
- and dedicated support. Learn more about how to adopt IEEE standards. Products
1899
+ about new developments, including resources, insights and more. "}},{"id":"994a2773a3f87366d9e7596ae1a277954c2c4d5f654e59ddbb8d2e5c8d83027a101d36188dbe0e50e60d6d3cb6d58028038c31c169368300a82ade2d172ce459","fields":{"meta_keywords_la":["Aerospace
1900
+ Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Test
1901
+ Procedure for Single-Degree-of-Freedom Spring-Restrained Rate Gyros","meta_type_la":["Standard"],"meta_description_l":"Recommended
1902
+ rate gyro test procedures derived from those currently in use, including test
1903
+ conditions to be considered, are compiled. In some cases alternate methods
1904
+ for measuring a performance characteristic have been included. This standard
1905
+ is intended to be a guide in the preparation of Section 4 of a specification
1906
+ that follows the format of IEEE Std 292, Specification Format for Single-Degree-of-Freedom
1907
+ Spring-Restrained Rate Gyros.","meta_topic_la":["Aerospace Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/293\/486\/","meta_designation_l":"IEEE
1908
+ 293-1969","doc_title_t":"IEEE SA - IEEE 293-1969","doc_text_t":"IEEE SA -
1909
+ IEEE 293-1969 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum
1910
+ More Sites eTools Standards Access Standards Search Standards Standards Development
1911
+ Standards Adoption Choose from the many ways to access IEEE SA Standards.
1912
+ Choose from individual or organizational access options to get the standards
1913
+ you need. Find the standards you\u2019re looking for. Get involved in the
1914
+ development of market-driven technology standards with proven expertise and
1915
+ dedicated support. Learn more about how to adopt IEEE standards. Products
2160
1916
  & Programs Alliance Management Services Conformity Assessment & Certification
2161
1917
  IEEE SA Open Source Industry Affiliate Network (IAN) Industry Connections
2162
1918
  The National Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority
@@ -2203,54 +1959,61 @@ http_interactions:
2203
1959
  effectiveness program to enable the success of our vital volunteers. Read
2204
1960
  the latest news on IEEE SA. Subscribe to our newsletter and keep up to date
2205
1961
  on the latest standards, event, and activities. Get the standards you need.
2206
- Select from individual standards or standards bundles. MAC Address Active
2207
- Standard IEEE 1293-2018 IEEE Standard Specification Format Guide and Test
2208
- Procedure for Linear Single-Axis, Nongyroscopic Accelerometers Purchase Access
2209
- via Subscription Home Standards IEEE 1293-2018 The specification and test
2210
- requirements for a linear, single-axis, nongyroscopic accelerometer for use
2211
- in inertial navigation, guidance, and leveling systems are defined. A standard
2212
- specification guide and a compilation of recommended test procedures for such
2213
- accelerometers are provided. Informative annexes are given on the various
2214
- types of such accelerometers (force or pendulous torque rebalance with analog
2215
- or digital output, vibrating beam, and micromechanical) and error effects,
2216
- on filtering, noise, and transient analysis techniques, and on calibration
2217
- and modeling techniques (multipoint tumble analysis, vibration and shock test
2218
- analyses, and geophysical effects in inertial instrument testing). Sponsor
2219
- Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Active Standard
2220
- PAR Approval 2012-11-02 Superseding 1293-1998 Board Approval 2018-10-23 History
2221
- Published: 2019-02-28 Working Group Details Society IEEE Aerospace and Electronic
2222
- Systems Society Learn More Sponsor Committee AES\/GA - Gyro Accelerometer
2223
- Panel Learn More Working Group SENSR_WG - Sensors Working Group Learn More
2224
- IEEE Program Manager Soo Kim Contact Working Group Chair Harry Davis Active
2225
- Projects Active Standards Superseded Standards Inactive-Withdrawn Standards
2226
- Inactive-Reserved Standards P1431 Standard for Specifying and Testing Coriolis
2227
- Vibratory Gyros This standard defines requirements and test procedures for
2228
- a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
1962
+ Select from individual standards or standards bundles. MAC Address Inactive-Reserved
1963
+ Standard IEEE 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom Spring-Restrained
1964
+ Rate Gyros Purchase Access via Subscription Home Standards IEEE 293-1969 Recommended
1965
+ rate gyro test procedures derived from those currently in use, including test
1966
+ conditions to be considered, are compiled. In some cases alternate methods
1967
+ for measuring a performance characteristic have been included. This standard
1968
+ is intended to be a guide in the preparation of Section 4 of a specification
1969
+ that follows the format of IEEE Std 292, Specification Format for Single-Degree-of-Freedom
1970
+ Spring-Restrained Rate Gyros. Sponsor Committee AES\/GA - Gyro Accelerometer
1971
+ Panel Learn More Status Inactive-Reserved Standard Corrigendum 293-1969\/Cor
1972
+ 1-2014 History ANSI Approved: 1986-11-17 Published: 1968-11-30 Reaffirmed:
1973
+ 2010-06-17 Inactivated Date: 2021-03-25 Working Group Details Society IEEE
1974
+ Aerospace and Electronic Systems Society Learn More Sponsor Committee AES\/GA
1975
+ - Gyro Accelerometer Panel Learn More Working Group SENSR_WG - Sensors Working
1976
+ Group Learn More IEEE Program Manager Soo Kim Contact Working Group Chair
1977
+ Harry Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
1978
+ Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
1979
+ Coriolis Vibratory Gyros This standard defines requirements and test procedures
1980
+ for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
2229
1981
  control systems, angular displacement measuring systems, and angular rate
2230
1982
  measuring systems. Informative annexes cover CVG design features and theoretical
2231
- principles of operation. Learn More 528-2019 IEEE Standard for Inertial Sensor
2232
- Terminology Terms and definitions relating to inertial sensors are presented
2233
- in this standard. Usage as understood by the inertial sensor community is
2234
- given preference over general technical usage of the terms herein. The criterion
2235
- for inclusion of a term and its definition in this standard is usefulness
2236
- as related to inertial sensor technology. Learn More 952-2020 IEEE Standard
2237
- for Specifying and Testing Single-Axis Interferometric Fiber Optic Gyros Specification
2238
- and test procedures for a single-axis interferometric fiber optic gyro (IFOG)
2239
- for use as a sensor in attitude control systems, angular displacement measuring
2240
- systems, and angular rate measuring systems are defined. The test procedures
2241
- are derived from those presently used in the industry. Learn More 1293-1998\/Cor
2242
- 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Linear,Single-Axis,
2243
- Nongyroscopic Accelerometers Corrigendum 1: Changes to Annex K and Annex L
2244
- Corrigendum to IEEE Std 1293-1998. Specification and test requirements for
2245
- linear, single-axis, nongyroscopic accelerometers for use as a sensor in attitude
2246
- control systems, linear displacement measuring systems, and linear rate measuring
2247
- systems are defined. The specification format guide and test procedure standard
2248
- applies to force-rebalance accelerometers (pendulous or translational proof
2249
- mass), vibrating beam accelerometers (VBAs), and micromechanical accelerometers
2250
- that range from lesser accuracy to high accuracy devices. Learn More 528-2001
2251
- IEEE Standard for Inertial Sensor Terminology Terms and definitions relating
2252
- to inertial senors are presented in this standard. Usage as understood by
2253
- the inertial sensor community is given preference over general technical usage
1983
+ principles of operation. Learn More 1293-2018 IEEE Standard Specification
1984
+ Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
1985
+ The specification and test requirements for a linear, single-axis, nongyroscopic
1986
+ accelerometer for use in inertial navigation, guidance, and leveling systems
1987
+ are defined. A standard specification guide and a compilation of recommended
1988
+ test procedures for such accelerometers are provided. Informative annexes
1989
+ are given on the various types of such accelerometers (force or pendulous
1990
+ torque rebalance with analog or digital output, vibrating beam, and micromechanical)
1991
+ and error effects, on filtering, noise, and transient analysis techniques,
1992
+ and on calibration and modeling techniques (multipoint tumble analysis, vibration
1993
+ and shock test analyses, and geophysical effects in inertial instrument testing).
1994
+ Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
1995
+ definitions relating to inertial sensors are presented in this standard. Usage
1996
+ as understood by the inertial sensor community is given preference over general
1997
+ technical usage of the terms herein. The criterion for inclusion of a term
1998
+ and its definition in this standard is usefulness as related to inertial sensor
1999
+ technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
2000
+ Interferometric Fiber Optic Gyros Specification and test procedures for a
2001
+ single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
2002
+ attitude control systems, angular displacement measuring systems, and angular
2003
+ rate measuring systems are defined. The test procedures are derived from those
2004
+ presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
2005
+ Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
2006
+ Accelerometers Corrigendum 1: Changes to Annex K and Annex L Corrigendum to
2007
+ IEEE Std 1293-1998. Specification and test requirements for linear, single-axis,
2008
+ nongyroscopic accelerometers for use as a sensor in attitude control systems,
2009
+ linear displacement measuring systems, and linear rate measuring systems are
2010
+ defined. The specification format guide and test procedure standard applies
2011
+ to force-rebalance accelerometers (pendulous or translational proof mass),
2012
+ vibrating beam accelerometers (VBAs), and micromechanical accelerometers that
2013
+ range from lesser accuracy to high accuracy devices. Learn More 528-2001 IEEE
2014
+ Standard for Inertial Sensor Terminology Terms and definitions relating to
2015
+ inertial senors are presented in this standard. Usage as understood by the
2016
+ inertial sensor community is given preference over general technical usage
2254
2017
  of the terms herein. The criterion for inclusion of a term and its definition
2255
2018
  in this standard is usefulness as related to inertial sensor technology. Learn
2256
2019
  More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
@@ -2287,104 +2050,341 @@ http_interactions:
2287
2050
  The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
2288
2051
  to angular rate inputs up to______ degrees per second, a switch closure(s)
2289
2052
  at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
2290
- second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
2291
- Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
2292
- from those currently in use, including test conditions to be considered, are
2293
- compiled. In some cases alternate methods for measuring a performance characteristic
2294
- have been included. This standard is intended to be a guide in the preparation
2295
- of Section 4 of a specification that follows the format of IEEE Std 292, Specification
2296
- Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
2297
- 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
2298
- Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
2299
- to Table 1 on page 14 of IEEE Std 293-1969 Learn More 517-1974 IEEE Standard
2053
+ second]. Learn More 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure
2054
+ for Single-Degree-of-Freedom Spring-Restrained Rate Gyros -- Corrigendum 1:
2055
+ Table 1 Heading Correction to Table 1 on page 14 of IEEE Std 293-1969 Learn
2056
+ More 517-1974 IEEE Standard Specification Format Guide and Test Procedure
2057
+ for Single-Degree-of-Freedom Rate-Integrating Gyros A specification format
2058
+ guide for the preparation of a rate-integrating gyro specification that provides
2059
+ a common meeting ground of terminology and practice for manufacturers and
2060
+ users is presented. A compilation of recommended procedures for testing a
2061
+ rate-integrating gyro is given. Learn More 529-1980 Supplement for Strapdown
2062
+ Applications to IEEE Standard Specification Format Guide and Test Procedure
2063
+ for Single-Degree-of-Freedom Rate-Integrating Gyros A specification format
2064
+ guide for the preparation of a rate-integrating gyroscope specification is
2065
+ presented. Recommended procedures for testing a rate-integrating gyroscope
2066
+ are compiled. This standard, when combined with IEEE Std 517-1974 (R1980),
2067
+ defines the requirements and test procedures in terms of characteristics unique
2068
+ to the gyroscope or those applications in which the dynamic angular inputs
2069
+ are significantly greater than the limitations identified in IEEE Std 517.
2070
+ Learn More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
2071
+ to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
2072
+ Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
2073
+ and 10.10.4.1 Corrections are made by this corrigendum to material already
2074
+ published in IEEE Std 529-1980. Learn More 647-2006 IEEE Standard Specification
2075
+ Format Guide and Test Procedure for Single-Axis Laser Gyros Specification
2076
+ and test requirements for a single-axis ring laser gyro (RLG) for use as a
2077
+ sensor in attitude control systems, angular displacement measuring systems,
2078
+ and angular rate measuring systems are defined. A standard specification format
2079
+ guide for the preparation of a single-axis RLG is provided. A compilation
2080
+ of recommended procedures for testing an RLG, derived from those presently
2081
+ used in the industry, is also provided. Learn More 671-1985 IEEE Standard
2082
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
2083
+ Sensors: Jerk, Acceleration, Velocity, and Displacement A guide is presented
2084
+ for the preparation of a specification and test procedure for an inertial
2085
+ angular sensor that provides a common meeting ground of terminology and practice
2086
+ for manufacturers and users of an array of sensors that have been developed
2087
+ to meet needs not easily met by traditional spinning-rotor gyroscopes. A test
2088
+ procedure for verifying that the specifications have been met is given. The
2089
+ standard is not intended to compete with existing standards for specific devices
2090
+ with highly specific models and error sources, such as spring-restrained rate
2091
+ gyros, but to provide a uniform guide for those inertial angular sensors that
2092
+ have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
2093
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
2094
+ Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
2095
+ Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
2096
+ provides specifications and test requirements for a non-gyroscopic inertial
2097
+ angular sensor that may measure angular jerk, acceleration, rate, or displacement
2098
+ with or without response down to zero frequency. A standard specification
2099
+ format is provided. A compilation of recommended test procedures, derived
2100
+ from those presently used in the industry, is also provided. Informative annexes
2101
+ cover design features and theoretical principles of operation. This corrigendum
2102
+ makes changes to 4.7.2.6 to delete a sentence that does not belong there,
2103
+ to add a subclause that was inadvertently left out, and to renumber the existing
2104
+ subclauses. Changes are also being made to fix the block diagrams in Annex
2105
+ A, to correct a misspelling of inertia, and to add a missing symbol. Learn
2106
+ More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
2107
+ Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
2108
+ dynamically tuned gyro (DTG) specification is given that provides a common
2109
+ ground of terminology and practice for manufacturers and users. A compilation
2110
+ of recommended procedures for testing a DTG is also given. The requirements
2111
+ and test procedures are defined in terms unique to the DTG. They cover applications
2112
+ of the gyro as an angular motion sensor in navigation and control systems.
2113
+ They apply to two modes of use: (1) as a strap-down sensor in operating environments
2114
+ typical of aircraft and missile applications, and (2) as a sensor in gimballed
2115
+ platform applications in which the dynamic angular inputs to which the gyro
2116
+ is subjected are benign relative to the accuracy required. In the case of
2117
+ the strap-down DTG, the characteristics of the external capture loops are
2118
+ considered to the extent necessary to define the gyro performance. Learn More
2119
+ 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of Linear
2120
+ Accelerometers This recommended practice describes the conduct and analysis
2121
+ of precision tests that are to be performed on linear accelerometers using
2122
+ centrifuge techniques. The term u201cprecision,u201d in this context, refers
2123
+ to tests that are conducted to evaluate accelerometer parameters, as opposed
2124
+ to those conducted to establish environmental survivability only. Evaluation
2125
+ may take the form of determining the coefficients of the accelerometer''s
2126
+ model equation, except for bias and scale factor, which are most accurately
2127
+ determined by static multi-position tests. Alternatively, evaluation may only
2128
+ establish that the accelerometer output complies with specific error limit
2129
+ criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
2130
+ Us IEEE SA Membership Corporate Program Distributor Program Training & Development
2131
+ Policies & Procedures Contact Us Board of Governors About Board of Governors
2132
+ Awards Committee Corporate Advisory Group Industry Connections Committee Registration
2133
+ Authority Committee Strategic Planning Coordination Committee Standards Board
2134
+ About Standards Board Board Approvals Audit Committee New Standards Committee
2135
+ Patent Committee Procedures Committee Standards Review Committee News & Events
2136
+ News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
2137
+ Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
2138
+ Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
2139
+ of this website signifies your agreement to the IEEE Terms and Conditions
2140
+ . A not-for-profit organization, IEEE is the world\u2019s largest technical
2141
+ professional organization dedicated to advancing technology for the benefit
2142
+ of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
2143
+ about new developments, including resources, insights and more. "}},{"id":"3fc0c715deec41762b0998457967e6feb2e27945928e2467bfb2f2923a4976a89ba4567595790403dcd8f650e2906a80c9826aa4cd52d5af78f7195707928ce0","fields":{"meta_keywords_la":["Aerospace
2144
+ Electronics"],"doc_type_l":"text\/html","meta_title_t":"IEEE SA - IEEE Standard
2300
2145
  Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
2301
- Rate-Integrating Gyros A specification format guide for the preparation of
2302
- a rate-integrating gyro specification that provides a common meeting ground
2303
- of terminology and practice for manufacturers and users is presented. A compilation
2304
- of recommended procedures for testing a rate-integrating gyro is given. Learn
2305
- More 529-1980 Supplement for Strapdown Applications to IEEE Standard Specification
2306
- Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
2307
- Gyros A specification format guide for the preparation of a rate-integrating
2308
- gyroscope specification is presented. Recommended procedures for testing a
2309
- rate-integrating gyroscope are compiled. This standard, when combined with
2310
- IEEE Std 517-1974 (R1980), defines the requirements and test procedures in
2311
- terms of characteristics unique to the gyroscope or those applications in
2312
- which the dynamic angular inputs are significantly greater than the limitations
2313
- identified in IEEE Std 517. Learn More 529-1980\/Cor 1-2017 IEEE Standard
2314
- Supplement for Strapdown Applications to IEEE Standard Specification Format
2315
- Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros
2316
- - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3, and 10.10.4.1 Corrections
2317
- are made by this corrigendum to material already published in IEEE Std 529-1980.
2318
- Learn More 647-2006 IEEE Standard Specification Format Guide and Test Procedure
2319
- for Single-Axis Laser Gyros Specification and test requirements for a single-axis
2320
- ring laser gyro (RLG) for use as a sensor in attitude control systems, angular
2321
- displacement measuring systems, and angular rate measuring systems are defined.
2322
- A standard specification format guide for the preparation of a single-axis
2323
- RLG is provided. A compilation of recommended procedures for testing an RLG,
2324
- derived from those presently used in the industry, is also provided. Learn
2325
- More 671-1985 IEEE Standard Specification Format Guide and Test Procedure
2326
- for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
2327
- and Displacement A guide is presented for the preparation of a specification
2328
- and test procedure for an inertial angular sensor that provides a common meeting
2329
- ground of terminology and practice for manufacturers and users of an array
2330
- of sensors that have been developed to meet needs not easily met by traditional
2331
- spinning-rotor gyroscopes. A test procedure for verifying that the specifications
2332
- have been met is given. The standard is not intended to compete with existing
2333
- standards for specific devices with highly specific models and error sources,
2334
- such as spring-restrained rate gyros, but to provide a uniform guide for those
2335
- inertial angular sensors that have not been covered elsewhere. Learn More
2336
- 671-1985\/Cor 1-2010 IEEE Standard Specification Format Guide and Test Procedure
2337
- for Nongyroscopic Inertial Angular Sensors: Jerk, Acceleration, Velocity,
2338
- and Displacement Corrigendum 1: 4.7.2.6 Short-Term Stability and Annex A Sensor
2339
- Dynamic Block Diagrams IEEE Std 671-1985 provides specifications and test
2340
- requirements for a non-gyroscopic inertial angular sensor that may measure
2341
- angular jerk, acceleration, rate, or displacement with or without response
2342
- down to zero frequency. A standard specification format is provided. A compilation
2343
- of recommended test procedures, derived from those presently used in the industry,
2344
- is also provided. Informative annexes cover design features and theoretical
2345
- principles of operation. This corrigendum makes changes to 4.7.2.6 to delete
2346
- a sentence that does not belong there, to add a subclause that was inadvertently
2347
- left out, and to renumber the existing subclauses. Changes are also being
2348
- made to fix the block diagrams in Annex A, to correct a misspelling of inertia,
2349
- and to add a missing symbol. Learn More 813-1988 IEEE Specification Format
2350
- Guide and Test Procedure for Two-Degree-of-Freedom Dynamically Tuned Gyros
2351
- A format guide for the preparation of a two-degree-of-freedom dynamically
2352
- tuned gyro (DTG) specification is given that provides a common ground of terminology
2353
- and practice for manufacturers and users. A compilation of recommended procedures
2354
- for testing a DTG is also given. The requirements and test procedures are
2355
- defined in terms unique to the DTG. They cover applications of the gyro as
2356
- an angular motion sensor in navigation and control systems. They apply to
2357
- two modes of use: (1) as a strap-down sensor in operating environments typical
2358
- of aircraft and missile applications, and (2) as a sensor in gimballed platform
2359
- applications in which the dynamic angular inputs to which the gyro is subjected
2360
- are benign relative to the accuracy required. In the case of the strap-down
2361
- DTG, the characteristics of the external capture loops are considered to the
2362
- extent necessary to define the gyro performance. Learn More 836-2009 IEEE
2363
- Recommended Practice for Precision Centrifuge Testing of Linear Accelerometers
2364
- This recommended practice describes the conduct and analysis of precision
2365
- tests that are to be performed on linear accelerometers using centrifuge techniques.
2366
- The term u201cprecision,u201d in this context, refers to tests that are conducted
2367
- to evaluate accelerometer parameters, as opposed to those conducted to establish
2368
- environmental survivability only. Evaluation may take the form of determining
2369
- the coefficients of the accelerometer''s model equation, except for bias and
2370
- scale factor, which are most accurately determined by static multi-position
2371
- tests. Alternatively, evaluation may only establish that the accelerometer
2372
- output complies with specific error limit criteria. Learn More Facebook Twitter
2373
- LinkedIn Instagram YouTube IEEE SA About Us IEEE SA Membership Corporate Program
2374
- Distributor Program Training & Development Policies & Procedures Contact Us
2375
- Board of Governors About Board of Governors Awards Committee Corporate Advisory
2376
- Group Industry Connections Committee Registration Authority Committee Strategic
2377
- Planning Coordination Committee Standards Board About Standards Board Board
2378
- Approvals Audit Committee New Standards Committee Patent Committee Procedures
2379
- Committee Standards Review Committee News & Events News IEEE SA Newsletter
2380
- Events Home Sitemap Contact & Support Accessibility Nondiscrimination Policy
2381
- IEEE Ethics Reporting IEEE Privacy Policy IEEE SA Copyright Policy \u00a9
2382
- Copyright 2021 IEEE \u2013 All rights reserved. Use of this website signifies
2383
- your agreement to the IEEE Terms and Conditions . A not-for-profit organization,
2384
- IEEE is the world\u2019s largest technical professional organization dedicated
2385
- to advancing technology for the benefit of humanity. Subscribe Newswire Sign
2386
- up for our monthly newsletter to learn about new developments, including resources,
2387
- insights and more. "}}]},"facets":{"meta_categories_la":{"buckets":[]},"meta_topic_la":{"buckets":[{"value":"Aerospace
2146
+ Rate-Integrating Gyros","meta_type_la":["Standard"],"meta_description_l":"A
2147
+ specification format guide for the preparation of a rate-integrating gyro
2148
+ specification that provides a common meeting ground of terminology and practice
2149
+ for manufacturers and users is presented. A compilation of recommended procedures
2150
+ for testing a rate-integrating gyro is given.","meta_topic_la":["Aerospace
2151
+ Electronics"],"doc_id_l":"https:\/\/standards.ieee.org\/ieee\/517\/760\/","meta_designation_l":"IEEE
2152
+ 517-1974","doc_title_t":"IEEE SA - IEEE 517-1974","doc_text_t":"IEEE SA -
2153
+ IEEE 517-1974 IEEE.org IEEE Xplore Digital Library IEEE Standards IEEE Spectrum
2154
+ More Sites eTools Standards Access Standards Search Standards Standards Development
2155
+ Standards Adoption Choose from the many ways to access IEEE SA Standards.
2156
+ Choose from individual or organizational access options to get the standards
2157
+ you need. Find the standards you\u2019re looking for. Get involved in the
2158
+ development of market-driven technology standards with proven expertise and
2159
+ dedicated support. Learn more about how to adopt IEEE standards. Products
2160
+ & Programs Alliance Management Services Conformity Assessment & Certification
2161
+ IEEE SA Open Source Industry Affiliate Network (IAN) Industry Connections
2162
+ The National Electrical Safety Code\u00ae (NESC\u00ae) Registration Authority
2163
+ Government Engagement Program on Standards (GEPS) Standards Fellowship All
2164
+ Products & Programs Full ecosystem of standards-related solutions to help
2165
+ drive awareness, activation, and adoption. Providing support services to help
2166
+ manage the day-to-day operations of industry groups, allowing key stakeholders
2167
+ to focus on the work at hand. Focused on development and implementation of
2168
+ rigorous conformity assessment programs designed to help accelerate market
2169
+ adoption, reduce costs and more. A vendor-neutral, inclusive, open source
2170
+ platform\u2014for all, from independent software developers and start ups
2171
+ to industry, academic and research institutions. Open to consortia, industry
2172
+ alliance or other industry organizations, looking to bring forward specifications
2173
+ for standards development and market adoption. Facilitating collaboration
2174
+ among organizations and individuals as they hone and refine their thinking
2175
+ on rapidly changing technologies. Guidelines for practical safeguarding during
2176
+ the installation, operation, and maintenance of electric supply, communication
2177
+ lines and associated equipment. Assigns and maintains unique identifiers and
2178
+ unambiguous names to objects for those wishing to register them. Program for
2179
+ policymakers providing tailored standards information, access to the IEEE
2180
+ SA standardization ecosystem, and standardization resources. Providing global
2181
+ standards professionals the opportunity to observe the IEEE standards development
2182
+ process and learn about technical areas of interest. See all the programs,
2183
+ products, and services that IEEE SA has to offer. Focuses Artificial Intelligence
2184
+ Systems (AIS) Connectivity & Telecom Energy Foundational Technologies Healthcare
2185
+ and Life Sciences Mobility Government Engagement Strategic focuses and industries
2186
+ where IEEE SA is raising the world\u2019s standards. Developing accessible
2187
+ and sustainable approaches and solutions for practical application of AIS
2188
+ principles and frameworks. Advancing robust, responsible, and affordable connectivity.
2189
+ Enabling sustainable, efficient, and accessible energy through technological
2190
+ advances on a global scale. Working to standardize seamless and ubiquitous
2191
+ connectivity across all applications of connected technologies. Focused on
2192
+ enabling affordable healthcare, access to medicine, and innovation to improve
2193
+ overall global wellness. Working to help the evolving mobility ecosystem address
2194
+ some of its greatest business opportunities that have the potential to solve
2195
+ major societal challenges. Building bridges between the worlds of technology,
2196
+ standards, and policy making. Get Involved Events IEEE SA Membership How to
2197
+ Get Involved Learn about opportunities to engage with IEEE SA. Join us at
2198
+ upcoming virtual or in-person events. Flexible membership options that offer
2199
+ enhanced participation in IEEE SA activities, standards development, and governance.
2200
+ There are many opportunities for participation, find the right one for you.
2201
+ Resources Training & Development News IEEE SA Newsletter Standards Store Training
2202
+ and communication resources to stay connected. Individual and organizational
2203
+ effectiveness program to enable the success of our vital volunteers. Read
2204
+ the latest news on IEEE SA. Subscribe to our newsletter and keep up to date
2205
+ on the latest standards, event, and activities. Get the standards you need.
2206
+ Select from individual standards or standards bundles. MAC Address Inactive-Reserved
2207
+ Standard IEEE 517-1974 IEEE Standard Specification Format Guide and Test Procedure
2208
+ for Single-Degree-of-Freedom Rate-Integrating Gyros Purchase Access via Subscription
2209
+ Home Standards IEEE 517-1974 A specification format guide for the preparation
2210
+ of a rate-integrating gyro specification that provides a common meeting ground
2211
+ of terminology and practice for manufacturers and users is presented. A compilation
2212
+ of recommended procedures for testing a rate-integrating gyro is given. Sponsor
2213
+ Committee AES\/GA - Gyro Accelerometer Panel Learn More Status Inactive-Reserved
2214
+ Standard Board Approval 1973-12-13 History ANSI Approved: 1983-05-30 Published:
2215
+ 1974-10-17 Reaffirmed: 2010-09-30 Inactivated Date: 2021-03-25 Additional
2216
+ Resources Errata 517-1974_errata.pdf Working Group Details Society IEEE Aerospace
2217
+ and Electronic Systems Society Learn More Sponsor Committee AES\/GA - Gyro
2218
+ Accelerometer Panel Learn More Working Group SENSR_WG - Sensors Working Group
2219
+ Learn More IEEE Program Manager Soo Kim Contact Working Group Chair Harry
2220
+ Davis Active Projects Active Standards Superseded Standards Inactive-Withdrawn
2221
+ Standards Inactive-Reserved Standards P1431 Standard for Specifying and Testing
2222
+ Coriolis Vibratory Gyros This standard defines requirements and test procedures
2223
+ for a single-axis Coriolis vibratory gyro (CVG) for use as a sensor in attitude
2224
+ control systems, angular displacement measuring systems, and angular rate
2225
+ measuring systems. Informative annexes cover CVG design features and theoretical
2226
+ principles of operation. Learn More 1293-2018 IEEE Standard Specification
2227
+ Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers
2228
+ The specification and test requirements for a linear, single-axis, nongyroscopic
2229
+ accelerometer for use in inertial navigation, guidance, and leveling systems
2230
+ are defined. A standard specification guide and a compilation of recommended
2231
+ test procedures for such accelerometers are provided. Informative annexes
2232
+ are given on the various types of such accelerometers (force or pendulous
2233
+ torque rebalance with analog or digital output, vibrating beam, and micromechanical)
2234
+ and error effects, on filtering, noise, and transient analysis techniques,
2235
+ and on calibration and modeling techniques (multipoint tumble analysis, vibration
2236
+ and shock test analyses, and geophysical effects in inertial instrument testing).
2237
+ Learn More 528-2019 IEEE Standard for Inertial Sensor Terminology Terms and
2238
+ definitions relating to inertial sensors are presented in this standard. Usage
2239
+ as understood by the inertial sensor community is given preference over general
2240
+ technical usage of the terms herein. The criterion for inclusion of a term
2241
+ and its definition in this standard is usefulness as related to inertial sensor
2242
+ technology. Learn More 952-2020 IEEE Standard for Specifying and Testing Single-Axis
2243
+ Interferometric Fiber Optic Gyros Specification and test procedures for a
2244
+ single-axis interferometric fiber optic gyro (IFOG) for use as a sensor in
2245
+ attitude control systems, angular displacement measuring systems, and angular
2246
+ rate measuring systems are defined. The test procedures are derived from those
2247
+ presently used in the industry. Learn More 1293-1998\/Cor 1-2008 IEEE Standard
2248
+ Specification Format Guide and Test Procedure for Linear,Single-Axis, Nongyroscopic
2249
+ Accelerometers Corrigendum 1: Changes to Annex K and Annex L Corrigendum to
2250
+ IEEE Std 1293-1998. Specification and test requirements for linear, single-axis,
2251
+ nongyroscopic accelerometers for use as a sensor in attitude control systems,
2252
+ linear displacement measuring systems, and linear rate measuring systems are
2253
+ defined. The specification format guide and test procedure standard applies
2254
+ to force-rebalance accelerometers (pendulous or translational proof mass),
2255
+ vibrating beam accelerometers (VBAs), and micromechanical accelerometers that
2256
+ range from lesser accuracy to high accuracy devices. Learn More 528-2001 IEEE
2257
+ Standard for Inertial Sensor Terminology Terms and definitions relating to
2258
+ inertial senors are presented in this standard. Usage as understood by the
2259
+ inertial sensor community is given preference over general technical usage
2260
+ of the terms herein. The criterion for inclusion of a term and its definition
2261
+ in this standard is usefulness as related to inertial sensor technology. Learn
2262
+ More 952-1997 IEEE Standard Specification Format Guide and Test Procedure
2263
+ for Single-Axis Interferometric Fiber Optic Gyros Specification and test requirements
2264
+ for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
2265
+ in attitude control systems, angular displacement measuring systems, and angular
2266
+ rate measuring systems are defined. A standard specification format guide
2267
+ for the preparation of a single-axis IFOG is provided. A compilation of recommended
2268
+ procedures for testing a fiber optic gyro, derived from those presently used
2269
+ in the industry, is also provided. Learn More 952-1997\/Cor 1-2016 IEEE Standard
2270
+ Specification Format Guide and Test Procedure for Single-Axis Interferometric
2271
+ Fiber Optic Gyros -- Corrigendum 1: Figure 1 and Subclauses 5.3.4, 8.3, 12.11.4.3.2,
2272
+ 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1, and 12.12.4.1 Errors identified in IEEE
2273
+ Std 952-1997 are corrected in this corrigendum. Corrections are made to Figure
2274
+ 1 and in subclauses 5.3.4, 8.3, 12.11.4.3.2, 12.11.4.3.3, 12.11.4.3.4, 12.12.3.1,
2275
+ and 12.12.4.1. Learn More No Inactive-Withdrawn Standards 1431-2004 IEEE Standard
2276
+ Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros
2277
+ Specification and test requirements for a single-axis Coriolis vibratory gyro
2278
+ (CVG) for use as a sensor in attitude control systems, angular displacement
2279
+ measuring systems, and angular rate measuring systems are defined. A stadard
2280
+ specification format guide for the preparation of a single-axis CVG is provided.
2281
+ A complilation of recommended procedures for testing a CVG, derived from those
2282
+ presently used in the industry, is also provided. Informative annexes cover
2283
+ CVG design features and theoretical principles of operation. Learn More 1431-2004\/Cor
2284
+ 1-2008 IEEE Standard Specification Format Guide and Test Procedure for Coriolis
2285
+ Vibratory Gyros - Corrigendum 1 Corrigendum to IEEE Std 1431-2004. Learn More
2286
+ 1554-2005 IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
2287
+ Data Acquisition, and Analysis Test equipment, data acquisition equipment,
2288
+ instrumentation, test facilities, and data analysis techniques used in inertial
2289
+ sensor testing are described in this recommended practice. Learn More 292-1969
2290
+ IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
2291
+ Gyros This specification defines the requirements for a single-degree-of-freedom
2292
+ spring-restrained rate gyro for [aircraft, missile, spacecraft,______] applications.
2293
+ The rate gyro shall be capable of providing [(dc, ac) voltage outputs proportional
2294
+ to angular rate inputs up to______ degrees per second, a switch closure(s)
2295
+ at angular rates (exceeding,less than)______ (+,-,u00b1)______ degrees per
2296
+ second]. Learn More 293-1969 IEEE Test Procedure for Single-Degree-of-Freedom
2297
+ Spring-Restrained Rate Gyros Recommended rate gyro test procedures derived
2298
+ from those currently in use, including test conditions to be considered, are
2299
+ compiled. In some cases alternate methods for measuring a performance characteristic
2300
+ have been included. This standard is intended to be a guide in the preparation
2301
+ of Section 4 of a specification that follows the format of IEEE Std 292, Specification
2302
+ Format for Single-Degree-of-Freedom Spring-Restrained Rate Gyros. Learn More
2303
+ 293-1969\/Cor 1-2014 IEEE Standard for IEEE Test Procedure for Single-Degree-of-Freedom
2304
+ Spring-Restrained Rate Gyros -- Corrigendum 1: Table 1 Heading Correction
2305
+ to Table 1 on page 14 of IEEE Std 293-1969 Learn More 529-1980 Supplement
2306
+ for Strapdown Applications to IEEE Standard Specification Format Guide and
2307
+ Test Procedure for Single-Degree-of-Freedom Rate-Integrating Gyros A specification
2308
+ format guide for the preparation of a rate-integrating gyroscope specification
2309
+ is presented. Recommended procedures for testing a rate-integrating gyroscope
2310
+ are compiled. This standard, when combined with IEEE Std 517-1974 (R1980),
2311
+ defines the requirements and test procedures in terms of characteristics unique
2312
+ to the gyroscope or those applications in which the dynamic angular inputs
2313
+ are significantly greater than the limitations identified in IEEE Std 517.
2314
+ Learn More 529-1980\/Cor 1-2017 IEEE Standard Supplement for Strapdown Applications
2315
+ to IEEE Standard Specification Format Guide and Test Procedure for Single-Degree-of-Freedom
2316
+ Rate-Integrating Gyros - Corrigendum 1: 3.3.9.2.2, 3.6.4.1.1, 3.6.4.1.2, 6.3,
2317
+ and 10.10.4.1 Corrections are made by this corrigendum to material already
2318
+ published in IEEE Std 529-1980. Learn More 647-2006 IEEE Standard Specification
2319
+ Format Guide and Test Procedure for Single-Axis Laser Gyros Specification
2320
+ and test requirements for a single-axis ring laser gyro (RLG) for use as a
2321
+ sensor in attitude control systems, angular displacement measuring systems,
2322
+ and angular rate measuring systems are defined. A standard specification format
2323
+ guide for the preparation of a single-axis RLG is provided. A compilation
2324
+ of recommended procedures for testing an RLG, derived from those presently
2325
+ used in the industry, is also provided. Learn More 671-1985 IEEE Standard
2326
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
2327
+ Sensors: Jerk, Acceleration, Velocity, and Displacement A guide is presented
2328
+ for the preparation of a specification and test procedure for an inertial
2329
+ angular sensor that provides a common meeting ground of terminology and practice
2330
+ for manufacturers and users of an array of sensors that have been developed
2331
+ to meet needs not easily met by traditional spinning-rotor gyroscopes. A test
2332
+ procedure for verifying that the specifications have been met is given. The
2333
+ standard is not intended to compete with existing standards for specific devices
2334
+ with highly specific models and error sources, such as spring-restrained rate
2335
+ gyros, but to provide a uniform guide for those inertial angular sensors that
2336
+ have not been covered elsewhere. Learn More 671-1985\/Cor 1-2010 IEEE Standard
2337
+ Specification Format Guide and Test Procedure for Nongyroscopic Inertial Angular
2338
+ Sensors: Jerk, Acceleration, Velocity, and Displacement Corrigendum 1: 4.7.2.6
2339
+ Short-Term Stability and Annex A Sensor Dynamic Block Diagrams IEEE Std 671-1985
2340
+ provides specifications and test requirements for a non-gyroscopic inertial
2341
+ angular sensor that may measure angular jerk, acceleration, rate, or displacement
2342
+ with or without response down to zero frequency. A standard specification
2343
+ format is provided. A compilation of recommended test procedures, derived
2344
+ from those presently used in the industry, is also provided. Informative annexes
2345
+ cover design features and theoretical principles of operation. This corrigendum
2346
+ makes changes to 4.7.2.6 to delete a sentence that does not belong there,
2347
+ to add a subclause that was inadvertently left out, and to renumber the existing
2348
+ subclauses. Changes are also being made to fix the block diagrams in Annex
2349
+ A, to correct a misspelling of inertia, and to add a missing symbol. Learn
2350
+ More 813-1988 IEEE Specification Format Guide and Test Procedure for Two-Degree-of-Freedom
2351
+ Dynamically Tuned Gyros A format guide for the preparation of a two-degree-of-freedom
2352
+ dynamically tuned gyro (DTG) specification is given that provides a common
2353
+ ground of terminology and practice for manufacturers and users. A compilation
2354
+ of recommended procedures for testing a DTG is also given. The requirements
2355
+ and test procedures are defined in terms unique to the DTG. They cover applications
2356
+ of the gyro as an angular motion sensor in navigation and control systems.
2357
+ They apply to two modes of use: (1) as a strap-down sensor in operating environments
2358
+ typical of aircraft and missile applications, and (2) as a sensor in gimballed
2359
+ platform applications in which the dynamic angular inputs to which the gyro
2360
+ is subjected are benign relative to the accuracy required. In the case of
2361
+ the strap-down DTG, the characteristics of the external capture loops are
2362
+ considered to the extent necessary to define the gyro performance. Learn More
2363
+ 836-2009 IEEE Recommended Practice for Precision Centrifuge Testing of Linear
2364
+ Accelerometers This recommended practice describes the conduct and analysis
2365
+ of precision tests that are to be performed on linear accelerometers using
2366
+ centrifuge techniques. The term u201cprecision,u201d in this context, refers
2367
+ to tests that are conducted to evaluate accelerometer parameters, as opposed
2368
+ to those conducted to establish environmental survivability only. Evaluation
2369
+ may take the form of determining the coefficients of the accelerometer''s
2370
+ model equation, except for bias and scale factor, which are most accurately
2371
+ determined by static multi-position tests. Alternatively, evaluation may only
2372
+ establish that the accelerometer output complies with specific error limit
2373
+ criteria. Learn More Facebook Twitter LinkedIn Instagram YouTube IEEE SA About
2374
+ Us IEEE SA Membership Corporate Program Distributor Program Training & Development
2375
+ Policies & Procedures Contact Us Board of Governors About Board of Governors
2376
+ Awards Committee Corporate Advisory Group Industry Connections Committee Registration
2377
+ Authority Committee Strategic Planning Coordination Committee Standards Board
2378
+ About Standards Board Board Approvals Audit Committee New Standards Committee
2379
+ Patent Committee Procedures Committee Standards Review Committee News & Events
2380
+ News IEEE SA Newsletter Events Home Sitemap Contact & Support Accessibility
2381
+ Nondiscrimination Policy IEEE Ethics Reporting IEEE Privacy Policy IEEE SA
2382
+ Copyright Policy \u00a9 Copyright 2021 IEEE \u2013 All rights reserved. Use
2383
+ of this website signifies your agreement to the IEEE Terms and Conditions
2384
+ . A not-for-profit organization, IEEE is the world\u2019s largest technical
2385
+ professional organization dedicated to advancing technology for the benefit
2386
+ of humanity. Subscribe Newswire Sign up for our monthly newsletter to learn
2387
+ about new developments, including resources, insights and more. "}}]},"facets":{"meta_categories_la":{"buckets":[]},"meta_topic_la":{"buckets":[{"value":"Aerospace
2388
2388
  Electronics","count":19},{"value":"Aerospace Electronics,Power and Energy","count":3},{"value":"Nuclear
2389
2389
  Power","count":1}]},"meta_type_la":{"buckets":[{"value":"Standard","count":22},{"value":"Page","count":1},{"value":"Project","count":1}]}}},"html":"<h3
2390
2390
  class=\"h6 results-found\"><strong>24<\/strong> results found. Results are
@@ -2407,28 +2407,27 @@ http_interactions:
2407
2407
  of precision tests that are to be performed on linear accelerometers using
2408
2408
  centrifuge techniques. The term \u201cprecision,\u201d in this context, refers
2409
2409
  to tests that are conducted to evaluate accelerometer parameters, as opposed&hellip;<\/div><\/div><div
2410
- class=\"hit\"><div class=\"designation\">IEEE 517-1974<\/div><h4 class=\"title\"><a
2411
- href=\"https:\/\/standards.ieee.org\/ieee\/517\/760\/\"> IEEE Standard Specification
2412
- Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
2413
- Gyros<\/a><\/h4><div class=\"content\">A specification format guide for the
2414
- preparation of a rate-integrating gyro specification that provides a common
2415
- meeting ground of terminology and practice for manufacturers and users is
2416
- presented. A compilation of recommended procedures for testing a rate-integrating
2417
- gyro is given.<\/div><\/div><div class=\"hit\"><div class=\"designation\">IEEE
2418
- 647-2006<\/div><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/647\/3134\/\">
2419
- IEEE Standard Specification Format Guide and Test Procedure for Single-Axis
2420
- Laser Gyros<\/a><\/h4><div class=\"content\">Specification and test requirements
2421
- for a single-axis ring laser gyro (RLG) for use as a sensor in attitude control
2422
- systems, angular displacement measuring systems, and angular rate measuring
2423
- systems are defined. A standard specification format guide for the preparation
2424
- of&hellip;<\/div><\/div><div class=\"hit\"><div class=\"designation\">IEEE
2425
- 952-2020<\/div><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/952\/7496\/\">
2426
- IEEE Standard for Specifying and Testing Single-Axis Interferometric Fiber
2427
- Optic Gyros<\/a><\/h4><div class=\"content\">Specification and test procedures
2428
- for a single-axis interferometric fiber optic gyro (IFOG) for use as a sensor
2429
- in attitude control systems, angular displacement measuring systems, and angular
2430
- rate measuring systems are defined. The test procedures are derived from those
2431
- presently&hellip;<\/div><\/div><div class=\"hit\"><div class=\"designation\">IEEE
2410
+ class=\"hit\"><div class=\"designation\">IEEE 647-2006<\/div><h4 class=\"title\"><a
2411
+ href=\"https:\/\/standards.ieee.org\/ieee\/647\/3134\/\"> IEEE Standard Specification
2412
+ Format Guide and Test Procedure for Single-Axis Laser Gyros<\/a><\/h4><div
2413
+ class=\"content\">Specification and test requirements for a single-axis ring
2414
+ laser gyro (RLG) for use as a sensor in attitude control systems, angular
2415
+ displacement measuring systems, and angular rate measuring systems are defined.
2416
+ A standard specification format guide for the preparation of&hellip;<\/div><\/div><div
2417
+ class=\"hit\"><div class=\"designation\">IEEE 1293-2018<\/div><h4 class=\"title\"><a
2418
+ href=\"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/\"> IEEE Standard Specification
2419
+ Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers<\/a><\/h4><div
2420
+ class=\"content\">The specification and test requirements for a linear, single-axis,
2421
+ nongyroscopic accelerometer for use in inertial navigation, guidance, and
2422
+ leveling systems are defined. A standard specification guide and a compilation
2423
+ of recommended test procedures for such accelerometers are provided. Informative
2424
+ annexes&hellip;<\/div><\/div><div class=\"hit\"><div class=\"designation\">IEEE
2425
+ 1554-2005<\/div><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/1554\/2292\/\">
2426
+ IEEE Recommended Practice for Inertial Sensor Test Equipment, Instrumentation,
2427
+ Data Acquisition, and Analysis<\/a><\/h4><div class=\"content\">Test equipment,
2428
+ data acquisition equipment, instrumentation, test facilities, and data analysis
2429
+ techniques used in inertial sensor testing are described in this recommended
2430
+ practice.<\/div><\/div><div class=\"hit\"><div class=\"designation\">IEEE
2432
2431
  292-1969<\/div><h4 class=\"title\"><a href=\"https:\/\/standards.ieee.org\/ieee\/292\/485\/\">
2433
2432
  IEEE Specification Format for Single-Degree-of-Freedom Spring-Restrained Rate
2434
2433
  Gyros<\/a><\/h4><div class=\"content\">This specification defines the requirements
@@ -2442,14 +2441,14 @@ http_interactions:
2442
2441
  currently in use, including test conditions to be considered, are compiled.
2443
2442
  In some cases alternate methods for measuring a performance characteristic
2444
2443
  have been included. This standard is intended to be a guide&hellip;<\/div><\/div><div
2445
- class=\"hit\"><div class=\"designation\">IEEE 1293-2018<\/div><h4 class=\"title\"><a
2446
- href=\"https:\/\/standards.ieee.org\/ieee\/1293\/5590\/\"> IEEE Standard Specification
2447
- Format Guide and Test Procedure for Linear Single-Axis, Nongyroscopic Accelerometers<\/a><\/h4><div
2448
- class=\"content\">The specification and test requirements for a linear, single-axis,
2449
- nongyroscopic accelerometer for use in inertial navigation, guidance, and
2450
- leveling systems are defined. A standard specification guide and a compilation
2451
- of recommended test procedures for such accelerometers are provided. Informative
2452
- annexes&hellip;<\/div><\/div><div class=\"pagination\"><nav aria-label=\"Search
2444
+ class=\"hit\"><div class=\"designation\">IEEE 517-1974<\/div><h4 class=\"title\"><a
2445
+ href=\"https:\/\/standards.ieee.org\/ieee\/517\/760\/\"> IEEE Standard Specification
2446
+ Format Guide and Test Procedure for Single-Degree-of-Freedom Rate-Integrating
2447
+ Gyros<\/a><\/h4><div class=\"content\">A specification format guide for the
2448
+ preparation of a rate-integrating gyro specification that provides a common
2449
+ meeting ground of terminology and practice for manufacturers and users is
2450
+ presented. A compilation of recommended procedures for testing a rate-integrating
2451
+ gyro is given.<\/div><\/div><div class=\"pagination\"><nav aria-label=\"Search
2453
2452
  results page navigation\">\n<ul class=\"pagination justify-content-center\">\n<li
2454
2453
  class=\"page-item active\" aria-current=\"page\"><a class=\"page-link\" href=\"#1\">1<\/a><\/li>\n<li
2455
2454
  class=\"page-item \" ><a class=\"page-link\" href=\"#2\">2<\/a><\/li>\n<li
@@ -2474,7 +2473,7 @@ http_interactions:
2474
2473
  data-value=\"Nuclear Power\">Nuclear Power<\/a><\/li><\/ul><div class=\"reset\"><a
2475
2474
  href=\"#\" class=\"filter-reset\" data-filter=\"topic\" data-value=\"all\">Reset<\/a><\/div><\/div><!--
2476
2475
  end filter -->"}'
2477
- recorded_at: Fri, 27 May 2022 11:48:31 GMT
2476
+ recorded_at: Thu, 16 Jun 2022 09:30:37 GMT
2478
2477
  - request:
2479
2478
  method: get
2480
2479
  uri: https://standards.ieee.org/ieee/528/7292/
@@ -2483,7 +2482,7 @@ http_interactions:
2483
2482
  string: ''
2484
2483
  headers:
2485
2484
  User-Agent:
2486
- - Faraday v1.8.0
2485
+ - Faraday v1.10.0
2487
2486
  Accept-Encoding:
2488
2487
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
2489
2488
  Accept:
@@ -2494,7 +2493,7 @@ http_interactions:
2494
2493
  message: OK
2495
2494
  headers:
2496
2495
  Date:
2497
- - Fri, 27 May 2022 11:48:32 GMT
2496
+ - Thu, 16 Jun 2022 09:30:39 GMT
2498
2497
  Content-Type:
2499
2498
  - text/html; charset=UTF-8
2500
2499
  Transfer-Encoding:
@@ -2530,12 +2529,12 @@ http_interactions:
2530
2529
  Server:
2531
2530
  - cloudflare
2532
2531
  Cf-Ray:
2533
- - 711e85a1d8fb38bd-VIE
2532
+ - 71c28722ed4a38b4-VIE
2534
2533
  Alt-Svc:
2535
2534
  - h3=":443"; ma=86400, h3-29=":443"; ma=86400
2536
2535
  body:
2537
2536
  encoding: ASCII-8BIT
2538
2537
  string: !binary |-
2539
- CjwhZG9jdHlwZSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIiPgoKICAgIDwhLS0gZmllbGRzIGZvciBDbG91ZHNlYXJjaCAtLT4KPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9IklFRUUgU0EgLSBJRUVFIFN0YW5kYXJkIGZvciBJbmVydGlhbCBTZW5zb3IgVGVybWlub2xvZ3kiLz4KPG1ldGEgbmFtZT0idHlwZSIgY29udGVudD0iU3RhbmRhcmQiLz4KPG1ldGEgbmFtZT0idG9waWMiIGNvbnRlbnQ9IkFlcm9zcGFjZSBFbGVjdHJvbmljcyIvPgo8bWV0YSBuYW1lPSJjYXRlZ29yeSIgY29udGVudD0iIi8+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vuc29ycyBhcmUgcHJlc2VudGVkIGluIHRoaXMgc3RhbmRhcmQuIFVzYWdlIGFzIHVuZGVyc3Rvb2QgYnkgdGhlIGluZXJ0aWFsIHNlbnNvciBjb21tdW5pdHkgaXMgZ2l2ZW4gcHJlZmVyZW5jZSBvdmVyIGdlbmVyYWwgdGVjaG5pY2FsIHVzYWdlIG9mIHRoZSB0ZXJtcyBoZXJlaW4uIFRoZSBjcml0ZXJpb24gZm9yIGluY2x1c2lvbiBvZiBhIHRlcm0gYW5kIGl0cyBkZWZpbml0aW9uIGluIHRoaXMgc3RhbmRhcmQgaXMgdXNlZnVsbmVzcyBhcyByZWxhdGVkIHRvIGluZXJ0aWFsIHNlbnNvciB0ZWNobm9sb2d5LiIvPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iQWVyb3NwYWNlIEVsZWN0cm9uaWNzIi8+CjwhLS0gUHJvamVjdHMvU3RhbmRhcmRzIC0tPgo8bWV0YSBuYW1lPSJTb2NpZXR5IiBjb250ZW50PSJJRUVFIEFlcm9zcGFjZSBhbmQgRWxlY3Ryb25pYyBTeXN0ZW1zIFNvY2lldHkiLz4KPG1ldGEgbmFtZT0iU3RkUmVjTm8iIGNvbnRlbnQ9IjcyOTIiLz4KPG1ldGEgbmFtZT0iU3RhdHVzIiBjb250ZW50PSJBY3RpdmUgU3RhbmRhcmQiLz4KPG1ldGEgbmFtZT0iZGVzaWduYXRpb24iIGNvbnRlbnQ9IklFRUUgNTI4LTIwMTkiLz4KCiAgICAKICAgIDx0aXRsZT5JRUVFIFNBIC0gSUVFRSA1MjgtMjAxOTwvdGl0bGU+CgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWVfZmF2aWNvbi5pY28iPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWVfYXBwbGVfdG91Y2hfaWNvbi5wbmciPgoKICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzEsNDAwOzEsNjAwOzEsNzAwJmRpc3BsYXk9c3dhcCIKICAgICAgICAgIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CiAgICA8c2NyaXB0PihmdW5jdGlvbih3LGQscyxsLGkpe3dbbF09d1tsXXx8W107d1tsXS5wdXNoKHsnZ3RtLnN0YXJ0JzoKICAgICAgICAgICAgICAgIG5ldyBEYXRlKCkuZ2V0VGltZSgpLGV2ZW50OidndG0uanMnfSk7dmFyIGY9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXSwKICAgICAgICAgICAgaj1kLmNyZWF0ZUVsZW1lbnQocyksZGw9bCE9J2RhdGFMYXllcic/JyZsPScrbDonJztqLmFzeW5jPXRydWU7ai5zcmM9CiAgICAgICAgICAgICdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9JytpK2RsO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaixmKTsKICAgICAgICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJ2RhdGFMYXllcicsJ0dUTS1NUjhUODQzJyk7PC9zY3JpcHQ+CiAgICA8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8va2l0LmZvbnRhd2Vzb21lLmNvbS8yZDc0ZjI4MmY2LmpzIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KCiAgICA8bGluayBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjEuMy9kaXN0L2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IgogICAgICAgICAgaW50ZWdyaXR5PSJzaGEzODQtMUJtRTRrV0JxNzhpWWhGbGR2S3VoZlRBVTZhdVU4dFQ5NFdySGZ0akRickNFWFNVMW9Cb3F5bDJRdlo2aklXMyIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+CiAgICA8bGluayBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL3N0eWxlLmNzcz90aW1lPTIwMjIwNTE2IiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL2llZWVzaHV0cGFnZXMvZ2Rwci9zZXR0aW5ncy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIgogICAgICAgICAgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvY29va2llY29uc2VudDIvMy4wLjMvY29va2llY29uc2VudC5taW4uY3NzIi8+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvY29va2llY29uc2VudDIvMy4wLjMvY29va2llY29uc2VudC5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHdpbmRvdy5jb29raWVjb25zZW50LmluaXRpYWxpc2UoanNvbikKICAgICAgICB9KTsKICAgIDwvc2NyaXB0PgoKICAgIDxtZXRhIG5hbWU9J3JvYm90cycgY29udGVudD0naW5kZXgsIGZvbGxvdywgbWF4LWltYWdlLXByZXZpZXc6bGFyZ2UsIG1heC1zbmlwcGV0Oi0xLCBtYXgtdmlkZW8tcHJldmlldzotMScgLz4KCgk8IS0tIFRoaXMgc2l0ZSBpcyBvcHRpbWl6ZWQgd2l0aCB0aGUgWW9hc3QgU0VPIHBsdWdpbiB2MTguOSAtIGh0dHBzOi8veW9hc3QuY29tL3dvcmRwcmVzcy9wbHVnaW5zL3Nlby8gLS0+Cgk8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJlbl9VUyIgLz4KCTxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIiAvPgoJPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iSUVFRSBTdGFuZGFyZHMgQXNzb2NpYXRpb24iIC8+Cgk8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiIC8+Cgk8bWV0YSBuYW1lPSJ0d2l0dGVyOnNpdGUiIGNvbnRlbnQ9IkBJRUVFU0EiIC8+Cgk8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iIGNsYXNzPSJ5b2FzdC1zY2hlbWEtZ3JhcGgiPnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAZ3JhcGgiOlt7IkB0eXBlIjoiT3JnYW5pemF0aW9uIiwiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI29yZ2FuaXphdGlvbiIsIm5hbWUiOiJJRUVFIFNBIiwidXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvIiwic2FtZUFzIjpbImh0dHBzOi8vdHdpdHRlci5jb20vSUVFRVNBIl0sImxvZ28iOnsiQHR5cGUiOiJJbWFnZU9iamVjdCIsImluTGFuZ3VhZ2UiOiJlbi1VUyIsIkBpZCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyMvc2NoZW1hL2xvZ28vaW1hZ2UvIiwidXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC91cGxvYWRzL2ltcG9ydC9pZWVlc2EtbG9nby5wbmciLCJjb250ZW50VXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC91cGxvYWRzL2ltcG9ydC9pZWVlc2EtbG9nby5wbmciLCJ3aWR0aCI6NzIwLCJoZWlnaHQiOjQzMiwiY2FwdGlvbiI6IklFRUUgU0EifSwiaW1hZ2UiOnsiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvIy9zY2hlbWEvbG9nby9pbWFnZS8ifX0seyJAdHlwZSI6IldlYlNpdGUiLCJAaWQiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8jd2Vic2l0ZSIsInVybCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyIsIm5hbWUiOiJJRUVFIFN0YW5kYXJkcyBBc3NvY2lhdGlvbiIsImRlc2NyaXB0aW9uIjoiIiwicHVibGlzaGVyIjp7IkBpZCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyNvcmdhbml6YXRpb24ifSwicG90ZW50aWFsQWN0aW9uIjpbeyJAdHlwZSI6IlNlYXJjaEFjdGlvbiIsInRhcmdldCI6eyJAdHlwZSI6IkVudHJ5UG9pbnQiLCJ1cmxUZW1wbGF0ZSI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLz9zPXtzZWFyY2hfdGVybV9zdHJpbmd9In0sInF1ZXJ5LWlucHV0IjoicmVxdWlyZWQgbmFtZT1zZWFyY2hfdGVybV9zdHJpbmcifV0sImluTGFuZ3VhZ2UiOiJlbi1VUyJ9LHsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjoiI3dlYnBhZ2UiLCJ1cmwiOiIiLCJuYW1lIjoiIiwiaXNQYXJ0T2YiOnsiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI3dlYnNpdGUifSwiYnJlYWRjcnVtYiI6eyJAaWQiOiIjYnJlYWRjcnVtYiJ9LCJpbkxhbmd1YWdlIjoiZW4tVVMiLCJwb3RlbnRpYWxBY3Rpb24iOlt7IkB0eXBlIjoiUmVhZEFjdGlvbiIsInRhcmdldCI6WyIiXX1dfSx7IkB0eXBlIjoiQnJlYWRjcnVtYkxpc3QiLCJAaWQiOiIjYnJlYWRjcnVtYiIsIml0ZW1MaXN0RWxlbWVudCI6W3siQHR5cGUiOiJMaXN0SXRlbSIsInBvc2l0aW9uIjoxLCJuYW1lIjoiSG9tZSIsIml0ZW0iOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8ifSx7IkB0eXBlIjoiTGlzdEl0ZW0iLCJwb3NpdGlvbiI6MiwibmFtZSI6IiJ9XX1dfTwvc2NyaXB0PgoJPCEtLSAvIFlvYXN0IFNFTyBwbHVnaW4uIC0tPgoKCjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL3Mudy5vcmcnIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4Kd2luZG93Ll93cGVtb2ppU2V0dGluZ3MgPSB7ImJhc2VVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTMuMS4wXC83Mng3MlwvIiwiZXh0IjoiLnBuZyIsInN2Z1VybCI6Imh0dHBzOlwvXC9zLncub3JnXC9pbWFnZXNcL2NvcmVcL2Vtb2ppXC8xMy4xLjBcL3N2Z1wvIiwic3ZnRXh0IjoiLnN2ZyIsInNvdXJjZSI6eyJjb25jYXRlbW9qaSI6Imh0dHBzOlwvXC9zdGFuZGFyZHMuaWVlZS5vcmdcL3dwLWluY2x1ZGVzXC9qc1wvd3AtZW1vamktcmVsZWFzZS5taW4uanM/dmVyPTUuOS4zIn19OwovKiEgVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkICovCiFmdW5jdGlvbihlLGEsdCl7dmFyIG4scixvLGk9YS5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxwPWkuZ2V0Q29udGV4dCYmaS5nZXRDb250ZXh0KCIyZCIpO2Z1bmN0aW9uIHMoZSx0KXt2YXIgYT1TdHJpbmcuZnJvbUNoYXJDb2RlO3AuY2xlYXJSZWN0KDAsMCxpLndpZHRoLGkuaGVpZ2h0KSxwLmZpbGxUZXh0KGEuYXBwbHkodGhpcyxlKSwwLDApO2U9aS50b0RhdGFVUkwoKTtyZXR1cm4gcC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpLHAuZmlsbFRleHQoYS5hcHBseSh0aGlzLHQpLDAsMCksZT09PWkudG9EYXRhVVJMKCl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1hLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Quc3JjPWUsdC5kZWZlcj10LnR5cGU9InRleHQvamF2YXNjcmlwdCIsYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHQpfWZvcihvPUFycmF5KCJmbGFnIiwiZW1vamkiKSx0LnN1cHBvcnRzPXtldmVyeXRoaW5nOiEwLGV2ZXJ5dGhpbmdFeGNlcHRGbGFnOiEwfSxyPTA7cjxvLmxlbmd0aDtyKyspdC5zdXBwb3J0c1tvW3JdXT1mdW5jdGlvbihlKXtpZighcHx8IXAuZmlsbFRleHQpcmV0dXJuITE7c3dpdGNoKHAudGV4dEJhc2VsaW5lPSJ0b3AiLHAuZm9udD0iNjAwIDMycHggQXJpYWwiLGUpe2Nhc2UiZmxhZyI6cmV0dXJuIHMoWzEyNzk4Nyw2NTAzOSw4MjA1LDk4OTUsNjUwMzldLFsxMjc5ODcsNjUwMzksODIwMyw5ODk1LDY1MDM5XSk/ITE6IXMoWzU1MzU2LDU2ODI2LDU1MzU2LDU2ODE5XSxbNTUzNTYsNTY4MjYsODIwMyw1NTM1Niw1NjgxOV0pJiYhcyhbNTUzNTYsNTczMzIsNTYxMjgsNTY0MjMsNTYxMjgsNTY0MTgsNTYxMjgsNTY0MjEsNTYxMjgsNTY0MzAsNTYxMjgsNTY0MjMsNTYxMjgsNTY0NDddLFs1NTM1Niw1NzMzMiw4MjAzLDU2MTI4LDU2NDIzLDgyMDMsNTYxMjgsNTY0MTgsODIwMyw1NjEyOCw1NjQyMSw4MjAzLDU2MTI4LDU2NDMwLDgyMDMsNTYxMjgsNTY0MjMsODIwMyw1NjEyOCw1NjQ0N10pO2Nhc2UiZW1vamkiOnJldHVybiFzKFsxMDA4NCw2NTAzOSw4MjA1LDU1MzU3LDU2NjEzXSxbMTAwODQsNjUwMzksODIwMyw1NTM1Nyw1NjYxM10pfXJldHVybiExfShvW3JdKSx0LnN1cHBvcnRzLmV2ZXJ5dGhpbmc9dC5zdXBwb3J0cy5ldmVyeXRoaW5nJiZ0LnN1cHBvcnRzW29bcl1dLCJmbGFnIiE9PW9bcl0mJih0LnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPXQuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJnQuc3VwcG9ydHNbb1tyXV0pO3Quc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9dC5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmIXQuc3VwcG9ydHMuZmxhZyx0LkRPTVJlYWR5PSExLHQucmVhZHlDYWxsYmFjaz1mdW5jdGlvbigpe3QuRE9NUmVhZHk9ITB9LHQuc3VwcG9ydHMuZXZlcnl0aGluZ3x8KG49ZnVuY3Rpb24oKXt0LnJlYWR5Q2FsbGJhY2soKX0sYS5hZGRFdmVudExpc3RlbmVyPyhhLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG4sITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsbiwhMSkpOihlLmF0dGFjaEV2ZW50KCJvbmxvYWQiLG4pLGEuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXsiY29tcGxldGUiPT09YS5yZWFkeVN0YXRlJiZ0LnJlYWR5Q2FsbGJhY2soKX0pKSwobj10LnNvdXJjZXx8e30pLmNvbmNhdGVtb2ppP2Mobi5jb25jYXRlbW9qaSk6bi53cGVtb2ppJiZuLnR3ZW1vamkmJihjKG4udHdlbW9qaSksYyhuLndwZW1vamkpKSl9KHdpbmRvdyxkb2N1bWVudCx3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyk7Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgppbWcud3Atc21pbGV5LAppbWcuZW1vamkgewoJZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Cglib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKCWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKCWhlaWdodDogMWVtICFpbXBvcnRhbnQ7Cgl3aWR0aDogMWVtICFpbXBvcnRhbnQ7CgltYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7Cgl2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7CgliYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7CglwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KPC9zdHlsZT4KCTxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3RyaWJlLWV2ZW50cy1wcm8tbWluaS1jYWxlbmRhci1ibG9jay1zdHlsZXMtY3NzJyAgaHJlZj0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC9wbHVnaW5zL2V2ZW50cy1jYWxlbmRhci1wcm8vc3JjL3Jlc291cmNlcy9jc3MvdHJpYmUtZXZlbnRzLXByby1taW5pLWNhbGVuZGFyLWJsb2NrLm1pbi5jc3M/dmVyPTUuMTQuMC4xJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nd3AtYmxvY2stbGlicmFyeS1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1pbmNsdWRlcy9jc3MvZGlzdC9ibG9jay1saWJyYXJ5L3N0eWxlLm1pbi5jc3M/dmVyPTUuOS4zJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnIHR5cGU9J3RleHQvY3NzJz4KYm9keXstLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjazogIzAwMDAwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5OiAjYWJiOGMzOy0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOy0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluazogI2Y3OGRhNzstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQ6ICNjZjJlMmU7LS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOy0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyOiAjZmNiOTAwOy0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW46ICM3YmRjYjU7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDstLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZTogIzhlZDFmYzstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWU6ICMwNjkzZTM7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSg2LDE0NywyMjcsMSkgMCUscmdiKDE1NSw4MSwyMjQpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMTIyLDIyMCwxODApIDAlLHJnYigwLDIwOCwxMzApIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2JhKDI1MiwxODUsMCwxKSAwJSxyZ2JhKDI1NSwxMDUsMCwxKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMjU1LDEwNSwwLDEpIDAlLHJnYigyMDcsNDYsNDYpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyMzgsMjM4LDIzOCkgMCUscmdiKDE2OSwxODQsMTk1KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW06IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDc0LDIzNCwyMjApIDAlLHJnYigxNTEsMTIwLDIwOSkgMjAlLHJnYigyMDcsNDIsMTg2KSA0MCUscmdiKDIzOCw0NCwxMzApIDYwJSxyZ2IoMjUxLDEwNSw5OCkgODAlLHJnYigyNTQsMjQ4LDc2KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyMDYsMjM2KSAwJSxyZ2IoMTUyLDE1MCwyNDApIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTQsMjA1LDE2NSkgMCUscmdiKDI1NCw0NSw0NSkgNTAlLHJnYigxMDcsMCw2MikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtZHVzazogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDIwMywxMTIpIDAlLHJnYigxOTksODEsMTkyKSA1MCUscmdiKDY1LDg4LDIwOCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDI0NSwyMDMpIDAlLHJnYigxODIsMjI3LDIxMikgNTAlLHJnYig1MSwxNjcsMTgxKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjAyLDI0OCwxMjgpIDAlLHJnYigxMTMsMjA2LDEyNikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbWlkbmlnaHQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDIsMywxMjkpIDAlLHJnYig0MCwxMTYsMjUyKSAxMDAlKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWRhcmstZ3JheXNjYWxlOiB1cmwoJyN3cC1kdW90b25lLWRhcmstZ3JheXNjYWxlJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUteWVsbG93OiB1cmwoJyN3cC1kdW90b25lLXB1cnBsZS15ZWxsb3cnKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtcmVkOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtcmVkJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOy0td3AtLXByZXNldC0tZHVvdG9uZS0tbWFnZW50YS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtbWFnZW50YS15ZWxsb3cnKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS1ncmVlbjogdXJsKCcjd3AtZHVvdG9uZS1wdXJwbGUtZ3JlZW4nKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsOiAxM3B4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW06IDIwcHg7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlOiA0MnB4O30uaGFzLWJsYWNrLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7fS5oYXMtY3lhbi1ibHVpc2gtZ3JheS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDt9Lmhhcy1wYWxlLXBpbmstY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcmVkLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtY3lhbi1ibHVlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDt9Lmhhcy1jeWFuLWJsdWlzaC1ncmF5LWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1waW5rLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1yZWQtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1wYWxlLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtYmxhY2stYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50O30uaGFzLWN5YW4tYmx1aXNoLWdyYXktYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtcGluay1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXJlZC1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1jeWFuLWJsdWUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdml2aWQtY3lhbi1ibHVlLXRvLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4tZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbGlnaHQtZ3JlZW4tY3lhbi10by12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7fS5oYXMtYmx1c2gtbGlnaHQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWxpZ2h0LXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibHVzaC1ib3JkZWF1eC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1ib3JkZWF1eCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1vY2Vhbi1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1wYWxlLW9jZWFuKSAhaW1wb3J0YW50O30uaGFzLWVsZWN0cmljLWdyYXNzLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWVsZWN0cmljLWdyYXNzKSAhaW1wb3J0YW50O30uaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50O30uaGFzLXNtYWxsLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGwpICFpbXBvcnRhbnQ7fS5oYXMtbWVkaXVtLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtKSAhaW1wb3J0YW50O30uaGFzLWxhcmdlLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7fS5oYXMteC1sYXJnZS1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2UpICFpbXBvcnRhbnQ7fQo8L3N0eWxlPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWNzcy1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvY2xvdWRzZWFyY2gvY3NzL2llZWUtY2xvdWRzZWFyY2guY3NzP3RpbWU9MjAyMjAxMjYmIzAzODt2ZXI9NS45LjMnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdpZWVlLXdpZGdldC1jc3MtY3NzJyAgaHJlZj0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL3dpZGdldHMvY3NzL3dpZGdldHMuY3NzP3RpbWU9MjAyMjAxMjYmIzAzODt2ZXI9NS45LjMnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhdXJvcmEtaGVhdG1hcC1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3BsdWdpbnMvYXVyb3JhLWhlYXRtYXAvc3R5bGUuY3NzP3Zlcj0xLjUuNCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnkubWluLmpzP3Zlcj0zLjYuMCcgaWQ9J2pxdWVyeS1jb3JlLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9My4zLjInIGlkPSdqcXVlcnktbWlncmF0ZS1qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBpZD0naWVlZS1jbG91ZHNlYXJjaC1qcy1qcy1leHRyYSc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgaWVlZV9hamF4X29iamVjdCA9IHsiYWpheF91cmwiOiJodHRwczpcL1wvc3RhbmRhcmRzLmllZWUub3JnXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAifTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvY2xvdWRzZWFyY2gvanMvaWVlZS1jbG91ZHNlYXJjaC5qcz90aW1lPTE2NTM2NTIxMTEmIzAzODt2ZXI9NS45LjMnIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWpzLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL3dpZGdldHMvanMvaWVlZS13aWRnZXRzLmpzP3RpbWU9MjAyMjAyMDM1JiMwMzg7dmVyPTUuOS4zJyBpZD0naWVlZS13aWRnZXQtanMtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J2llZWUtc2Etc2NyaXB0cy1qcy1leHRyYSc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgaWVlZV9hamF4X29iamVjdCA9IHsiYWpheF91cmwiOiJodHRwczpcL1wvc3RhbmRhcmRzLmllZWUub3JnXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAifTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvanMvaWVlZS1zYS5qcz90aW1lPTIwMjIwMzEyJiMwMzg7dmVyPTUuOS4zJyBpZD0naWVlZS1zYS1zY3JpcHRzLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL2pzL21hcmtldG8uanM/dmVyPTUuOS4zJyBpZD0naWVlZS1tYXJrZXRvLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC9wbHVnaW5zL2F1cm9yYS1oZWF0bWFwL2pzL21vYmlsZS1kZXRlY3QubWluLmpzP3Zlcj0xLjQuNCcgaWQ9J21vYmlsZS1kZXRlY3QtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J2F1cm9yYS1oZWF0bWFwLXJlcG9ydGVyLWpzLWV4dHJhJz4KLyogPCFbQ0RBVEFbICovCnZhciBhdXJvcmFfaGVhdG1hcF9yZXBvcnRlciA9IHsiYWpheF91cmwiOiJodHRwczpcL1wvc3RhbmRhcmRzLmllZWUub3JnXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJhY3Rpb24iOiJhdXJvcmFfaGVhdG1hcCIsImludGVydmFsIjoiMTAiLCJzdGFja3MiOiIxMCIsInJlcG9ydHMiOiJjbGlja19wYyxjbGlja19tb2JpbGUiLCJkZWJ1ZyI6IjAiLCJhamF4X2RlbGF5X3RpbWUiOiIzMDAwIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC9wbHVnaW5zL2F1cm9yYS1oZWF0bWFwL2pzL3JlcG9ydGVyLmpzP3Zlcj0xLjUuNCcgaWQ9J2F1cm9yYS1oZWF0bWFwLXJlcG9ydGVyLWpzJz48L3NjcmlwdD4KPGxpbmsgcmVsPSJodHRwczovL2FwaS53Lm9yZy8iIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWpzb24vIiAvPjxsaW5rIHJlbD0iRWRpdFVSSSIgdHlwZT0iYXBwbGljYXRpb24vcnNkK3htbCIgdGl0bGU9IlJTRCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcveG1scnBjLnBocD9yc2QiIC8+CjxsaW5rIHJlbD0id2x3bWFuaWZlc3QiIHR5cGU9ImFwcGxpY2F0aW9uL3dsd21hbmlmZXN0K3htbCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtaW5jbHVkZXMvd2x3bWFuaWZlc3QueG1sIiAvPiAKPG1ldGEgbmFtZT0idGVjLWFwaS12ZXJzaW9uIiBjb250ZW50PSJ2MSI+PG1ldGEgbmFtZT0idGVjLWFwaS1vcmlnaW4iIGNvbnRlbnQ9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnIj48bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtanNvbi90cmliZS9ldmVudHMvdjEvIiAvPgoJCTxzY3JpcHQ+CgkJKGZ1bmN0aW9uKGgsbyx0LGosYSxyKXsKCQkJaC5oaj1oLmhqfHxmdW5jdGlvbigpeyhoLmhqLnE9aC5oai5xfHxbXSkucHVzaChhcmd1bWVudHMpfTsKCQkJaC5faGpTZXR0aW5ncz17aGppZDoyOTE2NzcyLGhqc3Y6NX07CgkJCWE9by5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdOwoJCQlyPW8uY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7ci5hc3luYz0xOwoJCQlyLnNyYz10K2guX2hqU2V0dGluZ3MuaGppZCtqK2guX2hqU2V0dGluZ3MuaGpzdjsKCQkJYS5hcHBlbmRDaGlsZChyKTsKCQl9KSh3aW5kb3csZG9jdW1lbnQsJy8vc3RhdGljLmhvdGphci5jb20vYy9ob3RqYXItJywnLmpzP3N2PScpOwoJCTwvc2NyaXB0PgoJCTxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iUG93ZXJlZCBieSBXUEJha2VyeSBQYWdlIEJ1aWxkZXIgLSBkcmFnIGFuZCBkcm9wIHBhZ2UgYnVpbGRlciBmb3IgV29yZFByZXNzLiIvPgo8bm9zY3JpcHQ+PHN0eWxlPiAud3BiX2FuaW1hdGVfd2hlbl9hbG1vc3RfdmlzaWJsZSB7IG9wYWNpdHk6IDE7IH08L3N0eWxlPjwvbm9zY3JpcHQ+Cgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJibG9nIHRyaWJlLW5vLWpzIHdwYi1qcy1jb21wb3NlciBqcy1jb21wLXZlci02LjkuMCB2Y19yZXNwb25zaXZlIiA+CjwhLS0gR29vZ2xlIFRhZyBNYW5hZ2VyIChub3NjcmlwdCkgLS0+Cjxub3NjcmlwdD48aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vbnMuaHRtbD9pZD1HVE0tTVI4VDg0MyIgaGVpZ2h0PSIwIiB3aWR0aD0iMCIgc3R5bGU9ImRpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbiI+PC9pZnJhbWU+PC9ub3NjcmlwdD4KPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIChub3NjcmlwdCkgLS0+CjxoZWFkZXI+CiAgICA8c2VjdGlvbiBpZD0idG9wLWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMCBkLW5vbmUgZC1tZC1ibG9jayIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgdG9wLWJhciB0b3AtYmFyLWxlZnQiIGFyaWEtbGFiZWw9Ikdsb2JhbCBsZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRS5vcmciPjxpIGNsYXNzPSJuYXYtaWNvbiBmYSBmYS1ob21lIj48L2k+SUVFRS5vcmc8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL2llZWV4cGxvcmUuaWVlZS5vcmcvWHBsb3JlL2hvbWUuanNwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IklFRUUgWHBsb3JlIERpZ2l0YWwgTGlicmFyeSI+SUVFRSA8ZW0+WHBsb3JlPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaWdpdGFsIExpYnJhcnk8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRSBTdGFuZGFyZHMiPklFRUUgU3RhbmRhcmRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly9zcGVjdHJ1bS5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRSBTcGVjdHJ1bSI+SUVFRSBTcGVjdHJ1bTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL3NpdGVtYXAuaHRtbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJNb3JlIFNpdGVzIj5Nb3JlIFNpdGVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4gPCEtLSAvLm5hdiAudG9wLWJhci1sZWZ0IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTAgLmQtbm9uZSAuZC1tZC1ibG9jayAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0yIGQtbm9uZSBkLW1kLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiB0b3AtYmFyIHRvcC1iYXItcmlnaHQiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ikdsb2JhbCByaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL2RldmVsb3AvZXRvb2xzLyIgdGl0bGU9ImVUb29scyI+ZVRvb2xzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLnRvcC1iYXItcmlnaHQgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0yIC5kLW5vbmUgLmQtbWQtYmxvY2sgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgPC9zZWN0aW9uPiA8IS0tIC8jdG9wLWJhciAtLT4KCiAgICA8c2VjdGlvbiBpZD0ibWFzdGhlYWQiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwcmltYXJ5LWxvZ28iIGNsYXNzPSJsb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvZ28tbGluayIgaHJlZj0iLyIgdGl0bGU9IklFRUUgU3RhbmRhcmRzIEFzc29jaWF0aW9uIj48aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pbWcvaWVlZS1zYS1sb2dvMngucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IklFRUUgU3RhbmRhcmRzIEFzc29jaWF0aW9uIGxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3ByaW1hcnktbG9nbyAubG9nbyAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29sLTEyIC5jb2wtc20tNiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGQtbm9uZSBkLXNtLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZWNvbmRhcnktbG9nbyIgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibG9nby1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy8iIHRpdGxlPSJWaXNpdCBJRUVFLm9yZyI+PGltZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaW1nL2llZWUtbG9nbzJ4LnBuZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJJRUVFIGxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3NlY29uZGFyeS1sb2dvIC5sb2dvIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtNiAuZC1ub25lIC5kLW1kLWJsb2NrIC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCiAgICAgICAgPCEtLQoKCi0tPgoKPG5hdiBpZD0ibWFpbi1uYXYiIGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBuYXZiYXItbGlnaHQiIGFyaWEtbGFiZWw9Ik1haW4iPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXZiYXItdG9nZ2xlciIgdHlwZT0iYnV0dG9uIiBkYXRhLXRyaWdnZXI9Im1vYmlsZS1tZW51IiBhcmlhLWNvbnRyb2xzPSJtb2JpbGUtbWVudSIKICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWxhYmVsPSJUb2dnbGUgbmF2aWdhdGlvbiI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYXZiYXItdG9nZ2xlci1pY29uIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L3NwYW4+CiAgICAgICAgPC9idXR0b24+CiAgICAgICAgPGRpdiBpZD0ibW9iaWxlLW1lbnUiIGNsYXNzPSJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bi1jbG9zZSBtb2JpbGUtbWVudSIgYXJpYS1sYWJlbD0iY2xvc2UiPjwvYnV0dG9uPgogICAgICAgICAgICA8IS0tIGJlZ2luIHdvcmRwcmVzcyBtZW51IC0tPgogICAgICAgICAgICA8dWwgaWQ9Im1lbnUtbWFpbi1uYXZpZ2F0aW9uIiBjbGFzcz0ibmF2YmFyLW5hdiBtci1hdXRvIG1haW4gdy0xMDAgIj4JPGxpICBpZD0ibWVudS1pdGVtLTgzODUiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gZHJvcGRvd24gbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzODUiIGRhdGEtaXRlbS1pZD0iODM4NSI+CgkJPGEgdGl0bGU9IlN0YW5kYXJkcyIgZGF0YS1pdGVtLWlkPSI4Mzg1IiBjbGFzcz0ibmF2LWxpbmsgIGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+U3RhbmRhcmRzPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDI5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MjkiIGRhdGEtaXRlbS1pZD0iODQyOSI+CgkJCQkJCQk8YSB0aXRsZT0iQWNjZXNzIFN0YW5kYXJkcyIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWNjZXNzLXN0YW5kYXJkcy8iIGRhdGEtaXRlbS1pZD0iODQyOSIgY2xhc3M9Im5hdi1saW5rICI+QWNjZXNzIFN0YW5kYXJkczwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4NiIgZGF0YS1pdGVtLWlkPSI4Mzg2Ij4KCQkJCQkJCTxhIHRpdGxlPSJTZWFyY2ggU3RhbmRhcmRzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9zdGFuZGFyZC8iIGRhdGEtaXRlbS1pZD0iODM4NiIgY2xhc3M9Im5hdi1saW5rICI+U2VhcmNoIFN0YW5kYXJkczwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4NyIgZGF0YS1pdGVtLWlkPSI4Mzg3Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgRGV2ZWxvcG1lbnQiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2RldmVsb3AvIiBkYXRhLWl0ZW0taWQ9IjgzODciIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBEZXZlbG9wbWVudDwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4OCIgZGF0YS1pdGVtLWlkPSI4Mzg4Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgQWRvcHRpb24iIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2RldmVsb3AvZGV2ZWxvcC1zdGFuZGFyZHMvc3RhbmRhcmRzLWFkb3B0aW9uLyIgZGF0YS1pdGVtLWlkPSI4Mzg4IiBjbGFzcz0ibmF2LWxpbmsgIj5TdGFuZGFyZHMgQWRvcHRpb248L2E+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51LWRlc2NyaXB0aW9uIj4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NSIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5DaG9vc2UgZnJvbSB0aGUgbWFueSB3YXlzIHRvIGFjY2VzcyBJRUVFIFNBIFN0YW5kYXJkcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDI5IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkNob29zZSBmcm9tIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uYWwgYWNjZXNzIG9wdGlvbnMgdG8gZ2V0IHRoZSBzdGFuZGFyZHMgeW91IG5lZWQuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5GaW5kIHRoZSBzdGFuZGFyZHMgeW914oCZcmUgbG9va2luZyBmb3IuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NyIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5HZXQgaW52b2x2ZWQgaW4gdGhlIGRldmVsb3BtZW50IG9mIG1hcmtldC1kcml2ZW4gdGVjaG5vbG9neSBzdGFuZGFyZHMgd2l0aCBwcm92ZW4gZXhwZXJ0aXNlIGFuZCBkZWRpY2F0ZWQgc3VwcG9ydC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg4IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkxlYXJuIG1vcmUgYWJvdXQgaG93IHRvIGFkb3B0IElFRUUgc3RhbmRhcmRzLjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzg5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzg5IiBkYXRhLWl0ZW0taWQ9IjgzODkiPgoJCTxhIHRpdGxlPSJQcm9kdWN0cyAmYW1wOyBQcm9ncmFtcyIgZGF0YS1pdGVtLWlkPSI4Mzg5IiBjbGFzcz0ibmF2LWxpbmsgIGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+UHJvZHVjdHMgJiMwMzg7IFByb2dyYW1zPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04MzkwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTAiIGRhdGEtaXRlbS1pZD0iODM5MCI+CgkJCQkJCQk8YSB0aXRsZT0iQWxsaWFuY2UgTWFuYWdlbWVudCBTZXJ2aWNlcyIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvYW1zLyIgZGF0YS1pdGVtLWlkPSI4MzkwIiBjbGFzcz0ibmF2LWxpbmsgIj5BbGxpYW5jZSBNYW5hZ2VtZW50IFNlcnZpY2VzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04MzkxIiBkYXRhLWl0ZW0taWQ9IjgzOTEiPgoJCQkJCQkJPGEgdGl0bGU9IkNvbmZvcm1pdHkgQXNzZXNzbWVudCAmYW1wOyBDZXJ0aWZpY2F0aW9uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy9pY2FwLyIgZGF0YS1pdGVtLWlkPSI4MzkxIiBjbGFzcz0ibmF2LWxpbmsgIj5Db25mb3JtaXR5IEFzc2Vzc21lbnQgJiMwMzg7IENlcnRpZmljYXRpb248L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04MzkyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTIiIGRhdGEtaXRlbS1pZD0iODM5MiI+CgkJCQkJCQk8YSB0aXRsZT0iSUVFRSBTQSBPcGVuIFNvdXJjZSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaW5pdGlhdGl2ZXMvb3BlbnNvdXJjZS8iIGRhdGEtaXRlbS1pZD0iODM5MiIgY2xhc3M9Im5hdi1saW5rICI+SUVFRSBTQSBPcGVuIFNvdXJjZTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5MyIgZGF0YS1pdGVtLWlkPSI4MzkzIj4KCQkJCQkJCTxhIHRpdGxlPSJJbmR1c3RyeSBBZmZpbGlhdGUgTmV0d29yayAoSUFOKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvaW5kdXN0cnktYWZmaWxpYXRlLW5ldHdvcmsvIiBkYXRhLWl0ZW0taWQ9IjgzOTMiIGNsYXNzPSJuYXYtbGluayAiPkluZHVzdHJ5IEFmZmlsaWF0ZSBOZXR3b3JrIChJQU4pPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzMSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDMxIiBkYXRhLWl0ZW0taWQ9Ijg0MzEiPgoJCQkJCQkJPGEgdGl0bGU9IkluZHVzdHJ5IENvbm5lY3Rpb25zIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pbmR1c3RyeS1jb25uZWN0aW9ucy8iIGRhdGEtaXRlbS1pZD0iODQzMSIgY2xhc3M9Im5hdi1saW5rICI+SW5kdXN0cnkgQ29ubmVjdGlvbnM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzAiIGRhdGEtaXRlbS1pZD0iODQzMCI+CgkJCQkJCQk8YSB0aXRsZT0iVGhlIE5hdGlvbmFsIEVsZWN0cmljYWwgU2FmZXR5IENvZGXCriAoTkVTQ8KuKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvbmVzYy8iIGRhdGEtaXRlbS1pZD0iODQzMCIgY2xhc3M9Im5hdi1saW5rICI+VGhlIE5hdGlvbmFsIEVsZWN0cmljYWwgU2FmZXR5IENvZGXCriAoTkVTQ8KuKTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5NiIgZGF0YS1pdGVtLWlkPSI4Mzk2Ij4KCQkJCQkJCTxhIHRpdGxlPSJSZWdpc3RyYXRpb24gQXV0aG9yaXR5IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy9yZWdhdXRoLyIgZGF0YS1pdGVtLWlkPSI4Mzk2IiBjbGFzcz0ibmF2LWxpbmsgIj5SZWdpc3RyYXRpb24gQXV0aG9yaXR5PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5NyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzk3IiBkYXRhLWl0ZW0taWQ9IjgzOTciPgoJCQkJCQkJPGEgdGl0bGU9IkdvdmVybm1lbnQgRW5nYWdlbWVudCBQcm9ncmFtIG9uIFN0YW5kYXJkcyAoR0VQUykiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2ludGwvZ292ZXJubWVudC1lbmdhZ2VtZW50LXByb2dyYW0vIiBkYXRhLWl0ZW0taWQ9IjgzOTciIGNsYXNzPSJuYXYtbGluayAiPkdvdmVybm1lbnQgRW5nYWdlbWVudCBQcm9ncmFtIG9uIFN0YW5kYXJkcyAoR0VQUyk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzk4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTgiIGRhdGEtaXRlbS1pZD0iODM5OCI+CgkJCQkJCQk8YSB0aXRsZT0iU3RhbmRhcmRzIEZlbGxvd3NoaXAiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2ludGwvc3RhbmRhcmRzLWZlbGxvd3NoaXAtcHJvZ3JhbS8iIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1saW5rICI+U3RhbmRhcmRzIEZlbGxvd3NoaXA8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzIiIGRhdGEtaXRlbS1pZD0iODQzMiI+CgkJCQkJCQk8YSB0aXRsZT0iQWxsIFByb2R1Y3RzICZhbXA7IFByb2dyYW1zIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy8iIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1saW5rICI+QWxsIFByb2R1Y3RzICYjMDM4OyBQcm9ncmFtczwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg5IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZ1bGwgZWNvc3lzdGVtIG9mIHN0YW5kYXJkcy1yZWxhdGVkIHNvbHV0aW9ucyB0byBoZWxwIGRyaXZlIGF3YXJlbmVzcywgYWN0aXZhdGlvbiwgYW5kIGFkb3B0aW9uLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9IjgzOTAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+UHJvdmlkaW5nIHN1cHBvcnQgc2VydmljZXMgdG8gaGVscCBtYW5hZ2UgdGhlIGRheS10by1kYXkgb3BlcmF0aW9ucyBvZiBpbmR1c3RyeSBncm91cHMsIGFsbG93aW5nIGtleSBzdGFrZWhvbGRlcnMgdG8gZm9jdXMgb24gdGhlIHdvcmsgYXQgaGFuZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4MzkxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZvY3VzZWQgb24gZGV2ZWxvcG1lbnQgYW5kIGltcGxlbWVudGF0aW9uIG9mIHJpZ29yb3VzIGNvbmZvcm1pdHkgYXNzZXNzbWVudCBwcm9ncmFtcyBkZXNpZ25lZCB0byBoZWxwIGFjY2VsZXJhdGUgbWFya2V0IGFkb3B0aW9uLCByZWR1Y2UgY29zdHMgYW5kIG1vcmUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5BIHZlbmRvci1uZXV0cmFsLCBpbmNsdXNpdmUsIG9wZW4gc291cmNlIHBsYXRmb3Jt4oCUZm9yIGFsbCwgZnJvbSBpbmRlcGVuZGVudCBzb2Z0d2FyZSBkZXZlbG9wZXJzIGFuZCBzdGFydCB1cHMgdG8gaW5kdXN0cnksIGFjYWRlbWljIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MyIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5PcGVuIHRvIGNvbnNvcnRpYSwgaW5kdXN0cnkgYWxsaWFuY2Ugb3Igb3RoZXIgaW5kdXN0cnkgb3JnYW5pemF0aW9ucywgbG9va2luZyB0byBicmluZyBmb3J3YXJkIHNwZWNpZmljYXRpb25zIGZvciBzdGFuZGFyZHMgZGV2ZWxvcG1lbnQgYW5kIG1hcmtldCBhZG9wdGlvbi48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDMxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZhY2lsaXRhdGluZyBjb2xsYWJvcmF0aW9uIGFtb25nIG9yZ2FuaXphdGlvbnMgYW5kIGluZGl2aWR1YWxzIGFzIHRoZXkgaG9uZSBhbmQgcmVmaW5lIHRoZWlyIHRoaW5raW5nIG9uIHJhcGlkbHkgY2hhbmdpbmcgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+R3VpZGVsaW5lcyBmb3IgcHJhY3RpY2FsIHNhZmVndWFyZGluZyBkdXJpbmcgdGhlIGluc3RhbGxhdGlvbiwgb3BlcmF0aW9uLCBhbmQgbWFpbnRlbmFuY2Ugb2YgZWxlY3RyaWMgc3VwcGx5LCBjb21tdW5pY2F0aW9uIGxpbmVzIGFuZCBhc3NvY2lhdGVkIGVxdWlwbWVudC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkFzc2lnbnMgYW5kIG1haW50YWlucyB1bmlxdWUgaWRlbnRpZmllcnMgYW5kIHVuYW1iaWd1b3VzIG5hbWVzIHRvIG9iamVjdHMgZm9yIHRob3NlIHdpc2hpbmcgdG8gcmVnaXN0ZXIgdGhlbS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk3IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlByb2dyYW0gZm9yIHBvbGljeW1ha2VycyBwcm92aWRpbmcgdGFpbG9yZWQgc3RhbmRhcmRzIGluZm9ybWF0aW9uLCBhY2Nlc3MgdG8gdGhlIElFRUUgU0Egc3RhbmRhcmRpemF0aW9uIGVjb3N5c3RlbSwgYW5kIHN0YW5kYXJkaXphdGlvbiByZXNvdXJjZXMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Qcm92aWRpbmcgZ2xvYmFsIHN0YW5kYXJkcyBwcm9mZXNzaW9uYWxzIHRoZSBvcHBvcnR1bml0eSB0byBvYnNlcnZlIHRoZSBJRUVFIHN0YW5kYXJkcyBkZXZlbG9wbWVudCBwcm9jZXNzIGFuZCBsZWFybiBhYm91dCB0ZWNobmljYWwgYXJlYXMgb2YgaW50ZXJlc3QuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TZWUgYWxsIHRoZSBwcm9ncmFtcywgcHJvZHVjdHMsIGFuZCBzZXJ2aWNlcyB0aGF0IElFRUUgU0EgaGFzIHRvIG9mZmVyLjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDAwIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiPgoJCTxhIHRpdGxlPSJGb2N1c2VzIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5Gb2N1c2VzPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDEiIGRhdGEtaXRlbS1pZD0iODQwMSI+CgkJCQkJCQk8YSB0aXRsZT0iQXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaW5pdGlhdGl2ZXMvYXJ0aWZpY2lhbC1pbnRlbGxpZ2VuY2Utc3lzdGVtcy8iIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1saW5rICI+QXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMiIgZGF0YS1pdGVtLWlkPSI4NDAyIj4KCQkJCQkJCTxhIHRpdGxlPSJDb25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJhY3RpY2VzL2Nvbm5lY3Rpdml0eS10ZWxlY29tLyIgZGF0YS1pdGVtLWlkPSI4NDAyIiBjbGFzcz0ibmF2LWxpbmsgIj5Db25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMyIgZGF0YS1pdGVtLWlkPSI4NDAzIj4KCQkJCQkJCTxhIHRpdGxlPSJFbmVyZ3kiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9lbmVyZ3kvIiBkYXRhLWl0ZW0taWQ9Ijg0MDMiIGNsYXNzPSJuYXYtbGluayAiPkVuZXJneTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwNCIgZGF0YS1pdGVtLWlkPSI4NDA0Ij4KCQkJCQkJCTxhIHRpdGxlPSJGb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcmFjdGljZXMvZm91bmRhdGlvbmFsLyIgZGF0YS1pdGVtLWlkPSI4NDA0IiBjbGFzcz0ibmF2LWxpbmsgIj5Gb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQwNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDA1IiBkYXRhLWl0ZW0taWQ9Ijg0MDUiPgoJCQkJCQkJPGEgdGl0bGU9IkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9oZWFsdGhjYXJlLWxpZmUtc2NpZW5jZXMvIiBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtbGluayAiPkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDA2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDYiIGRhdGEtaXRlbS1pZD0iODQwNiI+CgkJCQkJCQk8YSB0aXRsZT0iTW9iaWxpdHkiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9tb2JpbGl0eS8iIGRhdGEtaXRlbS1pZD0iODQwNiIgY2xhc3M9Im5hdi1saW5rICI+TW9iaWxpdHk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzMiIGRhdGEtaXRlbS1pZD0iODQzMyI+CgkJCQkJCQk8YSB0aXRsZT0iR292ZXJubWVudCBFbmdhZ2VtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9pbnRsLyIgZGF0YS1pdGVtLWlkPSI4NDMzIiBjbGFzcz0ibmF2LWxpbmsgIj5Hb3Zlcm5tZW50IEVuZ2FnZW1lbnQ8L2E+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51LWRlc2NyaXB0aW9uIj4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TdHJhdGVnaWMgZm9jdXNlcyBhbmQgaW5kdXN0cmllcyB3aGVyZSBJRUVFIFNBIGlzIHJhaXNpbmcgdGhlIHdvcmxk4oCZcyBzdGFuZGFyZHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5EZXZlbG9waW5nIGFjY2Vzc2libGUgYW5kIHN1c3RhaW5hYmxlIGFwcHJvYWNoZXMgYW5kIHNvbHV0aW9ucyBmb3IgcHJhY3RpY2FsIGFwcGxpY2F0aW9uIG9mIEFJUyBwcmluY2lwbGVzIGFuZCBmcmFtZXdvcmtzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDIiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QWR2YW5jaW5nIHJvYnVzdCwgcmVzcG9uc2libGUsIGFuZCBhZmZvcmRhYmxlIGNvbm5lY3Rpdml0eS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDAzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkVuYWJsaW5nIHN1c3RhaW5hYmxlLCBlZmZpY2llbnQsIGFuZCBhY2Nlc3NpYmxlIGVuZXJneSB0aHJvdWdoIHRlY2hub2xvZ2ljYWwgYWR2YW5jZXMgb24gYSBnbG9iYWwgc2NhbGUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwNCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Xb3JraW5nIHRvIHN0YW5kYXJkaXplIHNlYW1sZXNzIGFuZCB1YmlxdWl0b3VzIGNvbm5lY3Rpdml0eSBhY3Jvc3MgYWxsIGFwcGxpY2F0aW9ucyBvZiBjb25uZWN0ZWQgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Rm9jdXNlZCBvbiBlbmFibGluZyBhZmZvcmRhYmxlIGhlYWx0aGNhcmUsIGFjY2VzcyB0byBtZWRpY2luZSwgYW5kIGlubm92YXRpb24gdG8gaW1wcm92ZSBvdmVyYWxsIGdsb2JhbCB3ZWxsbmVzcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDA2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPldvcmtpbmcgdG8gaGVscCB0aGUgZXZvbHZpbmcgbW9iaWxpdHkgZWNvc3lzdGVtIGFkZHJlc3Mgc29tZSBvZiBpdHMgZ3JlYXRlc3QgYnVzaW5lc3Mgb3Bwb3J0dW5pdGllcyB0aGF0IGhhdmUgdGhlIHBvdGVudGlhbCB0byBzb2x2ZSBtYWpvciBzb2NpZXRhbCBjaGFsbGVuZ2VzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzMiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QnVpbGRpbmcgYnJpZGdlcyBiZXR3ZWVuIHRoZSB3b3JsZHMgb2YgdGVjaG5vbG9neSwgc3RhbmRhcmRzLCBhbmQgcG9saWN5IG1ha2luZy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQwOCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLWhhcy1jaGlsZHJlbiBkcm9wZG93biBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwOCIgZGF0YS1pdGVtLWlkPSI4NDA4Ij4KCQk8YSB0aXRsZT0iR2V0IEludm9sdmVkIiBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5HZXQgSW52b2x2ZWQ8L2E+CgkJPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSBtZWdhLW1lbnUiPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51ICBkZXB0aF8wIj4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MzQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQzNCIgZGF0YS1pdGVtLWlkPSI4NDM0Ij4KCQkJCQkJCTxhIHRpdGxlPSJFdmVudHMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2V2ZW50cy8iIGRhdGEtaXRlbS1pZD0iODQzNCIgY2xhc3M9Im5hdi1saW5rICI+RXZlbnRzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEwIiBkYXRhLWl0ZW0taWQ9Ijg0MTAiPgoJCQkJCQkJPGEgdGl0bGU9IklFRUUgU0EgTWVtYmVyc2hpcCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvbWVtYmVyc2hpcC8iIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1saW5rICI+SUVFRSBTQSBNZW1iZXJzaGlwPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM1IiBkYXRhLWl0ZW0taWQ9Ijg0MzUiPgoJCQkJCQkJPGEgdGl0bGU9IkhvdyB0byBHZXQgSW52b2x2ZWQiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3BhcnRpY2lwYXRlLyIgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWxpbmsgIj5Ib3cgdG8gR2V0IEludm9sdmVkPC9hPgoJCQkJCQk8L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudS1kZXNjcmlwdGlvbiI+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+TGVhcm4gYWJvdXQgb3Bwb3J0dW5pdGllcyB0byBlbmdhZ2Ugd2l0aCBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzQiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Sm9pbiB1cyBhdCB1cGNvbWluZyB2aXJ0dWFsIG9yIGluLXBlcnNvbiBldmVudHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5GbGV4aWJsZSBtZW1iZXJzaGlwIG9wdGlvbnMgdGhhdCBvZmZlciBlbmhhbmNlZCBwYXJ0aWNpcGF0aW9uIGluIElFRUUgU0EgYWN0aXZpdGllcywgc3RhbmRhcmRzIGRldmVsb3BtZW50LCBhbmQgZ292ZXJuYW5jZS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRoZXJlIGFyZSBtYW55IG9wcG9ydHVuaXRpZXMgZm9yIHBhcnRpY2lwYXRpb24sIGZpbmQgdGhlIHJpZ2h0IG9uZSBmb3IgeW91LjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDEyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEyIiBkYXRhLWl0ZW0taWQ9Ijg0MTIiPgoJCTxhIHRpdGxlPSJSZXNvdXJjZXMiIGRhdGEtaXRlbS1pZD0iODQxMiIgY2xhc3M9Im5hdi1saW5rICBkcm9wZG93bi10b2dnbGUiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPlJlc291cmNlczwvYT4KCQk8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IG1lZ2EtbWVudSI+CgkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUgIGRlcHRoXzAiPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEzIiBkYXRhLWl0ZW0taWQ9Ijg0MTMiPgoJCQkJCQkJPGEgdGl0bGU9IlRyYWluaW5nICZhbXA7IERldmVsb3BtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC90cmFpbmluZy8iIGRhdGEtaXRlbS1pZD0iODQxMyIgY2xhc3M9Im5hdi1saW5rICI+VHJhaW5pbmcgJiMwMzg7IERldmVsb3BtZW50PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM2IiBkYXRhLWl0ZW0taWQ9Ijg0MzYiPgoJCQkJCQkJPGEgdGl0bGU9Ik5ld3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL25ld3MvIiBkYXRhLWl0ZW0taWQ9Ijg0MzYiIGNsYXNzPSJuYXYtbGluayAiPk5ld3M8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDE1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MTUiIGRhdGEtaXRlbS1pZD0iODQxNSI+CgkJCQkJCQk8YSB0aXRsZT0iSUVFRSBTQSBOZXdzbGV0dGVyIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9uZXdzL3N3aXJlLyIgZGF0YS1pdGVtLWlkPSI4NDE1IiBjbGFzcz0ibmF2LWxpbmsgIj5JRUVFIFNBIE5ld3NsZXR0ZXI8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS05NTU0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tOTU1NCIgZGF0YS1pdGVtLWlkPSI5NTU0Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgU3RvcmUiIGhyZWY9Imh0dHBzOi8vd3d3LnRlY2hzdHJlZXQuY29tL2llZWU/dXRtX3NvdXJjZT1zdGFuZGFyZHMmYW1wO3V0bV9tZWRpdW09d2ViJmFtcDt1dG1fY2FtcGFpZ249c3RhbmRhcmRzLXJlZmVycmFsIiBkYXRhLWl0ZW0taWQ9Ijk1NTQiIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBTdG9yZTwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEyIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRyYWluaW5nIGFuZCBjb21tdW5pY2F0aW9uIHJlc291cmNlcyB0byBzdGF5IGNvbm5lY3RlZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkluZGl2aWR1YWwgYW5kIG9yZ2FuaXphdGlvbmFsIGVmZmVjdGl2ZW5lc3MgcHJvZ3JhbSB0byBlbmFibGUgdGhlIHN1Y2Nlc3Mgb2Ygb3VyIHZpdGFsIHZvbHVudGVlcnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzNiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5SZWFkIHRoZSBsYXRlc3QgbmV3cyBvbiBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MTUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+U3Vic2NyaWJlIHRvIG91ciBuZXdzbGV0dGVyIGFuZCBrZWVwIHVwIHRvIGRhdGUgb24gdGhlIGxhdGVzdCBzdGFuZGFyZHMsIGV2ZW50LCBhbmQgYWN0aXZpdGllcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI5NTU0IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkdldCB0aGUgc3RhbmRhcmRzIHlvdSBuZWVkLiBTZWxlY3QgZnJvbSBpbmRpdmlkdWFsIHN0YW5kYXJkcyBvciBzdGFuZGFyZHMgYnVuZGxlcy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQxNiIgY2xhc3M9Im5hdi10eXBlLWJ1dHRvbiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQxNiIgZGF0YS1pdGVtLWlkPSI4NDE2Ij4KCQk8YSB0aXRsZT0iTUFDIEFkZHJlc3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3Byb2R1Y3RzLXByb2dyYW1zL3JlZ2F1dGgvIiBkYXRhLWl0ZW0taWQ9Ijg0MTYiIGNsYXNzPSJuYXYtbGluayAiPk1BQyBBZGRyZXNzPC9hPgoJPC9saT4KPC91bD4gICAgICAgICAgICA8IS0tIGVuZCB3b3JkcHJlc3MgbWVudSAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvI21vYmlsZS1tZW51IC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBzZWFyY2giPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtaW5wdXQtd3JhcHBlciIgY2xhc3M9ImNvbGxhcHNlIGNvbGxhcHNlLWhvcml6b250YWwiPgogICAgICAgICAgICAgICAgPGZvcm0gaWQ9InNlYXJjaCIgY2xhc3M9ImZvcm0taW5saW5lIiBhY3Rpb249Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3NlYXJjaC8iIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBJRUVFIFNBLi4uIiBhdXRvZm9jdXM9ImF1dG9mb2N1cyIgbmFtZT0icSIgaWQ9InEiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgdHlwZT0ic3VibWl0IiBhcmlhLWxhYmVsPSJzZWFyY2giPjxpIGNsYXNzPSJmYSBmYS1zZWFyY2giPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4gPCEtLSAvI3NlYXJjaCAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzZWFyY2gtaW5wdXQtd3JhcHBlciAtLT4KICAgICAgICAgICAgPGJ1dHRvbiBpZD0ibWFpbi1zZWFyY2gtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1tZCIgdHlwZT0iYnV0dG9uIiBkYXRhLWJzLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtYnMtdGFyZ2V0PSIjc2VhcmNoLWlucHV0LXdyYXBwZXIiCiAgICAgICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNlYXJjaC1pbnB1dC13cmFwcGVyIiBhcmlhLWxhYmVsPSJzZWFyY2giPjxpIGNsYXNzPSJmYSBmYS1zZWFyY2giPjwvaT48L2J1dHRvbj4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmJ0bi1ncm91cCAuc2VhcmNoIC0tPgogICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXItZmx1aWQgLS0+CjwvbmF2PiA8IS0tIC8jbWFpbi1uYXYgLm5hdmJhciAtLT4KICAgIDwvc2VjdGlvbj4gPCEtLSAvI21hc3RoZWFkIC0tPgo8L2hlYWRlcj4KCgo8bWFpbj4KICAgIDxzZWN0aW9uIGlkPSJwYWdlLXRpdGxlIiBjbGFzcz0ic3RhbmRhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLWxnLTMgb3JkZXItbGctbGFzdCBhbGlnbi1zZWxmLWxnLWVuZCB0ZXh0LWxnLWVuZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic3RuZC1zdGF0dXMiPkFjdGl2ZSBTdGFuZGFyZDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgY29sLWxnLTMgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLWxnLTExIj4KICAgICAgICAgICAgICAgICAgICA8aDEgaWQ9InN0bmQtZGVzaWduYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNSI+SUVFRSA1MjgtMjAxOTwvaDE+CiAgICAgICAgICAgICAgICAgICAgPGgyIGlkPSJzdG5kLXRpdGxlIj5JRUVFIFN0YW5kYXJkIGZvciBJbmVydGlhbCBTZW5zb3IgVGVybWlub2xvZ3k8L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1sZy0xMSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0icHVyY2hhc2Utb3B0aW9ucyIgY2xhc3M9ImQtZ3JpZCBnYXAtNCBkLW1kLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJzdG5kLWJ1eS11cmwiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnRlY2hzdHJlZXQuY29tL2llZWUvcHJvZHVjdHMvdmVuZG9yX2lkLzcyOTIiIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT0iYnV0dG9uIj5QdXJjaGFzZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJzdG5kLXN1YnNjcmlwdGlvbi11cmwiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9pZWVleHBsb3JlLmllZWUub3JnL3NlcnZsZXQvb3BhYz9wdW51bWJlcj04ODYzNzk3IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiIHJvbGU9ImJ1dHRvbiI+QWNjZXNzIHZpYSBTdWJzY3JpcHRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jcHVyY2hhc2Utb3B0aW9ucyAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29sLTEyIC5jb2wtbGctOCAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyNwYWdlLXRpdGxlIC0tPgoKICAgIAogICAgPHNlY3Rpb24gaWQ9ImJyZWFkY3J1bWJzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIj4KICAgICAgICAgICAgICAgICAgICA8bmF2IGlkPSJicmVhZGNydW1iLW5hdiIgYXJpYS1sYWJlbD0iYnJlYWRjcnVtYiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvbCBjbGFzcz0iYnJlYWRjcnVtYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmciIHRpdGxlPSJIb21lIj5Ib21lPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9zZWFyY2gvP3E9U3RhbmRhcmQiIHRpdGxlPSJTdGFuZGFyZHMiPlN0YW5kYXJkczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSBhY3RpdmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD0icGFnZSI+SUVFRSA1MjgtMjAxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L29sPiA8IS0tIC8uYnJlYWRjcnVtYiAtLT4KICAgICAgICAgICAgICAgICAgICA8L25hdj4gPCEtLSAvI2JyZWFkY3J1bWItbmF2IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgPC9zZWN0aW9uPiA8IS0tIC8jYnJlYWRjcnVtYnMgLS0+CiAgICAKICAgIDxzZWN0aW9uIGlkPSJjb250ZW50IiBjbGFzcz0ic3RhbmRhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtYWluLWNvbnRlbnQiIGNsYXNzPSJjb2wtMTIgY29sLWxnLTEwIG9mZnNldC1sZy0xIGNvbC14bC04IG9mZnNldC14bC0yIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzdG5kLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGVybXMgYW5kIGRlZmluaXRpb25zIHJlbGF0aW5nIHRvIGluZXJ0aWFsIHNlbnNvcnMgYXJlIHByZXNlbnRlZCBpbiB0aGlzIHN0YW5kYXJkLiBVc2FnZSBhcyB1bmRlcnN0b29kIGJ5IHRoZSBpbmVydGlhbCBzZW5zb3IgY29tbXVuaXR5IGlzIGdpdmVuIHByZWZlcmVuY2Ugb3ZlciBnZW5lcmFsIHRlY2huaWNhbCB1c2FnZSBvZiB0aGUgdGVybXMgaGVyZWluLiBUaGUgY3JpdGVyaW9uIGZvciBpbmNsdXNpb24gb2YgYSB0ZXJtIGFuZCBpdHMgZGVmaW5pdGlvbiBpbiB0aGlzIHN0YW5kYXJkIGlzIHVzZWZ1bG5lc3MgYXMgcmVsYXRlZCB0byBpbmVydGlhbCBzZW5zb3IgdGVjaG5vbG9neS48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzdG5kLWRlc2NyaXB0aW9uIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0YW5kYXJkLWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9InJvdyI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TcG9uc29yIENvbW1pdHRlZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLWNvbW1pdHRlZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+QUVTL0dBIC0gR3lybyBBY2NlbGVyb21ldGVyIFBhbmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YSBpZD0ic3RuZC1jb21taXR0ZWUtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vaWVlZS1hZXNzLm9yZy90ZWNoLW9wcy9neXJvLWFuZC1hY2NlbGVyb21ldGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIiB0YXJnZXQ9Il9ibGFuayI+TGVhcm4gTW9yZTwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+U3RhdHVzPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1zdGF0dXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5BY3RpdmUgU3RhbmRhcmQ8L2RkPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+UEFSIEFwcHJvdmFsPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtcGFyLWFwcHJvdmFsLWRhdGUiIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+PGEgaWQ9InN0bmQtcGFyLWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wbWVudC5zdGFuZGFyZHMuaWVlZS5vcmcvbXlwcm9qZWN0LXdlYi9wdWJsaWMvdmlldy5odG1sI3BhcmRldGFpbC82NDYzIj4yMDE4LTA1LTE0PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TdXBlcnNlZGluZzwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXN1cGVyc2VkaW5nIiBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPjxhIGlkPSJzdG5kLXN1cGVyc2VkaW5nLXVybCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNTI4Lzc4MCI+NTI4LTIwMDE8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5Cb2FyZCBBcHByb3ZhbDwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLWFwcHJvdmFsLWRhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+MjAxOS0wNi0xMzwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+SGlzdG9yeTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz0icm93Ij4KCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC03IGNvbC1tZC00Ij5QdWJsaXNoZWQ6PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtcHVibGlzaGVkLWRhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtNSBjb2wtbWQtOCI+MjAxOS0xMC0wODwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzdGFuZGFyZC1kZXRhaWxzIC0tPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3b3JraW5nLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJoMiBzZWN0aW9uLXRpdGxlIj5Xb3JraW5nIEdyb3VwIERldGFpbHM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3b3JraW5nLWdyb3VwLWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsIGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPlNvY2lldHk8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtc29jaWV0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+SUVFRSBBZXJvc3BhY2UgYW5kIEVsZWN0cm9uaWMgU3lzdGVtcyBTb2NpZXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLXNvY2lldHktdXJsIiBjbGFzcz0iYXJyb3ctbGluayIgaHJlZj0iaHR0cDovL3d3dy5pZWVlLWFlc3Mub3JnLyIgdGl0bGU9IkxlYXJuIE1vcmUiIHRhcmdldD0iX2JsYW5rIj5MZWFybiBNb3JlPC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+U3BvbnNvciBDb21taXR0ZWU8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXdvcmtpbmctZ3JvdXAtY29tbWl0dGVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+QUVTL0dBIC0gR3lybyBBY2NlbGVyb21ldGVyIFBhbmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGEgaWQ9InN0bmQtd29ya2luZy1ncm91cC1jb21taXR0ZWUtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9pZWVlLWFlc3Mub3JnL3RlY2gtb3BzL2d5cm8tYW5kLWFjY2VsZXJvbWV0ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+V29ya2luZyBHcm91cDwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC13b3JraW5nLWdyb3VwIiBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRU5TUl9XRyAtIFNlbnNvcnMgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLXdvcmtpbmctZ3JvdXAtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcG1lbnQuc3RhbmRhcmRzLmllZWUub3JnL215cHJvamVjdC13ZWIvcHVibGljL3ZpZXcuaHRtbCMvaW50ZXJlc3QvMzU0NiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPklFRUUgUHJvZ3JhbSBNYW5hZ2VyPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXN0YWZmLWxpYWlzb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPlNvbyBLaW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLXN0YWZmLWxpYWlzb24tZW1haWwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWxUTzpzLmgua2ltQGllZWUub3JnIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJDb250YWN0Ij5Db250YWN0PC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+V29ya2luZyBHcm91cCBDaGFpcjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC13b3JraW5nLWdyb3VwLWNoYWlyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5IYXJyeSBEYXZpczwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPiA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dvcmtpbmctZ3JvdXAtZGV0YWlscyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id29ya2luZy1ncm91cC1wcm9qZWN0cy1zdGFuZGFyZHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMgbmF2LWp1c3RpZmllZCBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWxpbmsgYWN0aXZlIiBpZD0id2ctYWN0aXZlLXByb2plY3RzLXRhYiIgZGF0YS1icy10b2dnbGU9InRhYiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJzLXRhcmdldD0iI3dnLWFjdGl2ZS1wcm9qZWN0cyIgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0id2ctYWN0aXZlLXByb2plY3RzIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+QWN0aXZlIFByb2plY3RzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayIgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZHMtdGFiIiBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjd2ctYWN0aXZlLXN0YW5kYXJkcyIgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0id2ctYWN0aXZlLXN0YW5kYXJkcyIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPkFjdGl2ZSBTdGFuZGFyZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gPCEtLSAvLm5hdi1pdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iIHJvbGU9InByZXNlbnRhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1saW5rIiBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMtdGFiIiBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjd2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMiIHR5cGU9ImJ1dHRvbiIgcm9sZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+U3VwZXJzZWRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayIgaWQ9IndnLWluYWN0aXZlLXdpdGhkcmF3bi1zdGFuZGFyZHMtdGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiIGRhdGEtYnMtdGFyZ2V0PSIjd2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iIHJvbGU9InRhYiIgYXJpYS1jb250cm9scz0id2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+SW5hY3RpdmUtV2l0aGRyYXduIFN0YW5kYXJkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiA8IS0tIC8ubmF2LWl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMtdGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiIGRhdGEtYnMtdGFyZ2V0PSIjd2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPkluYWN0aXZlLVJlc2VydmVkIFN0YW5kYXJkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiA8IS0tIC8ubmF2LWl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPiA8IS0tIC8ubmF2IC5uYXYtdGFicyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLXRhYi1jb250ZW50IiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0cyIgY2xhc3M9InRhYi1wYW5lIGZhZGUgc2hvdyBhY3RpdmUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1hY3RpdmUtcHJvamVjdHMtdGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1wcm9qZWN0IHdnLWFjdGl2ZS1wcm9qZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtcHJvamVjdC1kZXNpZ25hdGlvbiI+UDE0MzE8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0LXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5TdGFuZGFyZCBmb3IgU3BlY2lmeWluZyBhbmQgVGVzdGluZyBDb3Jpb2xpcyBWaWJyYXRvcnkgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctYWN0aXZlLXByb2plY3QtZGVzY3JpcHRpb24iPlRoaXMgc3RhbmRhcmQgZGVmaW5lcyByZXF1aXJlbWVudHMgYW5kIHRlc3QgcHJvY2VkdXJlcyBmb3IgYSBzaW5nbGUtYXhpcyBDb3Jpb2xpcyB2aWJyYXRvcnkgZ3lybyAoQ1ZHKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMuICBJbmZvcm1hdGl2ZSBhbm5leGVzIGNvdmVyIENWRyBkZXNpZ24gZmVhdHVyZXMgYW5kIHRoZW9yZXRpY2FsIHByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0LXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMTQzMS8xMDMyMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1wcm9qZWN0IC53Zy1hY3RpdmUtcHJvamVjdCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8udGFiLXBhbmUtY29udGVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dnLWFjdGl2ZS1wcm9qZWN0cyAudGFiLXBhbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctYWN0aXZlLXN0YW5kYXJkcyIgY2xhc3M9InRhYi1wYW5lIGZhZGUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1hY3RpdmUtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjEyOTMtMjAxODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgTGluZWFyIFNpbmdsZS1BeGlzLCBOb25neXJvc2NvcGljIEFjY2VsZXJvbWV0ZXJzPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhlIHNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIGxpbmVhciwgc2luZ2xlLWF4aXMsIG5vbmd5cm9zY29waWMgYWNjZWxlcm9tZXRlciBmb3IgdXNlIGluIGluZXJ0aWFsIG5hdmlnYXRpb24sIGd1aWRhbmNlLCBhbmQgbGV2ZWxpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGd1aWRlIGFuZCBhIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHRlc3QgcHJvY2VkdXJlcyBmb3Igc3VjaCBhY2NlbGVyb21ldGVycyBhcmUgcHJvdmlkZWQuIEluZm9ybWF0aXZlIGFubmV4ZXMgYXJlIGdpdmVuIG9uIHRoZSB2YXJpb3VzIHR5cGVzIG9mIHN1Y2ggYWNjZWxlcm9tZXRlcnMgKGZvcmNlIG9yIHBlbmR1bG91cyB0b3JxdWUgcmViYWxhbmNlIHdpdGggYW5hbG9nIG9yIGRpZ2l0YWwgb3V0cHV0LCB2aWJyYXRpbmcgYmVhbSwgYW5kIG1pY3JvbWVjaGFuaWNhbCkgYW5kIGVycm9yIGVmZmVjdHMsIG9uIGZpbHRlcmluZywgbm9pc2UsIGFuZCB0cmFuc2llbnQgYW5hbHlzaXMgdGVjaG5pcXVlcywgYW5kIG9uIGNhbGlicmF0aW9uIGFuZCBtb2RlbGluZyB0ZWNobmlxdWVzIChtdWx0aXBvaW50IHR1bWJsZSBhbmFseXNpcywgdmlicmF0aW9uIGFuZCAgc2hvY2sgdGVzdCBhbmFseXNlcywgYW5kIGdlb3BoeXNpY2FsIGVmZmVjdHMgaW4gaW5lcnRpYWwgaW5zdHJ1bWVudCB0ZXN0aW5nKS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xMjkzLzU1OTAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjk1Mi0yMDIwPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgZm9yIFNwZWNpZnlpbmcgYW5kIFRlc3RpbmcgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+U3BlY2lmaWNhdGlvbiBhbmQgdGVzdCBwcm9jZWR1cmVzIGZvciBhIHNpbmdsZS1heGlzIGludGVyZmVyb21ldHJpYyBmaWJlciBvcHRpYyBneXJvIChJRk9HKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIFRoZSB0ZXN0IHByb2NlZHVyZXMgYXJlIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvOTUyLzc0OTYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8udGFiLXBhbmUtY29udGVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dnLWFjdGl2ZS1zdGFuZGFyZHMgLnRhYi1wYW5lIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzIiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgcm9sZT0idGFicGFuZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctc3VwZXJzZWRlZC1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MTI5My0xOTk4L0NvciAxLTIwMDg8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBMaW5lYXIsU2luZ2xlLUF4aXMsIE5vbmd5cm9zY29waWMgQWNjZWxlcm9tZXRlcnMgQ29ycmlnZW5kdW0gMTogQ2hhbmdlcyB0byBBbm5leCBLIGFuZCBBbm5leCBMPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkNvcnJpZ2VuZHVtIHRvIElFRUUgU3RkIDEyOTMtMTk5OC4gU3BlY2lmaWNhdGlvbiBhbmQgdGVzdCByZXF1aXJlbWVudHMgZm9yIGxpbmVhciwgc2luZ2xlLWF4aXMsIG5vbmd5cm9zY29waWMgYWNjZWxlcm9tZXRlcnMgZm9yIHVzZSBhcyBhIHNlbnNvciBpbiBhdHRpdHVkZSBjb250cm9sIHN5c3RlbXMsIGxpbmVhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBsaW5lYXIgcmF0ZSBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gVGhlIHNwZWNpZmljYXRpb24gZm9ybWF0IGd1aWRlIGFuZCB0ZXN0IHByb2NlZHVyZSBzdGFuZGFyZCBhcHBsaWVzIHRvIGZvcmNlLXJlYmFsYW5jZSBhY2NlbGVyb21ldGVycyAocGVuZHVsb3VzIG9yIHRyYW5zbGF0aW9uYWwgcHJvb2YgIG1hc3MpLCB2aWJyYXRpbmcgYmVhbSBhY2NlbGVyb21ldGVycyAoVkJBcyksIGFuZCBtaWNyb21lY2hhbmljYWwgYWNjZWxlcm9tZXRlcnMgdGhhdCByYW5nZSAgZnJvbSBsZXNzZXIgYWNjdXJhY3kgdG8gaGlnaCBhY2N1cmFjeSBkZXZpY2VzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xMjkzLTE5OThfQ29yXzEvNDE0MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctc3VwZXJzZWRlZC1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctc3VwZXJzZWRlZC1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NTI4LTIwMDE8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgZm9yIEluZXJ0aWFsIFNlbnNvciBUZXJtaW5vbG9neTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5UZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vub3JzIGFyZSBwcmVzZW50ZWQgaW4gdGhpcyBzdGFuZGFyZC4gVXNhZ2UgYXMgdW5kZXJzdG9vZCBieSB0aGUgaW5lcnRpYWwgc2Vuc29yIGNvbW11bml0eSBpcyBnaXZlbiBwcmVmZXJlbmNlIG92ZXIgZ2VuZXJhbCB0ZWNobmljYWwgdXNhZ2Ugb2YgdGhlIHRlcm1zIGhlcmVpbi4gVGhlIGNyaXRlcmlvbiBmb3IgaW5jbHVzaW9uIG9mIGEgdGVybSBhbmQgaXRzIGRlZmluaXRpb24gaW4gdGhpcyBzdGFuZGFyZCBpcyB1c2VmdWxuZXNzIGFzIHJlbGF0ZWQgdG8gaW5lcnRpYWwgc2Vuc29yIHRlY2hub2xvZ3kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzUyOC83ODAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLXN1cGVyc2VkZWQtc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLXN1cGVyc2VkZWQtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjk1Mi0xOTk3PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIHNpbmdsZS1heGlzIGludGVyZmVyb21ldHJpYyBmaWJlciBvcHRpYyBneXJvIChJRk9HKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIEEgc3RhbmRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhIHNpbmdsZS1heGlzIElGT0cgaXMgcHJvdmlkZWQuIEEgY29tcGlsYXRpb24gb2YgcmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhIGZpYmVyIG9wdGljIGd5cm8sIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzk1Mi8xMzIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj45NTItMTk5Ny9Db3IgMS0yMDE2PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zIC0tIENvcnJpZ2VuZHVtIDE6IEZpZ3VyZSAxIGFuZCBTdWJjbGF1c2VzIDUuMy40LCA4LjMsIDEyLjExLjQuMy4yLCAxMi4xMS40LjMuMywgMTIuMTEuNC4zLjQsIDEyLjEyLjMuMSwgYW5kIDEyLjEyLjQuMTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5FcnJvcnMgaWRlbnRpZmllZCBpbiBJRUVFIFN0ZCA5NTItMTk5NyBhcmUgY29ycmVjdGVkIGluIHRoaXMgY29ycmlnZW5kdW0uIENvcnJlY3Rpb25zIGFyZSBtYWRlIHRvIEZpZ3VyZSAxIGFuZCBpbiBzdWJjbGF1c2VzIDUuMy40LCA4LjMsIDEyLjExLjQuMy4yLCAxMi4xMS40LjMuMywgMTIuMTEuNC4zLjQsIDEyLjEyLjMuMSwgYW5kIDEyLjEyLjQuMS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvOTUyLTE5OTdfQ29yXzEvNjc4MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctc3VwZXJzZWRlZC1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnRhYi1wYW5lLWNvbnRlbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyN3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkcyAudGFiLXBhbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIgY2xhc3M9InRhYi1wYW5lIGZhZGUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1pbmFjdGl2ZS13aXRoZHJhd24tc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gSW5hY3RpdmUtV2l0aGRyYXduIFN0YW5kYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctaW5hY3RpdmUtc3RhbmRhcmRzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMiIGNsYXNzPSJ0YWItcGFuZSBmYWRlIiByb2xlPSJ0YWJwYW5lbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xNDMxLTIwMDQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgQ29yaW9saXMgVmlicmF0b3J5IEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5TcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtYXhpcyBDb3Jpb2xpcyB2aWJyYXRvcnkgZ3lybyAoQ1ZHKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuICBBIHN0YWRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhIHNpbmdsZS1heGlzIENWRyBpcyBwcm92aWRlZC4gIEEgY29tcGxpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSBDVkcsIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuICBJbmZvcm1hdGl2ZSBhbm5leGVzIGNvdmVyIENWRyBkZXNpZ24gZmVhdHVyZXMgYW5kIHRoZW9yZXRpY2FsIHByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMTQzMS8zNTE5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xNDMxLTIwMDQvQ29yIDEtMjAwODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBDb3Jpb2xpcyBWaWJyYXRvcnkgR3lyb3MgLSBDb3JyaWdlbmR1bSAxPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5Db3JyaWdlbmR1bSB0byBJRUVFIFN0ZCAxNDMxLTIwMDQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xNDMxLTIwMDRfQ29yXzEvNDE0MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MTU1NC0yMDA1PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBSZWNvbW1lbmRlZCBQcmFjdGljZSBmb3IgSW5lcnRpYWwgU2Vuc29yIFRlc3QgRXF1aXBtZW50LCBJbnN0cnVtZW50YXRpb24sIERhdGEgQWNxdWlzaXRpb24sIGFuZCBBbmFseXNpczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGVzdCBlcXVpcG1lbnQsIGRhdGEgYWNxdWlzaXRpb24gZXF1aXBtZW50LCBpbnN0cnVtZW50YXRpb24sIHRlc3QgZmFjaWxpdGllcywgYW5kIGRhdGEgYW5hbHlzaXMgdGVjaG5pcXVlcyB1c2VkIGluIGluZXJ0aWFsIHNlbnNvciB0ZXN0aW5nIGFyZSBkZXNjcmliZWQgaW4gdGhpcyByZWNvbW1lbmRlZCBwcmFjdGljZS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzE1NTQvMjI5MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MjkyLTE5Njk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFNwZWNpZmljYXRpb24gRm9ybWF0IGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtZGVncmVlLW9mLWZyZWVkb20gc3ByaW5nLXJlc3RyYWluZWQgcmF0ZSBneXJvIGZvciBbYWlyY3JhZnQsIG1pc3NpbGUsIHNwYWNlY3JhZnQsX19fX19fXSBhcHBsaWNhdGlvbnMuIFRoZSByYXRlIGd5cm8gc2hhbGwgYmUgY2FwYWJsZSBvZiBwcm92aWRpbmcgWyhkYywgYWMpIHZvbHRhZ2Ugb3V0cHV0cyBwcm9wb3J0aW9uYWwgdG8gYW5ndWxhciByYXRlIGlucHV0cyB1cCB0b19fX19fXyBkZWdyZWVzIHBlciBzZWNvbmQsIGEgc3dpdGNoIGNsb3N1cmUocykgYXQgYW5ndWxhciByYXRlcyAoZXhjZWVkaW5nLGxlc3MgdGhhbilfX19fX18gKCssLSx1MDBiMSlfX19fX18gZGVncmVlcyBwZXIgc2Vjb25kXS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzI5Mi80ODUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjI5My0xOTY5PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLURlZ3JlZS1vZi1GcmVlZG9tIFNwcmluZy1SZXN0cmFpbmVkIFJhdGUgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlJlY29tbWVuZGVkIHJhdGUgZ3lybyB0ZXN0IHByb2NlZHVyZXMgZGVyaXZlZCBmcm9tIHRob3NlIGN1cnJlbnRseSBpbiB1c2UsIGluY2x1ZGluZyB0ZXN0IGNvbmRpdGlvbnMgdG8gYmUgY29uc2lkZXJlZCwgYXJlIGNvbXBpbGVkLiBJbiBzb21lIGNhc2VzIGFsdGVybmF0ZSBtZXRob2RzIGZvciBtZWFzdXJpbmcgYSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpYyBoYXZlIGJlZW4gaW5jbHVkZWQuIFRoaXMgc3RhbmRhcmQgaXMgaW50ZW5kZWQgdG8gYmUgYSBndWlkZSBpbiB0aGUgcHJlcGFyYXRpb24gb2YgU2VjdGlvbiA0IG9mIGEgc3BlY2lmaWNhdGlvbiB0aGF0IGZvbGxvd3MgdGhlIGZvcm1hdCBvZiBJRUVFIFN0ZCAyOTIsIFNwZWNpZmljYXRpb24gRm9ybWF0IGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzI5My80ODYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjI5My0xOTY5L0NvciAxLTIwMTQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIGZvciBJRUVFIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvcyAtLSBDb3JyaWdlbmR1bSAxOiBUYWJsZSAxIEhlYWRpbmc8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkNvcnJlY3Rpb24gdG8gVGFibGUgMSBvbiBwYWdlIDE0IG9mIElFRUUgU3RkIDI5My0xOTY5PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8yOTMtMTk2OV9Db3JfMS81NzUwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MTctMTk3NDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+QSBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvIHNwZWNpZmljYXRpb24gdGhhdCBwcm92aWRlcyBhIGNvbW1vbiBtZWV0aW5nIGdyb3VuZCBvZiB0ZXJtaW5vbG9neSBhbmQgcHJhY3RpY2UgZm9yIG1hbnVmYWN0dXJlcnMgYW5kIHVzZXJzIGlzIHByZXNlbnRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCBwcm9jZWR1cmVzIGZvciB0ZXN0aW5nIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvIGlzIGdpdmVuLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNTE3Lzc2MCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NTI5LTE5ODA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5TdXBwbGVtZW50IGZvciBTdHJhcGRvd24gQXBwbGljYXRpb25zIHRvIElFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+QSBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvc2NvcGUgc3BlY2lmaWNhdGlvbiBpcyBwcmVzZW50ZWQuIFJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSByYXRlLWludGVncmF0aW5nIGd5cm9zY29wZSBhcmUgY29tcGlsZWQuIFRoaXMgc3RhbmRhcmQsIHdoZW4gY29tYmluZWQgd2l0aCBJRUVFIFN0ZCA1MTctMTk3NCAoUjE5ODApLCBkZWZpbmVzIHRoZSByZXF1aXJlbWVudHMgYW5kIHRlc3QgcHJvY2VkdXJlcyBpbiB0ZXJtcyBvZiBjaGFyYWN0ZXJpc3RpY3MgdW5pcXVlIHRvIHRoZSBneXJvc2NvcGUgb3IgdGhvc2UgYXBwbGljYXRpb25zIGluIHdoaWNoIHRoZSBkeW5hbWljIGFuZ3VsYXIgaW5wdXRzIGFyZSBzaWduaWZpY2FudGx5IGdyZWF0ZXIgdGhhbiB0aGUgbGltaXRhdGlvbnMgaWRlbnRpZmllZCBpbiBJRUVFIFN0ZCA1MTcuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS81MjkvNzgxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MjktMTk4MC9Db3IgMS0yMDE3PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTdXBwbGVtZW50IGZvciBTdHJhcGRvd24gQXBwbGljYXRpb25zIHRvIElFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvcyAtIENvcnJpZ2VuZHVtIDE6IDMuMy45LjIuMiwgMy42LjQuMS4xLCAzLjYuNC4xLjIsIDYuMywgYW5kIDEwLjEwLjQuMTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+Q29ycmVjdGlvbnMgYXJlIG1hZGUgYnkgdGhpcyBjb3JyaWdlbmR1bSB0byBtYXRlcmlhbCBhbHJlYWR5IHB1Ymxpc2hlZCBpbiBJRUVFIFN0ZCA1MjktMTk4MC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzUyOS0xOTgwX0Nvcl8xLzU3ODAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY0Ny0yMDA2PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIFNpbmdsZS1BeGlzIExhc2VyIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5TcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtYXhpcyByaW5nIGxhc2VyIGd5cm8gKFJMRykgZm9yIHVzZSBhcyBhICBzZW5zb3IgaW4gYXR0aXR1ZGUgY29udHJvbCBzeXN0ZW1zLCBhbmd1bGFyIGRpc3BsYWNlbWVudCBtZWFzdXJpbmcgc3lzdGVtcywgYW5kIGFuZ3VsYXIgcmF0ZSAgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIEEgc3RhbmRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhICBzaW5nbGUtYXhpcyBSTEcgaXMgcHJvdmlkZWQuIEEgY29tcGlsYXRpb24gb2YgcmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhbiBSTEcsICBkZXJpdmVkIGZyb20gdGhvc2UgcHJlc2VudGx5IHVzZWQgaW4gdGhlIGluZHVzdHJ5LCBpcyBhbHNvIHByb3ZpZGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNjQ3LzMxMzQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY3MS0xOTg1PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIE5vbmd5cm9zY29waWMgSW5lcnRpYWwgQW5ndWxhciBTZW5zb3JzOiBKZXJrLCBBY2NlbGVyYXRpb24sIFZlbG9jaXR5LCBhbmQgRGlzcGxhY2VtZW50PC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIGd1aWRlIGlzIHByZXNlbnRlZCBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgc3BlY2lmaWNhdGlvbiBhbmQgdGVzdCBwcm9jZWR1cmUgZm9yIGFuIGluZXJ0aWFsIGFuZ3VsYXIgc2Vuc29yIHRoYXQgcHJvdmlkZXMgYSBjb21tb24gbWVldGluZyBncm91bmQgb2YgdGVybWlub2xvZ3kgYW5kIHByYWN0aWNlIGZvciBtYW51ZmFjdHVyZXJzIGFuZCB1c2VycyBvZiBhbiBhcnJheSBvZiBzZW5zb3JzIHRoYXQgaGF2ZSBiZWVuIGRldmVsb3BlZCB0byBtZWV0IG5lZWRzIG5vdCBlYXNpbHkgbWV0IGJ5IHRyYWRpdGlvbmFsIHNwaW5uaW5nLXJvdG9yIGd5cm9zY29wZXMuIEEgdGVzdCBwcm9jZWR1cmUgZm9yIHZlcmlmeWluZyB0aGF0IHRoZSBzcGVjaWZpY2F0aW9ucyBoYXZlIGJlZW4gbWV0IGlzIGdpdmVuLiBUaGUgc3RhbmRhcmQgaXMgbm90IGludGVuZGVkIHRvIGNvbXBldGUgd2l0aCBleGlzdGluZyBzdGFuZGFyZHMgZm9yIHNwZWNpZmljIGRldmljZXMgd2l0aCBoaWdobHkgc3BlY2lmaWMgbW9kZWxzIGFuZCBlcnJvciBzb3VyY2VzLCBzdWNoIGFzIHNwcmluZy1yZXN0cmFpbmVkIHJhdGUgZ3lyb3MsIGJ1dCB0byBwcm92aWRlIGEgdW5pZm9ybSBndWlkZSBmb3IgdGhvc2UgaW5lcnRpYWwgYW5ndWxhciBzZW5zb3JzIHRoYXQgaGF2ZSBub3QgYmVlbiBjb3ZlcmVkIGVsc2V3aGVyZS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzY3MS85MjYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY3MS0xOTg1L0NvciAxLTIwMTA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgTm9uZ3lyb3Njb3BpYyBJbmVydGlhbCBBbmd1bGFyIFNlbnNvcnM6IEplcmssIEFjY2VsZXJhdGlvbiwgVmVsb2NpdHksIGFuZCBEaXNwbGFjZW1lbnQgQ29ycmlnZW5kdW0gMTogNC43LjIuNiBTaG9ydC1UZXJtIFN0YWJpbGl0eSBhbmQgQW5uZXggQSBTZW5zb3IgRHluYW1pYyBCbG9jayBEaWFncmFtczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+SUVFRSBTdGQgNjcxLTE5ODUgcHJvdmlkZXMgc3BlY2lmaWNhdGlvbnMgYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIG5vbi1neXJvc2NvcGljIGluZXJ0aWFsIGFuZ3VsYXIgc2Vuc29yIHRoYXQgbWF5IG1lYXN1cmUgYW5ndWxhciBqZXJrLCBhY2NlbGVyYXRpb24sIHJhdGUsIG9yIGRpc3BsYWNlbWVudCB3aXRoIG9yIHdpdGhvdXQgcmVzcG9uc2UgZG93biB0byB6ZXJvIGZyZXF1ZW5jeS4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGZvcm1hdCBpcyBwcm92aWRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCB0ZXN0IHByb2NlZHVyZXMsIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuIEluZm9ybWF0aXZlIGFubmV4ZXMgY292ZXIgZGVzaWduIGZlYXR1cmVzIGFuZCB0aGVvcmV0aWNhbCBwcmluY2lwbGVzIG9mIG9wZXJhdGlvbi4gIFRoaXMgY29ycmlnZW5kdW0gbWFrZXMgY2hhbmdlcyB0byA0LjcuMi42IHRvIGRlbGV0ZSBhIHNlbnRlbmNlIHRoYXQgZG9lcyBub3QgYmVsb25nIHRoZXJlLCB0byBhZGQgYSBzdWJjbGF1c2UgdGhhdCB3YXMgaW5hZHZlcnRlbnRseSBsZWZ0IG91dCwgYW5kIHRvIHJlbnVtYmVyIHRoZSBleGlzdGluZyBzdWJjbGF1c2VzLiBDaGFuZ2VzIGFyZSBhbHNvIGJlaW5nIG1hZGUgdG8gZml4IHRoZSBibG9jayBkaWFncmFtcyBpbiBBbm5leCBBLCB0byBjb3JyZWN0IGEgbWlzc3BlbGxpbmcgb2YgaW5lcnRpYSwgYW5kIHRvIGFkZCBhIG1pc3Npbmcgc3ltYm9sLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNjcxLTE5ODVfQ29yXzEvNDY4MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+ODEzLTE5ODg8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgVHdvLURlZ3JlZS1vZi1GcmVlZG9tIER5bmFtaWNhbGx5IFR1bmVkIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgdHdvLWRlZ3JlZS1vZi1mcmVlZG9tIGR5bmFtaWNhbGx5IHR1bmVkIGd5cm8gKERURykgc3BlY2lmaWNhdGlvbiBpcyBnaXZlbiB0aGF0IHByb3ZpZGVzIGEgY29tbW9uIGdyb3VuZCBvZiB0ZXJtaW5vbG9neSBhbmQgcHJhY3RpY2UgZm9yIG1hbnVmYWN0dXJlcnMgYW5kIHVzZXJzLiBBIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSBEVEcgaXMgYWxzbyBnaXZlbi4gVGhlIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBwcm9jZWR1cmVzIGFyZSBkZWZpbmVkIGluIHRlcm1zIHVuaXF1ZSB0byB0aGUgRFRHLiBUaGV5IGNvdmVyIGFwcGxpY2F0aW9ucyBvZiB0aGUgZ3lybyBhcyBhbiBhbmd1bGFyIG1vdGlvbiBzZW5zb3IgaW4gbmF2aWdhdGlvbiBhbmQgY29udHJvbCBzeXN0ZW1zLiBUaGV5IGFwcGx5IHRvIHR3byBtb2RlcyBvZiB1c2U6ICgxKSBhcyBhIHN0cmFwLWRvd24gc2Vuc29yIGluIG9wZXJhdGluZyBlbnZpcm9ubWVudHMgdHlwaWNhbCBvZiBhaXJjcmFmdCBhbmQgbWlzc2lsZSBhcHBsaWNhdGlvbnMsIGFuZCAoMikgYXMgYSBzZW5zb3IgaW4gZ2ltYmFsbGVkIHBsYXRmb3JtIGFwcGxpY2F0aW9ucyBpbiB3aGljaCB0aGUgZHluYW1pYyBhbmd1bGFyIGlucHV0cyB0byB3aGljaCB0aGUgZ3lybyBpcyBzdWJqZWN0ZWQgYXJlIGJlbmlnbiByZWxhdGl2ZSB0byB0aGUgYWNjdXJhY3kgcmVxdWlyZWQuIEluIHRoZSBjYXNlIG9mIHRoZSBzdHJhcC1kb3duIERURywgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZXh0ZXJuYWwgY2FwdHVyZSBsb29wcyBhcmUgY29uc2lkZXJlZCB0byB0aGUgZXh0ZW50IG5lY2Vzc2FyeSB0byBkZWZpbmUgdGhlIGd5cm8gcGVyZm9ybWFuY2UuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS84MTMvMTIwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+ODM2LTIwMDk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFJlY29tbWVuZGVkIFByYWN0aWNlIGZvciBQcmVjaXNpb24gQ2VudHJpZnVnZSBUZXN0aW5nIG9mIExpbmVhciBBY2NlbGVyb21ldGVyczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhpcyByZWNvbW1lbmRlZCBwcmFjdGljZSBkZXNjcmliZXMgdGhlIGNvbmR1Y3QgYW5kIGFuYWx5c2lzIG9mIHByZWNpc2lvbiB0ZXN0cyB0aGF0IGFyZSB0byBiZSBwZXJmb3JtZWQgb24gbGluZWFyIGFjY2VsZXJvbWV0ZXJzIHVzaW5nIGNlbnRyaWZ1Z2UgdGVjaG5pcXVlcy4gVGhlIHRlcm0gdTIwMWNwcmVjaXNpb24sdTIwMWQgaW4gdGhpcyBjb250ZXh0LCByZWZlcnMgdG8gdGVzdHMgdGhhdCBhcmUgY29uZHVjdGVkIHRvIGV2YWx1YXRlIGFjY2VsZXJvbWV0ZXIgcGFyYW1ldGVycywgYXMgb3Bwb3NlZCB0byB0aG9zZSBjb25kdWN0ZWQgdG8gZXN0YWJsaXNoIGVudmlyb25tZW50YWwgc3Vydml2YWJpbGl0eSBvbmx5LiBFdmFsdWF0aW9uIG1heSB0YWtlIHRoZSBmb3JtIG9mIGRldGVybWluaW5nIHRoZSBjb2VmZmljaWVudHMgb2YgdGhlIGFjY2VsZXJvbWV0ZXIncyBtb2RlbCBlcXVhdGlvbiwgZXhjZXB0IGZvciBiaWFzIGFuZCBzY2FsZSBmYWN0b3IsIHdoaWNoIGFyZSBtb3N0IGFjY3VyYXRlbHkgZGV0ZXJtaW5lZCBieSBzdGF0aWMgbXVsdGktcG9zaXRpb24gdGVzdHMuIEFsdGVybmF0aXZlbHksIGV2YWx1YXRpb24gbWF5IG9ubHkgZXN0YWJsaXNoIHRoYXQgdGhlIGFjY2VsZXJvbWV0ZXIgb3V0cHV0IGNvbXBsaWVzIHdpdGggc3BlY2lmaWMgZXJyb3IgbGltaXQgY3JpdGVyaWEuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS84MzYvMzQ0OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctaW5hY3RpdmUtc3RhbmRhcmRzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctdGFiLWNvbnRlbnQgLnRhYi1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dvcmtpbmctZ3JvdXAtcHJvamVjdHMtc3RhbmRhcmRzIC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd29ya2luZy1ncm91cCAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jbWFpbi1jb250ZW50IC5jb2wtMTIgLmNvbC1sZy0xMCAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyNjb250ZW50IC0tPgo8L21haW4+CgogICAgPGZvb3Rlcj4KICAgICAgICA8c2VjdGlvbiBpZD0iZm9vdGVyLXRvcCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLXNtLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXItbG9nbyIgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvZ28tbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvIiB0aXRsZT0iVmlzaXQgSUVFRS5vcmciPjxpbWcgc3JjPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2ltZy9pZWVlLWxvZ28yeC5wbmciIGFsdD0iSUVFRSBsb2dvIj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jZm9vdGVyLWxvZ28gLmxvZ28gLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1zbS00IC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNvY2lhbC1tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBzb2NpYWwtbWVkaWEganVzdGlmeS1jb250ZW50LXNtLWVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC1mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2llZWVzYS8iIHRpdGxlPSJGYWNlYm9vayI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5GYWNlYm9vazwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLXR3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vaWVlZXNhIiB0aXRsZT0iVHdpdHRlciI+PGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIiPjwvaT4gPHNwYW4gY2xhc3M9InNyLW9ubHkiPlR3aXR0ZXI8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC1saW5rZWRpbiIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvaWVlZS1zYS1pZWVlLXN0YW5kYXJkcy1hc3NvY2lhdGlvbi8iIHRpdGxlPSJMaW5rZWRJbiI+PGkgY2xhc3M9ImZhIGZhLWxpbmtlZGluIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5MaW5rZWRJbjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLWluc3RhZ3JhbSIgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9pZWVlc2EvIiB0aXRsZT0iSW5zdGFncmFtIj48aSBjbGFzcz0iZmEgZmEtaW5zdGFncmFtIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5JbnN0YWdyYW08L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC15b3V0dWJlIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZWVlc2EiIHRpdGxlPSJZb3VUdWJlIj48aSBjbGFzcz0iZmEgZmEteW91dHViZSI+PC9pPiA8c3BhbiBjbGFzcz0ic3Itb25seSI+WW91VHViZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLnNvY2lhbC1tZWRpYSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzb2NpYWwtbWVkaWEgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1zbS04IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgICAgIDwvc2VjdGlvbj4gPCEtLSAvI2Zvb3Rlci10b3AgLS0+CgogICAgICAgIDxzZWN0aW9uIGlkPSJmb290ZXItd2lkZ2V0cyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+SUVFRSBTQTwvZGl2Pgo8ZGl2IGNsYXNzPSJtZW51LWZvb3Rlci1tZW51LWllZWUtc2EtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtaWVlZS1zYSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTg0MzciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODQzNyI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvIj5BYm91dCBVczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzcwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzAiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L21lbWJlcnNoaXAvIj5JRUVFIFNBIE1lbWJlcnNoaXA8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM3MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzcxIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9jb3JwY2hhbi8iPkNvcnBvcmF0ZSBQcm9ncmFtPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTk0MTgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tOTQxOCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvZGlzdHJpYi8iPkRpc3RyaWJ1dG9yIFByb2dyYW08L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM3MiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzcyIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC90cmFpbmluZy8iPlRyYWluaW5nICYjMDM4OyBEZXZlbG9wbWVudDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04NDM4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0MzgiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3BvbGljaWVzLyI+UG9saWNpZXMgJiMwMzg7IFByb2NlZHVyZXM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODQzOSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04NDM5Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9jb250YWN0LyI+Q29udGFjdCBVczwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02IGNvbC1tZC0zIj48IS0tIGJlZ2luIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0Ij48IS0tIGJlZ2luIHdpZGdldCAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5Cb2FyZCBvZiBHb3Zlcm5vcnM8L2Rpdj4KPGRpdiBjbGFzcz0ibWVudS1mb290ZXItbWVudS1ib2FyZC1vZi1nb3Zlcm5vcnMtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtYm9hcmQtb2YtZ292ZXJub3JzIiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODM2MyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzYzIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9ib2cvIj5BYm91dCBCb2FyZCBvZiBHb3Zlcm5vcnM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM2NCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzY0Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9ib2cvYXJjb20vIj5Bd2FyZHMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNjUiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM2NSI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvYm9nL2NhZy8iPkNvcnBvcmF0ZSBBZHZpc29yeSBHcm91cDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjYiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9pY2NvbS8iPkluZHVzdHJ5IENvbm5lY3Rpb25zIENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjciPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9yYWMvIj5SZWdpc3RyYXRpb24gQXV0aG9yaXR5IENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjgiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9zcGNjLyI+U3RyYXRlZ2ljIFBsYW5uaW5nIENvb3JkaW5hdGlvbiBDb21taXR0ZWU8L2E+PC9saT4KPC91bD48L2Rpdj48L2Rpdj4KPCEtLSBlbmQgd2lkZ2V0IC0tPgo8L2Rpdj48IS0tIGVuZCBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+U3RhbmRhcmRzIEJvYXJkPC9kaXY+CjxkaXYgY2xhc3M9Im1lbnUtZm9vdGVyLW1lbnUtc3RhbmRhcmRzLWJvYXJkLWNvbnRhaW5lciI+PHVsIGlkPSJtZW51LWZvb3Rlci1tZW51LXN0YW5kYXJkcy1ib2FyZCIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgzNzgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3OCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi8iPkFib3V0IFN0YW5kYXJkcyBCb2FyZDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04Mzc5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzkiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3Nhc2Ivc2JhLyI+Qm9hcmQgQXBwcm92YWxzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9hdWRjb20vIj5BdWRpdCBDb21taXR0ZWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM4MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzgxIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9zYXNiL25lc2NvbS8iPk5ldyBTdGFuZGFyZHMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MiI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9wYXRjb20vIj5QYXRlbnQgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MyI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9wcm9jb20vIj5Qcm9jZWR1cmVzIENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04Mzg0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzODQiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3Nhc2IvcmV2Y29tLyI+U3RhbmRhcmRzIFJldmlldyBDb21taXR0ZWU8L2E+PC9saT4KPC91bD48L2Rpdj48L2Rpdj4KPCEtLSBlbmQgd2lkZ2V0IC0tPgo8L2Rpdj48IS0tIGVuZCBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+TmV3cyAmIzAzODsgRXZlbnRzPC9kaXY+CjxkaXYgY2xhc3M9Im1lbnUtZm9vdGVyLW1lbnUtbmV3cy1ldmVudHMtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtbmV3cy1ldmVudHMiIGNsYXNzPSJtZW51Ij48bGkgaWQ9Im1lbnUtaXRlbS04NDQwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0NDAiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL25ld3MvIj5OZXdzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNzYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3NiI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvbmV3cy9zd2lyZS8iPklFRUUgU0EgTmV3c2xldHRlcjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04NDQxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0NDEiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2V2ZW50cy8iPkV2ZW50czwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KICAgICAgICA8L3NlY3Rpb24+IDwhLS0gLyNmb290ZXItd2lkZ2V0cyAtLT4KCiAgICAgICAgPHNlY3Rpb24gaWQ9ImZvb3Rlci1iYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBmb290ZXItYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iLyIgdGl0bGU9IkhvbWUiPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL3NpdGVtYXAvIiB0aXRsZT0iU2l0ZW1hcCI+U2l0ZW1hcDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9hYm91dC9jb250YWN0Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ29udGFjdCAmYW1wOyBTdXBwb3J0Ij5Db250YWN0ICZhbXA7IFN1cHBvcnQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvYWNjZXNzaWJpbGl0eS1zdGF0ZW1lbnQuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJBY2Nlc3NpYmlsaXR5Ij5BY2Nlc3NpYmlsaXR5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL2Fib3V0L2NvcnBvcmF0ZS9nb3Zlcm5hbmNlL3A5LTI2Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iTm9uZGlzY3JpbWluYXRpb24gUG9saWN5Ij5Ob25kaXNjcmltaW5hdGlvbiBQb2xpY3k8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly9zZWN1cmUuZXRoaWNzcG9pbnQuY29tL2RvbWFpbi9tZWRpYS9lbi9ndWkvMjA0MTAvaW5kZXguaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJRUVFIEV0aGljcyBSZXBvcnRpbmciPklFRUUgRXRoaWNzIFJlcG9ydGluZzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9zZWN1cml0eS1wcml2YWN5Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iSUVFRSBQcml2YWN5IFBvbGljeSI+SUVFRSBQcml2YWN5IFBvbGljeTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvaXByLyIgdGl0bGU9IklFRUUgU0EgQ29weXJpZ2h0IFBvbGljeSI+SUVFRSBTQSBDb3B5cmlnaHQgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLmZvb3RlciAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY29weXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZjb3B5OyBDb3B5cmlnaHQgPHNwYW4gaWQ9ImNvcHlyaWdodC15ZWFyIj4yMDIxPC9zcGFuPiBJRUVFICZuZGFzaDsgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIG9mIHRoaXMgd2Vic2l0ZSBzaWduaWZpZXMgeW91ciBhZ3JlZW1lbnQgdG8gdGhlIDxhIGNsYXNzPSJmb290ZXItbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvYWJvdXQvaGVscC9zaXRlLXRlcm1zLWNvbmRpdGlvbnMuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJRUVFIFRlcm1zIGFuZCBDb25kaXRpb25zIj5JRUVFIFRlcm1zIGFuZCBDb25kaXRpb25zPC9hPi48YnI+QSBub3QtZm9yLXByb2ZpdCBvcmdhbml6YXRpb24sIElFRUUgaXMgdGhlIHdvcmxkJnJzcXVvO3MgbGFyZ2VzdCB0ZWNobmljYWwgcHJvZmVzc2lvbmFsIG9yZ2FuaXphdGlvbiBkZWRpY2F0ZWQgdG8gYWR2YW5jaW5nIHRlY2hub2xvZ3kgZm9yIHRoZSBiZW5lZml0IG9mIGh1bWFuaXR5LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNjb3B5cmlnaHQgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICAgICAgPC9zZWN0aW9uPiA8IS0tIC8jZm9vdGVyLWJhciAtLT4KICAgIDwvZm9vdGVyPgoKICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc3Vic2NyaWJlIiB0eXBlPSJidXR0b24iIGRhdGEtYnMtdG9nZ2xlPSJvZmZjYW52YXMiIGRhdGEtYnMtdGFyZ2V0PSIjbmV3c2xldHRlci1zdWJzY3JpYmUiIGFyaWEtY29udHJvbHM9Im5ld3NsZXR0ZXItc3Vic2NyaWJlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sYWJlbD0iVG9nZ2xlIG5ld3NsZXR0ZXIgc3Vic2NyaWJlIGZvcm0iPlN1YnNjcmliZTwvYnV0dG9uPiA8IS0tIC8uYnRuIC5idG4tc3Vic2NyaWJlIC0tPgoKICAgIDxkaXYgaWQ9Im5ld3NsZXR0ZXItc3Vic2NyaWJlIiBjbGFzcz0ib2ZmY2FudmFzIG9mZmNhbnZhcy1lbmQiIGRhdGEtYnMtc2Nyb2xsPSJ0cnVlIiBkYXRhLWJzLWJhY2tkcm9wPSJ0cnVlIiB0YWJpbmRleD0iLTEiIGFyaWEtbGFiZWxsZWRieT0ibmV3c2xldHRlci1zdWJzY3JpYmUtdGl0bGUiPgogICAgICAgIDxkaXYgY2xhc3M9Im9mZmNhbnZhcy1oZWFkZXIiPgogICAgICAgICAgICA8aDUgY2xhc3M9ImgyIG9mZmNhbnZhcy10aXRsZSIgaWQ9Im5ld3NsZXR0ZXItc3Vic2NyaWJlLXRpdGxlIj5OZXdzd2lyZTwvaDU+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuLWNsb3NlIHRleHQtcmVzZXQiIGRhdGEtYnMtZGlzbWlzcz0ib2ZmY2FudmFzIiBhcmlhLWxhYmVsPSJDbG9zZSI+PC9idXR0b24+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5vZmZjYXZhcy1oZWFkZXIgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ib2ZmY2FudmFzLWJvZHkiPgogICAgICAgICAgICA8cD5TaWduIHVwIGZvciBvdXIgbW9udGhseSBuZXdzbGV0dGVyIHRvIGxlYXJuIGFib3V0IG5ldyBkZXZlbG9wbWVudHMsIGluY2x1ZGluZyByZXNvdXJjZXMsIGluc2lnaHRzIGFuZCBtb3JlLjwvcD4KICAgICAgICAgICAgPCEtLSBNYXJrZXRvIEZvcm0gLS0+CiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSIvL2FwcC1hYjI4Lm1hcmtldG8uY29tL2pzL2Zvcm1zMi9qcy9mb3JtczIubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAgICAgPGZvcm0gaWQ9Im1rdG9Gb3JtXzEwMjIiIGNsYXNzPSJtYXJrZXRvRm9ybSI+PC9mb3JtPgogICAgICAgICAgICA8c2NyaXB0Pk1rdG9Gb3JtczIubG9hZEZvcm0oIi8vYXBwLWFiMjgubWFya2V0by5jb20iLCAiMjExLUZZTC05NTUiLCAxMDIyKTs8L3NjcmlwdD4KICAgICAgICA8L2Rpdj4gPCEtLSAvLm9mZmNhdmFzLWJvZHkgLS0+CiAgICA8L2Rpdj4gPCEtLSAvI25ld3NsZXR0ZXItc3Vic2NyaWJlIC5vZmZjYW52YXMgLS0+CgoKICAgIDxkaXYgY2xhc3M9InNjcmVlbi1kYXJrZW4iPjwvZGl2PiA8IS0tIC8uc2NyZWVuLWRhcmtlbiAtLT4KCiAgIDwhLS0gPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0zLjYuMC5zbGltLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGEyNTYtdTdlNWtoeWl0aGxJZFRwdTIyUEhoRU5tUGNSZEZpSFJqaEF1SGNzMDVSST0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pi0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vYm9vdHN0cmFwQDUuMS4zL2Rpc3QvanMvYm9vdHN0cmFwLmJ1bmRsZS5taW4uanMiIGludGVncml0eT0ic2hhMzg0LWthN1NrMEdsbjRnbXR6Mk1sUW5pa1Qxd1hnWXNPZytPTWh1UCtJbFJIOXNFTkJPMExSbjVxKzhuYlRvdjQrMXAiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgLy8gb2ZmY2FudmFzIG1vYmlsZSBtZW51CiAgICAgICAgZnVuY3Rpb24gZGFya2VuX3NjcmVlbih5ZXNubykgewogICAgICAgICAgICBpZiggeWVzbm8gPT0gdHJ1ZSApIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JlZW4tZGFya2VuJykuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZih5ZXNubyA9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNjcmVlbi1kYXJrZW4nKS5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2xvc2Vfb2ZmY2FudmFzKCkgewogICAgICAgICAgICBkYXJrZW5fc2NyZWVuKGZhbHNlKTsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21vYmlsZS1tZW51LnNob3cnKS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnb2ZmY2FudmFzLWFjdGl2ZScpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2hvd19vZmZjYW52YXMob2ZmY2FudmFzX2lkKSB7CiAgICAgICAgICAgIGRhcmtlbl9zY3JlZW4odHJ1ZSk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9mZmNhbnZhc19pZCkuY2xhc3NMaXN0LmFkZCgnc2hvdycpOwogICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ29mZmNhbnZhcy1hY3RpdmUnKTsKICAgICAgICB9CgoKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAvLyBhZmZpeCBoZWFkZXIgdG8gdG9wIG9uIHNjcm9sbAogICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5zY3JvbGxZID4gNTApIHsKCiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcC1iYXInKS5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKTsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFzdGhlYWQnKS5jbGFzc0xpc3QuYWRkKCdmaXhlZC10b3AnKTsKCiAgICAgICAgICAgICAgICAgICAgLy8gYWRkIHBhZGRpbmcgdG9wIHRvIHNob3cgY29udGVudCBiZWhpbmQgbmF2YmFyCiAgICAgICAgICAgICAgICAgICAgbWFzdGhlYWRIZWlnaHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbWFzdGhlYWQnKS5vZmZzZXRIZWlnaHQ7CgogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1RvcCA9IG1hc3RoZWFkSGVpZ2h0ICsgJ3B4JzsKCiAgICAgICAgICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wLWJhcicpLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpOwogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXN0aGVhZCcpLmNsYXNzTGlzdC5yZW1vdmUoJ2ZpeGVkLXRvcCcpOwoKICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgcGFkZGluZyB0b3AgZnJvbSBib2R5CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nVG9wID0gJzAnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKCgoKICAgICAgICAgICAgLy8gb2ZmY2FudmFzIG1vYmlsZSBtZW51CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRyaWdnZXJdJykuZm9yRWFjaChmdW5jdGlvbihldmVyeWVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGxldCBvZmZjYW52YXNfaWQgPSBldmVyeWVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXRyaWdnZXInKTsKICAgICAgICAgICAgICAgIGV2ZXJ5ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHNob3dfb2ZmY2FudmFzKG9mZmNhbnZhc19pZCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYnRuLWNsb3NlJykuZm9yRWFjaChmdW5jdGlvbihldmVyeWJ1dHRvbikgewogICAgICAgICAgICAgICAgZXZlcnlidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIGNsb3NlX29mZmNhbnZhcygpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNjcmVlbi1kYXJrZW4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICAgICAgICBjbG9zZV9vZmZjYW52YXMoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgLy8gRE9NQ29udGVudExvYWRlZCBlbmQKCgoKICAgICAgICAvLyBkaXNwbGF5IGN1cnJlbnQgeWVhcgogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb3B5cmlnaHQteWVhcicpLmlubmVyVGV4dCA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKICAgIDwvc2NyaXB0PgoKICAgIAkJPHNjcmlwdD4KCQkoIGZ1bmN0aW9uICggYm9keSApIHsKCQkJJ3VzZSBzdHJpY3QnOwoJCQlib2R5LmNsYXNzTmFtZSA9IGJvZHkuY2xhc3NOYW1lLnJlcGxhY2UoIC9cYnRyaWJlLW5vLWpzXGIvLCAndHJpYmUtanMnICk7CgkJfSApKCBkb2N1bWVudC5ib2R5ICk7CgkJPC9zY3JpcHQ+CgkJPHNjcmlwdD4gLyogPCFbQ0RBVEFbICovdmFyIHRyaWJlX2wxMG5fZGF0YXRhYmxlcyA9IHsiYXJpYSI6eyJzb3J0X2FzY2VuZGluZyI6IjogYWN0aXZhdGUgdG8gc29ydCBjb2x1bW4gYXNjZW5kaW5nIiwic29ydF9kZXNjZW5kaW5nIjoiOiBhY3RpdmF0ZSB0byBzb3J0IGNvbHVtbiBkZXNjZW5kaW5nIn0sImxlbmd0aF9tZW51IjoiU2hvdyBfTUVOVV8gZW50cmllcyIsImVtcHR5X3RhYmxlIjoiTm8gZGF0YSBhdmFpbGFibGUgaW4gdGFibGUiLCJpbmZvIjoiU2hvd2luZyBfU1RBUlRfIHRvIF9FTkRfIG9mIF9UT1RBTF8gZW50cmllcyIsImluZm9fZW1wdHkiOiJTaG93aW5nIDAgdG8gMCBvZiAwIGVudHJpZXMiLCJpbmZvX2ZpbHRlcmVkIjoiKGZpbHRlcmVkIGZyb20gX01BWF8gdG90YWwgZW50cmllcykiLCJ6ZXJvX3JlY29yZHMiOiJObyBtYXRjaGluZyByZWNvcmRzIGZvdW5kIiwic2VhcmNoIjoiU2VhcmNoOiIsImFsbF9zZWxlY3RlZF90ZXh0IjoiQWxsIGl0ZW1zIG9uIHRoaXMgcGFnZSB3ZXJlIHNlbGVjdGVkLiAiLCJzZWxlY3RfYWxsX2xpbmsiOiJTZWxlY3QgYWxsIHBhZ2VzIiwiY2xlYXJfc2VsZWN0aW9uIjoiQ2xlYXIgU2VsZWN0aW9uLiIsInBhZ2luYXRpb24iOnsiYWxsIjoiQWxsIiwibmV4dCI6Ik5leHQiLCJwcmV2aW91cyI6IlByZXZpb3VzIn0sInNlbGVjdCI6eyJyb3dzIjp7IjAiOiIiLCJfIjoiOiBTZWxlY3RlZCAlZCByb3dzIiwiMSI6IjogU2VsZWN0ZWQgMSByb3cifX0sImRhdGVwaWNrZXIiOnsiZGF5TmFtZXMiOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSwiZGF5TmFtZXNTaG9ydCI6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSwiZGF5TmFtZXNNaW4iOlsiUyIsIk0iLCJUIiwiVyIsIlQiLCJGIiwiUyJdLCJtb250aE5hbWVzIjpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sIm1vbnRoTmFtZXNTaG9ydCI6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLCJtb250aE5hbWVzTWluIjpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLCJuZXh0VGV4dCI6Ik5leHQiLCJwcmV2VGV4dCI6IlByZXYiLCJjdXJyZW50VGV4dCI6IlRvZGF5IiwiY2xvc2VUZXh0IjoiRG9uZSIsInRvZGF5IjoiVG9kYXkiLCJjbGVhciI6IkNsZWFyIn19Oy8qIF1dPiAqLyA8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3BsdWdpbnMvcGFnZS1saW5rcy10by9kaXN0L25ldy10YWIuanM/dmVyPTMuMy42JyBpZD0ncGFnZS1saW5rcy10by1qcyc+PC9zY3JpcHQ+CgogICAgPC9ib2R5Pgo8L2h0bWw+Cg==
2540
- recorded_at: Fri, 27 May 2022 11:48:32 GMT
2538
+ CjwhZG9jdHlwZSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIiPgoKICAgIDwhLS0gZmllbGRzIGZvciBDbG91ZHNlYXJjaCAtLT4KPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9IklFRUUgU0EgLSBJRUVFIFN0YW5kYXJkIGZvciBJbmVydGlhbCBTZW5zb3IgVGVybWlub2xvZ3kiLz4KPG1ldGEgbmFtZT0idHlwZSIgY29udGVudD0iU3RhbmRhcmQiLz4KPG1ldGEgbmFtZT0idG9waWMiIGNvbnRlbnQ9IkFlcm9zcGFjZSBFbGVjdHJvbmljcyIvPgo8bWV0YSBuYW1lPSJjYXRlZ29yeSIgY29udGVudD0iIi8+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vuc29ycyBhcmUgcHJlc2VudGVkIGluIHRoaXMgc3RhbmRhcmQuIFVzYWdlIGFzIHVuZGVyc3Rvb2QgYnkgdGhlIGluZXJ0aWFsIHNlbnNvciBjb21tdW5pdHkgaXMgZ2l2ZW4gcHJlZmVyZW5jZSBvdmVyIGdlbmVyYWwgdGVjaG5pY2FsIHVzYWdlIG9mIHRoZSB0ZXJtcyBoZXJlaW4uIFRoZSBjcml0ZXJpb24gZm9yIGluY2x1c2lvbiBvZiBhIHRlcm0gYW5kIGl0cyBkZWZpbml0aW9uIGluIHRoaXMgc3RhbmRhcmQgaXMgdXNlZnVsbmVzcyBhcyByZWxhdGVkIHRvIGluZXJ0aWFsIHNlbnNvciB0ZWNobm9sb2d5LiIvPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iQWVyb3NwYWNlIEVsZWN0cm9uaWNzIi8+CjwhLS0gUHJvamVjdHMvU3RhbmRhcmRzIC0tPgo8bWV0YSBuYW1lPSJTb2NpZXR5IiBjb250ZW50PSJJRUVFIEFlcm9zcGFjZSBhbmQgRWxlY3Ryb25pYyBTeXN0ZW1zIFNvY2lldHkiLz4KPG1ldGEgbmFtZT0iU3RkUmVjTm8iIGNvbnRlbnQ9IjcyOTIiLz4KPG1ldGEgbmFtZT0iU3RhdHVzIiBjb250ZW50PSJBY3RpdmUgU3RhbmRhcmQiLz4KPG1ldGEgbmFtZT0iZGVzaWduYXRpb24iIGNvbnRlbnQ9IklFRUUgNTI4LTIwMTkiLz4KCiAgICAKICAgIDx0aXRsZT5JRUVFIFNBIC0gSUVFRSA1MjgtMjAxOTwvdGl0bGU+CgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWVfZmF2aWNvbi5pY28iPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWVfYXBwbGVfdG91Y2hfaWNvbi5wbmciPgoKICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzEsNDAwOzEsNjAwOzEsNzAwJmRpc3BsYXk9c3dhcCIKICAgICAgICAgIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CiAgICA8c2NyaXB0PihmdW5jdGlvbih3LGQscyxsLGkpe3dbbF09d1tsXXx8W107d1tsXS5wdXNoKHsnZ3RtLnN0YXJ0JzoKICAgICAgICAgICAgICAgIG5ldyBEYXRlKCkuZ2V0VGltZSgpLGV2ZW50OidndG0uanMnfSk7dmFyIGY9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXSwKICAgICAgICAgICAgaj1kLmNyZWF0ZUVsZW1lbnQocyksZGw9bCE9J2RhdGFMYXllcic/JyZsPScrbDonJztqLmFzeW5jPXRydWU7ai5zcmM9CiAgICAgICAgICAgICdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9JytpK2RsO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaixmKTsKICAgICAgICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJ2RhdGFMYXllcicsJ0dUTS1NUjhUODQzJyk7PC9zY3JpcHQ+CiAgICA8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8va2l0LmZvbnRhd2Vzb21lLmNvbS8yZDc0ZjI4MmY2LmpzIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KCiAgICA8bGluayBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjEuMy9kaXN0L2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IgogICAgICAgICAgaW50ZWdyaXR5PSJzaGEzODQtMUJtRTRrV0JxNzhpWWhGbGR2S3VoZlRBVTZhdVU4dFQ5NFdySGZ0akRickNFWFNVMW9Cb3F5bDJRdlo2aklXMyIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+CiAgICA8bGluayBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL3N0eWxlLmNzcz90aW1lPTIwMjIwNTE2IiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL2llZWVzaHV0cGFnZXMvZ2Rwci9zZXR0aW5ncy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIgogICAgICAgICAgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvY29va2llY29uc2VudDIvMy4wLjMvY29va2llY29uc2VudC5taW4uY3NzIi8+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvY29va2llY29uc2VudDIvMy4wLjMvY29va2llY29uc2VudC5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHdpbmRvdy5jb29raWVjb25zZW50LmluaXRpYWxpc2UoanNvbikKICAgICAgICB9KTsKICAgIDwvc2NyaXB0PgoKICAgIDxtZXRhIG5hbWU9J3JvYm90cycgY29udGVudD0naW5kZXgsIGZvbGxvdywgbWF4LWltYWdlLXByZXZpZXc6bGFyZ2UsIG1heC1zbmlwcGV0Oi0xLCBtYXgtdmlkZW8tcHJldmlldzotMScgLz4KCgk8IS0tIFRoaXMgc2l0ZSBpcyBvcHRpbWl6ZWQgd2l0aCB0aGUgWW9hc3QgU0VPIHBsdWdpbiB2MTkuMSAtIGh0dHBzOi8veW9hc3QuY29tL3dvcmRwcmVzcy9wbHVnaW5zL3Nlby8gLS0+Cgk8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJlbl9VUyIgLz4KCTxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIiAvPgoJPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iSUVFRSBTdGFuZGFyZHMgQXNzb2NpYXRpb24iIC8+Cgk8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiIC8+Cgk8bWV0YSBuYW1lPSJ0d2l0dGVyOnNpdGUiIGNvbnRlbnQ9IkBJRUVFU0EiIC8+Cgk8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iIGNsYXNzPSJ5b2FzdC1zY2hlbWEtZ3JhcGgiPnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAZ3JhcGgiOlt7IkB0eXBlIjoiT3JnYW5pemF0aW9uIiwiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI29yZ2FuaXphdGlvbiIsIm5hbWUiOiJJRUVFIFNBIiwidXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvIiwic2FtZUFzIjpbImh0dHBzOi8vdHdpdHRlci5jb20vSUVFRVNBIl0sImxvZ28iOnsiQHR5cGUiOiJJbWFnZU9iamVjdCIsImluTGFuZ3VhZ2UiOiJlbi1VUyIsIkBpZCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyMvc2NoZW1hL2xvZ28vaW1hZ2UvIiwidXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC91cGxvYWRzL2ltcG9ydC9pZWVlc2EtbG9nby5wbmciLCJjb250ZW50VXJsIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC91cGxvYWRzL2ltcG9ydC9pZWVlc2EtbG9nby5wbmciLCJ3aWR0aCI6NzIwLCJoZWlnaHQiOjQzMiwiY2FwdGlvbiI6IklFRUUgU0EifSwiaW1hZ2UiOnsiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvIy9zY2hlbWEvbG9nby9pbWFnZS8ifX0seyJAdHlwZSI6IldlYlNpdGUiLCJAaWQiOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8jd2Vic2l0ZSIsInVybCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyIsIm5hbWUiOiJJRUVFIFN0YW5kYXJkcyBBc3NvY2lhdGlvbiIsImRlc2NyaXB0aW9uIjoiIiwicHVibGlzaGVyIjp7IkBpZCI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLyNvcmdhbml6YXRpb24ifSwicG90ZW50aWFsQWN0aW9uIjpbeyJAdHlwZSI6IlNlYXJjaEFjdGlvbiIsInRhcmdldCI6eyJAdHlwZSI6IkVudHJ5UG9pbnQiLCJ1cmxUZW1wbGF0ZSI6Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnLz9zPXtzZWFyY2hfdGVybV9zdHJpbmd9In0sInF1ZXJ5LWlucHV0IjoicmVxdWlyZWQgbmFtZT1zZWFyY2hfdGVybV9zdHJpbmcifV0sImluTGFuZ3VhZ2UiOiJlbi1VUyJ9LHsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjoiI3dlYnBhZ2UiLCJ1cmwiOiIiLCJuYW1lIjoiIiwiaXNQYXJ0T2YiOnsiQGlkIjoiaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvI3dlYnNpdGUifSwiYnJlYWRjcnVtYiI6eyJAaWQiOiIjYnJlYWRjcnVtYiJ9LCJpbkxhbmd1YWdlIjoiZW4tVVMiLCJwb3RlbnRpYWxBY3Rpb24iOlt7IkB0eXBlIjoiUmVhZEFjdGlvbiIsInRhcmdldCI6WyIiXX1dfSx7IkB0eXBlIjoiQnJlYWRjcnVtYkxpc3QiLCJAaWQiOiIjYnJlYWRjcnVtYiIsIml0ZW1MaXN0RWxlbWVudCI6W3siQHR5cGUiOiJMaXN0SXRlbSIsInBvc2l0aW9uIjoxLCJuYW1lIjoiSG9tZSIsIml0ZW0iOiJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8ifSx7IkB0eXBlIjoiTGlzdEl0ZW0iLCJwb3NpdGlvbiI6MiwibmFtZSI6IiJ9XX1dfTwvc2NyaXB0PgoJPCEtLSAvIFlvYXN0IFNFTyBwbHVnaW4uIC0tPgoKCjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL3Mudy5vcmcnIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4Kd2luZG93Ll93cGVtb2ppU2V0dGluZ3MgPSB7ImJhc2VVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTQuMC4wXC83Mng3MlwvIiwiZXh0IjoiLnBuZyIsInN2Z1VybCI6Imh0dHBzOlwvXC9zLncub3JnXC9pbWFnZXNcL2NvcmVcL2Vtb2ppXC8xNC4wLjBcL3N2Z1wvIiwic3ZnRXh0IjoiLnN2ZyIsInNvdXJjZSI6eyJjb25jYXRlbW9qaSI6Imh0dHBzOlwvXC9zdGFuZGFyZHMuaWVlZS5vcmdcL3dwLWluY2x1ZGVzXC9qc1wvd3AtZW1vamktcmVsZWFzZS5taW4uanM/dmVyPTYuMCJ9fTsKLyohIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCAqLwohZnVuY3Rpb24oZSxhLHQpe3ZhciBuLHIsbyxpPWEuY3JlYXRlRWxlbWVudCgiY2FudmFzIikscD1pLmdldENvbnRleHQmJmkuZ2V0Q29udGV4dCgiMmQiKTtmdW5jdGlvbiBzKGUsdCl7dmFyIGE9U3RyaW5nLmZyb21DaGFyQ29kZSxlPShwLmNsZWFyUmVjdCgwLDAsaS53aWR0aCxpLmhlaWdodCkscC5maWxsVGV4dChhLmFwcGx5KHRoaXMsZSksMCwwKSxpLnRvRGF0YVVSTCgpKTtyZXR1cm4gcC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpLHAuZmlsbFRleHQoYS5hcHBseSh0aGlzLHQpLDAsMCksZT09PWkudG9EYXRhVVJMKCl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1hLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Quc3JjPWUsdC5kZWZlcj10LnR5cGU9InRleHQvamF2YXNjcmlwdCIsYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHQpfWZvcihvPUFycmF5KCJmbGFnIiwiZW1vamkiKSx0LnN1cHBvcnRzPXtldmVyeXRoaW5nOiEwLGV2ZXJ5dGhpbmdFeGNlcHRGbGFnOiEwfSxyPTA7cjxvLmxlbmd0aDtyKyspdC5zdXBwb3J0c1tvW3JdXT1mdW5jdGlvbihlKXtpZighcHx8IXAuZmlsbFRleHQpcmV0dXJuITE7c3dpdGNoKHAudGV4dEJhc2VsaW5lPSJ0b3AiLHAuZm9udD0iNjAwIDMycHggQXJpYWwiLGUpe2Nhc2UiZmxhZyI6cmV0dXJuIHMoWzEyNzk4Nyw2NTAzOSw4MjA1LDk4OTUsNjUwMzldLFsxMjc5ODcsNjUwMzksODIwMyw5ODk1LDY1MDM5XSk/ITE6IXMoWzU1MzU2LDU2ODI2LDU1MzU2LDU2ODE5XSxbNTUzNTYsNTY4MjYsODIwMyw1NTM1Niw1NjgxOV0pJiYhcyhbNTUzNTYsNTczMzIsNTYxMjgsNTY0MjMsNTYxMjgsNTY0MTgsNTYxMjgsNTY0MjEsNTYxMjgsNTY0MzAsNTYxMjgsNTY0MjMsNTYxMjgsNTY0NDddLFs1NTM1Niw1NzMzMiw4MjAzLDU2MTI4LDU2NDIzLDgyMDMsNTYxMjgsNTY0MTgsODIwMyw1NjEyOCw1NjQyMSw4MjAzLDU2MTI4LDU2NDMwLDgyMDMsNTYxMjgsNTY0MjMsODIwMyw1NjEyOCw1NjQ0N10pO2Nhc2UiZW1vamkiOnJldHVybiFzKFsxMjk3NzcsMTI3OTk1LDgyMDUsMTI5Nzc4LDEyNzk5OV0sWzEyOTc3NywxMjc5OTUsODIwMywxMjk3NzgsMTI3OTk5XSl9cmV0dXJuITF9KG9bcl0pLHQuc3VwcG9ydHMuZXZlcnl0aGluZz10LnN1cHBvcnRzLmV2ZXJ5dGhpbmcmJnQuc3VwcG9ydHNbb1tyXV0sImZsYWciIT09b1tyXSYmKHQuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9dC5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmdC5zdXBwb3J0c1tvW3JdXSk7dC5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz10LnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiYhdC5zdXBwb3J0cy5mbGFnLHQuRE9NUmVhZHk9ITEsdC5yZWFkeUNhbGxiYWNrPWZ1bmN0aW9uKCl7dC5ET01SZWFkeT0hMH0sdC5zdXBwb3J0cy5ldmVyeXRoaW5nfHwobj1mdW5jdGlvbigpe3QucmVhZHlDYWxsYmFjaygpfSxhLmFkZEV2ZW50TGlzdGVuZXI/KGEuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbiwhMSksZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuLCExKSk6KGUuYXR0YWNoRXZlbnQoIm9ubG9hZCIsbiksYS5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbigpeyJjb21wbGV0ZSI9PT1hLnJlYWR5U3RhdGUmJnQucmVhZHlDYWxsYmFjaygpfSkpLChlPXQuc291cmNlfHx7fSkuY29uY2F0ZW1vamk/YyhlLmNvbmNhdGVtb2ppKTplLndwZW1vamkmJmUudHdlbW9qaSYmKGMoZS50d2Vtb2ppKSxjKGUud3BlbW9qaSkpKX0od2luZG93LGRvY3VtZW50LHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsKPC9zY3JpcHQ+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmltZy53cC1zbWlsZXksCmltZy5lbW9qaSB7CglkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKCWJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwoJYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwoJaGVpZ2h0OiAxZW0gIWltcG9ydGFudDsKCXdpZHRoOiAxZW0gIWltcG9ydGFudDsKCW1hcmdpbjogMCAwLjA3ZW0gIWltcG9ydGFudDsKCXZlcnRpY2FsLWFsaWduOiAtMC4xZW0gIWltcG9ydGFudDsKCWJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKCXBhZGRpbmc6IDAgIWltcG9ydGFudDsKfQo8L3N0eWxlPgoJPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ndHJpYmUtZXZlbnRzLXByby1taW5pLWNhbGVuZGFyLWJsb2NrLXN0eWxlcy1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3BsdWdpbnMvZXZlbnRzLWNhbGVuZGFyLXByby9zcmMvcmVzb3VyY2VzL2Nzcy90cmliZS1ldmVudHMtcHJvLW1pbmktY2FsZW5kYXItYmxvY2subWluLmNzcz92ZXI9NS4xNC4yLjEnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3cC1ibG9jay1saWJyYXJ5LWNzcycgIGhyZWY9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWluY2x1ZGVzL2Nzcy9kaXN0L2Jsb2NrLWxpYnJhcnkvc3R5bGUubWluLmNzcz92ZXI9Ni4wJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnIHR5cGU9J3RleHQvY3NzJz4KYm9keXstLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjazogIzAwMDAwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5OiAjYWJiOGMzOy0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOy0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluazogI2Y3OGRhNzstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQ6ICNjZjJlMmU7LS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOy0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyOiAjZmNiOTAwOy0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW46ICM3YmRjYjU7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDstLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZTogIzhlZDFmYzstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWU6ICMwNjkzZTM7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSg2LDE0NywyMjcsMSkgMCUscmdiKDE1NSw4MSwyMjQpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMTIyLDIyMCwxODApIDAlLHJnYigwLDIwOCwxMzApIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2JhKDI1MiwxODUsMCwxKSAwJSxyZ2JhKDI1NSwxMDUsMCwxKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMjU1LDEwNSwwLDEpIDAlLHJnYigyMDcsNDYsNDYpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyMzgsMjM4LDIzOCkgMCUscmdiKDE2OSwxODQsMTk1KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW06IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDc0LDIzNCwyMjApIDAlLHJnYigxNTEsMTIwLDIwOSkgMjAlLHJnYigyMDcsNDIsMTg2KSA0MCUscmdiKDIzOCw0NCwxMzApIDYwJSxyZ2IoMjUxLDEwNSw5OCkgODAlLHJnYigyNTQsMjQ4LDc2KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyMDYsMjM2KSAwJSxyZ2IoMTUyLDE1MCwyNDApIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTQsMjA1LDE2NSkgMCUscmdiKDI1NCw0NSw0NSkgNTAlLHJnYigxMDcsMCw2MikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtZHVzazogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDIwMywxMTIpIDAlLHJnYigxOTksODEsMTkyKSA1MCUscmdiKDY1LDg4LDIwOCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDI0NSwyMDMpIDAlLHJnYigxODIsMjI3LDIxMikgNTAlLHJnYig1MSwxNjcsMTgxKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjAyLDI0OCwxMjgpIDAlLHJnYigxMTMsMjA2LDEyNikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbWlkbmlnaHQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDIsMywxMjkpIDAlLHJnYig0MCwxMTYsMjUyKSAxMDAlKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWRhcmstZ3JheXNjYWxlOiB1cmwoJyN3cC1kdW90b25lLWRhcmstZ3JheXNjYWxlJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUteWVsbG93OiB1cmwoJyN3cC1kdW90b25lLXB1cnBsZS15ZWxsb3cnKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtcmVkOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtcmVkJyk7LS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOy0td3AtLXByZXNldC0tZHVvdG9uZS0tbWFnZW50YS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtbWFnZW50YS15ZWxsb3cnKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS1ncmVlbjogdXJsKCcjd3AtZHVvdG9uZS1wdXJwbGUtZ3JlZW4nKTstLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsOiAxM3B4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW06IDIwcHg7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlOiA0MnB4O30uaGFzLWJsYWNrLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7fS5oYXMtY3lhbi1ibHVpc2gtZ3JheS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDt9Lmhhcy1wYWxlLXBpbmstY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcmVkLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtY3lhbi1ibHVlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDt9Lmhhcy1jeWFuLWJsdWlzaC1ncmF5LWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1waW5rLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1yZWQtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1wYWxlLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtYmxhY2stYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50O30uaGFzLWN5YW4tYmx1aXNoLWdyYXktYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtd2hpdGUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtcGluay1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXJlZC1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1jeWFuLWJsdWUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdml2aWQtY3lhbi1ibHVlLXRvLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4tZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbGlnaHQtZ3JlZW4tY3lhbi10by12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkKSAhaW1wb3J0YW50O30uaGFzLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7fS5oYXMtYmx1c2gtbGlnaHQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWxpZ2h0LXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibHVzaC1ib3JkZWF1eC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1ib3JkZWF1eCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1vY2Vhbi1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1wYWxlLW9jZWFuKSAhaW1wb3J0YW50O30uaGFzLWVsZWN0cmljLWdyYXNzLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWVsZWN0cmljLWdyYXNzKSAhaW1wb3J0YW50O30uaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50O30uaGFzLXNtYWxsLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGwpICFpbXBvcnRhbnQ7fS5oYXMtbWVkaXVtLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtKSAhaW1wb3J0YW50O30uaGFzLWxhcmdlLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7fS5oYXMteC1sYXJnZS1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2UpICFpbXBvcnRhbnQ7fQo8L3N0eWxlPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWNzcy1jc3MnICBocmVmPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvY2xvdWRzZWFyY2gvY3NzL2llZWUtY2xvdWRzZWFyY2guY3NzP3RpbWU9MjAyMjAxMjYmIzAzODt2ZXI9Ni4wJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0naWVlZS13aWRnZXQtY3NzLWNzcycgIGhyZWY9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaWVlZS1zYS93aWRnZXRzL2Nzcy93aWRnZXRzLmNzcz90aW1lPTIwMjIwMTI2JiMwMzg7dmVyPTYuMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2F1cm9yYS1oZWF0bWFwLWNzcycgIGhyZWY9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy9hdXJvcmEtaGVhdG1hcC9zdHlsZS5jc3M/dmVyPTEuNS40JyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4wJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvanF1ZXJ5LW1pZ3JhdGUubWluLmpzP3Zlcj0zLjMuMicgaWQ9J2pxdWVyeS1taWdyYXRlLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWpzLWpzLWV4dHJhJz4KLyogPCFbQ0RBVEFbICovCnZhciBpZWVlX2FqYXhfb2JqZWN0ID0geyJhamF4X3VybCI6Imh0dHBzOlwvXC9zdGFuZGFyZHMuaWVlZS5vcmdcL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaWVlZS1zYS9jbG91ZHNlYXJjaC9qcy9pZWVlLWNsb3Vkc2VhcmNoLmpzP3RpbWU9MTY1NTM3MTgzOCYjMDM4O3Zlcj02LjAnIGlkPSdpZWVlLWNsb3Vkc2VhcmNoLWpzLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL3dpZGdldHMvanMvaWVlZS13aWRnZXRzLmpzP3RpbWU9MjAyMjAyMDM1JiMwMzg7dmVyPTYuMCcgaWQ9J2llZWUtd2lkZ2V0LWpzLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGlkPSdpZWVlLXNhLXNjcmlwdHMtanMtZXh0cmEnPgovKiA8IVtDREFUQVsgKi8KdmFyIGllZWVfYWpheF9vYmplY3QgPSB7ImFqYXhfdXJsIjoiaHR0cHM6XC9cL3N0YW5kYXJkcy5pZWVlLm9yZ1wvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pZWVlLXNhL2pzL2llZWUtc2EuanM/dGltZT0yMDIyMDMxMiYjMDM4O3Zlcj02LjAnIGlkPSdpZWVlLXNhLXNjcmlwdHMtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2llZWUtc2EvanMvbWFya2V0by5qcz92ZXI9Ni4wJyBpZD0naWVlZS1tYXJrZXRvLWpzJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC9wbHVnaW5zL2F1cm9yYS1oZWF0bWFwL2pzL21vYmlsZS1kZXRlY3QubWluLmpzP3Zlcj0xLjQuNCcgaWQ9J21vYmlsZS1kZXRlY3QtanMnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J2F1cm9yYS1oZWF0bWFwLXJlcG9ydGVyLWpzLWV4dHJhJz4KLyogPCFbQ0RBVEFbICovCnZhciBhdXJvcmFfaGVhdG1hcF9yZXBvcnRlciA9IHsiYWpheF91cmwiOiJodHRwczpcL1wvc3RhbmRhcmRzLmllZWUub3JnXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJhY3Rpb24iOiJhdXJvcmFfaGVhdG1hcCIsImludGVydmFsIjoiMTAiLCJzdGFja3MiOiIxMCIsInJlcG9ydHMiOiJjbGlja19wYyxjbGlja19tb2JpbGUiLCJkZWJ1ZyI6IjAiLCJhamF4X2RlbGF5X3RpbWUiOiIzMDAwIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC9wbHVnaW5zL2F1cm9yYS1oZWF0bWFwL2pzL3JlcG9ydGVyLmpzP3Zlcj0xLjUuNCcgaWQ9J2F1cm9yYS1oZWF0bWFwLXJlcG9ydGVyLWpzJz48L3NjcmlwdD4KPGxpbmsgcmVsPSJodHRwczovL2FwaS53Lm9yZy8iIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWpzb24vIiAvPjxsaW5rIHJlbD0iRWRpdFVSSSIgdHlwZT0iYXBwbGljYXRpb24vcnNkK3htbCIgdGl0bGU9IlJTRCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcveG1scnBjLnBocD9yc2QiIC8+CjxsaW5rIHJlbD0id2x3bWFuaWZlc3QiIHR5cGU9ImFwcGxpY2F0aW9uL3dsd21hbmlmZXN0K3htbCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtaW5jbHVkZXMvd2x3bWFuaWZlc3QueG1sIiAvPiAKPG1ldGEgbmFtZT0idGVjLWFwaS12ZXJzaW9uIiBjb250ZW50PSJ2MSI+PG1ldGEgbmFtZT0idGVjLWFwaS1vcmlnaW4iIGNvbnRlbnQ9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnIj48bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtanNvbi90cmliZS9ldmVudHMvdjEvIiAvPgoJCTxzY3JpcHQ+CgkJKGZ1bmN0aW9uKGgsbyx0LGosYSxyKXsKCQkJaC5oaj1oLmhqfHxmdW5jdGlvbigpeyhoLmhqLnE9aC5oai5xfHxbXSkucHVzaChhcmd1bWVudHMpfTsKCQkJaC5faGpTZXR0aW5ncz17aGppZDoyOTE2NzcyLGhqc3Y6NX07CgkJCWE9by5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdOwoJCQlyPW8uY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7ci5hc3luYz0xOwoJCQlyLnNyYz10K2guX2hqU2V0dGluZ3MuaGppZCtqK2guX2hqU2V0dGluZ3MuaGpzdjsKCQkJYS5hcHBlbmRDaGlsZChyKTsKCQl9KSh3aW5kb3csZG9jdW1lbnQsJy8vc3RhdGljLmhvdGphci5jb20vYy9ob3RqYXItJywnLmpzP3N2PScpOwoJCTwvc2NyaXB0PgoJCTxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iUG93ZXJlZCBieSBXUEJha2VyeSBQYWdlIEJ1aWxkZXIgLSBkcmFnIGFuZCBkcm9wIHBhZ2UgYnVpbGRlciBmb3IgV29yZFByZXNzLiIvPgo8bm9zY3JpcHQ+PHN0eWxlPiAud3BiX2FuaW1hdGVfd2hlbl9hbG1vc3RfdmlzaWJsZSB7IG9wYWNpdHk6IDE7IH08L3N0eWxlPjwvbm9zY3JpcHQ+Cgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJibG9nIHRyaWJlLW5vLWpzIHdwYi1qcy1jb21wb3NlciBqcy1jb21wLXZlci02LjkuMCB2Y19yZXNwb25zaXZlIiA+CjwhLS0gR29vZ2xlIFRhZyBNYW5hZ2VyIChub3NjcmlwdCkgLS0+Cjxub3NjcmlwdD48aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vbnMuaHRtbD9pZD1HVE0tTVI4VDg0MyIgaGVpZ2h0PSIwIiB3aWR0aD0iMCIgc3R5bGU9ImRpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbiI+PC9pZnJhbWU+PC9ub3NjcmlwdD4KPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIChub3NjcmlwdCkgLS0+CjxoZWFkZXI+CiAgICA8c2VjdGlvbiBpZD0idG9wLWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMCBkLW5vbmUgZC1tZC1ibG9jayIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgdG9wLWJhciB0b3AtYmFyLWxlZnQiIGFyaWEtbGFiZWw9Ikdsb2JhbCBsZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRS5vcmciPjxpIGNsYXNzPSJuYXYtaWNvbiBmYSBmYS1ob21lIj48L2k+SUVFRS5vcmc8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL2llZWV4cGxvcmUuaWVlZS5vcmcvWHBsb3JlL2hvbWUuanNwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IklFRUUgWHBsb3JlIERpZ2l0YWwgTGlicmFyeSI+SUVFRSA8ZW0+WHBsb3JlPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaWdpdGFsIExpYnJhcnk8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRSBTdGFuZGFyZHMiPklFRUUgU3RhbmRhcmRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly9zcGVjdHJ1bS5pZWVlLm9yZy8iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSUVFRSBTcGVjdHJ1bSI+SUVFRSBTcGVjdHJ1bTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL3NpdGVtYXAuaHRtbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJNb3JlIFNpdGVzIj5Nb3JlIFNpdGVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4gPCEtLSAvLm5hdiAudG9wLWJhci1sZWZ0IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTAgLmQtbm9uZSAuZC1tZC1ibG9jayAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0yIGQtbm9uZSBkLW1kLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiB0b3AtYmFyIHRvcC1iYXItcmlnaHQiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ikdsb2JhbCByaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL2RldmVsb3AvZXRvb2xzLyIgdGl0bGU9ImVUb29scyI+ZVRvb2xzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLnRvcC1iYXItcmlnaHQgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbC0yIC5kLW5vbmUgLmQtbWQtYmxvY2sgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgPC9zZWN0aW9uPiA8IS0tIC8jdG9wLWJhciAtLT4KCiAgICA8c2VjdGlvbiBpZD0ibWFzdGhlYWQiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwcmltYXJ5LWxvZ28iIGNsYXNzPSJsb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvZ28tbGluayIgaHJlZj0iLyIgdGl0bGU9IklFRUUgU3RhbmRhcmRzIEFzc29jaWF0aW9uIj48aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvd3AtY29udGVudC90aGVtZXMvaWVlZS1zYS10aGVtZS9pbWcvaWVlZS1zYS1sb2dvMngucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IklFRUUgU3RhbmRhcmRzIEFzc29jaWF0aW9uIGxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3ByaW1hcnktbG9nbyAubG9nbyAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29sLTEyIC5jb2wtc20tNiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGQtbm9uZSBkLXNtLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZWNvbmRhcnktbG9nbyIgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibG9nby1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy8iIHRpdGxlPSJWaXNpdCBJRUVFLm9yZyI+PGltZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3dwLWNvbnRlbnQvdGhlbWVzL2llZWUtc2EtdGhlbWUvaW1nL2llZWUtbG9nbzJ4LnBuZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJJRUVFIGxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3NlY29uZGFyeS1sb2dvIC5sb2dvIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtNiAuZC1ub25lIC5kLW1kLWJsb2NrIC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCiAgICAgICAgPCEtLQoKCi0tPgoKPG5hdiBpZD0ibWFpbi1uYXYiIGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBuYXZiYXItbGlnaHQiIGFyaWEtbGFiZWw9Ik1haW4iPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXZiYXItdG9nZ2xlciIgdHlwZT0iYnV0dG9uIiBkYXRhLXRyaWdnZXI9Im1vYmlsZS1tZW51IiBhcmlhLWNvbnRyb2xzPSJtb2JpbGUtbWVudSIKICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWxhYmVsPSJUb2dnbGUgbmF2aWdhdGlvbiI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYXZiYXItdG9nZ2xlci1pY29uIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L3NwYW4+CiAgICAgICAgPC9idXR0b24+CiAgICAgICAgPGRpdiBpZD0ibW9iaWxlLW1lbnUiIGNsYXNzPSJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bi1jbG9zZSBtb2JpbGUtbWVudSIgYXJpYS1sYWJlbD0iY2xvc2UiPjwvYnV0dG9uPgogICAgICAgICAgICA8IS0tIGJlZ2luIHdvcmRwcmVzcyBtZW51IC0tPgogICAgICAgICAgICA8dWwgaWQ9Im1lbnUtbWFpbi1uYXZpZ2F0aW9uIiBjbGFzcz0ibmF2YmFyLW5hdiBtci1hdXRvIG1haW4gdy0xMDAgIj4JPGxpICBpZD0ibWVudS1pdGVtLTgzODUiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gZHJvcGRvd24gbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzODUiIGRhdGEtaXRlbS1pZD0iODM4NSI+CgkJPGEgdGl0bGU9IlN0YW5kYXJkcyIgZGF0YS1pdGVtLWlkPSI4Mzg1IiBjbGFzcz0ibmF2LWxpbmsgIGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+U3RhbmRhcmRzPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDI5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MjkiIGRhdGEtaXRlbS1pZD0iODQyOSI+CgkJCQkJCQk8YSB0aXRsZT0iQWNjZXNzIFN0YW5kYXJkcyIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWNjZXNzLXN0YW5kYXJkcy8iIGRhdGEtaXRlbS1pZD0iODQyOSIgY2xhc3M9Im5hdi1saW5rICI+QWNjZXNzIFN0YW5kYXJkczwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4NiIgZGF0YS1pdGVtLWlkPSI4Mzg2Ij4KCQkJCQkJCTxhIHRpdGxlPSJTZWFyY2ggU3RhbmRhcmRzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9zdGFuZGFyZC8iIGRhdGEtaXRlbS1pZD0iODM4NiIgY2xhc3M9Im5hdi1saW5rICI+U2VhcmNoIFN0YW5kYXJkczwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4NyIgZGF0YS1pdGVtLWlkPSI4Mzg3Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgRGV2ZWxvcG1lbnQiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2RldmVsb3AvIiBkYXRhLWl0ZW0taWQ9IjgzODciIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBEZXZlbG9wbWVudDwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzODgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM4OCIgZGF0YS1pdGVtLWlkPSI4Mzg4Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgQWRvcHRpb24iIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2RldmVsb3AvZGV2ZWxvcC1zdGFuZGFyZHMvc3RhbmRhcmRzLWFkb3B0aW9uLyIgZGF0YS1pdGVtLWlkPSI4Mzg4IiBjbGFzcz0ibmF2LWxpbmsgIj5TdGFuZGFyZHMgQWRvcHRpb248L2E+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51LWRlc2NyaXB0aW9uIj4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NSIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5DaG9vc2UgZnJvbSB0aGUgbWFueSB3YXlzIHRvIGFjY2VzcyBJRUVFIFNBIFN0YW5kYXJkcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDI5IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkNob29zZSBmcm9tIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uYWwgYWNjZXNzIG9wdGlvbnMgdG8gZ2V0IHRoZSBzdGFuZGFyZHMgeW91IG5lZWQuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5GaW5kIHRoZSBzdGFuZGFyZHMgeW914oCZcmUgbG9va2luZyBmb3IuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM4NyIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5HZXQgaW52b2x2ZWQgaW4gdGhlIGRldmVsb3BtZW50IG9mIG1hcmtldC1kcml2ZW4gdGVjaG5vbG9neSBzdGFuZGFyZHMgd2l0aCBwcm92ZW4gZXhwZXJ0aXNlIGFuZCBkZWRpY2F0ZWQgc3VwcG9ydC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg4IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkxlYXJuIG1vcmUgYWJvdXQgaG93IHRvIGFkb3B0IElFRUUgc3RhbmRhcmRzLjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzg5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzg5IiBkYXRhLWl0ZW0taWQ9IjgzODkiPgoJCTxhIHRpdGxlPSJQcm9kdWN0cyAmYW1wOyBQcm9ncmFtcyIgZGF0YS1pdGVtLWlkPSI4Mzg5IiBjbGFzcz0ibmF2LWxpbmsgIGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS1icy10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+UHJvZHVjdHMgJiMwMzg7IFByb2dyYW1zPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04MzkwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTAiIGRhdGEtaXRlbS1pZD0iODM5MCI+CgkJCQkJCQk8YSB0aXRsZT0iQWxsaWFuY2UgTWFuYWdlbWVudCBTZXJ2aWNlcyIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvYW1zLyIgZGF0YS1pdGVtLWlkPSI4MzkwIiBjbGFzcz0ibmF2LWxpbmsgIj5BbGxpYW5jZSBNYW5hZ2VtZW50IFNlcnZpY2VzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04MzkxIiBkYXRhLWl0ZW0taWQ9IjgzOTEiPgoJCQkJCQkJPGEgdGl0bGU9IkNvbmZvcm1pdHkgQXNzZXNzbWVudCAmYW1wOyBDZXJ0aWZpY2F0aW9uIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy9pY2FwLyIgZGF0YS1pdGVtLWlkPSI4MzkxIiBjbGFzcz0ibmF2LWxpbmsgIj5Db25mb3JtaXR5IEFzc2Vzc21lbnQgJiMwMzg7IENlcnRpZmljYXRpb248L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04MzkyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTIiIGRhdGEtaXRlbS1pZD0iODM5MiI+CgkJCQkJCQk8YSB0aXRsZT0iSUVFRSBTQSBPcGVuIFNvdXJjZSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaW5pdGlhdGl2ZXMvb3BlbnNvdXJjZS8iIGRhdGEtaXRlbS1pZD0iODM5MiIgY2xhc3M9Im5hdi1saW5rICI+SUVFRSBTQSBPcGVuIFNvdXJjZTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5MyIgZGF0YS1pdGVtLWlkPSI4MzkzIj4KCQkJCQkJCTxhIHRpdGxlPSJJbmR1c3RyeSBBZmZpbGlhdGUgTmV0d29yayAoSUFOKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvaW5kdXN0cnktYWZmaWxpYXRlLW5ldHdvcmsvIiBkYXRhLWl0ZW0taWQ9IjgzOTMiIGNsYXNzPSJuYXYtbGluayAiPkluZHVzdHJ5IEFmZmlsaWF0ZSBOZXR3b3JrIChJQU4pPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzMSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDMxIiBkYXRhLWl0ZW0taWQ9Ijg0MzEiPgoJCQkJCQkJPGEgdGl0bGU9IkluZHVzdHJ5IENvbm5lY3Rpb25zIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pbmR1c3RyeS1jb25uZWN0aW9ucy8iIGRhdGEtaXRlbS1pZD0iODQzMSIgY2xhc3M9Im5hdi1saW5rICI+SW5kdXN0cnkgQ29ubmVjdGlvbnM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzAiIGRhdGEtaXRlbS1pZD0iODQzMCI+CgkJCQkJCQk8YSB0aXRsZT0iVGhlIE5hdGlvbmFsIEVsZWN0cmljYWwgU2FmZXR5IENvZGXCriAoTkVTQ8KuKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJvZHVjdHMtcHJvZ3JhbXMvbmVzYy8iIGRhdGEtaXRlbS1pZD0iODQzMCIgY2xhc3M9Im5hdi1saW5rICI+VGhlIE5hdGlvbmFsIEVsZWN0cmljYWwgU2FmZXR5IENvZGXCriAoTkVTQ8KuKTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTgzOTYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODM5NiIgZGF0YS1pdGVtLWlkPSI4Mzk2Ij4KCQkJCQkJCTxhIHRpdGxlPSJSZWdpc3RyYXRpb24gQXV0aG9yaXR5IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy9yZWdhdXRoLyIgZGF0YS1pdGVtLWlkPSI4Mzk2IiBjbGFzcz0ibmF2LWxpbmsgIj5SZWdpc3RyYXRpb24gQXV0aG9yaXR5PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODM5NyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04Mzk3IiBkYXRhLWl0ZW0taWQ9IjgzOTciPgoJCQkJCQkJPGEgdGl0bGU9IkdvdmVybm1lbnQgRW5nYWdlbWVudCBQcm9ncmFtIG9uIFN0YW5kYXJkcyAoR0VQUykiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2ludGwvZ292ZXJubWVudC1lbmdhZ2VtZW50LXByb2dyYW0vIiBkYXRhLWl0ZW0taWQ9IjgzOTciIGNsYXNzPSJuYXYtbGluayAiPkdvdmVybm1lbnQgRW5nYWdlbWVudCBQcm9ncmFtIG9uIFN0YW5kYXJkcyAoR0VQUyk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04Mzk4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTgzOTgiIGRhdGEtaXRlbS1pZD0iODM5OCI+CgkJCQkJCQk8YSB0aXRsZT0iU3RhbmRhcmRzIEZlbGxvd3NoaXAiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2ludGwvc3RhbmRhcmRzLWZlbGxvd3NoaXAtcHJvZ3JhbS8iIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1saW5rICI+U3RhbmRhcmRzIEZlbGxvd3NoaXA8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzIiIGRhdGEtaXRlbS1pZD0iODQzMiI+CgkJCQkJCQk8YSB0aXRsZT0iQWxsIFByb2R1Y3RzICZhbXA7IFByb2dyYW1zIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcm9kdWN0cy1wcm9ncmFtcy8iIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1saW5rICI+QWxsIFByb2R1Y3RzICYjMDM4OyBQcm9ncmFtczwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzg5IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZ1bGwgZWNvc3lzdGVtIG9mIHN0YW5kYXJkcy1yZWxhdGVkIHNvbHV0aW9ucyB0byBoZWxwIGRyaXZlIGF3YXJlbmVzcywgYWN0aXZhdGlvbiwgYW5kIGFkb3B0aW9uLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9IjgzOTAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+UHJvdmlkaW5nIHN1cHBvcnQgc2VydmljZXMgdG8gaGVscCBtYW5hZ2UgdGhlIGRheS10by1kYXkgb3BlcmF0aW9ucyBvZiBpbmR1c3RyeSBncm91cHMsIGFsbG93aW5nIGtleSBzdGFrZWhvbGRlcnMgdG8gZm9jdXMgb24gdGhlIHdvcmsgYXQgaGFuZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4MzkxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZvY3VzZWQgb24gZGV2ZWxvcG1lbnQgYW5kIGltcGxlbWVudGF0aW9uIG9mIHJpZ29yb3VzIGNvbmZvcm1pdHkgYXNzZXNzbWVudCBwcm9ncmFtcyBkZXNpZ25lZCB0byBoZWxwIGFjY2VsZXJhdGUgbWFya2V0IGFkb3B0aW9uLCByZWR1Y2UgY29zdHMgYW5kIG1vcmUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5BIHZlbmRvci1uZXV0cmFsLCBpbmNsdXNpdmUsIG9wZW4gc291cmNlIHBsYXRmb3Jt4oCUZm9yIGFsbCwgZnJvbSBpbmRlcGVuZGVudCBzb2Z0d2FyZSBkZXZlbG9wZXJzIGFuZCBzdGFydCB1cHMgdG8gaW5kdXN0cnksIGFjYWRlbWljIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5MyIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5PcGVuIHRvIGNvbnNvcnRpYSwgaW5kdXN0cnkgYWxsaWFuY2Ugb3Igb3RoZXIgaW5kdXN0cnkgb3JnYW5pemF0aW9ucywgbG9va2luZyB0byBicmluZyBmb3J3YXJkIHNwZWNpZmljYXRpb25zIGZvciBzdGFuZGFyZHMgZGV2ZWxvcG1lbnQgYW5kIG1hcmtldCBhZG9wdGlvbi48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDMxIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkZhY2lsaXRhdGluZyBjb2xsYWJvcmF0aW9uIGFtb25nIG9yZ2FuaXphdGlvbnMgYW5kIGluZGl2aWR1YWxzIGFzIHRoZXkgaG9uZSBhbmQgcmVmaW5lIHRoZWlyIHRoaW5raW5nIG9uIHJhcGlkbHkgY2hhbmdpbmcgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzAiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+R3VpZGVsaW5lcyBmb3IgcHJhY3RpY2FsIHNhZmVndWFyZGluZyBkdXJpbmcgdGhlIGluc3RhbGxhdGlvbiwgb3BlcmF0aW9uLCBhbmQgbWFpbnRlbmFuY2Ugb2YgZWxlY3RyaWMgc3VwcGx5LCBjb21tdW5pY2F0aW9uIGxpbmVzIGFuZCBhc3NvY2lhdGVkIGVxdWlwbWVudC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkFzc2lnbnMgYW5kIG1haW50YWlucyB1bmlxdWUgaWRlbnRpZmllcnMgYW5kIHVuYW1iaWd1b3VzIG5hbWVzIHRvIG9iamVjdHMgZm9yIHRob3NlIHdpc2hpbmcgdG8gcmVnaXN0ZXIgdGhlbS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4Mzk3IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlByb2dyYW0gZm9yIHBvbGljeW1ha2VycyBwcm92aWRpbmcgdGFpbG9yZWQgc3RhbmRhcmRzIGluZm9ybWF0aW9uLCBhY2Nlc3MgdG8gdGhlIElFRUUgU0Egc3RhbmRhcmRpemF0aW9uIGVjb3N5c3RlbSwgYW5kIHN0YW5kYXJkaXphdGlvbiByZXNvdXJjZXMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODM5OCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Qcm92aWRpbmcgZ2xvYmFsIHN0YW5kYXJkcyBwcm9mZXNzaW9uYWxzIHRoZSBvcHBvcnR1bml0eSB0byBvYnNlcnZlIHRoZSBJRUVFIHN0YW5kYXJkcyBkZXZlbG9wbWVudCBwcm9jZXNzIGFuZCBsZWFybiBhYm91dCB0ZWNobmljYWwgYXJlYXMgb2YgaW50ZXJlc3QuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzMiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TZWUgYWxsIHRoZSBwcm9ncmFtcywgcHJvZHVjdHMsIGFuZCBzZXJ2aWNlcyB0aGF0IElFRUUgU0EgaGFzIHRvIG9mZmVyLjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDAwIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiPgoJCTxhIHRpdGxlPSJGb2N1c2VzIiBkYXRhLWl0ZW0taWQ9Ijg0MDAiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5Gb2N1c2VzPC9hPgoJCTxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbWVnYS1tZW51Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudSAgZGVwdGhfMCI+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDAxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDEiIGRhdGEtaXRlbS1pZD0iODQwMSI+CgkJCQkJCQk8YSB0aXRsZT0iQXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaW5pdGlhdGl2ZXMvYXJ0aWZpY2lhbC1pbnRlbGxpZ2VuY2Utc3lzdGVtcy8iIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1saW5rICI+QXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgU3lzdGVtcyAoQUlTKTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMiIgZGF0YS1pdGVtLWlkPSI4NDAyIj4KCQkJCQkJCTxhIHRpdGxlPSJDb25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbSIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvcHJhY3RpY2VzL2Nvbm5lY3Rpdml0eS10ZWxlY29tLyIgZGF0YS1pdGVtLWlkPSI4NDAyIiBjbGFzcz0ibmF2LWxpbmsgIj5Db25uZWN0aXZpdHkgJmFtcDsgVGVsZWNvbTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwMyIgZGF0YS1pdGVtLWlkPSI4NDAzIj4KCQkJCQkJCTxhIHRpdGxlPSJFbmVyZ3kiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9lbmVyZ3kvIiBkYXRhLWl0ZW0taWQ9Ijg0MDMiIGNsYXNzPSJuYXYtbGluayAiPkVuZXJneTwvYT4KCQkJCQkJPC9saT4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwNCIgZGF0YS1pdGVtLWlkPSI4NDA0Ij4KCQkJCQkJCTxhIHRpdGxlPSJGb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9wcmFjdGljZXMvZm91bmRhdGlvbmFsLyIgZGF0YS1pdGVtLWlkPSI4NDA0IiBjbGFzcz0ibmF2LWxpbmsgIj5Gb3VuZGF0aW9uYWwgVGVjaG5vbG9naWVzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQwNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDA1IiBkYXRhLWl0ZW0taWQ9Ijg0MDUiPgoJCQkJCQkJPGEgdGl0bGU9IkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9oZWFsdGhjYXJlLWxpZmUtc2NpZW5jZXMvIiBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtbGluayAiPkhlYWx0aGNhcmUgYW5kIExpZmUgU2NpZW5jZXM8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDA2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MDYiIGRhdGEtaXRlbS1pZD0iODQwNiI+CgkJCQkJCQk8YSB0aXRsZT0iTW9iaWxpdHkiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3ByYWN0aWNlcy9tb2JpbGl0eS8iIGRhdGEtaXRlbS1pZD0iODQwNiIgY2xhc3M9Im5hdi1saW5rICI+TW9iaWxpdHk8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDMzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MzMiIGRhdGEtaXRlbS1pZD0iODQzMyI+CgkJCQkJCQk8YSB0aXRsZT0iR292ZXJubWVudCBFbmdhZ2VtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9pbnRsLyIgZGF0YS1pdGVtLWlkPSI4NDMzIiBjbGFzcz0ibmF2LWxpbmsgIj5Hb3Zlcm5tZW50IEVuZ2FnZW1lbnQ8L2E+CgkJCQkJCTwvbGk+CgkJCQkJPC91bD4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51LWRlc2NyaXB0aW9uIj4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5TdHJhdGVnaWMgZm9jdXNlcyBhbmQgaW5kdXN0cmllcyB3aGVyZSBJRUVFIFNBIGlzIHJhaXNpbmcgdGhlIHdvcmxk4oCZcyBzdGFuZGFyZHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwMSIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5EZXZlbG9waW5nIGFjY2Vzc2libGUgYW5kIHN1c3RhaW5hYmxlIGFwcHJvYWNoZXMgYW5kIHNvbHV0aW9ucyBmb3IgcHJhY3RpY2FsIGFwcGxpY2F0aW9uIG9mIEFJUyBwcmluY2lwbGVzIGFuZCBmcmFtZXdvcmtzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDIiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QWR2YW5jaW5nIHJvYnVzdCwgcmVzcG9uc2libGUsIGFuZCBhZmZvcmRhYmxlIGNvbm5lY3Rpdml0eS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDAzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkVuYWJsaW5nIHN1c3RhaW5hYmxlLCBlZmZpY2llbnQsIGFuZCBhY2Nlc3NpYmxlIGVuZXJneSB0aHJvdWdoIHRlY2hub2xvZ2ljYWwgYWR2YW5jZXMgb24gYSBnbG9iYWwgc2NhbGUuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQwNCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5Xb3JraW5nIHRvIHN0YW5kYXJkaXplIHNlYW1sZXNzIGFuZCB1YmlxdWl0b3VzIGNvbm5lY3Rpdml0eSBhY3Jvc3MgYWxsIGFwcGxpY2F0aW9ucyBvZiBjb25uZWN0ZWQgdGVjaG5vbG9naWVzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Rm9jdXNlZCBvbiBlbmFibGluZyBhZmZvcmRhYmxlIGhlYWx0aGNhcmUsIGFjY2VzcyB0byBtZWRpY2luZSwgYW5kIGlubm92YXRpb24gdG8gaW1wcm92ZSBvdmVyYWxsIGdsb2JhbCB3ZWxsbmVzcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDA2IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPldvcmtpbmcgdG8gaGVscCB0aGUgZXZvbHZpbmcgbW9iaWxpdHkgZWNvc3lzdGVtIGFkZHJlc3Mgc29tZSBvZiBpdHMgZ3JlYXRlc3QgYnVzaW5lc3Mgb3Bwb3J0dW5pdGllcyB0aGF0IGhhdmUgdGhlIHBvdGVudGlhbCB0byBzb2x2ZSBtYWpvciBzb2NpZXRhbCBjaGFsbGVuZ2VzLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzMiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+QnVpbGRpbmcgYnJpZGdlcyBiZXR3ZWVuIHRoZSB3b3JsZHMgb2YgdGVjaG5vbG9neSwgc3RhbmRhcmRzLCBhbmQgcG9saWN5IG1ha2luZy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQwOCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLWhhcy1jaGlsZHJlbiBkcm9wZG93biBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQwOCIgZGF0YS1pdGVtLWlkPSI4NDA4Ij4KCQk8YSB0aXRsZT0iR2V0IEludm9sdmVkIiBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtbGluayAgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5HZXQgSW52b2x2ZWQ8L2E+CgkJPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSBtZWdhLW1lbnUiPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQk8dWwgY2xhc3M9InN1Yi1tZW51ICBkZXB0aF8wIj4KCQkJCQkJPGxpICBpZD0ibWVudS1pdGVtLTg0MzQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQzNCIgZGF0YS1pdGVtLWlkPSI4NDM0Ij4KCQkJCQkJCTxhIHRpdGxlPSJFdmVudHMiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2V2ZW50cy8iIGRhdGEtaXRlbS1pZD0iODQzNCIgY2xhc3M9Im5hdi1saW5rICI+RXZlbnRzPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEwIiBkYXRhLWl0ZW0taWQ9Ijg0MTAiPgoJCQkJCQkJPGEgdGl0bGU9IklFRUUgU0EgTWVtYmVyc2hpcCIgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvbWVtYmVyc2hpcC8iIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1saW5rICI+SUVFRSBTQSBNZW1iZXJzaGlwPC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM1IiBkYXRhLWl0ZW0taWQ9Ijg0MzUiPgoJCQkJCQkJPGEgdGl0bGU9IkhvdyB0byBHZXQgSW52b2x2ZWQiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3BhcnRpY2lwYXRlLyIgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWxpbmsgIj5Ib3cgdG8gR2V0IEludm9sdmVkPC9hPgoJCQkJCQk8L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHVsIGNsYXNzPSJzdWItbWVudS1kZXNjcmlwdGlvbiI+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MDgiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+TGVhcm4gYWJvdXQgb3Bwb3J0dW5pdGllcyB0byBlbmdhZ2Ugd2l0aCBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MzQiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+Sm9pbiB1cyBhdCB1cGNvbWluZyB2aXJ0dWFsIG9yIGluLXBlcnNvbiBldmVudHMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQxMCIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5GbGV4aWJsZSBtZW1iZXJzaGlwIG9wdGlvbnMgdGhhdCBvZmZlciBlbmhhbmNlZCBwYXJ0aWNpcGF0aW9uIGluIElFRUUgU0EgYWN0aXZpdGllcywgc3RhbmRhcmRzIGRldmVsb3BtZW50LCBhbmQgZ292ZXJuYW5jZS48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDM1IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRoZXJlIGFyZSBtYW55IG9wcG9ydHVuaXRpZXMgZm9yIHBhcnRpY2lwYXRpb24sIGZpbmQgdGhlIHJpZ2h0IG9uZSBmb3IgeW91LjwvbGk+CgkJCQkJPC91bD4KCQkJCTwvZGl2PiA8IS0tIC8ucm93IC0tPgoJCQk8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KCQk8L2Rpdj4gPCEtLSAvLmRyb3Bkb3duLW1lbnUgbWVnYS1tZW51IC0tPgoJPC9saT4KCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDEyIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGRyb3Bkb3duIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEyIiBkYXRhLWl0ZW0taWQ9Ijg0MTIiPgoJCTxhIHRpdGxlPSJSZXNvdXJjZXMiIGRhdGEtaXRlbS1pZD0iODQxMiIgY2xhc3M9Im5hdi1saW5rICBkcm9wZG93bi10b2dnbGUiIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPlJlc291cmNlczwvYT4KCQk8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IG1lZ2EtbWVudSI+CgkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUgIGRlcHRoXzAiPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQxMyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDEzIiBkYXRhLWl0ZW0taWQ9Ijg0MTMiPgoJCQkJCQkJPGEgdGl0bGU9IlRyYWluaW5nICZhbXA7IERldmVsb3BtZW50IiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC90cmFpbmluZy8iIGRhdGEtaXRlbS1pZD0iODQxMyIgY2xhc3M9Im5hdi1saW5rICI+VHJhaW5pbmcgJiMwMzg7IERldmVsb3BtZW50PC9hPgoJCQkJCQk8L2xpPgoJCQkJCQk8bGkgIGlkPSJtZW51LWl0ZW0tODQzNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG5hdi1pdGVtIG5hdi10eXBlLW1lZ2EtbWVudSBuYXYtaXRlbS04NDM2IiBkYXRhLWl0ZW0taWQ9Ijg0MzYiPgoJCQkJCQkJPGEgdGl0bGU9Ik5ld3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL25ld3MvIiBkYXRhLWl0ZW0taWQ9Ijg0MzYiIGNsYXNzPSJuYXYtbGluayAiPk5ld3M8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS04NDE1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbmF2LWl0ZW0gbmF2LXR5cGUtbWVnYS1tZW51IG5hdi1pdGVtLTg0MTUiIGRhdGEtaXRlbS1pZD0iODQxNSI+CgkJCQkJCQk8YSB0aXRsZT0iSUVFRSBTQSBOZXdzbGV0dGVyIiBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9uZXdzL3N3aXJlLyIgZGF0YS1pdGVtLWlkPSI4NDE1IiBjbGFzcz0ibmF2LWxpbmsgIj5JRUVFIFNBIE5ld3NsZXR0ZXI8L2E+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSAgaWQ9Im1lbnUtaXRlbS05NTU0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tOTU1NCIgZGF0YS1pdGVtLWlkPSI5NTU0Ij4KCQkJCQkJCTxhIHRpdGxlPSJTdGFuZGFyZHMgU3RvcmUiIGhyZWY9Imh0dHBzOi8vd3d3LnRlY2hzdHJlZXQuY29tL2llZWU/dXRtX3NvdXJjZT1zdGFuZGFyZHMmYW1wO3V0bV9tZWRpdW09d2ViJmFtcDt1dG1fY2FtcGFpZ249c3RhbmRhcmRzLXJlZmVycmFsIiBkYXRhLWl0ZW0taWQ9Ijk1NTQiIGNsYXNzPSJuYXYtbGluayAiPlN0YW5kYXJkcyBTdG9yZTwvYT4KCQkJCQkJPC9saT4KCQkJCQk8L3VsPgoJCQkJCTx1bCBjbGFzcz0ic3ViLW1lbnUtZGVzY3JpcHRpb24iPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEyIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPlRyYWluaW5nIGFuZCBjb21tdW5pY2F0aW9uIHJlc291cmNlcyB0byBzdGF5IGNvbm5lY3RlZC48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI4NDEzIiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkluZGl2aWR1YWwgYW5kIG9yZ2FuaXphdGlvbmFsIGVmZmVjdGl2ZW5lc3MgcHJvZ3JhbSB0byBlbmFibGUgdGhlIHN1Y2Nlc3Mgb2Ygb3VyIHZpdGFsIHZvbHVudGVlcnMuPC9saT4KCQkJCQkJPGxpIGRhdGEtaXRlbS1pZD0iODQzNiIgY2xhc3M9Im5hdi1pdGVtLWRlc2NyaXB0aW9uIj5SZWFkIHRoZSBsYXRlc3QgbmV3cyBvbiBJRUVFIFNBLjwvbGk+CgkJCQkJCTxsaSBkYXRhLWl0ZW0taWQ9Ijg0MTUiIGNsYXNzPSJuYXYtaXRlbS1kZXNjcmlwdGlvbiI+U3Vic2NyaWJlIHRvIG91ciBuZXdzbGV0dGVyIGFuZCBrZWVwIHVwIHRvIGRhdGUgb24gdGhlIGxhdGVzdCBzdGFuZGFyZHMsIGV2ZW50LCBhbmQgYWN0aXZpdGllcy48L2xpPgoJCQkJCQk8bGkgZGF0YS1pdGVtLWlkPSI5NTU0IiBjbGFzcz0ibmF2LWl0ZW0tZGVzY3JpcHRpb24iPkdldCB0aGUgc3RhbmRhcmRzIHlvdSBuZWVkLiBTZWxlY3QgZnJvbSBpbmRpdmlkdWFsIHN0YW5kYXJkcyBvciBzdGFuZGFyZHMgYnVuZGxlcy48L2xpPgoJCQkJCTwvdWw+CgkJCQk8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KCQkJPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CgkJPC9kaXY+IDwhLS0gLy5kcm9wZG93bi1tZW51IG1lZ2EtbWVudSAtLT4KCTwvbGk+Cgk8bGkgIGlkPSJtZW51LWl0ZW0tODQxNiIgY2xhc3M9Im5hdi10eXBlLWJ1dHRvbiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBuYXYtaXRlbSBuYXYtdHlwZS1tZWdhLW1lbnUgbmF2LWl0ZW0tODQxNiIgZGF0YS1pdGVtLWlkPSI4NDE2Ij4KCQk8YSB0aXRsZT0iTUFDIEFkZHJlc3MiIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3Byb2R1Y3RzLXByb2dyYW1zL3JlZ2F1dGgvIiBkYXRhLWl0ZW0taWQ9Ijg0MTYiIGNsYXNzPSJuYXYtbGluayAiPk1BQyBBZGRyZXNzPC9hPgoJPC9saT4KPC91bD4gICAgICAgICAgICA8IS0tIGVuZCB3b3JkcHJlc3MgbWVudSAtLT4KICAgICAgICA8L2Rpdj4gPCEtLSAvI21vYmlsZS1tZW51IC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBzZWFyY2giPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtaW5wdXQtd3JhcHBlciIgY2xhc3M9ImNvbGxhcHNlIGNvbGxhcHNlLWhvcml6b250YWwiPgogICAgICAgICAgICAgICAgPGZvcm0gaWQ9InNlYXJjaCIgY2xhc3M9ImZvcm0taW5saW5lIiBhY3Rpb249Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL3NlYXJjaC8iIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBJRUVFIFNBLi4uIiBhdXRvZm9jdXM9ImF1dG9mb2N1cyIgbmFtZT0icSIgaWQ9InEiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgdHlwZT0ic3VibWl0IiBhcmlhLWxhYmVsPSJzZWFyY2giPjxpIGNsYXNzPSJmYSBmYS1zZWFyY2giPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4gPCEtLSAvI3NlYXJjaCAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzZWFyY2gtaW5wdXQtd3JhcHBlciAtLT4KICAgICAgICAgICAgPGJ1dHRvbiBpZD0ibWFpbi1zZWFyY2gtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1tZCIgdHlwZT0iYnV0dG9uIiBkYXRhLWJzLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtYnMtdGFyZ2V0PSIjc2VhcmNoLWlucHV0LXdyYXBwZXIiCiAgICAgICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNlYXJjaC1pbnB1dC13cmFwcGVyIiBhcmlhLWxhYmVsPSJzZWFyY2giPjxpIGNsYXNzPSJmYSBmYS1zZWFyY2giPjwvaT48L2J1dHRvbj4KICAgICAgICA8L2Rpdj4gPCEtLSAvLmJ0bi1ncm91cCAuc2VhcmNoIC0tPgogICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXItZmx1aWQgLS0+CjwvbmF2PiA8IS0tIC8jbWFpbi1uYXYgLm5hdmJhciAtLT4KICAgIDwvc2VjdGlvbj4gPCEtLSAvI21hc3RoZWFkIC0tPgo8L2hlYWRlcj4KCgo8bWFpbj4KICAgIDxzZWN0aW9uIGlkPSJwYWdlLXRpdGxlIiBjbGFzcz0ic3RhbmRhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLWxnLTMgb3JkZXItbGctbGFzdCBhbGlnbi1zZWxmLWxnLWVuZCB0ZXh0LWxnLWVuZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic3RuZC1zdGF0dXMiPkFjdGl2ZSBTdGFuZGFyZDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgY29sLWxnLTMgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLWxnLTExIj4KICAgICAgICAgICAgICAgICAgICA8aDEgaWQ9InN0bmQtZGVzaWduYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNSI+SUVFRSA1MjgtMjAxOTwvaDE+CiAgICAgICAgICAgICAgICAgICAgPGgyIGlkPSJzdG5kLXRpdGxlIj5JRUVFIFN0YW5kYXJkIGZvciBJbmVydGlhbCBTZW5zb3IgVGVybWlub2xvZ3k8L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1sZy0xMSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0icHVyY2hhc2Utb3B0aW9ucyIgY2xhc3M9ImQtZ3JpZCBnYXAtNCBkLW1kLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJzdG5kLWJ1eS11cmwiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnRlY2hzdHJlZXQuY29tL2llZWUvcHJvZHVjdHMvdmVuZG9yX2lkLzcyOTIiIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT0iYnV0dG9uIj5QdXJjaGFzZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJzdG5kLXN1YnNjcmlwdGlvbi11cmwiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9pZWVleHBsb3JlLmllZWUub3JnL3NlcnZsZXQvb3BhYz9wdW51bWJlcj04ODYzNzk3IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiIHJvbGU9ImJ1dHRvbiI+QWNjZXNzIHZpYSBTdWJzY3JpcHRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jcHVyY2hhc2Utb3B0aW9ucyAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29sLTEyIC5jb2wtbGctOCAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyNwYWdlLXRpdGxlIC0tPgoKICAgIAogICAgPHNlY3Rpb24gaWQ9ImJyZWFkY3J1bWJzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIj4KICAgICAgICAgICAgICAgICAgICA8bmF2IGlkPSJicmVhZGNydW1iLW5hdiIgYXJpYS1sYWJlbD0iYnJlYWRjcnVtYiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvbCBjbGFzcz0iYnJlYWRjcnVtYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmciIHRpdGxlPSJIb21lIj5Ib21lPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9zZWFyY2gvP3E9U3RhbmRhcmQiIHRpdGxlPSJTdGFuZGFyZHMiPlN0YW5kYXJkczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSBhY3RpdmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD0icGFnZSI+SUVFRSA1MjgtMjAxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L29sPiA8IS0tIC8uYnJlYWRjcnVtYiAtLT4KICAgICAgICAgICAgICAgICAgICA8L25hdj4gPCEtLSAvI2JyZWFkY3J1bWItbmF2IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgPC9zZWN0aW9uPiA8IS0tIC8jYnJlYWRjcnVtYnMgLS0+CiAgICAKICAgIDxzZWN0aW9uIGlkPSJjb250ZW50IiBjbGFzcz0ic3RhbmRhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtYWluLWNvbnRlbnQiIGNsYXNzPSJjb2wtMTIgY29sLWxnLTEwIG9mZnNldC1sZy0xIGNvbC14bC04IG9mZnNldC14bC0yIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzdG5kLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGVybXMgYW5kIGRlZmluaXRpb25zIHJlbGF0aW5nIHRvIGluZXJ0aWFsIHNlbnNvcnMgYXJlIHByZXNlbnRlZCBpbiB0aGlzIHN0YW5kYXJkLiBVc2FnZSBhcyB1bmRlcnN0b29kIGJ5IHRoZSBpbmVydGlhbCBzZW5zb3IgY29tbXVuaXR5IGlzIGdpdmVuIHByZWZlcmVuY2Ugb3ZlciBnZW5lcmFsIHRlY2huaWNhbCB1c2FnZSBvZiB0aGUgdGVybXMgaGVyZWluLiBUaGUgY3JpdGVyaW9uIGZvciBpbmNsdXNpb24gb2YgYSB0ZXJtIGFuZCBpdHMgZGVmaW5pdGlvbiBpbiB0aGlzIHN0YW5kYXJkIGlzIHVzZWZ1bG5lc3MgYXMgcmVsYXRlZCB0byBpbmVydGlhbCBzZW5zb3IgdGVjaG5vbG9neS48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzdG5kLWRlc2NyaXB0aW9uIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0YW5kYXJkLWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9InJvdyI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TcG9uc29yIENvbW1pdHRlZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLWNvbW1pdHRlZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+QUVTL0dBIC0gR3lybyBBY2NlbGVyb21ldGVyIFBhbmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YSBpZD0ic3RuZC1jb21taXR0ZWUtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vaWVlZS1hZXNzLm9yZy90ZWNoLW9wcy9neXJvLWFuZC1hY2NlbGVyb21ldGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIiB0YXJnZXQ9Il9ibGFuayI+TGVhcm4gTW9yZTwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+U3RhdHVzPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC1zdGF0dXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5BY3RpdmUgU3RhbmRhcmQ8L2RkPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+UEFSIEFwcHJvdmFsPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtcGFyLWFwcHJvdmFsLWRhdGUiIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+PGEgaWQ9InN0bmQtcGFyLWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wbWVudC5zdGFuZGFyZHMuaWVlZS5vcmcvbXlwcm9qZWN0LXdlYi9wdWJsaWMvdmlldy5odG1sI3BhcmRldGFpbC82NDYzIj4yMDE4LTA1LTE0PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5TdXBlcnNlZGluZzwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXN1cGVyc2VkaW5nIiBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPjxhIGlkPSJzdG5kLXN1cGVyc2VkaW5nLXVybCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNTI4Lzc4MCI+NTI4LTIwMDE8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj5Cb2FyZCBBcHByb3ZhbDwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLWFwcHJvdmFsLWRhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+MjAxOS0wNi0xMzwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+SGlzdG9yeTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz0icm93Ij4KCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9ImNvbC03IGNvbC1tZC00Ij5QdWJsaXNoZWQ6PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtcHVibGlzaGVkLWRhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtNSBjb2wtbWQtOCI+MjAxOS0xMC0wODwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzdGFuZGFyZC1kZXRhaWxzIC0tPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3b3JraW5nLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJoMiBzZWN0aW9uLXRpdGxlIj5Xb3JraW5nIEdyb3VwIERldGFpbHM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3b3JraW5nLWdyb3VwLWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsIGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPlNvY2lldHk8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgaWQ9InN0bmQtc29jaWV0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+SUVFRSBBZXJvc3BhY2UgYW5kIEVsZWN0cm9uaWMgU3lzdGVtcyBTb2NpZXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLXNvY2lldHktdXJsIiBjbGFzcz0iYXJyb3ctbGluayIgaHJlZj0iaHR0cDovL3d3dy5pZWVlLWFlc3Mub3JnLyIgdGl0bGU9IkxlYXJuIE1vcmUiIHRhcmdldD0iX2JsYW5rIj5MZWFybiBNb3JlPC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+U3BvbnNvciBDb21taXR0ZWU8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXdvcmtpbmctZ3JvdXAtY29tbWl0dGVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjb2wtc20tOCBjb2wtbWQtOSI+QUVTL0dBIC0gR3lybyBBY2NlbGVyb21ldGVyIFBhbmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGEgaWQ9InN0bmQtd29ya2luZy1ncm91cC1jb21taXR0ZWUtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9pZWVlLWFlc3Mub3JnL3RlY2gtb3BzL2d5cm8tYW5kLWFjY2VsZXJvbWV0ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+V29ya2luZyBHcm91cDwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC13b3JraW5nLWdyb3VwIiBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRU5TUl9XRyAtIFNlbnNvcnMgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLXdvcmtpbmctZ3JvdXAtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcG1lbnQuc3RhbmRhcmRzLmllZWUub3JnL215cHJvamVjdC13ZWIvcHVibGljL3ZpZXcuaHRtbCMvaW50ZXJlc3QvMzU0NiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPklFRUUgUHJvZ3JhbSBNYW5hZ2VyPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGlkPSJzdG5kLXN0YWZmLWxpYWlzb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29sLXNtLTggY29sLW1kLTkiPlNvbyBLaW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxhIGlkPSJzdG5kLXN0YWZmLWxpYWlzb24tZW1haWwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWxUTzpzLmgua2ltQGllZWUub3JnIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJDb250YWN0Ij5Db250YWN0PC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+V29ya2luZyBHcm91cCBDaGFpcjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBpZD0ic3RuZC13b3JraW5nLWdyb3VwLWNoYWlyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNvbC1zbS04IGNvbC1tZC05Ij5IYXJyeSBEYXZpczwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPiA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dvcmtpbmctZ3JvdXAtZGV0YWlscyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id29ya2luZy1ncm91cC1wcm9qZWN0cy1zdGFuZGFyZHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMgbmF2LWp1c3RpZmllZCBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWxpbmsgYWN0aXZlIiBpZD0id2ctYWN0aXZlLXByb2plY3RzLXRhYiIgZGF0YS1icy10b2dnbGU9InRhYiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJzLXRhcmdldD0iI3dnLWFjdGl2ZS1wcm9qZWN0cyIgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0id2ctYWN0aXZlLXByb2plY3RzIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+QWN0aXZlIFByb2plY3RzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayIgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZHMtdGFiIiBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjd2ctYWN0aXZlLXN0YW5kYXJkcyIgdHlwZT0iYnV0dG9uIiByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0id2ctYWN0aXZlLXN0YW5kYXJkcyIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPkFjdGl2ZSBTdGFuZGFyZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gPCEtLSAvLm5hdi1pdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iIHJvbGU9InByZXNlbnRhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1saW5rIiBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMtdGFiIiBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjd2ctc3VwZXJzZWRlZC1zdGFuZGFyZHMiIHR5cGU9ImJ1dHRvbiIgcm9sZT0idGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+U3VwZXJzZWRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IDwhLS0gLy5uYXYtaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtbGluayIgaWQ9IndnLWluYWN0aXZlLXdpdGhkcmF3bi1zdGFuZGFyZHMtdGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiIGRhdGEtYnMtdGFyZ2V0PSIjd2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iIHJvbGU9InRhYiIgYXJpYS1jb250cm9scz0id2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+SW5hY3RpdmUtV2l0aGRyYXduIFN0YW5kYXJkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiA8IS0tIC8ubmF2LWl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMtdGFiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiIGRhdGEtYnMtdGFyZ2V0PSIjd2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPkluYWN0aXZlLVJlc2VydmVkIFN0YW5kYXJkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiA8IS0tIC8ubmF2LWl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPiA8IS0tIC8ubmF2IC5uYXYtdGFicyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLXRhYi1jb250ZW50IiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0cyIgY2xhc3M9InRhYi1wYW5lIGZhZGUgc2hvdyBhY3RpdmUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1hY3RpdmUtcHJvamVjdHMtdGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1wcm9qZWN0IHdnLWFjdGl2ZS1wcm9qZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtcHJvamVjdC1kZXNpZ25hdGlvbiI+UDE0MzE8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0LXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5TdGFuZGFyZCBmb3IgU3BlY2lmeWluZyBhbmQgVGVzdGluZyBDb3Jpb2xpcyBWaWJyYXRvcnkgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctYWN0aXZlLXByb2plY3QtZGVzY3JpcHRpb24iPlRoaXMgc3RhbmRhcmQgZGVmaW5lcyByZXF1aXJlbWVudHMgYW5kIHRlc3QgcHJvY2VkdXJlcyBmb3IgYSBzaW5nbGUtYXhpcyBDb3Jpb2xpcyB2aWJyYXRvcnkgZ3lybyAoQ1ZHKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMuICBJbmZvcm1hdGl2ZSBhbm5leGVzIGNvdmVyIENWRyBkZXNpZ24gZmVhdHVyZXMgYW5kIHRoZW9yZXRpY2FsIHByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWFjdGl2ZS1wcm9qZWN0LXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMTQzMS8xMDMyMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1wcm9qZWN0IC53Zy1hY3RpdmUtcHJvamVjdCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8udGFiLXBhbmUtY29udGVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dnLWFjdGl2ZS1wcm9qZWN0cyAudGFiLXBhbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctYWN0aXZlLXN0YW5kYXJkcyIgY2xhc3M9InRhYi1wYW5lIGZhZGUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1hY3RpdmUtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjEyOTMtMjAxODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgTGluZWFyIFNpbmdsZS1BeGlzLCBOb25neXJvc2NvcGljIEFjY2VsZXJvbWV0ZXJzPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhlIHNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIGxpbmVhciwgc2luZ2xlLWF4aXMsIG5vbmd5cm9zY29waWMgYWNjZWxlcm9tZXRlciBmb3IgdXNlIGluIGluZXJ0aWFsIG5hdmlnYXRpb24sIGd1aWRhbmNlLCBhbmQgbGV2ZWxpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGd1aWRlIGFuZCBhIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHRlc3QgcHJvY2VkdXJlcyBmb3Igc3VjaCBhY2NlbGVyb21ldGVycyBhcmUgcHJvdmlkZWQuIEluZm9ybWF0aXZlIGFubmV4ZXMgYXJlIGdpdmVuIG9uIHRoZSB2YXJpb3VzIHR5cGVzIG9mIHN1Y2ggYWNjZWxlcm9tZXRlcnMgKGZvcmNlIG9yIHBlbmR1bG91cyB0b3JxdWUgcmViYWxhbmNlIHdpdGggYW5hbG9nIG9yIGRpZ2l0YWwgb3V0cHV0LCB2aWJyYXRpbmcgYmVhbSwgYW5kIG1pY3JvbWVjaGFuaWNhbCkgYW5kIGVycm9yIGVmZmVjdHMsIG9uIGZpbHRlcmluZywgbm9pc2UsIGFuZCB0cmFuc2llbnQgYW5hbHlzaXMgdGVjaG5pcXVlcywgYW5kIG9uIGNhbGlicmF0aW9uIGFuZCBtb2RlbGluZyB0ZWNobmlxdWVzIChtdWx0aXBvaW50IHR1bWJsZSBhbmFseXNpcywgdmlicmF0aW9uIGFuZCAgc2hvY2sgdGVzdCBhbmFseXNlcywgYW5kIGdlb3BoeXNpY2FsIGVmZmVjdHMgaW4gaW5lcnRpYWwgaW5zdHJ1bWVudCB0ZXN0aW5nKS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xMjkzLzU1OTAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtZGVzaWduYXRpb24iPjk1Mi0yMDIwPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1hY3RpdmUtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgZm9yIFNwZWNpZnlpbmcgYW5kIFRlc3RpbmcgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWFjdGl2ZS1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+U3BlY2lmaWNhdGlvbiBhbmQgdGVzdCBwcm9jZWR1cmVzIGZvciBhIHNpbmdsZS1heGlzIGludGVyZmVyb21ldHJpYyBmaWJlciBvcHRpYyBneXJvIChJRk9HKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIFRoZSB0ZXN0IHByb2NlZHVyZXMgYXJlIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctYWN0aXZlLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvOTUyLzc0OTYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWFjdGl2ZS1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8udGFiLXBhbmUtY29udGVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dnLWFjdGl2ZS1zdGFuZGFyZHMgLnRhYi1wYW5lIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzIiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgcm9sZT0idGFicGFuZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctc3VwZXJzZWRlZC1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MTI5My0xOTk4L0NvciAxLTIwMDg8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBMaW5lYXIsU2luZ2xlLUF4aXMsIE5vbmd5cm9zY29waWMgQWNjZWxlcm9tZXRlcnMgQ29ycmlnZW5kdW0gMTogQ2hhbmdlcyB0byBBbm5leCBLIGFuZCBBbm5leCBMPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkNvcnJpZ2VuZHVtIHRvIElFRUUgU3RkIDEyOTMtMTk5OC4gU3BlY2lmaWNhdGlvbiBhbmQgdGVzdCByZXF1aXJlbWVudHMgZm9yIGxpbmVhciwgc2luZ2xlLWF4aXMsIG5vbmd5cm9zY29waWMgYWNjZWxlcm9tZXRlcnMgZm9yIHVzZSBhcyBhIHNlbnNvciBpbiBhdHRpdHVkZSBjb250cm9sIHN5c3RlbXMsIGxpbmVhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBsaW5lYXIgcmF0ZSBtZWFzdXJpbmcgc3lzdGVtcyBhcmUgZGVmaW5lZC4gVGhlIHNwZWNpZmljYXRpb24gZm9ybWF0IGd1aWRlIGFuZCB0ZXN0IHByb2NlZHVyZSBzdGFuZGFyZCBhcHBsaWVzIHRvIGZvcmNlLXJlYmFsYW5jZSBhY2NlbGVyb21ldGVycyAocGVuZHVsb3VzIG9yIHRyYW5zbGF0aW9uYWwgcHJvb2YgIG1hc3MpLCB2aWJyYXRpbmcgYmVhbSBhY2NlbGVyb21ldGVycyAoVkJBcyksIGFuZCBtaWNyb21lY2hhbmljYWwgYWNjZWxlcm9tZXRlcnMgdGhhdCByYW5nZSAgZnJvbSBsZXNzZXIgYWNjdXJhY3kgdG8gaGlnaCBhY2N1cmFjeSBkZXZpY2VzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xMjkzLTE5OThfQ29yXzEvNDE0MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctc3VwZXJzZWRlZC1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctc3VwZXJzZWRlZC1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NTI4LTIwMDE8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgZm9yIEluZXJ0aWFsIFNlbnNvciBUZXJtaW5vbG9neTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5UZXJtcyBhbmQgZGVmaW5pdGlvbnMgcmVsYXRpbmcgdG8gaW5lcnRpYWwgc2Vub3JzIGFyZSBwcmVzZW50ZWQgaW4gdGhpcyBzdGFuZGFyZC4gVXNhZ2UgYXMgdW5kZXJzdG9vZCBieSB0aGUgaW5lcnRpYWwgc2Vuc29yIGNvbW11bml0eSBpcyBnaXZlbiBwcmVmZXJlbmNlIG92ZXIgZ2VuZXJhbCB0ZWNobmljYWwgdXNhZ2Ugb2YgdGhlIHRlcm1zIGhlcmVpbi4gVGhlIGNyaXRlcmlvbiBmb3IgaW5jbHVzaW9uIG9mIGEgdGVybSBhbmQgaXRzIGRlZmluaXRpb24gaW4gdGhpcyBzdGFuZGFyZCBpcyB1c2VmdWxuZXNzIGFzIHJlbGF0ZWQgdG8gaW5lcnRpYWwgc2Vuc29yIHRlY2hub2xvZ3kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzUyOC83ODAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLXN1cGVyc2VkZWQtc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLXN1cGVyc2VkZWQtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjk1Mi0xOTk3PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLXN1cGVyc2VkZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlNwZWNpZmljYXRpb24gYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIHNpbmdsZS1heGlzIGludGVyZmVyb21ldHJpYyBmaWJlciBvcHRpYyBneXJvIChJRk9HKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIEEgc3RhbmRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhIHNpbmdsZS1heGlzIElGT0cgaXMgcHJvdmlkZWQuIEEgY29tcGlsYXRpb24gb2YgcmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhIGZpYmVyIG9wdGljIGd5cm8sIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctc3VwZXJzZWRlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzk1Mi8xMzIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj45NTItMTk5Ny9Db3IgMS0yMDE2PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLUF4aXMgSW50ZXJmZXJvbWV0cmljIEZpYmVyIE9wdGljIEd5cm9zIC0tIENvcnJpZ2VuZHVtIDE6IEZpZ3VyZSAxIGFuZCBTdWJjbGF1c2VzIDUuMy40LCA4LjMsIDEyLjExLjQuMy4yLCAxMi4xMS40LjMuMywgMTIuMTEuNC4zLjQsIDEyLjEyLjMuMSwgYW5kIDEyLjEyLjQuMTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5FcnJvcnMgaWRlbnRpZmllZCBpbiBJRUVFIFN0ZCA5NTItMTk5NyBhcmUgY29ycmVjdGVkIGluIHRoaXMgY29ycmlnZW5kdW0uIENvcnJlY3Rpb25zIGFyZSBtYWRlIHRvIEZpZ3VyZSAxIGFuZCBpbiBzdWJjbGF1c2VzIDUuMy40LCA4LjMsIDEyLjExLjQuMy4yLCAxMi4xMS40LjMuMywgMTIuMTEuNC4zLjQsIDEyLjEyLjMuMSwgYW5kIDEyLjEyLjQuMS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvOTUyLTE5OTdfQ29yXzEvNjc4MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctc3VwZXJzZWRlZC1zdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnRhYi1wYW5lLWNvbnRlbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyN3Zy1zdXBlcnNlZGVkLXN0YW5kYXJkcyAudGFiLXBhbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2ctaW5hY3RpdmUtd2l0aGRyYXduLXN0YW5kYXJkcyIgY2xhc3M9InRhYi1wYW5lIGZhZGUiIHJvbGU9InRhYnBhbmVsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJ3Zy1pbmFjdGl2ZS13aXRoZHJhd24tc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gSW5hY3RpdmUtV2l0aGRyYXduIFN0YW5kYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctaW5hY3RpdmUtc3RhbmRhcmRzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZHMiIGNsYXNzPSJ0YWItcGFuZSBmYWRlIiByb2xlPSJ0YWJwYW5lbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmRzLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xNDMxLTIwMDQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgQ29yaW9saXMgVmlicmF0b3J5IEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5TcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtYXhpcyBDb3Jpb2xpcyB2aWJyYXRvcnkgZ3lybyAoQ1ZHKSBmb3IgdXNlIGFzIGEgc2Vuc29yIGluIGF0dGl0dWRlIGNvbnRyb2wgc3lzdGVtcywgYW5ndWxhciBkaXNwbGFjZW1lbnQgbWVhc3VyaW5nIHN5c3RlbXMsIGFuZCBhbmd1bGFyIHJhdGUgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuICBBIHN0YWRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhIHNpbmdsZS1heGlzIENWRyBpcyBwcm92aWRlZC4gIEEgY29tcGxpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSBDVkcsIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuICBJbmZvcm1hdGl2ZSBhbm5leGVzIGNvdmVyIENWRyBkZXNpZ24gZmVhdHVyZXMgYW5kIHRoZW9yZXRpY2FsIHByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvMTQzMS8zNTE5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj4xNDMxLTIwMDQvQ29yIDEtMjAwODwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBDb3Jpb2xpcyBWaWJyYXRvcnkgR3lyb3MgLSBDb3JyaWdlbmR1bSAxPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5Db3JyaWdlbmR1bSB0byBJRUVFIFN0ZCAxNDMxLTIwMDQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8xNDMxLTIwMDRfQ29yXzEvNDE0MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MTU1NC0yMDA1PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBSZWNvbW1lbmRlZCBQcmFjdGljZSBmb3IgSW5lcnRpYWwgU2Vuc29yIFRlc3QgRXF1aXBtZW50LCBJbnN0cnVtZW50YXRpb24sIERhdGEgQWNxdWlzaXRpb24sIGFuZCBBbmFseXNpczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGVzdCBlcXVpcG1lbnQsIGRhdGEgYWNxdWlzaXRpb24gZXF1aXBtZW50LCBpbnN0cnVtZW50YXRpb24sIHRlc3QgZmFjaWxpdGllcywgYW5kIGRhdGEgYW5hbHlzaXMgdGVjaG5pcXVlcyB1c2VkIGluIGluZXJ0aWFsIHNlbnNvciB0ZXN0aW5nIGFyZSBkZXNjcmliZWQgaW4gdGhpcyByZWNvbW1lbmRlZCBwcmFjdGljZS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzE1NTQvMjI5MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+MjkyLTE5Njk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFNwZWNpZmljYXRpb24gRm9ybWF0IGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtZGVncmVlLW9mLWZyZWVkb20gc3ByaW5nLXJlc3RyYWluZWQgcmF0ZSBneXJvIGZvciBbYWlyY3JhZnQsIG1pc3NpbGUsIHNwYWNlY3JhZnQsX19fX19fXSBhcHBsaWNhdGlvbnMuIFRoZSByYXRlIGd5cm8gc2hhbGwgYmUgY2FwYWJsZSBvZiBwcm92aWRpbmcgWyhkYywgYWMpIHZvbHRhZ2Ugb3V0cHV0cyBwcm9wb3J0aW9uYWwgdG8gYW5ndWxhciByYXRlIGlucHV0cyB1cCB0b19fX19fXyBkZWdyZWVzIHBlciBzZWNvbmQsIGEgc3dpdGNoIGNsb3N1cmUocykgYXQgYW5ndWxhciByYXRlcyAoZXhjZWVkaW5nLGxlc3MgdGhhbilfX19fX18gKCssLSx1MDBiMSlfX19fX18gZGVncmVlcyBwZXIgc2Vjb25kXS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzI5Mi80ODUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjI5My0xOTY5PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBUZXN0IFByb2NlZHVyZSBmb3IgU2luZ2xlLURlZ3JlZS1vZi1GcmVlZG9tIFNwcmluZy1SZXN0cmFpbmVkIFJhdGUgR3lyb3M8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPlJlY29tbWVuZGVkIHJhdGUgZ3lybyB0ZXN0IHByb2NlZHVyZXMgZGVyaXZlZCBmcm9tIHRob3NlIGN1cnJlbnRseSBpbiB1c2UsIGluY2x1ZGluZyB0ZXN0IGNvbmRpdGlvbnMgdG8gYmUgY29uc2lkZXJlZCwgYXJlIGNvbXBpbGVkLiBJbiBzb21lIGNhc2VzIGFsdGVybmF0ZSBtZXRob2RzIGZvciBtZWFzdXJpbmcgYSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpYyBoYXZlIGJlZW4gaW5jbHVkZWQuIFRoaXMgc3RhbmRhcmQgaXMgaW50ZW5kZWQgdG8gYmUgYSBndWlkZSBpbiB0aGUgcHJlcGFyYXRpb24gb2YgU2VjdGlvbiA0IG9mIGEgc3BlY2lmaWNhdGlvbiB0aGF0IGZvbGxvd3MgdGhlIGZvcm1hdCBvZiBJRUVFIFN0ZCAyOTIsIFNwZWNpZmljYXRpb24gRm9ybWF0IGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzI5My80ODYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjI5My0xOTY5L0NvciAxLTIwMTQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIGZvciBJRUVFIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gU3ByaW5nLVJlc3RyYWluZWQgUmF0ZSBHeXJvcyAtLSBDb3JyaWdlbmR1bSAxOiBUYWJsZSAxIEhlYWRpbmc8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzY3JpcHRpb24iPkNvcnJlY3Rpb24gdG8gVGFibGUgMSBvbiBwYWdlIDE0IG9mIElFRUUgU3RkIDI5My0xOTY5PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS8yOTMtMTk2OV9Db3JfMS81NzUwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MTctMTk3NDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdGl0bGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaDQiPklFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+QSBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvIHNwZWNpZmljYXRpb24gdGhhdCBwcm92aWRlcyBhIGNvbW1vbiBtZWV0aW5nIGdyb3VuZCBvZiB0ZXJtaW5vbG9neSBhbmQgcHJhY3RpY2UgZm9yIG1hbnVmYWN0dXJlcnMgYW5kIHVzZXJzIGlzIHByZXNlbnRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCBwcm9jZWR1cmVzIGZvciB0ZXN0aW5nIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvIGlzIGdpdmVuLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNTE3Lzc2MCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+NTI5LTE5ODA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5TdXBwbGVtZW50IGZvciBTdHJhcGRvd24gQXBwbGljYXRpb25zIHRvIElFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+QSBzcGVjaWZpY2F0aW9uIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgcmF0ZS1pbnRlZ3JhdGluZyBneXJvc2NvcGUgc3BlY2lmaWNhdGlvbiBpcyBwcmVzZW50ZWQuIFJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSByYXRlLWludGVncmF0aW5nIGd5cm9zY29wZSBhcmUgY29tcGlsZWQuIFRoaXMgc3RhbmRhcmQsIHdoZW4gY29tYmluZWQgd2l0aCBJRUVFIFN0ZCA1MTctMTk3NCAoUjE5ODApLCBkZWZpbmVzIHRoZSByZXF1aXJlbWVudHMgYW5kIHRlc3QgcHJvY2VkdXJlcyBpbiB0ZXJtcyBvZiBjaGFyYWN0ZXJpc3RpY3MgdW5pcXVlIHRvIHRoZSBneXJvc2NvcGUgb3IgdGhvc2UgYXBwbGljYXRpb25zIGluIHdoaWNoIHRoZSBkeW5hbWljIGFuZ3VsYXIgaW5wdXRzIGFyZSBzaWduaWZpY2FudGx5IGdyZWF0ZXIgdGhhbiB0aGUgbGltaXRhdGlvbnMgaWRlbnRpZmllZCBpbiBJRUVFIFN0ZCA1MTcuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS81MjkvNzgxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iTGVhcm4gTW9yZSI+TGVhcm4gTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLndnLXN0YW5kYXJkIC53Zy1pbmFjdGl2ZS1yZXNlcnZlZCBzdGFuZGFyZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2ctc3RhbmRhcmQgd2ctaW5hY3RpdmUtc3RhbmRhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2lnbmF0aW9uIj41MjktMTk4MC9Db3IgMS0yMDE3PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTdXBwbGVtZW50IGZvciBTdHJhcGRvd24gQXBwbGljYXRpb25zIHRvIElFRUUgU3RhbmRhcmQgU3BlY2lmaWNhdGlvbiBGb3JtYXQgR3VpZGUgYW5kIFRlc3QgUHJvY2VkdXJlIGZvciBTaW5nbGUtRGVncmVlLW9mLUZyZWVkb20gUmF0ZS1JbnRlZ3JhdGluZyBHeXJvcyAtIENvcnJpZ2VuZHVtIDE6IDMuMy45LjIuMiwgMy42LjQuMS4xLCAzLjYuNC4xLjIsIDYuMywgYW5kIDEwLjEwLjQuMTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+Q29ycmVjdGlvbnMgYXJlIG1hZGUgYnkgdGhpcyBjb3JyaWdlbmR1bSB0byBtYXRlcmlhbCBhbHJlYWR5IHB1Ymxpc2hlZCBpbiBJRUVFIFN0ZCA1MjktMTk4MC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzUyOS0xOTgwX0Nvcl8xLzU3ODAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY0Ny0yMDA2PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIFNpbmdsZS1BeGlzIExhc2VyIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5TcGVjaWZpY2F0aW9uIGFuZCB0ZXN0IHJlcXVpcmVtZW50cyBmb3IgYSBzaW5nbGUtYXhpcyByaW5nIGxhc2VyIGd5cm8gKFJMRykgZm9yIHVzZSBhcyBhICBzZW5zb3IgaW4gYXR0aXR1ZGUgY29udHJvbCBzeXN0ZW1zLCBhbmd1bGFyIGRpc3BsYWNlbWVudCBtZWFzdXJpbmcgc3lzdGVtcywgYW5kIGFuZ3VsYXIgcmF0ZSAgbWVhc3VyaW5nIHN5c3RlbXMgYXJlIGRlZmluZWQuIEEgc3RhbmRhcmQgc3BlY2lmaWNhdGlvbiBmb3JtYXQgZ3VpZGUgZm9yIHRoZSBwcmVwYXJhdGlvbiBvZiBhICBzaW5nbGUtYXhpcyBSTEcgaXMgcHJvdmlkZWQuIEEgY29tcGlsYXRpb24gb2YgcmVjb21tZW5kZWQgcHJvY2VkdXJlcyBmb3IgdGVzdGluZyBhbiBSTEcsICBkZXJpdmVkIGZyb20gdGhvc2UgcHJlc2VudGx5IHVzZWQgaW4gdGhlIGluZHVzdHJ5LCBpcyBhbHNvIHByb3ZpZGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNjQ3LzMxMzQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY3MS0xOTg1PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC10aXRsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoNCI+SUVFRSBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uIEZvcm1hdCBHdWlkZSBhbmQgVGVzdCBQcm9jZWR1cmUgZm9yIE5vbmd5cm9zY29waWMgSW5lcnRpYWwgQW5ndWxhciBTZW5zb3JzOiBKZXJrLCBBY2NlbGVyYXRpb24sIFZlbG9jaXR5LCBhbmQgRGlzcGxhY2VtZW50PC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIGd1aWRlIGlzIHByZXNlbnRlZCBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgc3BlY2lmaWNhdGlvbiBhbmQgdGVzdCBwcm9jZWR1cmUgZm9yIGFuIGluZXJ0aWFsIGFuZ3VsYXIgc2Vuc29yIHRoYXQgcHJvdmlkZXMgYSBjb21tb24gbWVldGluZyBncm91bmQgb2YgdGVybWlub2xvZ3kgYW5kIHByYWN0aWNlIGZvciBtYW51ZmFjdHVyZXJzIGFuZCB1c2VycyBvZiBhbiBhcnJheSBvZiBzZW5zb3JzIHRoYXQgaGF2ZSBiZWVuIGRldmVsb3BlZCB0byBtZWV0IG5lZWRzIG5vdCBlYXNpbHkgbWV0IGJ5IHRyYWRpdGlvbmFsIHNwaW5uaW5nLXJvdG9yIGd5cm9zY29wZXMuIEEgdGVzdCBwcm9jZWR1cmUgZm9yIHZlcmlmeWluZyB0aGF0IHRoZSBzcGVjaWZpY2F0aW9ucyBoYXZlIGJlZW4gbWV0IGlzIGdpdmVuLiBUaGUgc3RhbmRhcmQgaXMgbm90IGludGVuZGVkIHRvIGNvbXBldGUgd2l0aCBleGlzdGluZyBzdGFuZGFyZHMgZm9yIHNwZWNpZmljIGRldmljZXMgd2l0aCBoaWdobHkgc3BlY2lmaWMgbW9kZWxzIGFuZCBlcnJvciBzb3VyY2VzLCBzdWNoIGFzIHNwcmluZy1yZXN0cmFpbmVkIHJhdGUgZ3lyb3MsIGJ1dCB0byBwcm92aWRlIGEgdW5pZm9ybSBndWlkZSBmb3IgdGhvc2UgaW5lcnRpYWwgYW5ndWxhciBzZW5zb3JzIHRoYXQgaGF2ZSBub3QgYmVlbiBjb3ZlcmVkIGVsc2V3aGVyZS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC11cmwiIGNsYXNzPSJhcnJvdy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9pZWVlLzY3MS85MjYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJMZWFybiBNb3JlIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ud2ctc3RhbmRhcmQgLndnLWluYWN0aXZlLXJlc2VydmVkIHN0YW5kYXJkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3Zy1zdGFuZGFyZCB3Zy1pbmFjdGl2ZS1zdGFuZGFyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtZGVzaWduYXRpb24iPjY3MS0xOTg1L0NvciAxLTIwMTA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFN0YW5kYXJkIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgTm9uZ3lyb3Njb3BpYyBJbmVydGlhbCBBbmd1bGFyIFNlbnNvcnM6IEplcmssIEFjY2VsZXJhdGlvbiwgVmVsb2NpdHksIGFuZCBEaXNwbGFjZW1lbnQgQ29ycmlnZW5kdW0gMTogNC43LjIuNiBTaG9ydC1UZXJtIFN0YWJpbGl0eSBhbmQgQW5uZXggQSBTZW5zb3IgRHluYW1pYyBCbG9jayBEaWFncmFtczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+SUVFRSBTdGQgNjcxLTE5ODUgcHJvdmlkZXMgc3BlY2lmaWNhdGlvbnMgYW5kIHRlc3QgcmVxdWlyZW1lbnRzIGZvciBhIG5vbi1neXJvc2NvcGljIGluZXJ0aWFsIGFuZ3VsYXIgc2Vuc29yIHRoYXQgbWF5IG1lYXN1cmUgYW5ndWxhciBqZXJrLCBhY2NlbGVyYXRpb24sIHJhdGUsIG9yIGRpc3BsYWNlbWVudCB3aXRoIG9yIHdpdGhvdXQgcmVzcG9uc2UgZG93biB0byB6ZXJvIGZyZXF1ZW5jeS4gQSBzdGFuZGFyZCBzcGVjaWZpY2F0aW9uIGZvcm1hdCBpcyBwcm92aWRlZC4gQSBjb21waWxhdGlvbiBvZiByZWNvbW1lbmRlZCB0ZXN0IHByb2NlZHVyZXMsIGRlcml2ZWQgZnJvbSB0aG9zZSBwcmVzZW50bHkgdXNlZCBpbiB0aGUgaW5kdXN0cnksIGlzIGFsc28gcHJvdmlkZWQuIEluZm9ybWF0aXZlIGFubmV4ZXMgY292ZXIgZGVzaWduIGZlYXR1cmVzIGFuZCB0aGVvcmV0aWNhbCBwcmluY2lwbGVzIG9mIG9wZXJhdGlvbi4gIFRoaXMgY29ycmlnZW5kdW0gbWFrZXMgY2hhbmdlcyB0byA0LjcuMi42IHRvIGRlbGV0ZSBhIHNlbnRlbmNlIHRoYXQgZG9lcyBub3QgYmVsb25nIHRoZXJlLCB0byBhZGQgYSBzdWJjbGF1c2UgdGhhdCB3YXMgaW5hZHZlcnRlbnRseSBsZWZ0IG91dCwgYW5kIHRvIHJlbnVtYmVyIHRoZSBleGlzdGluZyBzdWJjbGF1c2VzLiBDaGFuZ2VzIGFyZSBhbHNvIGJlaW5nIG1hZGUgdG8gZml4IHRoZSBibG9jayBkaWFncmFtcyBpbiBBbm5leCBBLCB0byBjb3JyZWN0IGEgbWlzc3BlbGxpbmcgb2YgaW5lcnRpYSwgYW5kIHRvIGFkZCBhIG1pc3Npbmcgc3ltYm9sLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXVybCIgY2xhc3M9ImFycm93LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2llZWUvNjcxLTE5ODVfQ29yXzEvNDY4MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+ODEzLTE5ODg8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFNwZWNpZmljYXRpb24gRm9ybWF0IEd1aWRlIGFuZCBUZXN0IFByb2NlZHVyZSBmb3IgVHdvLURlZ3JlZS1vZi1GcmVlZG9tIER5bmFtaWNhbGx5IFR1bmVkIEd5cm9zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLWRlc2NyaXB0aW9uIj5BIGZvcm1hdCBndWlkZSBmb3IgdGhlIHByZXBhcmF0aW9uIG9mIGEgdHdvLWRlZ3JlZS1vZi1mcmVlZG9tIGR5bmFtaWNhbGx5IHR1bmVkIGd5cm8gKERURykgc3BlY2lmaWNhdGlvbiBpcyBnaXZlbiB0aGF0IHByb3ZpZGVzIGEgY29tbW9uIGdyb3VuZCBvZiB0ZXJtaW5vbG9neSBhbmQgcHJhY3RpY2UgZm9yIG1hbnVmYWN0dXJlcnMgYW5kIHVzZXJzLiBBIGNvbXBpbGF0aW9uIG9mIHJlY29tbWVuZGVkIHByb2NlZHVyZXMgZm9yIHRlc3RpbmcgYSBEVEcgaXMgYWxzbyBnaXZlbi4gVGhlIHJlcXVpcmVtZW50cyBhbmQgdGVzdCBwcm9jZWR1cmVzIGFyZSBkZWZpbmVkIGluIHRlcm1zIHVuaXF1ZSB0byB0aGUgRFRHLiBUaGV5IGNvdmVyIGFwcGxpY2F0aW9ucyBvZiB0aGUgZ3lybyBhcyBhbiBhbmd1bGFyIG1vdGlvbiBzZW5zb3IgaW4gbmF2aWdhdGlvbiBhbmQgY29udHJvbCBzeXN0ZW1zLiBUaGV5IGFwcGx5IHRvIHR3byBtb2RlcyBvZiB1c2U6ICgxKSBhcyBhIHN0cmFwLWRvd24gc2Vuc29yIGluIG9wZXJhdGluZyBlbnZpcm9ubWVudHMgdHlwaWNhbCBvZiBhaXJjcmFmdCBhbmQgbWlzc2lsZSBhcHBsaWNhdGlvbnMsIGFuZCAoMikgYXMgYSBzZW5zb3IgaW4gZ2ltYmFsbGVkIHBsYXRmb3JtIGFwcGxpY2F0aW9ucyBpbiB3aGljaCB0aGUgZHluYW1pYyBhbmd1bGFyIGlucHV0cyB0byB3aGljaCB0aGUgZ3lybyBpcyBzdWJqZWN0ZWQgYXJlIGJlbmlnbiByZWxhdGl2ZSB0byB0aGUgYWNjdXJhY3kgcmVxdWlyZWQuIEluIHRoZSBjYXNlIG9mIHRoZSBzdHJhcC1kb3duIERURywgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZXh0ZXJuYWwgY2FwdHVyZSBsb29wcyBhcmUgY29uc2lkZXJlZCB0byB0aGUgZXh0ZW50IG5lY2Vzc2FyeSB0byBkZWZpbmUgdGhlIGd5cm8gcGVyZm9ybWFuY2UuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS84MTMvMTIwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndnLXN0YW5kYXJkIHdnLWluYWN0aXZlLXN0YW5kYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNpZ25hdGlvbiI+ODM2LTIwMDk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgaWQ9IndnLWluYWN0aXZlLXJlc2VydmVkLXN0YW5kYXJkLXRpdGxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Img0Ij5JRUVFIFJlY29tbWVuZGVkIFByYWN0aWNlIGZvciBQcmVjaXNpb24gQ2VudHJpZnVnZSBUZXN0aW5nIG9mIExpbmVhciBBY2NlbGVyb21ldGVyczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ3Zy1pbmFjdGl2ZS1yZXNlcnZlZC1zdGFuZGFyZC1kZXNjcmlwdGlvbiI+VGhpcyByZWNvbW1lbmRlZCBwcmFjdGljZSBkZXNjcmliZXMgdGhlIGNvbmR1Y3QgYW5kIGFuYWx5c2lzIG9mIHByZWNpc2lvbiB0ZXN0cyB0aGF0IGFyZSB0byBiZSBwZXJmb3JtZWQgb24gbGluZWFyIGFjY2VsZXJvbWV0ZXJzIHVzaW5nIGNlbnRyaWZ1Z2UgdGVjaG5pcXVlcy4gVGhlIHRlcm0gdTIwMWNwcmVjaXNpb24sdTIwMWQgaW4gdGhpcyBjb250ZXh0LCByZWZlcnMgdG8gdGVzdHMgdGhhdCBhcmUgY29uZHVjdGVkIHRvIGV2YWx1YXRlIGFjY2VsZXJvbWV0ZXIgcGFyYW1ldGVycywgYXMgb3Bwb3NlZCB0byB0aG9zZSBjb25kdWN0ZWQgdG8gZXN0YWJsaXNoIGVudmlyb25tZW50YWwgc3Vydml2YWJpbGl0eSBvbmx5LiBFdmFsdWF0aW9uIG1heSB0YWtlIHRoZSBmb3JtIG9mIGRldGVybWluaW5nIHRoZSBjb2VmZmljaWVudHMgb2YgdGhlIGFjY2VsZXJvbWV0ZXIncyBtb2RlbCBlcXVhdGlvbiwgZXhjZXB0IGZvciBiaWFzIGFuZCBzY2FsZSBmYWN0b3IsIHdoaWNoIGFyZSBtb3N0IGFjY3VyYXRlbHkgZGV0ZXJtaW5lZCBieSBzdGF0aWMgbXVsdGktcG9zaXRpb24gdGVzdHMuIEFsdGVybmF0aXZlbHksIGV2YWx1YXRpb24gbWF5IG9ubHkgZXN0YWJsaXNoIHRoYXQgdGhlIGFjY2VsZXJvbWV0ZXIgb3V0cHV0IGNvbXBsaWVzIHdpdGggc3BlY2lmaWMgZXJyb3IgbGltaXQgY3JpdGVyaWEuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YSBpZD0id2ctaW5hY3RpdmUtcmVzZXJ2ZWQtc3RhbmRhcmQtdXJsIiBjbGFzcz0iYXJyb3ctbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvaWVlZS84MzYvMzQ0OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkxlYXJuIE1vcmUiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy53Zy1zdGFuZGFyZCAud2ctaW5hY3RpdmUtcmVzZXJ2ZWQgc3RhbmRhcmQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy50YWItcGFuZS1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctaW5hY3RpdmUtc3RhbmRhcmRzIC50YWItcGFuZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd2ctdGFiLWNvbnRlbnQgLnRhYi1jb250ZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvI3dvcmtpbmctZ3JvdXAtcHJvamVjdHMtc3RhbmRhcmRzIC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jd29ya2luZy1ncm91cCAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jbWFpbi1jb250ZW50IC5jb2wtMTIgLmNvbC1sZy0xMCAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICA8L3NlY3Rpb24+IDwhLS0gLyNjb250ZW50IC0tPgo8L21haW4+CgogICAgPGZvb3Rlcj4KICAgICAgICA8c2VjdGlvbiBpZD0iZm9vdGVyLXRvcCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLXNtLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXItbG9nbyIgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvZ28tbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvIiB0aXRsZT0iVmlzaXQgSUVFRS5vcmciPjxpbWcgc3JjPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3RoZW1lcy9pZWVlLXNhLXRoZW1lL2ltZy9pZWVlLWxvZ28yeC5wbmciIGFsdD0iSUVFRSBsb2dvIj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8jZm9vdGVyLWxvZ28gLmxvZ28gLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1zbS00IC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNvY2lhbC1tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBzb2NpYWwtbWVkaWEganVzdGlmeS1jb250ZW50LXNtLWVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC1mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2llZWVzYS8iIHRpdGxlPSJGYWNlYm9vayI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5GYWNlYm9vazwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLXR3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vaWVlZXNhIiB0aXRsZT0iVHdpdHRlciI+PGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIiPjwvaT4gPHNwYW4gY2xhc3M9InNyLW9ubHkiPlR3aXR0ZXI8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC1saW5rZWRpbiIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvaWVlZS1zYS1pZWVlLXN0YW5kYXJkcy1hc3NvY2lhdGlvbi8iIHRpdGxlPSJMaW5rZWRJbiI+PGkgY2xhc3M9ImZhIGZhLWxpbmtlZGluIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5MaW5rZWRJbjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsgc29jaWFsLWljb24gc29jaWFsLWluc3RhZ3JhbSIgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9pZWVlc2EvIiB0aXRsZT0iSW5zdGFncmFtIj48aSBjbGFzcz0iZmEgZmEtaW5zdGFncmFtIj48L2k+IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5JbnN0YWdyYW08L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIHNvY2lhbC1pY29uIHNvY2lhbC15b3V0dWJlIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZWVlc2EiIHRpdGxlPSJZb3VUdWJlIj48aSBjbGFzcz0iZmEgZmEteW91dHViZSI+PC9pPiA8c3BhbiBjbGFzcz0ic3Itb25seSI+WW91VHViZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLnNvY2lhbC1tZWRpYSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNzb2NpYWwtbWVkaWEgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLmNvbC1zbS04IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5yb3cgLS0+CiAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8uY29udGFpbmVyIC0tPgogICAgICAgIDwvc2VjdGlvbj4gPCEtLSAvI2Zvb3Rlci10b3AgLS0+CgogICAgICAgIDxzZWN0aW9uIGlkPSJmb290ZXItd2lkZ2V0cyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+SUVFRSBTQTwvZGl2Pgo8ZGl2IGNsYXNzPSJtZW51LWZvb3Rlci1tZW51LWllZWUtc2EtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtaWVlZS1zYSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTg0MzciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODQzNyI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvIj5BYm91dCBVczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzcwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzAiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L21lbWJlcnNoaXAvIj5JRUVFIFNBIE1lbWJlcnNoaXA8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM3MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzcxIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9jb3JwY2hhbi8iPkNvcnBvcmF0ZSBQcm9ncmFtPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTk0MTgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tOTQxOCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvZGlzdHJpYi8iPkRpc3RyaWJ1dG9yIFByb2dyYW08L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM3MiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzcyIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC90cmFpbmluZy8iPlRyYWluaW5nICYjMDM4OyBEZXZlbG9wbWVudDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04NDM4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0MzgiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3BvbGljaWVzLyI+UG9saWNpZXMgJiMwMzg7IFByb2NlZHVyZXM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODQzOSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04NDM5Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9jb250YWN0LyI+Q29udGFjdCBVczwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1zbS02IGNvbC1tZC0zIj48IS0tIGJlZ2luIGNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0Ij48IS0tIGJlZ2luIHdpZGdldCAtLT4KPGRpdiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5Cb2FyZCBvZiBHb3Zlcm5vcnM8L2Rpdj4KPGRpdiBjbGFzcz0ibWVudS1mb290ZXItbWVudS1ib2FyZC1vZi1nb3Zlcm5vcnMtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtYm9hcmQtb2YtZ292ZXJub3JzIiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODM2MyIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzYzIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9ib2cvIj5BYm91dCBCb2FyZCBvZiBHb3Zlcm5vcnM8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM2NCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzY0Ij48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9ib2cvYXJjb20vIj5Bd2FyZHMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNjUiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM2NSI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvYm9nL2NhZy8iPkNvcnBvcmF0ZSBBZHZpc29yeSBHcm91cDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjYiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9pY2NvbS8iPkluZHVzdHJ5IENvbm5lY3Rpb25zIENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjciPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9yYWMvIj5SZWdpc3RyYXRpb24gQXV0aG9yaXR5IENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MzY4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNjgiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L2JvZy9zcGNjLyI+U3RyYXRlZ2ljIFBsYW5uaW5nIENvb3JkaW5hdGlvbiBDb21taXR0ZWU8L2E+PC9saT4KPC91bD48L2Rpdj48L2Rpdj4KPCEtLSBlbmQgd2lkZ2V0IC0tPgo8L2Rpdj48IS0tIGVuZCBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+U3RhbmRhcmRzIEJvYXJkPC9kaXY+CjxkaXYgY2xhc3M9Im1lbnUtZm9vdGVyLW1lbnUtc3RhbmRhcmRzLWJvYXJkLWNvbnRhaW5lciI+PHVsIGlkPSJtZW51LWZvb3Rlci1tZW51LXN0YW5kYXJkcy1ib2FyZCIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgzNzgiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3OCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi8iPkFib3V0IFN0YW5kYXJkcyBCb2FyZDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04Mzc5IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzNzkiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3Nhc2Ivc2JhLyI+Qm9hcmQgQXBwcm92YWxzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODAiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MCI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9hdWRjb20vIj5BdWRpdCBDb21taXR0ZWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODM4MSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MzgxIj48YSBocmVmPSJodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy9hYm91dC9zYXNiL25lc2NvbS8iPk5ldyBTdGFuZGFyZHMgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODIiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MiI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9wYXRjb20vIj5QYXRlbnQgQ29tbWl0dGVlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzODMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM4MyI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvYWJvdXQvc2FzYi9wcm9jb20vIj5Qcm9jZWR1cmVzIENvbW1pdHRlZTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04Mzg0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgzODQiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2Fib3V0L3Nhc2IvcmV2Y29tLyI+U3RhbmRhcmRzIFJldmlldyBDb21taXR0ZWU8L2E+PC9saT4KPC91bD48L2Rpdj48L2Rpdj4KPCEtLSBlbmQgd2lkZ2V0IC0tPgo8L2Rpdj48IS0tIGVuZCBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtc20tNiBjb2wtbWQtMyI+PCEtLSBiZWdpbiBjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndpZGdldCI+PCEtLSBiZWdpbiB3aWRnZXQgLS0+CjxkaXYgY2xhc3M9IndpZGdldC10aXRsZSI+TmV3cyAmIzAzODsgRXZlbnRzPC9kaXY+CjxkaXYgY2xhc3M9Im1lbnUtZm9vdGVyLW1lbnUtbmV3cy1ldmVudHMtY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUtbmV3cy1ldmVudHMiIGNsYXNzPSJtZW51Ij48bGkgaWQ9Im1lbnUtaXRlbS04NDQwIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0NDAiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL25ld3MvIj5OZXdzPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgzNzYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODM3NiI+PGEgaHJlZj0iaHR0cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvbmV3cy9zd2lyZS8iPklFRUUgU0EgTmV3c2xldHRlcjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04NDQxIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTg0NDEiPjxhIGhyZWY9Imh0dHBzOi8vc3RhbmRhcmRzLmllZWUub3JnL2V2ZW50cy8iPkV2ZW50czwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2Pgo8IS0tIGVuZCB3aWRnZXQgLS0+CjwvZGl2PjwhLS0gZW5kIGNvbHVtbiAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIC8ucm93IC0tPgogICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLmNvbnRhaW5lciAtLT4KICAgICAgICA8L3NlY3Rpb24+IDwhLS0gLyNmb290ZXItd2lkZ2V0cyAtLT4KCiAgICAgICAgPHNlY3Rpb24gaWQ9ImZvb3Rlci1iYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBmb290ZXItYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iLyIgdGl0bGU9IkhvbWUiPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL3NpdGVtYXAvIiB0aXRsZT0iU2l0ZW1hcCI+U2l0ZW1hcDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9hYm91dC9jb250YWN0Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ29udGFjdCAmYW1wOyBTdXBwb3J0Ij5Db250YWN0ICZhbXA7IFN1cHBvcnQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvYWNjZXNzaWJpbGl0eS1zdGF0ZW1lbnQuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJBY2Nlc3NpYmlsaXR5Ij5BY2Nlc3NpYmlsaXR5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj48YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmllZWUub3JnL2Fib3V0L2NvcnBvcmF0ZS9nb3Zlcm5hbmNlL3A5LTI2Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iTm9uZGlzY3JpbWluYXRpb24gUG9saWN5Ij5Ob25kaXNjcmltaW5hdGlvbiBQb2xpY3k8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly9zZWN1cmUuZXRoaWNzcG9pbnQuY29tL2RvbWFpbi9tZWRpYS9lbi9ndWkvMjA0MTAvaW5kZXguaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJRUVFIEV0aGljcyBSZXBvcnRpbmciPklFRUUgRXRoaWNzIFJlcG9ydGluZzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL3d3dy5pZWVlLm9yZy9zZWN1cml0eS1wcml2YWN5Lmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iSUVFRSBQcml2YWN5IFBvbGljeSI+SUVFRSBQcml2YWN5IFBvbGljeTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvaXByLyIgdGl0bGU9IklFRUUgU0EgQ29weXJpZ2h0IFBvbGljeSI+SUVFRSBTQSBDb3B5cmlnaHQgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+IDwhLS0gLy5uYXYgLmZvb3RlciAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY29weXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZjb3B5OyBDb3B5cmlnaHQgPHNwYW4gaWQ9ImNvcHlyaWdodC15ZWFyIj4yMDIxPC9zcGFuPiBJRUVFICZuZGFzaDsgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIG9mIHRoaXMgd2Vic2l0ZSBzaWduaWZpZXMgeW91ciBhZ3JlZW1lbnQgdG8gdGhlIDxhIGNsYXNzPSJmb290ZXItbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuaWVlZS5vcmcvYWJvdXQvaGVscC9zaXRlLXRlcm1zLWNvbmRpdGlvbnMuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJRUVFIFRlcm1zIGFuZCBDb25kaXRpb25zIj5JRUVFIFRlcm1zIGFuZCBDb25kaXRpb25zPC9hPi48YnI+QSBub3QtZm9yLXByb2ZpdCBvcmdhbml6YXRpb24sIElFRUUgaXMgdGhlIHdvcmxkJnJzcXVvO3MgbGFyZ2VzdCB0ZWNobmljYWwgcHJvZmVzc2lvbmFsIG9yZ2FuaXphdGlvbiBkZWRpY2F0ZWQgdG8gYWR2YW5jaW5nIHRlY2hub2xvZ3kgZm9yIHRoZSBiZW5lZml0IG9mIGh1bWFuaXR5LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLyNjb3B5cmlnaHQgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb2wtMTIgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSAvLnJvdyAtLT4KICAgICAgICAgICAgPC9kaXY+IDwhLS0gLy5jb250YWluZXIgLS0+CiAgICAgICAgPC9zZWN0aW9uPiA8IS0tIC8jZm9vdGVyLWJhciAtLT4KICAgIDwvZm9vdGVyPgoKICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc3Vic2NyaWJlIiB0eXBlPSJidXR0b24iIGRhdGEtYnMtdG9nZ2xlPSJvZmZjYW52YXMiIGRhdGEtYnMtdGFyZ2V0PSIjbmV3c2xldHRlci1zdWJzY3JpYmUiIGFyaWEtY29udHJvbHM9Im5ld3NsZXR0ZXItc3Vic2NyaWJlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sYWJlbD0iVG9nZ2xlIG5ld3NsZXR0ZXIgc3Vic2NyaWJlIGZvcm0iPlN1YnNjcmliZTwvYnV0dG9uPiA8IS0tIC8uYnRuIC5idG4tc3Vic2NyaWJlIC0tPgoKICAgIDxkaXYgaWQ9Im5ld3NsZXR0ZXItc3Vic2NyaWJlIiBjbGFzcz0ib2ZmY2FudmFzIG9mZmNhbnZhcy1lbmQiIGRhdGEtYnMtc2Nyb2xsPSJ0cnVlIiBkYXRhLWJzLWJhY2tkcm9wPSJ0cnVlIiB0YWJpbmRleD0iLTEiIGFyaWEtbGFiZWxsZWRieT0ibmV3c2xldHRlci1zdWJzY3JpYmUtdGl0bGUiPgogICAgICAgIDxkaXYgY2xhc3M9Im9mZmNhbnZhcy1oZWFkZXIiPgogICAgICAgICAgICA8aDUgY2xhc3M9ImgyIG9mZmNhbnZhcy10aXRsZSIgaWQ9Im5ld3NsZXR0ZXItc3Vic2NyaWJlLXRpdGxlIj5OZXdzd2lyZTwvaDU+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuLWNsb3NlIHRleHQtcmVzZXQiIGRhdGEtYnMtZGlzbWlzcz0ib2ZmY2FudmFzIiBhcmlhLWxhYmVsPSJDbG9zZSI+PC9idXR0b24+CiAgICAgICAgPC9kaXY+IDwhLS0gLy5vZmZjYXZhcy1oZWFkZXIgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ib2ZmY2FudmFzLWJvZHkiPgogICAgICAgICAgICA8cD5TaWduIHVwIGZvciBvdXIgbW9udGhseSBuZXdzbGV0dGVyIHRvIGxlYXJuIGFib3V0IG5ldyBkZXZlbG9wbWVudHMsIGluY2x1ZGluZyByZXNvdXJjZXMsIGluc2lnaHRzIGFuZCBtb3JlLjwvcD4KICAgICAgICAgICAgPCEtLSBNYXJrZXRvIEZvcm0gLS0+CiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSIvL2FwcC1hYjI4Lm1hcmtldG8uY29tL2pzL2Zvcm1zMi9qcy9mb3JtczIubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAgICAgPGZvcm0gaWQ9Im1rdG9Gb3JtXzEwMjIiIGNsYXNzPSJtYXJrZXRvRm9ybSI+PC9mb3JtPgogICAgICAgICAgICA8c2NyaXB0Pk1rdG9Gb3JtczIubG9hZEZvcm0oIi8vYXBwLWFiMjgubWFya2V0by5jb20iLCAiMjExLUZZTC05NTUiLCAxMDIyKTs8L3NjcmlwdD4KICAgICAgICA8L2Rpdj4gPCEtLSAvLm9mZmNhdmFzLWJvZHkgLS0+CiAgICA8L2Rpdj4gPCEtLSAvI25ld3NsZXR0ZXItc3Vic2NyaWJlIC5vZmZjYW52YXMgLS0+CgoKICAgIDxkaXYgY2xhc3M9InNjcmVlbi1kYXJrZW4iPjwvZGl2PiA8IS0tIC8uc2NyZWVuLWRhcmtlbiAtLT4KCiAgIDwhLS0gPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0zLjYuMC5zbGltLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGEyNTYtdTdlNWtoeWl0aGxJZFRwdTIyUEhoRU5tUGNSZEZpSFJqaEF1SGNzMDVSST0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pi0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vYm9vdHN0cmFwQDUuMS4zL2Rpc3QvanMvYm9vdHN0cmFwLmJ1bmRsZS5taW4uanMiIGludGVncml0eT0ic2hhMzg0LWthN1NrMEdsbjRnbXR6Mk1sUW5pa1Qxd1hnWXNPZytPTWh1UCtJbFJIOXNFTkJPMExSbjVxKzhuYlRvdjQrMXAiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgLy8gb2ZmY2FudmFzIG1vYmlsZSBtZW51CiAgICAgICAgZnVuY3Rpb24gZGFya2VuX3NjcmVlbih5ZXNubykgewogICAgICAgICAgICBpZiggeWVzbm8gPT0gdHJ1ZSApIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JlZW4tZGFya2VuJykuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZih5ZXNubyA9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNjcmVlbi1kYXJrZW4nKS5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2xvc2Vfb2ZmY2FudmFzKCkgewogICAgICAgICAgICBkYXJrZW5fc2NyZWVuKGZhbHNlKTsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21vYmlsZS1tZW51LnNob3cnKS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnb2ZmY2FudmFzLWFjdGl2ZScpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2hvd19vZmZjYW52YXMob2ZmY2FudmFzX2lkKSB7CiAgICAgICAgICAgIGRhcmtlbl9zY3JlZW4odHJ1ZSk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9mZmNhbnZhc19pZCkuY2xhc3NMaXN0LmFkZCgnc2hvdycpOwogICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ29mZmNhbnZhcy1hY3RpdmUnKTsKICAgICAgICB9CgoKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAvLyBhZmZpeCBoZWFkZXIgdG8gdG9wIG9uIHNjcm9sbAogICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5zY3JvbGxZID4gNTApIHsKCiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcC1iYXInKS5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKTsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFzdGhlYWQnKS5jbGFzc0xpc3QuYWRkKCdmaXhlZC10b3AnKTsKCiAgICAgICAgICAgICAgICAgICAgLy8gYWRkIHBhZGRpbmcgdG9wIHRvIHNob3cgY29udGVudCBiZWhpbmQgbmF2YmFyCiAgICAgICAgICAgICAgICAgICAgbWFzdGhlYWRIZWlnaHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbWFzdGhlYWQnKS5vZmZzZXRIZWlnaHQ7CgogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1RvcCA9IG1hc3RoZWFkSGVpZ2h0ICsgJ3B4JzsKCiAgICAgICAgICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wLWJhcicpLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpOwogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXN0aGVhZCcpLmNsYXNzTGlzdC5yZW1vdmUoJ2ZpeGVkLXRvcCcpOwoKICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgcGFkZGluZyB0b3AgZnJvbSBib2R5CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nVG9wID0gJzAnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKCgoKICAgICAgICAgICAgLy8gb2ZmY2FudmFzIG1vYmlsZSBtZW51CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRyaWdnZXJdJykuZm9yRWFjaChmdW5jdGlvbihldmVyeWVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGxldCBvZmZjYW52YXNfaWQgPSBldmVyeWVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXRyaWdnZXInKTsKICAgICAgICAgICAgICAgIGV2ZXJ5ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHNob3dfb2ZmY2FudmFzKG9mZmNhbnZhc19pZCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYnRuLWNsb3NlJykuZm9yRWFjaChmdW5jdGlvbihldmVyeWJ1dHRvbikgewogICAgICAgICAgICAgICAgZXZlcnlidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIGNsb3NlX29mZmNhbnZhcygpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNjcmVlbi1kYXJrZW4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICAgICAgICBjbG9zZV9vZmZjYW52YXMoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgLy8gRE9NQ29udGVudExvYWRlZCBlbmQKCgoKICAgICAgICAvLyBkaXNwbGF5IGN1cnJlbnQgeWVhcgogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb3B5cmlnaHQteWVhcicpLmlubmVyVGV4dCA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKICAgIDwvc2NyaXB0PgoKICAgIAkJPHNjcmlwdD4KCQkoIGZ1bmN0aW9uICggYm9keSApIHsKCQkJJ3VzZSBzdHJpY3QnOwoJCQlib2R5LmNsYXNzTmFtZSA9IGJvZHkuY2xhc3NOYW1lLnJlcGxhY2UoIC9cYnRyaWJlLW5vLWpzXGIvLCAndHJpYmUtanMnICk7CgkJfSApKCBkb2N1bWVudC5ib2R5ICk7CgkJPC9zY3JpcHQ+CgkJPHNjcmlwdD4gLyogPCFbQ0RBVEFbICovdmFyIHRyaWJlX2wxMG5fZGF0YXRhYmxlcyA9IHsiYXJpYSI6eyJzb3J0X2FzY2VuZGluZyI6IjogYWN0aXZhdGUgdG8gc29ydCBjb2x1bW4gYXNjZW5kaW5nIiwic29ydF9kZXNjZW5kaW5nIjoiOiBhY3RpdmF0ZSB0byBzb3J0IGNvbHVtbiBkZXNjZW5kaW5nIn0sImxlbmd0aF9tZW51IjoiU2hvdyBfTUVOVV8gZW50cmllcyIsImVtcHR5X3RhYmxlIjoiTm8gZGF0YSBhdmFpbGFibGUgaW4gdGFibGUiLCJpbmZvIjoiU2hvd2luZyBfU1RBUlRfIHRvIF9FTkRfIG9mIF9UT1RBTF8gZW50cmllcyIsImluZm9fZW1wdHkiOiJTaG93aW5nIDAgdG8gMCBvZiAwIGVudHJpZXMiLCJpbmZvX2ZpbHRlcmVkIjoiKGZpbHRlcmVkIGZyb20gX01BWF8gdG90YWwgZW50cmllcykiLCJ6ZXJvX3JlY29yZHMiOiJObyBtYXRjaGluZyByZWNvcmRzIGZvdW5kIiwic2VhcmNoIjoiU2VhcmNoOiIsImFsbF9zZWxlY3RlZF90ZXh0IjoiQWxsIGl0ZW1zIG9uIHRoaXMgcGFnZSB3ZXJlIHNlbGVjdGVkLiAiLCJzZWxlY3RfYWxsX2xpbmsiOiJTZWxlY3QgYWxsIHBhZ2VzIiwiY2xlYXJfc2VsZWN0aW9uIjoiQ2xlYXIgU2VsZWN0aW9uLiIsInBhZ2luYXRpb24iOnsiYWxsIjoiQWxsIiwibmV4dCI6Ik5leHQiLCJwcmV2aW91cyI6IlByZXZpb3VzIn0sInNlbGVjdCI6eyJyb3dzIjp7IjAiOiIiLCJfIjoiOiBTZWxlY3RlZCAlZCByb3dzIiwiMSI6IjogU2VsZWN0ZWQgMSByb3cifX0sImRhdGVwaWNrZXIiOnsiZGF5TmFtZXMiOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSwiZGF5TmFtZXNTaG9ydCI6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSwiZGF5TmFtZXNNaW4iOlsiUyIsIk0iLCJUIiwiVyIsIlQiLCJGIiwiUyJdLCJtb250aE5hbWVzIjpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sIm1vbnRoTmFtZXNTaG9ydCI6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLCJtb250aE5hbWVzTWluIjpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLCJuZXh0VGV4dCI6Ik5leHQiLCJwcmV2VGV4dCI6IlByZXYiLCJjdXJyZW50VGV4dCI6IlRvZGF5IiwiY2xvc2VUZXh0IjoiRG9uZSIsInRvZGF5IjoiVG9kYXkiLCJjbGVhciI6IkNsZWFyIn19Oy8qIF1dPiAqLyA8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL3N0YW5kYXJkcy5pZWVlLm9yZy93cC1jb250ZW50L3BsdWdpbnMvcGFnZS1saW5rcy10by9kaXN0L25ldy10YWIuanM/dmVyPTMuMy42JyBpZD0ncGFnZS1saW5rcy10by1qcyc+PC9zY3JpcHQ+CgogICAgPC9ib2R5Pgo8L2h0bWw+Cg==
2539
+ recorded_at: Thu, 16 Jun 2022 09:30:39 GMT
2541
2540
  recorded_with: VCR 6.1.0