relaton 1.10.2 → 1.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/lib/relaton/registry.rb +2 -2
  3. data/lib/relaton/version.rb +1 -1
  4. data/relaton.gemspec +1 -0
  5. data/spec/relaton/registry_spec.rb +4 -0
  6. data/spec/relaton_spec.rb +7 -0
  7. data/spec/vcr_cassetes/3gpp_tr_00_01u_umts_3_0_0.yml +30 -10
  8. data/spec/vcr_cassetes/async_fetch.yml +1218 -1218
  9. data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +13 -11
  10. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +18 -18
  11. data/spec/vcr_cassetes/cen_en_10160_1999.yml +30 -30
  12. data/spec/vcr_cassetes/cie_001_1980.yml +10 -9
  13. data/spec/vcr_cassetes/ecma_6.yml +7 -7
  14. data/spec/vcr_cassetes/fisp_140.yml +6 -6
  15. data/spec/vcr_cassetes/gb_t_20223_2006.yml +7 -7
  16. data/spec/vcr_cassetes/iana_service_names_port_numbers.yml +11 -10
  17. data/spec/vcr_cassetes/iec_60050_102_2007.yml +27 -27
  18. data/spec/vcr_cassetes/iec_combined_included.yml +100 -98
  19. data/spec/vcr_cassetes/ieee_528_2019.yml +1093 -1205
  20. data/spec/vcr_cassetes/iho_b_11.yml +7 -7
  21. data/spec/vcr_cassetes/iso_111111119115_1.yml +2 -2
  22. data/spec/vcr_cassetes/iso_19115_1.yml +15 -15
  23. data/spec/vcr_cassetes/iso_19115_1_2.yml +27 -27
  24. data/spec/vcr_cassetes/iso_19115_all_parts.yml +15 -15
  25. data/spec/vcr_cassetes/iso_19133_2005.yml +16 -16
  26. data/spec/vcr_cassetes/iso_combined_applied.yml +30 -30
  27. data/spec/vcr_cassetes/iso_combined_included.yml +28 -28
  28. data/spec/vcr_cassetes/iso_dis_14093.yml +14 -14
  29. data/spec/vcr_cassetes/itu_combined_included.yml +194 -194
  30. data/spec/vcr_cassetes/oasis_amqp_core_types_v1_0_pt1.yml +85 -0
  31. data/spec/vcr_cassetes/ogc_19_025r1.yml +10 -10
  32. data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +4 -4
  33. data/spec/vcr_cassetes/rfc_8341.yml +7 -7
  34. data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
  35. data/spec/vcr_cassetes/threads_from_env.yml +56 -56
  36. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +31 -29
  37. data/spec/vcr_cassetes/w3c_json_ld11.yml +11 -10
  38. metadata +17 -2
@@ -21,7 +21,7 @@ http_interactions:
21
21
  Server:
22
22
  - nginx/1.20.2
23
23
  Date:
24
- - Tue, 08 Feb 2022 16:58:10 GMT
24
+ - Fri, 18 Mar 2022 13:31:51 GMT
25
25
  Content-Type:
26
26
  - text/html;charset=UTF-8
27
27
  Transfer-Encoding:
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Connection:
30
30
  - keep-alive
31
31
  Set-Cookie:
32
- - JSESSIONID=BFA29A8786D3F0906E165402BDF0D429; Path=/bzgk; HttpOnly
32
+ - JSESSIONID=E7DE78B7399771FD2F3F4CD8280251C1; Path=/bzgk; HttpOnly
33
33
  Content-Language:
34
34
  - zh-CN
35
35
  body:
@@ -37,7 +37,7 @@ http_interactions:
37
37
  string: !binary |-
38
38
  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+8mjwvc3Bhbj4NCgkJCQkJCQk8L3RkPg0KCQkJCQkJCTx0ZD4NCgkJCQkJCQkJPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIiBpZD0ic3RhdGUiPg0KCQkJCQkJCQkJDQoJCQkJCQkJCQk8bGkgcm9sZT0icHJlc2VudGF0aW9uIj48YSBjbGFzcz0iYnRuIG11bHRpU2VsZWN0QnRuIiBocmVmPSIjIiBpZD0iUkVQTEFDRUQiPjxzcGFuPuiiq+S7o+abvygxKTwvYT48L3NwYW4+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/vvIzor7flkqjor6Lnm7jlhbPpg6jlp5TjgII8L2xpPg0KCQkJCQkJCQk8L3VsPg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJPC9kaXY+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+WFqOmDqCcgPyAiIiA6ICQodGhpcykuYXR0cignaWQnKSk7DQoJCQkJCQlqdW1wUGFnZSgpOw0KCQkJCQl9KTsNCgkJCSQoIiNzZWxlY3RlZCBidXR0b24iKS5vbiggDQoJCQkJCSJjbGljayIsDQoJCQkJCWZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlpZiAoJCh0aGlzKS5hdHRyKCJpZCIpLmluZGV4T2YoJ3AyXycpICE9IC0xKSB7DQoJCQkJCQkJdmFyIGluZGV4ID0gJC50cmltKCQodGhpcykuYXR0cigiaW5kZXgiKSk7DQoJCQkJCQkJdmFyIG5ld1AycyA9IHAyLnNwbGl0KCcrJyk7DQoJCQkJCQkJbmV3UDJzID0gbmV3UDJzLnVuaXF1ZSgpOw0KCQkJCQkJCW5ld1Aycy5zcGxpY2UoaW5kZXgsIDEpOw0KCQkJCQkJCXZhciB0ZW1wID0gJyc7DQoJCQkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdQMnMubGVuZ3RoOyBpKyspIHsNCgkJCQkJCQkJaWYgKGkgPCBuZXdQMnMubGVuZ3RoIC0gMSkNCgkJCQkJCQkJCXRlbXAgPSB0ZW1wICsgbmV3UDJzW2ldICsgJysnOw0KCQkJCQkJCQllbHNlDQoJCQkJCQkJCQl0ZW1wID0gdGVtcCArIG5ld1Ayc1tpXTsNCgkJCQkJCQl9DQoJCQkJCQkJcDIgPSB0ZW1wOw0KCQkJCQkJCWp1bXBQYWdlKCk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXZhciBjb2RlID0gJC50cmltKCQodGhpcykuYXR0cigiaWQiKSk7DQoJCQkJCQkJdmFyIHVybCA9IGxvY2F0aW9uLmhyZWY7DQoJCQkJCQkJdXJsID0gdXJsLnJlcGxhY2UoY29kZSwgJycpOw0KCQkJCQkJCXdpbmRvdy5vcGVuKHVybCwgJ19zZWxmJyk7DQoJCQkJCQl9DQoNCgkJCQkJfSk7DQoJCQkvL+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+DQoJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJIA0KCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0idGV4dC1pbmZvIiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Ij7ooqvku6Pmm788L3NwYW4+DQoJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCTwvdGQ+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+DQo8dGFibGUgc3R5bGU9Im1hcmdpbjogMCBhdXRvOyI+DQo8dHI+DQo8dGQ+DQoJ54mI5p2D5omA5pyJ77ya5Zu95a625qCH5YeG5YyW566h55CG5aeU5ZGY5LyaIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPuS6rElDUOWkhzA5MDAxMjM55Y+3PGJyLz4g572R56uZ5oqA5pyv5pSv5oyB77ya5Zu95a625biC5Zy655uR552j566h55CG5oC75bGA5Zu95a625qCH5YeG5oqA5pyv5a6h6K+E5Lit5b+DIDxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KCeaUr+aMgeeUteivne+8mjAxMC04MjI2MTA1NjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPjxiciBjbGFzcz0iaGlkZGVuLWxnIGhpZGRlbi1tZCIvPg0KPC90ZD4NCjx0ZD4NCjxhIHN0eWxlPSJtYXJnaW4tbGVmdDoxNXB4OyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9ImphdmFzY3JpcHQ6cmV0dXJuIHZvaWQoMCk7IiBvbmNsaWNrPSJMaW5rKCdibTMxMzcwMDAxJykiPjxpbWcgc3JjPSIvYnpnay8vaW1hZ2VzL2ppdWN1by5wbmciIHN0eWxlPSJ3aWR0aDogMTIwcHg7Ii8+PC9hPg0KPGEgc3R5bGU9Im1hcmdpbi1sZWZ0OjE1cHg7IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9ic3pzLmNvbmFjLmNuL3NpdGVuYW1lP21ldGhvZD1zaG93JmlkPUExQjg2MDA2QUE3MzZDRDJFMDUzMTAyOTFBQUM0Q0M3Ij48aW1nIHNyYz0iL2J6Z2svL2ltYWdlcy9kempnLnBuZyIgLz48L2E+DQo8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L2Rpdj4NCjxzY3JpcHQ+DQp2YXIgIF9obXQgID0gIF9obXQgIHx8ICBbXTsNCg0KZnVuY3Rpb24gb3Blbl9uZXdfd2luZG93KGZ1bGxfbGluayl7DQoJd2luZG93Lm9wZW4oJ2phdmFzY3JpcHQ6d2luZG93Lm5hbWU7JywgJzxzY3JpcHQ+bG9jYXRpb24ucmVwbGFjZSgiJytmdWxsX2xpbmsrJyIpPFwvc2NyaXB0PicpOw0KfQ0KDQooZnVuY3Rpb24oKSAgew0KICAgIHZhciAgaG0gID0gIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgIGhtLnNyYyAgPSAgImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzPzUwNzU4OTEzZTZmMGRmYzlkZWFjYmZlYmNlMzYzN2U0IjsNCiAgICB2YXIgIHMgID0gIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgIA0KICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaG0sICBzKTsNCiAgICANCiAgICANCiAgICAkKCcub3V0ZXItbGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgCW9wZW5fbmV3X3dpbmRvdygkKHRoaXMpLmF0dHIoJ2hyZWYnKSk7DQogICAgCXJldHVybiBmYWxzZTsNCiAgICB9KTsNCn0pKCk7DQoNCi8v54K55Ye75Zu+5qCHDQogICAgICAgIGZ1bmN0aW9uIExpbmsoc2l0ZV9jb2RlKSB7DQogICAgICAgICAgICAvL+iOt+WPluivpeermeeCuemcgOimgee6oOmUmemhtemdoueahHVybOWcsOWdgA0KICAgICAgICAgICAgdmFyIHVybCA9IGdldEN1cnJVcmwoKTsNCiAgICAgICAgICAgIC8v6Lez6L2s6Iez57qg6ZSZ57O757uf5aGr5YaZ6aG16Z2iIA0KICAgICAgICAgICAgd2luZG93Lm9wZW4oImh0dHBzOi8vemZ3emdsLnd3dy5nb3YuY24vZXhwb3N1cmUvaml1Y3VvLmh0bWw/c2l0ZV9jb2RlPSIgKyBzaXRlX2NvZGUgKyAiJnVybD0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCkpOw0KICAgICAgICB9DQogICAgICAgIC8v6I635Y+W6K+l56uZ54K56ZyA6KaB57qg6ZSZ6aG16Z2i55qEdXJs5Zyw5Z2ADQogICAgICAgIGZ1bmN0aW9uIGdldEN1cnJVcmwoKSB7DQogICAgICAgICAgICB2YXIgdXJsID0gIiI7DQogICAgICAgICAgICBpZiAocGFyZW50ICE9PSB3aW5kb3cpIHsNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICB1cmwgPSB3aW5kb3cudG9wLmxvY2F0aW9uLmhyZWY7DQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgICAgICB1cmwgPSB3aW5kb3cudG9wLmRvY3VtZW50LnJlZmVycmVyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICh1cmwubGVuZ3RoID09IDApDQogICAgICAgICAgICAgICAgdXJsID0gZG9jdW1lbnQubG9jYXRpb24uaHJlZjsNCiAgICAgICAgICAgIHJldHVybiB1cmw7DQogICAgICAgIH0NCjwvc2NyaXB0PiANCgk8IS0tW2lmIGx0IElFIDldPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2pzL3Jlc3BvbmQubWluLmpzIj48L3NjcmlwdD4NCgk8IVtlbmRpZl0tLT4NCgk8IS0tW2lmIGx0IElFIDEwXT4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvYnpnay9qcy9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuanMiPjwvc2NyaXB0Pg0KCTwhW2VuZGlmXS0tPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9iemdrL2xheXBhZ2UvbGF5cGFnZS5qcyI+PC9zY3JpcHQ+DQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0nL2J6Z2svanMvYm9vdHN0cmFwLmpzJz48L3NjcmlwdD4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPScvYnpnay9qcy9jb21tb24uanMnPjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==
39
39
  http_version:
40
- recorded_at: Tue, 08 Feb 2022 16:58:12 GMT
40
+ recorded_at: Fri, 18 Mar 2022 13:32:03 GMT
41
41
  - request:
42
42
  method: get
43
43
  uri: http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=083B48FA72DBD3B9BDE74507BC31736A
@@ -59,7 +59,7 @@ http_interactions:
59
59
  Server:
60
60
  - nginx/1.20.2
61
61
  Date:
62
- - Tue, 08 Feb 2022 16:58:11 GMT
62
+ - Fri, 18 Mar 2022 13:31:53 GMT
63
63
  Content-Type:
64
64
  - text/html;charset=utf-8
65
65
  Transfer-Encoding:
@@ -67,13 +67,13 @@ http_interactions:
67
67
  Connection:
68
68
  - keep-alive
69
69
  Set-Cookie:
70
- - JSESSIONID=BE3E331931272831EAF1E4E35E729E01; Path=/bzgk; HttpOnly
70
+ - JSESSIONID=708E0246F31D24BBE07527F9AB480ACF; Path=/bzgk; HttpOnly
71
71
  Content-Language:
72
72
  - zh-CN
73
73
  body:
74
74
  encoding: ASCII-8BIT
75
75
  string: !binary |-
76
- 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+5qCH5YeG54q25oCB77yaPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7IiBjbGFzcz0idGV4dC1kYW5nZXIiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDEwcHg7Ij7ooqvku6Pmm788L3NwYW4+PC90ZD4NCgkJCTwvdHI+DQogICAgCQk8dHI+DQogICAgCQkJPHRkIHN0eWxlPSJwYWRkaW5nLXRvcDoyMHB4OyI+DQoJCQkJCSANCgkJCQkJICANCgkJCQkJICA8YnV0dG9uIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MjBweCIgZGF0YS12YWx1ZT0iMDgzQjQ4RkE3MkRCRDNCOUJERTc0NTA3QkMzMTczNkEiIGNsYXNzPSJidG4gZmtfYnRuIGJ0bi1zbSBidG4tc3VjY2VzcyI+5a6e5pa95L+h5oGv5Y+N6aaIPC9idXR0b24+DQoJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciIgPg0KCQkJCQkgDQoJCQkJCSAJDQoJCQkJCSAJIAnooqvku6Pmm7/lj4rlup/mraLmoIflh4bkuI3mj5DkvpvmoIflh4bmlofmnKzpmIXor7vmnI3liqEgDQoJCQkJCSAJICANCgkJCQkJIAkNCgkJCQkJIA0KCQkJCQk8L3NwYW4+DQogICAgCQkJPC90ZD4NCiAgICAJCTwvdHI+DQogICAgICA8L3RhYmxlPg0KCQkNCgkJPGRpdiBjbGFzcz0ibGluZSI+PC9kaXY+DQoJCTxkaXYgY2xzc3M9InJvdyBkZXRhaWwiPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeS4reWbveagh+WHhuWIhuexu+WPt++8iENDU++8iQ0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQlCMzINCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWbvemZheagh+WHhuWIhuexu+WPt++8iElDU++8iQ0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQk1OS4wNjAuMTANCgkJCTwvZGl2Pg0KCQkJPGRpdiBzdHlsZT0iY2xlYXI6Ym90aCI+PC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGNsc3NzPSJyb3ciPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWPkeW4g+aXpeacnw0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQkyMDA2LTAzLTEwDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlrp7mlr3ml6XmnJ8NCgkJCTwvZGl2Pg0KCQkJIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCTIwMDYtMDktMDENCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93Ij4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnkuLvnrqHpg6jpl6gNCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC00IGNvbnRlbnQiPg0KCQkJ5Zu95a626LSo6YeP55uR552j5qOA6aqM5qOA55ar5oC75bGADQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlvZLlj6PljZXkvY0NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC00IGNvbnRlbnQiPg0KCQkJ5Lit5Zu957qk57u05qOA6aqM5bGADQoJCQk8L2Rpdj4NCgkJPC9kaXY+DQoJCTxkaXYgY2xzc3M9InJvdyI+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Y+R5biD5Y2V5L2NDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMTAgY29udGVudCI+DQoJCQnkuK3ljY7kurrmsJHlhbHlkozlm73lm73lrrbotKjph4/nm5HnnaPmo4Dpqozmo4DnlqvmgLvlsYDjgIHkuK3lm73lm73lrrbmoIflh4bljJbnrqHnkIblp5TlkZjkvJoNCgkJCTwvZGl2Pg0KCQkJPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDsiPjwvZGl2Pg0KCQk8L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93Ij4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlpIfms6gNCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0xMCBjb250ZW50Ij4NCgkJCTIwMDYtMDktMDHlrp7mlr0NCgkJCTwvZGl2Pg0KCQkJDQoJCTwvZGl2Pg0KCQk8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyI+PC9kaXY+DQoJCQ0KCQkNCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJtb2RhbCBicy1leGFtcGxlLW1vZGFsLXNtIiBpZD0ibXlNb2RhbCIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIj4NCgkJPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIiByb2xlPSJkb2N1bWVudCI+DQoJCQk8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4NCgkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+PC9idXR0b24+DQoJCQkJCTxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPuWcqOe6v+mihOiniOaPkOekujwvaDQ+DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+IA0KCQkJCQnlvZPliY3mtY/op4jlmajmmoLkuI3mlK/mjIHmoIflh4blhajmloflnKjnur/pooTop4jmnI3liqHvvIzor7fkvb/nlKjnjrDku6PmtY/op4jlmajvvIhDaHJvbWXjgIFGaXJlZm9444CBT3BlcmHjgIFNaWNyb3NvZnQgRWRnZeOAgTM2MOWuieWFqOa1j+iniOWZqOOAgeaQnOeLl+a1j+iniOWZqOOAgeeMjuixuea1j+iniOWZqOOAgeWCsua4uOa1j+iniOWZqOetie+8iemHjeaWsOaJk+W8gOW9k+WJjemhtemdoue7p+e7rei/m+ihjOagh+WHhuWFqOaWh+mihOiniOOAgg0KCQkJCTwvZGl2Pg0KCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQoJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBkYXRhLWRpc21pc3M9Im1vZGFsIj7nn6XpgZPkuoY8L2J1dHRvbj4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgk8L2Rpdj4NCgkNCjxkaXYgY2xhc3M9ImZvb3QiPg0KPHRhYmxlIHN0eWxlPSJtYXJnaW46IDAgYXV0bzsiPg0KPHRyPg0KPHRkPg0KCeeJiOadg+aJgOacie+8muWbveWutuagh+WHhuWMlueuoeeQhuWnlOWRmOS8miA8YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz7kuqxJQ1DlpIcwOTAwMTIzOeWPtzxici8+IOe9keermeaKgOacr+aUr+aMge+8muWbveWutuW4guWcuuebkeedo+euoeeQhuaAu+WxgOWbveWutuagh+WHhuaKgOacr+WuoeivhOS4reW/gyA8YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz4NCgnmlK/mjIHnlLXor53vvJowMTAtODIyNjEwNTY8YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz48YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz4NCjwvdGQ+DQo8dGQ+DQo8YSBzdHlsZT0ibWFyZ2luLWxlZnQ6MTVweDsiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJqYXZhc2NyaXB0OnJldHVybiB2b2lkKDApOyIgb25jbGljaz0iTGluaygnYm0zMTM3MDAwMScpIj48aW1nIHNyYz0iL2J6Z2svL2ltYWdlcy9qaXVjdW8ucG5nIiBzdHlsZT0id2lkdGg6IDEyMHB4OyIvPjwvYT4NCjxhIHN0eWxlPSJtYXJnaW4tbGVmdDoxNXB4OyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vYnN6cy5jb25hYy5jbi9zaXRlbmFtZT9tZXRob2Q9c2hvdyZpZD1BMUI4NjAwNkFBNzM2Q0QyRTA1MzEwMjkxQUFDNENDNyI+PGltZyBzcmM9Ii9iemdrLy9pbWFnZXMvZHpqZy5wbmciIC8+PC9hPg0KPC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPC9kaXY+DQo8c2NyaXB0Pg0KdmFyICBfaG10ICA9ICBfaG10ICB8fCAgW107DQoNCmZ1bmN0aW9uIG9wZW5fbmV3X3dpbmRvdyhmdWxsX2xpbmspew0KCXdpbmRvdy5vcGVuKCdqYXZhc2NyaXB0OndpbmRvdy5uYW1lOycsICc8c2NyaXB0PmxvY2F0aW9uLnJlcGxhY2UoIicrZnVsbF9saW5rKyciKTxcL3NjcmlwdD4nKTsNCn0NCg0KKGZ1bmN0aW9uKCkgIHsNCiAgICB2YXIgIGhtICA9ICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsNCiAgICBobS5zcmMgID0gICJodHRwczovL2htLmJhaWR1LmNvbS9obS5qcz81MDc1ODkxM2U2ZjBkZmM5ZGVhY2JmZWJjZTM2MzdlNCI7DQogICAgdmFyICBzICA9ICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07ICANCiAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGhtLCAgcyk7DQogICAgDQogICAgDQogICAgJCgnLm91dGVyLWxpbmsnKS5jbGljayhmdW5jdGlvbigpew0KICAgIAlvcGVuX25ld193aW5kb3coJCh0aGlzKS5hdHRyKCdocmVmJykpOw0KICAgIAlyZXR1cm4gZmFsc2U7DQogICAgfSk7DQp9KSgpOw0KDQovL+eCueWHu+Wbvuaghw0KICAgICAgICBmdW5jdGlvbiBMaW5rKHNpdGVfY29kZSkgew0KICAgICAgICAgICAgLy/ojrflj5bor6Xnq5nngrnpnIDopoHnuqDplJnpobXpnaLnmoR1cmzlnLDlnYANCiAgICAgICAgICAgIHZhciB1cmwgPSBnZXRDdXJyVXJsKCk7DQogICAgICAgICAgICAvL+i3s+i9rOiHs+e6oOmUmeezu+e7n+Whq+WGmemhtemdoiANCiAgICAgICAgICAgIHdpbmRvdy5vcGVuKCJodHRwczovL3pmd3pnbC53d3cuZ292LmNuL2V4cG9zdXJlL2ppdWN1by5odG1sP3NpdGVfY29kZT0iICsgc2l0ZV9jb2RlICsgIiZ1cmw9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpKTsNCiAgICAgICAgfQ0KICAgICAgICAvL+iOt+WPluivpeermeeCuemcgOimgee6oOmUmemhtemdoueahHVybOWcsOWdgA0KICAgICAgICBmdW5jdGlvbiBnZXRDdXJyVXJsKCkgew0KICAgICAgICAgICAgdmFyIHVybCA9ICIiOw0KICAgICAgICAgICAgaWYgKHBhcmVudCAhPT0gd2luZG93KSB7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgdXJsID0gd2luZG93LnRvcC5sb2NhdGlvbi5ocmVmOw0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdXJsID0gd2luZG93LnRvcC5kb2N1bWVudC5yZWZlcnJlcjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodXJsLmxlbmd0aCA9PSAwKQ0KICAgICAgICAgICAgICAgIHVybCA9IGRvY3VtZW50LmxvY2F0aW9uLmhyZWY7DQogICAgICAgICAgICByZXR1cm4gdXJsOw0KICAgICAgICB9DQo8L3NjcmlwdD4gDQo8L2JvZHk+DQo8L2h0bWw+
76
+ 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+5qCH5YeG54q25oCB77yaPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7IiBjbGFzcz0idGV4dC1kYW5nZXIiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDEwcHg7Ij7ooqvku6Pmm788L3NwYW4+PC90ZD4NCgkJCTwvdHI+DQogICAgCQk8dHI+DQogICAgCQkJPHRkIHN0eWxlPSJwYWRkaW5nLXRvcDoyMHB4OyI+DQoJCQkJCSANCgkJCQkJICANCgkJCQkJICA8YnV0dG9uIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MjBweCIgZGF0YS12YWx1ZT0iMDgzQjQ4RkE3MkRCRDNCOUJERTc0NTA3QkMzMTczNkEiIGNsYXNzPSJidG4gZmtfYnRuIGJ0bi1zbSBidG4tc3VjY2VzcyI+5a6e5pa95L+h5oGv5Y+N6aaIPC9idXR0b24+DQoJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciIgPg0KCQkJCQkgDQoJCQkJCSAJDQoJCQkJCSAJIAnooqvku6Pmm7/lj4rlup/mraLmoIflh4bkuI3mj5DkvpvmoIflh4bmlofmnKzpmIXor7vmnI3liqEgDQoJCQkJCSAJICANCgkJCQkJIAkNCgkJCQkJIA0KCQkJCQk8L3NwYW4+DQogICAgCQkJPC90ZD4NCiAgICAJCTwvdHI+DQogICAgICA8L3RhYmxlPg0KCQkNCgkJPGRpdiBjbGFzcz0ibGluZSI+PC9kaXY+DQoJCTxkaXYgY2xzc3M9InJvdyBkZXRhaWwiPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeS4reWbveagh+WHhuWIhuexu+WPt++8iENDU++8iQ0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQlCMzINCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWbvemZheagh+WHhuWIhuexu+WPt++8iElDU++8iQ0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQk1OS4wNjAuMTANCgkJCTwvZGl2Pg0KCQkJPGRpdiBzdHlsZT0iY2xlYXI6Ym90aCI+PC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGNsc3NzPSJyb3ciPg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0yIHRpdGxlIj4NCgkJCeWPkeW4g+aXpeacnw0KCQkJPC9kaXY+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTQgY29udGVudCI+DQoJCQkyMDA2LTAzLTEwDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlrp7mlr3ml6XmnJ8NCgkJCTwvZGl2Pg0KCQkJIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtNCBjb250ZW50Ij4NCgkJCTIwMDYtMDktMDENCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93Ij4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnkuLvnrqHpg6jpl6gNCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC00IGNvbnRlbnQiPg0KCQkJ5Zu95a625biC5Zy655uR552j566h55CG5oC75bGADQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlvZLlj6PljZXkvY0NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC00IGNvbnRlbnQiPg0KCQkJ5Lit5Zu957qk57u05qOA6aqM5bGADQoJCQk8L2Rpdj4NCgkJPC9kaXY+DQoJCTxkaXYgY2xzc3M9InJvdyI+DQoJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLW1kLTIgdGl0bGUiPg0KCQkJ5Y+R5biD5Y2V5L2NDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMTAgY29udGVudCI+DQoJCQnkuK3ljY7kurrmsJHlhbHlkozlm73lm73lrrbotKjph4/nm5HnnaPmo4Dpqozmo4DnlqvmgLvlsYDjgIHkuK3lm73lm73lrrbmoIflh4bljJbnrqHnkIblp5TlkZjkvJoNCgkJCTwvZGl2Pg0KCQkJPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDsiPjwvZGl2Pg0KCQk8L2Rpdj4NCgkJPGRpdiBjbHNzcz0icm93Ij4NCgkJCTxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtbWQtMiB0aXRsZSI+DQoJCQnlpIfms6gNCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1tZC0xMCBjb250ZW50Ij4NCgkJCTIwMDYtMDktMDHlrp7mlr0NCgkJCTwvZGl2Pg0KCQkJDQoJCTwvZGl2Pg0KCQk8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyI+PC9kaXY+DQoJCQ0KCQkNCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJtb2RhbCBicy1leGFtcGxlLW1vZGFsLXNtIiBpZD0ibXlNb2RhbCIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIj4NCgkJPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIiByb2xlPSJkb2N1bWVudCI+DQoJCQk8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4NCgkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+PC9idXR0b24+DQoJCQkJCTxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPuWcqOe6v+mihOiniOaPkOekujwvaDQ+DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+IA0KCQkJCQnlvZPliY3mtY/op4jlmajmmoLkuI3mlK/mjIHmoIflh4blhajmloflnKjnur/pooTop4jmnI3liqHvvIzor7fkvb/nlKjnjrDku6PmtY/op4jlmajvvIhDaHJvbWXjgIFGaXJlZm9444CBT3BlcmHjgIFNaWNyb3NvZnQgRWRnZeOAgTM2MOWuieWFqOa1j+iniOWZqOOAgeaQnOeLl+a1j+iniOWZqOOAgeeMjuixuea1j+iniOWZqOOAgeWCsua4uOa1j+iniOWZqOetie+8iemHjeaWsOaJk+W8gOW9k+WJjemhtemdoue7p+e7rei/m+ihjOagh+WHhuWFqOaWh+mihOiniOOAgg0KCQkJCTwvZGl2Pg0KCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQoJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBkYXRhLWRpc21pc3M9Im1vZGFsIj7nn6XpgZPkuoY8L2J1dHRvbj4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgk8L2Rpdj4NCgkNCjxkaXYgY2xhc3M9ImZvb3QiPg0KPHRhYmxlIHN0eWxlPSJtYXJnaW46IDAgYXV0bzsiPg0KPHRyPg0KPHRkPg0KCeeJiOadg+aJgOacie+8muWbveWutuagh+WHhuWMlueuoeeQhuWnlOWRmOS8miA8YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz7kuqxJQ1DlpIcwOTAwMTIzOeWPtzxici8+IOe9keermeaKgOacr+aUr+aMge+8muWbveWutuW4guWcuuebkeedo+euoeeQhuaAu+WxgOWbveWutuagh+WHhuaKgOacr+WuoeivhOS4reW/gyA8YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz4NCgnmlK/mjIHnlLXor53vvJowMTAtODIyNjEwNTY8YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz48YnIgY2xhc3M9ImhpZGRlbi1sZyBoaWRkZW4tbWQiLz4NCjwvdGQ+DQo8dGQ+DQo8YSBzdHlsZT0ibWFyZ2luLWxlZnQ6MTVweDsiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJqYXZhc2NyaXB0OnJldHVybiB2b2lkKDApOyIgb25jbGljaz0iTGluaygnYm0zMTM3MDAwMScpIj48aW1nIHNyYz0iL2J6Z2svL2ltYWdlcy9qaXVjdW8ucG5nIiBzdHlsZT0id2lkdGg6IDEyMHB4OyIvPjwvYT4NCjxhIHN0eWxlPSJtYXJnaW4tbGVmdDoxNXB4OyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vYnN6cy5jb25hYy5jbi9zaXRlbmFtZT9tZXRob2Q9c2hvdyZpZD1BMUI4NjAwNkFBNzM2Q0QyRTA1MzEwMjkxQUFDNENDNyI+PGltZyBzcmM9Ii9iemdrLy9pbWFnZXMvZHpqZy5wbmciIC8+PC9hPg0KPC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPC9kaXY+DQo8c2NyaXB0Pg0KdmFyICBfaG10ICA9ICBfaG10ICB8fCAgW107DQoNCmZ1bmN0aW9uIG9wZW5fbmV3X3dpbmRvdyhmdWxsX2xpbmspew0KCXdpbmRvdy5vcGVuKCdqYXZhc2NyaXB0OndpbmRvdy5uYW1lOycsICc8c2NyaXB0PmxvY2F0aW9uLnJlcGxhY2UoIicrZnVsbF9saW5rKyciKTxcL3NjcmlwdD4nKTsNCn0NCg0KKGZ1bmN0aW9uKCkgIHsNCiAgICB2YXIgIGhtICA9ICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsNCiAgICBobS5zcmMgID0gICJodHRwczovL2htLmJhaWR1LmNvbS9obS5qcz81MDc1ODkxM2U2ZjBkZmM5ZGVhY2JmZWJjZTM2MzdlNCI7DQogICAgdmFyICBzICA9ICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07ICANCiAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGhtLCAgcyk7DQogICAgDQogICAgDQogICAgJCgnLm91dGVyLWxpbmsnKS5jbGljayhmdW5jdGlvbigpew0KICAgIAlvcGVuX25ld193aW5kb3coJCh0aGlzKS5hdHRyKCdocmVmJykpOw0KICAgIAlyZXR1cm4gZmFsc2U7DQogICAgfSk7DQp9KSgpOw0KDQovL+eCueWHu+Wbvuaghw0KICAgICAgICBmdW5jdGlvbiBMaW5rKHNpdGVfY29kZSkgew0KICAgICAgICAgICAgLy/ojrflj5bor6Xnq5nngrnpnIDopoHnuqDplJnpobXpnaLnmoR1cmzlnLDlnYANCiAgICAgICAgICAgIHZhciB1cmwgPSBnZXRDdXJyVXJsKCk7DQogICAgICAgICAgICAvL+i3s+i9rOiHs+e6oOmUmeezu+e7n+Whq+WGmemhtemdoiANCiAgICAgICAgICAgIHdpbmRvdy5vcGVuKCJodHRwczovL3pmd3pnbC53d3cuZ292LmNuL2V4cG9zdXJlL2ppdWN1by5odG1sP3NpdGVfY29kZT0iICsgc2l0ZV9jb2RlICsgIiZ1cmw9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpKTsNCiAgICAgICAgfQ0KICAgICAgICAvL+iOt+WPluivpeermeeCuemcgOimgee6oOmUmemhtemdoueahHVybOWcsOWdgA0KICAgICAgICBmdW5jdGlvbiBnZXRDdXJyVXJsKCkgew0KICAgICAgICAgICAgdmFyIHVybCA9ICIiOw0KICAgICAgICAgICAgaWYgKHBhcmVudCAhPT0gd2luZG93KSB7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgdXJsID0gd2luZG93LnRvcC5sb2NhdGlvbi5ocmVmOw0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdXJsID0gd2luZG93LnRvcC5kb2N1bWVudC5yZWZlcnJlcjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodXJsLmxlbmd0aCA9PSAwKQ0KICAgICAgICAgICAgICAgIHVybCA9IGRvY3VtZW50LmxvY2F0aW9uLmhyZWY7DQogICAgICAgICAgICByZXR1cm4gdXJsOw0KICAgICAgICB9DQo8L3NjcmlwdD4gDQo8L2JvZHk+DQo8L2h0bWw+
77
77
  http_version:
78
- recorded_at: Tue, 08 Feb 2022 16:58:13 GMT
78
+ recorded_at: Fri, 18 Mar 2022 13:32:05 GMT
79
79
  recorded_with: VCR 5.1.0
@@ -23,7 +23,7 @@ http_interactions:
23
23
  Connection:
24
24
  - keep-alive
25
25
  Content-Length:
26
- - '320'
26
+ - '332'
27
27
  Cache-Control:
28
28
  - max-age=300
29
29
  Content-Security-Policy:
@@ -31,7 +31,7 @@ http_interactions:
31
31
  Content-Type:
32
32
  - text/plain; charset=utf-8
33
33
  Etag:
34
- - W/"4fd962f59ae8133ed8c28f3f5c91fce4cae838c61eb49d4485d2772be73b1340"
34
+ - W/"7462b8b4ce7613621232ac571c33eaa7929e548de510c60f3976046c84f0b3f4"
35
35
  Strict-Transport-Security:
36
36
  - max-age=31536000
37
37
  X-Content-Type-Options:
@@ -41,29 +41,29 @@ http_interactions:
41
41
  X-Xss-Protection:
42
42
  - 1; mode=block
43
43
  X-Github-Request-Id:
44
- - 52C8:EE3B:952F45:9A3B3C:6202A10E
44
+ - 11CE:46E8:503EF7:5441A5:623489B7
45
45
  Accept-Ranges:
46
46
  - bytes
47
47
  Date:
48
- - Tue, 08 Feb 2022 16:57:50 GMT
48
+ - Fri, 18 Mar 2022 13:31:35 GMT
49
49
  Via:
50
50
  - 1.1 varnish
51
51
  X-Served-By:
52
- - cache-sof1510064-SOF
52
+ - cache-vie6325-VIE
53
53
  X-Cache:
54
54
  - MISS
55
55
  X-Cache-Hits:
56
56
  - '0'
57
57
  X-Timer:
58
- - S1644339470.363891,VS0,VE184
58
+ - S1647610295.105049,VS0,VE203
59
59
  Vary:
60
60
  - Authorization,Accept-Encoding,Origin
61
61
  Access-Control-Allow-Origin:
62
62
  - "*"
63
63
  X-Fastly-Request-Id:
64
- - af0d5882ea17a3e0602c115c886871303cea071e
64
+ - 8e6505e8978d7b5da07f5d4e69d413d60e201a66
65
65
  Expires:
66
- - Tue, 08 Feb 2022 17:02:50 GMT
66
+ - Fri, 18 Mar 2022 13:36:35 GMT
67
67
  Source-Age:
68
68
  - '0'
69
69
  body:
@@ -81,6 +81,7 @@ http_interactions:
81
81
  docid:
82
82
  - id: IANA service-names-port-numbers
83
83
  type: IANA
84
+ primary: true
84
85
  docnumber: service-names-port-numbers
85
86
  date:
86
87
  - type: updated
@@ -96,7 +97,7 @@ http_interactions:
96
97
  - en
97
98
  script:
98
99
  - Latn
99
- fetched: '2022-02-08'
100
+ fetched: '2022-03-16'
100
101
  http_version:
101
- recorded_at: Tue, 08 Feb 2022 16:57:50 GMT
102
+ recorded_at: Fri, 18 Mar 2022 13:31:35 GMT
102
103
  recorded_with: VCR 5.1.0
@@ -28,15 +28,15 @@ http_interactions:
28
28
  Server:
29
29
  - Lotus-Domino
30
30
  Date:
31
- - Tue, 08 Feb 2022 16:57:25 GMT
31
+ - Fri, 18 Mar 2022 13:31:30 GMT
32
32
  X-Cache:
33
33
  - Miss from cloudfront
34
34
  Via:
35
- - 1.1 58c21e16c9e093deb494fbb4de260efa.cloudfront.net (CloudFront)
35
+ - 1.1 d84412fe91532b74b0fb5833b7857e00.cloudfront.net (CloudFront)
36
36
  X-Amz-Cf-Pop:
37
- - FRA56-C1
37
+ - BUD50-C1
38
38
  X-Amz-Cf-Id:
39
- - JhJ5DvwMJPCj3KDrUxI1um7Y5EWzPW5IBeHOtqpY91wMp6kR9KEcrQ==
39
+ - Jk1Y47hRl128-N47UvNJrWKM6NJSXrNDCoAQSFdKj39qza_R-nUQIA==
40
40
  body:
41
41
  encoding: ASCII-8BIT
42
42
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -68,7 +68,7 @@ http_interactions:
68
68
  class=\"pagination pagination-centered\">\n\t\t\t\t<ul><li class=\"active\"><a
69
69
  href=\"#\" Title=\"Current page\">1</a></li></ul>\n\t\t </div>\n</body>\n</html>\n"
70
70
  http_version:
71
- recorded_at: Tue, 08 Feb 2022 16:58:01 GMT
71
+ recorded_at: Fri, 18 Mar 2022 13:31:50 GMT
72
72
  - request:
73
73
  method: get
74
74
  uri: https://webstore.iec.ch/searchkey&type=trf&RefNbr=IEC%2060050-102&From=2007-01-01&To=2007-12-31&start=1
@@ -97,15 +97,15 @@ http_interactions:
97
97
  Server:
98
98
  - Lotus-Domino
99
99
  Date:
100
- - Tue, 08 Feb 2022 16:57:25 GMT
100
+ - Fri, 18 Mar 2022 13:31:30 GMT
101
101
  X-Cache:
102
102
  - Miss from cloudfront
103
103
  Via:
104
- - 1.1 910fc18161f0602555cc5b6397ca26f2.cloudfront.net (CloudFront)
104
+ - 1.1 39ab62538ffdeaa07dae29bbaa23912e.cloudfront.net (CloudFront)
105
105
  X-Amz-Cf-Pop:
106
- - FRA56-C1
106
+ - BUD50-C1
107
107
  X-Amz-Cf-Id:
108
- - s7SivoCLHdRfvsnX7Temrrvnk2StbkiWlquql_m-Y6lWLdtKtbKQLA==
108
+ - o-0yTiQI-46TLfEu55fUsDKW8Nb9VNWyM-kSY6UrzQzHJ5RLlnP5qg==
109
109
  body:
110
110
  encoding: ASCII-8BIT
111
111
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -124,7 +124,7 @@ http_interactions:
124
124
  wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
125
125
  id=\"nbrestrf\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
126
126
  http_version:
127
- recorded_at: Tue, 08 Feb 2022 16:58:02 GMT
127
+ recorded_at: Fri, 18 Mar 2022 13:31:51 GMT
128
128
  - request:
129
129
  method: get
130
130
  uri: https://webstore.iec.ch/searchkey&type=wr&RefNbr=IEC%2060050-102&From=2007-01-01&To=2007-12-31&start=1
@@ -153,15 +153,15 @@ http_interactions:
153
153
  Server:
154
154
  - Lotus-Domino
155
155
  Date:
156
- - Tue, 08 Feb 2022 16:57:27 GMT
156
+ - Fri, 18 Mar 2022 13:31:32 GMT
157
157
  X-Cache:
158
158
  - Miss from cloudfront
159
159
  Via:
160
- - 1.1 c4a2e8b9ec0bdec016055cf127d5dad8.cloudfront.net (CloudFront)
160
+ - 1.1 cc83cc27259d9c51b700240a5e4b94bc.cloudfront.net (CloudFront)
161
161
  X-Amz-Cf-Pop:
162
- - FRA56-C1
162
+ - BUD50-C1
163
163
  X-Amz-Cf-Id:
164
- - 1s6z5-SQf5s4SS3NS9zkO1iAAgUJ6k6vlwHiSMdPFV_LMHMS4s_GfA==
164
+ - k2DR9EdUldSxf-a39aXD-qcHvoCfJQT8DD8MIDGPWezkWI7TjSsYkw==
165
165
  body:
166
166
  encoding: ASCII-8BIT
167
167
  string: "<html>\n<head>\n</head>\n<body text=\"#000000\">\n\n<style>\n\t.highlight
@@ -180,7 +180,7 @@ http_interactions:
180
180
  wordsOnly: !match });\n\t\t\t\t} \n\t \t}\n\t});\n\t\t</script>\n\n<input
181
181
  id=\"nbreswr\" type=\"hidden\" value=\"0\">\nNo publication found.\n</body>\n</html>\n"
182
182
  http_version:
183
- recorded_at: Tue, 08 Feb 2022 16:58:04 GMT
183
+ recorded_at: Fri, 18 Mar 2022 13:31:52 GMT
184
184
  - request:
185
185
  method: get
186
186
  uri: https://webstore.iec.ch/publication/160
@@ -210,25 +210,25 @@ http_interactions:
210
210
  Server:
211
211
  - Lotus-Domino
212
212
  Date:
213
- - Tue, 08 Feb 2022 16:57:28 GMT
213
+ - Fri, 18 Mar 2022 13:31:32 GMT
214
214
  Set-Cookie:
215
- - SessionID=G6VB42TFHU; path=/
215
+ - SessionID=G811PV2FDL; path=/
216
216
  Expires:
217
217
  - "-1"
218
218
  X-Cache:
219
219
  - Miss from cloudfront
220
220
  Via:
221
- - 1.1 715791ebe4663055c84208b8a58b2b80.cloudfront.net (CloudFront)
221
+ - 1.1 4bcdb4b620ec4693e662abfb6a510094.cloudfront.net (CloudFront)
222
222
  X-Amz-Cf-Pop:
223
- - FRA56-C1
223
+ - BUD50-C1
224
224
  X-Amz-Cf-Id:
225
- - vo78ECL81twnNqF5i-r1IeaN1SOaL60FDPcgaU4zHtJp5enTr1V5Ww==
225
+ - p-7_wv6QSgPkCSuJ0UDjEFg5sAZ7v_afsXiiIlJO-OZW15evJCOi7g==
226
226
  body:
227
227
  encoding: ASCII-8BIT
228
228
  string: !binary |-
229
- PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUc2VkI0MlRGSFUiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFnNnZiNDJ0ZmpvISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIHZhbHVlPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIj48L2Zvcm0+CjxwPjxhIGhyZWY9Ii9hZHZzZWFyY2hmb3JtIj5BZHZhbmNlZCBzZWFyY2g8L2E+PC9wPjwvZGl2PjwvZGl2PjwvaGVhZGVyPjxuYXYgaWQ9Im5hdmlnYXRpb24tdG9nZ2xlIiByb2xlPSJuYXZpZ2F0aW9uIj48dWw+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua0hvbWUiIGhyZWY9Ii9ob21lIiBjbGFzcz0icHVibGljYXRpb24iIHRhcmdldD0iX3NlbGYiPkhvbWU8L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rU2lnbkluIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJ4c3BMaW5rIiB0eXBlPSJ0ZXh0L2h0bWwiPlNpZ24gaW48L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rSGVscCIgaHJlZj0iL2hlbHAiIGNsYXNzPSJwdWJsaWNhdGlvbiI+SGVscDwvYT48L2xpPjxsaT48YSBpZD0idmlldzpfaWQzOmxpbmtCYXNrZXQiIGhyZWY9ImphdmFzY3JpcHQ6b3BlbkJhc2tldCgnQW5vbnltb3VzJyk7IiBjbGFzcz0icHVibGljYXRpb24iPkNhcnQgPHNwYW4gY2xhc3M9Im5iLWl0ZW1zIG5iLWl0ZW1zLWJ1eSI+PC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ibGlua2FkdnNlYXJjaCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMzpsaW5rYWR2c2VhcmNoIiBocmVmPSIvYWR2c2VhcmNoZm9ybSIgY2xhc3M9InB1YmxpY2F0aW9uIj5BZHZhbmNlZCBTZWFyY2g8L2E+PC9saT48L3VsPjwvbmF2PjxkaXYgY2xhc3M9ImNvbnRhaW5lciIgcm9sZT0ibWFpbiI+PGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtLWJsb2NrIGFsZXJ0LXN1Y2Nlc3MgYWxlcnQtZGlzbWlzc2FibGUiIGlkPSJtZXNzYWdlYmFza2V0IiBzdHlsZT0iZGlzcGxheTpub25lIj48YnV0dG9uIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0iYWxlcnQiIHR5cGU9ImJ1dHRvbiI+JnRpbWVzOzwvYnV0dG9uPjxwIGNsYXNzPSJzZWNvbmRhcnkiPjxzcGFuPjwvc3Bhbj48L3A+PC9kaXY+PHNlY3Rpb24gY2xhc3M9ImFydGljbGUiIGl0ZW1zY29wZT0iICIgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL1Byb2R1Y3QiPjxkaXYgY2xhc3M9ImwtbWFpbiI+PHNwYW4gaXRlbXByb3A9ImJyYW5kIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9Pcmdhbml6YXRpb24iPjxtZXRhIGNvbnRlbnQ9IklFQyIgaXRlbXByb3A9Im5hbWUiPjwvc3Bhbj48aDEgY2xhc3M9InJlZmVyZW5jZSI+PHNwYW4gaWQ9InZpZXc6ZE9DVU1FTlROQU1FMSIgaXRlbXByb3A9InByb2R1Y3RJRCI+SUVDIDYwMDUwLTEwMjoyMDA3PC9zcGFuPiZuYnNwOzxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ5IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2gxPjxoMiBpZD0idmlldzpFbmdsaXNoX1RpdGxlIiBjbGFzcz0idGl0bGUiIGl0ZW1wcm9wPSJuYW1lIj5JbnRlcm5hdGlvbmFsIEVsZWN0cm90ZWNobmljYWwgVm9jYWJ1bGFyeSAoSUVWKSAtIFBhcnQgMTAyOiBNYXRoZW1hdGljcyAtIEdlbmVyYWwgY29uY2VwdHMgYW5kIGxpbmVhciBhbGdlYnJhPC9oMj48dWwgY2xhc3M9Im1ldGEgaW5saW5lIHNlcGFyYXRlZCI+PGxpPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ4IiB0aXRsZT0iVGVybWlub2xvZ3kiPlRDIDE8L3NwYW4+PC9saT48bGkgY2xhc3M9InByZXZpZXciPjxhIGhyZWY9IiNhZGRpdGlvbmFsaW5mbyI+Jm5ic3A7QWRkaXRpb25hbCBpbmZvcm1hdGlvbjwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0ibC1ib3ggaXMtYWx3YXlzLXZpc2libGUiPjxkaXYgY2xhc3M9InRhYmJhYmxlIGJ1eWJveCI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiIGlkPSJidXlib3hiIj48bGkgaWQ9InZpZXc6X2lkNzU6X2lkNzg6cmVwZWF0MTowOmNvbXB1dGVkRmllbGQyIiBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIucGFuZUUiIGRhdGEtdG9nZ2xlPSJ0YWIiPiBEb3dubG9hZDwvYT48L2xpPjxsaSBpZD0idmlldzpfaWQ3NTpfaWQ3ODpyZXBlYXQxOjE6Y29tcHV0ZWRGaWVsZDIiPjxhIGhyZWY9Ii5wYW5lUCIgZGF0YS10b2dnbGU9InRhYiI+IEhhcmRjb3B5PC9hPjwvbGk+PC91bD48ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6Y29tcHV0ZWRGaWVsZDEiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxkaXYgY2xhc3M9InRhYi1wYW5lIGZhZGUgYWN0aXZlIGluIHBhbmVFIj4KPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmNvbXB1dGVkRmllbGQyIiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48Zm9ybSBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9IkUiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgo8ZmllbGRzZXQgY2xhc3M9InBhcmFtZXRlcnMiPjxkaXYgY2xhc3M9ImJveC1wYW5lIHNlZ21lbnQgc3R5bGVkLXNlbGVjdCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ0IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48ZGl2IGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Mjpjb21wdXRlZEZpZWxkNSIgc3R5bGU9Im1hcmdpbi10b3A6NHB4IiBjbGFzcz0ibGFuZ3N3aXRjaGxhYmVsIj5FbmdsaXNoL0ZyZW5jaDwvZGl2PjxvcHRpb24gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ2IiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0ibGFuZ3N3aXRjaCI+MTYwRU4tRlI8L29wdGlvbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50Ij48c3BhbiBpdGVtcHJvcD0ib2ZmZXJzIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9PZmZlciI+PGFiYnIgaXRlbXByb3A9InByaWNlQ3VycmVuY3kiIHRpdGxlPSJTd2lzcyBGcmFuY3MiPkNIRjwvYWJicj4mbmJzcDs8bGFiZWwgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmxhYmVsMSIgY2xhc3M9InByaWNlIiBjb250ZW50PSIzMjAiIGl0ZW1wcm9wPSJwcmljZSI+MzIwLi08c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODI6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvbGFiZWw+PG1ldGEgY29udGVudD0iaHR0cDovL3NjaGVtYS5vcmcvSW5TdG9jayIgaXRlbXByb3A9ImF2YWlsYWJpbGl0eSI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJveC1wYW5lIj4KPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1jb21taXQiIHR5cGU9InN1Ym1pdCI+QWRkIHRvIGNhcnQ8L2J1dHRvbj48L2Rpdj4KPC9maWVsZHNldD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR2aWV3aWQiIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Ml9fVlVJRCIgdmFsdWU9IiFnNnZiNDJ0ZmpvISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIiB2YWx1ZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiPjwvZm9ybT4KPHAgY2xhc3M9InNlY29uZGFyeSBib3gtb3B0Ij4KPGEgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9PcGVuJmFtcDtpZD1HRk9ULTdOUFA4SCIgY2xhc3M9InhzcExpbmsiPkRvIHlvdSBuZWVkIGEgbXVsdGktdXNlciBjb3B5PzwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlICBwYW5lUCI+CjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpjb21wdXRlZEZpZWxkMiIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGZvcm0gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJQIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGZpZWxkc2V0IGNsYXNzPSJwYXJhbWV0ZXJzIj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50IHN0eWxlZC1zZWxlY3QiPjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNCIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDUiIHN0eWxlPSJtYXJnaW4tdG9wOjRweCIgY2xhc3M9Imxhbmdzd2l0Y2hsYWJlbCI+RW5nbGlzaC9GcmVuY2g8L2Rpdj48b3B0aW9uIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgY2xhc3M9Imxhbmdzd2l0Y2giPjE2MEVOLUZSPC9vcHRpb24+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzIwIiBpdGVtcHJvcD0icHJpY2UiPjMyMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWc2dmI0MnRmam8hIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODIiIHZhbHVlPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiI+PC9mb3JtPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGhyPgo8L2hyPgo8ZGl2IGNsYXNzPSJsLW1haW4tcHVsbGVkIj48ZGl2IGNsYXNzPSJhYnN0cmFjdCI+PHAgY2xhc3M9ImJ0biBidG4tcHJldmlldyI+CjxhIGlkPSJ2aWV3OmxpbmsyIiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRhcmdldD0iX2JsYW5rIj5QcmV2aWV3PC9hPjwvcD4KPGgzPgpBYnN0cmFjdDwvaDM+CjxkaXYgaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJyZWFkbW9yZSIgaXRlbXByb3A9ImRlc2NyaXB0aW9uIj5UaGlzIHBhcnQgb2YgSUVDIDYwMDUwIGdpdmVzIHRoZSBnZW5lcmFsIG1hdGhlbWF0aWNhbCB0ZXJtaW5vbG9neSB1c2VkIGluIHRoZSBmaWVsZHMgb2YgZWxlY3RyaWNpdHksIGVsZWN0cm9uaWNzIGFuZCB0ZWxlY29tbXVuaWNhdGlvbnMsIHRvZ2V0aGVyIHdpdGggYmFzaWMgY29uY2VwdHMgaW4gbGluZWFyIGFsZ2VicmEuIEl0IG1haW50YWlucyBhIGNsZWFyIGRpc3RpbmN0aW9uIGJldHdlZW4gbWF0aGVtYXRpY2FsIGNvbmNlcHRzIGFuZCBwaHlzaWNhbCBjb25jZXB0cywgZXZlbiBpZiBzb21lIHRlcm1zIGFyZSB1c2VkIGluIGJvdGggY2FzZXMuIEFub3RoZXIgcGFydCB3aWxsIGRlYWwgd2l0aCBmdW5jdGlvbnMuPGJyIC8+DQpJdCBoYXMgdGhlIHN0YXR1cyBvZiBhIGhvcml6b250YWwgc3RhbmRhcmQgaW4gYWNjb3JkYW5jZSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL0FydG51bV9QSy8zNjQzNT9vDQpwZW5kb2N1bWVudCI+SUVDIEd1aWRlIDEwODwvYT4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0idG9jIj48aDM+Ckxvb2sgaW5zaWRlPC9oMz4KPGEgaWQ9InZpZXc6bGluazE1IiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRpdGxlPSJGcmVlIHByZXZpZXciIHRhcmdldD0iX2JsYW5rIj48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3Qgc2Vjb25kYXJ5IHQtY29sdW1ucyI+CjxpbWcgaWQ9InZpZXc6aW1hZ2UxIiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvbG9va2luc2lkZS5wbmciIGFsdD0iIiBjbGFzcz0ieHNwSW1hZ2UiPjwvdWw+CjwvYT48L2Rpdj48L2Rpdj48aHI+PGRpdiBjbGFzcz0ibC1tYWluIj48aDMgaWQ9ImFkZGl0aW9uYWxpbmZvIj5BZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9oMz48ZGl2IGNsYXNzPSJ0YWJiYWJsZSI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiPjxsaSBjbGFzcz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjZGV0YWlscyI+RGV0YWlsczwvYT48L2xpPjxsaSBpZD0iaGlzdG9yeXRhYiI+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJlZj0iI2hpc3RvcnkiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ2hpc3RvcnknKTsiPkhpc3Rvcnk8L2E+PC9saT48bGkgaWQ9IndvcmtpbnByb2dyZXNzdGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjd29ya2lucHJvZ3Jlc3MiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ3dvcmtpbnByb2dyZXNzJyk7Ij5Xb3JrIGluIHByb2dyZXNzPC9hPjwvbGk+PGxpIGlkPSJsaTEiPjwvbGk+PGxpIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdGFnY2xvdWQiPlRhZ3M8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIGFjdGl2ZSBpbiIgaWQ9ImRldGFpbHMiPjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaW5mbyB2ZXJ0aWNhbC10aCI+PHRib2R5Pjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gdHlwZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ3IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkludGVybmF0aW9uYWwgU3RhbmRhcmQ8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPlB1YmxpY2F0aW9uIGRhdGU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiIGl0ZW1wcm9wPSJyZWxlYXNlRGF0ZSI+MjAwNy0wOC0yNzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBzY29wZT0icm93Ij5FZGl0aW9uPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6aW5wdXRUZXh0MSI+MS4wPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkF2YWlsYWJsZSBsYW5ndWFnZShzKTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkVuZ2xpc2gvRnJlbmNoPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij48YWJiciB0aXRsZT0iVGVjaG5pY2FsIENvbW1pdHRlZSI+VEM8L2FiYnI+LzxhYmJyIHRpdGxlPSJTdWItY29tbWl0dGVlIj5TQzwvYWJicj48L3RoPjx0ZD48YSBpZD0idmlldzpsaW5rNiIgaHJlZj0iLi4vc2VhcmNoZm9ybSZDb21OdW1iZXI9MSIgY2xhc3M9InhzcExpbmsiPlRDIDEgLSBUZXJtaW5vbG9neTwvYT48YSBpZD0idmlldzpsaW5rMSIgaHJlZj0iaHR0cHM6Ly93ZWJzdG9yZS5pZWMuY2gvcnNzJnRjPVRDJTIwMSIgc3R5bGU9ImZsb2F0OnJpZ2h0IiBjbGFzcz0ic3ltYm9sIHJzcyIgdGl0bGU9IlN1YnNjcmliZSB0byB0aGlzIFJTUyBmZWVkIj48c3BhbiBjbGFzcz0iaWNvbi1yc3MiPjwvc3Bhbj48Yj5yc3M8L2I+PC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPklDUzwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms3IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wMS4wNDAuMDciIGNsYXNzPSJ4c3BMaW5rIj4wMS4wNDAuMDcgLSBNYXRoZW1hdGljcy4gTmF0dXJhbCBzY2llbmNlcyAoVm9jYWJ1bGFyaWVzKTwvYT48YnI+CjxhIGlkPSJ2aWV3Omxpbms4IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wNy4wMjAiIGNsYXNzPSJ4c3BMaW5rIj4wNy4wMjAgLSBNYXRoZW1hdGljcw0KPC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPlBhZ2VzPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDQiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MTYyPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij5GaWxlIHNpemU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xNzc2PC9zcGFuPiZuYnNwOzxhYmJyIHRpdGxlPSJLaWxvYml0cyI+S0I8L2FiYnI+PC90ZD48L3RyPgo8L3Rib2R5PjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9Imhpc3RvcnkiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9IndvcmtpbnByb2dyZXNzIj48c3BhbiBpZD0idmlldzpfaWQxODM6eG1sV29ya2lucHJvZ3Jlc3MiPjwvc3Bhbj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwdWJpZCAgID0gIjE2MCI7CnZhciBwdWJ0eXBlID0gIklTIjsKCnZhciBYTUx1cmw9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQWpheFJlcXVlc3RYTUw/T3BlbmFnZW50JnVybD0iKyIiK3B1YmlkOwp2YXIgdGFyZ2V0SWRIaXN0b3J5PSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5IjsKdmFyIHRhcmdldElkV29ya2lucHJvZ3Jlc3M9InZpZXc6X2lkMTgzOnhtbFdvcmtpbnByb2dyZXNzIjsKdmFyIGFwSGlzdCA9IGRvam8uYnlJZCh0YXJnZXRJZEhpc3RvcnkpOwp2YXIgYXBXb3JrID0gZG9qby5ieUlkKHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoKdHJ5IHsKCglkb2pvLnhockdldCh7CgkJdXJsOiBYTUx1cmwsCgkJbG9hZDogZnVuY3Rpb24oWE1McmVzdWx0KSB7CgkJCVhNTHBhcnNlSGlzdG9yeShYTUxyZXN1bHQsIHRhcmdldElkSGlzdG9yeSx0YXJnZXRJZFdvcmtpbnByb2dyZXNzKTsKCQl9LAogICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yLCBpb2FyZ3MpewoJICAgICAgYXBIaXN0LmlubmVySFRNTCA9ICJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiA8YnIgLz4iICsgZXJyb3I7CgkgICAgICBhcFdvcmsuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCQkJfQoJCX0pOwoJCQoJICBpZiAocHVidHlwZT09J1RSRicpIHsJCQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5dGFiIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICB9CgkJCn0gY2F0Y2goZSkgewphbGVydCgiZXJyb3IgIiArIGUpfQo8L3NjcmlwdD4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRyZiI+PHA+VGhlIGZvbGxvd2luZyB0ZXN0IHJlcG9ydCBmb3JtcyBhcmUgcmVsYXRlZDo8L3A+PGRpdiBpZD0idmlldzpfaWQxODQ6cmVwZWF0cmVsYXRlZFRSRiI+CjwvZGl2Pgo8YnI+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRhZ2Nsb3VkIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48Zm9ybSBpZD0idmlldzpfaWQyMDY6X2lkMzA0IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJ4c3BGb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGgzPlJlbGF0ZWQgcHVibGljYXRpb25zPC9oMz48ZGl2IGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiI+Cjx1bD48c3BhbiBpZD0idmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHMiPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjEzMTUib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDE6MjAxNzwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjY4NDQib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwJywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDI6MjAyMDwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjg3MDkib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMzoyMDIxJywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDM6MjAyMTwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYxIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMzoyMDA5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PC9zcGFuPjxsaSBjbGFzcz0ibW9yZSIgaWQ9IndyIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOm5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5TaG93IGFsbCAmcmFxdW87PC9hPjwvbGk+PC91bD48cD48L3A+PC9kaXY+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNF9fVlVJRCIgdmFsdWU9IiFnNnZiNDJ0ZmpvISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMjA2Ol9pZDMwNCIgdmFsdWU9InZpZXc6X2lkMjA2Ol9pZDMwNCI+PC9mb3JtPgo8aDMgaWQ9InZpZXc6X2lkMjEyOmNvbXB1dGVkRmllbGQyIj5Nb3JlIGluZm9ybWF0aW9uPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlwdWIiPgo8L2Rpdj4KPGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQyI+CjxsaT48YSBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQzowOmxpbmsyIiBocmVmPSJodHRwczovL2V0ZWNoLmllYy5jaC9pc3N1ZS8yMDE5LTAyL2luLXRoZS1iZWdpbm5pbmctdGhlcmUtd2FzdGVybWlub2xvZ3kiIHRhcmdldD0iX2JsYW5rIj5BcnRpY2xlOiBhdm9pZGluZyBhbWJpZ3VpdHk8L2E+PC9saT48L2Rpdj4KPC91bD48YnI+PGgzPlNoYXJlIHRoaXMgcGFnZTwvaDM+PHVsIGNsYXNzPSJpbmxpbmUiPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEiIGhyZWY9Im1haWx0bzo/c3ViamVjdD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO2JvZHk9SGVsbG8lMkMlMEElMEFJJTIwdGhvdWdodCUyMHlvdSUyMG1pZ2h0JTIwYmUlMjBpbnRlcmVzdGVkJTIwYnklMjB0aGlzJTIwcHVibGljYXRpb24lM0ElMEElMEElMDlodHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RleHQ9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDt2aWE9SUVDU3RhbmRhcmRzIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5Ud2l0dGVyPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTEiIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxMyIgaHJlZj0iaHR0cDovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZhbXA7dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RpdGxlPUlFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO3N1bW1hcnk9JmFtcDtzb3VyY2U9SUVDJTIwV2Vic3RvcmUiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkxpbmtlZEluPC9hPiZuYnNwOzwvbGk+PC91bD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjEiPjxoND5TaGFyZSB5b3VyIHB1YmxpY2F0aW9uczwvaDQ+PHA+TGVhcm4gaG93IHRvIHNoYXJlIHlvdXIgcHVibGljYXRpb25zIHdpdGggeW91cgoJCQljb2xsZWFndWVzLCZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TlBQOEgiPnVzaW5nIG5ldHdvcmtpbmcgb3B0aW9uczwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjIiPjxoND5QYXltZW50IGluZm9ybWF0aW9uPC9oND48cD5PdXIgcHJpY2VzIGFyZSBpbiBTd2lzcyBmcmFuY3MgKDxhYmJyIHRpdGxlPSJTd2lzcyBmcmFuY3MiPkNIRjwvYWJicj4pLiBXZSBhY2NlcHQgYWxsIG1ham9yIGNyZWRpdCBjYXJkcyAoQW1lcmljYW4gRXhwcmVzcywgTWFzdGVyY2FyZCBhbmQKCQkJVmlzYSwgSkNCIGFuZCBDVVApLCBQYXlQYWwgYW5kIGJhbmsgdHJhbnNmZXJzIGFzIGZvcm0gb2YgcGF5bWVudC48L3A+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIzIj48aDQ+S2VlcCBpbiB0b3VjaDwvaDQ+PHA+S2VlcCB1cCB0byBkYXRlIHdpdGggbmV3IHB1YmxpY2F0aW9uIHJlbGVhc2VzIGFuZAoJCQlhbm5vdW5jZW1lbnRzIHdpdGgKCQkJb3VyIGZyZWUmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazEiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5JRUMgSnVzdCBQdWJsaXNoZWQgZW1haWwgbmV3c2xldHRlcjwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjQiPjxoNCBpZD0idmlldzpfaWQyMzQ6Y29tcHV0ZWRGaWVsZDYiPkNvbnRhY3QgY3VzdG9tZXIgc2VydmljZXM8L2g0PjxwIGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNyI+UGxlYXNlIDxhIGhyZWY9Im1haWx0bzpzYWxlc0BpZWMuY2giPnNlbmQgeW91ciBlbnF1aXJ5IGJ5IGVtYWlsPC9hPiBvciBjYWxsIHVzIG9uICs0MSAyMiA5MTkgMDIgMTEgYmV0d2VlbiAwOTowMCAmbmRhc2g7IDE3OjAwIENFVCBNb25kYXkgdG8gRnJpZGF5LjwvcD48L2Rpdj48L3NlY3Rpb24+PC9kaXY+PGZvb3RlciByb2xlPSJjb250ZW50aW5mbyI+PGRpdiBjbGFzcz0iaW5uZXIiPjxwIGNsYXNzPSJzb2NpYWwiPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9JbnRlcm5hdGlvbmFsRWxlY3Ryb3RlY2huaWNhbENvbW1pc3Npb24iIHRpdGxlPSJGYWNlYm9vayI+PHNwYW4gY2xhc3M9Imljb24tZmFjZWJvb2siPjwvc3Bhbj48Yj5GYWNlYm9vazwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cudHdpdHRlci5jb20vSUVDU3RhbmRhcmRzIiB0aXRsZT0iVHdpdHRlciI+PHNwYW4gY2xhc3M9Imljb24tdHdpdHRlciI+PC9zcGFuPjxiPlR3aXR0ZXI8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2ludGVybmF0aW9uYWwtZWxlY3Ryb3RlY2huaWNhbC1jb21taXNzaW9uLWllYy0vIiB0aXRsZT0iTGlua2VkSW4iPjxzcGFuIGNsYXNzPSJpY29uLWxpbmtlZGluIj48L3NwYW4+PGI+TGlua2VkSW48L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LnBpbnRlcmVzdC5jb20vaWVjc3RhbmRhcmRzIiB0aXRsZT0iUGludGVyZXN0Ij48c3BhbiBjbGFzcz0iaWNvbi1waW50ZXJlc3QiPjwvc3Bhbj48Yj5QaW50ZXJlc3Q8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUN4R2tfU19ybll5RkJjVGlkZ255N0VBIiB0aXRsZT0iWW91VHViZSI+PHNwYW4gY2xhc3M9Imljb24teW91dHViZSI+PC9zcGFuPjxiPllvdVR1YmU8L2I+PC9hPjwvcD48dWwgY2xhc3M9ImxpbmtzIHRlcnRpYXJ5IGlubGluZSI+PGxpPjxhIGlkPSJ2aWV3Ol9pZDI1ODpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9Q1NKTi05VkNCV0oiPlRlcm1zICZhbXA7IENvbmRpdGlvbnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvcHJpdmFjeS8iPlByaXZhY3k8L2E+PC9saT48L3VsPjx1bCBjbGFzcz0iY29weXJpZ2h0IHRlcnRpYXJ5IGlubGluZSI+PGxpPjxpPjxhIGlkPSJ2aWV3Ol9pZDI1ODpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TldONlAiPkNvcHlyaWdodDwvYT48L2k+Jm5ic3A7JmNvcHk7Jm5ic3A7PGEgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2giPklFQzwvYT4mbmJzcDs8c3BhbiBpZD0idmlldzpfaWQyNTg6Y29tcHV0ZWRGaWVsZDEiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MjAyMjwvc3Bhbj4uJm5ic3A7QWxsIHJpZ2h0cyByZXNlcnZlZC48L2xpPjwvdWw+PHAgY2xhc3M9InNlbGYiPjxhIGhyZWY9IiNpZWMtd2Vic3RvcmUiPlRvcDxzcGFuIGNsYXNzPSJpY29uLWNpcmNsZS1hcnJvdy11cCI+PC9zcGFuPjwvYT48L3A+PC9kaXY+PC9mb290ZXI+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvanF1ZXJ5LTEuOC4zLW1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9jb25maWcuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvcGx1Z2lucy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9tYWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgLy92YXIgZWxsaXBzZXN0ZXh0ID0gIi4uLiI7CiAgICB2YXIgZWxsaXBzZXN0ZXh0ID0gIiI7CiAgICB2YXIgbW9yZXRleHQgPSAiU2hvdyBtb3JlIMK7IjsKICAgIHZhciBsZXNzdGV4dCA9ICJTaG93IGxlc3MiOwogICAgCiAgICB2YXIgY29udGVudEhlaWdodDsKICAgIHZhciBzaG93SGVpZ2h0PTIwMDsKICAgIAoKICAgICQoJy5yZWFkbW9yZScpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGNvbnRlbnQgPSAkKHRoaXMpLmh0bWwoKTsKCiAgICAgICAgY29udGVudEhlaWdodCA9ICQoJy5yZWFkbW9yZScpLmhlaWdodCgpOyAKICAgICAgICBpZihjb250ZW50SGVpZ2h0ID4gc2hvd0hlaWdodCkgewogICAgICAgIAkkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIgoJCQkgICAgfSk7CiAgICAgICAgICAgICQodGhpcykuYWZ0ZXIoJzxzcGFuIGNsYXNzPSJtb3JlZWxsaXBzZXMiPicgKyBlbGxpcHNlc3RleHQrICc8L3NwYW4+PHNwYW4+PGEgaHJlZj0iIiBjbGFzcz0ibW9yZWxpbmsiPicgKyBtb3JldGV4dCArICc8L2E+PC9zcGFuPicpOwogICAgICAgIH0gCiAgICB9KTsKIAogICAgJCgiLm1vcmVsaW5rIikuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgICBpZigkKHRoaXMpLmhhc0NsYXNzKCJsZXNzIikpIHsKICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygibGVzcyIpOwogICAgICAgICAgICAkKHRoaXMpLmh0bWwobW9yZXRleHQpOwogICAgICAgICAgICAKICAgICAgICAgICAgJCgnLnJlYWRtb3JlJykuY3NzKHsKCQkJICAgICAgICAibWF4LWhlaWdodCI6c2hvd0hlaWdodCwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogImhpZGRlbiIsCgkJCSAgICAgICAgIm1pbi1oZWlnaHQiOnNob3dIZWlnaHQKCQkJfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygibGVzcyIpOwogICAgICAgICAgICAkKHRoaXMpLmh0bWwobGVzc3RleHQpOwogICAgCgkJCSQoJy5yZWFkbW9yZScpLmNzcyh7CQkJCQkKCQkJICAgICAgICAibWF4LWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm1pbi1oZWlnaHQiOiIiLAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiIgoJCQl9KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJCh0aGlzKS5wcmV2KCkudG9nZ2xlKCk7ICAvLyBzaG93L2hpZGUgIi4uLiIgCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7Cn0pOwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoKZnVuY3Rpb24gdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkKHRoaXNFdmVudCkgewoKJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsgCgl0cnl7CQoJCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoJCXZhciBiYXNrZXRuYW1lPXJldHVybkNvb2tpZVZhbChqc0Nvb2tpZU5hbWUpOwoJCQoJCWNvbXB1dGVCYXNrZXRJdGVtcyhiYXNrZXRuYW1lKTsKCQljb21wdXRlREFGaWxlcygpOwoJCSQoImRpdi5idXlib3ggZm9ybSIpLnN1Ym1pdCgKCQkJCQkJZnVuY3Rpb24oKSB7CgoJCQkJCQkJdmFyIG1lZGlhID0gJCh0aGlzKS5hdHRyKCdjbGFzcycpOwoJCQkJCQkJdmFyIHByaWNlID0gJCh0aGlzKS5maW5kKCgnaW5wdXRbbmFtZT1hcnRfcHJpY2VdJykpCgkJCQkJCQkJCS52YWwoKTsKCQkJCQkJCS8vdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkvLwkJKCdzZWxlY3RbbmFtZT1hcnRfbGFuZ10nKSkudmFsKCk7IC8vIHB1YmlkK2xhbmcKCQkJCQkJCS8vdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkvLwkJKCdzZWxlY3RbY2xhc3M9bGFuZ3N3aXRjaF0nKSkudmFsKCk7IC8vIHB1YmlkK2xhbmcKCQkJCQkJCQkJCgkJCQkJCQl2YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCQkJKCdbY2xhc3M9bGFuZ3N3aXRjaF0nKSkudmFsKCk7IC8vIHB1YmlkK2xhbmcJCQoJCQkJCQkJCQkKCQkJCQkJCQoJCQkJCQkJCQkKCQkJCQkJCXZhciBiYXNrZXRuYW1lMiA9IGdldENvb2tpZShqc0Nvb2tpZU5hbWUpOwoJCQkJCQkJQWRkVG9CYXNrZXQobWVkaWEsIGxhbmdhcnRudW0sIGJhc2tldG5hbWUyKTsKCgkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCX0pOwoJCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoJCX0gY2F0Y2goZSkge2FsZXJ0KGUubWVzc2FnZSk7fQoJCQp9KTsKCn0KCmZ1bmN0aW9uIHZpZXdfX2lkMjM0X19pZDI1NV9jbGllbnRTaWRlX29uY2xpY2sodGhpc0V2ZW50KSB7CnZhciBteVdpbmRvdyA9IHdpbmRvdy5vcGVuKCJodHRwOi8vZWVwdXJsLmNvbS9iWTN2NzkiLCAiX2JsYW5rIiwgInRvb2xiYXI9bm8sIHNjcm9sbGJhcnM9bm8sIHJlc2l6YWJsZT1ubywgdG9wPTIwMCwgbGVmdD01MDAsIHdpZHRoPTkwMCwgaGVpZ2h0PTU1NSIpOwoKCn0KClhTUC5hZGRPbkxvYWQoZnVuY3Rpb24oKSB7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQzOl9pZDQ2IiwgInZpZXc6X2lkMyIsICJvbkNsaWVudExvYWQiLCB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQsIGZhbHNlLCAyKTsKWFNQLmF0dGFjaFBhcnRpYWwoInZpZXc6X2lkMjA2Ol9pZDMwNDpfaWQyMTAiLCAidmlldzpfaWQyMDY6X2lkMzA0OmxpbmtzaG93YWxsIiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIsICJvbmNsaWNrIiwgZnVuY3Rpb24oKXt9LCAyLCAidmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHNkaXYiKTsKWFNQLmF0dGFjaEV2ZW50KCJ2aWV3Ol9pZDIzNDpfaWQyNTUiLCAidmlldzpfaWQyMzQ6bGluazEiLCAib25jbGljayIsIHZpZXdfX2lkMjM0X19pZDI1NV9jbGllbnRTaWRlX29uY2xpY2ssIGZhbHNlLCAyKTsKfSk7IAoKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==
229
+ PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpd2luZG93LmxvY2F0aW9uLmhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW5cdTAwMjZwdWJpZD0xNjBcdTAwMjZ0ZXN0XHUwMDI2U2Vzc2lvbklEPUc4MTFQVjJGREwiOzwvc2NyaXB0Pgo8dGl0bGU+SUVDIDYwMDUwLTEwMjoyMDA3IHwgSUVDIFdlYnN0b3JlPC90aXRsZT4KPGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvZmF2aWNvbi5pY28iPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIveHNwLy5pYm14c3ByZXMvZG9qb3Jvb3QtMS42LjEvZG9qby9kb2pvLmpzIiBkakNvbmZpZz0ibG9jYWxlOiAnZW4tdXMnLCBwYXJzZU9uTG9hZDogdHJ1ZSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii94c3AvLmlibXhzcHJlcy9kb2pvcm9vdC0xLjYuMS9pYm0veHNwL3dpZGdldC9sYXlvdXQvbGF5ZXJzL3hzcENsaWVudERvam8uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9qby5yZXF1aXJlKCdkb2pvLnBhcnNlcicpPC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kb21qYXZhL3hzcC90aGVtZS93ZWJzdGFuZGFyZC94c3AuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2RvbWphdmEveHNwL3RoZW1lL3dlYnN0YW5kYXJkL3hzcExUUi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvd2Vic3RvcmVfQnVpbGQvY3NzL2llYy13ZWJzdG9yZS5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL1hTUExpYnJhcnkuanMiPjwvc2NyaXB0Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3IFN0YW5kYXJkIHwgSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIFZvY2FidWxhcnkgKElFVikgLSBQYXJ0IDEwMjogTWF0aGVtYXRpY3MgLSBHZW5lcmFsIGNvbmNlcHRzIGFuZCBsaW5lYXIgYWxnZWJyYSI+CjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iSUVDIC0gSW50ZXJuYXRpb25hbCBFbGVjdHJvdGVjaG5pY2FsIENvbW1pc3Npb24iPgo8bWV0YSBuYW1lPSJMYW5ndWFnZSIgY29udGVudD0iRW5nbGlzaCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vd2Vic3RvcmUuaWVjLmNoL3B1YmxpY2F0aW9uLzE2MCIgcmVsPSJjYW5vbmljYWwiPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iSUVDIDYwMDUwLTEwMjoyMDA3LCBTdGFuZGFyZCI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2pvLnJlcXVpcmUoJ2Rvam8uY29va2llJyk8L3NjcmlwdD4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBjb250ZW50PSJvbiIgaHR0cC1lcXVpdj0iY2xlYXJ0eXBlIj4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi9IaXN0b3J5V29ya0luUHJvZ3Jlc3NMaWIiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpeyAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsgIGdhKCdjcmVhdGUnLCAnVUEtMzQzOTgzMzEtMicsICdhdXRvJyk7IGdhKCdzZXQnLCAnZGltZW5zaW9uMScsICcnKTsgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTs8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvbW9kZXJuaXpyLmN1c3RvbS40MjE5Ny5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIganNEQkNBVEFMT0c9Ii93ZWJzdG9yZS9JRUNDYXRhLm5zZiI7IHZhciBqc1BhdGhXZWJzdG9yZURCPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmIjsgdmFyIGpzQ29va2llTmFtZT0iaWVjd2Vic3RvcmUiOwoJCS8vY29uc29sZS5sb2coImNvb2tpZXZhbCA9ICIrcmV0dXJuQ29va2llVmFsKGpzQ29va2llTmFtZSkpOzwvc2NyaXB0PjxoZWFkZXIgY2xhc3M9ImJyYW5kaW5nIiByb2xlPSJiYW5uZXIiPjxkaXYgY2xhc3M9ImlubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmllYy5jaCIgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSUVDTG9nbycsICdDbGljaycsICd3d3cuaWVjLmNoJyk7IiB0aXRsZT0id3d3LmllYy5jaCI+PGRpdiBjbGFzcz0ibG9nbyI+PGltZyBhbHQ9IklFQyBsb2dvIiBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9pbWcvbG9nb19pZWNfMjc2LmpwZyI+PC9kaXY+PC9hPjxoMT48c3Ryb25nPldlYnN0b3JlPC9zdHJvbmc+Jm5ic3A7STxpPm50ZXJuYXRpb25hbCZuYnNwOzwvaT5FPGk+bGVjdHJvdGVjaG5pY2FsJm5ic3A7PC9pPkM8aT5vbW1pc3Npb248L2k+PC9oMT48ZGl2IGNsYXNzPSJjb25uZWN0Ij48YSBpZD0idmlldzpfaWQzOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJsb2dvdXQiPlNpZ24gaW48L2E+PHNwYW4gaWQ9InZpZXc6X2lkMzpsYWJlbDIiIGNsYXNzPSJ4c3BUZXh0TGFiZWwiPiB8IDwvc3Bhbj48YSBpZD0idmlldzpfaWQzOmxpbmszIiBocmVmPSIvbmV3YWNjb3VudCIgY2xhc3M9InhzcExpbmsiPkNyZWF0ZSBhY2NvdW50PC9hPjxpPjxzcGFuIGlkPSJ2aWV3Ol9pZDM6Y29tcHV0ZWRGaWVsZDIiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSJzZWFyY2gtYm94LWFsdCI+PGZvcm0gaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9InNlYXJjaCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgb25zdWJtaXQ9IgoKCi8vd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9zZWFyY2hmb3JtJmFtcDtxPScrJCgmcXVvdDtbaWQkPXFdJnF1b3Q7KS52YWwoKTsKCi8vcmV0dXJuIGZhbHNlOwoKCnZhciBLRVlWQUwgPSAkKCZxdW90O1tpZCQ9cV0mcXVvdDspLnZhbCgpOwoJCQkJCQoJCQkJCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8lL2dpLCAmcXVvdDsgJnF1b3Q7KTsKCQkJCS8vCUtFWVZBTCA9IEtFWVZBTC5yZXBsYWNlKC8mcXVvdDsvZ2ksICZxdW90OyAmcXVvdDspOwoJCQkJCgkJCQkJCgkJCQkvLwkJS0VZVkFMPWVuY29kZVVSSUNvbXBvbmVudChLRVlWQUwudHJpbSgpKTsKCQkJCQl0cnkgewoJCQkJCQlLRVlWQUwgPSBlbmNvZGVVUklDb21wb25lbnQoS0VZVkFMLnRyaW0oKSk7CgkJCQkJfSBjYXRjaChlKXsKCQkJCQkJLy9JRTgKCQkJCQkJS0VZVkFMID0gZW5jb2RlVVJJQ29tcG9uZW50KCQudHJpbShLRVlWQUwpKTsKCQkJCQl9CgkJCQkKCQkJCQkKCQkJCQkKCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VhcmNoZm9ybSZhbXA7cT0nICsgS0VZVkFMOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkKCQkJCQkKCQkJCQkKIiByb2xlPSJzZWFyY2giPgo8cD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZpZXc6X2lkMzpteUZvcm1zZWFyY2g6cSIgbmFtZT0idmlldzpfaWQzOm15Rm9ybXNlYXJjaDpxIiBjbGFzcz0iaW5wdXQtNzUgc2VhcmNoLXF1ZXJ5IiBwbGFjZWhvbGRlcj0iU2VhcmNoIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsdWUgc3ltYm9sIj48c3BhbiBjbGFzcz0iaWNvbi1zZWFyY2giPjxiPkdvPC9iPjwvc3Bhbj48L2J1dHRvbj48L3A+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkdmlld2lkIiBpZD0idmlldzpfaWQzOm15Rm9ybXNlYXJjaF9fVlVJRCIgdmFsdWU9IiFnODExcHYycmVmISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMzpteUZvcm1zZWFyY2giIHZhbHVlPSJ2aWV3Ol9pZDM6bXlGb3Jtc2VhcmNoIj48L2Zvcm0+CjxwPjxhIGhyZWY9Ii9hZHZzZWFyY2hmb3JtIj5BZHZhbmNlZCBzZWFyY2g8L2E+PC9wPjwvZGl2PjwvZGl2PjwvaGVhZGVyPjxuYXYgaWQ9Im5hdmlnYXRpb24tdG9nZ2xlIiByb2xlPSJuYXZpZ2F0aW9uIj48dWw+PGxpPjxhIGlkPSJ2aWV3Ol9pZDM6bGlua0hvbWUiIGhyZWY9Ii9ob21lIiBjbGFzcz0icHVibGljYXRpb24iIHRhcmdldD0iX3NlbGYiPkhvbWU8L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rU2lnbkluIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCZhbXA7bG9naW4iIGNsYXNzPSJ4c3BMaW5rIiB0eXBlPSJ0ZXh0L2h0bWwiPlNpZ24gaW48L2E+PC9saT48bGk+PGEgaWQ9InZpZXc6X2lkMzpsaW5rSGVscCIgaHJlZj0iL2hlbHAiIGNsYXNzPSJwdWJsaWNhdGlvbiI+SGVscDwvYT48L2xpPjxsaT48YSBpZD0idmlldzpfaWQzOmxpbmtCYXNrZXQiIGhyZWY9ImphdmFzY3JpcHQ6b3BlbkJhc2tldCgnQW5vbnltb3VzJyk7IiBjbGFzcz0icHVibGljYXRpb24iPkNhcnQgPHNwYW4gY2xhc3M9Im5iLWl0ZW1zIG5iLWl0ZW1zLWJ1eSI+PC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ibGlua2FkdnNlYXJjaCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGEgaWQ9InZpZXc6X2lkMzpsaW5rYWR2c2VhcmNoIiBocmVmPSIvYWR2c2VhcmNoZm9ybSIgY2xhc3M9InB1YmxpY2F0aW9uIj5BZHZhbmNlZCBTZWFyY2g8L2E+PC9saT48L3VsPjwvbmF2PjxkaXYgY2xhc3M9ImNvbnRhaW5lciIgcm9sZT0ibWFpbiI+PGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtLWJsb2NrIGFsZXJ0LXN1Y2Nlc3MgYWxlcnQtZGlzbWlzc2FibGUiIGlkPSJtZXNzYWdlYmFza2V0IiBzdHlsZT0iZGlzcGxheTpub25lIj48YnV0dG9uIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0iYWxlcnQiIHR5cGU9ImJ1dHRvbiI+JnRpbWVzOzwvYnV0dG9uPjxwIGNsYXNzPSJzZWNvbmRhcnkiPjxzcGFuPjwvc3Bhbj48L3A+PC9kaXY+PHNlY3Rpb24gY2xhc3M9ImFydGljbGUiIGl0ZW1zY29wZT0iICIgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL1Byb2R1Y3QiPjxkaXYgY2xhc3M9ImwtbWFpbiI+PHNwYW4gaXRlbXByb3A9ImJyYW5kIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9Pcmdhbml6YXRpb24iPjxtZXRhIGNvbnRlbnQ9IklFQyIgaXRlbXByb3A9Im5hbWUiPjwvc3Bhbj48aDEgY2xhc3M9InJlZmVyZW5jZSI+PHNwYW4gaWQ9InZpZXc6ZE9DVU1FTlROQU1FMSIgaXRlbXByb3A9InByb2R1Y3RJRCI+SUVDIDYwMDUwLTEwMjoyMDA3PC9zcGFuPiZuYnNwOzxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ5IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48L2gxPjxoMiBpZD0idmlldzpFbmdsaXNoX1RpdGxlIiBjbGFzcz0idGl0bGUiIGl0ZW1wcm9wPSJuYW1lIj5JbnRlcm5hdGlvbmFsIEVsZWN0cm90ZWNobmljYWwgVm9jYWJ1bGFyeSAoSUVWKSAtIFBhcnQgMTAyOiBNYXRoZW1hdGljcyAtIEdlbmVyYWwgY29uY2VwdHMgYW5kIGxpbmVhciBhbGdlYnJhPC9oMj48dWwgY2xhc3M9Im1ldGEgaW5saW5lIHNlcGFyYXRlZCI+PGxpPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ4IiB0aXRsZT0iVGVybWlub2xvZ3kiPlRDIDE8L3NwYW4+PC9saT48bGkgY2xhc3M9InByZXZpZXciPjxhIGhyZWY9IiNhZGRpdGlvbmFsaW5mbyI+Jm5ic3A7QWRkaXRpb25hbCBpbmZvcm1hdGlvbjwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0ibC1ib3ggaXMtYWx3YXlzLXZpc2libGUiPjxkaXYgY2xhc3M9InRhYmJhYmxlIGJ1eWJveCI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiIGlkPSJidXlib3hiIj48bGkgaWQ9InZpZXc6X2lkNzU6X2lkNzg6cmVwZWF0MTowOmNvbXB1dGVkRmllbGQyIiBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIucGFuZUUiIGRhdGEtdG9nZ2xlPSJ0YWIiPiBEb3dubG9hZDwvYT48L2xpPjxsaSBpZD0idmlldzpfaWQ3NTpfaWQ3ODpyZXBlYXQxOjE6Y29tcHV0ZWRGaWVsZDIiPjxhIGhyZWY9Ii5wYW5lUCIgZGF0YS10b2dnbGU9InRhYiI+IEhhcmRjb3B5PC9hPjwvbGk+PC91bD48ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6Y29tcHV0ZWRGaWVsZDEiIHN0eWxlPSJjb2xvcjpyZ2IoMjU1LDAsMCkiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjxkaXYgY2xhc3M9InRhYi1wYW5lIGZhZGUgYWN0aXZlIGluIHBhbmVFIj4KPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmNvbXB1dGVkRmllbGQyIiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48Zm9ybSBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwUHVibGljYXRpb24ueHNwP09wZW4mYW1wO3B1YmlkPTE2MCZhbXA7dGVzdCIgY2xhc3M9IkUiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgo8ZmllbGRzZXQgY2xhc3M9InBhcmFtZXRlcnMiPjxkaXYgY2xhc3M9ImJveC1wYW5lIHNlZ21lbnQgc3R5bGVkLXNlbGVjdCI+PHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ0IiBzdHlsZT0iY29sb3I6cmdiKDI1NSwwLDApIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPjwvc3Bhbj48ZGl2IGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Mjpjb21wdXRlZEZpZWxkNSIgc3R5bGU9Im1hcmdpbi10b3A6NHB4IiBjbGFzcz0ibGFuZ3N3aXRjaGxhYmVsIj5FbmdsaXNoL0ZyZW5jaDwvZGl2PjxvcHRpb24gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmNvbXB1dGVkRmllbGQ2IiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0ibGFuZ3N3aXRjaCI+MTYwRU4tRlI8L29wdGlvbj48L2Rpdj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50Ij48c3BhbiBpdGVtcHJvcD0ib2ZmZXJzIiBpdGVtc2NvcGU9IiAiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9PZmZlciI+PGFiYnIgaXRlbXByb3A9InByaWNlQ3VycmVuY3kiIHRpdGxlPSJTd2lzcyBGcmFuY3MiPkNIRjwvYWJicj4mbmJzcDs8bGFiZWwgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyOmxhYmVsMSIgY2xhc3M9InByaWNlIiBjb250ZW50PSIzMjAiIGl0ZW1wcm9wPSJwcmljZSI+MzIwLi08c3BhbiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODI6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+PC9zcGFuPjwvbGFiZWw+PG1ldGEgY29udGVudD0iaHR0cDovL3NjaGVtYS5vcmcvSW5TdG9jayIgaXRlbXByb3A9ImF2YWlsYWJpbGl0eSI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJveC1wYW5lIj4KPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1jb21taXQiIHR5cGU9InN1Ym1pdCI+QWRkIHRvIGNhcnQ8L2J1dHRvbj48L2Rpdj4KPC9maWVsZHNldD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR2aWV3aWQiIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MDpfaWQ4Ml9fVlVJRCIgdmFsdWU9IiFnODExcHYycmVmISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOl9pZDgyIiB2YWx1ZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjA6X2lkODIiPjwvZm9ybT4KPHAgY2xhc3M9InNlY29uZGFyeSBib3gtb3B0Ij4KPGEgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjowOmxpbmsxIiBocmVmPSIvd2Vic3RvcmUvd2Vic3RvcmUubnNmL3hwRkFRLnhzcD9PcGVuJmFtcDtpZD1HRk9ULTdOUFA4SCIgY2xhc3M9InhzcExpbmsiPkRvIHlvdSBuZWVkIGEgbXVsdGktdXNlciBjb3B5PzwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlICBwYW5lUCI+CjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpjb21wdXRlZEZpZWxkMiIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGZvcm0gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJQIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGZpZWxkc2V0IGNsYXNzPSJwYXJhbWV0ZXJzIj48ZGl2IGNsYXNzPSJib3gtcGFuZSBzZWdtZW50IHN0eWxlZC1zZWxlY3QiPjxzcGFuIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNCIgc3R5bGU9ImNvbG9yOnJnYigyNTUsMCwwKSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj48L3NwYW4+PGRpdiBpZD0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODI6Y29tcHV0ZWRGaWVsZDUiIHN0eWxlPSJtYXJnaW4tdG9wOjRweCIgY2xhc3M9Imxhbmdzd2l0Y2hsYWJlbCI+RW5nbGlzaC9GcmVuY2g8L2Rpdj48b3B0aW9uIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4Mjpjb21wdXRlZEZpZWxkNiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgY2xhc3M9Imxhbmdzd2l0Y2giPjE2MEVOLUZSPC9vcHRpb24+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUgc2VnbWVudCI+PHNwYW4gaXRlbXByb3A9Im9mZmVycyIgaXRlbXNjb3BlPSIgIiBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvT2ZmZXIiPjxhYmJyIGl0ZW1wcm9wPSJwcmljZUN1cnJlbmN5IiB0aXRsZT0iU3dpc3MgRnJhbmNzIj5DSEY8L2FiYnI+Jm5ic3A7PGxhYmVsIGlkPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MjpsYWJlbDEiIGNsYXNzPSJwcmljZSIgY29udGVudD0iMzIwIiBpdGVtcHJvcD0icHJpY2UiPjMyMC4tPHNwYW4gaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyOmNvbXB1dGVkRmllbGQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPisgc2hpcHBpbmc8L3NwYW4+PC9sYWJlbD48bWV0YSBjb250ZW50PSJodHRwOi8vc2NoZW1hLm9yZy9JblN0b2NrIiBpdGVtcHJvcD0iYXZhaWxhYmlsaXR5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm94LXBhbmUiPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWNvbW1pdCIgdHlwZT0ic3VibWl0Ij5BZGQgdG8gY2FydDwvYnV0dG9uPjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkNzU6X2lkODA6cmVwZWF0MjoxOl9pZDgyX19WVUlEIiB2YWx1ZT0iIWc4MTFwdjJyZWYhIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXRpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwZXhlY2lkIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJCR4c3BzdWJtaXR2YWx1ZSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0c2Nyb2xsIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idmlldzpfaWQ3NTpfaWQ4MDpyZXBlYXQyOjE6X2lkODIiIHZhbHVlPSJ2aWV3Ol9pZDc1Ol9pZDgwOnJlcGVhdDI6MTpfaWQ4MiI+PC9mb3JtPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGhyPgo8L2hyPgo8ZGl2IGNsYXNzPSJsLW1haW4tcHVsbGVkIj48ZGl2IGNsYXNzPSJhYnN0cmFjdCI+PHAgY2xhc3M9ImJ0biBidG4tcHJldmlldyI+CjxhIGlkPSJ2aWV3OmxpbmsyIiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRhcmdldD0iX2JsYW5rIj5QcmV2aWV3PC9hPjwvcD4KPGgzPgpBYnN0cmFjdDwvaDM+CjxkaXYgaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDMiIGNsYXNzPSJyZWFkbW9yZSIgaXRlbXByb3A9ImRlc2NyaXB0aW9uIj5UaGlzIHBhcnQgb2YgSUVDIDYwMDUwIGdpdmVzIHRoZSBnZW5lcmFsIG1hdGhlbWF0aWNhbCB0ZXJtaW5vbG9neSB1c2VkIGluIHRoZSBmaWVsZHMgb2YgZWxlY3RyaWNpdHksIGVsZWN0cm9uaWNzIGFuZCB0ZWxlY29tbXVuaWNhdGlvbnMsIHRvZ2V0aGVyIHdpdGggYmFzaWMgY29uY2VwdHMgaW4gbGluZWFyIGFsZ2VicmEuIEl0IG1haW50YWlucyBhIGNsZWFyIGRpc3RpbmN0aW9uIGJldHdlZW4gbWF0aGVtYXRpY2FsIGNvbmNlcHRzIGFuZCBwaHlzaWNhbCBjb25jZXB0cywgZXZlbiBpZiBzb21lIHRlcm1zIGFyZSB1c2VkIGluIGJvdGggY2FzZXMuIEFub3RoZXIgcGFydCB3aWxsIGRlYWwgd2l0aCBmdW5jdGlvbnMuPGJyIC8+DQpJdCBoYXMgdGhlIHN0YXR1cyBvZiBhIGhvcml6b250YWwgc3RhbmRhcmQgaW4gYWNjb3JkYW5jZSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly93ZWJzdG9yZS5pZWMuY2gvd2Vic3RvcmUvd2Vic3RvcmUubnNmL0FydG51bV9QSy8zNjQzNT9vDQpwZW5kb2N1bWVudCI+SUVDIEd1aWRlIDEwODwvYT4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibC1hc2lkZSI+PGRpdiBjbGFzcz0idG9jIj48aDM+Ckxvb2sgaW5zaWRlPC9oMz4KPGEgaWQ9InZpZXc6bGluazE1IiBocmVmPSIvcHJldmlldy9pbmZvX2llYzYwMDUwLTEwMiU3QmVkMS4wJTdEYi5wZGYiIHRpdGxlPSJGcmVlIHByZXZpZXciIHRhcmdldD0iX2JsYW5rIj48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3Qgc2Vjb25kYXJ5IHQtY29sdW1ucyI+CjxpbWcgaWQ9InZpZXc6aW1hZ2UxIiBzcmM9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvbG9va2luc2lkZS5wbmciIGFsdD0iIiBjbGFzcz0ieHNwSW1hZ2UiPjwvdWw+CjwvYT48L2Rpdj48L2Rpdj48aHI+PGRpdiBjbGFzcz0ibC1tYWluIj48aDMgaWQ9ImFkZGl0aW9uYWxpbmZvIj5BZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9oMz48ZGl2IGNsYXNzPSJ0YWJiYWJsZSI+PHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiPjxsaSBjbGFzcz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjZGV0YWlscyI+RGV0YWlsczwvYT48L2xpPjxsaSBpZD0iaGlzdG9yeXRhYiI+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJlZj0iI2hpc3RvcnkiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ2hpc3RvcnknKTsiPkhpc3Rvcnk8L2E+PC9saT48bGkgaWQ9IndvcmtpbnByb2dyZXNzdGFiIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjd29ya2lucHJvZ3Jlc3MiIG9uQ2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ0FkZGl0aW9uYWxJbmZvJywgJ0NsaWNrJywgJ3dvcmtpbnByb2dyZXNzJyk7Ij5Xb3JrIGluIHByb2dyZXNzPC9hPjwvbGk+PGxpIGlkPSJsaTEiPjwvbGk+PGxpIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdGFnY2xvdWQiPlRhZ3M8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij48ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIGFjdGl2ZSBpbiIgaWQ9ImRldGFpbHMiPjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaW5mbyB2ZXJ0aWNhbC10aCI+PHRib2R5Pjx0cj48dGggc2NvcGU9InJvdyI+UHVibGljYXRpb24gdHlwZTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQ3IiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkludGVybmF0aW9uYWwgU3RhbmRhcmQ8L3NwYW4+PC90ZD48L3RyPgo8dHI+PHRoIHNjb3BlPSJyb3ciPlB1YmxpY2F0aW9uIGRhdGU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzppbnB1dFRleHQzIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiIGl0ZW1wcm9wPSJyZWxlYXNlRGF0ZSI+MjAwNy0wOC0yNzwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBzY29wZT0icm93Ij5FZGl0aW9uPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6aW5wdXRUZXh0MSI+MS4wPC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPkF2YWlsYWJsZSBsYW5ndWFnZShzKTwvdGg+PHRkPjxzcGFuIGlkPSJ2aWV3OmNvbXB1dGVkRmllbGQyIiBjbGFzcz0ieHNwVGV4dENvbXB1dGVkRmllbGQiPkVuZ2xpc2gvRnJlbmNoPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij48YWJiciB0aXRsZT0iVGVjaG5pY2FsIENvbW1pdHRlZSI+VEM8L2FiYnI+LzxhYmJyIHRpdGxlPSJTdWItY29tbWl0dGVlIj5TQzwvYWJicj48L3RoPjx0ZD48YSBpZD0idmlldzpsaW5rNiIgaHJlZj0iLi4vc2VhcmNoZm9ybSZDb21OdW1iZXI9MSIgY2xhc3M9InhzcExpbmsiPlRDIDEgLSBUZXJtaW5vbG9neTwvYT48YSBpZD0idmlldzpsaW5rMSIgaHJlZj0iaHR0cHM6Ly93ZWJzdG9yZS5pZWMuY2gvcnNzJnRjPVRDJTIwMSIgc3R5bGU9ImZsb2F0OnJpZ2h0IiBjbGFzcz0ic3ltYm9sIHJzcyIgdGl0bGU9IlN1YnNjcmliZSB0byB0aGlzIFJTUyBmZWVkIj48c3BhbiBjbGFzcz0iaWNvbi1yc3MiPjwvc3Bhbj48Yj5yc3M8L2I+PC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPklDUzwvdGg+PHRkPjxhIGlkPSJ2aWV3Omxpbms3IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wMS4wNDAuMDciIGNsYXNzPSJ4c3BMaW5rIj4wMS4wNDAuMDcgLSBNYXRoZW1hdGljcy4gTmF0dXJhbCBzY2llbmNlcyAoVm9jYWJ1bGFyaWVzKTwvYT48YnI+CjxhIGlkPSJ2aWV3Omxpbms4IiBocmVmPSIuLi9zZWFyY2hmb3JtJklDU051bWJlcj0wNy4wMjAiIGNsYXNzPSJ4c3BMaW5rIj4wNy4wMjAgLSBNYXRoZW1hdGljcw0KPC9hPjwvdGQ+PC90cj48dHI+PHRoIHNjb3BlPSJyb3ciPlBhZ2VzPC90aD48dGQ+PHNwYW4gaWQ9InZpZXc6Y29tcHV0ZWRGaWVsZDQiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MTYyPC9zcGFuPjwvdGQ+PC90cj4KPHRyPjx0aCBzY29wZT0icm93Ij5GaWxlIHNpemU8L3RoPjx0ZD48c3BhbiBpZD0idmlldzpjb21wdXRlZEZpZWxkNSIgY2xhc3M9InhzcFRleHRDb21wdXRlZEZpZWxkIj4xNzc2PC9zcGFuPiZuYnNwOzxhYmJyIHRpdGxlPSJLaWxvYml0cyI+S0I8L2FiYnI+PC90ZD48L3RyPgo8L3Rib2R5PjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9Imhpc3RvcnkiPjxzcGFuIGlkPSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5Ij48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9IndvcmtpbnByb2dyZXNzIj48c3BhbiBpZD0idmlldzpfaWQxODM6eG1sV29ya2lucHJvZ3Jlc3MiPjwvc3Bhbj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBwdWJpZCAgID0gIjE2MCI7CnZhciBwdWJ0eXBlID0gIklTIjsKCnZhciBYTUx1cmw9Ii93ZWJzdG9yZS93ZWJzdG9yZS5uc2YvQWpheFJlcXVlc3RYTUw/T3BlbmFnZW50JnVybD0iKyIiK3B1YmlkOwp2YXIgdGFyZ2V0SWRIaXN0b3J5PSJ2aWV3Ol9pZDE4Mzp4bWxIaXN0b3J5IjsKdmFyIHRhcmdldElkV29ya2lucHJvZ3Jlc3M9InZpZXc6X2lkMTgzOnhtbFdvcmtpbnByb2dyZXNzIjsKdmFyIGFwSGlzdCA9IGRvam8uYnlJZCh0YXJnZXRJZEhpc3RvcnkpOwp2YXIgYXBXb3JrID0gZG9qby5ieUlkKHRhcmdldElkV29ya2lucHJvZ3Jlc3MpOwoKdHJ5IHsKCglkb2pvLnhockdldCh7CgkJdXJsOiBYTUx1cmwsCgkJbG9hZDogZnVuY3Rpb24oWE1McmVzdWx0KSB7CgkJCVhNTHBhcnNlSGlzdG9yeShYTUxyZXN1bHQsIHRhcmdldElkSGlzdG9yeSx0YXJnZXRJZFdvcmtpbnByb2dyZXNzKTsKCQl9LAogICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yLCBpb2FyZ3MpewoJICAgICAgYXBIaXN0LmlubmVySFRNTCA9ICJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiA8YnIgLz4iICsgZXJyb3I7CgkgICAgICBhcFdvcmsuaW5uZXJIVE1MID0gIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6IDxiciAvPiIgKyBlcnJvcjsKCQkJfQoJCX0pOwoJCQoJICBpZiAocHVidHlwZT09J1RSRicpIHsJCQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5dGFiIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICB9CgkJCn0gY2F0Y2goZSkgewphbGVydCgiZXJyb3IgIiArIGUpfQo8L3NjcmlwdD4KPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRyZiI+PHA+VGhlIGZvbGxvd2luZyB0ZXN0IHJlcG9ydCBmb3JtcyBhcmUgcmVsYXRlZDo8L3A+PGRpdiBpZD0idmlldzpfaWQxODQ6cmVwZWF0cmVsYXRlZFRSRiI+CjwvZGl2Pgo8YnI+PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InRhZ2Nsb3VkIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJsLWFzaWRlIj48Zm9ybSBpZD0idmlldzpfaWQyMDY6X2lkMzA0IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cFB1YmxpY2F0aW9uLnhzcD9PcGVuJmFtcDtwdWJpZD0xNjAmYW1wO3Rlc3QiIGNsYXNzPSJ4c3BGb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KPGgzPlJlbGF0ZWQgcHVibGljYXRpb25zPC9oMz48ZGl2IGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6b3RoZXJwYXJ0c2RpdiI+Cjx1bD48c3BhbiBpZD0idmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHMiPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjEzMTUib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMToyMDE3JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDE6MjAxNzwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjY4NDQib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMjoyMDIwJywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDI6MjAyMDwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vNjg3MDkib25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnUmVsYXRlZFB1YicsICdJRUMgNjAwNTAtMTAyOjIwMDcvQU1EMzoyMDIxJywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMjoyMDA3L0FNRDM6MjAyMTwvYT48L2xpPjxsaT48YSBocmVmPSIvcHVibGljYXRpb24vMTYxIm9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ1JlbGF0ZWRQdWInLCAnSUVDIDYwMDUwLTEwMzoyMDA5JywgJ0lFQyA2MDA1MC0xMDI6MjAwNycpOyI+SUVDIDYwMDUwLTEwMzoyMDA5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9wdWJsaWNhdGlvbi82MTMxNyJvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdSZWxhdGVkUHViJywgJ0lFQyA2MDA1MC0xMDM6MjAwOS9BTUQxOjIwMTcnLCAnSUVDIDYwMDUwLTEwMjoyMDA3Jyk7Ij5JRUMgNjAwNTAtMTAzOjIwMDkvQU1EMToyMDE3PC9hPjwvbGk+PC9zcGFuPjxsaSBjbGFzcz0ibW9yZSIgaWQ9IndyIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOm5vbmUiPjxhIGlkPSJ2aWV3Ol9pZDIwNjpfaWQzMDQ6bGlua3Nob3dhbGwiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5TaG93IGFsbCAmcmFxdW87PC9hPjwvbGk+PC91bD48cD48L3A+PC9kaXY+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHZpZXdpZCIgaWQ9InZpZXc6X2lkMjA2Ol9pZDMwNF9fVlVJRCIgdmFsdWU9IiFnODExcHYycmVmISI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0aWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcGV4ZWNpZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiQkeHNwc3VibWl0dmFsdWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIkJHhzcHN1Ym1pdHNjcm9sbCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InZpZXc6X2lkMjA2Ol9pZDMwNCIgdmFsdWU9InZpZXc6X2lkMjA2Ol9pZDMwNCI+PC9mb3JtPgo8aDMgaWQ9InZpZXc6X2lkMjEyOmNvbXB1dGVkRmllbGQyIj5Nb3JlIGluZm9ybWF0aW9uPC9oMz48dWwgY2xhc3M9ImlubGluZSI+PGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlwdWIiPgo8L2Rpdj4KPGRpdiBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQyI+CjxsaT48YSBpZD0idmlldzpfaWQyMTI6cmVwZWF0QmxvY2tMaW5rYnlUQzowOmxpbmsyIiBocmVmPSJodHRwczovL2V0ZWNoLmllYy5jaC9pc3N1ZS8yMDE5LTAyL2luLXRoZS1iZWdpbm5pbmctdGhlcmUtd2FzdGVybWlub2xvZ3kiIHRhcmdldD0iX2JsYW5rIj5BcnRpY2xlOiBhdm9pZGluZyBhbWJpZ3VpdHk8L2E+PC9saT48L2Rpdj4KPC91bD48YnI+PGgzPlNoYXJlIHRoaXMgcGFnZTwvaDM+PHVsIGNsYXNzPSJpbmxpbmUiPjxsaT4mbmJzcDs8YSBpZD0idmlldzpfaWQyMTk6bGluazEiIGhyZWY9Im1haWx0bzo/c3ViamVjdD1DaGVjayUyMG91dCUyMElFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO2JvZHk9SGVsbG8lMkMlMEElMEFJJTIwdGhvdWdodCUyMHlvdSUyMG1pZ2h0JTIwYmUlMjBpbnRlcmVzdGVkJTIwYnklMjB0aGlzJTIwcHVibGljYXRpb24lM0ElMEElMEElMDlodHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJTBBJTBBLS0lMEFTZW50JTIwZnJvbSUyMHRoZSUyMElFQyUyMFdlYnN0b3JlJTIwd2Vic3RvcmUuaWVjLmNoJTBBIiBjbGFzcz0ic3MtaWNvbiBzcy1tYWlsLXJlZ3VsYXIiIHRhcmdldD0iX2JsYW5rIj5tYWlsPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTAiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RleHQ9Q2hlY2slMjBvdXQlMjBJRUMlMjA2MDA1MC0xMDIlM0EyMDA3JmFtcDt2aWE9SUVDU3RhbmRhcmRzIiBjbGFzcz0ic3MtaWNvbiBzcy1zb2NpYWwtcmVndWxhciIgY2hhcnNldD0iVVRGLTgiIHRhcmdldD0iX2JsYW5rIj5Ud2l0dGVyPC9hPiZuYnNwOzwvbGk+PGxpPiZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIxOTpsaW5rMTEiIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT1odHRwJTNBLy93ZWJzdG9yZS5pZWMuY2gvcHVibGljYXRpb24vMTYwJmFtcDt0PUNoZWNrJTIwb3V0JTIwSUVDJTIwNjAwNTAtMTAyJTNBMjAwNyIgY2xhc3M9InNzLWljb24gc3Mtc29jaWFsLXJlZ3VsYXIiIGNoYXJzZXQ9IlVURi04IiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+Jm5ic3A7PC9saT48bGk+Jm5ic3A7PGEgaWQ9InZpZXc6X2lkMjE5OmxpbmsxMyIgaHJlZj0iaHR0cDovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZhbXA7dXJsPWh0dHAlM0EvL3dlYnN0b3JlLmllYy5jaC9wdWJsaWNhdGlvbi8xNjAmYW1wO3RpdGxlPUlFQyUyMDYwMDUwLTEwMiUzQTIwMDcmYW1wO3N1bW1hcnk9JmFtcDtzb3VyY2U9SUVDJTIwV2Vic3RvcmUiIGNsYXNzPSJzcy1pY29uIHNzLXNvY2lhbC1yZWd1bGFyIiBjaGFyc2V0PSJVVEYtOCIgdGFyZ2V0PSJfYmxhbmsiPkxpbmtlZEluPC9hPiZuYnNwOzwvbGk+PC91bD48L2Rpdj48aHIgY2xhc3M9IndpZGUiPjxkaXYgY2xhc3M9ImwtcXVhcnRlcjEiPjxoND5TaGFyZSB5b3VyIHB1YmxpY2F0aW9uczwvaDQ+PHA+TGVhcm4gaG93IHRvIHNoYXJlIHlvdXIgcHVibGljYXRpb25zIHdpdGggeW91cgoJCQljb2xsZWFndWVzLCZuYnNwOzxhIGlkPSJ2aWV3Ol9pZDIzNDpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TlBQOEgiPnVzaW5nIG5ldHdvcmtpbmcgb3B0aW9uczwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjIiPjxoND5QYXltZW50IGluZm9ybWF0aW9uPC9oND48cD5PdXIgcHJpY2VzIGFyZSBpbiBTd2lzcyBmcmFuY3MgKDxhYmJyIHRpdGxlPSJTd2lzcyBmcmFuY3MiPkNIRjwvYWJicj4pLiBXZSBhY2NlcHQgYWxsIG1ham9yIGNyZWRpdCBjYXJkcyAoQW1lcmljYW4gRXhwcmVzcywgTWFzdGVyY2FyZCBhbmQKCQkJVmlzYSwgSkNCIGFuZCBDVVApLCBQYXlQYWwgYW5kIGJhbmsgdHJhbnNmZXJzIGFzIGZvcm0gb2YgcGF5bWVudC48L3A+PC9kaXY+PGhyIGNsYXNzPSJ3aWRlIj48ZGl2IGNsYXNzPSJsLXF1YXJ0ZXIzIj48aDQ+S2VlcCBpbiB0b3VjaDwvaDQ+PHA+S2VlcCB1cCB0byBkYXRlIHdpdGggbmV3IHB1YmxpY2F0aW9uIHJlbGVhc2VzIGFuZAoJCQlhbm5vdW5jZW1lbnRzIHdpdGgKCQkJb3VyIGZyZWUmbmJzcDs8YSBpZD0idmlldzpfaWQyMzQ6bGluazEiIGhyZWY9IiMiIGNsYXNzPSJ4c3BMaW5rIj5JRUMgSnVzdCBQdWJsaXNoZWQgZW1haWwgbmV3c2xldHRlcjwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImwtcXVhcnRlcjQiPjxoNCBpZD0idmlldzpfaWQyMzQ6Y29tcHV0ZWRGaWVsZDYiPkNvbnRhY3QgY3VzdG9tZXIgc2VydmljZXM8L2g0PjxwIGlkPSJ2aWV3Ol9pZDIzNDpjb21wdXRlZEZpZWxkNyI+UGxlYXNlIDxhIGhyZWY9Im1haWx0bzpzYWxlc0BpZWMuY2giPnNlbmQgeW91ciBlbnF1aXJ5IGJ5IGVtYWlsPC9hPiBvciBjYWxsIHVzIG9uICs0MSAyMiA5MTkgMDIgMTEgYmV0d2VlbiAwOTowMCAmbmRhc2g7IDE3OjAwIENFVCBNb25kYXkgdG8gRnJpZGF5LjwvcD48L2Rpdj48L3NlY3Rpb24+PC9kaXY+PGZvb3RlciByb2xlPSJjb250ZW50aW5mbyI+PGRpdiBjbGFzcz0iaW5uZXIiPjxwIGNsYXNzPSJzb2NpYWwiPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9JbnRlcm5hdGlvbmFsRWxlY3Ryb3RlY2huaWNhbENvbW1pc3Npb24iIHRpdGxlPSJGYWNlYm9vayI+PHNwYW4gY2xhc3M9Imljb24tZmFjZWJvb2siPjwvc3Bhbj48Yj5GYWNlYm9vazwvYj48L2E+PGEgY2xhc3M9InN5bWJvbCIgaHJlZj0iaHR0cHM6Ly93d3cudHdpdHRlci5jb20vSUVDU3RhbmRhcmRzIiB0aXRsZT0iVHdpdHRlciI+PHNwYW4gY2xhc3M9Imljb24tdHdpdHRlciI+PC9zcGFuPjxiPlR3aXR0ZXI8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2ludGVybmF0aW9uYWwtZWxlY3Ryb3RlY2huaWNhbC1jb21taXNzaW9uLWllYy0vIiB0aXRsZT0iTGlua2VkSW4iPjxzcGFuIGNsYXNzPSJpY29uLWxpbmtlZGluIj48L3NwYW4+PGI+TGlua2VkSW48L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LnBpbnRlcmVzdC5jb20vaWVjc3RhbmRhcmRzIiB0aXRsZT0iUGludGVyZXN0Ij48c3BhbiBjbGFzcz0iaWNvbi1waW50ZXJlc3QiPjwvc3Bhbj48Yj5QaW50ZXJlc3Q8L2I+PC9hPjxhIGNsYXNzPSJzeW1ib2wiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUN4R2tfU19ybll5RkJjVGlkZ255N0VBIiB0aXRsZT0iWW91VHViZSI+PHNwYW4gY2xhc3M9Imljb24teW91dHViZSI+PC9zcGFuPjxiPllvdVR1YmU8L2I+PC9hPjwvcD48dWwgY2xhc3M9ImxpbmtzIHRlcnRpYXJ5IGlubGluZSI+PGxpPjxhIGlkPSJ2aWV3Ol9pZDI1ODpsaW5rMiIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9Q1NKTi05VkNCV0oiPlRlcm1zICZhbXA7IENvbmRpdGlvbnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2gvcHJpdmFjeS8iPlByaXZhY3k8L2E+PC9saT48L3VsPjx1bCBjbGFzcz0iY29weXJpZ2h0IHRlcnRpYXJ5IGlubGluZSI+PGxpPjxpPjxhIGlkPSJ2aWV3Ol9pZDI1ODpsaW5rMSIgaHJlZj0iL3dlYnN0b3JlL3dlYnN0b3JlLm5zZi94cEZBUS54c3A/aWQ9R0ZPVC03TldONlAiPkNvcHlyaWdodDwvYT48L2k+Jm5ic3A7JmNvcHk7Jm5ic3A7PGEgaHJlZj0iaHR0cDovL3d3dy5pZWMuY2giPklFQzwvYT4mbmJzcDs8c3BhbiBpZD0idmlldzpfaWQyNTg6Y29tcHV0ZWRGaWVsZDEiIGNsYXNzPSJ4c3BUZXh0Q29tcHV0ZWRGaWVsZCI+MjAyMjwvc3Bhbj4uJm5ic3A7QWxsIHJpZ2h0cyByZXNlcnZlZC48L2xpPjwvdWw+PHAgY2xhc3M9InNlbGYiPjxhIGhyZWY9IiNpZWMtd2Vic3RvcmUiPlRvcDxzcGFuIGNsYXNzPSJpY29uLWNpcmNsZS1hcnJvdy11cCI+PC9zcGFuPjwvYT48L3A+PC9kaXY+PC9mb290ZXI+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy92ZW5kb3IvanF1ZXJ5LTEuOC4zLW1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9jb25maWcuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvd2Vic3RvcmVfQnVpbGQvanMvcGx1Z2lucy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii93ZWJzdG9yZV9CdWlsZC9qcy9tYWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgLy92YXIgZWxsaXBzZXN0ZXh0ID0gIi4uLiI7CiAgICB2YXIgZWxsaXBzZXN0ZXh0ID0gIiI7CiAgICB2YXIgbW9yZXRleHQgPSAiU2hvdyBtb3JlIMK7IjsKICAgIHZhciBsZXNzdGV4dCA9ICJTaG93IGxlc3MiOwogICAgCiAgICB2YXIgY29udGVudEhlaWdodDsKICAgIHZhciBzaG93SGVpZ2h0PTIwMDsKICAgIAoKICAgICQoJy5yZWFkbW9yZScpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGNvbnRlbnQgPSAkKHRoaXMpLmh0bWwoKTsKCiAgICAgICAgY29udGVudEhlaWdodCA9ICQoJy5yZWFkbW9yZScpLmhlaWdodCgpOyAKICAgICAgICBpZihjb250ZW50SGVpZ2h0ID4gc2hvd0hlaWdodCkgewogICAgICAgIAkkKCcucmVhZG1vcmUnKS5jc3MoewoJCQkgICAgICAgICJtYXgtaGVpZ2h0IjpzaG93SGVpZ2h0LAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiaGlkZGVuIgoJCQkgICAgfSk7CiAgICAgICAgICAgICQodGhpcykuYWZ0ZXIoJzxzcGFuIGNsYXNzPSJtb3JlZWxsaXBzZXMiPicgKyBlbGxpcHNlc3RleHQrICc8L3NwYW4+PHNwYW4+PGEgaHJlZj0iIiBjbGFzcz0ibW9yZWxpbmsiPicgKyBtb3JldGV4dCArICc8L2E+PC9zcGFuPicpOwogICAgICAgIH0gCiAgICB9KTsKIAogICAgJCgiLm1vcmVsaW5rIikuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgICBpZigkKHRoaXMpLmhhc0NsYXNzKCJsZXNzIikpIHsKICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygibGVzcyIpOwogICAgICAgICAgICAkKHRoaXMpLmh0bWwobW9yZXRleHQpOwogICAgICAgICAgICAKICAgICAgICAgICAgJCgnLnJlYWRtb3JlJykuY3NzKHsKCQkJICAgICAgICAibWF4LWhlaWdodCI6c2hvd0hlaWdodCwKCQkJICAgICAgICAib3ZlcmZsb3ciIDogImhpZGRlbiIsCgkJCSAgICAgICAgIm1pbi1oZWlnaHQiOnNob3dIZWlnaHQKCQkJfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygibGVzcyIpOwogICAgICAgICAgICAkKHRoaXMpLmh0bWwobGVzc3RleHQpOwogICAgCgkJCSQoJy5yZWFkbW9yZScpLmNzcyh7CQkJCQkKCQkJICAgICAgICAibWF4LWhlaWdodCI6IiIsCgkJCSAgICAgICAgIm1pbi1oZWlnaHQiOiIiLAoJCQkgICAgICAgICJvdmVyZmxvdyIgOiAiIgoJCQl9KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJCh0aGlzKS5wcmV2KCkudG9nZ2xlKCk7ICAvLyBzaG93L2hpZGUgIi4uLiIgCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7Cn0pOwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoKZnVuY3Rpb24gdmlld19faWQzX19pZDQ2X2NsaWVudFNpZGVfb25DbGllbnRMb2FkKHRoaXNFdmVudCkgewoKJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsgCgl0cnl7CQoJCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoJCXZhciBiYXNrZXRuYW1lPXJldHVybkNvb2tpZVZhbChqc0Nvb2tpZU5hbWUpOwoJCQoJCWNvbXB1dGVCYXNrZXRJdGVtcyhiYXNrZXRuYW1lKTsKCQljb21wdXRlREFGaWxlcygpOwoJCSQoImRpdi5idXlib3ggZm9ybSIpLnN1Ym1pdCgKCQkJCQkJZnVuY3Rpb24oKSB7CgoJCQkJCQkJdmFyIG1lZGlhID0gJCh0aGlzKS5hdHRyKCdjbGFzcycpOwoJCQkJCQkJdmFyIHByaWNlID0gJCh0aGlzKS5maW5kKCgnaW5wdXRbbmFtZT1hcnRfcHJpY2VdJykpCgkJCQkJCQkJCS52YWwoKTsKCQkJCQkJCS8vdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkvLwkJKCdzZWxlY3RbbmFtZT1hcnRfbGFuZ10nKSkudmFsKCk7IC8vIHB1YmlkK2xhbmcKCQkJCQkJCS8vdmFyIGxhbmdhcnRudW0gPSAkKHRoaXMpLmZpbmQoCgkJCQkJCQkvLwkJKCdzZWxlY3RbY2xhc3M9bGFuZ3N3aXRjaF0nKSkudmFsKCk7IC8vIHB1YmlkK2xhbmcKCQkJCQkJCQkJCgkJCQkJCQl2YXIgbGFuZ2FydG51bSA9ICQodGhpcykuZmluZCgKCQkJCQkJCQkJKCdbY2xhc3M9bGFuZ3N3aXRjaF0nKSkudmFsKCk7IC8vIHB1YmlkK2xhbmcJCQoJCQkJCQkJCQkKCQkJCQkJCQoJCQkJCQkJCQkKCQkJCQkJCXZhciBiYXNrZXRuYW1lMiA9IGdldENvb2tpZShqc0Nvb2tpZU5hbWUpOwoJCQkJCQkJQWRkVG9CYXNrZXQobWVkaWEsIGxhbmdhcnRudW0sIGJhc2tldG5hbWUyKTsKCgkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCX0pOwoJCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoJCX0gY2F0Y2goZSkge2FsZXJ0KGUubWVzc2FnZSk7fQoJCQp9KTsKCn0KCmZ1bmN0aW9uIHZpZXdfX2lkMjM0X19pZDI1NV9jbGllbnRTaWRlX29uY2xpY2sodGhpc0V2ZW50KSB7CnZhciBteVdpbmRvdyA9IHdpbmRvdy5vcGVuKCJodHRwOi8vZWVwdXJsLmNvbS9iWTN2NzkiLCAiX2JsYW5rIiwgInRvb2xiYXI9bm8sIHNjcm9sbGJhcnM9bm8sIHJlc2l6YWJsZT1ubywgdG9wPTIwMCwgbGVmdD01MDAsIHdpZHRoPTkwMCwgaGVpZ2h0PTU1NSIpOwoKCn0KClhTUC5hZGRPbkxvYWQoZnVuY3Rpb24oKSB7ClhTUC5hdHRhY2hFdmVudCgidmlldzpfaWQzOl9pZDQ2IiwgInZpZXc6X2lkMyIsICJvbkNsaWVudExvYWQiLCB2aWV3X19pZDNfX2lkNDZfY2xpZW50U2lkZV9vbkNsaWVudExvYWQsIGZhbHNlLCAyKTsKWFNQLmF0dGFjaFBhcnRpYWwoInZpZXc6X2lkMjA2Ol9pZDMwNDpfaWQyMTAiLCAidmlldzpfaWQyMDY6X2lkMzA0OmxpbmtzaG93YWxsIiwgInZpZXc6X2lkMjA2Ol9pZDMwNDpsaW5rc2hvd2FsbCIsICJvbmNsaWNrIiwgZnVuY3Rpb24oKXt9LCAyLCAidmlldzpfaWQyMDY6X2lkMzA0Om90aGVycGFydHNkaXYiKTsKWFNQLmF0dGFjaEV2ZW50KCJ2aWV3Ol9pZDIzNDpfaWQyNTUiLCAidmlldzpfaWQyMzQ6bGluazEiLCAib25jbGljayIsIHZpZXdfX2lkMjM0X19pZDI1NV9jbGllbnRTaWRlX29uY2xpY2ssIGZhbHNlLCAyKTsKfSk7IAoKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==
230
230
  http_version:
231
- recorded_at: Tue, 08 Feb 2022 16:58:04 GMT
231
+ recorded_at: Fri, 18 Mar 2022 13:31:53 GMT
232
232
  - request:
233
233
  method: get
234
234
  uri: https://webstore.iec.ch/webstore/webstore.nsf/AjaxRequestXML?Openagent&url=160
@@ -258,17 +258,17 @@ http_interactions:
258
258
  Server:
259
259
  - Lotus-Domino
260
260
  Date:
261
- - Tue, 08 Feb 2022 16:57:29 GMT
261
+ - Fri, 18 Mar 2022 13:31:33 GMT
262
262
  Cache-Control:
263
263
  - NoCache
264
264
  X-Cache:
265
265
  - Miss from cloudfront
266
266
  Via:
267
- - 1.1 673c96d1f19de21216629aa48d90ac92.cloudfront.net (CloudFront)
267
+ - 1.1 5a8c07b858d219acd503ad0cde74e54a.cloudfront.net (CloudFront)
268
268
  X-Amz-Cf-Pop:
269
- - FRA56-C1
269
+ - BUD50-C1
270
270
  X-Amz-Cf-Id:
271
- - PfT8hdFdWHRwjPtlfz7JBRdh44R22zAfR3OSdaMB8hDmtX2V6hsb8w==
271
+ - 4MsALB5OJVIjqDpRNXiwtK_suckkgldgrkx4YR3G743yyU-JEYZKYA==
272
272
  body:
273
273
  encoding: ASCII-8BIT
274
274
  string: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RES><ROW><FULL_NAME>IEC
@@ -281,5 +281,5 @@ http_interactions:
281
281
 
282
282
  '
283
283
  http_version:
284
- recorded_at: Tue, 08 Feb 2022 16:58:05 GMT
284
+ recorded_at: Fri, 18 Mar 2022 13:31:53 GMT
285
285
  recorded_with: VCR 5.1.0