relaton 1.7.pre7 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +34 -0
  3. data/.github/workflows/ubuntu.yml +32 -0
  4. data/.github/workflows/windows.yml +35 -0
  5. data/docs/README.adoc +3 -233
  6. data/lib/relaton/config.rb +2 -3
  7. data/lib/relaton/db.rb +35 -247
  8. data/lib/relaton/db_cache.rb +6 -28
  9. data/lib/relaton/processor.rb +0 -11
  10. data/lib/relaton/registry.rb +1 -1
  11. data/lib/relaton/version.rb +1 -1
  12. data/lib/relaton.rb +7 -8
  13. data/relaton.gemspec +6 -8
  14. data/spec/relaton/db_cache_spec.rb +1 -1
  15. data/spec/relaton/db_spec.rb +0 -145
  16. data/spec/relaton/processor_spec.rb +0 -4
  17. data/spec/relaton/regirtry_spec.rb +44 -54
  18. data/spec/relaton_spec.rb +19 -120
  19. data/spec/vcr_cassetes/19133_2005.yml +20 -20
  20. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +10 -10
  21. data/spec/vcr_cassetes/fisp_140.yml +6 -6
  22. data/spec/vcr_cassetes/gb_t_20223_2006.yml +11 -15
  23. data/spec/vcr_cassetes/ieee_528_2019.yml +17 -17
  24. data/spec/vcr_cassetes/iho_b_11.yml +15 -15
  25. data/spec/vcr_cassetes/iso_111111119115_1.yml +5 -5
  26. data/spec/vcr_cassetes/iso_19115.yml +22 -22
  27. data/spec/vcr_cassetes/iso_19115_1.yml +20 -20
  28. data/spec/vcr_cassetes/iso_19115_1_2.yml +39 -39
  29. data/spec/vcr_cassetes/iso_awi_24229.yml +22 -22
  30. data/spec/vcr_cassetes/ogc_19_025r1.yml +1902 -2554
  31. data/spec/vcr_cassetes/ogm_ami4ccm_1_0.yml +7 -7
  32. data/spec/vcr_cassetes/rfc_8341.yml +15 -47
  33. data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
  34. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +30 -30
  35. data/spec/vcr_cassetes/w3c_json_ld11.yml +12 -12
  36. metadata +51 -61
  37. data/.github/workflows/rake.yml +0 -46
  38. data/globalcache/iec/iec_60050_102_2007.xml +0 -58
  39. data/globalcache/iec/version +0 -1
  40. data/lib/relaton/workers_pool.rb +0 -23
  41. data/spec/vcr_cassetes/cie_001_1980.yml +0 -120
  42. data/spec/vcr_cassetes/ecma_6.yml +0 -159
  43. data/spec/vcr_cassetes/hist_cmbined_included.yml +0 -105
  44. data/spec/vcr_cassetes/iec_60050_102_2007.yml +0 -285
  45. data/spec/vcr_cassetes/iec_combined_included.yml +0 -945
  46. data/spec/vcr_cassetes/iso_combined_applied.yml +0 -361
  47. data/spec/vcr_cassetes/iso_combined_included.yml +0 -361
  48. data/spec/vcr_cassetes/itu_combined_included.yml +0 -1296
  49. data/spec/vcr_cassetes/rfc_unsuccess.yml +0 -70
@@ -19,23 +19,21 @@ http_interactions:
19
19
  message: OK
20
20
  headers:
21
21
  Date:
22
- - Thu, 25 Mar 2021 18:10:26 GMT
22
+ - Wed, 25 Nov 2020 23:46:35 GMT
23
23
  Content-Type:
24
24
  - text/html;charset=UTF-8
25
- Content-Language:
26
- - zh-CN
27
25
  Set-Cookie:
28
- - JSESSIONID=D4540DBC04A373051C65CAF12DD5B536; Path=/bzgk; HttpOnly
26
+ - JSESSIONID=4744882748C751A9E6B488EC39DE3520; Path=/bzgk; HttpOnly
29
27
  Vary:
30
28
  - Accept-Encoding
31
- Content-Length:
32
- - '10152'
29
+ Transfer-Encoding:
30
+ - chunked
33
31
  body:
34
32
  encoding: ASCII-8BIT
35
33
  string: !binary |-
36
- DQoNCg0KDQoNCg0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJ6aC1DTiI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iL2J6Z2svZmF2aWNvbi5pY28iPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvYnpnay9mYXZpY29uLmljbyI+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCINCgljb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4NCjwhLS1baWYgbHQgSUUgOV0+DQo8c2NyaXB0IHNyYz0iL2J6Z2svanMvaHRtbDUuanMiPjwvc2NyaXB0Pg0KPCFbZW5kaWZdLS0+DQo8bGluayBocmVmPSIuLi9jc3MvcWJjeC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYnpnay9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2pzL2pxdWVyeS0xLjExLjMubWluLmpzIj48L3NjcmlwdD4NCjx0aXRsZT7lm73lrrbmoIflh4blhajmlofpmIXor7t85qCH5YeG5qOA57SiPC90aXRsZT4NCjwvaGVhZD4NCjxzdHlsZT4NCkBtZWRpYSAoIG1heC13aWR0aCA6IDc2OHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgew0KCWJvZHkgew0KCQl3aWR0aDogMXB4Ow0KCQltaW4td2lkdGg6IDEwMCU7DQoJCSp3aWR0aDogMTAwJTsNCgl9DQoJI3N0YWdlIHsNCgkJb3ZlcmZsb3c6IGF1dG87DQoJCW1pbi1oZWlnaHQ6IDEwMHZoOw0KCQktd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQoJfQ0KfQ0KDQpib2R5IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1Ow0KfQ0KDQouc2NyZWVuT3JkZXIgew0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLnJlc3VsdF9saXN0IHRoIHsNCglwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQoJbGluZS1oZWlnaHQ6IDM1cHggIWltcG9ydGFudDsNCn0NCi8qLmNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7fSovDQo8L3N0eWxlPg0KPGJvZHk+DQoJDQoJDQoNCjxzdHlsZT4NCglAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHsNCgkgICN4c01haW5Mb2dve3dpZHRoOjkwJTt6LWluZGV4OjEwMDA7bWFyZ2luOjAgYXV0bzttYXJnaW4tdG9wOjE1cHg7ZGlzcGxheTpibG9ja30NCgkgICN4c1N1YkxvZ297ZmxvYXQ6cmlnaHQ7ei1pbmRleDoxMDAwO21hcmdpbjo1cHggNSU7fQ0KCSAgI3hzUXdMb2dve2Zsb2F0OmxlZnQ7d2lkdGg6NTAlO3otaW5kZXg6MTAwMDttYXJnaW46N3B4IDUlO30gDQoJfQ0KCUBtZWRpYSAobWluLXdpZHRoOiA1NjhweCl7DQoJICAjeHNNYWluTG9nb3tmbG9hdDpsZWZ0O3dpZHRoOjkwJTt6LWluZGV4OjEwMDA7bWFyZ2luLXRvcDoxNXB4O21hcmdpbi1sZWZ0OjYlO30NCgkgICN4c1N1YkxvZ297d2lkdGg6MzMlO3otaW5kZXg6MTAwMDttYXJnaW4tdG9wOjQwcHg7bWFyZ2luLXJpZ2h0OjElO30NCgkgICN4c1F3TG9nb3tmbG9hdDpyaWdodDt3aWR0aDo5MCU7ei1pbmRleDoxMDAwO21hcmdpbjoxNXB4IDUlO21hcmdpbi1sZWZ0OjYlO30NCgkgIC54c0Rpdnt3aWR0aDo2NSV9DQoJfSANCgkucG9wb3ZlciAucG9wb3Zlci10aXRsZXt0ZXh0LWFsaWduOmNlbnRlcjt9IA0KCSNzYWNMb2dve3RleHQtZGVjb3JhdGlvbjpub25lO3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZToxMnB4O3otaW5kZXg6MTAwMDt0b3A6MTBweDtsZWZ0OjIwcHg7Y29sb3I6I0U0RTRFNDtkaXNwbGF5OmlubGluZS1ibG9jazt9DQoJI3NhY0xvZ286aG92ZXJ7Y29sb3I6d2hpdGU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KCSNzYWNMb2dvOnZpc2l0ZWR7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCiQoZnVuY3Rpb24oKXsNCgkkKCcjbW9iaWxlRXdtJykucG9wb3Zlcih7aHRtbDp0cnVlfSk7DQp9KQ0KPC9zY3JpcHQ+IA0KPGRpdiBzdHlsZT0id2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvYmFubmVyYmcuanBnKTsiPg0KCQ0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCQ0KCQk8ZGl2IGNsYXNzPSJyb3cgaGlkZGVuLXhzIGhpZGRlbi1zbSIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxODBweDsiPiANCgkJCQ0KCQkJPGltZyBzcmM9Ii4uL2ltYWdlcy9tYWluLWxvZ28ucG5nIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO3RvcDo1MHB4O2xlZnQ6MzBweDsiLz4gIA0KCQkJPGltZyBzcmM9Ii4uL2ltYWdlcy9xd2ZiLnBuZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDt0b3A6MTE1cHg7bGVmdDozMHB4OyIvPiAgDQoJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL3N1Yi1sb2dvLnBuZyIgd2lkdGg9IjMwNCIgaGVpZ2h0PSI1MyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDt0b3A6NjVweDtyaWdodDo0MHB4OyIvPiANCgkJCTxpbWcgc3JjPSIuLi9pbWFnZXMvbG9nbzQuanBnIiB3aWR0aD0iODAyIiBoZWlnaHQ9IjE4MCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6OTk5O3RvcDowO3JpZ2h0OjA7Ii8+IA0KCQk8L2Rpdj4NCgkJPGRpdiBjbGFzcz0icm93IHZpc2libGUteHMgdmlzaWJsZS1zbSIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi9pbWFnZXMvbG9nbzQuanBnJykiPg0KCQkJPGRpdiBjbGFzcz0ieHNEaXYiPg0KCQkJPGltZyBpZD0ieHNNYWluTG9nbyIgc3JjPSIuLi9pbWFnZXMvbWFpbi1sb2dvLnBuZyIgc3R5bGU9IiIvPg0KCQkJPGltZyBpZD0ieHNRd0xvZ28iIHNyYz0iLi4vaW1hZ2VzL3F3ZmIucG5nIiBzdHlsZT0iIi8+IA0KCQkJPC9kaXY+DQoJCQk8aW1nIGlkPSJ4c1N1YkxvZ28iIHNyYz0iLi4vaW1hZ2VzL3N1Yi1sb2dvLnBuZyIgd2lkdGg9IjMwJSIgc3R5bGU9IiIvPiANCgkJPC9kaXY+DQoJPC9kaXY+DQo8L2Rpdj4NCg0KPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1kZWZhdWx0IG5hdmJhci1zdGF0aWMtdG9wIiByb2xlPSJuYXZpZ2F0aW9uIiBzdHlsZT0iYmFja2dyb3VuZDojMTE1ODgzO2JvcmRlcjowO21hcmdpbi1ib3R0b206MDtwYWRkaW5nIj4gIA0KCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciIgPg0KICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIGNvbGxhcHNlZCIgc3R5bGU9Im1hcmdpbjowO21hcmdpbi10b3A6LTJweDtwYWRkaW5nOjVweDsiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNicy1leGFtcGxlLW5hdmJhci1jb2xsYXBzZS0xIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgbmF2aWdhdGlvbjwvc3Bhbj4NCiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+DQogICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPg0KICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4NCiAgICAgIDwvYnV0dG9uPg0KICAgICAgPGEgc3R5bGU9ImZvbnQtc2l6ZToxNXB4OyIgY2xhc3M9Im5hdmJhci1icmFuZCAiICBocmVmPSIvYnpnay9nYi9pbmRleCIgPummliZuYnNwO+mhtTwvYT4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQ29sbGVjdCB0aGUgbmF2IGxpbmtzLCBmb3JtcywgYW5kIG90aGVyIGNvbnRlbnQgZm9yIHRvZ2dsaW5nIC0tPg0KICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSIgaWQ9ImJzLWV4YW1wbGUtbmF2YmFyLWNvbGxhcHNlLTEiPg0KICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiI+DQogICAgICAgIA0KICAgICAgICA8bGkgY2xhc3M9IiI+PGEgaHJlZj0iL2J6Z2svZ2Ivc3RkX2xpc3RfdHlwZT9wLnAxPTEmcC5wOTA9Y2lyY3VsYXRpb25fZGF0ZSZwLnA5MT1kZXNjIj7lvLrliLbmgKflm73lrrbmoIflh4Y8L2E+PC9saT4NCiAgICAgICAgPGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9iemdrL2diL3N0ZF9saXN0X3R5cGU/cC5wMT0yJnAucDkwPWNpcmN1bGF0aW9uX2RhdGUmcC5wOTE9ZGVzYyI+5o6o6I2Q5oCn5Zu95a625qCH5YeGPC9hPjwvbGk+DQogICAgICAgIA0KICAgICAgPC91bD4NCiAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4NCiAgICAgIAkNCiAgICAgIAkNCiAgICAgIAkNCiAgICAgIAk8bGkgY2xhc3M9ImFjdGl2ZSI+PGE+5qCH5YeG5qOA57Si57uT5p6cPC9hPjwvbGk+DQogICAgICAJPGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9iemdrL2diL2hlbHAiPuW4ruWKqTwvYT48L2xpPg0KICAgICAgCTxsaSBjbGFzcz0iIj48YSBocmVmPSIvYnpnay9nYi9jb250YWN0Ij7ogZTns7vmiJHku6w8L2E+PC9saT4NCiAgICAgIAkNCiAgICAgIDwvdWw+DQogICAgICA8IS0tIDxmb3JtIGNsYXNzPSJuYXZiYXItZm9ybSBuYXZiYXItcmlnaHQiIHJvbGU9InNlYXJjaCIgb25zdWJtaXQ9InJldHVybiBmYWxzZTsiPg0KICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtc20iIHN0eWxlPSJ3aWR0aDozMDBweDttYXJnaW46MCBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW4tdG9wOjRweDsiPg0KCQkJCQkJCQkJPGlucHV0IHBsYWNlaG9sZGVyPSLor7fovpPlhaXlhbPplK7lrZciIG9ua2V5ZG93bj0iaWYoZXZlbnQua2V5Q29kZT09MTMpIHNlYXJjaCgnJywkKHRoaXMpLnZhbCgpKTsiIHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGFyaWEtbGFiZWw9Ii4uLiI+DQoJCQkJCQkJCQk8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtYnRuIj4NCgkJCQkJCQkJCQk8YnV0dG9uIGlkPSJzZWFyY2hCdG4iIGNsYXNzPSJidG4gYnRuLXdhcm5pbmciIHR5cGU9ImJ1dHRvbiIgPg0KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giPjwvc3Bhbj4NCgkJCQkJCQkJCQk8L2J1dHRvbj4NCgkJCQkJCQkJCTwvc3Bhbj4NCgkJCQkJCQkJPC9kaXY+DQogICAgICA8L2Zvcm0+IC0tPg0KICAgIDwvZGl2PjwhLS0gLy5uYXZiYXItY29sbGFwc2UgLS0+DQogIDwvZGl2PjwhLS0gLy5jb250YWluZXItZmx1aWQgLS0+DQoJPC9uYXY+DQoJDQoJPGRpdiBjbGFzcz0icmVwYmcxIiBpZD0ic3RhZ2UiPg0KCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KCQkJPG9sIGNsYXNzPSJicmVhZGNydW1iIiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MjBweDtwYWRkaW5nLWJvdHRvbTowOyI+DQoJCQkgIDxsaT48YSBocmVmPSJpbmRleCI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taG9tZSI+PC9zcGFuPiZuYnNwO+mmlumhtTwvYT48L2xpPg0KCQkJICA8bGk+PGEgaHJlZj0iZ2JNYWluUXVlcnkiPuagh+WHhuajgOe0ojwvYT48L2xpPg0KCQkJICANCgkJCSAgIDxsaSBjbGFzcz0iYWN0aXZlIj7mo4DntKLnu5Pmnpw8L2xpPg0KCQkJPC9vbD4NCgkJCQ0KCQkJIA0KDQoNCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPg0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCjx0aXRsZT7mkJzntKLooajljZU8L3RpdGxlPg0KPHN0eWxlPg0KLmljc3R5cGUgew0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLm11bHRpU2VsZWN0QnRuIHsNCglwYWRkaW5nOiAwIDVweCAhaW1wb3J0YW50Ow0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCiAJbWFyZ2luLXJpZ2h0OjEwcHg7DQp9DQoNCi5pY3NTZWxlY3RCdG4gew0KCW1hcmdpbjo1cHggMjBweCA1cHggMDsNCgl3aWR0aDppbml0aWFsICFpbXBvcnRhbnQ7DQp9DQoubXVsdGlTZWxlY3RCdG46aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7DQp9DQoNCi5tdWx0aVNlbGVjdEJ0bi1zIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOw0KCWJvcmRlci1jb2xvcjogI2RkZGRkZDsNCgljb2xvcjogI2U0MzkzYzsNCn0NCi5tQ2hlY2t7DQoJdmVydGljYWwtYWxpZ246dG9wOw0KCW1hcmdpbi1yaWdodDo1cHggIWltcG9ydGFudDs7DQp9DQouYy1yZWQgew0KCWNvbG9yOiByZWQ7DQp9DQoNCi5tLTEwIHsNCgltYXJnaW46NXB4IDA7DQp9DQoNCiNpY3MgYTpIT1ZFUiB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi5pY3NsaXN0MTpIT1ZFUiB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KLm5hdi10YWJzIC5iYWRnZXsNCglmb250LXNpemU6NzUlOw0KCWJhY2tncm91bmQtY29sb3I6I2FhYTsNCglwYWRkaW5nOjJweCA1cHg7DQoJdmVydGljYWwtYWxpZ246c3ViOw0KCW1hcmdpbi1sZWZ0OjJweDsNCn0NCi5tb2RhbCAuc3RhdGVtZW50VWwgbGl7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9wb2ludC5wbmcnKSBuby1yZXBlYXQgOHB4IDZweDt9DQoubW9kYWwgLnNtZ2cgbGl7cGFkZGluZzowIDIycHg7bWFyZ2luOjE1cHggMDtsaW5lLWhlaWdodDoyNXB4O30NCiN0eXBlIGxpe2Zsb2F0Om5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7fQ0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBjbGFzcz0icm93IiBpZD0idG9wUGFuZWwiID4NCjxkaXYgY2xhc3M9ImNvbC14cy0xMiI+DQoNCg0KPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MDsiPg0KPGRpdiBjbGFzcz0icGFuZWwtYm9keSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0ZCRkJGQiI+DQoNCjxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciB2aXNpYmxlLXhzIiBzdHlsZT0iZm9udC1zaXplOjEwcHg7bWFyZ2luLWJvdHRvbTo1cHgiPirmoIflh4bnsbvliKvlj6/lt6blj7Pmu5Hliqg8L3NwYW4+DQoNCjx1bCBpZD0idHlwZSIgY2xhc3M9Im5hdiBuYXYtdGFicyIgcm9sZT0idGFibGlzdCIgc3R5bGU9IndpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctbGVmdDowcHg7d2hpdGUtc3BhY2U6bm93cmFwO2hlaWdodDo0MXB4O2JvcmRlci1ib3R0b206MDsiPg0KCQ0KCTxsaSByb2xlPSJwcmVzZW50YXRpb24iIGNsYXNzPSJhY3RpdmUiPjxhIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiIGhyZWY9IiMiIGlkPSIwIj48c3Bhbj7lhajpg6g8c3BhbiBjbGFzcz0iYmFkZ2UiPjE8L3NwYW4+PC9zcGFuPjwvYT48L2xpPg0KCQ0KCTxsaSByb2xlPSJwcmVzZW50YXRpb24iPjxhIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiIGhyZWY9IiMiIGlkPSIyIj48c3Bhbj7mjqjojZDmgKflm73lrrbmoIflh4Y8c3BhbiBjbGFzcz0iYmFkZ2UiPjE8L3NwYW4+PC9zcGFuPjwvYT48L2xpPg0KCQ0KPC91bD4NCg0KPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCIgc3R5bGU9Im1hcmdpbi10b3A6LTJweDttYXJnaW4tYm90dG9tOjA7Ij4gDQoJCTxkaXYgaWQ9InRqUGFuZWwiIGNsYXNzPSJwYW5lbC1ib2R5Ij4NCgkJCTxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIiBzdHlsZT0ibWFyZ2luOjA7Y29sb3I6Z3JheTsiPg0KCQkgIAkJPGg1PjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXpvb20taW4iPjwvc3Bhbj4mbmJzcDvnrZvpgInmnaHku7Y8L2g1Pg0KCQkJPC9kaXY+DQoJCQkNCgkJCQ0KCQkJPGRpdiBjbGFzcz0icm93IG0tMTAiIHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRUVFRTsgcGFkZGluZy1ib3R0b206IDVweDsiPg0KCQkJCTxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiI+DQoJCQkJCTx0YWJsZSBzdHlsZT0id2lkdGg6MTAwJSI+DQoJCQkJCQk8dHI+DQoJCQkJCQkJPHRkIHdpZHRoPSI4MCIgc3R5bGU9ImxpbmUtaGVpZ2h0OiAzMHB4OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyI+DQoJCQkJCQkJCTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPuagh+WHhueKtuaAge+8mjwvc3Bhbj4NCgkJCQkJCQk8L3RkPg0KCQkJCQkJCTx0ZD4NCgkJCQkJCQkJPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIiBpZD0ic3RhdGUiPg0KCQkJCQkJCQkJDQoJCQkJCQkJCQk8bGkgcm9sZT0icHJlc2VudGF0aW9uIj48YSBjbGFzcz0iYnRuIG11bHRpU2VsZWN0QnRuIiBocmVmPSIjIiBpZD0iV0lUSERSQVdOIj48c3Bhbj7lup/mraIoMSk8L2E+PC9zcGFuPjwvbGk+DQoJCQkJCQkJCQkNCgkJCQkJCQkJPC91bD4NCgkJCQkJCQk8L3RkPg0KCQkJCQkJCTx0ZCBjbGFzcz0iaGlkZGVuLXhzIiB3aWR0aD0iOTAiIHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0OyI+DQoJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzogMCAzcHg7IG1hcmdpbi1sZWZ0OiA1cHg7IiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IG11bHRpU2VsZWN0Ij48c3BhbiBzdHlsZT0iY29sb3I6Z3JheSIgY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tY2hlY2siPjwvc3Bhbj4mbmJzcDvlpJrpgIk8L2J1dHRvbj4NCgkJCQkJCQkJPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyI+DQoJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgc3R5bGU9InBhZGRpbmc6IDAgM3B4OyBtYXJnaW4tbGVmdDogNXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrOyIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBjb25maXJtU2VsZWN0Ij7noa7orqQ8L2J1dHRvbj4NCgkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzogMCAzcHg7IG1hcmdpbi1sZWZ0OiA1cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7IiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGNhbmNlbFNlbGVjdCI+5Y+W5raIPC9idXR0b24+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwvdGQ+DQoJCQkJCQk8L3RyPg0KCQkJCQk8L3RhYmxlPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQkNCgkJCQ0KCQkJPGRpdiBjbGFzcz0icm93IG0tMTAiIHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRUVFRTsgcGFkZGluZy1ib3R0b206IDVweDsiPg0KCQkJCTxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiI+DQoJCQkJCTx0YWJsZSBzdHlsZT0id2lkdGg6MTAwJSI+DQoJCQkJCQk8dHI+DQoJCQkJCQkJPHRkIHdpZHRoPSI4MCIgc3R5bGU9ImxpbmUtaGVpZ2h0OiAzMHB4OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyI+DQoJCQkJCQkJCTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPuWPkeW4g+aXpeacn++8mjwvc3Bhbj4NCgkJCQkJCQk8L3RkPg0KCQkJCQkJCTx0ZD4NCgkJCQkJCQkJPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIiBpZD0iZGF0ZSI+DQoJCQkJCQkJCQkNCgkJCQkJCQkJCTxsaSByb2xlPSJwcmVzZW50YXRpb24iPjxhIGNsYXNzPSJidG4gbXVsdGlTZWxlY3RCdG4iIGhyZWY9IiMiIGlkPSI2Ij48c3Bhbj7kuInlubTku6XkuIooMSk8L3NwYW4+PC9hPjwvbGk+DQoJCQkJCQkJCQkNCgkJCQkJCQkJPC91bD4NCgkJCQkJCQk8L3RkPgkNCgkJCQkJCTwvdHI+DQoJCQkJCTwvdGFibGU+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCQ0KCQkJDQoJCQkgDQoJCQk8ZGl2IGNsYXNzPSJyb3cgbS0xMCIgc3R5bGU9InBhZGRpbmctYm90dG9tOiA1cHg7IiBpZD0iaWNzLWRpdiI+DQoJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyICI+DQoJCQkJCTx0YWJsZSBzdHlsZT0id2lkdGg6MTAwJSI+DQoJCQkJCQk8dHI+DQoJCQkJCQkJPHRkIHdpZHRoPSI4MCIgc3R5bGU9ImxpbmUtaGVpZ2h0OiAzMHB4OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+DQoJCQkJCQkJCTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPklDUyZuYnNwO+WIhuexu++8mjwvc3Bhbj4NCgkJCQkJCQk8L3RkPg0KCQkJCQkJCTx0ZD4NCgkJCQkJCQkJPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIGhpZGRlbi14cyIgaWQ9Imljcy12aWV3Ij4NCgkJCQkJCQkJCTwhLS0gPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PGEgY2xhc3M9ImJ0biBtdWx0aVNlbGVjdEJ0biIgaWQ9IiI+5YWo6YOoPC9hPjwvbGk+IC0tPg0KCQkJCQkJCQkJDQoJCQkJCQkJCQkNCgkJCQkJCQkJCQkNCgkJCQkJCQkJCQk8bGkgcm9sZT0icHJlc2VudGF0aW9uIj4NCgkJCQkJCQkJCQkJPGEgY2xhc3M9ImJ0biBtdWx0aVNlbGVjdEJ0biBpY3NTZWxlY3RCdG4iIGlkPSI1OSI+NTlf57q657uH5ZKM55qu6Z2p5oqA5pyvKDEpPC9hPg0KCQkJCQkJCQkJCTwvbGk+DQoJCQkJCQkJCQkJDQoJCQkJCQkJCQkNCgkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPGJ1dHRvbiBjbGFzcz0idmlzaWJsZS14cyIgdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzogMCAzcHg7IG1hcmdpbi1sZWZ0OiA1cHg7IiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBkYXRhLXRvZ2dsZT0ibW9kYWwiIGRhdGEtdGFyZ2V0PSIjbXlNb2RhbCI+PHNwYW4gc3R5bGU9ImNvbG9yOmdyYXk7dmVydGljYWwtYWxpZ246dGV4dC10b3A7IiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1wbHVzLXNpZ24iPjwvc3Bhbj4mbmJzcDvmm7TlpJo8L2J1dHRvbj4NCgkJCQkJCQk8L3RkPg0KCQkJCQkJCTx0ZCBjbGFzcz0iaGlkZGVuLXhzIiB3aWR0aD0iNDAiPg0KCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgc3R5bGU9InBhZGRpbmc6IDAgM3B4OyBtYXJnaW4tbGVmdDogNXB4OyIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgZGF0YS10b2dnbGU9Im1vZGFsIiBkYXRhLXRhcmdldD0iI215TW9kYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjpncmF5O3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wOyIgY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcGx1cy1zaWduIj48L3NwYW4+Jm5ic3A75pu05aSaPC9idXR0b24+DQoJCQkJCQkJPC90ZD4NCgkJCQkJCTwvdHI+DQoJCQkJCTwvdGFibGU+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9Im1vZGFsIGZhZGUiIGlkPSJteU1vZGFsIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIj4NCgkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4NCgkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciIgc3R5bGU9InBhZGRpbmc6IDE1cHggMzVweCA1cHggMzVweDsiPg0KCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiDQoJCQkJCQkJCWFyaWEtbGFiZWw9IkNsb3NlIj4NCgkJCQkJCQkJPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+DQoJCQkJCQkJPC9idXR0b24+DQoJCQkJCQkJPGg0IGNsYXNzPSJtb2RhbC10aXRsZSIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7Ij4NCgkJCQkJCQkJ6YCJ5oupSUNT5YiG57G7KOWPr+WkjemAiSk8c21hbGw+Jm5ic3A7Jm5ic3A754K55Ye75bem5L6n6buE6Imy5paH5Lu25aS55Y+v5bGV5byA5LiL5LiA57qnPC9zbWFsbD4NCgkJCQkJCQk8L2g0Pg0KCQkJCQkJCTxvbCBjbGFzcz0iYnJlYWRjcnVtYiINCgkJCQkJCQkJc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nLWxlZnQ6IDA7Ig0KCQkJCQkJCQlpZD0ibGluZSI+DQoJCQkJCQkJCTxsaT48YSBocmVmPSIjIj7lhajpg6g8L2E+PC9saT4NCgkJCQkJCQk8L29sPg0KCQkJCQkJPC9kaXY+DQoJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyI+DQoJCQkJCQkJCQkNCgkJDQoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTYiPg0KCQkJCQkJCQkJCQk8YSBjbGFzcz0iYnRuIG11bHRpU2VsZWN0QnRuIGljc2xpc3QxIg0KCQkJCQkJCQkJCQkJc3R5bGU9IndpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDRweCAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOiA1cHg7Ij4NCgkJDQoJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1mb2xkZXItb3BlbiBpY3N0eXBlIg0KCQkJCQkJCQkJCQkJCQlzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7IGNvbG9yOiAjZjhkYTcwOyINCgkJCQkJCQkJCQkJCQkJaWQ9IjU5IiBuYW1lPSLnurrnu4flkoznmq7pnanmioDmnK8iPjwvc3Bhbj4NCgkJCQkJCQkJCQkJCSA8c3BhbiBjbGFzcz0iaWNzbGlzdCIgaWQ9IjU5Ig0KCQkJCQkJCQkJCQkJc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogODAlOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyINCgkJCQkJCQkJCQkJCW5hbWU9Iue6uue7h+WSjOearumdqeaKgOacryI+IDU5X+e6uue7h+WSjOearumdqeaKgOacryDvvIg8c3Bhbj4xPC9zcGFuPu+8iQ0KCQkJCQkJCQkJCQk8L3NwYW4+PHNwYW4gc3R5bGU9ImZsb2F0OnJpZ2h0O21hcmdpbjoycHg7IiBjbGFzcz0idGV4dC1zdWNjZXNzIGdseXBoaWNvbiBnbHlwaGljb24tb2stY2lyY2xlIGhpZGRlbiI+PC9zcGFuPg0KCQkJCQkJCQkJCQk8L2E+DQoJCQ0KCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCQ0KCQkJCQkJCQkJDQoJCQkJCQkJCTwvZGl2Pg0KCQkNCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4NCgkJCQkJCQk8c3Bhbg0KCQkJCQkJCQlzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgd2lkdGg6IDM5MHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyINCgkJCQkJCQkJaWQ9InNob3dpY3MiPjwvc3Bhbj4NCgkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCgkJCQkJCQkJaWQ9ImNhbmNlbCI+5Y+W5raIPC9idXR0b24+DQoJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIGlkPSJjb25maXJtIg0KCQkJCQkJCQlkYXRhLWRpc21pc3M9Im1vZGFsIj7noa7orqQ8L2J1dHRvbj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJDQoJCQkNCgkJPC9kaXY+DQoJPC9kaXY+DQoJDQoJDQoJPGRpdiBjbGFzcz0icm93IiBzdHlsZT0icGFkZGluZzowIDE1cHg7bWFyZ2luLXRvcDoxNXB4OyI+DQoJCTxkaXYgY2xhc3M9ImNvbC1sZy0xMCBjb2wtbWQtMTAgY29sLXNtLTEwIGNvbC14cy0xMCAiPg0KCQkJPGRpdj4NCgkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiIGlkPSJzZWxlY3RlZCI+DQoJCQkJCTxsYWJlbCBzdHlsZT0iY29sb3I6IGdyYXk7IHdpZHRoOiA5M3B4OyI+PHNwYW4gc3R5bGU9InZlcnRpY2FsLWFsaWduOnRleHQtdG9wOyIgY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tc2NyZWVuc2hvdCI+PC9zcGFuPiZuYnNwO+WFs+mUruWtl++8mjwvbGFiZWw+Jm5ic3A7DQoJCQkJCQ0KCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4teHMiIHRpdGxlPSLnp7vpmaQiIGlkPSJwMl8wIiBpbmRleD0wPg0KCQkJCQkJR0IvVCAyMDIyMy0yMDA2Jm5ic3A7DQoJCQkJCQk8c3BhbiBzdHlsZT0iY29sb3I6IHJlZCIgY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcmVtb3ZlIj48L3NwYW4+DQoJCQkJCTwvYnV0dG9uPg0KCQkJCQkNCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgk8L2Rpdj4NCgkJCQkJCSANCjwvZGl2Pg0KPGRpdiBjbGFzcz0ibW9kYWwgZmFkZSIgaWQ9Im5vU3RhbmRhcmRNb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9Im15TW9kYWxMYWJlbCI+DQoJCTxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQoJCQk8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4NCgkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiIHN0eWxlPSJwYWRkaW5nOiAxNXB4IDM1cHggNXB4IDM1cHg7Ij4NCgkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCgkJCQkJCWFyaWEtbGFiZWw9IkNsb3NlIj4NCgkJCQkJCTxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4mdGltZXM7PC9zcGFuPg0KCQkJCQk8L2J1dHRvbj4NCgkJCQkJPGg0IGNsYXNzPSJtb2RhbC10aXRsZSIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7Ij4NCgkJCQkJCTxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiIgc3R5bGU9ImNvbG9yOiNiZTg2NWI7bWFyZ2luLXRvcDoycHg7Ij4gPC9zcGFuPjxzcGFuPiZuYnNwO+eJueWIq+WjsOaYjjwvc3Bhbj4NCgkJCQkJPC9oND4NCgkJCQk8L2Rpdj4NCgkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4NCgkJCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCgkJCQkJCTxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgc21nZyI+DQoJCQkJCQkJCTx1bCBjbGFzcz0ic3RhdGVtZW50VWwgIj4NCgkJCQkJCQkJCTxsaT7mnKzns7vnu5/lr7nlm73lrrbluILlnLrnm5HnnaPnrqHnkIbmgLvlsYDjgIHlm73lrrbmoIflh4blp5Toh6oyMDE35bm0MeaciDHml6XlkI7mlrDlj5HluIPnmoTlm73lrrbmoIflh4bvvIzlsIblnKjjgIrlm73lrrbmoIflh4bmibnlh4blj5HluIPlhazlkYrjgIvlj5HluIPlkI4yMOS4quW3peS9nOaXpeWGheWFrOW8gOagh+WHhuaWh+acrO+8jOWFtuS4rea2ieWPiumHh+agh+eahOaOqOiNkOaAp+WbveWutuagh+WHhueahOWFrOW8gO+8jOWwhuWcqOmBteWuiOWbvemZheeJiOadg+aUv+etluWJjeaPkOS4i+i/m+ihjOOAgjwvbGk+DQoJCQkJCQkJCQk8bGk+5pys57O757uf5YWs5byA5LqG5Zu95a625biC5Zy655uR552j566h55CG5oC75bGA44CB5Zu95a625qCH5YeG5aeUMjAxN+W5tDHmnIgx5pel5YmN5bey5om55YeG5Y+R5biD55qE5omA5pyJ5by65Yi25oCn5Zu95a625qCH5YeG44CB5o6o6I2Q5oCn5Zu95a625qCH5YeG77yI6Z2e6YeH5qCH77yJ44CCPC9saT4NCgkJCQkJCQkJCTxsaT7mnKzns7vnu5/miYDmj5DkvpvnmoTnlLXlrZDmlofmnKzku4Xkvpvlj4LogIPvvIzor7fku6XmraPlvI/moIflh4blh7rniYjniankuLrlh4bjgII8L2xpPg0KCQkJCQkJCQkJPGxpPuacrOezu+e7n+aJgOaPkOS+m+eahOeUteWtkOaWh+acrOS7heS+m+S4quS6uuWtpuS5oOOAgeeglOeptuS5i+eUqO+8jOacque7j+aOiOadg++8jOemgeatouWkjeWItuOAgeWPkeihjOOAgeaxh+e8luOAgee/u+ivkeaIlue9kee7nOS8oOaSreetie+8jOS+teadg+W/heeptuOAgjwvbGk+DQoJCQkJCQkJCQk8bGk+6aOf5ZOB5a6J5YWo44CB546v5aKD5L+d5oqk44CB5bel56iL5bu66K6+5pa56Z2i55qE5Zu95a625qCH5YeG5pyq57qz5YWl5pys57O757uf77yM6K+36K6/6Zeu5Lul5LiL6ZO+5o6l6L+b6KGM5p+l6K+iOiANCgkJCQkJCQkJCQk8YSBjbGFzcz0ib3V0ZXItbGluayIgaHJlZj0iaHR0cHM6Ly9zcHB0LmNmc2EubmV0LmNuL2RiIiB0YXJnZXQ9Il9ibGFuayI+W+mjn+WTgeWuieWFqF08L2E+DQoJCQkJCQkJCQkJPGEgaHJlZj0iaHR0cDovL2tqcy5tZWUuZ292LmNuL2hqYmhiei8iIHRhcmdldD0iX2JsYW5rIj5b546v5aKD5L+d5oqkXTwvYT4NCgkJCQkJCQkJCQk8YSBocmVmPSJodHRwOi8vd3d3Lm1vaHVyZC5nb3YuY24vYnpkZS9pbmRleC5odG1sIiB0YXJnZXQ9Il9ibGFuayI+W+W3peeoi+W7uuiuvl08L2E+DQoJCQkJCQkJCQk8L2xpPg0KCQkJCQkJCQk8L3VsPg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJPC9kaXY+DQoJCQkJCTwvZGl2Pg0KCQkJCTwvZGl2Pg0KCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQoJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIGRhdGEtZGlzbWlzcz0ibW9kYWwiDQoJCQkJCQkJCWlkPSJjYW5jZWwiPuehruiupDwvYnV0dG9uPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCTwvZGl2Pg0KPC9kaXY+PC9kaXY+PC9kaXY+DQo8L2JvZHk+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJdmFyIGxpbmVMaXN0ID0gbmV3IEFycmF5KCk7DQoNCgkJdmFyIHAxID0gJzAnOw0KCQl2YXIgcDIgPSAnR0IvVCAyMDIyMy0yMDA2JzsNCgkJdmFyIHA1ID0gJyc7DQoJCXZhciBwNiA9ICcnOw0KCQl2YXIgcDcgPSAnJzsNCgkJdmFyIHA4ID0gJyc7DQoJCXZhciBwOTAgPSAnJzsNCgkJdmFyIHA5MSA9ICcnOw0KCQl2YXIgbmV4dHBhZ2UgPSAxOw0KCQl2YXIgYWN0aW9uID0gJ2diL3N0ZF9saXN0JzsNCgkJdmFyIHBhZ2VTaXplID0gMTA7DQoJCXZhciBjb3VudCA9IDE7DQoJCWZ1bmN0aW9uIGp1bXBQYWdlKHBhZ2Upew0KCQkJDQoJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYnpnay8nK2FjdGlvbg0KCQkJCQkrICc/cj0nICsgTWF0aC5yYW5kb20oKQ0KCQkJCQkrIChwYWdlID8gKCcmcGFnZT0nICsgcGFnZSArICImcGFnZVNpemU9IiArIHBhZ2VTaXplKTonJykNCgkJCQkJKyAocDEgPyAoJyZwLnAxPScgKyBwMSkgOiAnJykNCgkJCQkJKyAocDIgPyAoJyZwLnAyPScgKyBlbmNvZGVVUklDb21wb25lbnQocDIpKTogJycpIA0KCQkJCQkrIChwNSA/ICgnJnAucDU9JyArIHA1KSA6ICcnKQ0KCQkJCQkrIChwNiA/ICgnJnAucDY9JyArIHA2KSA6ICcnKQ0KCQkJCQkrIChwNyA/ICgnJnAucDc9JyArIHA3KSA6ICcnKQ0KCQkJCQkrIChwOCA/ICgnJnAucDg9JyArIHA4KSA6ICcnKQ0KCQkJCQkrIChwOTAgPyAoJyZwLnA5MD0nICsgcDkwKSA6ICcnKQ0KCQkJCQkrIChwOTEgPyAoJyZwLnA5MT0nICsgcDkxKSA6ICcnKTsNCgkJfQ0KCQkNCgkJZnVuY3Rpb24gc2hvd0NvbnRlbnQobykgew0KCQkJaWYgKG8uY3J0VGl0bGUgPT0gdW5kZWZpbmVkKSB7DQoJCQkJby5jcnRUaXRsZSA9ICd0cnVlJzsNCgkJCQlvLnRpdGxlID0gby5zY3JvbGxXaWR0aCA+IG8uY2xpZW50V2lkdGggPyBvLmlubmVySFRNTCA6ICIiOw0KCQkJfQ0KCQl9DQoJCWZ1bmN0aW9uIHNob3dJbmZvKGhjbm8pIHsNCgkJCXZhciB1cmwgPSAibmV3R2JJbmZvIjsNCgkJCXVybCArPSAiP2hjbm89IiArIGhjbm87DQoJCQl3aW5kb3cub3Blbih1cmwpOw0KCQl9Ow0KCQlmdW5jdGlvbiBzZWFyY2goKSB7DQoJCQlpZiAocDIgIT0gbnVsbCAmJiBwMiAhPSAnJykNCgkJCQlwMiA9IHAyICsgJysnICsgJCgiaW5wdXRbbmFtZT0nc2VhcmNoMSddIikudmFsKCk7DQoJCQllbHNlDQoJCQkJcDIgPSAkKCJpbnB1dFtuYW1lPSdzZWFyY2gxJ10iKS52YWwoKTsNCgkJCWp1bXBQYWdlKCk7DQoJCX0NCgkJJChmdW5jdGlvbigpIHsNCgkJCSQoJy5wYWdlTnVtU2VsZWN0JykudmFsKHBhZ2VTaXplKTsNCgkJCSQoJy5wYWdlTnVtU2VsZWN0JykuY2hhbmdlKGZ1bmN0aW9uKCl7DQoJCQkJcGFnZVNpemUgPSAkKHRoaXMpLnZhbCgpOw0KCQkJCWp1bXBQYWdlKG5leHRwYWdlKTsNCgkJCX0pOw0KCQkJaWYgKGNvdW50ICE9IG51bGwgJiYgY291bnQgPiAwKSB7DQoJCQkJLy/liIbpobUNCgkJCQlsYXlwYWdlKHsNCgkJCQkJY29udCA6ICQoIiNwYWdlbmF2MiIpLA0KCQkJCQlwYWdlcyA6ICIxIiwgLy/lj6/ku6Xlj6vmnI3liqHnq6/miormgLvpobXmlbDmlL7lnKjmn5DkuIDkuKrpmpDol4/ln5/vvIzlho3ojrflj5bjgILlgYforr7miJHku6zojrflj5bliLDnmoTmmK8xOA0KCQkJCQljdXJyIDogZnVuY3Rpb24oKSB7IC8v6YCa6L+HdXJs6I635Y+W5b2T5YmN6aG177yM5Lmf5Y+v5Lul5ZCM5LiK77yIcGFnZXPvvInmlrnlvI/ojrflj5YNCgkJCQkJCXZhciBwYWdlID0gbG9jYXRpb24uc2VhcmNoLm1hdGNoKC9wYWdlPShcZCspLyk7DQoJCQkJCQlyZXR1cm4gcGFnZSA/IHBhZ2VbMV0gOiAxOw0KCQkJCQl9KCksDQoJCQkJCXNraW4gOiAnIzMzN2FiNycsDQoJCQkJCXByZXYgOiAnPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbWVudS1sZWZ0IiBzdHlsZT0icGFkZGluZzowIj4gPC9zcGFuPicsDQoJCQkJCW5leHQgOiAnPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbWVudS1yaWdodCIgc3R5bGU9InBhZGRpbmc6MCI+IDwvc3Bhbj4nLA0KCQkJCQlza2lwIDogZmFsc2UsDQoJCQkJCWp1bXAgOiBmdW5jdGlvbihlLCBmaXJzdCkgeyAvL+inpuWPkeWIhumhteWQjueahOWbnuiwgw0KCQkJCQkJaWYgKCFmaXJzdCkgeyAvL+S4gOWumuimgeWKoOatpOWIpOaWre+8jOWQpuWImeWIneWni+aXtuS8muaXoOmZkOWIt+aWsA0KCQkJCQkJCWp1bXBQYWdlKGUuY3Vycik7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9KTsNCg0KCQkJfQ0KCQkJLy/moIflh4bnsbvliKsNCgkJCSQoIiN0eXBlIGxpIGEiKS5vbigNCgkJCQkJImNsaWNrIiwNCgkJCQkJZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCXZhciB0eXBlID0gJC50cmltKCQodGhpcykuYXR0cigiaWQiKSk7DQoJCQkJCQlpZiAodHlwZSAhPSAwKSB7DQoJCQkJCQkJaWYgKHR5cGUgPT0gMSkgew0KCQkJCQkJCQkkKCIjUkVWSVNFRCIpLnBhcmVudCgibGkiKS5oaWRlKCk7DQoJCQkJCQkJCXAxID0gMTsNCgkJCQkJCQl9DQoJCQkJCQkJaWYgKHR5cGUgPT0gMikgew0KCQkJCQkJCQkkKCIjUkVWSVNFRCIpLnBhcmVudCgibGkiKS5oaWRlKCk7DQoJCQkJCQkJCSQoIiNSRVBMQUNFRCIpLnBhcmVudCgibGkiKS5oaWRlKCk7DQoJCQkJCQkJCS8vJCgiI2ljcy1kaXYiKS5oaWRlKCk7IA0KCQkJCQkJCQlwMSA9IDI7DQoJCQkJCQkJfQ0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlwMSA9IDA7DQoJCQkJCQl9DQoJCQkJCQlqdW1wUGFnZSgpOw0KDQoJCQkJCX0pOw0KCQkJLy/lhazlkYrlj7cNCgkJCSQoIiNhbm91bmNlbWVudCBsaSBhIikub24oDQoJCQkJCSJjbGljayIsDQoJCQkJCWZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlwOCA9ICQudHJpbSgkKHRoaXMpLmF0dHIoImlkIikpOw0KCQkJCQkJdmFyIHJlZz0vW1x1NEUwMC1cdTlGQTVdL2c7DQoJCQkJCQl2YXIgcmVzdWx0PXA4LnJlcGxhY2UocmVnLCcnKTsNCgkJCQkJCWlmKHJlc3VsdC5sZW5ndGg9PTUpew0KCQkJCQkJCXJlc3VsdCA9IHJlc3VsdC5zdWJzdHJpbmcoMCw0KSsnMCcrcmVzdWx0LnN1YnN0cmluZyg0LDUpOw0KCQkJCQkJfQ0KCQkJCQkJd2luZG93Lm9wZW4oImh0dHA6Ly93d3cuc2FjLmdvdi5jbi9nemZ3L2dnY3gvZ2piemdnLyIrcmVzdWx0LCJfYmxhbmsiKTsNCgkJCQkJCQ0KCQkJCQl9KTsNCgkJCS8v5qCH5YeG54q25oCBDQoJCQkkKCIjc3RhdGUgbGkgYSIpLm9uKA0KCQkJCQkiY2xpY2siLA0KCQkJCQlmdW5jdGlvbihldmVudCkgew0KCQkJCQkJaWYoJCh0aGlzKS5maW5kKCcubUNoZWNrJykubGVuZ3RoPjApew0KCQkJCQkJCSQodGhpcykuZmluZCgnLm1DaGVjaycpLnByb3Aoe2NoZWNrZWQ6ISQodGhpcykuZmluZCgnLm1DaGVjaycpLnByb3AoJ2NoZWNrZWQnKX0pOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQl2YXIgc3RhdGUgPSAkLnRyaW0oJCh0aGlzKS5hdHRyKCJpZCIpKTsNCgkJCQkJCQlpZiAoc3RhdGUgIT0gJ0FMTCcpIHsNCgkJCQkJCQkJcDUgPSBzdGF0ZTsNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQlwNSA9ICcnOw0KCQkJCQkJCX0NCgkJCQkJCQlqdW1wUGFnZSgpOw0KCQkJCQkJfQ0KCQkJCQl9KTsNCgkJCS8v5Y+R5biD5pel5pyfDQoJCQkkKCIjZGF0ZSBsaSBhIikub24oDQoJCQkJCSJjbGljayIsDQoJCQkJCWZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlwNyA9ICQudHJpbSgkKHRoaXMpLmF0dHIoImlkIikpOw0KCQkJCQkJanVtcFBhZ2UoKTsNCgkJCQkJfSk7DQoJCQkkKCIjaWNzLXZpZXcgbGkgYSIpLm9uKA0KCQkJCQkiY2xpY2siLA0KCQkJCQlmdW5jdGlvbihldmVudCkgew0KCQkJCQkJcDYgPSAkLnRyaW0oJCh0aGlzKS50ZXh0KCkgPT0gJ+WFqOmDqCcgPyAiIiA6ICQodGhpcykuYXR0cignaWQnKSk7DQoJCQkJCQlqdW1wUGFnZSgpOw0KCQkJCQl9KTsNCgkJCSQoIiNzZWxlY3RlZCBidXR0b24iKS5vbigNCgkJCQkJImNsaWNrIiwNCgkJCQkJZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCWlmICgkKHRoaXMpLmF0dHIoImlkIikuaW5kZXhPZigncDJfJykgIT0gLTEpIHsNCgkJCQkJCQl2YXIgaW5kZXggPSAkLnRyaW0oJCh0aGlzKS5hdHRyKCJpbmRleCIpKTsNCgkJCQkJCQl2YXIgbmV3UDJzID0gcDIuc3BsaXQoJysnKTsNCgkJCQkJCQluZXdQMnMgPSBuZXdQMnMudW5pcXVlKCk7DQoJCQkJCQkJbmV3UDJzLnNwbGljZShpbmRleCwgMSk7DQoJCQkJCQkJdmFyIHRlbXAgPSAnJzsNCgkJCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IG5ld1Aycy5sZW5ndGg7IGkrKykgew0KCQkJCQkJCQlpZiAoaSA8IG5ld1Aycy5sZW5ndGggLSAxKQ0KCQkJCQkJCQkJdGVtcCA9IHRlbXAgKyBuZXdQMnNbaV0gKyAnKyc7DQoJCQkJCQkJCWVsc2UNCgkJCQkJCQkJCXRlbXAgPSB0ZW1wICsgbmV3UDJzW2ldOw0KCQkJCQkJCX0NCgkJCQkJCQlwMiA9IHRlbXA7DQoJCQkJCQkJanVtcFBhZ2UoKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJdmFyIGNvZGUgPSAkLnRyaW0oJCh0aGlzKS5hdHRyKCJpZCIpKTsNCgkJCQkJCQl2YXIgdXJsID0gbG9jYXRpb24uaHJlZjsNCgkJCQkJCQl1cmwgPSB1cmwucmVwbGFjZShjb2RlLCAnJyk7DQoJCQkJCQkJd2luZG93Lm9wZW4odXJsLCAnX3NlbGYnKTsNCgkJCQkJCX0NCg0KCQkJCQl9KTsNCgkJCS8v5pCc57Si5qGGDQoJCQkkKCIjc2VhcmNoMSIpLm9uKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KCQkJCXNlYXJjaCgpOw0KCQkJfSk7DQoNCgkJCS8v5o6S5bqPIOS6i+S7tg0KCQkJJCgiLnNjcmVlbk9yZGVyIikub24oDQoJCQkJCSdjbGljaycsDQoJCQkJCWZ1bmN0aW9uKCkgew0KCQkJCQkJdmFyIGVsID0gJCh0aGlzKTsNCgkJCQkJCWlmKGVsLmF0dHIoJ3NvcnRuYW1lJyk9PScnKXsNCgkJCQkJCQllbC5hdHRyKCdzb3J0bmFtZScsJ2Rlc2MnKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJZWwuYXR0cignc29ydG5hbWUnKSA9PSAnYXNjJyA/IGVsLmF0dHIoJ3NvcnRuYW1lJywNCgkJCQkJCQknZGVzYycpIDogZWwuYXR0cignc29ydG5hbWUnLCAnYXNjJyk7DQoJCQkJCQl9DQoJCQkJCQlwOTAgPSBlbC5hdHRyKCdzb3J0Y29sJyk7DQoJCQkJCQlwOTEgPSBlbC5hdHRyKCdzb3J0bmFtZScpOw0KCQkJCQkJanVtcFBhZ2UoKTsNCgkJCQkJfSk7DQoNCgkJCWZ1bmN0aW9uIHNzKCkgew0KCQkJCXZhciBzdHIgPSAkLnRyaW0oJCh0aGlzKS5hdHRyKCJpZCIpKTsNCgkJCQl2YXIgbmFtZSA9ICQudHJpbSgkKHRoaXMpLmF0dHIoIm5hbWUiKSk7DQoJCQkJaWYoc3RyIT0nLTEnKXsNCgkJCQkJJCgiI3Nob3dpY3MiKS5odG1sKCLlt7LpgInmi6lpY3PliIbnsbvvvJogIiArc3RyKydfJytuYW1lKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQkkKCIjc2hvd2ljcyIpLmh0bWwoJycpOw0KCQkJCX0NCgkJCQkNCgkJCQkkLmFqYXgoew0KCQkJCQkJCXR5cGUgOiAicG9zdCIsDQoJCQkJCQkJdXJsIDogJy9iemdrLycgKyAnZ2IvYWpheEljc0xpc3QnLA0KCQkJCQkJCWRhdGEgOiB7DQoJCQkJCQkJCSJwY29kZSIgOiBzdHIsDQoJCQkJCQkJCSJwLnAxIiA6IHAxLA0KCQkJCQkJCQkicC5wMiIgOiBwMi5yZXBsYWNlKC9cKy9nLCAnJTJCJyksDQoJCQkJCQkJCSJwLnA1IiA6IHA1LA0KCQkJCQkJCQkicC5wNyIgOiBwNywNCgkJCQkJCQkJInAucDgiIDogcDgNCgkJCQkJCQl9LA0KCQkJCQkJCWRhdGVUeXBlIDogImpzb24iLA0KCQkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhKSB7DQoJCQkJCQkJCWlmIChkYXRhLmxlbmd0aCA+IDApIHsvL+WmguaenOacieS4i+e6pw0KCQkJCQkJCQkJdmFyIGh0bWwgPSAnPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPic7DQoNCgkJCQkJCQkJCQlmb3IgKHZhciBpaSA9IDA7IGlpIDwgZGF0YS5sZW5ndGg7IGlpKyspIHsNCgkJCQkJCQkJCQkJaHRtbCArPSAnPGRpdiBjbGFzcz0iY29sLW1kLTYiPjxhIGNsYXNzPSJidG4gbXVsdGlTZWxlY3RCdG4gaWNzbGlzdDEic3R5bGU9IndpZHRoOjEwMCU7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmctbGVmdDo0cHggIWltcG9ydGFudDttYXJnaW4tYm90dG9tOjVweDsiPic7DQoJCQkJCQkJCQkJCWlmIChkYXRhW2lpXS5sZWFmPT0iMCJ8fChkYXRhW2lpXS5pY3NDaGlsZHMhPW51bGwmJmRhdGFbaWldLmljc0NoaWxkcy5sZW5ndGggPiAwKSkgew0KCQkJCQkJCQkJCQkJaHRtbCArPSAnPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZm9sZGVyLW9wZW4gaWNzdHlwZSIgc3R5bGU9ImZsb2F0OmxlZnQ7d2lkdGg6MTAlO2NvbG9yOiNmOGRhNzA7IiBpZD0iJw0KCQkJCQkJCQkJCQkJCQkrIGRhdGFbaWldLmljc0NvZGUNCgkJCQkJCQkJCQkJCQkJKyAnIiBuYW1lPSInDQoJCQkJCQkJCQkJCQkJCSsgZGF0YVtpaV0uaWNzTmFtZQ0KCQkJCQkJCQkJCQkJCQkrICciPjwvc3Bhbj4nOw0KCQkJCQkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkJCQkJaHRtbCArPSAnPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbGlzdC1hbHQgaWNzbGlzdCIgc3R5bGU9ImZsb2F0OmxlZnQ7d2lkdGg6MTAlO2NvbG9yOiMjZDhkOGQ4OyIgaWQ9IicNCgkJCQkJCQkJCQkJCQkJKyBkYXRhW2lpXS5pY3NDb2RlDQoJCQkJCQkJCQkJCQkJCSsgJyIgbmFtZT0iJw0KCQkJCQkJCQkJCQkJCQkrIGRhdGFbaWldLmljc05hbWUNCgkJCQkJCQkJCQkJCQkJKyAnIj4mbmJzcDs8L3NwYW4+JzsNCgkJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCQlodG1sICs9ICc8c3BhbiBjbGFzcz0iaWNzbGlzdCIgc3R5bGU9ImZsb2F0OmxlZnQ7d2lkdGg6ODAlO3doaXRlLXNwYWNlOm5vcm1hbDsiIGlkPSInDQoJCQkJCQkJCQkJCQkJKyBkYXRhW2lpXS5pY3NDb2RlDQoJCQkJCQkJCQkJCQkJKyAnIiBuYW1lPSInDQoJCQkJCQkJCQkJCQkJKyBkYXRhW2lpXS5pY3NOYW1lDQoJCQkJCQkJCQkJCQkJKyAnIj4gJw0KCQkJCQkJCQkJCQkJCSsgZGF0YVtpaV0uaWNzQ29kZQ0KCQkJCQkJCQkJCQkJCSsgJ18nDQoJCQkJCQkJCQkJCQkJKyBkYXRhW2lpXS5pY3NOYW1lDQoJCQkJCQkJCQkJCQkJKyAn77yIPHNwYW4+Jw0KCQkJCQkJCQkJCQkJCSsgKGRhdGFbaWldLmNvdW50ID8gZGF0YVtpaV0uY291bnQNCgkJCQkJCQkJCQkJCQkJCTogMCkNCgkJCQkJCQkJCQkJCQkrICc8L3NwYW4+77yJPC9zcGFuPjxzcGFuIHN0eWxlPSJmbG9hdDpyaWdodDttYXJnaW46MnB4OyIgY2xhc3M9InRleHQtc3VjY2VzcyBnbHlwaGljb24gZ2x5cGhpY29uLW9rLWNpcmNsZSBoaWRkZW4iPjwvc3Bhbj48L2E+PC9kaXY+JzsNCgkJCQkJCQkJCQkJaWYgKGlpICUgMiA9PSAxKSB7DQoJCQkJCQkJCQkJCQlodG1sICs9ICc8L2Rpdj48ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyI+JzsNCgkJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQ0KDQoJCQkJCQkJCQkkKCIuY29udGFpbmVyLWZsdWlkIikuaHRtbChodG1sKTsNCgkJCQkJCQkJCS8v6Z2i5YyF5bGR5qCI5pON5L2cDQoJCQkJCQkJCQl2YXIgb2JqID0gbmV3IE9iamVjdCgpOw0KCQkJCQkJCQkJb2JqLmNvZGUgPSBzdHI7DQoJCQkJCQkJCQlvYmoubmFtZSA9IG5hbWU7DQoJCQkJCQkJCQlpZiAobGluZUxpc3QubGVuZ3RoID09IDApIHsNCgkJCQkJCQkJCQlsaW5lTGlzdC5wdXNoKG9iaik7DQoJCQkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkJCXRyeSB7DQoJCQkJCQkJCQkJCXZhciBqID0gMDsNCgkJCQkJCQkJCQkJZm9yICg7IGogPCBsaW5lTGlzdC5sZW5ndGg7IGorKykgew0KCQkJCQkJCQkJCQkJaWYgKHN0cg0KCQkJCQkJCQkJCQkJCQkuaW5kZXhPZihsaW5lTGlzdFtqXS5jb2RlKSA+PSAwKSB7DQoJCQkJCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCQkJCQl9DQoJCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQkJaWYgKGogPCBsaW5lTGlzdC5sZW5ndGgNCgkJCQkJCQkJCQkJCQkmJiBsaW5lTGlzdFtqXS5jb2RlID09IHN0cikgew0KCQkJCQkJCQkJCQkJbGluZUxpc3QNCgkJCQkJCQkJCQkJCQkJLnNwbGljZShqLA0KCQkJCQkJCQkJCQkJCQkJCWxpbmVMaXN0Lmxlbmd0aA0KCQkJCQkJCQkJCQkJCQkJCQkJLSBqICsgMSk7DQoJCQkJCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCQkJCQlsaW5lTGlzdC5zcGxpY2UoaiArIDEsDQoJCQkJCQkJCQkJCQkJCWxpbmVMaXN0Lmxlbmd0aCAtIGopOw0KCQkJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCQkJbGluZUxpc3QucHVzaChvYmopDQoJCQkJCQkJCQkJfSBjYXRjaCAoZSkgew0KCQkJCQkJCQkJCQl0aHJvdyBlOw0KCQkJCQkJCQkJCX0NCg0KCQkJCQkJCQkJfQ0KCQkJCQkJCQkJdmFyIGxpbmUgPSAnPGxpPjxhIGhyZWY9IiMiIGNsYXNzPSJpY3N0eXBlIiBpZD0iLTEiIG5hbWU9IuWFqOmDqCI+5YWo6YOoPC9hPjwvbGk+JzsNCgkJCQkJCQkJCWlmIChzdHIgPT0gLTEpIHsNCgkJCQkJCQkJCQlsaW5lTGlzdCA9IG5ldyBBcnJheSgpOw0KCQkJCQkJCQkJfQ0KCQkJCQkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lTGlzdC5sZW5ndGg7IGkrKykgew0KCQkJCQkJCQkJCWxpbmUgPSBsaW5lDQoJCQkJCQkJCQkJCQkrICc8bGkgY2xhc3M9ImFjdGl2ZSBpY3N0eXBlIiBpZD0iJytsaW5lTGlzdFtpXS5jb2RlKyciIG5hbWU9IicrbGluZUxpc3RbaV0ubmFtZSsnIj48YT4nDQoJCQkJCQkJCQkJCQkrIGxpbmVMaXN0W2ldLmNvZGUNCgkJCQkJCQkJCQkJCSsnXycNCgkJCQkJCQkJCQkJCSsgbGluZUxpc3RbaV0ubmFtZSArICc8L2E+PC9saT4nOw0KCQkJCQkJCQkJCTsNCgkJCQkJCQkJCX0NCg0KCQkJCQkJCQkJJCgiI2xpbmUiKS5lbXB0eSgpLmFwcGVuZChsaW5lKTsNCgkJCQkJCQkJCSQoIi5pY3N0eXBlIikub24oImNsaWNrIiwgc3MpOw0KCQkJCQkJCQkJJCgiLmljc2xpc3QiKS5vbigiY2xpY2siLCB0dCk7DQoNCgkJCQkJCQkJfSBlbHNlIHsvL+WmguaenOayoeacieS4i+e6pw0KDQoJCQkJCQkJCQlyZXR1cm47DQoJCQkJCQkJCX0NCgkJCQkJCQl9LA0KCQkJCQkJCWVycm9yIDogZnVuY3Rpb24oKSB7DQoNCgkJCQkJCQl9DQoNCgkJCQkJCX0pOw0KDQoJCQl9DQoNCgkJCWZ1bmN0aW9uIHR0KCkgew0KCQkJCSQodGhpcykucGFyZW50KCJhIikudG9nZ2xlQ2xhc3MoIm11bHRpU2VsZWN0QnRuLXMiKTsNCgkJCQkkKHRoaXMpLnBhcmVudCgpLmZpbmQoIi5nbHlwaGljb24tb2stY2lyY2xlIikudG9nZ2xlQ2xhc3MoImhpZGRlbiIpOw0KCQkJCXZhciB0ZXh0ID0gJycsY29kZXMgPSAnJzsNCgkJCQkkKCcjbXlNb2RhbCAubXVsdGlTZWxlY3RCdG4tcycpLmVhY2goZnVuY3Rpb24oKXsNCgkJCQkJdmFyIGljc0xpc3QgPSAkKHRoaXMpLmZpbmQoJy5pY3NsaXN0Jyk7DQoJCQkJCXRleHQgKz0gKCQudHJpbShpY3NMaXN0LmF0dHIoImlkIikpKydfJyskLnRyaW0oaWNzTGlzdC5hdHRyKCJuYW1lIikpKyd8Jyk7DQoJCQkJCWNvZGVzICs9ICgkLnRyaW0oaWNzTGlzdC5hdHRyKCJpZCIpKSsnfCcpOw0KCQkJCX0pOw0KCQkJCWlmKHRleHQ9PScnKXsNCgkJCQkJdmFyIGljc1R5cGUgPSAkKCcuYnJlYWRjcnVtYiAuaWNzdHlwZTpsYXN0Jyk7DQoJCQkJCWlmKCQudHJpbShpY3NUeXBlLmF0dHIoImlkIikpPT0tJzEnKXsNCgkJCQkJCSQoIiNzaG93aWNzIikuaHRtbCgnJyk7DQoJCQkJCX0gZWxzZXsNCgkJCQkJCSQoIiNzaG93aWNzIikuaHRtbCgi5bey6YCJ5oupaWNz5YiG57G777yaICIgKyAkLnRyaW0oaWNzVHlwZS5hdHRyKCJpZCIpKSsnXycrJC50cmltKGljc1R5cGUuYXR0cigibmFtZSIpKSk7DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQkkKCIjc2hvd2ljcyIpLmh0bWwoIuW3sumAieaLqWljc+WIhuexu++8miAiICsgdGV4dC5zdWJzdHJpbmcoMCx0ZXh0Lmxlbmd0aC0xKSk7DQoJCQkJfQ0KCQkJCXA2ID0gY29kZXMuc3Vic3RyaW5nKDAsY29kZXMubGVuZ3RoLTEpOw0KCQkJfQ0KDQoJCQkvL+mAieaLqWNzc+WIhuexuw0KCQkJJCgiLmljc3R5cGUiKS5vbigiY2xpY2siLCBzcyk7DQoJCQkkKCIuaWNzbGlzdCIpLm9uKCJjbGljayIsIHR0KTsNCg0KCQkJJCgiI2NvbmZpcm0iKS5vbigiY2xpY2siLGZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCSQoIiNpY3MiKS50ZXh0KHA2KS5zaG93KCk7DQoJCQkJCWp1bXBQYWdlKCk7DQoJCQl9KTsNCgkJCSQoIiNjYW5jZWwiKS5vbigiY2xpY2siLCBmdW5jdGlvbihldmVudCkgew0KCQkJCSQoIiNpY3MiKS50ZXh0KCcnKTsNCgkJCX0pOw0KCQkJJCgiI3R5cGUgbGkgYSIpLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJaWYgKHAxID09ICcxJykgew0KCQkJCQkkKCIjUkVWSVNFRCIpLnBhcmVudCgibGkiKS5oaWRlKCk7DQoJCQkJfQ0KCQkJCWlmIChwMSA9PSAnMicpIHsNCgkJCQkJJCgiI1JFVklTRUQiKS5wYXJlbnQoImxpIikuaGlkZSgpOw0KCQkJCQkkKCIjUkVQTEFDRUQiKS5wYXJlbnQoImxpIikuaGlkZSgpOw0KCQkJCX0NCg0KCQkJCXZhciB0bXAgPSAkKHRoaXMpLmF0dHIoImlkIik7DQoJCQkJaWYgKCQudHJpbSh0bXApID09ICQudHJpbShwMSkpIHsNCgkJCQkJJCgiI3R5cGUgbGkiKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQoJCQkJCSQodGhpcykucGFyZW50KCkuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCX0NCg0KCQkJfSk7DQoJCQkkKCIjc3RhdGUgbGkgYSIpLmVhY2goZnVuY3Rpb24oKSB7DQoNCgkJCQl2YXIgdG1wMSA9ICQodGhpcykuYXR0cigiaWQiKTsNCg0KCQkJCWlmICgkLnRyaW0odG1wMSkgPT0gJC50cmltKHA1KSkgew0KCQkJCQkkKCIjc3RhdGUgbGkgYSIpLnJlbW92ZUNsYXNzKCdtdWx0aVNlbGVjdEJ0bi1zJyk7DQoJCQkJCSQodGhpcykuYWRkQ2xhc3MoJ211bHRpU2VsZWN0QnRuLXMnKTsNCgkJCQl9DQoNCgkJCX0pOw0KCQkJJCgiI2RhdGUgbGkgYSIpLmVhY2goZnVuY3Rpb24oKSB7DQoNCgkJCQl2YXIgdG1wMiA9ICQodGhpcykuYXR0cigiaWQiKTsNCg0KCQkJCWlmICgkLnRyaW0odG1wMikgPT0gJC50cmltKHA3KSkgew0KCQkJCQkkKCIjZGF0ZSBsaSBhIikucmVtb3ZlQ2xhc3MoJ211bHRpU2VsZWN0QnRuLXMnKTsNCgkJCQkJJCh0aGlzKS5hZGRDbGFzcygnbXVsdGlTZWxlY3RCdG4tcycpOw0KCQkJCX0NCg0KCQkJfSk7DQoJCQkkKCIjaWNzLXZpZXcgYSIpLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJdmFyIHRtcDMgPSAkKHRoaXMpLnRleHQoKTsNCgkJCQlpZiAoJC50cmltKHA2KSA9PSAnJyAmJiAkLnRyaW0odG1wMykgPT0gJ+WFqOmDqCcpIHsNCgkJCQkJJCgiI2ljcy12aWV3IGEiKS5yZW1vdmVDbGFzcygnbXVsdGlTZWxlY3RCdG4tcycpOw0KCQkJCQkkKHRoaXMpLmFkZENsYXNzKCdtdWx0aVNlbGVjdEJ0bi1zJyk7DQoJCQkJfSBlbHNlIGlmICgkLnRyaW0odG1wMykgPT0gJC50cmltKHA2KSkgew0KCQkJCQkkKCIjaWNzLXZpZXcgYSIpLnJlbW92ZUNsYXNzKCdtdWx0aVNlbGVjdEJ0bi1zJyk7DQoJCQkJCSQodGhpcykuYWRkQ2xhc3MoJ211bHRpU2VsZWN0QnRuLXMnKTsNCgkJCQl9DQoJCQl9KTsNCgkJCS8v5YmN5LiA6aG1DQoJCQkkKCIucHJlIikub24oDQoJCQkJCSJjbGljayIsDQoJCQkJCWZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlpZiAobmV4dHBhZ2UgPiAxKSB7DQoJCQkJCQkJbmV4dHBhZ2UtLTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KCQkJCQkJanVtcFBhZ2UobmV4dHBhZ2UpOw0KCQkJCQl9KTsNCgkJCS8v5ZCO5LiA6aG1DQoJCQkkKCIubmV4dCIpLm9uKA0KCQkJCQkiY2xpY2siLA0KCQkJCQlmdW5jdGlvbihldmVudCkgew0KCQkJCQkJaWYgKG5leHRwYWdlIDwgJzEnKSB7DQoJCQkJCQkJbmV4dHBhZ2UrKzsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KCQkJCQkJanVtcFBhZ2UobmV4dHBhZ2UpOw0KCQkJCQl9KTsNCgkJCWlmKCQoJyN0alBhbmVsIC5yb3cnKS5sZW5ndGg9PTApew0KCQkJCSQoJyN0alBhbmVsJykucGFyZW50KCkuaGlkZSgpOyANCgkJCX0NCgkJfSk7DQoJCSQoJy5tdWx0aVNlbGVjdCcpLm9uKCJjbGljayIsZnVuY3Rpb24oKXsNCgkJCSQodGhpcykucGFyZW50KCkucHJldigpLmZpbmQoJy5tdWx0aVNlbGVjdEJ0bicpLnByZXBlbmQoIjxpbnB1dCBjbGFzcz0nbUNoZWNrJyBvbmNsaWNrPSdldmVudC5zdG9wUHJvcGFnYXRpb24oKTsnIHR5cGU9J2NoZWNrYm94Jy8+Iik7DQoJCQkkKHRoaXMpLmhpZGUoKTsNCgkJCSQodGhpcykubmV4dCgpLnNob3coKTsNCgkJfSkNCgkJJCgnLmNvbmZpcm1TZWxlY3QnKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7DQoJCQlwNSA9ICcnOw0KCQkJJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wcmV2KCkuZmluZCgnLm1DaGVjazpjaGVja2VkJykuZWFjaChmdW5jdGlvbigpew0KCQkJCXA1ICs9ICgnfCcrJCh0aGlzKS5wYXJlbnQoKS5hdHRyKCdpZCcpKTsNCgkJCX0pOw0KCQkJcDUgPSBwNS5zdWJzdHJpbmcoMSkNCgkJCWp1bXBQYWdlKCk7DQoJCX0pDQoJCSQoJy5jYW5jZWxTZWxlY3QnKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7DQoJCQkkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLnByZXYoKS5maW5kKCcubUNoZWNrJykucmVtb3ZlKCk7Ow0KCQkJJCh0aGlzKS5wYXJlbnQoKS5oaWRlKCk7DQoJCQkkKHRoaXMpLnBhcmVudCgpLnByZXYoKS5zaG93KCk7DQoJCX0pDQoJCQ0KCTwvc2NyaXB0Pg0KPC9odG1sPg0KDQoJCQk8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0IiBzdHlsZT0ibWFyZ2luLXRvcDogMjBweDsiPg0KCQkJCTxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPg0KCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPg0KCQkJCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIj4NCgkJCQkJCQk8ZGl2IHN0eWxlPSJtYXJnaW46NXB4IDA7IGhlaWdodDogNTBweDsiPg0KCQkJCQkJCQk8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7Ij4NCgkJCQkJCQkJCTx0cj4NCgkJCQkJCQkJCQk8dGQgY2xhc3M9ImhpZGRlbi1zbSBoaWRkZW4teHMiDQoJCQkJCQkJCQkJCXN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwOyBwYWRkaW5nLWxlZnQ6IDVweDsiPjxzcGFuPg0KCQkJCQkJCQkJCQkJPGEgc3R5bGU9ImNvbG9yOiBncmV5OyI+5q+P6aG15pi+56S6PC9hPiZuYnNwOzxzZWxlY3QgY2xhc3M9InBhZ2VOdW1TZWxlY3QiPjxvcHRpb24gdmFsdWU9IjEwIj4xMDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjI1Ij4yNTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjUwIj41MDwvb3B0aW9uPjwvc2VsZWN0PiZuYnNwOzxhDQoJCQkJCQkJCQkJCQlzdHlsZT0iY29sb3I6IGdyZXk7Ij7mnaEs5YWxPC9hPiZuYnNwOzEmbmJzcDs8YQ0KCQkJCQkJCQkJCQkJc3R5bGU9ImNvbG9yOiBncmV5OyI+5p2h5qCH5YeGPC9hPiAmbmJzcDs8YSBzdHlsZT0iY29sb3I6IHJlZDsiPjE8L2E+Jm5ic3A7LyZuYnNwOzENCgkJCQkJCQkJCQk8L3NwYW4+PC90ZD4NCgkJCQkJCQkJCQk8dGQgY2xhc3M9ImhpZGRlbi14cyI+PC90ZD4NCgkJCQkJCQkJCQk8dGQgYWxpZ249InJpZ2h0Ij4NCgkJCQkJCQkJCQkJIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNtIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7bWF4LXdpZHRoOjMwMHB4O3dpZHRoOjEwMCU7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi10b3A6MDsiPg0KCQkJCQkJCQkJCQkgCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzZWFyY2gxIiB2YWx1ZT0iIiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0i5qCH5YeG5Y+35oiW5qCH5YeG5ZCN56ewIiBvbmtleWRvd249ImlmKGV2ZW50LmtleUNvZGU9PTEzKSBzZWFyY2goKTsiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGFyaWEtbGFiZWw9Ii4uLiI+DQoJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtYnRuIj4NCgkJCQkJCQkJCQkJCQk8YnV0dG9uIGlkPSJzZWFyY2gxIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB0eXBlPSJidXR0b24iID4NCgkJCQkJCQkJCQkJCQkJ5Zyo57uT5p6c5Lit562b6YCJDQoJCQkJCQkJCQkJCQkJPC9idXR0b24+DQoJCQkJCQkJCQkJCQk8L3NwYW4+DQoJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQk8L3RyPg0KCQkJCQkJCQk8L3RhYmxlPg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciB2aXNpYmxlLXhzIiBzdHlsZT0iZm9udC1zaXplOjEwcHg7Ij4q5bem5Y+z5ruR5Yqo5YiX6KGo5oiW5qiq5bGP5p+l55yL5pu05aSa5YaF5a65PC9zcGFuPg0KCQkJCQkJCTxkaXYgY2xhc3M9InRhYmxlLXJlc3BvbnNpdmUiIHN0eWxlPSJtYXJnaW4tdG9wOjE1cHg7Ij4NCgkJCQkJCQk8dGFibGUgY2xhc3M9InRhYmxlIHJlc3VsdF9saXN0IHRhYmxlLXN0cmlwZWQgdGFibGUtaG92ZXIiIHN0eWxlPSJtaW4td2lkdGg6NzY4cHg7Ig0KCQkJCQkJCQl3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBib3JkZXI9IjAiPg0KCQkJCQkJCQk8dGJvZHk+DQoJCQkJCQkJCQk8dHI+DQoJCQkJCQkJCQkJPHRoIHdpZHRoPSI1MCI+5bqP5Y+3PC90aD4NCgkJCQkJCQkJCQk8dGggd2lkdGg9IjE0MCI+PGRpdg0KCQkJCQkJCQkJCQkJY2xhc3M9J3NjcmVlbk9yZGVyICcNCgkJCQkJCQkJCQkJCXNvcnRuYW1lPSIiIHNvcnRjb2w9InN0YW5kYXJkX25vIj7moIflh4blj7c8L2Rpdj48L3RoPg0KCQkJCQkJCQkJCTx0aCB3aWR0aD0iODAiPjxkaXYNCgkJCQkJCQkJCQkJCWNsYXNzPSdzY3JlZW5PcmRlciAnDQoJCQkJCQkJCQkJCQlzb3J0bmFtZT0iIiBzb3J0Y29sPSJjYWliaWFvX3N0YXR1cyI+5piv5ZCm6YeH5qCHPC9kaXY+PC90aD4NCgkJCQkJCQkJCQk8dGggd2lkdGg9IioiPjxkaXYNCgkJCQkJCQkJCQkJCWNsYXNzPSdzY3JlZW5PcmRlciAnDQoJCQkJCQkJCQkJCQlzb3J0bmFtZT0iIiBzb3J0Y29sPSJjbl9uYW1lIj7moIflh4blkI3np7A8L2Rpdj48L3RoPg0KCQkJCQkJCQkJCTx0aCB3aWR0aD0iODAiPjxkaXYNCgkJCQkJCQkJCQkJCWNsYXNzPSdzY3JlZW5PcmRlciAnDQoJCQkJCQkJCQkJCQlzb3J0bmFtZT0iIiBzb3J0Y29sPSJzdGFuZGFyZF90eXBlIj7nsbvliKs8L2Rpdj48L3RoPg0KCQkJCQkJCQkJCTx0aCB3aWR0aD0iODAiPjxkaXYNCgkJCQkJCQkJCQkJCWNsYXNzPSdzY3JlZW5PcmRlciAnDQoJCQkJCQkJCQkJCQlzb3J0bmFtZT0iIiBzb3J0Y29sPSJzdGF0dXMiPueKtuaAgTwvZGl2PjwvdGg+DQoJCQkJCQkJCQkJPHRoIHdpZHRoPSI5MCI+PGRpdg0KCQkJCQkJCQkJCQkJY2xhc3M9J3NjcmVlbk9yZGVyICcNCgkJCQkJCQkJCQkJCXNvcnRuYW1lPSIiIHNvcnRjb2w9ImNpcmN1bGF0aW9uX2RhdGUiPuWPkeW4g+aXpeacnzwvZGl2PjwvdGg+DQoJCQkJCQkJCQkJPHRoIHdpZHRoPSI5MCI+PGRpdg0KCQkJCQkJCQkJCQkJY2xhc3M9J3NjcmVlbk9yZGVyICcNCgkJCQkJCQkJCQkJCXNvcnRuYW1lPSIiIHNvcnRjb2w9ImltcGxlbWVudF9kYXRlIj7lrp7mlr3ml6XmnJ88L2Rpdj48L3RoPg0KCQkJCQkJCQkJCTx0aCB3aWR0aD0iODAiPuaTjeS9nDwvdGg+DQoJCQkJCQkJCQk8L3RyPg0KCQkJCQkJCQk8L3Rib2R5Pg0KCQkJCQkJCQk8dGJvZHkgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItdG9wOjJweCBzb2xpZCAjZGRkOyI+DQoJCQkJCQkJCQkNCgkJCQkJCQkJCQk8dHI+DQoJCQkJCQkJCQkJCTx0ZD4xPC90ZD4NCgkJCQkJCQkJCQkJPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+PGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIg0KCQkJCQkJCQkJCQkJb25jbGljaz0ic2hvd0luZm8oJzA4M0I0OEZBNzJEQkQzQjlCREU3NDUwN0JDMzE3MzZBJyk7Ij5HQi9UIDIwMjIzLTIwMDY8L2E+PC90ZD4NCgkJCQkJCQkJCQkJPHRkPg0KCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCSANCgkJCQkJCQkJCQkJDQoJCQkJCQkJCSAJCQkNCgkJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCQkJPHRkIGNsYXNzPSJteXR4dCIgb25tb3VzZW92ZXI9InNob3dDb250ZW50KHRoaXMpOyINCgkJCQkJCQkJCQkJCXN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAwIDhweCAwIDhweDsiPjxhDQoJCQkJCQkJCQkJCQlocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjb2xvcjogZ3JheTsiDQoJCQkJCQkJCQkJCQlvbmNsaWNrPSJzaG93SW5mbygnMDgzQjQ4RkE3MkRCRDNCOUJERTc0NTA3QkMzMTczNkEnKTsiPuajieefree7kjwvYT48L3RkPg0KCQkJCQkJCQkJCQk8dGQ+DQoJCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQkJDQoJCQkJCQkJCeaOqOaghyANCgkJCQkJCQkNCgkJCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQkJCTx0ZD4NCgkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQkgDQoJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4OyI+5bqf5q2iPC9zcGFuPg0KCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCQkJPHRkPjIwMDYtMDMtMTAgMDA6MDA6MDAuMDwvdGQ+DQoJCQkJCQkJCQkJCTx0ZD4yMDA2LTA5LTAxIDAwOjAwOjAwLjA8L3RkPg0KCQkJCQkJCQkJCQk8dGQ+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zbSBidG4tZGVmYXVsdCINCgkJCQkJCQkJCQkJCQlvbmNsaWNrPSJzaG93SW5mbygnMDgzQjQ4RkE3MkRCRDNCOUJERTc0NTA3QkMzMTczNkEnKTsiIGNsYXNzPSJkZXRhaWwiPuafpeeci+ivpue7hjwvYnV0dG9uPjwvdGQ+DQoJCQkJCQkJCQkJPC90cj4NCgkJCQkJCQkJCQ0KCQkJCQkJCQk8L3Rib2R5Pg0KCQkJCQkJCTwvdGFibGU+DQoJCQkJCQkJPC9kaXY+DQoJCQkJCQkJDQoNCgkJCQkJCQk8ZGl2IHN0eWxlPSJtYXJnaW46IDIwcHg7IGhlaWdodDogNTBweDsiIGNsYXNzPSJ2aXNpYmxlLXhzIj4NCgkJCQkJCQkJPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+DQoJCQkJCQkJCQk8dHI+DQoJCQkJCQkJCQkJPHRkIGNsYXNzPSJoaWRkZW4teHMiIHN0eWxlPSJtaW4td2lkdGg6IDY1cHg7IF93aWR0aDogNjVweDsiPg0KCQkJCQkJCQkJCQk8c3Bhbj4g5q+P6aG15pi+56S6Jm5ic3A7PHNlbGVjdCBjbGFzcz0icGFnZU51bVNlbGVjdCI+PG9wdGlvbiB2YWx1ZT0iMTAiPjEwPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMjUiPjI1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iNTAiPjUwPC9vcHRpb24+PC9zZWxlY3Q+Jm5ic3A75p2h5qCH5YeGIDwvc3Bhbj4NCgkJCQkJCQkJCQk8L3RkPg0KCQkJCQkJCQkJCTx0ZCBjbGFzcz0iaGlkZGVuLXhzIiB3aWR0aD0iNDAlIj48L3RkPg0KCQkJCQkJCQkJCTx0ZCB3aWR0aD0iMjAlIiBzdHlsZT0ibWluLXdpZHRoOiAyNjBweDsgX3dpZHRoOiAyNjBweDsiPg0KCQkJCQkJCQkJCQk8ZGl2Pg0KCQkJCQkJCQkJCQkJPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+DQoJCQkJCQkJCQkJCQkJPHRyPg0KCQkJCQkJCQkJCQkJCQk8dGQ+PHNwYW4gc3R5bGU9IndpZHRoOiAxMjBweDsiPiA8YQ0KCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJjb2xvcjogZ3JleTsiPuWFsTwvYT4mbmJzcDsxJm5ic3A7PGENCgkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iY29sb3I6IGdyZXk7Ij7mnaHmoIflh4Y8L2E+ICZuYnNwOzxhDQoJCQkJCQkJCQkJCQkJCQkJc3R5bGU9ImNvbG9yOiByZWQ7Ij4xPC9hPiZuYnNwOy8mbmJzcDsxDQoJCQkJCQkJCQkJCQkJCTwvc3Bhbj48L3RkPg0KCQkJCQkJCQkJCQkJCQk8dGQ+PC90ZD4NCgkJCQkJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogODBweDsiPg0KCQkJCQkJCQkJCQkJCQkJPGRpdiBhbGlnbj0icmlnaHQiIGNsYXNzPSJidG4tZ3JvdXAiIHJvbGU9Imdyb3VwIg0KCQkJCQkJCQkJCQkJCQkJCWFyaWEtbGFiZWw9Ii4uLiIgc3R5bGU9ImFsaWduOiByaWdodDsiPg0KCQkJCQkJCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IHByZSI+DQoJCQkJCQkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLW1lbnUtbGVmdCI+PC9zcGFuPg0KCQkJCQkJCQkJCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IG5leHQiPg0KCQkJCQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1tZW51LXJpZ2h0Ij48L3NwYW4+DQoJCQkJCQkJCQkJCQkJCQkJPC9idXR0b24+DQoJCQkJCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCQkJCQk8L3RyPg0KCQkJCQkJCQkJCQkJPC90YWJsZT4NCgkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCTwvdHI+DQoJCQkJCQkJCTwvdGFibGU+DQoNCgkJCQkJCQk8L2Rpdj4NCg0KCQkJCQkJCTxkaXYgc3R5bGU9Im1hcmdpbjogMTBweDsgaGVpZ2h0OiA1MHB4OyIgY2xhc3M9ImhpZGRlbi14cyI+DQoJCQkJCQkJCTx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCUiPg0KCQkJCQkJCQkJPHRyPg0KCQkJCQkJCQkJCTx0ZCBjbGFzcz0iaGlkZGVuLXNtIGhpZGRlbi14cyINCgkJCQkJCQkJCQkJc3R5bGU9IndoaXRlLXNwYWNlOiBub3dyYXA7IHBhZGRpbmctbGVmdDogNXB4OyI+PHNwYW4+DQoJCQkJCQkJCQkJCQk8YSBzdHlsZT0iY29sb3I6IGdyZXk7Ij7mr4/pobXmmL7npLo8L2E+Jm5ic3A7PHNlbGVjdCBjbGFzcz0icGFnZU51bVNlbGVjdCI+PG9wdGlvbiB2YWx1ZT0iMTAiPjEwPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMjUiPjI1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iNTAiPjUwPC9vcHRpb24+PC9zZWxlY3Q+Jm5ic3A7PGENCgkJCQkJCQkJCQkJCXN0eWxlPSJjb2xvcjogZ3JleTsiPuadoSzlhbE8L2E+Jm5ic3A7MSZuYnNwOzxhDQoJCQkJCQkJCQkJCQlzdHlsZT0iY29sb3I6IGdyZXk7Ij7mnaHmoIflh4Y8L2E+ICZuYnNwOzxhIHN0eWxlPSJjb2xvcjogcmVkOyI+MTwvYT4mbmJzcDsvJm5ic3A7MQ0KCQkJCQkJCQkJCTwvc3Bhbj48L3RkPg0KCQkJCQkJCQkJCTx0ZCBjbGFzcz0iaGlkZGVuLXhzIj48L3RkPg0KCQkJCQkJCQkJCTx0ZCB3aWR0aD0iMzAlIiBzdHlsZT0ibWluLXdpZHRoOiAyNjBweDsgX3dpZHRoOiAyNjBweDsiPg0KCQkJCQkJCQkJCQk8ZGl2Pg0KCQkJCQkJCQkJCQkJPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+DQoJCQkJCQkJCQkJCQkJPHRyPg0KCQkJCQkJCQkJCQkJCQk8dGQgc3R5bGU9IndoaXRlLXNwYWNlOiBub3dyYXA7IHBhZGRpbmctbGVmdDogNXB4OyI+PHNwYW4+DQoNCgkJCQkJCQkJCQkJCQkJPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGlkZGVuLW1kIGhpZGRlbi1sZyI+IDxhDQoJCQkJCQkJCQkJCQkJCQkJc3R5bGU9ImNvbG9yOiBncmV5OyI+5YWxPC9hPiZuYnNwOzEmbmJzcDs8YQ0KCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJjb2xvcjogZ3JleTsiPuadoeagh+WHhjwvYT4NCgkJCQkJCQkJCQkJCQkJPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGlkZGVuLW1kIGhpZGRlbi1sZyI+ICZuYnNwOzxhDQoJCQkJCQkJCQkJCQkJCQkJc3R5bGU9ImNvbG9yOiByZWQ7Ij4xPC9hPiZuYnNwOy8mbmJzcDsxDQoJCQkJCQkJCQkJCQkJCTwvc3Bhbj48L3RkPg0KCQkJCQkJCQkJCQkJCQk8dGQgY2xhc3M9ImhpZGRlbi1tZCBoaWRkZW4tbGciIHN0eWxlPSJ3aWR0aDogODBweDsiPg0KCQkJCQkJCQkJCQkJCQkJPGRpdiBhbGlnbj0icmlnaHQiIGNsYXNzPSJidG4tZ3JvdXAiIHJvbGU9Imdyb3VwIg0KCQkJCQkJCQkJCQkJCQkJCWFyaWEtbGFiZWw9Ii4uLiIgc3R5bGU9ImFsaWduOiByaWdodDsiPg0KCQkJCQkJCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IHByZSI+DQoJCQkJCQkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLW1lbnUtbGVmdCI+PC9zcGFuPg0KCQkJCQkJCQkJCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IG5leHQiPg0KCQkJCQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1tZW51LXJpZ2h0Ij48L3NwYW4+DQoJCQkJCQkJCQkJCQkJCQkJPC9idXR0b24+DQoJCQkJCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCQkJCQkJPHRkIGNsYXNzPSJoaWRkZW4teHMgaGlkZGVuLXNtIg0KCQkJCQkJCQkJCQkJCQkJc3R5bGU9IndoaXRlLXNwYWNlOiBub3dyYXA7Ij4NCgkJCQkJCQkJCQkJCQkJCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IiBpZD0icGFnZW5hdjIiPjwvZGl2Pg0KCQkJCQkJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCQkJCQk8L3RyPg0KCQkJCQkJCQkJCQkJPC90YWJsZT4NCgkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCTwvdHI+DQoJCQkJCQkJCTwvdGFibGU+DQoJCQkJCQkJPC9kaXY+DQoJCQkJCQk8L2Rpdj4NCgkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJPC9kaXY+DQoJPC9kaXY+DQoJDQo8ZGl2IGNsYXNzPSJmb290Ij4NCgnniYjmnYPmiYDmnInvvJrkuK3lm73lm73lrrbmoIflh4bljJbnrqHnkIblp5TlkZjkvJogPGJyIGNsYXNzPSJoaWRkZW4tbGcgaGlkZGVuLW1kIi8+5LqsSUNQ5aSHMDkwMDEyMznlj7c8YnIvPiDnvZHnq5nmioDmnK/mlK/mjIHvvJrlm73lrrbluILlnLrnm5HnnaPnrqHnkIbmgLvlsYDlm73lrrbmoIflh4bmioDmnK/lrqHor4TkuK3lv4MgPGJyIGNsYXNzPSJoaWRkZW4tbGcgaGlkZGVuLW1kIi8+DQoJ5pSv5oyB55S16K+d77yaMDEwLTgyMjYxMDU2PGJyIGNsYXNzPSJoaWRkZW4tbGcgaGlkZGVuLW1kIi8+PGJyIGNsYXNzPSJoaWRkZW4tbGcgaGlkZGVuLW1kIi8+DQo8L2Rpdj4NCjxzY3JpcHQ+DQp2YXIgIF9obXQgID0gIF9obXQgIHx8ICBbXTsNCg0KZnVuY3Rpb24gb3Blbl9uZXdfd2luZG93KGZ1bGxfbGluayl7DQoJd2luZG93Lm9wZW4oJ2phdmFzY3JpcHQ6d2luZG93Lm5hbWU7JywgJzxzY3JpcHQ+bG9jYXRpb24ucmVwbGFjZSgiJytmdWxsX2xpbmsrJyIpPFwvc2NyaXB0PicpOw0KfQ0KDQooZnVuY3Rpb24oKSAgew0KICAgIHZhciAgaG0gID0gIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgIGhtLnNyYyAgPSAgImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzPzUwNzU4OTEzZTZmMGRmYzlkZWFjYmZlYmNlMzYzN2U0IjsNCiAgICB2YXIgIHMgID0gIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgIA0KICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaG0sICBzKTsNCiAgICANCiAgICANCiAgICAkKCcub3V0ZXItbGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgCW9wZW5fbmV3X3dpbmRvdygkKHRoaXMpLmF0dHIoJ2hyZWYnKSk7DQogICAgCXJldHVybiBmYWxzZTsNCiAgICB9KTsNCn0pKCk7DQo8L3NjcmlwdD4NCgk8IS0tW2lmIGx0IElFIDldPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2pzL3Jlc3BvbmQubWluLmpzIj48L3NjcmlwdD4NCgk8IVtlbmRpZl0tLT4NCgk8IS0tW2lmIGx0IElFIDEwXT4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvYnpnay9qcy9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuanMiPjwvc2NyaXB0Pg0KCTwhW2VuZGlmXS0tPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2xheXBhZ2UvbGF5cGFnZS5qcyI+PC9zY3JpcHQ+DQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0nL2J6Z2svanMvYm9vdHN0cmFwLmpzJz48L3NjcmlwdD4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPScvYnpnay9qcy9jb21tb24uanMnPjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==
34
+ DQoNCg0KDQoNCg0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJ6aC1DTiI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iL2J6Z2svZmF2aWNvbi5pY28iPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvYnpnay9mYXZpY29uLmljbyI+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCINCgljb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4NCjwhLS1baWYgbHQgSUUgOV0+DQo8c2NyaXB0IHNyYz0iL2J6Z2svanMvaHRtbDUuanMiPjwvc2NyaXB0Pg0KPCFbZW5kaWZdLS0+DQo8bGluayBocmVmPSIuLi9jc3MvcWJjeC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYnpnay9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2pzL2pxdWVyeS0xLjExLjMubWluLmpzIj48L3NjcmlwdD4NCjx0aXRsZT7lm73lrrbmoIflh4blhajmlofpmIXor7t85qCH5YeG5qOA57SiPC90aXRsZT4NCjwvaGVhZD4NCjxzdHlsZT4NCkBtZWRpYSAoIG1heC13aWR0aCA6IDc2OHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgew0KCWJvZHkgew0KCQl3aWR0aDogMXB4Ow0KCQltaW4td2lkdGg6IDEwMCU7DQoJCSp3aWR0aDogMTAwJTsNCgl9DQoJI3N0YWdlIHsNCgkJb3ZlcmZsb3c6IGF1dG87DQoJCW1pbi1oZWlnaHQ6IDEwMHZoOw0KCQktd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQoJfQ0KfQ0KDQpib2R5IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1Ow0KfQ0KDQouc2NyZWVuT3JkZXIgew0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLnJlc3VsdF9saXN0IHRoIHsNCglwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQoJbGluZS1oZWlnaHQ6IDM1cHggIWltcG9ydGFudDsNCn0NCi8qLmNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7fSovDQo8L3N0eWxlPg0KPGJvZHk+DQoJDQoJDQoNCjxzdHlsZT4NCglAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHsNCgkgICN4c01haW5Mb2dve3dpZHRoOjkwJTt6LWluZGV4OjEwMDA7bWFyZ2luOjAgYXV0bzttYXJnaW4tdG9wOjE1cHg7ZGlzcGxheTpibG9ja30NCgkgICN4c1N1YkxvZ297ZmxvYXQ6cmlnaHQ7ei1pbmRleDoxMDAwO21hcmdpbjo1cHggNSU7fQ0KCSAgI3hzUXdMb2dve2Zsb2F0OmxlZnQ7d2lkdGg6NTAlO3otaW5kZXg6MTAwMDttYXJnaW46N3B4IDUlO30gDQoJfQ0KCUBtZWRpYSAobWluLXdpZHRoOiA1NjhweCl7DQoJICAjeHNNYWluTG9nb3tmbG9hdDpsZWZ0O3dpZHRoOjkwJTt6LWluZGV4OjEwMDA7bWFyZ2luLXRvcDoxNXB4O21hcmdpbi1sZWZ0OjYlO30NCgkgICN4c1N1YkxvZ297d2lkdGg6MzMlO3otaW5kZXg6MTAwMDttYXJnaW4tdG9wOjQwcHg7bWFyZ2luLXJpZ2h0OjElO30NCgkgICN4c1F3TG9nb3tmbG9hdDpyaWdodDt3aWR0aDo5MCU7ei1pbmRleDoxMDAwO21hcmdpbjoxNXB4IDUlO21hcmdpbi1sZWZ0OjYlO30NCgkgIC54c0Rpdnt3aWR0aDo2NSV9DQoJfSANCgkucG9wb3ZlciAucG9wb3Zlci10aXRsZXt0ZXh0LWFsaWduOmNlbnRlcjt9IA0KCSNzYWNMb2dve3RleHQtZGVjb3JhdGlvbjpub25lO3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZToxMnB4O3otaW5kZXg6MTAwMDt0b3A6MTBweDtsZWZ0OjIwcHg7Y29sb3I6I0U0RTRFNDtkaXNwbGF5OmlubGluZS1ibG9jazt9DQoJI3NhY0xvZ286aG92ZXJ7Y29sb3I6d2hpdGU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KCSNzYWNMb2dvOnZpc2l0ZWR7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCiQoZnVuY3Rpb24oKXsNCgkkKCcjbW9iaWxlRXdtJykucG9wb3Zlcih7aHRtbDp0cnVlfSk7DQp9KQ0KPC9zY3JpcHQ+IA0KPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMzksODYsMTU2KTsiPg0KCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KCQkJPGRpdiBjbGFzcz0icm93Ij4gIA0KCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+IA0KCQkJCQk8ZGl2IHN0eWxlPSJjb2xvcjojZmY5YzNkO3BhZGRpbmc6NXB4IDAiPumHjeimgemAmuefpe+8muW5s+WPsOWfn+WQjeWNs+WwhuWPmOabtOS4um9wZW5zdGQuc2Ftci5nb3YuY248L2Rpdj4gDQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJPC9kaXY+DQoJPC9kaXY+IA0KPGRpdiBzdHlsZT0id2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvYmFubmVyYmcuanBnKTsiPg0KCQ0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCQ0KCQk8ZGl2IGNsYXNzPSJyb3cgaGlkZGVuLXhzIGhpZGRlbi1zbSIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxODBweDsiPg0KCQkJDQoJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL21haW4tbG9nby5wbmciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7dG9wOjUwcHg7bGVmdDozMHB4OyIvPiAgDQoJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL3F3ZmIucG5nIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO3RvcDoxMTVweDtsZWZ0OjMwcHg7Ii8+ICANCgkJCTxpbWcgc3JjPSIuLi9pbWFnZXMvc3ViLWxvZ28ucG5nIiB3aWR0aD0iMzA0IiBoZWlnaHQ9IjUzIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO3RvcDo2NXB4O3JpZ2h0OjQwcHg7Ii8+IA0KCQkJPGltZyBzcmM9Ii4uL2ltYWdlcy9sb2dvNC5qcGciIHdpZHRoPSI4MDIiIGhlaWdodD0iMTgwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5OTk7dG9wOjA7cmlnaHQ6MDsiLz4gDQoJCTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyb3cgdmlzaWJsZS14cyB2aXNpYmxlLXNtIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uL2ltYWdlcy9sb2dvNC5qcGcnKSI+DQoJCQk8ZGl2IGNsYXNzPSJ4c0RpdiI+DQoJCQk8aW1nIGlkPSJ4c01haW5Mb2dvIiBzcmM9Ii4uL2ltYWdlcy9tYWluLWxvZ28ucG5nIiBzdHlsZT0iIi8+DQoJCQk8aW1nIGlkPSJ4c1F3TG9nbyIgc3JjPSIuLi9pbWFnZXMvcXdmYi5wbmciIHN0eWxlPSIiLz4gDQoJCQk8L2Rpdj4NCgkJCTxpbWcgaWQ9InhzU3ViTG9nbyIgc3JjPSIuLi9pbWFnZXMvc3ViLWxvZ28ucG5nIiB3aWR0aD0iMzAlIiBzdHlsZT0iIi8+IA0KCQk8L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQo8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgbmF2YmFyLXN0YXRpYy10b3AiIHJvbGU9Im5hdmlnYXRpb24iIHN0eWxlPSJiYWNrZ3JvdW5kOiMxMTU4ODM7Ym9yZGVyOjA7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmciPiAgDQoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQo8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIiA+DQogICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUgY29sbGFwc2VkIiBzdHlsZT0ibWFyZ2luOjA7bWFyZ2luLXRvcDotMnB4O3BhZGRpbmc6NXB4OyIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI2JzLWV4YW1wbGUtbmF2YmFyLWNvbGxhcHNlLTEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4NCiAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPg0KICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4NCiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+DQogICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPg0KICAgICAgPC9idXR0b24+DQogICAgICA8YSBzdHlsZT0iZm9udC1zaXplOjE1cHg7IiBjbGFzcz0ibmF2YmFyLWJyYW5kICIgIGhyZWY9Ii9iemdrL2diL2luZGV4IiA+6aaWJm5ic3A76aG1PC9hPg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBDb2xsZWN0IHRoZSBuYXYgbGlua3MsIGZvcm1zLCBhbmQgb3RoZXIgY29udGVudCBmb3IgdG9nZ2xpbmcgLS0+DQogICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBpZD0iYnMtZXhhbXBsZS1uYXZiYXItY29sbGFwc2UtMSI+DQogICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2Ij4NCiAgICAgICAgDQogICAgICAgIDxsaSBjbGFzcz0iIj48YSBocmVmPSIvYnpnay9nYi9zdGRfbGlzdF90eXBlP3AucDE9MSZwLnA5MD1jaXJjdWxhdGlvbl9kYXRlJnAucDkxPWRlc2MiPuW8uuWItuaAp+WbveWutuagh+WHhjwvYT48L2xpPg0KICAgICAgICA8bGkgY2xhc3M9IiI+PGEgaHJlZj0iL2J6Z2svZ2Ivc3RkX2xpc3RfdHlwZT9wLnAxPTImcC5wOTA9Y2lyY3VsYXRpb25fZGF0ZSZwLnA5MT1kZXNjIj7mjqjojZDmgKflm73lrrbmoIflh4Y8L2E+PC9saT4NCiAgICAgICAgDQogICAgICA8L3VsPg0KICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPg0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCTxsaSBjbGFzcz0iYWN0aXZlIj48YT7moIflh4bmo4DntKLnu5Pmnpw8L2E+PC9saT4NCiAgICAgIAk8bGkgY2xhc3M9IiI+PGEgaHJlZj0iL2J6Z2svZ2IvaGVscCI+5biu5YqpPC9hPjwvbGk+DQogICAgICAJPGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9iemdrL2diL2NvbnRhY3QiPuiBlOezu+aIkeS7rDwvYT48L2xpPg0KICAgICAgCQ0KICAgICAgPC91bD4NCiAgICAgIDwhLS0gPGZvcm0gY2xhc3M9Im5hdmJhci1mb3JtIG5hdmJhci1yaWdodCIgcm9sZT0ic2VhcmNoIiBvbnN1Ym1pdD0icmV0dXJuIGZhbHNlOyI+DQogICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1zbSIgc3R5bGU9IndpZHRoOjMwMHB4O21hcmdpbjowIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi10b3A6NHB4OyI+DQoJCQkJCQkJCQk8aW5wdXQgcGxhY2Vob2xkZXI9Iuivt+i+k+WFpeWFs+mUruWtlyIgb25rZXlkb3duPSJpZihldmVudC5rZXlDb2RlPT0xMykgc2VhcmNoKCcnLCQodGhpcykudmFsKCkpOyIgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgYXJpYS1sYWJlbD0iLi4uIj4NCgkJCQkJCQkJCTxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPg0KCQkJCQkJCQkJCTxidXR0b24gaWQ9InNlYXJjaEJ0biIgY2xhc3M9ImJ0biBidG4td2FybmluZyIgdHlwZT0iYnV0dG9uIiA+DQoJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCI+PC9zcGFuPg0KCQkJCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCQkJPC9zcGFuPg0KCQkJCQkJCQk8L2Rpdj4NCiAgICAgIDwvZm9ybT4gLS0+DQogICAgPC9kaXY+PCEtLSAvLm5hdmJhci1jb2xsYXBzZSAtLT4NCiAgPC9kaXY+PCEtLSAvLmNvbnRhaW5lci1mbHVpZCAtLT4NCgk8L25hdj4NCgkNCgk8ZGl2IGNsYXNzPSJyZXBiZzEiIGlkPSJzdGFnZSI+DQoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCQk8b2wgY2xhc3M9ImJyZWFkY3J1bWIiIHN0eWxlPSJtYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmctYm90dG9tOjA7Ij4NCgkJCSAgPGxpPjxhIGhyZWY9ImluZGV4Ij48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1ob21lIj48L3NwYW4+Jm5ic3A76aaW6aG1PC9hPjwvbGk+DQoJCQkgIDxsaT48YSBocmVmPSJnYk1haW5RdWVyeSI+5qCH5YeG5qOA57SiPC9hPjwvbGk+DQoJCQkgIA0KCQkJICAgPGxpIGNsYXNzPSJhY3RpdmUiPuajgOe0oue7k+aenDwvbGk+DQoJCQk8L29sPg0KCQkJDQoJCQkgDQoNCg0KPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPg0KPHRpdGxlPuaQnOe0ouihqOWNlTwvdGl0bGU+DQo8c3R5bGU+DQouaWNzdHlwZSB7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KDQoubXVsdGlTZWxlY3RCdG4gew0KCXBhZGRpbmc6IDAgNXB4ICFpbXBvcnRhbnQ7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KIAltYXJnaW4tcmlnaHQ6MTBweDsNCn0NCg0KLmljc1NlbGVjdEJ0biB7DQoJbWFyZ2luOjVweCAyMHB4IDVweCAwOw0KCXdpZHRoOmluaXRpYWwgIWltcG9ydGFudDsNCn0NCi5tdWx0aVNlbGVjdEJ0bjpob3ZlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsNCn0NCg0KLm11bHRpU2VsZWN0QnRuLXMgew0KCWJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7DQoJYm9yZGVyLWNvbG9yOiAjZGRkZGRkOw0KCWNvbG9yOiAjZTQzOTNjOw0KfQ0KLm1DaGVja3sNCgl2ZXJ0aWNhbC1hbGlnbjp0b3A7DQoJbWFyZ2luLXJpZ2h0OjVweCAhaW1wb3J0YW50OzsNCn0NCi5jLXJlZCB7DQoJY29sb3I6IHJlZDsNCn0NCg0KLm0tMTAgew0KCW1hcmdpbjo1cHggMDsNCn0NCg0KI2ljcyBhOkhPVkVSIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmljc2xpc3QxOkhPVkVSIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCgljdXJzb3I6IHBvaW50ZXI7DQp9DQoubmF2LXRhYnMgLmJhZGdlew0KCWZvbnQtc2l6ZTo3NSU7DQoJYmFja2dyb3VuZC1jb2xvcjojYWFhOw0KCXBhZGRpbmc6MnB4IDVweDsNCgl2ZXJ0aWNhbC1hbGlnbjpzdWI7DQoJbWFyZ2luLWxlZnQ6MnB4Ow0KfQ0KLm1vZGFsIC5zdGF0ZW1lbnRVbCBsaXtiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL3BvaW50LnBuZycpIG5vLXJlcGVhdCA4cHggNnB4O30NCi5tb2RhbCAuc21nZyBsaXtwYWRkaW5nOjAgMjJweDttYXJnaW46MTVweCAwO2xpbmUtaGVpZ2h0OjI1cHg7fQ0KI3R5cGUgbGl7ZmxvYXQ6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jazt9DQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQo8ZGl2IGNsYXNzPSJyb3ciIGlkPSJ0b3BQYW5lbCIgPg0KPGRpdiBjbGFzcz0iY29sLXhzLTEyIj4NCg0KDQo8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTowOyI+DQo8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkJGQkZCIj4NCg0KPHNwYW4gY2xhc3M9InRleHQtZGFuZ2VyIHZpc2libGUteHMiIHN0eWxlPSJmb250LXNpemU6MTBweDttYXJnaW4tYm90dG9tOjVweCI+Kuagh+WHhuexu+WIq+WPr+W3puWPs+a7keWKqDwvc3Bhbj4NCg0KPHVsIGlkPSJ0eXBlIiBjbGFzcz0ibmF2IG5hdi10YWJzIiByb2xlPSJ0YWJsaXN0IiBzdHlsZT0id2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47cGFkZGluZy1sZWZ0OjBweDt3aGl0ZS1zcGFjZTpub3dyYXA7aGVpZ2h0OjQxcHg7Ym9yZGVyLWJvdHRvbTowOyI+DQoJDQoJPGxpIHJvbGU9InByZXNlbnRhdGlvbiIgY2xhc3M9ImFjdGl2ZSI+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyIgaHJlZj0iIyIgaWQ9IjAiPjxzcGFuPuWFqOmDqDxzcGFuIGNsYXNzPSJiYWRnZSI+MTwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+DQoJDQoJPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyIgaHJlZj0iIyIgaWQ9IjIiPjxzcGFuPuaOqOiNkOaAp+WbveWutuagh+WHhjxzcGFuIGNsYXNzPSJiYWRnZSI+MTwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+DQoJDQo8L3VsPg0KDQo8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0IiBzdHlsZT0ibWFyZ2luLXRvcDotMnB4O21hcmdpbi1ib3R0b206MDsiPiANCgkJPGRpdiBpZD0idGpQYW5lbCIgY2xhc3M9InBhbmVsLWJvZHkiPg0KCQkJPGRpdiBjbGFzcz0icGFnZS1oZWFkZXIiIHN0eWxlPSJtYXJnaW46MDtjb2xvcjpncmF5OyI+DQoJCSAgCQk8aDU+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tem9vbS1pbiI+PC9zcGFuPiZuYnNwO+etm+mAieadoeS7tjwvaDU+DQoJCQk8L2Rpdj4NCgkJCQ0KCQkJDQoJCQk8ZGl2IGNsYXNzPSJyb3cgbS0xMCIgc3R5bGU9ImJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFOyBwYWRkaW5nLWJvdHRvbTogNXB4OyI+DQoJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIj4NCgkJCQkJPHRhYmxlIHN0eWxlPSJ3aWR0aDoxMDAlIj4NCgkJCQkJCTx0cj4NCgkJCQkJCQk8dGQgd2lkdGg9IjgwIiBzdHlsZT0ibGluZS1oZWlnaHQ6IDMwcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7Ij4NCgkJCQkJCQkJPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+5qCH5YeG54q25oCB77yaPC9zcGFuPg0KCQkJCQkJCTwvdGQ+DQoJCQkJCQkJPHRkPg0KCQkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMiIGlkPSJzdGF0ZSI+DQoJCQkJCQkJCQkNCgkJCQkJCQkJCTxsaSByb2xlPSJwcmVzZW50YXRpb24iPjxhIGNsYXNzPSJidG4gbXVsdGlTZWxlY3RCdG4iIGhyZWY9IiMiIGlkPSJXSVRIRFJBV04iPjxzcGFuPuW6n+atoigxKTwvYT48L3NwYW4+PC9saT4NCgkJCQkJCQkJCQ0KCQkJCQkJCQk8L3VsPg0KCQkJCQkJCTwvdGQ+DQoJCQkJCQkJPHRkIGNsYXNzPSJoaWRkZW4teHMiIHdpZHRoPSI5MCIgc3R5bGU9InRleHQtYWxpZ246cmlnaHQ7Ij4NCgkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIHN0eWxlPSJwYWRkaW5nOiAwIDNweDsgbWFyZ2luLWxlZnQ6IDVweDsiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgbXVsdGlTZWxlY3QiPjxzcGFuIHN0eWxlPSJjb2xvcjpncmF5IiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGVjayI+PC9zcGFuPiZuYnNwO+WkmumAiTwvYnV0dG9uPg0KCQkJCQkJCQk8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4NCgkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzogMCAzcHg7IG1hcmdpbi1sZWZ0OiA1cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7IiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGNvbmZpcm1TZWxlY3QiPuehruiupDwvYnV0dG9uPg0KCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIHN0eWxlPSJwYWRkaW5nOiAwIDNweDsgbWFyZ2luLWxlZnQ6IDVweDtkaXNwbGF5OmlubGluZS1ibG9jazsiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgY2FuY2VsU2VsZWN0Ij7lj5bmtog8L2J1dHRvbj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJPC90ZD4NCgkJCQkJCTwvdHI+DQoJCQkJCTwvdGFibGU+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCQ0KCQkJDQoJCQk8ZGl2IGNsYXNzPSJyb3cgbS0xMCIgc3R5bGU9ImJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFOyBwYWRkaW5nLWJvdHRvbTogNXB4OyI+DQoJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIj4NCgkJCQkJPHRhYmxlIHN0eWxlPSJ3aWR0aDoxMDAlIj4NCgkJCQkJCTx0cj4NCgkJCQkJCQk8dGQgd2lkdGg9IjgwIiBzdHlsZT0ibGluZS1oZWlnaHQ6IDMwcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7Ij4NCgkJCQkJCQkJPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+5Y+R5biD5pel5pyf77yaPC9zcGFuPg0KCQkJCQkJCTwvdGQ+DQoJCQkJCQkJPHRkPg0KCQkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMiIGlkPSJkYXRlIj4NCgkJCQkJCQkJCQ0KCQkJCQkJCQkJPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PGEgY2xhc3M9ImJ0biBtdWx0aVNlbGVjdEJ0biIgaHJlZj0iIyIgaWQ9IjYiPjxzcGFuPuS4ieW5tOS7peS4iigxKTwvc3Bhbj48L2E+PC9saT4NCgkJCQkJCQkJCQ0KCQkJCQkJCQk8L3VsPg0KCQkJCQkJCTwvdGQ+CQ0KCQkJCQkJPC90cj4NCgkJCQkJPC90YWJsZT4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJDQoJCQkNCgkJCSANCgkJCTxkaXYgY2xhc3M9InJvdyBtLTEwIiBzdHlsZT0icGFkZGluZy1ib3R0b206IDVweDsiIGlkPSJpY3MtZGl2Ij4NCgkJCQk8ZGl2IGNsYXNzPSJjb2wtbGctMTIgY29sLW1kLTEyIGNvbC1zbS0xMiBjb2wteHMtMTIgIj4NCgkJCQkJPHRhYmxlIHN0eWxlPSJ3aWR0aDoxMDAlIj4NCgkJCQkJCTx0cj4NCgkJCQkJCQk8dGQgd2lkdGg9IjgwIiBzdHlsZT0ibGluZS1oZWlnaHQ6IDMwcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij4NCgkJCQkJCQkJPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SUNTJm5ic3A75YiG57G777yaPC9zcGFuPg0KCQkJCQkJCTwvdGQ+DQoJCQkJCQkJPHRkPg0KCQkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgaGlkZGVuLXhzIiBpZD0iaWNzLXZpZXciPg0KCQkJCQkJCQkJPCEtLSA8bGkgcm9sZT0icHJlc2VudGF0aW9uIj48YSBjbGFzcz0iYnRuIG11bHRpU2VsZWN0QnRuIiBpZD0iIj7lhajpg6g8L2E+PC9saT4gLS0+DQoJCQkJCQkJCQkNCgkJCQkJCQkJCQ0KCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCTxsaSByb2xlPSJwcmVzZW50YXRpb24iPg0KCQkJCQkJCQkJCQk8YSBjbGFzcz0iYnRuIG11bHRpU2VsZWN0QnRuIGljc1NlbGVjdEJ0biIgaWQ9IjU5Ij41OV/nurrnu4flkoznmq7pnanmioDmnK8oMSk8L2E+DQoJCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJCQkNCgkJCQkJCQkJCQ0KCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8YnV0dG9uIGNsYXNzPSJ2aXNpYmxlLXhzIiB0eXBlPSJidXR0b24iIHN0eWxlPSJwYWRkaW5nOiAwIDNweDsgbWFyZ2luLWxlZnQ6IDVweDsiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIGRhdGEtdG9nZ2xlPSJtb2RhbCIgZGF0YS10YXJnZXQ9IiNteU1vZGFsIj48c3BhbiBzdHlsZT0iY29sb3I6Z3JheTt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcDsiIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXBsdXMtc2lnbiI+PC9zcGFuPiZuYnNwO+abtOWkmjwvYnV0dG9uPg0KCQkJCQkJCTwvdGQ+DQoJCQkJCQkJPHRkIGNsYXNzPSJoaWRkZW4teHMiIHdpZHRoPSI0MCI+DQoJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzogMCAzcHg7IG1hcmdpbi1sZWZ0OiA1cHg7IiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBkYXRhLXRvZ2dsZT0ibW9kYWwiIGRhdGEtdGFyZ2V0PSIjbXlNb2RhbCI+PHNwYW4gc3R5bGU9ImNvbG9yOmdyYXk7dmVydGljYWwtYWxpZ246dGV4dC10b3A7IiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1wbHVzLXNpZ24iPjwvc3Bhbj4mbmJzcDvmm7TlpJo8L2J1dHRvbj4NCgkJCQkJCQk8L3RkPg0KCQkJCQkJPC90cj4NCgkJCQkJPC90YWJsZT4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0ibW9kYWwgZmFkZSIgaWQ9Im15TW9kYWwiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiPg0KCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQoJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KCQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIiBzdHlsZT0icGFkZGluZzogMTVweCAzNXB4IDVweCAzNXB4OyI+DQoJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCgkJCQkJCQkJYXJpYS1sYWJlbD0iQ2xvc2UiPg0KCQkJCQkJCQk8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvc3Bhbj4NCgkJCQkJCQk8L2J1dHRvbj4NCgkJCQkJCQk8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTBweDsiPg0KCQkJCQkJCQnpgInmi6lJQ1PliIbnsbso5Y+v5aSN6YCJKTxzbWFsbD4mbmJzcDsmbmJzcDvngrnlh7vlt6bkvqfpu4ToibLmlofku7blpLnlj6/lsZXlvIDkuIvkuIDnuqc8L3NtYWxsPg0KCQkJCQkJCTwvaDQ+DQoJCQkJCQkJPG9sIGNsYXNzPSJicmVhZGNydW1iIg0KCQkJCQkJCQlzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IG1hcmdpbi1ib3R0b206IDA7IHBhZGRpbmctbGVmdDogMDsiDQoJCQkJCQkJCWlkPSJsaW5lIj4NCgkJCQkJCQkJPGxpPjxhIGhyZWY9IiMiPuWFqOmDqDwvYT48L2xpPg0KCQkJCQkJCTwvb2w+DQoJCQkJCQk8L2Rpdj4NCgkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPg0KCQkJCQkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+DQoJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4NCgkJCQkJCQkJCQ0KCQkNCgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+DQoJCQkJCQkJCQkJCTxhIGNsYXNzPSJidG4gbXVsdGlTZWxlY3RCdG4gaWNzbGlzdDEiDQoJCQkJCQkJCQkJCQlzdHlsZT0id2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctbGVmdDogNHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206IDVweDsiPg0KCQkNCgkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZvbGRlci1vcGVuIGljc3R5cGUiDQoJCQkJCQkJCQkJCQkJCXN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsgY29sb3I6ICNmOGRhNzA7Ig0KCQkJCQkJCQkJCQkJCQlpZD0iNTkiIG5hbWU9Iue6uue7h+WSjOearumdqeaKgOacryI+PC9zcGFuPg0KCQkJCQkJCQkJCQkJIDxzcGFuIGNsYXNzPSJpY3NsaXN0IiBpZD0iNTkiDQoJCQkJCQkJCQkJCQlzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA4MCU7IHdoaXRlLXNwYWNlOiBub3JtYWw7Ig0KCQkJCQkJCQkJCQkJbmFtZT0i57q657uH5ZKM55qu6Z2p5oqA5pyvIj4gNTlf57q657uH5ZKM55qu6Z2p5oqA5pyvIO+8iDxzcGFuPjE8L3NwYW4+77yJDQoJCQkJCQkJCQkJCTwvc3Bhbj48c3BhbiBzdHlsZT0iZmxvYXQ6cmlnaHQ7bWFyZ2luOjJweDsiIGNsYXNzPSJ0ZXh0LXN1Y2Nlc3MgZ2x5cGhpY29uIGdseXBoaWNvbi1vay1jaXJjbGUgaGlkZGVuIj48L3NwYW4+DQoJCQkJCQkJCQkJCTwvYT4NCgkJDQoJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJDQoJCQkJCQkJCQkNCgkJCQkJCQkJPC9kaXY+DQoJCQ0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJPC9kaXY+DQoJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPg0KCQkJCQkJCTxzcGFuDQoJCQkJCQkJCXN0eWxlPSJmbG9hdDogbGVmdDsgd29yZC1icmVhazogYnJlYWstYWxsOyB3aWR0aDogMzkwcHg7IHRleHQtYWxpZ246IGxlZnQ7Ig0KCQkJCQkJCQlpZD0ic2hvd2ljcyI+PC9zcGFuPg0KCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBkYXRhLWRpc21pc3M9Im1vZGFsIg0KCQkJCQkJCQlpZD0iY2FuY2VsIj7lj5bmtog8L2J1dHRvbj4NCgkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgaWQ9ImNvbmZpcm0iDQoJCQkJCQkJCWRhdGEtZGlzbWlzcz0ibW9kYWwiPuehruiupDwvYnV0dG9uPg0KCQkJCQkJPC9kaXY+DQoJCQkJCTwvZGl2Pg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQkNCgkJCQ0KCQk8L2Rpdj4NCgk8L2Rpdj4NCgkNCgkNCgk8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJwYWRkaW5nOjAgMTVweDttYXJnaW4tdG9wOjE1cHg7Ij4NCgkJPGRpdiBjbGFzcz0iY29sLWxnLTEwIGNvbC1tZC0xMCBjb2wtc20tMTAgY29sLXhzLTEwICI+DQoJCQk8ZGl2Pg0KCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyIgaWQ9InNlbGVjdGVkIj4NCgkJCQkJPGxhYmVsIHN0eWxlPSJjb2xvcjogZ3JheTsgd2lkdGg6IDkzcHg7Ij48c3BhbiBzdHlsZT0idmVydGljYWwtYWxpZ246dGV4dC10b3A7IiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zY3JlZW5zaG90Ij48L3NwYW4+Jm5ic3A75YWz6ZSu5a2X77yaPC9sYWJlbD4mbmJzcDsNCgkJCQkJDQoJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGJ0bi14cyIgdGl0bGU9Iuenu+mZpCIgaWQ9InAyXzAiIGluZGV4PTA+DQoJCQkJCQlHQi9UIDIwMjIzLTIwMDYmbmJzcDsNCgkJCQkJCTxzcGFuIHN0eWxlPSJjb2xvcjogcmVkIiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1yZW1vdmUiPjwvc3Bhbj4NCgkJCQkJPC9idXR0b24+DQoJCQkJCQ0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCTwvZGl2Pg0KCQkJCQkJIA0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJtb2RhbCBmYWRlIiBpZD0ibm9TdGFuZGFyZE1vZGFsIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIj4NCgkJPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIj4NCgkJCTxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciIgc3R5bGU9InBhZGRpbmc6IDE1cHggMzVweCA1cHggMzVweDsiPg0KCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIg0KCQkJCQkJYXJpYS1sYWJlbD0iQ2xvc2UiPg0KCQkJCQkJPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+DQoJCQkJCTwvYnV0dG9uPg0KCQkJCQk8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTBweDsiPg0KCQkJCQkJPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIiBzdHlsZT0iY29sb3I6I2JlODY1YjttYXJnaW4tdG9wOjJweDsiPiA8L3NwYW4+PHNwYW4+Jm5ic3A754m55Yir5aOw5piOPC9zcGFuPg0KCQkJCQk8L2g0Pg0KCQkJCTwvZGl2Pg0KCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPg0KCQkJCQk8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KCQkJCQkJPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPg0KCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC0xMiBzbWdnIj4NCgkJCQkJCQkJPHVsIGNsYXNzPSJzdGF0ZW1lbnRVbCAiPg0KCQkJCQkJCQkJPGxpPuacrOezu+e7n+WvueWbveWutuW4guWcuuebkeedo+euoeeQhuaAu+WxgOOAgeWbveWutuagh+WHhuWnlOiHqjIwMTflubQx5pyIMeaXpeWQjuaWsOWPkeW4g+eahOWbveWutuagh+WHhu+8jOWwhuWcqOOAiuWbveWutuagh+WHhuaJueWHhuWPkeW4g+WFrOWRiuOAi+WPkeW4g+WQjjIw5Liq5bel5L2c5pel5YaF5YWs5byA5qCH5YeG5paH5pys77yM5YW25Lit5raJ5Y+K6YeH5qCH55qE5o6o6I2Q5oCn5Zu95a625qCH5YeG55qE5YWs5byA77yM5bCG5Zyo6YG15a6I5Zu96ZmF54mI5p2D5pS/562W5YmN5o+Q5LiL6L+b6KGM44CCPC9saT4NCgkJCQkJCQkJCTxsaT7mnKzns7vnu5/lhazlvIDkuoblm73lrrbluILlnLrnm5HnnaPnrqHnkIbmgLvlsYDjgIHlm73lrrbmoIflh4blp5QyMDE35bm0MeaciDHml6XliY3lt7Lmibnlh4blj5HluIPnmoTmiYDmnInlvLrliLbmgKflm73lrrbmoIflh4bjgIHmjqjojZDmgKflm73lrrbmoIflh4bvvIjpnZ7ph4fmoIfvvInjgII8L2xpPg0KCQkJCQkJCQkJPGxpPuacrOezu+e7n+aJgOaPkOS+m+eahOeUteWtkOaWh+acrOS7heS+m+WPguiAg++8jOivt+S7peato+W8j+agh+WHhuWHuueJiOeJqeS4uuWHhuOAgjwvbGk+DQoJCQkJCQkJCQk8bGk+5pys57O757uf5omA5o+Q5L6b55qE55S15a2Q5paH5pys5LuF5L6b5Liq5Lq65a2m5Lmg44CB56CU56m25LmL55So77yM5pyq57uP5o6I5p2D77yM56aB5q2i5aSN5Yi244CB5Y+R6KGM44CB5rGH57yW44CB57+76K+R5oiW572R57uc5Lyg5pKt562J77yM5L615p2D5b+F56m244CCPC9saT4NCgkJCQkJCQkJCTxsaT7po5/lk4HlronlhajjgIHnjq/looPkv53miqTjgIHlt6XnqIvlu7rorr7mlrnpnaLnmoTlm73lrrbmoIflh4bmnKrnurPlhaXmnKzns7vnu5/vvIzor7forr/pl67ku6XkuIvpk77mjqXov5vooYzmn6Xor6I6IA0KCQkJCQkJCQkJCTxhIGhyZWY9Imh0dHA6Ly9iei5jZnNhLm5ldC5jbi9kYiIgdGFyZ2V0PSJfYmxhbmsiPlvpo5/lk4HlronlhahdPC9hPg0KCQkJCQkJCQkJCTxhIGhyZWY9Imh0dHA6Ly9ranMubWVlLmdvdi5jbi9oamJoYnovIiB0YXJnZXQ9Il9ibGFuayI+W+eOr+Wig+S/neaKpF08L2E+DQoJCQkJCQkJCQkJPGEgaHJlZj0iaHR0cDovL3d3dy5tb2h1cmQuZ292LmNuL2J6ZGUvaW5kZXguaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPlvlt6XnqIvlu7rorr5dPC9hPg0KCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJPC91bD4NCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPg0KCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBkYXRhLWRpc21pc3M9Im1vZGFsIg0KCQkJCQkJCQlpZD0iY2FuY2VsIj7noa7orqQ8L2J1dHRvbj4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2PjwvZGl2PjwvZGl2Pg0KPC9ib2R5Pg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJCXZhciBsaW5lTGlzdCA9IG5ldyBBcnJheSgpOw0KDQoJCXZhciBwMSA9ICcwJzsNCgkJdmFyIHAyID0gJ0dCL1QgMjAyMjMtMjAwNic7DQoJCXZhciBwNSA9ICcnOw0KCQl2YXIgcDYgPSAnJzsNCgkJdmFyIHA3ID0gJyc7DQoJCXZhciBwOCA9ICcnOw0KCQl2YXIgcDkwID0gJyc7DQoJCXZhciBwOTEgPSAnJzsNCgkJdmFyIG5leHRwYWdlID0gMTsNCgkJdmFyIGFjdGlvbiA9ICdnYi9zdGRfbGlzdCc7DQoJCXZhciBwYWdlU2l6ZSA9IDEwOw0KCQl2YXIgY291bnQgPSAxOw0KCQlmdW5jdGlvbiBqdW1wUGFnZShwYWdlKXsNCgkJCQ0KCQkJd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL2J6Z2svJythY3Rpb24NCgkJCQkJKyAnP3I9JyArIE1hdGgucmFuZG9tKCkNCgkJCQkJKyAocGFnZSA/ICgnJnBhZ2U9JyArIHBhZ2UgKyAiJnBhZ2VTaXplPSIgKyBwYWdlU2l6ZSk6JycpDQoJCQkJCSsgKHAxID8gKCcmcC5wMT0nICsgcDEpIDogJycpDQoJCQkJCSsgKHAyID8gKCcmcC5wMj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHAyKSk6ICcnKSANCgkJCQkJKyAocDUgPyAoJyZwLnA1PScgKyBwNSkgOiAnJykNCgkJCQkJKyAocDYgPyAoJyZwLnA2PScgKyBwNikgOiAnJykNCgkJCQkJKyAocDcgPyAoJyZwLnA3PScgKyBwNykgOiAnJykNCgkJCQkJKyAocDggPyAoJyZwLnA4PScgKyBwOCkgOiAnJykNCgkJCQkJKyAocDkwID8gKCcmcC5wOTA9JyArIHA5MCkgOiAnJykNCgkJCQkJKyAocDkxID8gKCcmcC5wOTE9JyArIHA5MSkgOiAnJyk7DQoJCX0NCgkJDQoJCWZ1bmN0aW9uIHNob3dDb250ZW50KG8pIHsNCgkJCWlmIChvLmNydFRpdGxlID09IHVuZGVmaW5lZCkgew0KCQkJCW8uY3J0VGl0bGUgPSAndHJ1ZSc7DQoJCQkJby50aXRsZSA9IG8uc2Nyb2xsV2lkdGggPiBvLmNsaWVudFdpZHRoID8gby5pbm5lckhUTUwgOiAiIjsNCgkJCX0NCgkJfQ0KCQlmdW5jdGlvbiBzaG93SW5mbyhoY25vKSB7DQoJCQl2YXIgdXJsID0gIm5ld0diSW5mbyI7DQoJCQl1cmwgKz0gIj9oY25vPSIgKyBoY25vOw0KCQkJd2luZG93Lm9wZW4odXJsKTsNCgkJfTsNCgkJZnVuY3Rpb24gc2VhcmNoKCkgew0KCQkJaWYgKHAyICE9IG51bGwgJiYgcDIgIT0gJycpDQoJCQkJcDIgPSBwMiArICcrJyArICQoImlucHV0W25hbWU9J3NlYXJjaDEnXSIpLnZhbCgpOw0KCQkJZWxzZQ0KCQkJCXAyID0gJCgiaW5wdXRbbmFtZT0nc2VhcmNoMSddIikudmFsKCk7DQoJCQlqdW1wUGFnZSgpOw0KCQl9DQoJCSQoZnVuY3Rpb24oKSB7DQoJCQkkKCcucGFnZU51bVNlbGVjdCcpLnZhbChwYWdlU2l6ZSk7DQoJCQkkKCcucGFnZU51bVNlbGVjdCcpLmNoYW5nZShmdW5jdGlvbigpew0KCQkJCXBhZ2VTaXplID0gJCh0aGlzKS52YWwoKTsNCgkJCQlqdW1wUGFnZShuZXh0cGFnZSk7DQoJCQl9KTsNCgkJCWlmIChjb3VudCAhPSBudWxsICYmIGNvdW50ID4gMCkgew0KCQkJCS8v5YiG6aG1DQoJCQkJbGF5cGFnZSh7DQoJCQkJCWNvbnQgOiAkKCIjcGFnZW5hdjIiKSwNCgkJCQkJcGFnZXMgOiAiMSIsIC8v5Y+v5Lul5Y+r5pyN5Yqh56uv5oqK5oC76aG15pWw5pS+5Zyo5p+Q5LiA5Liq6ZqQ6JeP5Z+f77yM5YaN6I635Y+W44CC5YGH6K6+5oiR5Lus6I635Y+W5Yiw55qE5pivMTgNCgkJCQkJY3VyciA6IGZ1bmN0aW9uKCkgeyAvL+mAmui/h3VybOiOt+WPluW9k+WJjemhte+8jOS5n+WPr+S7peWQjOS4iu+8iHBhZ2Vz77yJ5pa55byP6I635Y+WDQoJCQkJCQl2YXIgcGFnZSA9IGxvY2F0aW9uLnNlYXJjaC5tYXRjaCgvcGFnZT0oXGQrKS8pOw0KCQkJCQkJcmV0dXJuIHBhZ2UgPyBwYWdlWzFdIDogMTsNCgkJCQkJfSgpLA0KCQkJCQlza2luIDogJyMzMzdhYjcnLA0KCQkJCQlwcmV2IDogJzxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLW1lbnUtbGVmdCIgc3R5bGU9InBhZGRpbmc6MCI+IDwvc3Bhbj4nLA0KCQkJCQluZXh0IDogJzxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLW1lbnUtcmlnaHQiIHN0eWxlPSJwYWRkaW5nOjAiPiA8L3NwYW4+JywNCgkJCQkJc2tpcCA6IGZhbHNlLA0KCQkJCQlqdW1wIDogZnVuY3Rpb24oZSwgZmlyc3QpIHsgLy/op6blj5HliIbpobXlkI7nmoTlm57osIMNCgkJCQkJCWlmICghZmlyc3QpIHsgLy/kuIDlrpropoHliqDmraTliKTmlq3vvIzlkKbliJnliJ3lp4vml7bkvJrml6DpmZDliLfmlrANCgkJCQkJCQlqdW1wUGFnZShlLmN1cnIpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfSk7DQoNCgkJCX0NCgkJCS8v5qCH5YeG57G75YirDQoJCQkkKCIjdHlwZSBsaSBhIikub24oDQoJCQkJCSJjbGljayIsDQoJCQkJCWZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQl2YXIgdHlwZSA9ICQudHJpbSgkKHRoaXMpLmF0dHIoImlkIikpOw0KCQkJCQkJaWYgKHR5cGUgIT0gMCkgew0KCQkJCQkJCWlmICh0eXBlID09IDEpIHsNCgkJCQkJCQkJJCgiI1JFVklTRUQiKS5wYXJlbnQoImxpIikuaGlkZSgpOw0KCQkJCQkJCQlwMSA9IDE7DQoJCQkJCQkJfQ0KCQkJCQkJCWlmICh0eXBlID09IDIpIHsNCgkJCQkJCQkJJCgiI1JFVklTRUQiKS5wYXJlbnQoImxpIikuaGlkZSgpOw0KCQkJCQkJCQkkKCIjUkVQTEFDRUQiKS5wYXJlbnQoImxpIikuaGlkZSgpOw0KCQkJCQkJCQkvLyQoIiNpY3MtZGl2IikuaGlkZSgpOyANCgkJCQkJCQkJcDEgPSAyOw0KCQkJCQkJCX0NCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJcDEgPSAwOw0KCQkJCQkJfQ0KCQkJCQkJanVtcFBhZ2UoKTsNCg0KCQkJCQl9KTsNCgkJCS8v5YWs5ZGK5Y+3DQoJCQkkKCIjYW5vdW5jZW1lbnQgbGkgYSIpLm9uKA0KCQkJCQkiY2xpY2siLA0KCQkJCQlmdW5jdGlvbihldmVudCkgew0KCQkJCQkJcDggPSAkLnRyaW0oJCh0aGlzKS5hdHRyKCJpZCIpKTsNCgkJCQkJCXZhciByZWc9L1tcdTRFMDAtXHU5RkE1XS9nOw0KCQkJCQkJdmFyIHJlc3VsdD1wOC5yZXBsYWNlKHJlZywnJyk7DQoJCQkJCQlpZihyZXN1bHQubGVuZ3RoPT01KXsNCgkJCQkJCQlyZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsNCkrJzAnK3Jlc3VsdC5zdWJzdHJpbmcoNCw1KTsNCgkJCQkJCX0NCgkJCQkJCXdpbmRvdy5vcGVuKCJodHRwOi8vd3d3LnNhYy5nb3YuY24vZ3pmdy9nZ2N4L2dqYnpnZy8iK3Jlc3VsdCwiX2JsYW5rIik7DQoJCQkJCQkNCgkJCQkJfSk7DQoJCQkvL+agh+WHhueKtuaAgQ0KCQkJJCgiI3N0YXRlIGxpIGEiKS5vbigNCgkJCQkJImNsaWNrIiwNCgkJCQkJZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCWlmKCQodGhpcykuZmluZCgnLm1DaGVjaycpLmxlbmd0aD4wKXsNCgkJCQkJCQkkKHRoaXMpLmZpbmQoJy5tQ2hlY2snKS5wcm9wKHtjaGVja2VkOiEkKHRoaXMpLmZpbmQoJy5tQ2hlY2snKS5wcm9wKCdjaGVja2VkJyl9KTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJdmFyIHN0YXRlID0gJC50cmltKCQodGhpcykuYXR0cigiaWQiKSk7DQoJCQkJCQkJaWYgKHN0YXRlICE9ICdBTEwnKSB7DQoJCQkJCQkJCXA1ID0gc3RhdGU7DQoJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJcDUgPSAnJzsNCgkJCQkJCQl9DQoJCQkJCQkJanVtcFBhZ2UoKTsNCgkJCQkJCX0NCgkJCQkJfSk7DQoJCQkvL+WPkeW4g+aXpeacnw0KCQkJJCgiI2RhdGUgbGkgYSIpLm9uKA0KCQkJCQkiY2xpY2siLA0KCQkJCQlmdW5jdGlvbihldmVudCkgew0KCQkJCQkJcDcgPSAkLnRyaW0oJCh0aGlzKS5hdHRyKCJpZCIpKTsNCgkJCQkJCWp1bXBQYWdlKCk7DQoJCQkJCX0pOw0KCQkJJCgiI2ljcy12aWV3IGxpIGEiKS5vbigNCgkJCQkJImNsaWNrIiwNCgkJCQkJZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCXA2ID0gJC50cmltKCQodGhpcykudGV4dCgpID09ICflhajpg6gnID8gIiIgOiAkKHRoaXMpLmF0dHIoJ2lkJykpOw0KCQkJCQkJanVtcFBhZ2UoKTsNCgkJCQkJfSk7DQoJCQkkKCIjc2VsZWN0ZWQgYnV0dG9uIikub24oDQoJCQkJCSJjbGljayIsDQoJCQkJCWZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlpZiAoJCh0aGlzKS5hdHRyKCJpZCIpLmluZGV4T2YoJ3AyXycpICE9IC0xKSB7DQoJCQkJCQkJdmFyIGluZGV4ID0gJC50cmltKCQodGhpcykuYXR0cigiaW5kZXgiKSk7DQoJCQkJCQkJdmFyIG5ld1AycyA9IHAyLnNwbGl0KCcrJyk7DQoJCQkJCQkJbmV3UDJzID0gbmV3UDJzLnVuaXF1ZSgpOw0KCQkJCQkJCW5ld1Aycy5zcGxpY2UoaW5kZXgsIDEpOw0KCQkJCQkJCXZhciB0ZW1wID0gJyc7DQoJCQkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdQMnMubGVuZ3RoOyBpKyspIHsNCgkJCQkJCQkJaWYgKGkgPCBuZXdQMnMubGVuZ3RoIC0gMSkNCgkJCQkJCQkJCXRlbXAgPSB0ZW1wICsgbmV3UDJzW2ldICsgJysnOw0KCQkJCQkJCQllbHNlDQoJCQkJCQkJCQl0ZW1wID0gdGVtcCArIG5ld1Ayc1tpXTsNCgkJCQkJCQl9DQoJCQkJCQkJcDIgPSB0ZW1wOw0KCQkJCQkJCWp1bXBQYWdlKCk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXZhciBjb2RlID0gJC50cmltKCQodGhpcykuYXR0cigiaWQiKSk7DQoJCQkJCQkJdmFyIHVybCA9IGxvY2F0aW9uLmhyZWY7DQoJCQkJCQkJdXJsID0gdXJsLnJlcGxhY2UoY29kZSwgJycpOw0KCQkJCQkJCXdpbmRvdy5vcGVuKHVybCwgJ19zZWxmJyk7DQoJCQkJCQl9DQoNCgkJCQkJfSk7DQoJCQkvL+aQnOe0ouahhg0KCQkJJCgiI3NlYXJjaDEiKS5vbigiY2xpY2siLCBmdW5jdGlvbigpIHsNCgkJCQlzZWFyY2goKTsNCgkJCX0pOw0KDQoJCQkvL+aOkuW6jyDkuovku7YNCgkJCSQoIi5zY3JlZW5PcmRlciIpLm9uKA0KCQkJCQknY2xpY2snLA0KCQkJCQlmdW5jdGlvbigpIHsNCgkJCQkJCXZhciBlbCA9ICQodGhpcyk7DQoJCQkJCQlpZihlbC5hdHRyKCdzb3J0bmFtZScpPT0nJyl7DQoJCQkJCQkJZWwuYXR0cignc29ydG5hbWUnLCdkZXNjJyk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWVsLmF0dHIoJ3NvcnRuYW1lJykgPT0gJ2FzYycgPyBlbC5hdHRyKCdzb3J0bmFtZScsDQoJCQkJCQkJJ2Rlc2MnKSA6IGVsLmF0dHIoJ3NvcnRuYW1lJywgJ2FzYycpOw0KCQkJCQkJfQ0KCQkJCQkJcDkwID0gZWwuYXR0cignc29ydGNvbCcpOw0KCQkJCQkJcDkxID0gZWwuYXR0cignc29ydG5hbWUnKTsNCgkJCQkJCWp1bXBQYWdlKCk7DQoJCQkJCX0pOw0KDQoJCQlmdW5jdGlvbiBzcygpIHsNCgkJCQl2YXIgc3RyID0gJC50cmltKCQodGhpcykuYXR0cigiaWQiKSk7DQoJCQkJdmFyIG5hbWUgPSAkLnRyaW0oJCh0aGlzKS5hdHRyKCJuYW1lIikpOw0KCQkJCWlmKHN0ciE9Jy0xJyl7DQoJCQkJCSQoIiNzaG93aWNzIikuaHRtbCgi5bey6YCJ5oupaWNz5YiG57G777yaICIgK3N0cisnXycrbmFtZSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJJCgiI3Nob3dpY3MiKS5odG1sKCcnKTsNCgkJCQl9DQoJCQkJDQoJCQkJJC5hamF4KHsNCgkJCQkJCQl0eXBlIDogInBvc3QiLA0KCQkJCQkJCXVybCA6ICcvYnpnay8nICsgJ2diL2FqYXhJY3NMaXN0JywNCgkJCQkJCQlkYXRhIDogew0KCQkJCQkJCQkicGNvZGUiIDogc3RyLA0KCQkJCQkJCQkicC5wMSIgOiBwMSwNCgkJCQkJCQkJInAucDIiIDogcDIucmVwbGFjZSgvXCsvZywgJyUyQicpLA0KCQkJCQkJCQkicC5wNSIgOiBwNSwNCgkJCQkJCQkJInAucDciIDogcDcsDQoJCQkJCQkJCSJwLnA4IiA6IHA4DQoJCQkJCQkJfSwNCgkJCQkJCQlkYXRlVHlwZSA6ICJqc29uIiwNCgkJCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oZGF0YSkgew0KCQkJCQkJCQlpZiAoZGF0YS5sZW5ndGggPiAwKSB7Ly/lpoLmnpzmnInkuIvnuqcNCgkJCQkJCQkJCXZhciBodG1sID0gJzxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4nOw0KDQoJCQkJCQkJCQkJZm9yICh2YXIgaWkgPSAwOyBpaSA8IGRhdGEubGVuZ3RoOyBpaSsrKSB7DQoJCQkJCQkJCQkJCWh0bWwgKz0gJzxkaXYgY2xhc3M9ImNvbC1tZC02Ij48YSBjbGFzcz0iYnRuIG11bHRpU2VsZWN0QnRuIGljc2xpc3QxInN0eWxlPSJ3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLWxlZnQ6NHB4ICFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTo1cHg7Ij4nOw0KCQkJCQkJCQkJCQlpZiAoZGF0YVtpaV0ubGVhZj09IjAifHwoZGF0YVtpaV0uaWNzQ2hpbGRzIT1udWxsJiZkYXRhW2lpXS5pY3NDaGlsZHMubGVuZ3RoID4gMCkpIHsNCgkJCQkJCQkJCQkJCWh0bWwgKz0gJzxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZvbGRlci1vcGVuIGljc3R5cGUiIHN0eWxlPSJmbG9hdDpsZWZ0O3dpZHRoOjEwJTtjb2xvcjojZjhkYTcwOyIgaWQ9IicNCgkJCQkJCQkJCQkJCQkJKyBkYXRhW2lpXS5pY3NDb2RlDQoJCQkJCQkJCQkJCQkJCSsgJyIgbmFtZT0iJw0KCQkJCQkJCQkJCQkJCQkrIGRhdGFbaWldLmljc05hbWUNCgkJCQkJCQkJCQkJCQkJKyAnIj48L3NwYW4+JzsNCgkJCQkJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJCQkJCWh0bWwgKz0gJzxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWxpc3QtYWx0IGljc2xpc3QiIHN0eWxlPSJmbG9hdDpsZWZ0O3dpZHRoOjEwJTtjb2xvcjojI2Q4ZDhkODsiIGlkPSInDQoJCQkJCQkJCQkJCQkJCSsgZGF0YVtpaV0uaWNzQ29kZQ0KCQkJCQkJCQkJCQkJCQkrICciIG5hbWU9IicNCgkJCQkJCQkJCQkJCQkJKyBkYXRhW2lpXS5pY3NOYW1lDQoJCQkJCQkJCQkJCQkJCSsgJyI+Jm5ic3A7PC9zcGFuPic7DQoJCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQkJaHRtbCArPSAnPHNwYW4gY2xhc3M9Imljc2xpc3QiIHN0eWxlPSJmbG9hdDpsZWZ0O3dpZHRoOjgwJTt3aGl0ZS1zcGFjZTpub3JtYWw7IiBpZD0iJw0KCQkJCQkJCQkJCQkJCSsgZGF0YVtpaV0uaWNzQ29kZQ0KCQkJCQkJCQkJCQkJCSsgJyIgbmFtZT0iJw0KCQkJCQkJCQkJCQkJCSsgZGF0YVtpaV0uaWNzTmFtZQ0KCQkJCQkJCQkJCQkJCSsgJyI+ICcNCgkJCQkJCQkJCQkJCQkrIGRhdGFbaWldLmljc0NvZGUNCgkJCQkJCQkJCQkJCQkrICdfJw0KCQkJCQkJCQkJCQkJCSsgZGF0YVtpaV0uaWNzTmFtZQ0KCQkJCQkJCQkJCQkJCSsgJ++8iDxzcGFuPicNCgkJCQkJCQkJCQkJCQkrIChkYXRhW2lpXS5jb3VudCA/IGRhdGFbaWldLmNvdW50DQoJCQkJCQkJCQkJCQkJCQk6IDApDQoJCQkJCQkJCQkJCQkJKyAnPC9zcGFuPu+8iTwvc3Bhbj48c3BhbiBzdHlsZT0iZmxvYXQ6cmlnaHQ7bWFyZ2luOjJweDsiIGNsYXNzPSJ0ZXh0LXN1Y2Nlc3MgZ2x5cGhpY29uIGdseXBoaWNvbi1vay1jaXJjbGUgaGlkZGVuIj48L3NwYW4+PC9hPjwvZGl2Pic7DQoJCQkJCQkJCQkJCWlmIChpaSAlIDIgPT0gMSkgew0KCQkJCQkJCQkJCQkJaHRtbCArPSAnPC9kaXY+PGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPic7DQoJCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQl9DQoJCQkJCQkJCQkNCg0KCQkJCQkJCQkJJCgiLmNvbnRhaW5lci1mbHVpZCIpLmh0bWwoaHRtbCk7DQoJCQkJCQkJCQkvL+mdouWMheWxkeagiOaTjeS9nA0KCQkJCQkJCQkJdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsNCgkJCQkJCQkJCW9iai5jb2RlID0gc3RyOw0KCQkJCQkJCQkJb2JqLm5hbWUgPSBuYW1lOw0KCQkJCQkJCQkJaWYgKGxpbmVMaXN0Lmxlbmd0aCA9PSAwKSB7DQoJCQkJCQkJCQkJbGluZUxpc3QucHVzaChvYmopOw0KCQkJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJCQl0cnkgew0KCQkJCQkJCQkJCQl2YXIgaiA9IDA7DQoJCQkJCQkJCQkJCWZvciAoOyBqIDwgbGluZUxpc3QubGVuZ3RoOyBqKyspIHsNCgkJCQkJCQkJCQkJCWlmIChzdHINCgkJCQkJCQkJCQkJCQkJLmluZGV4T2YobGluZUxpc3Rbal0uY29kZSkgPj0gMCkgew0KCQkJCQkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCQl9DQoJCQkJCQkJCQkJCWlmIChqIDwgbGluZUxpc3QubGVuZ3RoDQoJCQkJCQkJCQkJCQkJJiYgbGluZUxpc3Rbal0uY29kZSA9PSBzdHIpIHsNCgkJCQkJCQkJCQkJCWxpbmVMaXN0DQoJCQkJCQkJCQkJCQkJCS5zcGxpY2UoaiwNCgkJCQkJCQkJCQkJCQkJCQlsaW5lTGlzdC5sZW5ndGgNCgkJCQkJCQkJCQkJCQkJCQkJCS0gaiArIDEpOw0KCQkJCQkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkJCQkJbGluZUxpc3Quc3BsaWNlKGogKyAxLA0KCQkJCQkJCQkJCQkJCQlsaW5lTGlzdC5sZW5ndGggLSBqKTsNCgkJCQkJCQkJCQkJfQ0KDQoJCQkJCQkJCQkJCWxpbmVMaXN0LnB1c2gob2JqKQ0KCQkJCQkJCQkJCX0gY2F0Y2ggKGUpIHsNCgkJCQkJCQkJCQkJdGhyb3cgZTsNCgkJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCX0NCgkJCQkJCQkJCXZhciBsaW5lID0gJzxsaT48YSBocmVmPSIjIiBjbGFzcz0iaWNzdHlwZSIgaWQ9Ii0xIiBuYW1lPSLlhajpg6giPuWFqOmDqDwvYT48L2xpPic7DQoJCQkJCQkJCQlpZiAoc3RyID09IC0xKSB7DQoJCQkJCQkJCQkJbGluZUxpc3QgPSBuZXcgQXJyYXkoKTsNCgkJCQkJCQkJCX0NCgkJCQkJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgbGluZUxpc3QubGVuZ3RoOyBpKyspIHsNCgkJCQkJCQkJCQlsaW5lID0gbGluZQ0KCQkJCQkJCQkJCQkJKyAnPGxpIGNsYXNzPSJhY3RpdmUgaWNzdHlwZSIgaWQ9IicrbGluZUxpc3RbaV0uY29kZSsnIiBuYW1lPSInK2xpbmVMaXN0W2ldLm5hbWUrJyI+PGE+Jw0KCQkJCQkJCQkJCQkJKyBsaW5lTGlzdFtpXS5jb2RlDQoJCQkJCQkJCQkJCQkrJ18nDQoJCQkJCQkJCQkJCQkrIGxpbmVMaXN0W2ldLm5hbWUgKyAnPC9hPjwvbGk+JzsNCgkJCQkJCQkJCQk7DQoJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCSQoIiNsaW5lIikuZW1wdHkoKS5hcHBlbmQobGluZSk7DQoJCQkJCQkJCQkkKCIuaWNzdHlwZSIpLm9uKCJjbGljayIsIHNzKTsNCgkJCQkJCQkJCSQoIi5pY3NsaXN0Iikub24oImNsaWNrIiwgdHQpOw0KDQoJCQkJCQkJCX0gZWxzZSB7Ly/lpoLmnpzmsqHmnInkuIvnuqcNCg0KCQkJCQkJCQkJcmV0dXJuOw0KCQkJCQkJCQl9DQoJCQkJCQkJfSwNCgkJCQkJCQllcnJvciA6IGZ1bmN0aW9uKCkgew0KDQoJCQkJCQkJfQ0KDQoJCQkJCQl9KTsNCg0KCQkJfQ0KDQoJCQlmdW5jdGlvbiB0dCgpIHsNCgkJCQkkKHRoaXMpLnBhcmVudCgiYSIpLnRvZ2dsZUNsYXNzKCJtdWx0aVNlbGVjdEJ0bi1zIik7DQoJCQkJJCh0aGlzKS5wYXJlbnQoKS5maW5kKCIuZ2x5cGhpY29uLW9rLWNpcmNsZSIpLnRvZ2dsZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQl2YXIgdGV4dCA9ICcnLGNvZGVzID0gJyc7DQoJCQkJJCgnI215TW9kYWwgLm11bHRpU2VsZWN0QnRuLXMnKS5lYWNoKGZ1bmN0aW9uKCl7DQoJCQkJCXZhciBpY3NMaXN0ID0gJCh0aGlzKS5maW5kKCcuaWNzbGlzdCcpOw0KCQkJCQl0ZXh0ICs9ICgkLnRyaW0oaWNzTGlzdC5hdHRyKCJpZCIpKSsnXycrJC50cmltKGljc0xpc3QuYXR0cigibmFtZSIpKSsnfCcpOw0KCQkJCQljb2RlcyArPSAoJC50cmltKGljc0xpc3QuYXR0cigiaWQiKSkrJ3wnKTsNCgkJCQl9KTsNCgkJCQlpZih0ZXh0PT0nJyl7DQoJCQkJCXZhciBpY3NUeXBlID0gJCgnLmJyZWFkY3J1bWIgLmljc3R5cGU6bGFzdCcpOw0KCQkJCQlpZigkLnRyaW0oaWNzVHlwZS5hdHRyKCJpZCIpKT09LScxJyl7DQoJCQkJCQkkKCIjc2hvd2ljcyIpLmh0bWwoJycpOw0KCQkJCQl9IGVsc2V7DQoJCQkJCQkkKCIjc2hvd2ljcyIpLmh0bWwoIuW3sumAieaLqWljc+WIhuexu++8miAiICsgJC50cmltKGljc1R5cGUuYXR0cigiaWQiKSkrJ18nKyQudHJpbShpY3NUeXBlLmF0dHIoIm5hbWUiKSkpOw0KCQkJCQl9DQoJCQkJfSBlbHNlIHsNCgkJCQkJJCgiI3Nob3dpY3MiKS5odG1sKCLlt7LpgInmi6lpY3PliIbnsbvvvJogIiArIHRleHQuc3Vic3RyaW5nKDAsdGV4dC5sZW5ndGgtMSkpOw0KCQkJCX0NCgkJCQlwNiA9IGNvZGVzLnN1YnN0cmluZygwLGNvZGVzLmxlbmd0aC0xKTsNCgkJCX0NCg0KCQkJLy/pgInmi6ljc3PliIbnsbsNCgkJCSQoIi5pY3N0eXBlIikub24oImNsaWNrIiwgc3MpOw0KCQkJJCgiLmljc2xpc3QiKS5vbigiY2xpY2siLCB0dCk7DQoNCgkJCSQoIiNjb25maXJtIikub24oImNsaWNrIixmdW5jdGlvbihldmVudCkgew0KCQkJCQkkKCIjaWNzIikudGV4dChwNikuc2hvdygpOw0KCQkJCQlqdW1wUGFnZSgpOw0KCQkJfSk7DQoJCQkkKCIjY2FuY2VsIikub24oImNsaWNrIiwgZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkkKCIjaWNzIikudGV4dCgnJyk7DQoJCQl9KTsNCgkJCSQoIiN0eXBlIGxpIGEiKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCWlmIChwMSA9PSAnMScpIHsNCgkJCQkJJCgiI1JFVklTRUQiKS5wYXJlbnQoImxpIikuaGlkZSgpOw0KCQkJCX0NCgkJCQlpZiAocDEgPT0gJzInKSB7DQoJCQkJCSQoIiNSRVZJU0VEIikucGFyZW50KCJsaSIpLmhpZGUoKTsNCgkJCQkJJCgiI1JFUExBQ0VEIikucGFyZW50KCJsaSIpLmhpZGUoKTsNCgkJCQl9DQoNCgkJCQl2YXIgdG1wID0gJCh0aGlzKS5hdHRyKCJpZCIpOw0KCQkJCWlmICgkLnRyaW0odG1wKSA9PSAkLnRyaW0ocDEpKSB7DQoJCQkJCSQoIiN0eXBlIGxpIikucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCQkkKHRoaXMpLnBhcmVudCgpLmFkZENsYXNzKCdhY3RpdmUnKTsNCgkJCQl9DQoNCgkJCX0pOw0KCQkJJCgiI3N0YXRlIGxpIGEiKS5lYWNoKGZ1bmN0aW9uKCkgew0KDQoJCQkJdmFyIHRtcDEgPSAkKHRoaXMpLmF0dHIoImlkIik7DQoNCgkJCQlpZiAoJC50cmltKHRtcDEpID09ICQudHJpbShwNSkpIHsNCgkJCQkJJCgiI3N0YXRlIGxpIGEiKS5yZW1vdmVDbGFzcygnbXVsdGlTZWxlY3RCdG4tcycpOw0KCQkJCQkkKHRoaXMpLmFkZENsYXNzKCdtdWx0aVNlbGVjdEJ0bi1zJyk7DQoJCQkJfQ0KDQoJCQl9KTsNCgkJCSQoIiNkYXRlIGxpIGEiKS5lYWNoKGZ1bmN0aW9uKCkgew0KDQoJCQkJdmFyIHRtcDIgPSAkKHRoaXMpLmF0dHIoImlkIik7DQoNCgkJCQlpZiAoJC50cmltKHRtcDIpID09ICQudHJpbShwNykpIHsNCgkJCQkJJCgiI2RhdGUgbGkgYSIpLnJlbW92ZUNsYXNzKCdtdWx0aVNlbGVjdEJ0bi1zJyk7DQoJCQkJCSQodGhpcykuYWRkQ2xhc3MoJ211bHRpU2VsZWN0QnRuLXMnKTsNCgkJCQl9DQoNCgkJCX0pOw0KCQkJJCgiI2ljcy12aWV3IGEiKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCXZhciB0bXAzID0gJCh0aGlzKS50ZXh0KCk7DQoJCQkJaWYgKCQudHJpbShwNikgPT0gJycgJiYgJC50cmltKHRtcDMpID09ICflhajpg6gnKSB7DQoJCQkJCSQoIiNpY3MtdmlldyBhIikucmVtb3ZlQ2xhc3MoJ211bHRpU2VsZWN0QnRuLXMnKTsNCgkJCQkJJCh0aGlzKS5hZGRDbGFzcygnbXVsdGlTZWxlY3RCdG4tcycpOw0KCQkJCX0gZWxzZSBpZiAoJC50cmltKHRtcDMpID09ICQudHJpbShwNikpIHsNCgkJCQkJJCgiI2ljcy12aWV3IGEiKS5yZW1vdmVDbGFzcygnbXVsdGlTZWxlY3RCdG4tcycpOw0KCQkJCQkkKHRoaXMpLmFkZENsYXNzKCdtdWx0aVNlbGVjdEJ0bi1zJyk7DQoJCQkJfQ0KCQkJfSk7DQoJCQkvL+WJjeS4gOmhtQ0KCQkJJCgiLnByZSIpLm9uKA0KCQkJCQkiY2xpY2siLA0KCQkJCQlmdW5jdGlvbihldmVudCkgew0KCQkJCQkJaWYgKG5leHRwYWdlID4gMSkgew0KCQkJCQkJCW5leHRwYWdlLS07DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXJldHVybjsNCgkJCQkJCX0NCgkJCQkJCWp1bXBQYWdlKG5leHRwYWdlKTsNCgkJCQkJfSk7DQoJCQkvL+WQjuS4gOmhtQ0KCQkJJCgiLm5leHQiKS5vbigNCgkJCQkJImNsaWNrIiwNCgkJCQkJZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCWlmIChuZXh0cGFnZSA8ICcxJykgew0KCQkJCQkJCW5leHRwYWdlKys7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXJldHVybjsNCgkJCQkJCX0NCgkJCQkJCWp1bXBQYWdlKG5leHRwYWdlKTsNCgkJCQkJfSk7DQoJCQlpZigkKCcjdGpQYW5lbCAucm93JykubGVuZ3RoPT0wKXsNCgkJCQkkKCcjdGpQYW5lbCcpLnBhcmVudCgpLmhpZGUoKTsgDQoJCQl9DQoJCX0pOw0KCQkkKCcubXVsdGlTZWxlY3QnKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7DQoJCQkkKHRoaXMpLnBhcmVudCgpLnByZXYoKS5maW5kKCcubXVsdGlTZWxlY3RCdG4nKS5wcmVwZW5kKCI8aW5wdXQgY2xhc3M9J21DaGVjaycgb25jbGljaz0nZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7JyB0eXBlPSdjaGVja2JveCcvPiIpOw0KCQkJJCh0aGlzKS5oaWRlKCk7DQoJCQkkKHRoaXMpLm5leHQoKS5zaG93KCk7DQoJCX0pDQoJCSQoJy5jb25maXJtU2VsZWN0Jykub24oImNsaWNrIixmdW5jdGlvbigpew0KCQkJcDUgPSAnJzsNCgkJCSQodGhpcykucGFyZW50KCkucGFyZW50KCkucHJldigpLmZpbmQoJy5tQ2hlY2s6Y2hlY2tlZCcpLmVhY2goZnVuY3Rpb24oKXsNCgkJCQlwNSArPSAoJ3wnKyQodGhpcykucGFyZW50KCkuYXR0cignaWQnKSk7DQoJCQl9KTsNCgkJCXA1ID0gcDUuc3Vic3RyaW5nKDEpDQoJCQlqdW1wUGFnZSgpOw0KCQl9KQ0KCQkkKCcuY2FuY2VsU2VsZWN0Jykub24oImNsaWNrIixmdW5jdGlvbigpew0KCQkJJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wcmV2KCkuZmluZCgnLm1DaGVjaycpLnJlbW92ZSgpOzsNCgkJCSQodGhpcykucGFyZW50KCkuaGlkZSgpOw0KCQkJJCh0aGlzKS5wYXJlbnQoKS5wcmV2KCkuc2hvdygpOw0KCQl9KQ0KCQkNCgk8L3NjcmlwdD4NCjwvaHRtbD4NCg0KCQkJPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCIgc3R5bGU9Im1hcmdpbi10b3A6IDIwcHg7Ij4NCgkJCQk8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij4NCgkJCQkJPGRpdiBjbGFzcz0icm93Ij4NCgkJCQkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiI+DQoJCQkJCQkJPGRpdiBzdHlsZT0ibWFyZ2luOjVweCAwOyBoZWlnaHQ6IDUwcHg7Ij4NCgkJCQkJCQkJPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+DQoJCQkJCQkJCQk8dHI+DQoJCQkJCQkJCQkJPHRkIGNsYXNzPSJoaWRkZW4tc20gaGlkZGVuLXhzIg0KCQkJCQkJCQkJCQlzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZy1sZWZ0OiA1cHg7Ij48c3Bhbj4NCgkJCQkJCQkJCQkJCTxhIHN0eWxlPSJjb2xvcjogZ3JleTsiPuavj+mhteaYvuekujwvYT4mbmJzcDs8c2VsZWN0IGNsYXNzPSJwYWdlTnVtU2VsZWN0Ij48b3B0aW9uIHZhbHVlPSIxMCI+MTA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSIyNSI+MjU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSI1MCI+NTA8L29wdGlvbj48L3NlbGVjdD4mbmJzcDs8YQ0KCQkJCQkJCQkJCQkJc3R5bGU9ImNvbG9yOiBncmV5OyI+5p2hLOWFsTwvYT4mbmJzcDsxJm5ic3A7PGENCgkJCQkJCQkJCQkJCXN0eWxlPSJjb2xvcjogZ3JleTsiPuadoeagh+WHhjwvYT4gJm5ic3A7PGEgc3R5bGU9ImNvbG9yOiByZWQ7Ij4xPC9hPiZuYnNwOy8mbmJzcDsxDQoJCQkJCQkJCQkJPC9zcGFuPjwvdGQ+DQoJCQkJCQkJCQkJPHRkIGNsYXNzPSJoaWRkZW4teHMiPjwvdGQ+DQoJCQkJCQkJCQkJPHRkIGFsaWduPSJyaWdodCI+DQoJCQkJCQkJCQkJCSA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1zbSIgc3R5bGU9ImZsb2F0OnJpZ2h0O21heC13aWR0aDozMDBweDt3aWR0aDoxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW4tdG9wOjA7Ij4NCgkJCQkJCQkJCQkJIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2VhcmNoMSIgdmFsdWU9IiIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9Iuagh+WHhuWPt+aIluagh+WHhuWQjeensCIgb25rZXlkb3duPSJpZihldmVudC5rZXlDb2RlPT0xMykgc2VhcmNoKCk7IiBjbGFzcz0iZm9ybS1jb250cm9sIiBhcmlhLWxhYmVsPSIuLi4iPg0KCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWJ0biI+DQoJCQkJCQkJCQkJCQkJPGJ1dHRvbiBpZD0ic2VhcmNoMSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdHlwZT0iYnV0dG9uIiA+DQoJCQkJCQkJCQkJCQkJCeWcqOe7k+aenOS4reetm+mAiQ0KCQkJCQkJCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCQkJCQkJPC9zcGFuPg0KCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQk8L3RkPg0KCQkJCQkJCQkJPC90cj4NCgkJCQkJCQkJPC90YWJsZT4NCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8c3BhbiBjbGFzcz0idGV4dC1kYW5nZXIgdmlzaWJsZS14cyIgc3R5bGU9ImZvbnQtc2l6ZToxMHB4OyI+KuW3puWPs+a7keWKqOWIl+ihqOaIluaoquWxj+afpeeci+abtOWkmuWGheWuuTwvc3Bhbj4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIiBzdHlsZT0ibWFyZ2luLXRvcDoxNXB4OyI+DQoJCQkJCQkJPHRhYmxlIGNsYXNzPSJ0YWJsZSByZXN1bHRfbGlzdCB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIiBzdHlsZT0ibWluLXdpZHRoOjc2OHB4OyINCgkJCQkJCQkJd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYm9yZGVyPSIwIj4NCgkJCQkJCQkJPHRib2R5Pg0KCQkJCQkJCQkJPHRyPg0KCQkJCQkJCQkJCTx0aCB3aWR0aD0iNTAiPuW6j+WPtzwvdGg+DQoJCQkJCQkJCQkJPHRoIHdpZHRoPSIxNDAiPjxkaXYNCgkJCQkJCQkJCQkJCWNsYXNzPSdzY3JlZW5PcmRlciAnDQoJCQkJCQkJCQkJCQlzb3J0bmFtZT0iIiBzb3J0Y29sPSJzdGFuZGFyZF9ubyI+5qCH5YeG5Y+3PC9kaXY+PC90aD4NCgkJCQkJCQkJCQk8dGggd2lkdGg9IjgwIj48ZGl2DQoJCQkJCQkJCQkJCQljbGFzcz0nc2NyZWVuT3JkZXIgJw0KCQkJCQkJCQkJCQkJc29ydG5hbWU9IiIgc29ydGNvbD0iY2FpYmlhb19zdGF0dXMiPuaYr+WQpumHh+aghzwvZGl2PjwvdGg+DQoJCQkJCQkJCQkJPHRoIHdpZHRoPSIqIj48ZGl2DQoJCQkJCQkJCQkJCQljbGFzcz0nc2NyZWVuT3JkZXIgJw0KCQkJCQkJCQkJCQkJc29ydG5hbWU9IiIgc29ydGNvbD0iY25fbmFtZSI+5qCH5YeG5ZCN56ewPC9kaXY+PC90aD4NCgkJCQkJCQkJCQk8dGggd2lkdGg9IjgwIj48ZGl2DQoJCQkJCQkJCQkJCQljbGFzcz0nc2NyZWVuT3JkZXIgJw0KCQkJCQkJCQkJCQkJc29ydG5hbWU9IiIgc29ydGNvbD0ic3RhbmRhcmRfdHlwZSI+57G75YirPC9kaXY+PC90aD4NCgkJCQkJCQkJCQk8dGggd2lkdGg9IjgwIj48ZGl2DQoJCQkJCQkJCQkJCQljbGFzcz0nc2NyZWVuT3JkZXIgJw0KCQkJCQkJCQkJCQkJc29ydG5hbWU9IiIgc29ydGNvbD0ic3RhdHVzIj7nirbmgIE8L2Rpdj48L3RoPg0KCQkJCQkJCQkJCTx0aCB3aWR0aD0iOTAiPjxkaXYNCgkJCQkJCQkJCQkJCWNsYXNzPSdzY3JlZW5PcmRlciAnDQoJCQkJCQkJCQkJCQlzb3J0bmFtZT0iIiBzb3J0Y29sPSJjaXJjdWxhdGlvbl9kYXRlIj7lj5HluIPml6XmnJ88L2Rpdj48L3RoPg0KCQkJCQkJCQkJCTx0aCB3aWR0aD0iOTAiPjxkaXYNCgkJCQkJCQkJCQkJCWNsYXNzPSdzY3JlZW5PcmRlciAnDQoJCQkJCQkJCQkJCQlzb3J0bmFtZT0iIiBzb3J0Y29sPSJpbXBsZW1lbnRfZGF0ZSI+5a6e5pa95pel5pyfPC9kaXY+PC90aD4NCgkJCQkJCQkJCQk8dGggd2lkdGg9IjgwIj7mk43kvZw8L3RoPg0KCQkJCQkJCQkJPC90cj4NCgkJCQkJCQkJPC90Ym9keT4NCgkJCQkJCQkJPHRib2R5IHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXRvcDoycHggc29saWQgI2RkZDsiPg0KCQkJCQkJCQkJDQoJCQkJCQkJCQkJPHRyPg0KCQkJCQkJCQkJCQk8dGQ+MTwvdGQ+DQoJCQkJCQkJCQkJCTx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPjxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSINCgkJCQkJCQkJCQkJCW9uY2xpY2s9InNob3dJbmZvKCcwODNCNDhGQTcyREJEM0I5QkRFNzQ1MDdCQzMxNzM2QScpOyI+R0IvVCAyMDIyMy0yMDA2PC9hPjwvdGQ+DQoJCQkJCQkJCQkJCTx0ZD4NCgkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQkgDQoJCQkJCQkJCQkJCQ0KCQkJCQkJCQkgCQkJDQoJCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQkJCTx0ZCBjbGFzcz0ibXl0eHQiIG9ubW91c2VvdmVyPSJzaG93Q29udGVudCh0aGlzKTsiDQoJCQkJCQkJCQkJCQlzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMCA4cHggMCA4cHg7Ij48YQ0KCQkJCQkJCQkJCQkJaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBzdHlsZT0iY29sb3I6IGdyYXk7Ig0KCQkJCQkJCQkJCQkJb25jbGljaz0ic2hvd0luZm8oJzA4M0I0OEZBNzJEQkQzQjlCREU3NDUwN0JDMzE3MzZBJyk7Ij7mo4nnn63nu5I8L2E+PC90ZD4NCgkJCQkJCQkJCQkJPHRkPg0KCQkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJCQ0KCQkJCQkJCQnmjqjmoIcgDQoJCQkJCQkJDQoJCQkJCQkJCQkJCQk8L3RkPg0KCQkJCQkJCQkJCQk8dGQ+DQoJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJIA0KCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0idGV4dC1kYW5nZXIiIHN0eWxlPSJmb250LXNpemU6MTNweDsiPuW6n+atojwvc3Bhbj4NCgkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQkJCTx0ZD4yMDA2LTAzLTEwIDAwOjAwOjAwLjA8L3RkPg0KCQkJCQkJCQkJCQk8dGQ+MjAwNi0wOS0wMSAwMDowMDowMC4wPC90ZD4NCgkJCQkJCQkJCQkJPHRkPjxidXR0b24gY2xhc3M9ImJ0biBidG4tc20gYnRuLWRlZmF1bHQiDQoJCQkJCQkJCQkJCQkJb25jbGljaz0ic2hvd0luZm8oJzA4M0I0OEZBNzJEQkQzQjlCREU3NDUwN0JDMzE3MzZBJyk7IiBjbGFzcz0iZGV0YWlsIj7mn6XnnIvor6bnu4Y8L2J1dHRvbj48L3RkPg0KCQkJCQkJCQkJCTwvdHI+DQoJCQkJCQkJCQkNCgkJCQkJCQkJPC90Ym9keT4NCgkJCQkJCQk8L3RhYmxlPg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQ0KDQoJCQkJCQkJPGRpdiBzdHlsZT0ibWFyZ2luOiAyMHB4OyBoZWlnaHQ6IDUwcHg7IiBjbGFzcz0idmlzaWJsZS14cyI+DQoJCQkJCQkJCTx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsiPg0KCQkJCQkJCQkJPHRyPg0KCQkJCQkJCQkJCTx0ZCBjbGFzcz0iaGlkZGVuLXhzIiBzdHlsZT0ibWluLXdpZHRoOiA2NXB4OyBfd2lkdGg6IDY1cHg7Ij4NCgkJCQkJCQkJCQkJPHNwYW4+IOavj+mhteaYvuekuiZuYnNwOzxzZWxlY3QgY2xhc3M9InBhZ2VOdW1TZWxlY3QiPjxvcHRpb24gdmFsdWU9IjEwIj4xMDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjI1Ij4yNTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjUwIj41MDwvb3B0aW9uPjwvc2VsZWN0PiZuYnNwO+adoeagh+WHhiA8L3NwYW4+DQoJCQkJCQkJCQkJPC90ZD4NCgkJCQkJCQkJCQk8dGQgY2xhc3M9ImhpZGRlbi14cyIgd2lkdGg9IjQwJSI+PC90ZD4NCgkJCQkJCQkJCQk8dGQgd2lkdGg9IjIwJSIgc3R5bGU9Im1pbi13aWR0aDogMjYwcHg7IF93aWR0aDogMjYwcHg7Ij4NCgkJCQkJCQkJCQkJPGRpdj4NCgkJCQkJCQkJCQkJCTx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsiPg0KCQkJCQkJCQkJCQkJCTx0cj4NCgkJCQkJCQkJCQkJCQkJPHRkPjxzcGFuIHN0eWxlPSJ3aWR0aDogMTIwcHg7Ij4gPGENCgkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iY29sb3I6IGdyZXk7Ij7lhbE8L2E+Jm5ic3A7MSZuYnNwOzxhDQoJCQkJCQkJCQkJCQkJCQkJc3R5bGU9ImNvbG9yOiBncmV5OyI+5p2h5qCH5YeGPC9hPiAmbmJzcDs8YQ0KCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJjb2xvcjogcmVkOyI+MTwvYT4mbmJzcDsvJm5ic3A7MQ0KCQkJCQkJCQkJCQkJCQk8L3NwYW4+PC90ZD4NCgkJCQkJCQkJCQkJCQkJPHRkPjwvdGQ+DQoJCQkJCQkJCQkJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDgwcHg7Ij4NCgkJCQkJCQkJCQkJCQkJCTxkaXYgYWxpZ249InJpZ2h0IiBjbGFzcz0iYnRuLWdyb3VwIiByb2xlPSJncm91cCINCgkJCQkJCQkJCQkJCQkJCQlhcmlhLWxhYmVsPSIuLi4iIHN0eWxlPSJhbGlnbjogcmlnaHQ7Ij4NCgkJCQkJCQkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBwcmUiPg0KCQkJCQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1tZW51LWxlZnQiPjwvc3Bhbj4NCgkJCQkJCQkJCQkJCQkJCQk8L2J1dHRvbj4NCgkJCQkJCQkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBuZXh0Ij4NCgkJCQkJCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbWVudS1yaWdodCI+PC9zcGFuPg0KCQkJCQkJCQkJCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQkJCQkJPC90cj4NCgkJCQkJCQkJCQkJCTwvdGFibGU+DQoJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQk8L3RyPg0KCQkJCQkJCQk8L3RhYmxlPg0KDQoJCQkJCQkJPC9kaXY+DQoNCgkJCQkJCQk8ZGl2IHN0eWxlPSJtYXJnaW46IDEwcHg7IGhlaWdodDogNTBweDsiIGNsYXNzPSJoaWRkZW4teHMiPg0KCQkJCQkJCQk8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlIj4NCgkJCQkJCQkJCTx0cj4NCgkJCQkJCQkJCQk8dGQgY2xhc3M9ImhpZGRlbi1zbSBoaWRkZW4teHMiDQoJCQkJCQkJCQkJCXN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwOyBwYWRkaW5nLWxlZnQ6IDVweDsiPjxzcGFuPg0KCQkJCQkJCQkJCQkJPGEgc3R5bGU9ImNvbG9yOiBncmV5OyI+5q+P6aG15pi+56S6PC9hPiZuYnNwOzxzZWxlY3QgY2xhc3M9InBhZ2VOdW1TZWxlY3QiPjxvcHRpb24gdmFsdWU9IjEwIj4xMDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjI1Ij4yNTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjUwIj41MDwvb3B0aW9uPjwvc2VsZWN0PiZuYnNwOzxhDQoJCQkJCQkJCQkJCQlzdHlsZT0iY29sb3I6IGdyZXk7Ij7mnaEs5YWxPC9hPiZuYnNwOzEmbmJzcDs8YQ0KCQkJCQkJCQkJCQkJc3R5bGU9ImNvbG9yOiBncmV5OyI+5p2h5qCH5YeGPC9hPiAmbmJzcDs8YSBzdHlsZT0iY29sb3I6IHJlZDsiPjE8L2E+Jm5ic3A7LyZuYnNwOzENCgkJCQkJCQkJCQk8L3NwYW4+PC90ZD4NCgkJCQkJCQkJCQk8dGQgY2xhc3M9ImhpZGRlbi14cyI+PC90ZD4NCgkJCQkJCQkJCQk8dGQgd2lkdGg9IjMwJSIgc3R5bGU9Im1pbi13aWR0aDogMjYwcHg7IF93aWR0aDogMjYwcHg7Ij4NCgkJCQkJCQkJCQkJPGRpdj4NCgkJCQkJCQkJCQkJCTx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsiPg0KCQkJCQkJCQkJCQkJCTx0cj4NCgkJCQkJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwOyBwYWRkaW5nLWxlZnQ6IDVweDsiPjxzcGFuPg0KDQoJCQkJCQkJCQkJCQkJCTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImhpZGRlbi1tZCBoaWRkZW4tbGciPiA8YQ0KCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJjb2xvcjogZ3JleTsiPuWFsTwvYT4mbmJzcDsxJm5ic3A7PGENCgkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iY29sb3I6IGdyZXk7Ij7mnaHmoIflh4Y8L2E+DQoJCQkJCQkJCQkJCQkJCTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImhpZGRlbi1tZCBoaWRkZW4tbGciPiAmbmJzcDs8YQ0KCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJjb2xvcjogcmVkOyI+MTwvYT4mbmJzcDsvJm5ic3A7MQ0KCQkJCQkJCQkJCQkJCQk8L3NwYW4+PC90ZD4NCgkJCQkJCQkJCQkJCQkJPHRkIGNsYXNzPSJoaWRkZW4tbWQgaGlkZGVuLWxnIiBzdHlsZT0id2lkdGg6IDgwcHg7Ij4NCgkJCQkJCQkJCQkJCQkJCTxkaXYgYWxpZ249InJpZ2h0IiBjbGFzcz0iYnRuLWdyb3VwIiByb2xlPSJncm91cCINCgkJCQkJCQkJCQkJCQkJCQlhcmlhLWxhYmVsPSIuLi4iIHN0eWxlPSJhbGlnbjogcmlnaHQ7Ij4NCgkJCQkJCQkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBwcmUiPg0KCQkJCQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1tZW51LWxlZnQiPjwvc3Bhbj4NCgkJCQkJCQkJCQkJCQkJCQk8L2J1dHRvbj4NCgkJCQkJCQkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBuZXh0Ij4NCgkJCQkJCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbWVudS1yaWdodCI+PC9zcGFuPg0KCQkJCQkJCQkJCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQkJCQkJCTx0ZCBjbGFzcz0iaGlkZGVuLXhzIGhpZGRlbi1zbSINCgkJCQkJCQkJCQkJCQkJCXN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwOyI+DQoJCQkJCQkJCQkJCQkJCQkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyIgaWQ9InBhZ2VuYXYyIj48L2Rpdj4NCgkJCQkJCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQkJCQkJPC90cj4NCgkJCQkJCQkJCQkJCTwvdGFibGU+DQoJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCTwvdGQ+DQoJCQkJCQkJCQk8L3RyPg0KCQkJCQkJCQk8L3RhYmxlPg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJPC9kaXY+DQoJCQkJCTwvZGl2Pg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCTwvZGl2Pg0KCQ0KPGRpdiBjbGFzcz0iZm9vdCI+DQoJ54mI5p2D5omA5pyJ77ya5Lit5Zu95Zu95a625qCH5YeG5YyW566h55CG5aeU5ZGY5LyaIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPuS6rElDUOWkhzA5MDAxMjM55Y+3PGJyLz4g572R56uZ5oqA5pyv5pSv5oyB77ya5Zu95a625biC5Zy655uR552j566h55CG5oC75bGA5Zu95a625qCH5YeG5oqA5pyv5a6h6K+E5Lit5b+DIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KCeaUr+aMgeeUteivne+8mjAxMC04MjI2MTA1NjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KPC9kaXY+DQo8c2NyaXB0Pg0KdmFyICBfaG10ICA9ICBfaG10ICB8fCAgW107DQooZnVuY3Rpb24oKSAgew0KICAgIHZhciAgaG0gID0gIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgIGhtLnNyYyAgPSAgImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzPzUwNzU4OTEzZTZmMGRmYzlkZWFjYmZlYmNlMzYzN2U0IjsNCiAgICB2YXIgIHMgID0gIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgIA0KICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaG0sICBzKTsNCn0pKCk7DQo8L3NjcmlwdD4NCgk8IS0tW2lmIGx0IElFIDldPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2pzL3Jlc3BvbmQubWluLmpzIj48L3NjcmlwdD4NCgk8IVtlbmRpZl0tLT4NCgk8IS0tW2lmIGx0IElFIDEwXT4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvYnpnay9qcy9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuanMiPjwvc2NyaXB0Pg0KCTwhW2VuZGlmXS0tPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2xheXBhZ2UvbGF5cGFnZS5qcyI+PC9zY3JpcHQ+DQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0nL2J6Z2svanMvYm9vdHN0cmFwLmpzJz48L3NjcmlwdD4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPScvYnpnay9qcy9jb21tb24uanMnPjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==
37
35
  http_version:
38
- recorded_at: Thu, 25 Mar 2021 18:10:33 GMT
36
+ recorded_at: Wed, 25 Nov 2020 23:46:48 GMT
39
37
  - request:
40
38
  method: get
41
39
  uri: http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=083B48FA72DBD3B9BDE74507BC31736A
@@ -55,21 +53,19 @@ http_interactions:
55
53
  message: OK
56
54
  headers:
57
55
  Date:
58
- - Thu, 25 Mar 2021 18:10:27 GMT
56
+ - Wed, 25 Nov 2020 23:46:37 GMT
59
57
  Content-Type:
60
58
  - text/html;charset=utf-8
61
- Content-Language:
62
- - zh-CN
63
59
  Set-Cookie:
64
- - JSESSIONID=233EB61E29DABF8DCC8E1AF25B924C03; Path=/bzgk; HttpOnly
60
+ - JSESSIONID=68F49E0AC30A1F78727D18EE0C1F16FA; Path=/bzgk; HttpOnly
65
61
  Vary:
66
62
  - Accept-Encoding
67
63
  Content-Length:
68
- - '4155'
64
+ - '3583'
69
65
  body:
70
66
  encoding: ASCII-8BIT
71
67
  string: !binary |-
72
- DQoNCg0KDQoNCg0KPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPuWbveWutuagh+WHhnxHQi9UIDIwMjIzLTIwMDY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+DQo8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+DQo8bGluayBocmVmPSIuLi9jc3MvcWJjeC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYnpnay9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2J6Z2svanMvanF1ZXJ5LTEuMTEuMy5taW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0nL2J6Z2svanMvYm9vdHN0cmFwLmpzJz48L3NjcmlwdD4NCjxtZXRhIG5hbWU9InZpZXdwb3J0Ig0KCWNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCi5tdHJ7aGVpZ2h0OiAyNXB4O30NCmJvZHl7YmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTt9DQoudGl0bGV7Zm9udC13ZWlnaHQ6Ym9sZDt9DQoudGl0bGUsLmNvbnRlbnR7cGFkZGluZzoxMHB4IDA7Ym9yZGVyLXRvcDoxcHggI2RkZCBzb2xpZDt9ICANCi5zbWdnIGxpe3BhZGRpbmc6MCAyMnB4O21hcmdpbjoxNXB4IDA7bGluZS1oZWlnaHQ6MjVweDt9DQouc3RhdGVtZW50VWwgbGl7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9wb2ludC5wbmcnKSBuby1yZXBlYXQgOHB4IDZweDtsZXR0ZXItc3BhY2luZzoxcHg7fQ0KLm1rMSAubGFiZWx7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6NHB4IDZweDtjdXJzb3I6cG9pbnRlcjt9DQo8L3N0eWxlPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KY29uc3Qgc3VwcG9ydGVkID0gKGZ1bmN0aW9uKCkgew0KICAgIHRyeSB7DQogICAgICAgIGlmICh0eXBlb2YgV2ViQXNzZW1ibHkgPT09ICJvYmplY3QiDQogICAgICAgICAgICAmJiB0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUgPT09ICJmdW5jdGlvbiIpIHsNCiAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVWludDhBcnJheS5vZigweDAsIDB4NjEsIDB4NzMsIDB4NmQsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDApKTsNCiAgICAgICAgICAgIGlmIChtb2R1bGUgaW5zdGFuY2VvZiBXZWJBc3NlbWJseS5Nb2R1bGUpDQogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpIGluc3RhbmNlb2YgV2ViQXNzZW1ibHkuSW5zdGFuY2U7DQogICAgICAgIH0NCiAgICB9IGNhdGNoIChlKSB7DQogICAgfQ0KICAgIHJldHVybiBmYWxzZTsNCn0pKCk7DQoNClN0cmluZy5wcm90b3R5cGUudHJpbT1mdW5jdGlvbigpew0KICAgIHJldHVybiB0aGlzLnJlcGxhY2UoLyheXHMqKXwoXHMqJCkvZywgIiIpOw0KIH0NCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQoJJCgnLnh6X2J0bicpLmNsaWNrKGZ1bmN0aW9uKCl7DQoJCXZhciBlbCA9ICQodGhpcyk7DQoJCXNob3dHYihlbC5hdHRyKCdkYXRhLXZhbHVlJyksJ2Rvd25sb2FkJyk7DQoJfSk7DQoJJCgnLmNrX2J0bicpLmNsaWNrKGZ1bmN0aW9uKCl7DQoJCXZhciBlbCA9ICQodGhpcyk7DQoJCWlmKHN1cHBvcnRlZCkgew0KCQkJc2hvd0diKGVsLmF0dHIoJ2RhdGEtdmFsdWUnKSwnb25saW5lJyk7DQoJCX0gZWxzZSB7DQoJCQkkKCcjbXlNb2RhbCcpLm1vZGFsKCdzaG93Jyk7DQoJCX0NCgl9KTsNCgkkKCcuZm8nKS5jbGljayhmdW5jdGlvbigpIHsNCgkJdmFyIGVsID0gJCh0aGlzKTsNCgkJc2hvd0diKGVsLmF0dHIoJ2RhdGEtdmFsdWUnKSk7DQoJfSk7DQoJJCgnLmZrX2J0bicpLmNsaWNrKGZ1bmN0aW9uKCl7DQoJCXZhciBlbCA9ICQodGhpcyk7DQoJCXdpbmRvdy5vcGVuKCcvYnpnay9nYi9yZXZpZXc/aGNubz0nK2VsLmF0dHIoJ2RhdGEtdmFsdWUnKSk7DQoJfSk7DQoJLyogJCgnLmNvbnRlbnQnKS5lYWNoKGZ1bmN0aW9uKCl7IA0KCQlpZigkKHRoaXMpLmh0bWwoKS50cmltKCk9PScnKXsgDQoJCQkkKHRoaXMpLmhpZGUoKTsgDQoJCQkkKHRoaXMpLnByZXYoKS5oaWRlKCkNCgkJCQ0KCQl9DQoJfSk7ICovDQp9KTsNCmZ1bmN0aW9uIHNob3dHYihnYkNvZGUsdHlwZSl7DQoJdmFyIHVybCA9ICJodHRwOi8vYy5nYjY4OC5jbi9iemdrL2diL3Nob3dHYj90eXBlPSIrdHlwZSsiJmhjbm89IiArIGdiQ29kZTsNCgl3aW5kb3cub3Blbih1cmwpOw0KfQ0KPC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keT4NCgkNCg0KPHN0eWxlPg0KCUBtZWRpYSAobWF4LXdpZHRoOiA1NjhweCkgew0KCSAgI3hzTWFpbkxvZ297d2lkdGg6OTAlO3otaW5kZXg6MTAwMDttYXJnaW46MCBhdXRvO21hcmdpbi10b3A6MTVweDtkaXNwbGF5OmJsb2NrfQ0KCSAgI3hzU3ViTG9nb3tmbG9hdDpyaWdodDt6LWluZGV4OjEwMDA7bWFyZ2luOjVweCA1JTt9DQoJICAjeHNRd0xvZ297ZmxvYXQ6bGVmdDt3aWR0aDo1MCU7ei1pbmRleDoxMDAwO21hcmdpbjo3cHggNSU7fSANCgl9DQoJQG1lZGlhIChtaW4td2lkdGg6IDU2OHB4KXsNCgkgICN4c01haW5Mb2dve2Zsb2F0OmxlZnQ7d2lkdGg6OTAlO3otaW5kZXg6MTAwMDttYXJnaW4tdG9wOjE1cHg7bWFyZ2luLWxlZnQ6NiU7fQ0KCSAgI3hzU3ViTG9nb3t3aWR0aDozMyU7ei1pbmRleDoxMDAwO21hcmdpbi10b3A6NDBweDttYXJnaW4tcmlnaHQ6MSU7fQ0KCSAgI3hzUXdMb2dve2Zsb2F0OnJpZ2h0O3dpZHRoOjkwJTt6LWluZGV4OjEwMDA7bWFyZ2luOjE1cHggNSU7bWFyZ2luLWxlZnQ6NiU7fQ0KCSAgLnhzRGl2e3dpZHRoOjY1JX0NCgl9IA0KCS5wb3BvdmVyIC5wb3BvdmVyLXRpdGxle3RleHQtYWxpZ246Y2VudGVyO30gDQoJI3NhY0xvZ297dGV4dC1kZWNvcmF0aW9uOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjEycHg7ei1pbmRleDoxMDAwO3RvcDoxMHB4O2xlZnQ6MjBweDtjb2xvcjojRTRFNEU0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO30NCgkjc2FjTG9nbzpob3Zlcntjb2xvcjp3aGl0ZTt0ZXh0LWRlY29yYXRpb246bm9uZTt9DQoJI3NhY0xvZ286dmlzaXRlZHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH0NCjwvc3R5bGU+DQo8c2NyaXB0Pg0KJChmdW5jdGlvbigpew0KCSQoJyNtb2JpbGVFd20nKS5wb3BvdmVyKHtodG1sOnRydWV9KTsNCn0pDQo8L3NjcmlwdD4gDQo8ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltYWdlcy9iYW5uZXJiZy5qcGcpOyI+DQoJDQoJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCgkJDQoJCTxkaXYgY2xhc3M9InJvdyBoaWRkZW4teHMgaGlkZGVuLXNtIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjE4MHB4OyI+IA0KCQkJDQoJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL21haW4tbG9nby5wbmciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7dG9wOjUwcHg7bGVmdDozMHB4OyIvPiAgDQoJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL3F3ZmIucG5nIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO3RvcDoxMTVweDtsZWZ0OjMwcHg7Ii8+ICANCgkJCTxpbWcgc3JjPSIuLi9pbWFnZXMvc3ViLWxvZ28ucG5nIiB3aWR0aD0iMzA0IiBoZWlnaHQ9IjUzIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO3RvcDo2NXB4O3JpZ2h0OjQwcHg7Ii8+IA0KCQkJPGltZyBzcmM9Ii4uL2ltYWdlcy9sb2dvNC5qcGciIHdpZHRoPSI4MDIiIGhlaWdodD0iMTgwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5OTk7dG9wOjA7cmlnaHQ6MDsiLz4gDQoJCTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyb3cgdmlzaWJsZS14cyB2aXNpYmxlLXNtIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uL2ltYWdlcy9sb2dvNC5qcGcnKSI+DQoJCQk8ZGl2IGNsYXNzPSJ4c0RpdiI+DQoJCQk8aW1nIGlkPSJ4c01haW5Mb2dvIiBzcmM9Ii4uL2ltYWdlcy9tYWluLWxvZ28ucG5nIiBzdHlsZT0iIi8+DQoJCQk8aW1nIGlkPSJ4c1F3TG9nbyIgc3JjPSIuLi9pbWFnZXMvcXdmYi5wbmciIHN0eWxlPSIiLz4gDQoJCQk8L2Rpdj4NCgkJCTxpbWcgaWQ9InhzU3ViTG9nbyIgc3JjPSIuLi9pbWFnZXMvc3ViLWxvZ28ucG5nIiB3aWR0aD0iMzAlIiBzdHlsZT0iIi8+IA0KCQk8L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQo8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgbmF2YmFyLXN0YXRpYy10b3AiIHJvbGU9Im5hdmlnYXRpb24iIHN0eWxlPSJiYWNrZ3JvdW5kOiMxMTU4ODM7Ym9yZGVyOjA7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmciPiAgDQoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQo8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIiA+DQogICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUgY29sbGFwc2VkIiBzdHlsZT0ibWFyZ2luOjA7bWFyZ2luLXRvcDotMnB4O3BhZGRpbmc6NXB4OyIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI2JzLWV4YW1wbGUtbmF2YmFyLWNvbGxhcHNlLTEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4NCiAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPg0KICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4NCiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+DQogICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPg0KICAgICAgPC9idXR0b24+DQogICAgICA8YSBzdHlsZT0iZm9udC1zaXplOjE1cHg7IiBjbGFzcz0ibmF2YmFyLWJyYW5kICIgIGhyZWY9Ii9iemdrL2diL2luZGV4IiA+6aaWJm5ic3A76aG1PC9hPg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBDb2xsZWN0IHRoZSBuYXYgbGlua3MsIGZvcm1zLCBhbmQgb3RoZXIgY29udGVudCBmb3IgdG9nZ2xpbmcgLS0+DQogICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBpZD0iYnMtZXhhbXBsZS1uYXZiYXItY29sbGFwc2UtMSI+DQogICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2Ij4NCiAgICAgICAgDQogICAgICAgIDxsaSBjbGFzcz0iIj48YSBocmVmPSIvYnpnay9nYi9zdGRfbGlzdF90eXBlP3AucDE9MSZwLnA5MD1jaXJjdWxhdGlvbl9kYXRlJnAucDkxPWRlc2MiPuW8uuWItuaAp+WbveWutuagh+WHhjwvYT48L2xpPg0KICAgICAgICA8bGkgY2xhc3M9IiI+PGEgaHJlZj0iL2J6Z2svZ2Ivc3RkX2xpc3RfdHlwZT9wLnAxPTImcC5wOTA9Y2lyY3VsYXRpb25fZGF0ZSZwLnA5MT1kZXNjIj7mjqjojZDmgKflm73lrrbmoIflh4Y8L2E+PC9saT4NCiAgICAgICAgDQogICAgICA8L3VsPg0KICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPg0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCTxsaSBjbGFzcz0iIj48YSBocmVmPSIvYnpnay9nYi9oZWxwIj7luK7liqk8L2E+PC9saT4NCiAgICAgIAk8bGkgY2xhc3M9IiI+PGEgaHJlZj0iL2J6Z2svZ2IvY29udGFjdCI+6IGU57O75oiR5LusPC9hPjwvbGk+DQogICAgICAJDQogICAgICA8L3VsPg0KICAgICAgPCEtLSA8Zm9ybSBjbGFzcz0ibmF2YmFyLWZvcm0gbmF2YmFyLXJpZ2h0IiByb2xlPSJzZWFyY2giIG9uc3VibWl0PSJyZXR1cm4gZmFsc2U7Ij4NCiAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNtIiBzdHlsZT0id2lkdGg6MzAwcHg7bWFyZ2luOjAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luLXRvcDo0cHg7Ij4NCgkJCQkJCQkJCTxpbnB1dCBwbGFjZWhvbGRlcj0i6K+36L6T5YWl5YWz6ZSu5a2XIiBvbmtleWRvd249ImlmKGV2ZW50LmtleUNvZGU9PTEzKSBzZWFyY2goJycsJCh0aGlzKS52YWwoKSk7IiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBhcmlhLWxhYmVsPSIuLi4iPg0KCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWJ0biI+DQoJCQkJCQkJCQkJPGJ1dHRvbiBpZD0ic2VhcmNoQnRuIiBjbGFzcz0iYnRuIGJ0bi13YXJuaW5nIiB0eXBlPSJidXR0b24iID4NCgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIj48L3NwYW4+DQoJCQkJCQkJCQkJPC9idXR0b24+DQoJCQkJCQkJCQk8L3NwYW4+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgPC9mb3JtPiAtLT4NCiAgICA8L2Rpdj48IS0tIC8ubmF2YmFyLWNvbGxhcHNlIC0tPg0KICA8L2Rpdj48IS0tIC8uY29udGFpbmVyLWZsdWlkIC0tPg0KCTwvbmF2Pg0KCTxkaXYgY2xhc3M9InJlcGJnMSIgc3R5bGU9Im1pbi1oZWlnaHQ6aW5pdGlhbDsiPg0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJPGRpdiBjbGFzcz0icm93Ij4NCgkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIj4NCgkJPGRpdiBjbGFzcz0iYm9yMiI+DQoJCQ0KCQk8dGFibGUgd2lkdGg9IjEwMCUiIGNsYXNzPSJtazEiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiDQoJCQljZWxscGFkZGluZz0iMCI+DQoJCQk8dHI+DQoJCQkJPHRkIHdpZHRoPSI1NjAiIGFsaWduPSJsZWZ0Ij48aDE+5qCH5YeG5Y+377yaR0IvVCAyMDIyMy0yMDA2IDwvaDE+PC90ZD4NCgkJCTwvdHI+DQoJCTwvdGFibGU+DQoJCTx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRkbGlzdCIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICAJCQk8dHI+DQogICAgCQkJPHRkPuS4reaWh+agh+WHhuWQjeensO+8mjxiPuajieefree7kjwvYj48L3RkPg0KICAgIAkJCQ0KICAJCQk8L3RyPg0KIAkJCTx0cj4NCiAgICAJCQk8dGQ+6Iux5paH5qCH5YeG5ZCN56ew77yaQ290dG9uIGxpbnRlcjwvdGQ+DQogICAgCQk8L3RyPg0KICAgIAkJPHRyPg0KCQkJCTx0ZCBhbGlnbj0ibGVmdCI+5qCH5YeG54q25oCB77yaPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7IiBjbGFzcz0idGV4dC1kYW5nZXIiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDEwcHg7Ij7lup/mraI8L3NwYW4+PC90ZD4NCgkJCTwvdHI+DQogICAgCQk8dHI+DQogICAgCQkJPHRkIHN0eWxlPSJwYWRkaW5nLXRvcDoyMHB4OyI+DQoJCQkJCSANCgkJCQkJICANCgkJCQkJICA8YnV0dG9uIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MjBweCIgZGF0YS12YWx1ZT0iMDgzQjQ4RkE3MkRCRDNCOUJERTc0NTA3QkMzMTczNkEiIGNsYXNzPSJidG4gZmtfYnRuIGJ0bi1zbSBidG4tc3VjY2VzcyI+5a6e5pa95L+h5oGv5Y+N6aaIPC9idXR0b24+DQoJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciIgPg0KCQkJCQkgDQoJCQkJCSAJDQoJCQkJCSAJIAnlup/mraLmoIflh4bkuI3mj5DkvpvmoIflh4bmlofmnKzpmIXor7vmnI3liqENCgkJCQkJIAkgIA0KCQkJCQkgCQ0KCQkJCQkgDQoJCQkJCTwvc3Bhbj4NCiAgICAJCQk8L3RkPg0KICAgIAkJPC90cj4NCiAgICAgIDwvdGFibGU+DQoJCQ0KCQk8ZGl2IGNsYXNzPSJsaW5lIj48L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93IGRldGFpbCI+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Lit5Zu95qCH5YeG5YiG57G75Y+377yIQ0NT77yJDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCUIzMg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Zu96ZmF5qCH5YeG5YiG57G75Y+377yISUNT77yJDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCTU5LjA2MC4xMA0KCQkJPC9kaXY+DQoJCQk8ZGl2IHN0eWxlPSJjbGVhcjpib3RoIj48L2Rpdj4NCgkJPC9kaXY+DQoJCTxkaXYgY2xzc3M9InJvdyI+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Y+R5biD5pel5pyfDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCTIwMDYtMDMtMTANCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWunuaWveaXpeacnw0KCQkJPC9kaXY+DQoJCQkgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC00IGNvbnRlbnQiPg0KCQkJMjAwNi0wOS0wMQ0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGNsc3NzPSJyb3ciPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeS4u+euoemDqOmXqA0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQnlm73lrrbotKjph4/nm5HnnaPmo4Dpqozmo4DnlqvmgLvlsYANCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeW9kuWPo+WNleS9jQ0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQnkuK3lm73nuqTnu7Tmo4DpqozlsYANCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93Ij4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlj5HluIPljZXkvY0NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0xMCBjb250ZW50Ij4NCgkJCeS4reWNjuS6uuawkeWFseWSjOWbveWbveWutui0qOmHj+ebkeedo+ajgOmqjOajgOeWq+aAu+WxgOOAgeS4reWbveWbveWutuagh+WHhuWMlueuoeeQhuWnlOWRmOS8mg0KCQkJPC9kaXY+DQoJCQk8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyI+PC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGNsc3NzPSJyb3ciPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWkh+azqA0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTEwIGNvbnRlbnQiPg0KCQkJMjAwNi0wOS0wMeWunuaWvQ0KCQkJPC9kaXY+DQoJCQkNCgkJPC9kaXY+DQoJCTxkaXYgc3R5bGU9ImNsZWFyOmJvdGg7Ij48L2Rpdj4NCgkJDQoJCQ0KCTwvZGl2Pg0KCTwvZGl2Pg0KCTwvZGl2Pg0KCTwvZGl2Pg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9Im1vZGFsIGJzLWV4YW1wbGUtbW9kYWwtc20iIGlkPSJteU1vZGFsIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiPg0KCQk8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciIHJvbGU9ImRvY3VtZW50Ij4NCgkJCTxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQoJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvc3Bhbj48L2J1dHRvbj4NCgkJCQkJPGg0IGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9Im15TW9kYWxMYWJlbCI+5Zyo57q/6aKE6KeI5o+Q56S6PC9oND4NCgkJCQk8L2Rpdj4NCgkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4gDQoJCQkJCeW9k+WJjea1j+iniOWZqOaaguS4jeaUr+aMgeagh+WHhuWFqOaWh+WcqOe6v+mihOiniOacjeWKoe+8jOivt+S9v+eUqOeOsOS7o+a1j+iniOWZqO+8iENocm9tZeOAgUZpcmVmb3jjgIFPcGVyYeOAgU1pY3Jvc29mdCBFZGdl44CBMzYw5a6J5YWo5rWP6KeI5Zmo44CB5pCc54uX5rWP6KeI5Zmo44CB54yO6LG55rWP6KeI5Zmo44CB5YKy5ri45rWP6KeI5Zmo562J77yJ6YeN5paw5omT5byA5b2T5YmN6aG16Z2i57un57ut6L+b6KGM5qCH5YeG5YWo5paH6aKE6KeI44CCDQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4NCgkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIGRhdGEtZGlzbWlzcz0ibW9kYWwiPuefpemBk+S6hjwvYnV0dG9uPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCTwvZGl2Pg0KCQ0KPGRpdiBjbGFzcz0iZm9vdCI+DQoJ54mI5p2D5omA5pyJ77ya5Lit5Zu95Zu95a625qCH5YeG5YyW566h55CG5aeU5ZGY5LyaIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPuS6rElDUOWkhzA5MDAxMjM55Y+3PGJyLz4g572R56uZ5oqA5pyv5pSv5oyB77ya5Zu95a625biC5Zy655uR552j566h55CG5oC75bGA5Zu95a625qCH5YeG5oqA5pyv5a6h6K+E5Lit5b+DIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KCeaUr+aMgeeUteivne+8mjAxMC04MjI2MTA1NjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KPC9kaXY+DQo8c2NyaXB0Pg0KdmFyICBfaG10ICA9ICBfaG10ICB8fCAgW107DQoNCmZ1bmN0aW9uIG9wZW5fbmV3X3dpbmRvdyhmdWxsX2xpbmspew0KCXdpbmRvdy5vcGVuKCdqYXZhc2NyaXB0OndpbmRvdy5uYW1lOycsICc8c2NyaXB0PmxvY2F0aW9uLnJlcGxhY2UoIicrZnVsbF9saW5rKyciKTxcL3NjcmlwdD4nKTsNCn0NCg0KKGZ1bmN0aW9uKCkgIHsNCiAgICB2YXIgIGhtICA9ICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsNCiAgICBobS5zcmMgID0gICJodHRwczovL2htLmJhaWR1LmNvbS9obS5qcz81MDc1ODkxM2U2ZjBkZmM5ZGVhY2JmZWJjZTM2MzdlNCI7DQogICAgdmFyICBzICA9ICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07ICANCiAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGhtLCAgcyk7DQogICAgDQogICAgDQogICAgJCgnLm91dGVyLWxpbmsnKS5jbGljayhmdW5jdGlvbigpew0KICAgIAlvcGVuX25ld193aW5kb3coJCh0aGlzKS5hdHRyKCdocmVmJykpOw0KICAgIAlyZXR1cm4gZmFsc2U7DQogICAgfSk7DQp9KSgpOw0KPC9zY3JpcHQ+DQo8L2JvZHk+DQo8L2h0bWw+
68
+ DQoNCg0KDQoNCg0KPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPuWbveWutuagh+WHhnxHQi9UIDIwMjIzLTIwMDY8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+DQo8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+DQo8bGluayBocmVmPSIuLi9jc3MvcWJjeC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYnpnay9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2J6Z2svanMvanF1ZXJ5LTEuMTEuMy5taW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0nL2J6Z2svanMvYm9vdHN0cmFwLmpzJz48L3NjcmlwdD4NCjxtZXRhIG5hbWU9InZpZXdwb3J0Ig0KCWNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCi5tdHJ7aGVpZ2h0OiAyNXB4O30NCmJvZHl7YmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTt9DQoudGl0bGV7Zm9udC13ZWlnaHQ6Ym9sZDt9DQoudGl0bGUsLmNvbnRlbnR7cGFkZGluZzoxMHB4IDA7Ym9yZGVyLXRvcDoxcHggI2RkZCBzb2xpZDt9ICANCi5zbWdnIGxpe3BhZGRpbmc6MCAyMnB4O21hcmdpbjoxNXB4IDA7bGluZS1oZWlnaHQ6MjVweDt9DQouc3RhdGVtZW50VWwgbGl7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9wb2ludC5wbmcnKSBuby1yZXBlYXQgOHB4IDZweDtsZXR0ZXItc3BhY2luZzoxcHg7fQ0KLm1rMSAubGFiZWx7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6NHB4IDZweDtjdXJzb3I6cG9pbnRlcjt9DQo8L3N0eWxlPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KU3RyaW5nLnByb3RvdHlwZS50cmltPWZ1bmN0aW9uKCl7DQogICAgcmV0dXJuIHRoaXMucmVwbGFjZSgvKF5ccyopfChccyokKS9nLCAiIik7DQogfQ0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCgkkKCcueHpfYnRuJykuY2xpY2soZnVuY3Rpb24oKXsNCgkJdmFyIGVsID0gJCh0aGlzKTsNCgkJc2hvd0diKGVsLmF0dHIoJ2RhdGEtdmFsdWUnKSwnZG93bmxvYWQnKTsNCgl9KTsNCgkkKCcuY2tfYnRuJykuY2xpY2soZnVuY3Rpb24oKXsNCgkJdmFyIGVsID0gJCh0aGlzKTsNCgkJc2hvd0diKGVsLmF0dHIoJ2RhdGEtdmFsdWUnKSwnb25saW5lJyk7DQoJfSk7DQoJJCgnLmZvJykuY2xpY2soZnVuY3Rpb24oKSB7DQoJCXZhciBlbCA9ICQodGhpcyk7DQoJCXNob3dHYihlbC5hdHRyKCdkYXRhLXZhbHVlJykpOw0KCX0pOw0KCSQoJy5ma19idG4nKS5jbGljayhmdW5jdGlvbigpew0KCQl2YXIgZWwgPSAkKHRoaXMpOw0KCQl3aW5kb3cub3BlbignL2J6Z2svZ2IvcmV2aWV3P2hjbm89JytlbC5hdHRyKCdkYXRhLXZhbHVlJykpOw0KCX0pOw0KCS8qICQoJy5jb250ZW50JykuZWFjaChmdW5jdGlvbigpeyANCgkJaWYoJCh0aGlzKS5odG1sKCkudHJpbSgpPT0nJyl7IA0KCQkJJCh0aGlzKS5oaWRlKCk7IA0KCQkJJCh0aGlzKS5wcmV2KCkuaGlkZSgpDQoJCQkNCgkJfQ0KCX0pOyAqLw0KfSk7DQpmdW5jdGlvbiBzaG93R2IoZ2JDb2RlLHR5cGUpew0KCXZhciB1cmwgPSAiaHR0cDovL2MuZ2I2ODguY24vYnpnay9nYi9zaG93R2I/dHlwZT0iK3R5cGUrIiZoY25vPSIgKyBnYkNvZGU7DQoJd2luZG93Lm9wZW4odXJsKTsNCn0NCjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQoJDQoNCjxzdHlsZT4NCglAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHsNCgkgICN4c01haW5Mb2dve3dpZHRoOjkwJTt6LWluZGV4OjEwMDA7bWFyZ2luOjAgYXV0bzttYXJnaW4tdG9wOjE1cHg7ZGlzcGxheTpibG9ja30NCgkgICN4c1N1YkxvZ297ZmxvYXQ6cmlnaHQ7ei1pbmRleDoxMDAwO21hcmdpbjo1cHggNSU7fQ0KCSAgI3hzUXdMb2dve2Zsb2F0OmxlZnQ7d2lkdGg6NTAlO3otaW5kZXg6MTAwMDttYXJnaW46N3B4IDUlO30gDQoJfQ0KCUBtZWRpYSAobWluLXdpZHRoOiA1NjhweCl7DQoJICAjeHNNYWluTG9nb3tmbG9hdDpsZWZ0O3dpZHRoOjkwJTt6LWluZGV4OjEwMDA7bWFyZ2luLXRvcDoxNXB4O21hcmdpbi1sZWZ0OjYlO30NCgkgICN4c1N1YkxvZ297d2lkdGg6MzMlO3otaW5kZXg6MTAwMDttYXJnaW4tdG9wOjQwcHg7bWFyZ2luLXJpZ2h0OjElO30NCgkgICN4c1F3TG9nb3tmbG9hdDpyaWdodDt3aWR0aDo5MCU7ei1pbmRleDoxMDAwO21hcmdpbjoxNXB4IDUlO21hcmdpbi1sZWZ0OjYlO30NCgkgIC54c0Rpdnt3aWR0aDo2NSV9DQoJfSANCgkucG9wb3ZlciAucG9wb3Zlci10aXRsZXt0ZXh0LWFsaWduOmNlbnRlcjt9IA0KCSNzYWNMb2dve3RleHQtZGVjb3JhdGlvbjpub25lO3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZToxMnB4O3otaW5kZXg6MTAwMDt0b3A6MTBweDtsZWZ0OjIwcHg7Y29sb3I6I0U0RTRFNDtkaXNwbGF5OmlubGluZS1ibG9jazt9DQoJI3NhY0xvZ286aG92ZXJ7Y29sb3I6d2hpdGU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KCSNzYWNMb2dvOnZpc2l0ZWR7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCiQoZnVuY3Rpb24oKXsNCgkkKCcjbW9iaWxlRXdtJykucG9wb3Zlcih7aHRtbDp0cnVlfSk7DQp9KQ0KPC9zY3JpcHQ+IA0KPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMzksODYsMTU2KTsiPg0KCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KCQkJPGRpdiBjbGFzcz0icm93Ij4gIA0KCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+IA0KCQkJCQk8ZGl2IHN0eWxlPSJjb2xvcjojZmY5YzNkO3BhZGRpbmc6NXB4IDAiPumHjeimgemAmuefpe+8muW5s+WPsOWfn+WQjeWNs+WwhuWPmOabtOS4um9wZW5zdGQuc2Ftci5nb3YuY248L2Rpdj4gDQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJPC9kaXY+DQoJPC9kaXY+IA0KPGRpdiBzdHlsZT0id2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvYmFubmVyYmcuanBnKTsiPg0KCQ0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCQ0KCQk8ZGl2IGNsYXNzPSJyb3cgaGlkZGVuLXhzIGhpZGRlbi1zbSIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxODBweDsiPg0KCQkJDQoJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL21haW4tbG9nby5wbmciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7dG9wOjUwcHg7bGVmdDozMHB4OyIvPiAgDQoJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL3F3ZmIucG5nIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO3RvcDoxMTVweDtsZWZ0OjMwcHg7Ii8+ICANCgkJCTxpbWcgc3JjPSIuLi9pbWFnZXMvc3ViLWxvZ28ucG5nIiB3aWR0aD0iMzA0IiBoZWlnaHQ9IjUzIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO3RvcDo2NXB4O3JpZ2h0OjQwcHg7Ii8+IA0KCQkJPGltZyBzcmM9Ii4uL2ltYWdlcy9sb2dvNC5qcGciIHdpZHRoPSI4MDIiIGhlaWdodD0iMTgwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5OTk7dG9wOjA7cmlnaHQ6MDsiLz4gDQoJCTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyb3cgdmlzaWJsZS14cyB2aXNpYmxlLXNtIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uL2ltYWdlcy9sb2dvNC5qcGcnKSI+DQoJCQk8ZGl2IGNsYXNzPSJ4c0RpdiI+DQoJCQk8aW1nIGlkPSJ4c01haW5Mb2dvIiBzcmM9Ii4uL2ltYWdlcy9tYWluLWxvZ28ucG5nIiBzdHlsZT0iIi8+DQoJCQk8aW1nIGlkPSJ4c1F3TG9nbyIgc3JjPSIuLi9pbWFnZXMvcXdmYi5wbmciIHN0eWxlPSIiLz4gDQoJCQk8L2Rpdj4NCgkJCTxpbWcgaWQ9InhzU3ViTG9nbyIgc3JjPSIuLi9pbWFnZXMvc3ViLWxvZ28ucG5nIiB3aWR0aD0iMzAlIiBzdHlsZT0iIi8+IA0KCQk8L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQo8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgbmF2YmFyLXN0YXRpYy10b3AiIHJvbGU9Im5hdmlnYXRpb24iIHN0eWxlPSJiYWNrZ3JvdW5kOiMxMTU4ODM7Ym9yZGVyOjA7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmciPiAgDQoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQo8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIiA+DQogICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUgY29sbGFwc2VkIiBzdHlsZT0ibWFyZ2luOjA7bWFyZ2luLXRvcDotMnB4O3BhZGRpbmc6NXB4OyIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI2JzLWV4YW1wbGUtbmF2YmFyLWNvbGxhcHNlLTEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4NCiAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPg0KICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4NCiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+DQogICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPg0KICAgICAgPC9idXR0b24+DQogICAgICA8YSBzdHlsZT0iZm9udC1zaXplOjE1cHg7IiBjbGFzcz0ibmF2YmFyLWJyYW5kICIgIGhyZWY9Ii9iemdrL2diL2luZGV4IiA+6aaWJm5ic3A76aG1PC9hPg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBDb2xsZWN0IHRoZSBuYXYgbGlua3MsIGZvcm1zLCBhbmQgb3RoZXIgY29udGVudCBmb3IgdG9nZ2xpbmcgLS0+DQogICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBpZD0iYnMtZXhhbXBsZS1uYXZiYXItY29sbGFwc2UtMSI+DQogICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2Ij4NCiAgICAgICAgDQogICAgICAgIDxsaSBjbGFzcz0iIj48YSBocmVmPSIvYnpnay9nYi9zdGRfbGlzdF90eXBlP3AucDE9MSZwLnA5MD1jaXJjdWxhdGlvbl9kYXRlJnAucDkxPWRlc2MiPuW8uuWItuaAp+WbveWutuagh+WHhjwvYT48L2xpPg0KICAgICAgICA8bGkgY2xhc3M9IiI+PGEgaHJlZj0iL2J6Z2svZ2Ivc3RkX2xpc3RfdHlwZT9wLnAxPTImcC5wOTA9Y2lyY3VsYXRpb25fZGF0ZSZwLnA5MT1kZXNjIj7mjqjojZDmgKflm73lrrbmoIflh4Y8L2E+PC9saT4NCiAgICAgICAgDQogICAgICA8L3VsPg0KICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPg0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCQ0KICAgICAgCTxsaSBjbGFzcz0iIj48YSBocmVmPSIvYnpnay9nYi9oZWxwIj7luK7liqk8L2E+PC9saT4NCiAgICAgIAk8bGkgY2xhc3M9IiI+PGEgaHJlZj0iL2J6Z2svZ2IvY29udGFjdCI+6IGU57O75oiR5LusPC9hPjwvbGk+DQogICAgICAJDQogICAgICA8L3VsPg0KICAgICAgPCEtLSA8Zm9ybSBjbGFzcz0ibmF2YmFyLWZvcm0gbmF2YmFyLXJpZ2h0IiByb2xlPSJzZWFyY2giIG9uc3VibWl0PSJyZXR1cm4gZmFsc2U7Ij4NCiAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNtIiBzdHlsZT0id2lkdGg6MzAwcHg7bWFyZ2luOjAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luLXRvcDo0cHg7Ij4NCgkJCQkJCQkJCTxpbnB1dCBwbGFjZWhvbGRlcj0i6K+36L6T5YWl5YWz6ZSu5a2XIiBvbmtleWRvd249ImlmKGV2ZW50LmtleUNvZGU9PTEzKSBzZWFyY2goJycsJCh0aGlzKS52YWwoKSk7IiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBhcmlhLWxhYmVsPSIuLi4iPg0KCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWJ0biI+DQoJCQkJCQkJCQkJPGJ1dHRvbiBpZD0ic2VhcmNoQnRuIiBjbGFzcz0iYnRuIGJ0bi13YXJuaW5nIiB0eXBlPSJidXR0b24iID4NCgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIj48L3NwYW4+DQoJCQkJCQkJCQkJPC9idXR0b24+DQoJCQkJCQkJCQk8L3NwYW4+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgPC9mb3JtPiAtLT4NCiAgICA8L2Rpdj48IS0tIC8ubmF2YmFyLWNvbGxhcHNlIC0tPg0KICA8L2Rpdj48IS0tIC8uY29udGFpbmVyLWZsdWlkIC0tPg0KCTwvbmF2Pg0KCTxkaXYgY2xhc3M9InJlcGJnMSIgc3R5bGU9Im1pbi1oZWlnaHQ6aW5pdGlhbDsiPg0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJPGRpdiBjbGFzcz0icm93Ij4NCgkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIj4NCgkJPGRpdiBjbGFzcz0iYm9yMiI+DQoJCQ0KCQk8dGFibGUgd2lkdGg9IjEwMCUiIGNsYXNzPSJtazEiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiDQoJCQljZWxscGFkZGluZz0iMCI+DQoJCQk8dHI+DQoJCQkJPHRkIHdpZHRoPSI1NjAiIGFsaWduPSJsZWZ0Ij48aDE+5qCH5YeG5Y+377yaR0IvVCAyMDIyMy0yMDA2IDwvaDE+PC90ZD4NCgkJCTwvdHI+DQoJCTwvdGFibGU+DQoJCTx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9InRkbGlzdCIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICAJCQk8dHI+DQogICAgCQkJPHRkPuS4reaWh+agh+WHhuWQjeensO+8mjxiPuajieefree7kjwvYj48L3RkPg0KICAgIAkJCQ0KICAJCQk8L3RyPg0KIAkJCTx0cj4NCiAgICAJCQk8dGQ+6Iux5paH5qCH5YeG5ZCN56ew77yaQ290dG9uIGxpbnRlcjwvdGQ+DQogICAgCQk8L3RyPg0KICAgIAkJPHRyPg0KCQkJCTx0ZCBhbGlnbj0ibGVmdCI+5qCH5YeG54q25oCB77yaPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7IiBjbGFzcz0idGV4dC1kYW5nZXIiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDEwcHg7Ij7lup/mraI8L3NwYW4+PC90ZD4NCgkJCTwvdHI+DQogICAgCQk8dHI+DQogICAgCQkJPHRkIHN0eWxlPSJwYWRkaW5nLXRvcDoyMHB4OyI+DQoJCQkJCSANCgkJCQkJICANCgkJCQkJICA8YnV0dG9uIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MjBweCIgZGF0YS12YWx1ZT0iMDgzQjQ4RkE3MkRCRDNCOUJERTc0NTA3QkMzMTczNkEiIGNsYXNzPSJidG4gZmtfYnRuIGJ0bi1zbSBidG4tc3VjY2VzcyI+5a6e5pa95L+h5oGv5Y+N6aaIPC9idXR0b24+DQoJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciIgPg0KCQkJCQkgDQoJCQkJCSAJDQoJCQkJCSAJIAnlup/mraLmoIflh4bkuI3mj5DkvpvmoIflh4bmlofmnKzpmIXor7vmnI3liqENCgkJCQkJIAkgIA0KCQkJCQkgCQ0KCQkJCQkgDQoJCQkJCTwvc3Bhbj4NCiAgICAJCQk8L3RkPg0KICAgIAkJPC90cj4NCiAgICAgIDwvdGFibGU+DQoJCQ0KCQk8ZGl2IGNsYXNzPSJsaW5lIj48L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93IGRldGFpbCI+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Lit5Zu95qCH5YeG5YiG57G75Y+377yIQ0NT77yJDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCUIzMg0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Zu96ZmF5qCH5YeG5YiG57G75Y+377yISUNT77yJDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCTU5LjA2MC4xMA0KCQkJPC9kaXY+DQoJCQk8ZGl2IHN0eWxlPSJjbGVhcjpib3RoIj48L2Rpdj4NCgkJPC9kaXY+DQoJCTxkaXYgY2xzc3M9InJvdyI+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Y+R5biD5pel5pyfDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCTIwMDYtMDMtMTANCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWunuaWveaXpeacnw0KCQkJPC9kaXY+DQoJCQkgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC00IGNvbnRlbnQiPg0KCQkJMjAwNi0wOS0wMQ0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGNsc3NzPSJyb3ciPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeS4u+euoemDqOmXqA0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQnlm73lrrbotKjph4/nm5HnnaPmo4Dpqozmo4DnlqvmgLvlsYANCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeW9kuWPo+WNleS9jQ0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQnkuK3lm73nuqTnu7Tmo4DpqozlsYANCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93Ij4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlj5HluIPljZXkvY0NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0xMCBjb250ZW50Ij4NCgkJCeS4reWNjuS6uuawkeWFseWSjOWbveWbveWutui0qOmHj+ebkeedo+ajgOmqjOajgOeWq+aAu+WxgOOAgeS4reWbveWbveWutuagh+WHhuWMlueuoeeQhuWnlOWRmOS8mg0KCQkJPC9kaXY+DQoJCQk8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyI+PC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGNsc3NzPSJyb3ciPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWkh+azqA0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTEwIGNvbnRlbnQiPg0KCQkJMjAwNi0wOS0wMeWunuaWvQ0KCQkJPC9kaXY+DQoJCQkNCgkJPC9kaXY+DQoJCTxkaXYgc3R5bGU9ImNsZWFyOmJvdGg7Ij48L2Rpdj4NCgkJDQoJCQ0KCTwvZGl2Pg0KCTwvZGl2Pg0KCTwvZGl2Pg0KCTwvZGl2Pg0KCTwvZGl2Pg0KCQ0KPGRpdiBjbGFzcz0iZm9vdCI+DQoJ54mI5p2D5omA5pyJ77ya5Lit5Zu95Zu95a625qCH5YeG5YyW566h55CG5aeU5ZGY5LyaIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPuS6rElDUOWkhzA5MDAxMjM55Y+3PGJyLz4g572R56uZ5oqA5pyv5pSv5oyB77ya5Zu95a625biC5Zy655uR552j566h55CG5oC75bGA5Zu95a625qCH5YeG5oqA5pyv5a6h6K+E5Lit5b+DIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KCeaUr+aMgeeUteivne+8mjAxMC04MjI2MTA1NjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KPC9kaXY+DQo8c2NyaXB0Pg0KdmFyICBfaG10ICA9ICBfaG10ICB8fCAgW107DQooZnVuY3Rpb24oKSAgew0KICAgIHZhciAgaG0gID0gIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgIGhtLnNyYyAgPSAgImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzPzUwNzU4OTEzZTZmMGRmYzlkZWFjYmZlYmNlMzYzN2U0IjsNCiAgICB2YXIgIHMgID0gIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgIA0KICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaG0sICBzKTsNCn0pKCk7DQo8L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD4=
73
69
  http_version:
74
- recorded_at: Thu, 25 Mar 2021 18:10:33 GMT
70
+ recorded_at: Wed, 25 Nov 2020 23:46:49 GMT
75
71
  recorded_with: VCR 5.1.0