video_info 2.6.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (275) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/unit_test.yml +39 -0
  3. data/Guardfile +1 -1
  4. data/README.md +10 -21
  5. data/lib/video_info.rb +5 -4
  6. data/lib/video_info/provider.rb +17 -2
  7. data/lib/video_info/providers/dailymotion.rb +13 -0
  8. data/lib/video_info/providers/vimeo_api.rb +12 -12
  9. data/lib/video_info/providers/vimeo_scraper.rb +66 -16
  10. data/lib/video_info/providers/youtube.rb +12 -0
  11. data/lib/video_info/providers/youtube_api.rb +12 -13
  12. data/lib/video_info/providers/youtube_scraper.rb +44 -25
  13. data/lib/video_info/providers/youtubeplaylist_api.rb +15 -1
  14. data/lib/video_info/version.rb +1 -1
  15. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_invalid_video_url/_available_/1_2_2_1_1.yml +29 -36
  16. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_valid_video/_available_/1_2_1_1_1.yml +29 -34
  17. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/{_description → _author}/1_3_7_1.yml +35 -39
  18. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/{_duration → _author_thumbnail}/1_3_9_1.yml +35 -39
  19. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/{_keywords → _author_url}/1_3_8_1.yml +35 -39
  20. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_date/should_show_correct_date.yml +35 -39
  21. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/{_thumbnail_large/1_3_15_1.yml → _description/1_3_10_1.yml} +35 -39
  22. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_duration/1_3_12_1.yml +91 -0
  23. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_keywords/1_3_11_1.yml +91 -0
  24. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail/1_3_21_1.yml +91 -0
  25. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_large/1_3_18_1.yml +91 -0
  26. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_medium/1_3_17_1.yml +91 -0
  27. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/{_view_count → _thumbnail_small}/1_3_16_1.yml +35 -39
  28. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_title/1_3_6_1.yml +34 -38
  29. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_view_count/1_3_22_1.yml +91 -0
  30. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/1_2_3_1_1.yml +39 -852
  31. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/2_2_3_1_1.yml +30 -21
  32. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/1_2_2_1_1.yml +45 -854
  33. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/2_2_2_1_1.yml +30 -21
  34. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/1_2_1_1_1.yml +45 -2579
  35. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/2_2_1_1_1.yml +28 -79
  36. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_13_2_1.yml +130 -0
  37. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_13_3_1.yml +130 -0
  38. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_13_4_1.yml +132 -0
  39. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_13_1_1.yml +130 -0
  40. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_13_7_1.yml +128 -0
  41. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_13_6_1.yml +131 -0
  42. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_13_8_1.yml +130 -0
  43. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_13_10_1.yml +131 -0
  44. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_13_9_1.yml +128 -0
  45. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_13_14_1.yml +129 -0
  46. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_13_13_1.yml +129 -0
  47. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_13_12_1.yml +129 -0
  48. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_13_5_1.yml +130 -0
  49. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_13_15_1.yml +129 -0
  50. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_13_11_1.yml +129 -0
  51. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_20_1.yml +158 -0
  52. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_20_1.yml +80 -0
  53. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_19_1.yml +158 -0
  54. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_19_1.yml +85 -0
  55. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_21_1.yml +159 -0
  56. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_21_1.yml +80 -0
  57. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_date/should_have_correct_upload_date.yml +143 -1498
  58. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/1_3_7_1.yml +45 -1487
  59. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/2_3_7_1.yml +42 -30
  60. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/1_3_9_1.yml +98 -1470
  61. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/2_3_9_1.yml +45 -28
  62. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/1_3_11_1.yml +100 -1471
  63. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/2_3_11_1.yml +42 -30
  64. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_keywords/should_return_a_string_list_of_keywords.yml +144 -1499
  65. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_18_1.yml +236 -0
  66. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_18_1.yml +82 -0
  67. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/1_3_15_1.yml +176 -1470
  68. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/2_3_15_1.yml +43 -29
  69. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/1_3_14_1.yml +177 -1472
  70. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/2_3_14_1.yml +43 -27
  71. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/1_3_13_1.yml +176 -1470
  72. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/2_3_13_1.yml +43 -27
  73. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/1_3_6_1.yml +44 -1487
  74. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/2_3_6_1.yml +45 -28
  75. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_22_1.yml +158 -0
  76. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_22_1.yml +84 -0
  77. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/1_3_10_1.yml +99 -1473
  78. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/2_3_10_1.yml +43 -29
  79. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/1_12_1_1.yml +234 -0
  80. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/2_12_1_1.yml +78 -0
  81. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/1_12_2_1.yml +233 -0
  82. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/2_12_2_1.yml +78 -0
  83. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/1_12_3_1.yml +235 -0
  84. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/2_12_3_1.yml +73 -0
  85. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/1_12_4_1.yml +234 -0
  86. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/2_12_4_1.yml +77 -0
  87. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_invalid_video/_available_/1_2_2_1_1.yml +29 -25
  88. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_valid_video/_available_/1_2_1_1_1.yml +31 -25
  89. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_duration/1_4_7_1.yml +37 -32
  90. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_height/1_4_9_1.yml +37 -32
  91. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_large/1_4_12_1.yml +37 -31
  92. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_medium/1_4_11_1.yml +37 -31
  93. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_small/1_4_10_1.yml +37 -32
  94. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_title/1_4_6_1.yml +37 -31
  95. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_width/1_4_8_1.yml +37 -31
  96. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_duration/1_3_7_1.yml +36 -31
  97. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_height/1_3_9_1.yml +36 -29
  98. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail/1_3_15_1.yml +87 -0
  99. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_large/1_3_12_1.yml +36 -29
  100. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_medium/1_3_11_1.yml +36 -29
  101. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_small/1_3_10_1.yml +36 -31
  102. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_title/1_3_6_1.yml +36 -31
  103. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_width/1_3_8_1.yml +36 -29
  104. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_2_1_1.yml +25 -482
  105. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_2_1_1.yml +82 -24
  106. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_2_11_1.yml +24 -484
  107. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_2_11_1.yml +82 -24
  108. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_2_8_1.yml +22 -484
  109. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_2_8_1.yml +82 -24
  110. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_2_10_1.yml +23 -483
  111. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_2_10_1.yml +82 -24
  112. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_2_9_1.yml +26 -486
  113. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_2_9_1.yml +82 -24
  114. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_2_7_1.yml +26 -486
  115. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_2_7_1.yml +82 -24
  116. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_18_1.yml +59 -0
  117. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_18_1.yml +114 -0
  118. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/1_2_1_1_1.yml +25 -3896
  119. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/2_2_1_1_1.yml +153 -93
  120. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_3_1_1.yml +25 -544
  121. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_3_1_1.yml +80 -83
  122. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_a_video_without_description/_description/1_1_1_1.yml +59 -0
  123. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_date/should_return_date_video_was_posted.yml +180 -3843
  124. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/1_17_7_1.yml +20 -3968
  125. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/2_17_7_1.yml +153 -93
  126. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/1_17_9_1.yml +23 -3946
  127. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/2_17_9_1.yml +153 -93
  128. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/1_17_8_1.yml +25 -3950
  129. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/2_17_8_1.yml +153 -93
  130. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/1_17_6_1.yml +23 -3910
  131. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/2_17_6_1.yml +153 -93
  132. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_17_1.yml +59 -0
  133. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_17_1.yml +187 -0
  134. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/1_3_6_1.yml +60 -3951
  135. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/2_3_6_1.yml +153 -93
  136. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/1_3_7_1.yml +58 -3970
  137. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/2_3_7_1.yml +272 -149
  138. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/1_3_8_1.yml +22 -4043
  139. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/2_3_8_1.yml +272 -149
  140. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/can_be_called_twice_and_receive_the_same_value.yml +391 -0
  141. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_date/should_return_date_video_was_posted.yml +175 -3914
  142. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/1_3_10_1.yml +25 -3957
  143. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/2_3_10_1.yml +153 -93
  144. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/1_3_12_1.yml +24 -3926
  145. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/2_3_12_1.yml +153 -93
  146. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/1_3_11_1.yml +24 -3893
  147. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/2_3_11_1.yml +153 -93
  148. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/1_3_9_1.yml +23 -3938
  149. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/2_3_9_1.yml +153 -93
  150. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_21_1.yml +59 -0
  151. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_21_1.yml +187 -0
  152. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/1_2_2_1_1.yml +88 -30
  153. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/1_2_3_1_1.yml +121 -63
  154. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/1_2_1_1_1.yml +121 -63
  155. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_21_1.yml +165 -0
  156. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_22_1.yml +274 -0
  157. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_23_1.yml +274 -0
  158. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/1_3_7_1.yml +132 -74
  159. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/1_3_8_1.yml +132 -74
  160. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_18_1.yml +165 -0
  161. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/1_3_15_1.yml +132 -74
  162. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large_2x/1_3_16_1.yml +165 -0
  163. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_maxres/1_3_17_1.yml +165 -0
  164. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/1_3_14_1.yml +132 -74
  165. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/1_3_13_1.yml +132 -74
  166. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/1_3_6_1.yml +132 -74
  167. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_videos/returns_list_of_videos_in_playlist.yml +79 -234
  168. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/1_4_2_1.yml +82 -24
  169. data/spec/lib/video_info/providers/dailymotion_spec.rb +34 -4
  170. data/spec/lib/video_info/providers/vimeo_spec.rb +77 -16
  171. data/spec/lib/video_info/providers/wistia_spec.rb +26 -8
  172. data/spec/lib/video_info/providers/youtube_playlist_spec.rb +186 -176
  173. data/spec/lib/video_info/providers/youtube_scraper_spec.rb +14 -0
  174. data/spec/lib/video_info/providers/youtube_spec.rb +71 -29
  175. data/spec/lib/video_info_spec.rb +0 -4
  176. data/spec/spec_helper.rb +6 -1
  177. data/tmp/rspec_guard_result +25 -0
  178. data/video_info.gemspec +8 -8
  179. metadata +143 -222
  180. data/.travis.yml +0 -14
  181. data/lib/video_info/providers/vkontakte.rb +0 -194
  182. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_medium/1_3_14_1.yml +0 -95
  183. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_small/1_3_13_1.yml +0 -95
  184. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_17_1.yml +0 -1530
  185. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_17_1.yml +0 -68
  186. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_16_1.yml +0 -1530
  187. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_16_1.yml +0 -68
  188. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_18_1.yml +0 -1529
  189. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_18_1.yml +0 -68
  190. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_19_1.yml +0 -1530
  191. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_19_1.yml +0 -68
  192. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_author/1_3_17_1.yml +0 -2559
  193. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_author/2_3_17_1.yml +0 -159
  194. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_author_thumbnail/1_3_16_1.yml +0 -2559
  195. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_author_thumbnail/2_3_16_1.yml +0 -159
  196. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_author_url/1_3_18_1.yml +0 -2559
  197. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_author_url/2_3_18_1.yml +0 -159
  198. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_date/should_have_correct_upload_date.yml +0 -2714
  199. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_description/1_3_7_1.yml +0 -2692
  200. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_description/2_3_7_1.yml +0 -159
  201. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_duration/1_3_9_1.yml +0 -2829
  202. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_duration/2_3_9_1.yml +0 -159
  203. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_height/1_3_11_1.yml +0 -2828
  204. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_height/2_3_11_1.yml +0 -159
  205. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_keywords/should_return_a_string_list_of_keywords.yml +0 -2716
  206. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_thumbnail_large/1_3_15_1.yml +0 -2560
  207. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_thumbnail_large/2_3_15_1.yml +0 -159
  208. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_thumbnail_medium/1_3_14_1.yml +0 -2558
  209. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_thumbnail_medium/2_3_14_1.yml +0 -159
  210. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_thumbnail_small/1_3_13_1.yml +0 -2558
  211. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_thumbnail_small/2_3_13_1.yml +0 -159
  212. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_title/1_3_6_1.yml +0 -2961
  213. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_title/2_3_6_1.yml +0 -159
  214. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_view_count/1_3_19_1.yml +0 -2560
  215. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_view_count/2_3_19_1.yml +0 -159
  216. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_width/1_3_10_1.yml +0 -2560
  217. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/_width/2_3_10_1.yml +0 -159
  218. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_hashes/available_/1_2_6_1_1.yml +0 -2996
  219. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_invalid_video/available_/1_2_2_1_1.yml +0 -46
  220. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_private_video/available_/1_2_3_1_1.yml +0 -865
  221. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect/available_/1_2_4_1_1.yml +0 -666
  222. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect_to_main_page_for_auth/available_/1_2_5_1_1.yml +0 -46
  223. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_valid_video/available_/1_2_1_1_1.yml +0 -2118
  224. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author/1_5_14_1.yml +0 -518
  225. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author_thumbnail/1_5_15_1.yml +0 -519
  226. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author_url/1_5_16_1.yml +0 -520
  227. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/description/1_5_8_1.yml +0 -518
  228. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/duration/1_5_10_1.yml +0 -517
  229. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/embed_code/1_5_6_1.yml +0 -517
  230. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/embed_url/1_5_5_1.yml +0 -519
  231. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/height/1_5_12_1.yml +0 -517
  232. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/title/1_5_7_1.yml +0 -517
  233. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/view_count/1_5_13_1.yml +0 -521
  234. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/width/1_5_11_1.yml +0 -517
  235. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/author/1_3_7_1.yml +0 -399
  236. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/embed_code/1_3_6_1.yml +0 -399
  237. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/embed_url/1_3_5_1.yml +0 -399
  238. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/title/1_3_4_1.yml +0 -399
  239. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video-54799401_165822734/title/1_7_4_1.yml +0 -682
  240. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video3552522_171340713/embed_url/1_10_1_1.yml +0 -501
  241. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/description/1_6_8_1.yml +0 -449
  242. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/duration/1_6_10_1.yml +0 -449
  243. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/embed_code/1_6_6_1.yml +0 -449
  244. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/embed_url/1_6_5_1.yml +0 -449
  245. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/height/1_6_12_1.yml +0 -449
  246. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/title/1_6_7_1.yml +0 -449
  247. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/view_count/1_6_13_1.yml +0 -449
  248. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/width/1_6_11_1.yml +0 -449
  249. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author/1_4_5_1.yml +0 -527
  250. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_thumbnail/1_4_6_1.yml +0 -527
  251. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_url/1_4_7_1.yml +0 -527
  252. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/title/1_4_4_1.yml +0 -527
  253. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_15_1.yml +0 -516
  254. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_15_1.yml +0 -56
  255. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_16_1.yml +0 -3948
  256. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_16_1.yml +0 -127
  257. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_19_1.yml +0 -3950
  258. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_19_1.yml +0 -127
  259. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/2_2_2_1_1.yml +0 -62
  260. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/2_2_3_1_1.yml +0 -96
  261. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/2_2_1_1_1.yml +0 -96
  262. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_18_1.yml +0 -107
  263. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/2_3_18_1.yml +0 -107
  264. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_19_1.yml +0 -193
  265. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/2_3_19_1.yml +0 -193
  266. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_20_1.yml +0 -193
  267. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/2_3_20_1.yml +0 -193
  268. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/2_3_7_1.yml +0 -107
  269. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/2_3_8_1.yml +0 -107
  270. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/2_3_15_1.yml +0 -107
  271. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/2_3_14_1.yml +0 -107
  272. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/2_3_13_1.yml +0 -107
  273. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/2_3_6_1.yml +0 -107
  274. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/2_4_2_1.yml +0 -56
  275. data/spec/lib/video_info/providers/vkontakte_spec.rb +0 -242
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - VideoInfo/2.6.0
11
+ - VideoInfo/2.8.0
12
12
  Accept:
13
13
  - "*/*"
14
14
  response:
@@ -16,12 +16,19 @@ http_interactions:
16
16
  code: 200
17
17
  message: OK
18
18
  headers:
19
+ Connection:
20
+ - keep-alive
21
+ Content-Length:
22
+ - '166821'
19
23
  Server:
20
24
  - nginx
21
25
  Content-Type:
22
26
  - text/html; charset=UTF-8
23
27
  Expires:
24
- - Thu, 05 May 2016 03:07:54 GMT
28
+ - Tue, 27 Oct 2020 18:32:06 GMT
29
+ Set-Cookie:
30
+ - vuid=1927110340.1500436397; expires=Fri, 25-Oct-2030 18:22:06 GMT; Max-Age=315360000;
31
+ path=/; domain=.vimeo.com; secure; SameSite=None
25
32
  X-Ua-Compatible:
26
33
  - IE=edge
27
34
  X-Xss-Protection:
@@ -31,10 +38,12 @@ http_interactions:
31
38
  X-Frame-Options:
32
39
  - sameorigin
33
40
  Strict-Transport-Security:
34
- - max-age=15120000; includeSubDomains; preload
41
+ - max-age=31536000; includeSubDomains; preload
35
42
  Content-Security-Policy-Report-Only:
36
- - 'default-src https: data: blob: ''unsafe-inline'' ''unsafe-eval''; report-uri
43
+ - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri
37
44
  /_csp'
45
+ X-Bapp-Server:
46
+ - pweb-v4874-h5mtd
38
47
  Via:
39
48
  - 1.1 varnish
40
49
  - 1.1 varnish
@@ -42,36 +51,32 @@ http_interactions:
42
51
  Cache-Control:
43
52
  - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
44
53
  X-Varnish-Cache:
45
- - '1'
54
+ - '0'
46
55
  X-Vserver:
47
- - dfvimeowebproxy1
48
- Fastly-Debug-Digest:
49
- - 90e940761d36f23f50d9fcc61b89bb8fca493fdd01998ebe103521bef7531a49
50
- Content-Length:
51
- - '65378'
56
+ - infra-webproxy-a-17
57
+ X-Vimeo-Dc:
58
+ - ge
52
59
  Accept-Ranges:
53
60
  - bytes
54
61
  Date:
55
- - Thu, 05 May 2016 01:07:55 GMT
62
+ - Tue, 27 Oct 2020 18:22:06 GMT
56
63
  Age:
57
64
  - '0'
58
- Connection:
59
- - keep-alive
60
65
  X-Served-By:
61
- - cache-iad2151-IAD, cache-lax1423-LAX
66
+ - cache-bwi5122-BWI, cache-cwb20527-CWB
62
67
  X-Cache:
63
68
  - MISS, MISS
64
69
  X-Cache-Hits:
65
70
  - 0, 0
66
71
  X-Timer:
67
- - S1462410475.272306,VS0,VE78
72
+ - S1603822926.319935,VS0,VE376
68
73
  Vary:
69
74
  - User-Agent,Accept-Encoding
70
75
  body:
71
76
  encoding: UTF-8
72
77
  string: ''
73
- http_version:
74
- recorded_at: Thu, 05 May 2016 01:07:55 GMT
78
+ http_version:
79
+ recorded_at: Tue, 27 Oct 2020 18:22:06 GMT
75
80
  - request:
76
81
  method: get
77
82
  uri: https://vimeo.com/136971428
@@ -90,12 +95,19 @@ http_interactions:
90
95
  code: 200
91
96
  message: OK
92
97
  headers:
98
+ Connection:
99
+ - keep-alive
100
+ Content-Length:
101
+ - '39569'
93
102
  Server:
94
103
  - nginx
95
104
  Content-Type:
96
105
  - text/html; charset=UTF-8
97
106
  Expires:
98
- - Thu, 05 May 2016 03:07:55 GMT
107
+ - Tue, 27 Oct 2020 18:32:07 GMT
108
+ Set-Cookie:
109
+ - vuid=434118726.1328474914; expires=Fri, 25-Oct-2030 18:22:07 GMT; Max-Age=315360000;
110
+ path=/; domain=.vimeo.com; secure; SameSite=None
99
111
  X-Ua-Compatible:
100
112
  - IE=edge
101
113
  X-Xss-Protection:
@@ -105,10 +117,12 @@ http_interactions:
105
117
  X-Frame-Options:
106
118
  - sameorigin
107
119
  Strict-Transport-Security:
108
- - max-age=15120000; includeSubDomains; preload
120
+ - max-age=31536000; includeSubDomains; preload
109
121
  Content-Security-Policy-Report-Only:
110
- - 'default-src https: data: blob: ''unsafe-inline'' ''unsafe-eval''; report-uri
122
+ - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri
111
123
  /_csp'
124
+ X-Bapp-Server:
125
+ - pweb-v4875-2ptvf
112
126
  Via:
113
127
  - 1.1 varnish
114
128
  - 1.1 varnish
@@ -116,1487 +130,31 @@ http_interactions:
116
130
  Cache-Control:
117
131
  - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
118
132
  X-Varnish-Cache:
119
- - '1'
133
+ - '0'
120
134
  X-Vserver:
121
- - dfvimeowebproxy1
122
- Fastly-Debug-Digest:
123
- - cea2dd45cda6c7f8b8db6116e3d4b4847f4eb4010957232b160811b44c7fa0bc
124
- Content-Length:
125
- - '18577'
135
+ - infra-webproxy-a-17
136
+ X-Vimeo-Dc:
137
+ - ge
126
138
  Accept-Ranges:
127
139
  - bytes
128
140
  Date:
129
- - Thu, 05 May 2016 01:07:55 GMT
141
+ - Tue, 27 Oct 2020 18:22:07 GMT
130
142
  Age:
131
143
  - '0'
132
- Connection:
133
- - keep-alive
134
144
  X-Served-By:
135
- - cache-iad2132-IAD, cache-lax1435-LAX
145
+ - cache-bwi5151-BWI, cache-cwb20526-CWB
136
146
  X-Cache:
137
147
  - MISS, MISS
138
148
  X-Cache-Hits:
139
149
  - 0, 0
140
150
  X-Timer:
141
- - S1462410475.395359,VS0,VE79
151
+ - S1603822927.979841,VS0,VE325
142
152
  Vary:
143
153
  - User-Agent,Accept-Encoding
144
154
  body:
145
155
  encoding: ASCII-8BIT
146
156
  string: !binary |-
147
- PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KIDxoZWFkPgogPG1l
148
- dGEgY2hhcnNldD0idXRmLTgiPgoKCiAgPG1ldGEgbmFtZT0idmlld3BvcnQi
149
- IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEu
150
- MCxtYXhpbXVtLXNjYWxlPTEuMCx1c2VyLXNjYWxhYmxlPW5vIj4KIAo8bGlu
151
- ayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+
152
- CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNv
153
- bSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2Ru
154
- LmNvbSI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5
155
- ODg0MDI4OTYzIj4KCiAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIg
156
- Y29udGVudD0iVmltZW8iPgogIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNv
157
- bnRlbnQ9Imh0dHBzOi8vdmltZW8uY29tLzEzNjk3MTQyOCI+CiAgPG1ldGEg
158
- cHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9InZpZGVvIj4KICA8bWV0YSBw
159
- cm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkRlYWZoZWF2ZW4gLSAmIzAz
160
- OTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyIj4KICA8bWV0YSBwcm9wZXJ0
161
- eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiYjMDM5O05ldyBCZXJtdWRh
162
- LCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0gZnJvbSBEZWFmaGVhdmVuLCBp
163
- cyBhdmFpbGFibGUgT2N0b2JlciAybmQiPgogIDxtZXRhIHByb3BlcnR5PSJv
164
- Zzp1cGRhdGVkX3RpbWUiIGNvbnRlbnQ9IjIwMTYtMDUtMDJUMTU6MTY6NDgt
165
- MDQ6MDAiPgogIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0i
166
- aHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS92aWRlby81MzE2ODgyMzlfMTI4MHg3
167
- MjAuanBnIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6dXJsIiBjb250
168
- ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL3ZpZGVvLzUzMTY4ODIzOV8x
169
- MjgweDcyMC5qcGciPgogIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpzZWN1
170
- cmVfdXJsIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL3ZpZGVv
171
- LzUzMTY4ODIzOV8xMjgweDcyMC5qcGciPgogIDxtZXRhIHByb3BlcnR5PSJv
172
- ZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTI4MCI+CiAgPG1ldGEgcHJvcGVy
173
- dHk9Im9nOmltYWdlOmhlaWdodCIgY29udGVudD0iNzIwIj4KICA8bWV0YSBw
174
- cm9wZXJ0eT0ib2c6aW1hZ2U6dHlwZSIgY29udGVudD0iaW1hZ2UvanBnIj4K
175
- ICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86dXJsIiBjb250ZW50PSJodHRw
176
- czovL3BsYXllci52aW1lby5jb20vdmlkZW8vMTM2OTcxNDI4P2F1dG9wbGF5
177
- PTEiPgogIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzpzZWN1cmVfdXJsIiBj
178
- b250ZW50PSJodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vMTM2OTcx
179
- NDI4P2F1dG9wbGF5PTEiPgogIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0
180
- eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWwiPgogIDxtZXRhIHByb3BlcnR5PSJv
181
- Zzp2aWRlbzp3aWR0aCIgY29udGVudD0iMTI4MCI+CiAgPG1ldGEgcHJvcGVy
182
- dHk9Im9nOnZpZGVvOmhlaWdodCIgY29udGVudD0iNzIwIj4KICA8bWV0YSBw
183
- cm9wZXJ0eT0ib2c6dmlkZW86dXJsIiBjb250ZW50PSJodHRwczovL3ZpbWVv
184
- LmNvbS9tb29nYWxvb3Auc3dmP2NsaXBfaWQ9MTM2OTcxNDI4JmFtcDthdXRv
185
- cGxheT0xIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86c2VjdXJlX3Vy
186
- bCIgY29udGVudD0iaHR0cHM6Ly92aW1lby5jb20vbW9vZ2Fsb29wLnN3Zj9j
187
- bGlwX2lkPTEzNjk3MTQyOCZhbXA7YXV0b3BsYXk9MSI+CiAgPG1ldGEgcHJv
188
- cGVydHk9Im9nOnZpZGVvOnR5cGUiIGNvbnRlbnQ9ImFwcGxpY2F0aW9uL3gt
189
- c2hvY2t3YXZlLWZsYXNoIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86
190
- d2lkdGgiIGNvbnRlbnQ9IjEyODAiPgogIDxtZXRhIHByb3BlcnR5PSJvZzp2
191
- aWRlbzpoZWlnaHQiIGNvbnRlbnQ9IjcyMCI+CiAgPG1ldGEgcHJvcGVydHk9
192
- ImFsOmlvczphcHBfbmFtZSIgY29udGVudD0iVmltZW8iPgogIDxtZXRhIHBy
193
- b3BlcnR5PSJhbDppb3M6YXBwX3N0b3JlX2lkIiBjb250ZW50PSI0MjUxOTQ3
194
- NTkiPgogIDxtZXRhIHByb3BlcnR5PSJhbDppb3M6dXJsIiBjb250ZW50PSJ2
195
- aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzEzNjk3MTQyOCI+CiAgPG1l
196
- dGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6YXBwX25hbWUiIGNvbnRlbnQ9IlZp
197
- bWVvIj4KICA8bWV0YSBwcm9wZXJ0eT0iYWw6YW5kcm9pZDpwYWNrYWdlIiBj
198
- b250ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgPG1ldGEg
199
- cHJvcGVydHk9ImFsOmFuZHJvaWQ6dXJsIiBjb250ZW50PSJ2aW1lbzovL2Fw
200
- cC52aW1lby5jb20vdmlkZW9zLzEzNjk3MTQyOCI+CiAgPG1ldGEgcHJvcGVy
201
- dHk9ImFsOndlYjpzaG91bGRfZmFsbGJhY2siIGNvbnRlbnQ9InRydWUiPgog
202
- CiAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiYjMDM5O05l
203
- dyBCZXJtdWRhLCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0gZnJvbSBEZWFm
204
- aGVhdmVuLCBpcyBhdmFpbGFibGUgT2N0b2JlciAybmQiPgogIDxtZXRhIG5h
205
- bWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0icGxheWVyIj4KICA8bWV0YSBu
206
- YW1lPSJ0d2l0dGVyOnNpdGUiIGNvbnRlbnQ9IkB2aW1lbyI+CiAgPG1ldGEg
207
- bmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iRGVhZmhlYXZlbiAtICYj
208
- MDM5O05ldyBCZXJtdWRhJiMwMzk7IFRyYWlsZXIiPgogIDxtZXRhIG5hbWU9
209
- InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiYjMDM5O05ldyBCZXJt
210
- dWRhLCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0gZnJvbSBEZWFmaGVhdmVu
211
- LCBpcyBhdmFpbGFibGUgT2N0b2JlciAybmQiPgogIDxtZXRhIG5hbWU9InR3
212
- aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20v
213
- dmlkZW8vNTMxNjg4MjM5XzEyODB4NzIwLmpwZyI+CiAgPG1ldGEgbmFtZT0i
214
- dHdpdHRlcjpwbGF5ZXIiIGNvbnRlbnQ9Imh0dHBzOi8vcGxheWVyLnZpbWVv
215
- LmNvbS92aWRlby8xMzY5NzE0MjgiPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6
216
- cGxheWVyOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICA8bWV0YSBuYW1lPSJ0
217
- d2l0dGVyOnBsYXllcjpoZWlnaHQiIGNvbnRlbnQ9IjcyMCI+CiAgPG1ldGEg
218
- bmFtZT0idHdpdHRlcjphcHA6bmFtZTppcGhvbmUiIGNvbnRlbnQ9IlZpbWVv
219
- Ij4KICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDppcGhvbmUiIGNvbnRl
220
- bnQ9IjQyNTE5NDc1OSI+CiAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6dXJs
221
- OmlwaG9uZSIgY29udGVudD0idmltZW86Ly9hcHAudmltZW8uY29tL3ZpZGVv
222
- cy8xMzY5NzE0MjgiPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOm5hbWU6
223
- aXBhZCIgY29udGVudD0iVmltZW8iPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6
224
- YXBwOmlkOmlwYWQiIGNvbnRlbnQ9IjQyNTE5NDc1OSI+CiAgPG1ldGEgbmFt
225
- ZT0idHdpdHRlcjphcHA6dXJsOmlwYWQiIGNvbnRlbnQ9InZpbWVvOi8vYXBw
226
- LnZpbWVvLmNvbS92aWRlb3MvMTM2OTcxNDI4Ij4KICA8bWV0YSBuYW1lPSJ0
227
- d2l0dGVyOmFwcDpuYW1lOmdvb2dsZXBsYXkiIGNvbnRlbnQ9IlZpbWVvIj4K
228
- ICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDpnb29nbGVwbGF5IiBjb250
229
- ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgPG1ldGEgbmFt
230
- ZT0idHdpdHRlcjphcHA6dXJsOmdvb2dsZXBsYXkiIGNvbnRlbnQ9InZpbWVv
231
- Oi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvMTM2OTcxNDI4Ij4KCgoKCiA8bGlu
232
- ayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYXBp
233
- L29lbWJlZC5qc29uP3VybD1odHRwcyUzQSUyRiUyRnZpbWVvLmNvbSUyRjEz
234
- Njk3MTQyOCIgdHlwZT0iYXBwbGljYXRpb24vanNvbitvZW1iZWQiIHRpdGxl
235
- PSJEZWFmaGVhdmVuIC0gJiMwMzk7TmV3IEJlcm11ZGEmIzAzOTsgVHJhaWxl
236
- ciI+CiA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly92aW1l
237
- by5jb20vYXBpL29lbWJlZC54bWw/dXJsPWh0dHBzJTNBJTJGJTJGdmltZW8u
238
- Y29tJTJGMTM2OTcxNDI4IiB0eXBlPSJ0ZXh0L3htbCtvZW1iZWQiIHRpdGxl
239
- PSJEZWFmaGVhdmVuIC0gJiMwMzk7TmV3IEJlcm11ZGEmIzAzOTsgVHJhaWxl
240
- ciI+CiA8bGluayByZWw9InBpbmdiYWNrIiBocmVmPSJodHRwczovL3ZpbWVv
241
- LmNvbS9fcGluZ2JhY2siPgogPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9
242
- Ii8xMzY5NzE0MjgiPgoKIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbi1w
243
- cmVjb21wb3NlZCIgaHJlZj0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZp
244
- Y29uL21haW4tdG91Y2hfMTgwIj4KCjxsaW5rIHJlbD0ibWFzay1pY29uIiBo
245
- cmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N2Zy9pcmlzL2lyaXNfaWNv
246
- bl92XzY0LnN2ZyIgY29sb3I9IiMxNzI3MmUiPgo8bGluayByZWw9InNob3J0
247
- Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2Vz
248
- X3Y2L2Zhdmljb24uaWNvIiBkYXRhLXBsYXk9Imh0dHBzOi8vaS52aW1lb2Nk
249
- bi5jb20vZmF2aWNvbi9wbGF5XzMyIiBkYXRhLXBhdXNlPSJodHRwczovL2ku
250
- dmltZW9jZG4uY29tL2Zhdmljb24vcGF1c2VfMzIiPgoKPG1ldGEgbmFtZT0i
251
- bXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaS52
252
- aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE0NCI+CjxtZXRhIG5h
253
- bWU9Im1zYXBwbGljYXRpb24tVGlsZUNvbG9yIiBjb250ZW50PSIjMDBhZGVm
254
- Ij4KCjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVu
255
- c2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFy
256
- Y2gueG1sIiB0aXRsZT0iVmltZW8gc2VhcmNoIj4KPGxpbmsgcmVsPSJsb2dv
257
- IiB0eXBlPSJpbWFnZS9zdmciIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5j
258
- b20vbG9nby5zdmciPgogPHRpdGxlPkRlYWZoZWF2ZW4gLSAmIzAzOTtOZXcg
259
- QmVybXVkYSYjMDM5OyBUcmFpbGVyIG9uIFZpbWVvPC90aXRsZT4KICAgIDxs
260
- aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2Ru
261
- LmNvbS9zdHlsZXMvY3NzX29wdC9nbG9iYWwvaWNvbl9mb250cy5taW4uY3Nz
262
- PzVjN2UzN2YxZmUiPgoKIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
263
- aHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9jbGlwX2Jl
264
- dGFfY29tYmluZWQubWluLmNzcz9mYzBlZGQ4NCI+CgoKIDxzY3JpcHQ+CiAg
265
- CiAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsianMiOiJodHRwczpcL1wvZi52
266
- aW1lb2Nkbi5jb21cL3BcLzIuMjQuNFwvanNcL3BsYXllci5qcyIsIm1vb2ci
267
- OiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcL2ZsYXNoXC9tb29nYWxv
268
- b3BcLzYuMy42XC9tb29nYWxvb3Auc3dmIiwibW9vZ19qcyI6Imh0dHBzOlwv
269
- XC9mLnZpbWVvY2RuLmNvbVwvcFwvMi4yNC40XC9qc1wvbW9vZ2Fsb29wLmpz
270
- IiwiY3NzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC8yLjI0LjRc
271
- L2Nzc1wvcGxheWVyLmNzcyIsInBsYXllcl91cmwiOiJwbGF5ZXIudmltZW8u
272
- Y29tIn07CgogIHZhciBfZXh0ZW5kID0gZnVuY3Rpb24oKXtmb3IodmFyIHI9
273
- YXJndW1lbnRzWzBdLG49MSxlPWFyZ3VtZW50cy5sZW5ndGg7ZT5uO24rKyl7
274
- dmFyIHQ9YXJndW1lbnRzW25dO2Zvcih2YXIgYSBpbiB0KXQuaGFzT3duUHJv
275
- cGVydHkoYSkmJihyW2FdPXRbYV0pfXJldHVybiByfTsKCiAgd2luZG93ID0g
276
- X2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJhdXRv
277
- Y29tcGxldGVfZW5hYmxlZCI6dHJ1ZX19LCJnbG9iYWxfbm90aWZpY2F0aW9u
278
- cyI6W119KTsKPC9zY3JpcHQ+CgoKIDxzdHlsZT4KIC5lc2lfcmliYm9uIHti
279
- YWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYt
280
- OCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3Jn
281
- JTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyNTAwJTIyJTNFJTNDcmVj
282
- dCUyMHglM0QlMjIwJTIyJTIwd2lkdGglM0QlMjI5JTIyJTIwaGVpZ2h0JTNE
283
- JTIyMTAwJTI1JTIyJTIwc3R5bGUlM0QlMjJmaWxsJTNBJTIzMjhhMWQ4JTIy
284
- JTJGJTNFJTNDcmVjdCUyMHglM0QlMjI5JTIyJTIwd2lkdGglM0QlMjIyMiUy
285
- MiUyMGhlaWdodCUzRCUyMjEwMCUyNSUyMiUyMHN0eWxlJTNEJTIyZmlsbCUz
286
- QSUyMzI0OGJjNyUyMiUyRiUzRSUzQ3JlY3QlMjB4JTNEJTIyMzElMjIlMjB3
287
- aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTAwJTI1JTIyJTIwc3R5
288
- bGUlM0QlMjJmaWxsJTNBJTIzMWUzOTU1JTIyJTJGJTNFJTNDcmVjdCUyMHgl
289
- M0QlMjI1NSUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIx
290
- MDAlMjUlMjIlMjBzdHlsZSUzRCUyMmZpbGwlM0ElMjMyZjUxMzIlMjIlMkYl
291
- M0UlM0NyZWN0JTIweCUzRCUyMjY4JTIyJTIwd2lkdGglM0QlMjI0OCUyMiUy
292
- MGhlaWdodCUzRCUyMjEwMCUyNSUyMiUyMHN0eWxlJTNEJTIyZmlsbCUzQSUy
293
- MzQxNjgyOCUyMiUyRiUzRSUzQ3JlY3QlMjB4JTNEJTIyMTE2JTIyJTIwd2lk
294
- dGglM0QlMjIzMSUyMiUyMGhlaWdodCUzRCUyMjEwMCUyNSUyMiUyMHN0eWxl
295
- JTNEJTIyZmlsbCUzQSUyMzdlYWEyOSUyMiUyRiUzRSUzQ3JlY3QlMjB4JTNE
296
- JTIyMTQ3JTIyJTIwd2lkdGglM0QlMjI0NiUyMiUyMGhlaWdodCUzRCUyMjEw
297
- MCUyNSUyMiUyMHN0eWxlJTNEJTIyZmlsbCUzQSUyM2RjYmQ0MiUyMiUyRiUz
298
- RSUzQ3JlY3QlMjB4JTNEJTIyMTkzJTIyJTIwd2lkdGglM0QlMjIzNSUyMiUy
299
- MGhlaWdodCUzRCUyMjEwMCUyNSUyMiUyMHN0eWxlJTNEJTIyZmlsbCUzQSUy
300
- M2RjYWQyNyUyMiUyRiUzRSUzQ3JlY3QlMjB4JTNEJTIyMjI4JTIyJTIwd2lk
301
- dGglM0QlMjIxMSUyMiUyMGhlaWdodCUzRCUyMjEwMCUyNSUyMiUyMHN0eWxl
302
- JTNEJTIyZmlsbCUzQSUyM2UzOWEyMyUyMiUyRiUzRSUzQ3JlY3QlMjB4JTNE
303
- JTIyMjM5JTIyJTIwd2lkdGglM0QlMjIyJTIyJTIwaGVpZ2h0JTNEJTIyMTAw
304
- JTI1JTIyJTIwc3R5bGUlM0QlMjJmaWxsJTNBJTIzY2M1NTRjJTIyJTJGJTNF
305
- JTNDcmVjdCUyMHglM0QlMjIyNDElMjIlMjB3aWR0aCUzRCUyMjM2JTIyJTIw
306
- aGVpZ2h0JTNEJTIyMTAwJTI1JTIyJTIwc3R5bGUlM0QlMjJmaWxsJTNBJTIz
307
- Y2E0NzNmJTIyJTJGJTNFJTNDcmVjdCUyMHglM0QlMjIyNzclMjIlMjB3aWR0
308
- aCUzRCUyMjE1JTIyJTIwaGVpZ2h0JTNEJTIyMTAwJTI1JTIyJTIwc3R5bGUl
309
- M0QlMjJmaWxsJTNBJTIzYTcyODM0JTIyJTJGJTNFJTNDcmVjdCUyMHglM0Ql
310
- MjIyOTIlMjIlMjB3aWR0aCUzRCUyMjYyJTIyJTIwaGVpZ2h0JTNEJTIyMTAw
311
- JTI1JTIyJTIwc3R5bGUlM0QlMjJmaWxsJTNBJTIzNzM1Njc1JTIyJTJGJTNF
312
- JTNDcmVjdCUyMHglM0QlMjIzNTQlMjIlMjB3aWR0aCUzRCUyMjk4JTIyJTIw
313
- aGVpZ2h0JTNEJTIyMTAwJTI1JTIyJTIwc3R5bGUlM0QlMjJmaWxsJTNBJTIz
314
- NjUzZTY2JTIyJTJGJTNFJTNDcmVjdCUyMHglM0QlMjI0NTIlMjIlMjB3aWR0
315
- aCUzRCUyMjQ4JTIyJTIwaGVpZ2h0JTNEJTIyMTAwJTI1JTIyJTIwc3R5bGUl
316
- M0QlMjJmaWxsJTNBJTIzM2IzMTViJTIyJTJGJTNFJTNDJTJGc3ZnJTNFJTBB
317
- KSByZXBlYXQteCB0b3AgbGVmdCAhaW1wb3J0YW50O30KIDwvc3R5bGU+CiAK
318
- CgogCiA8c2NyaXB0PgogdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7
319
- fSwKIGdwdGFkc2xvdHMgPSBbXTsKIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0
320
- YWcuY21kIHx8IFtdOwoKIChmdW5jdGlvbigpIHsKIHZhciBnYWRzID0gZG9j
321
- dW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksCiB1c2VTU0wgPSAnaHR0
322
- cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKIG5vZGU7CiBn
323
- YWRzLmFzeW5jID0gdHJ1ZTsKIGdhZHMudHlwZSA9ICd0ZXh0L2phdmFzY3Jp
324
- cHQnOwogZ2Fkcy5zcmMgPSAodXNlU1NMID8gJ2h0dHBzOicgOiAnaHR0cDon
325
- KSArICcvL3d3dy5nb29nbGV0YWdzZXJ2aWNlcy5jb20vdGFnL2pzL2dwdC5q
326
- cyc7CiBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3Nj
327
- cmlwdCcpWzBdOwogbm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnYWRz
328
- LCBub2RlKTsKIH0pKCk7CgogZ29vZ2xldGFnLmNtZC5wdXNoKGZ1bmN0aW9u
329
- KCkgewogCiAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2Vj
330
- JywgWydmYWxzZSddKTsKCiBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0
331
- aW5nKCdsb2dnZWRfaW4nLCBbJ2ZhbHNlJ10pOwoKICBnb29nbGV0YWcucHVi
332
- YWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJh
333
- bmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogZ29vZ2xldGFnLnB1YmFk
334
- cygpLmVuYWJsZUFzeW5jUmVuZGVyaW5nKCk7CiBnb29nbGV0YWcuZW5hYmxl
335
- U2VydmljZXMoKTsKIH0pOwogPC9zY3JpcHQ+Cgo8c2NyaXB0PgohZnVuY3Rp
336
- b24oKXt2YXIgZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6
337
- ZXhwb3J0cyxyPVtdO2lmKGUucGVyZm9ybWFuY2V8fChlLnBlcmZvcm1hbmNl
338
- PXt9KSxlLnBlcmZvcm1hbmNlLm5vd3x8KGUucGVyZm9ybWFuY2Uubm93PXBl
339
- cmZvcm1hbmNlLm5vd3x8cGVyZm9ybWFuY2Uud2Via2l0Tm93fHxwZXJmb3Jt
340
- YW5jZS5tc05vd3x8cGVyZm9ybWFuY2UubW96Tm93KSwhZS5wZXJmb3JtYW5j
341
- ZS5ub3cpe3ZhciBuPURhdGUubm93P0RhdGUubm93KCk6K25ldyBEYXRlO3Bl
342
- cmZvcm1hbmNlLnRpbWluZyYmcGVyZm9ybWFuY2UudGltaW5nJiYobj1wZXJm
343
- b3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0KSxlLnBlcmZvcm1hbmNl
344
- Lm5vdz1mdW5jdGlvbigpe3ZhciBlPURhdGUubm93P0RhdGUubm93KCk6K25l
345
- dyBEYXRlO3JldHVybiBlLW59fWUucGVyZm9ybWFuY2UubWFya3x8KGUucGVy
346
- Zm9ybWFuY2UubWFyaz1lLnBlcmZvcm1hbmNlLndlYmtpdE1hcms/ZS5wZXJm
347
- b3JtYW5jZS53ZWJraXRNYXJrOmZ1bmN0aW9uKG4pe3IuZm9yRWFjaChmdW5j
348
- dGlvbihlLHIsYSl7ZS5uYW1lPT09biYmYS5zcGxpY2UociwxKX0pLHIucHVz
349
- aCh7bmFtZTpuLGVudHJ5VHlwZToibWFyayIsc3RhcnRUaW1lOmUucGVyZm9y
350
- bWFuY2Uubm93KCksZHVyYXRpb246MH0pfSksZS5wZXJmb3JtYW5jZS5nZXRF
351
- bnRyaWVzQnlUeXBlfHwoZS5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
352
- PWUucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllc0J5VHlwZT9lLnBlcmZv
353
- cm1hbmNlLndlYmtpdEdldEVudHJpZXNCeVR5cGU6ZnVuY3Rpb24oZSl7dmFy
354
- IG49ZnVuY3Rpb24ocil7cmV0dXJuIHIuZW50cnlUeXBlPT09ZX07cmV0dXJu
355
- LTEhPT1bIm1hcmsiLCJtZWFzdXJlIl0uaW5kZXhPZihlKT9yLmZpbHRlcihu
356
- KTp2b2lkIDB9KSxlLnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWV8fChl
357
- LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWU9ZS5wZXJmb3JtYW5jZS53
358
- ZWJraXRHZXRFbnRyaWVzQnlOYW1lP2UucGVyZm9ybWFuY2Uud2Via2l0R2V0
359
- RW50cmllc0J5TmFtZTpmdW5jdGlvbihlKXtyZXR1cm4gci5maWx0ZXIoZnVu
360
- Y3Rpb24ocil7cmV0dXJuIHIubmFtZT09PWV9KX0pLGUucGVyZm9ybWFuY2Uu
361
- Y2xlYXJNZWFzdXJlc3x8KGUucGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcz1l
362
- LnBlcmZvcm1hbmNlLndlYmtpdENsZWFyTWVhc3VyZXM/ZS5wZXJmb3JtYW5j
363
- ZS53ZWJraXRDbGVhck1lYXN1cmVzOmZ1bmN0aW9uKCl7ci5mb3JFYWNoKGZ1
364
- bmN0aW9uKGUscixuKXsibWVhc3VyZSI9PT1lLmVudHJ5VHlwZSYmbi5zcGxp
365
- Y2UociwxKX0pLHI9W119KSxlLnBlcmZvcm1hbmNlLmNsZWFyTWFya3N8fChl
366
- LnBlcmZvcm1hbmNlLmNsZWFyTWFya3M9ZS5wZXJmb3JtYW5jZS53ZWJraXRD
367
- bGVhck1hcmtzP2UucGVyZm9ybWFuY2Uud2Via2l0Q2xlYXJNYXJrczpmdW5j
368
- dGlvbigpe3IuZm9yRWFjaChmdW5jdGlvbihlLHIsbil7Im1hcmsiPT09ZS5l
369
- bnRyeVR5cGUmJm4uc3BsaWNlKHIsMSl9KSxyPVtdfSksZS5wZXJmb3JtYW5j
370
- ZS5tZWFzdXJlfHwoZS5wZXJmb3JtYW5jZS5tZWFzdXJlPWUucGVyZm9ybWFu
371
- Y2Uud2Via2l0TWVhc3VyZT9lLnBlcmZvcm1hbmNlLndlYmtpdE1lYXN1cmU6
372
- ZnVuY3Rpb24oZSxuLGEpe3ZhciB0PWZ1bmN0aW9uKGUpe3JldHVybiBmdW5j
373
- dGlvbihyKXtyZXR1cm4gci5uYW1lPT09ZSYmIm1hcmsiPT09ci5lbnRyeVR5
374
- cGV9fSxvPXIuZmlsdGVyKHQobikpWzBdLG09ci5maWx0ZXIodChhKSlbMF0s
375
- aT1tLnN0YXJ0VGltZS1vLnN0YXJ0VGltZTtyLnB1c2goe25hbWU6ZSxlbnRy
376
- eVR5cGU6Im1lYXN1cmUiLHN0YXJ0VGltZTpvLnN0YXJ0VGltZSxkdXJhdGlv
377
- bjppfSl9KX0oKSx3aW5kb3cubWFya1VzZXJUaW1lPWZ1bmN0aW9uKGUpe3Zh
378
- ciByPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fGZ1bmN0aW9uKGUp
379
- e3NldFRpbWVvdXQoZSwwKX07cihmdW5jdGlvbigpe3dpbmRvdy5wZXJmb3Jt
380
- YW5jZS5tYXJrKGUpLHdpbmRvdy5jb25zb2xlJiZjb25zb2xlLnRpbWVTdGFt
381
- cCYmY29uc29sZS50aW1lU3RhbXAoZSl9KX07CgooZnVuY3Rpb24oKSB7CiB3
382
- aW5kb3cubWFya1VzZXJUaW1lID0gZnVuY3Rpb24obGFiZWwpIHsKIHdpbmRv
383
- dy5fZ3RtID0gd2luZG93Ll9ndG0gfHwgW107CgogLy8gRXhpdCBlYXJseSBp
384
- ZiB0aGUgYnJvd3NlciBjYW4ndCBoYW5kbGUgbmV3IHRoaW5ncwogaWYgKHR5
385
- cGVvZiBwZXJmb3JtYW5jZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHBl
386
- cmZvcm1hbmNlLm1hcmsgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHBlcmZv
387
- cm1hbmNlLmdldEVudHJpZXNCeU5hbWUgIT09ICdmdW5jdGlvbicgfHwgdHlw
388
- ZW9mIHBlcmZvcm1hbmNlLmNsZWFyTWFya3MgIT09ICdmdW5jdGlvbicpIHsK
389
- IHJldHVybjsKIH0KCiB2YXIgdWlkID0gcGFyc2VJbnQoTWF0aC5yYW5kb20o
390
- KS50b1N0cmluZygpLnNwbGl0KCcwLicpWzFdKSArIG5ldyBEYXRlKCkuZ2V0
391
- VGltZSgpLAogbWFya19uYW1lID0gbGFiZWwgKyAnXycgKyB1aWQsCiBwYXJ0
392
- cyA9IGxhYmVsLnNwbGl0KCd8JyksCiBjYXRlZ29yeSA9IHBhcnRzWzBdLAog
393
- dmFyaWFibGUgPSBwYXJ0c1sxXSwKIGxhYmVsID0gcGFydHNbMl0sCiBtYXJr
394
- X3RpbWUsCiBtYXJrX2VudHJpZXM7CgogcGVyZm9ybWFuY2UubWFyayhtYXJr
395
- X25hbWUpOwogbWFya19lbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
396
- c0J5TmFtZShtYXJrX25hbWUpOwoKIGlmIChtYXJrX2VudHJpZXMubGVuZ3Ro
397
- KSB7CiBtYXJrX3RpbWUgPSBtYXJrX2VudHJpZXNbMF0uc3RhcnRUaW1lOwog
398
- d2luZG93Ll9ndG0ucHVzaCh7CiAnZXZlbnQnOiAncGVyZm9ybWFuY2VfdGlt
399
- aW5nJywKICdwZXJmb3JtYW5jZV90aW1pbmcuY2F0ZWdvcnknOiBjYXRlZ29y
400
- eSwKICdwZXJmb3JtYW5jZV90aW1pbmcudmFyaWFibGUnOiB2YXJpYWJsZSwK
401
- ICdwZXJmb3JtYW5jZV90aW1pbmcudGltZSc6IG1hcmtfdGltZSAvIDEwMDAs
402
- CiAncGVyZm9ybWFuY2VfdGltaW5nLmxhYmVsJzogbGFiZWwKIH0pOwogfQog
403
- fTsKfSgpKTsKPC9zY3JpcHQ+CgoKCgogPC9oZWFkPgogPGJvZHkgY2xhc3M9
404
- Im9uc2l0ZSAiPgogPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAi
405
- PgogCiA8ZGl2IGNsYXNzPSJib2R5X3JpYmJvbiBlc2lfcmliYm9uIj48L2Rp
406
- dj4KCiAKIAoKCjxkaXYgaWQ9InRvcG5hdl9kZXNrdG9wIiBjbGFzcz0idG9w
407
- bmF2X2Rlc2t0b3AgIiByb2xlPSJiYW5uZXIiPgogPGRpdiBjbGFzcz0idG9w
408
- bmF2X2Rlc2t0b3Bfd3JhcHBlciI+CgogICA8YSBjbGFzcz0idG9wbmF2X2Rl
409
- c2t0b3BfbG9nbyIgaHJlZj0iLy92aW1lby5jb20iIGFsdD0iR28gdG8gVmlt
410
- ZW8gaG9tZSBwYWdlIiB0aXRsZT0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBh
411
- cmlhLWxhYmVsPSJHbyB0byBWaW1lbyBob21lIHBhZ2UiIGRhdGEtZmF0YWwt
412
- YXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnZpbWVv
413
- X2hvbWUiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2hvbWVfY2xpY2siPgog
414
- IDxzdmcgYWx0PSJWaW1lbyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI0MCI+PHBh
415
- dGggZD0iTTIyLjQ0OCAxNC41NzVjLS4xMDQgMi4xNy0xLjYxOCA1LjE0Ni00
416
- LjU0NCA4LjkxMi0zLjAzIDMuOTQyLTUuNTkgNS45MTItNy42ODYgNS45MTIt
417
- MS4yOTcgMC0yLjM5Ny0xLjIwNC0zLjMtMy42LS42LTIuMi0xLjIwMi00LjM5
418
- OC0xLjc5NC02LjU5OC0uNjY0LTIuMzk2LTEuMzgtMy42LTIuMTQ3LTMuNi0u
419
- MTY2IDAtLjc0Ny4zNTQtMS43NTMgMS4wNWwtMS4wNDgtMS4zNWMxLjEtLjk2
420
- NSAyLjE5LTEuOTMgMy4yNTctMi45MDUgMS40NjMtMS4yNjUgMi41NzMtMS45
421
- NCAzLjMtMi4wMDIgMS43MzItLjE2NiAyLjggMS4wMTcgMy4yMDUgMy41NTgu
422
- NDM1IDIuNzQuNzM2IDQuNDQuOTAyIDUuMTE1LjQ5OCAyLjI3IDEuMDQ4IDMu
423
- NDAyIDEuNjUgMy40MDIuNDY2IDAgMS4xNzItLjczNyAyLjEwNS0yLjIxLjkz
424
- NC0xLjQ3MyAxLjQzMi0yLjU5MyAxLjUwNC0zLjM3LjEzMy0xLjI3Ny0uMzY1
425
- LTEuOTEtMS41MDYtMS45MS0uNTMgMC0xLjA4LjEyNS0xLjY1LjM2NCAxLjEt
426
- My41OSAzLjE4Ni01LjMzMyA2LjI3Ny01LjIzIDIuMjczLjA3MyAzLjM1IDEu
427
- NTU2IDMuMjI3IDQuNDZtMTMuNzU1IDcuMDM0Yy0uOTMzIDEuNzY0LTIuMjIg
428
- My4zNy0zLjg2IDQuODAzLTIuMjQgMS45My00LjQ3IDIuOTA1LTYuNyAyLjkw
429
- NS0xLjAzNy4wMDItMS44MjYtLjMzLTIuMzc2LS45OTQtLjU1LS42NjMtLjgx
430
- LTEuNTM1LS43NzctMi42MDMuMDMtMS4xLjM3Mi0yLjggMS4wMjUtNS4xMDQu
431
- NjU0LTIuMzAzLjk3Ni0zLjUzNy45NzYtMy43MDMgMC0uODYtLjMtMS4yOTct
432
- LjkwMi0xLjI5Ny0uMTk4IDAtLjc3LjM1My0xLjcwMiAxLjA0OGwtMS4xNTIt
433
- MS4zNWMxLjA3LS45NjIgMi4xMzctMS45MjcgMy4yMDYtMi45MDIgMS40My0x
434
- LjI2NiAyLjUtMS45NCAzLjIwNS0yLjAwMiAxLjEtLjEwMyAxLjkxLjIzIDIu
435
- NDI4Ljk3Ni41MTguNzQ3LjcwNSAxLjcyMi41OCAyLjkxNS0uNDM1IDIuMDM0
436
- LS45MDIgNC42MDctMS40IDcuNzMtLjAzIDEuNDMuNDg4IDIuMTQ2IDEuNTU2
437
- IDIuMTQ2LjQ2NyAwIDEuMjk3LS40OTggMi41LTEuNDgzLjk5Ni0uODIgMS44
438
- MTUtMS41OTggMi40NS0yLjMyNGwuOTQyIDEuMjQ0bS00LjM1Ny0xNy44Yy0u
439
- MDMuODMtLjQ0NiAxLjYyOC0xLjI1NSAyLjM5NS0uOS44Ni0xLjk3IDEuMjk2
440
- LTMuMjA0IDEuMjk2LTEuOSAwLTIuODIyLS44My0yLjc1LTIuNDkuMDMyLS44
441
- Ni41NC0xLjY5IDEuNTI2LTIuNDkuOTg1LS43OTcgMi4wNzQtMS4xOSAzLjI3
442
- OC0xLjE5LjcwNSAwIDEuMjg2LjI3IDEuNzUzLjgyLjQ2Ny41NC42ODQgMS4x
443
- LjY1MyAxLjY2bTM1LjYxMiAxNy44Yy0uOTMzIDEuNzYzLTIuMjIgMy4zNy0z
444
- Ljg2IDQuODAyLTIuMjQgMS45My00LjQ3IDIuOTA0LTYuNyAyLjkwNC0yLjE2
445
- OC4wMDItMy4yMTYtMS4yMDItMy4xNTMtMy41OTguMDMtMS4wNy4yMzgtMi4z
446
- NTUuNjIyLTMuODUuMzg0LTEuNTAzLjU5LTIuNjY1LjYyMy0zLjUwNS4wMy0x
447
- LjI2NS0uMzUzLTEuODk4LTEuMTUyLTEuODk4LS44NyAwLTEuOTEgMS4wMzYt
448
- My4xMTIgMy4xLTEuMjc2IDIuMTY4LTEuOTYgNC4yNzQtMi4wNjQgNi4zMDgt
449
- LjA3MyAxLjQzLjA3MiAyLjU0LjQyNSAzLjI5OC0yLjMyNC4wNjQtMy45NjMt
450
- LjMyLTQuODg2LTEuMTUtLjgzLS43MzctMS4yMTItMS45NS0xLjE1LTMuNjUy
451
- LjAzLTEuMDY4LjE5OC0yLjEzNy40ODgtMy4yMDUuMjktMS4wNy40NTctMi4w
452
- MjMuNDg4LTIuODUzLjA2Mi0xLjIzNC0uMzg0LTEuODU3LTEuMzUtMS44NTct
453
- Ljg0IDAtMS43NC45NTUtMi43MDYgMi44NTMtLjk2NiAxLjktMS41MDUgMy44
454
- OS0xLjYxIDUuOTU2LS4wNiAxLjg2Ny4wNTMgMy4xNzQuMzY0IDMuOS0yLjI5
455
- My4wNjItMy45Mi0uNDE1LTQuODc2LTEuNDUyLS43OTgtLjg2LTEuMTYtMi4x
456
- OC0xLjEtMy45NDIuMDMyLS44Ni4xODgtMi4wNzUuNDU3LTMuNjIuMjgtMS41
457
- NDYuNDI1LTIuNzUuNDU3LTMuNjIuMDYyLS42MDMtLjA4My0uOTAzLS40NDYt
458
- LjkwMy0uMTk3IDAtLjc2OC4zNC0xLjcwMiAxLjAxNWwtMS4yMDMtMS4zNDhj
459
- LjE2OC0uMTM1IDEuMjE2LTEuMSAzLjE1Ni0yLjkwNSAxLjQtMS4yOTcgMi4z
460
- NTQtMS45NyAyLjg1Mi0yLjAwMi44NzItLjA3MyAxLjU2Ny4yOSAyLjEwNiAx
461
- LjA4LjUzLjc4Ny44IDEuNjkuOCAyLjcyNyAwIC4zMzItLjAzMi42NTQtLjEw
462
- NS45NTQuNDk3LS43NjYgMS4wOC0xLjQzIDEuNzUyLTIgMS41MzctMS4zNCAz
463
- LjI2LTIuMDg2IDUuMTU3LTIuMjUyIDEuNjQtLjEzNSAyLjguMjUgMy41MDUg
464
- MS4xNTIuNTcuNzM2LjgzIDEuNzg0LjggMy4xNTMuMjM3LS4xOTguNDg2LS40
465
- MTYuNzQ2LS42NTQuNzY3LS45MDMgMS41MTQtMS42MiAyLjI1LTIuMTQ4IDEu
466
- MjM1LS45MDIgMi41Mi0xLjQgMy44Ni0xLjUwNCAxLjU5Ny0uMTM1IDIuNzUu
467
- MjUgMy40NTQgMS4xNTIuNjAyLjcyNi44NyAxLjc3NC44IDMuMTQzLS4wMzIu
468
- OTMzLS4yNiAyLjI4LS42NzUgNC4wNjUtLjQxNiAxLjc3My0uNjI0IDIuOC0u
469
- NjI0IDMuMDctLjAzLjY5NS4wMyAxLjE4Mi4xOTcgMS40NDIuMTY2LjI3LjU3
470
- LjM5NCAxLjIwMy4zOTQuNDY3IDAgMS4yOTctLjQ5NyAyLjUtMS40ODIuOTk2
471
- LS44MiAxLjgxNi0xLjU5OCAyLjQ1LTIuMzI0bC45NjMgMS4yNTRtMTguNzY1
472
- LS4wNTJjLS45NjUgMS41OTgtMi44NzQgMy4xOTUtNS43MDYgNC43OTMtMy41
473
- MzggMi4wMzItNy4xMjcgMy4wNS0xMC43NTggMy4wNS0yLjcwNiAwLTQuNjM2
474
- LS45MDQtNS44MDgtMi43LS44My0xLjIzMy0xLjIzNC0yLjY5Ni0xLjIwMy00
475
- LjQwNy4wMy0yLjY5OCAxLjIzNC01LjI3IDMuNi03LjcxIDIuNjAzLTIuNjY1
476
- IDUuNjc0LTQuMDAzIDkuMjEtNC4wMDMgMy4yNyAwIDUgMS4zMjggNS4yMDgg
477
- My45OTQuMTM1IDEuNzAyLS43OTggMy40NDUtMi44IDUuMjQtMi4xMzcgMS45
478
- Ni00LjgyNCAzLjIxNS04LjA2IDMuNzQ0LjYuODMgMS41MDQgMS4yNDUgMi43
479
- MDcgMS4yNDUgMi4zOTYgMCA1LjAyLS42MTMgNy44NjMtMS44MzcgMi4wMzMt
480
- Ljg2IDMuNjMtMS43NTMgNC44MDMtMi42NzZsLjk0NSAxLjI2NW0tMTEuMzYt
481
- NS4yMjhjLjAzMi0uODkyLS4zMy0xLjM1LTEuMS0xLjM1LS45OTQgMC0yLjAx
482
- LjY4Ni0zLjA0OCAyLjA2Ni0xLjAzOCAxLjM4LTEuNTY3IDIuNjk3LTEuNTk4
483
- IDMuOTYyLS4wMiAwLS4wMi4yMTggMCAuNjQzIDEuNjMtLjYgMy4wNS0xLjUx
484
- NCA0LjI0Mi0yLjczOC45NjYtMS4wNTggMS40NjMtMS45MiAxLjUwNS0yLjU4
485
- M20yNC45NDYgMS44NjhjLS4xMzUgMy4wNzItMS4yNjUgNS43MTctMy40MDIg
486
- Ny45NDctMi4xMzUgMi4yMy00Ljc5IDMuMzUtNy45NTUgMy4zNS0yLjYzNSAw
487
- LTQuNjM3LS44NS02LjAwNi0yLjU1LS45OTctMS4yNjctMS41NTctMi44NTQt
488
- MS42NS00Ljc1Mi0uMTY2LTIuODYzLjg2LTUuNDk4IDMuMS03Ljg5NCAyLjQw
489
- OC0yLjY2NSA1LjQyNy0zLjk5MyA5LjA1Ny0zLjk5MyAyLjMzNCAwIDQuMDk4
490
- Ljc4OCA1LjMgMi4zNDQgMS4xMzIgMS40NDMgMS42NSAzLjI5IDEuNTU3IDUu
491
- NTVtLTUuNjY0LS4xODVjLjAzLS45MDMtLjA5NC0xLjczMy0uMzc0LTIuNDgt
492
- LjI4LS43NDctLjY5NS0xLjEzLTEuMjI0LTEuMTMtMS43MDIgMC0zLjEwMi45
493
- MjMtNC4yMDIgMi43Ni0uOTMzIDEuNTAzLTEuNDMgMy4xMS0xLjUwNCA0Ljgx
494
- Mi0uMDMuODQuMTE0IDEuNTc3LjQ0NiAyLjIxLjM2NC43MzYuODgyIDEuMSAx
495
- LjU1NiAxLjEgMS41MDUgMCAyLjc5LS44ODMgMy44Ni0yLjY1Ni44OTItMS40
496
- NzIgMS4zOC0zLjAwOCAxLjQ0LTQuNjE1aC4wMDJ6IiBmaWxsPSIjMTEyMjMz
497
- Ii8+PC9zdmc+CiAgPC9hPgogCiAgIDxuYXYgY2xhc3M9InRvcG5hdl9kZXNr
498
- dG9wX21lbnUiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4g
499
- bWVudSI+CiA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIg
500
- cm9sZT0ibWVudWJhciI+CgogIAogCiA8bGkgY2xhc3M9InRvcG5hdl9kZXNr
501
- dG9wX21lbnVfaXRlbXMiPgogPGEgY2xhc3M9InRvcG5hdl9tZW51X2pvaW4g
502
- anMtdG9wbmF2X21lbnVfYXV0aCIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9w
503
- X25hdnxqb2luIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0
504
- b3BfbmF2fGNvbXBvbmVudDpqb2luIiBkYXRhLWd0bS1jbGljaz0idG9wX25h
505
- dl9qb2luX2NsaWNrIiBocmVmPSIvam9pbiIgdGl0bGU9IkJlY29tZSBhIFZp
506
- bWVvIG1lbWJlciIgdGFiaW5kZXg9IjAiIHJlbD0idG9nZ2xlIiByb2xlPSJi
507
- dXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2pvaW4iPgogSm9pbiA8L2E+Cgog
508
- ICA8L2xpPgogCiAKIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9p
509
- dGVtcyI+CiA8YSBjbGFzcz0ianMtdG9wbmF2X21lbnVfYXV0aCIgb25jbGlj
510
- az0iZXZlbnQucHJldmVudERlZmF1bHQoKTt2aW1lby5Nb2RhbC5jcmVhdGUo
511
- e3NpemU6J3JlZycsY29udGVudDonL2xvZ19pbj9tb2RhbD1uZXcnfSkudGhl
512
- bihmdW5jdGlvbihhKXsncmVsb2FkJz09PWEmJndpbmRvdy5sb2NhdGlvbi5y
513
- ZWxvYWQoKX0pIiBkYXRhLWdhLWV2ZW50LWNsaWNrPSJ0b3BfbmF2fGxvZ2lu
514
- IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNv
515
- bXBvbmVudDpsb2dpbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5f
516
- Y2xpY2siIGhyZWY9Ii9sb2dfaW4iIHRpdGxlPSJMb2cgaW4gdG8geW91ciBh
517
- Y2NvdW50IiB0YWJpbmRleD0iMCIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRv
518
- biIgYXJpYS1vd25zPSJ0b3BuYXZfbG9naW4iPgogTG9nIGluIDwvYT4KCiAg
519
- IDwvbGk+CiAKIAogPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0
520
- ZW1zIj4KIDxhIGNsYXNzPSJ0b3BuYXZfaGFzX2Ryb3Bkb3duIHRvcG5hdl9p
521
- Y29uX2NoZXZyb25fYSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWlu
522
- ZXI6dG9wX25hdnxjb21wb25lbnQ6Y3JlYXRlfGtleXdvcmQ6Y3JlYXRlIiBk
523
- YXRhLWd0bS1jbGljaz0idG9wX25hdl9jcmVhdGVfY2xpY2siIGhyZWY9Ii9j
524
- cmVhdGUiIHRpdGxlPSIiIHRhYmluZGV4PSIwIiByZWw9InRvZ2dsZSIgcm9s
525
- ZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9jcmVhdGUiPgogQ3JlYXRl
526
- IDwvYT4KCiAgIDx1bCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVt
527
- c19kcm9wZG93biIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlk
528
- PSJ0b3BuYXZfY3JlYXRlIj4KICAKICA8bGkgY2xhc3M9InRvcG5hdl9kZXNr
529
- dG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0i
530
- IHRhYmluZGV4PSItMSI+CiA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNv
531
- bnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpjcmVhdGV8a2V5d29yZDptZW1i
532
- ZXJzaGlwX29wdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NyZWF0
533
- ZV9tZW1iZXJzaGlwX29wdGlvbnNfY2xpY2siIGhyZWY9Ii91cGdyYWRlIiB0
534
- aXRsZT0iVXBncmFkZSwgb3IgY29tcGFyZSBvdXIgcGxhbnMiPk1lbWJlcnNo
535
- aXAgb3B0aW9uczwvYT4KIDwvbGk+CiAgIAogIDxsaSBjbGFzcz0idG9wbmF2
536
- X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51
537
- aXRlbSIgdGFiaW5kZXg9Ii0xIj4KIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlv
538
- bj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNyZWF0ZXxrZXl3b3Jk
539
- OnNlbGwiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NyZWF0ZV9zZWxsX2Ns
540
- aWNrIiBocmVmPSIvb25kZW1hbmQvc3RhcnRzZWxsaW5nIiB0aXRsZT0iU2Vs
541
- bCBkaXJlY3RseSB0byB5b3VyIGZhbnMgd2l0aCBWaW1lbyBPbiBEZW1hbmQi
542
- PlNlbGwgdmlkZW9zPC9hPgogPC9saT4KICAgCiAgPGxpIGNsYXNzPSJ0b3Bu
543
- YXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9Im1l
544
- bnVpdGVtIiB0YWJpbmRleD0iLTEiPgogPGEgZGF0YS1mYXRhbC1hdHRyYWN0
545
- aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y3JlYXRlfGtleXdv
546
- cmQ6dmlkZW9fc2Nob29sIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9jcmVh
547
- dGVfdmlkZW9fc2Nob29sX2NsaWNrIiBocmVmPSIvdmlkZW9zY2hvb2wiIHRp
548
- dGxlPSJMZWFybiBob3cgdG8gbWFrZSBiZXR0ZXIgdmlkZW9zIj5WaWRlbyBT
549
- Y2hvb2w8L2E+CiA8L2xpPgogICAKICA8bGkgY2xhc3M9InRvcG5hdl9kZXNr
550
- dG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0i
551
- IHRhYmluZGV4PSItMSI+CiA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNv
552
- bnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpjcmVhdGV8a2V5d29yZDpjYW1l
553
- byIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY3JlYXRlX2NhbWVvX2NsaWNr
554
- IiBocmVmPSIvY2FtZW8iIHRpdGxlPSJDcmVhdGUgY2luZW1hdGljIHZpZGVv
555
- cyBvbiB5b3VyIHBob25lIj5DYW1lbzwvYT4KIDwvbGk+CiAgIAogIDxsaSBj
556
- bGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVt
557
- IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KIDxhIGRhdGEtZmF0
558
- YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNy
559
- ZWF0ZXxrZXl3b3JkOm1vcmUiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2Ny
560
- ZWF0ZV9tb3JlX2NsaWNrIiBocmVmPSIvY3JlYXRlIiB0aXRsZT0iRGlzY292
561
- ZXIgbW9yZSB0b29scyBmb3IgdmlkZW8gY3JlYXRvcnMiPk1vcmUmaGVsbGlw
562
- OzwvYT4KIDwvbGk+CiAgIDwvdWw+CiAgPC9saT4KIAogCiA8bGkgY2xhc3M9
563
- InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMiPgogPGEgY2xhc3M9InRvcG5h
564
- dl9oYXNfZHJvcGRvd24gdG9wbmF2X2ljb25fY2hldnJvbl9hIiBkYXRhLWZh
565
- dGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3
566
- YXRjaHxrZXl3b3JkOndhdGNoIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl93
567
- YXRjaF9jbGljayIgaHJlZj0iL3dhdGNoIiB0aXRsZT0iIiB0YWJpbmRleD0i
568
- MCIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3Bu
569
- YXZfd2F0Y2giPgogV2F0Y2ggPC9hPgoKICAgPHVsIGNsYXNzPSJ0b3BuYXZf
570
- ZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIiByb2xlPSJtZW51IiBhcmlh
571
- LWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl93YXRjaCI+CiAgCiAgPGxpIGNs
572
- YXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0i
573
- IHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogPGEgZGF0YS1mYXRh
574
- bC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0
575
- Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9u
576
- YXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGhyZWY9Ii9jaGFubmVscy9z
577
- dGFmZnBpY2tzIiB0aXRsZT0iVGhlIGJlc3QgdmlkZW9zIG9uIFZpbWVvLCBj
578
- dXJhdGVkIGRhaWx5IGJ5IG91ciB0ZWFtIj5TdGFmZiBQaWNrczwvYT4KIDwv
579
- bGk+CiAgIAogIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVt
580
- c19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0x
581
- Ij4KIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9u
582
- YXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1n
583
- dG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgaHJl
584
- Zj0iL2NhdGVnb3JpZXMiIHRpdGxlPSJCcm93c2UgdmlkZW9zIGJ5IGludGVy
585
- ZXN0LCBnZW5yZSwgYW5kIG1vcmUiPkNhdGVnb3JpZXM8L2E+CiA8L2xpPgog
586
- ICAKICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJv
587
- cGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiA8
588
- YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNv
589
- bXBvbmVudDp3YXRjaHxrZXl3b3JkOmNoYW5uZWxzIiBkYXRhLWd0bS1jbGlj
590
- az0idG9wX25hdl93YXRjaF9jaGFubmVsc19jbGljayIgaHJlZj0iL2NoYW5u
591
- ZWxzIiB0aXRsZT0iVmlldyB2aWRlbyBwbGF5bGlzdHMgY3JlYXRlZCBhbmQg
592
- Y3VyYXRlZCBieSBvdGhlciBtZW1iZXJzIj5DaGFubmVsczwvYT4KIDwvbGk+
593
- CiAgIAogIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19k
594
- cm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4K
595
- IDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8
596
- Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Z3JvdXBzIiBkYXRhLWd0bS1jbGlj
597
- az0idG9wX25hdl93YXRjaF9ncm91cHNfY2xpY2siIGhyZWY9Ii9ncm91cHMi
598
- IHRpdGxlPSJXYXRjaCBhbmQgZGlzY3VzcyB2aWRlb3Mgd2l0aCBvdGhlcnMi
599
- Pkdyb3VwczwvYT4KIDwvbGk+CiAgIAogIDxsaSBjbGFzcz0idG9wbmF2X2Rl
600
- c2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRl
601
- bSIgdGFiaW5kZXg9Ii0xIj4KIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0i
602
- Y29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YXBw
603
- IiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl93YXRjaF9hcHBzX2NsaWNrIiBo
604
- cmVmPSIvZXZlcnl3aGVyZSIgdGl0bGU9IldhdGNoIFZpbWVvIHZpZGVvcyBv
605
- biBUVnMsIHBob25lcywgdGFibGV0cywgYW5kIG1vcmUiPkFwcHM8L2E+CiA8
606
- L2xpPgogICAKICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRl
607
- bXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIt
608
- MSI+CiA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3Bf
609
- bmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm1vcmUiIGRhdGEtZ3RtLWNs
610
- aWNrPSJ0b3BfbmF2X3dhdGNoX21vcmVfY2xpY2siIGhyZWY9Ii93YXRjaCIg
611
- dGl0bGU9IkRpc2NvdmVyIG1vcmUgd2F5cyB0byB3YXRjaCBvbiBWaW1lbyI+
612
- TW9yZSZoZWxsaXA7PC9hPgogPC9saT4KICAgPC91bD4KICA8L2xpPgogCiAK
613
- IDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyI+CiA8YSBj
614
- bGFzcz0idG9wbmF2X2hhc19kcm9wZG93biB0b3BuYXZfaXNfb25kZW1hbmQg
615
- dG9wbmF2X2ljb25fY2hldnJvbl9hIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249
616
- ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpvbl9kZW1hbmR8a2V5d29y
617
- ZDpvbl9kZW1hbmQiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X29uZGVtYW5k
618
- X2NsaWNrIiBocmVmPSIvb25kZW1hbmQiIHRpdGxlPSJXYXRjaCBtb3ZpZXMs
619
- IHNlcmllcywgYW5kIG1vcmUiIHRhYmluZGV4PSIwIiByZWw9InRvZ2dsZSIg
620
- cm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9vbmRlbWFuZCI+CiBP
621
- biBEZW1hbmQgPC9hPgoKICAgPHVsIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9t
622
- ZW51X2l0ZW1zX2Ryb3Bkb3duIiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0i
623
- dHJ1ZSIgaWQ9InRvcG5hdl9vbmRlbWFuZCI+CiAgCiAgPGxpIGNsYXNzPSJ0
624
- b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9
625
- Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogPGEgZGF0YS1mYXRhbC1hdHRy
626
- YWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6b25fZGVtYW5k
627
- fGtleXdvcmQ6d2hhdHNfbmV3IiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9v
628
- bmRlbWFuZF93aGF0c19uZXdfY2xpY2siIGhyZWY9Ii9vbmRlbWFuZCIgdGl0
629
- bGU9IlNlZSBuZXcgYW5kIG5vdGV3b3J0aHkgdGl0bGVzIGFkZGVkIHRvIE9u
630
- IERlbWFuZCI+V2hhdOKAmXMgbmV3PC9hPgogPC9saT4KICAgCiAgPGxpIGNs
631
- YXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0i
632
- IHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogPGEgZGF0YS1mYXRh
633
- bC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6b25f
634
- ZGVtYW5kfGtleXdvcmQ6ZGlzY292ZXIiIGRhdGEtZ3RtLWNsaWNrPSJ0b3Bf
635
- bmF2X29uZGVtYW5kX2Rpc2NvdmVyX2NsaWNrIiBocmVmPSIvb25kZW1hbmQv
636
- ZGlzY292ZXIiIHRpdGxlPSJEaXNjb3ZlciB0aXRsZXMgb3VyIHRlYW0gcmVj
637
- b21tZW5kcyI+RGlzY292ZXI8L2E+CiA8L2xpPgogICAKICA8bGkgY2xhc3M9
638
- InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9s
639
- ZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiA8YSBkYXRhLWZhdGFsLWF0
640
- dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpvbl9kZW1h
641
- bmR8a2V5d29yZDpnZW5yZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X29u
642
- ZGVtYW5kX2dlbnJlc19jbGljayIgaHJlZj0iL29uZGVtYW5kL2Jyb3dzZSIg
643
- dGl0bGU9IkJyb3dzZSB0aXRsZXMgYnkgZ2VucmUiPkdlbnJlczwvYT4KIDwv
644
- bGk+CiAgIAogIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVt
645
- c19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0x
646
- Ij4KIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9u
647
- YXZ8Y29tcG9uZW50Om9uX2RlbWFuZHxrZXl3b3JkOnN0YXJ0X3NlbGxpbmci
648
- IGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X29uZGVtYW5kX3NlbGxfY2xpY2si
649
- IGhyZWY9Ii9vbmRlbWFuZC9zdGFydHNlbGxpbmciIHRpdGxlPSJTZWxsIGRp
650
- cmVjdGx5IHRvIHlvdXIgZmFucyB3aXRoIFZpbWVvIE9uIERlbWFuZCI+U3Rh
651
- cnQgc2VsbGluZzwvYT4KIDwvbGk+CiAgIDwvdWw+CiAgPC9saT4KIAogPC91
652
- bD4KIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogCiAg
653
- IDxkaXYgY2xhc3M9InRvcG5hdl9tZW51X3JpZ2h0Ij4KCiAgIDxmb3JtIGNs
654
- YXNzPSJ0b3BuYXZfbWVudV9zZWFyY2giIGFjdGlvbj0iL3NlYXJjaCIgbWV0
655
- aG9kPSJnZXQiIHJvbGU9InNlYXJjaCIgZGF0YS1kcy1wcm90ZWN0aW9uPgog
656
- PGlucHV0IGNsYXNzPSJ0b3BuYXZfbWVudV9zZWFyY2hfaW5wdXQganMtdG9w
657
- bmF2X21lbnVfc2VhcmNoX2lucHV0IGpzLXNlYXJjaF9hdXRvY29tcGxldGUi
658
- ICB0eXBlPSJ0ZXh0IiBuYW1lPSJxIiB0aXRsZT0iU2VhcmNoIHZpZGVvcywg
659
- cGVvcGxlLCBhbmQgbW9yZSIgdmFsdWU9IiIgYXJpYS1sYWJlbD0iU2VhcmNo
660
- IHZpZGVvcywgcGVvcGxlLCBhbmQgbW9yZSIgcGxhY2Vob2xkZXI9IlNlYXJj
661
- aCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2Zm
662
- Ij48YnV0dG9uIGNsYXNzPSJ0b3BuYXZfbWVudV9zZWFyY2hfc3VibWl0IHRv
663
- cG5hdl9pY29uX3NlYXJjaF9iIiB0eXBlPSJzdWJtaXQiIGFyaWEtbGFiZWw9
664
- IlNlYXJjaCI+PC9idXR0b24+CiA8L2Zvcm0+CiAKICAKICAKICAgPGEgY2xh
665
- c3M9InRvcG5hdl9kZXNrdG9wX3VwbG9hZCB0b3BuYXZfaWNvbl91cGxvYWRf
666
- YiIgaHJlZj0iL3VwbG9hZCIgdGl0bGU9IlVwbG9hZCB5b3VyIHZpZGVvcyIg
667
- cm9sZT0iYnV0dG9uIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbXBvbmVu
668
- dDp0b3BfbmF2fGtleXdvcmQ6dXBsb2FkIiBkYXRhLWd0bS1jbGljaz0idG9w
669
- X25hdl91cGxvYWRfY2xpY2siPjxzcGFuPlVwbG9hZDwvc3Bhbj48L2E+CiAg
670
- PC9kaXY+PCEtLSAvLnRvcG5hdl9tZW51X3JpZ2h0IC0tPgogIDwvZGl2Pjwh
671
- LS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiA8bmF2
672
- IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAiIHJv
673
- bGU9ImJhbm5lciI+CgogPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIi
674
- PgogIDxidXR0b24gY2xhc3M9InRvcG5hdl9tb2JpbGVfYnV0dG9uIHRvcG5h
675
- dl9tb2JpbGVfcHVsbF9sZWZ0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX2xvZ28g
676
- anMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyB0b3BuYXZfaWNvbl9tb2Jp
677
- bGVfdmxvZ29fYiI+CiAgPC9idXR0b24+CiA8YSBocmVmPSIvc2VhcmNoIiBj
678
- bGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxs
679
- X3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCB0b3BuYXZfaWNv
680
- bl9tb2JpbGVfc2VhcmNoX2IiPiA8L2E+CiA8c3BhbiBjbGFzcz0idG9wbmF2
681
- X21vYmlsZV9oZWFkZXJfdGl0bGUiPjwvc3Bhbj4KIDwvZGl2PgoKICA8c2Vj
682
- dGlvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51IGpzLXRvcG5hdl9tb2Jp
683
- bGVfbWVudV9tYWluIj4KIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfYmFy
684
- Ij4KIDxidXR0b24gY2xhc3M9InRvcG5hdl9tb2JpbGVfYnV0dG9uIHRvcG5h
685
- dl9tb2JpbGVfcHVsbF9sZWZ0IGpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX2Ns
686
- b3NlIHRvcG5hdl9pY29uX21vYmlsZV94X2IiPiA8L2J1dHRvbj4KIDxidXR0
687
- b24gY2xhc3M9InRvcG5hdl9tb2JpbGVfYnV0dG9uIHRvcG5hdl9tb2JpbGVf
688
- cHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyB0
689
- b3BuYXZfaWNvbl9tb2JpbGVfZ2Vhcl9iIj4gPC9idXR0b24+CiA8L2Rpdj4K
690
- CiA8dWw+CiAgIDxsaT4KIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBj
691
- bGFzcz0idG9wbmF2X2ljb25fbW9iaWxlX2NoYW5uZWxfYiAiIGhyZWY9Ii8i
692
- PgogU3RhZmYgUGlja3MgPC9hPgogPC9saT4KICAgPGxpPgogPGEgZGF0YS1h
693
- Y3Rpb249Imxhc3RfcGFnZSIgZGF0YS1icmVlemUtaWdub3JlIGNsYXNzPSJ0
694
- b3BuYXZfaWNvbl9tb2JpbGVfYXZhdGFyX2IgIiBocmVmPSIvam9pbiI+CiA8
695
- c3BhbiBjbGFzcz0ibWVudV9hdXRoIj5Kb2luIG9yIGxvZyBpbjwvc3Bhbj4g
696
- PC9hPgogPC9saT4KICAgPGxpPgogPGEgZGF0YS1icmVlemUtaWdub3JlIGNs
697
- YXNzPSJ0b3BuYXZfaWNvbl9tb2JpbGVfc3Rhcl9iIiBocmVmPSIvd2F0Y2gi
698
- PgogV2F0Y2ggPC9hPgogPC9saT4KICAgPGxpPgogPGEgb25jbGljaz0idmlt
699
- ZW8ubW9iaWxlLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQodGhpcyk7IHJldHVy
700
- biBmYWxzZTsiIGRhdGEtYnJlZXplLWlnbm9yZSBjbGFzcz0idG9wbmF2X2lj
701
- b25fbW9iaWxlX3VwbG9hZF9iIiBocmVmPSIvdXBsb2FkIj4KIFVwbG9hZCA8
702
- L2E+CiA8L2xpPgogICA8bGk+CiA8YSBkYXRhLWJyZWV6ZS1pZ25vcmUgY2xh
703
- c3M9InRvcG5hdl9pY29uX21vYmlsZV92b2RfYiAiIGhyZWY9Ii9vbmRlbWFu
704
- ZCI+CiBPbiBEZW1hbmQgPC9hPgogPC9saT4KICAgPGxpPgogPGEgZGF0YS1h
705
- Y3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSJ0b3BuYXZfaWNvbl9tb2JpbGVf
706
- Zm9yZ290X2IgIiBocmVmPSIvaGVscC9mYXEiPgogSGVscCA8L2E+CiA8L2xp
707
- PgogIDwvdWw+CiA8L3NlY3Rpb24+CgogIDxzZWN0aW9uIGNsYXNzPSJ0b3Bu
708
- YXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGpz
709
- LXRvcG5hdl9tb2JpbGVfbWVudV9zZXR0aW5ncyI+CiA8ZGl2IGNsYXNzPSJ0
710
- b3BuYXZfbW9iaWxlX2JhciI+CiA8YnV0dG9uIGNsYXNzPSJ0b3BuYXZfbW9i
711
- aWxlX2J1dHRvbiB0b3BuYXZfbW9iaWxlX3B1bGxfbGVmdCBqcy10b3BuYXZf
712
- bW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlIHRvcG5hdl9pY29uX21vYmls
713
- ZV9hcnJvd2xlZnRfYiI+IDwvYnV0dG9uPgogPHNwYW4gY2xhc3M9InRvcG5h
714
- dl9tb2JpbGVfaGVhZGVyX3RpdGxlIj5Nb3JlIHN0dWZmPC9zcGFuPgogPC9k
715
- aXY+CgogPHVsPgogIDxsaT4KICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9z
716
- ZSIgY2xhc3M9IiAiIGhyZWY9Ii90ZXJtcyI+CiBUZXJtcyBvZiBTZXJ2aWNl
717
- IDwvYT4KICAgPC9saT4KICA8bGk+CiAgPGEgZGF0YS1hY3Rpb249Im1lbnUu
718
- Y2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvcHJpdmFjeSI+CiBQcml2YWN5IFBv
719
- bGljeSA8L2E+CiAgIDwvbGk+CiAgPGxpPgogIDxhIGRhdGEtYWN0aW9uPSJt
720
- ZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2RtY2EiPgogQ29weXJpZ2h0
721
- IDwvYT4KICAgPC9saT4KICA8bGk+CiAgPGEgZGF0YS1hY3Rpb249Im1lbnUu
722
- Y2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvY29va2llX3BvbGljeSI+CiBDb29r
723
- aWVzIDwvYT4KICAgPC9saT4KICA8bGk+CiAgPGEgZGF0YS1hY3Rpb249ImRl
724
- c2t0b3AiIG9uY2xpY2s9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5f
725
- czJkcygpOyByZXR1cm4gZmFsc2UiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgw
726
- KSI+CiBEZXNrdG9wIHNpdGUgPC9hPgogICA8L2xpPgogIDxsaT4KICA8YSBs
727
- YW5ndWFnZSBocmVmPSIjIj4KIExhbmd1YWdlIDwvYT4KICAgPHNlbGVjdCBv
728
- bmNoYW5nZT0idmltZW8ubW9iaWxlLmRlc2t0b3Bfc2hhcmVkLl9zMmwodGhp
729
- cykiIHRpdGxlPSJDaG9vc2UgYSBkaWZmZXJlbnQgbGFuZ3VhZ2UiIGNsYXNz
730
- PSJ0b3BuYXZfbW9iaWxlX21lbnVfc2V0dGluZ3NfbGFuZ3VhZ2UiPgogICA8
731
- b3B0aW9uIGNsYXNzPSJzZWxlY3RlZCIgc2VsZWN0ZWQgdmFsdWU9ImVuIgog
732
- bmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KIEVuZ2xpc2ggPC9vcHRpb24+CiAg
733
- PG9wdGlvbiB2YWx1ZT0iZXMiCiBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgog
734
- RXNwYcOxb2wgPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iZGUtREUiCiBu
735
- YW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogRGV1dHNjaCA8L29wdGlvbj4KICA8
736
- b3B0aW9uIHZhbHVlPSJmci1GUiIKIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+
737
- CiBGcmFuw6dhaXMgPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iamEtSlAi
738
- CiBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgog5pel5pys6KqeIDwvb3B0aW9u
739
- PgogIDxvcHRpb24gdmFsdWU9InB0LUJSIgogbmFtZT0ic2VsZWN0X2xhbmd1
740
- YWdlIj4KIFBvcnR1Z3XDqnMgPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0i
741
- a28tS1IiCiBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgog7ZWc6rWt7Ja0IDwv
742
- b3B0aW9uPgogIDwvc2VsZWN0PgogIDwvbGk+CiAgPGxpPgogIDxhIGRhdGEt
743
- YWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2ZhcSI+CiBG
744
- QVEgPC9hPgogICA8L2xpPgogIDwvdWw+CgogPGRpdiBjbGFzcz0idG9wbmF2
745
- X21vYmlsZV9tZW51X2NvcHlyaWdodCI+VE0gKyDCqSAyMDE2IFZpbWVvLCBM
746
- TEM8L2Rpdj4KIDwvc2VjdGlvbj4KPC9uYXY+Cgo8c2NyaXB0PgohZnVuY3Rp
747
- b24oYSxiKXthLnZpbWVvPWEudmltZW98fHt9LHZpbWVvLm1vYmlsZT12aW1l
748
- by5tb2JpbGV8fHt9LFZpbWVvPXZpbWVvLm1vYmlsZXx8e30sVmltZW8uZGVz
749
- a3RvcF9zaGFyZWQ9VmltZW8uZGVza3RvcF9zaGFyZWR8fHt9O3ZhciBjPWIu
750
- Z2V0RWxlbWVudEJ5SWQoInRvcG5hdl9kZXNrdG9wIiksZD0ib250b3VjaHN0
751
- YXJ0ImluIGE/InRvdWNoc3RhcnQiOmEuUG9pbnRlckV2ZW50PyJwb2ludGVy
752
- ZG93biI6YS5NU1BvaW50ZXJFdmVudD8iTVNQb2ludGVyRG93biI6ImNsaWNr
753
- IjsiY2xpY2siIT09ZCYmYy5hZGRFdmVudExpc3RlbmVyKGQsZnVuY3Rpb24o
754
- YSl7dmFyIGI9ImltZyI9PT1hLnRhcmdldC50YWdOYW1lLnRvTG93ZXJDYXNl
755
- KCk/YS50YXJnZXQucGFyZW50Tm9kZTphLnRhcmdldDtiLmNsYXNzTGlzdC5j
756
- b250YWlucygidG9wbmF2X2hhc19kcm9wZG93biIpJiYoYS5wcmV2ZW50RGVm
757
- YXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkpfSwhMSksYy5hZGRFdmVudExp
758
- c3RlbmVyKGQsZnVuY3Rpb24oYyl7Yy50YXJnZXQuY2xhc3NMaXN0LmNvbnRh
759
- aW5zKCJqcy10b3BuYXZfbWVudV9hdXRoIikmJihiLmNvb2tpZT0ibGFzdF9w
760
- YWdlPSIrZW5jb2RlVVJJQ29tcG9uZW50KGEubG9jYXRpb24ucGF0aG5hbWUp
761
- KyI7cGF0aD0nLyc7bWF4LWFnZT0xODAwOyIpfSwhMSksVmltZW8uZGVza3Rv
762
- cF9zaGFyZWQuX3VwbG9hZD1mdW5jdGlvbihjKXtpZigvaVBhZHxpUGhvbmV8
763
- aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7dmFyIGYsZyxkPSJ2
764
- aW1lbzovL2FwcC52aW1lby5jb20vdXBsb2FkP3JlZj1tb2JpbGV3ZWIiLGU9
765
- Ii91cGxvYWQiO3JldHVybiBmPWZ1bmN0aW9uKCl7Yi53ZWJraXRIaWRkZW58
766
- fChhLmxvY2F0aW9uPWUpfSxnPWZ1bmN0aW9uKCl7YS5sb2NhdGlvbj1kLHNl
767
- dFRpbWVvdXQoZiwyNSl9LGcoKSwhMX1hLmxvY2F0aW9uPWMuaHJlZn0sVmlt
768
- ZW8uZGVza3RvcF9zaGFyZWQuX3MyZHM9ZnVuY3Rpb24oKXtiLmNvb2tpZT0i
769
- b3B0X291dF9tb2JpbGU9MTtleHBpcmVzPUZyaSwgMzEgRGVjIDk5OTkgMjM6
770
- NTk6NTkgR01UO2RvbWFpbj0iK3ZpbWVvLmRvbWFpbixhLmxvY2F0aW9uLnJl
771
- bG9hZCgpfSxWaW1lby5kZXNrdG9wX3NoYXJlZC5fczJsPWZ1bmN0aW9uKGIp
772
- e3ZhciBjPWIudmFsdWUsZD1uZXcgWE1MSHR0cFJlcXVlc3Q7ZC5vcGVuKCJQ
773
- T1NUIiwiL3NldHRpbmdzL2xvY2FsZSIpLGQuc2V0UmVxdWVzdEhlYWRlcigi
774
- WC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0IiksZC5zZXRSZXF1
775
- ZXN0SGVhZGVyKCJDb250ZW50LXR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1m
776
- b3JtLXVybGVuY29kZWQiKSxkLnNlbmQoImxvY2FsZT0iK2MrIiZ0b2tlbj0i
777
- K3ZpbWVvLnhzcmZ0KSxkLm9ubG9hZD1mdW5jdGlvbigpezIwMD09PWQuc3Rh
778
- dHVzJiZhLmxvY2F0aW9uLnJlbG9hZCgpfX07dmFyIGU9ImNsaWNrIixmPSJi
779
- bG9jayIsZz0ibm9uZSIsaD1iLnF1ZXJ5U2VsZWN0b3IoIi5qcy10b3BuYXZf
780
- bW9iaWxlX2hlYWRlcl9sb2dvIik7aCYmaC5hZGRFdmVudExpc3RlbmVyKGUs
781
- ZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGFnYXRpb24oKSxhLnByZXZlbnREZWZh
782
- dWx0KCk7dmFyIGM9Yi5xdWVyeVNlbGVjdG9yKCIuanMtdG9wbmF2X21vYmls
783
- ZV9tZW51X21haW4iKTtjLnN0eWxlLmRpc3BsYXk9Zjt2YXIgZD1iLnF1ZXJ5
784
- U2VsZWN0b3IoIi5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSIpO2Qu
785
- YWRkRXZlbnRMaXN0ZW5lcihlLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0
786
- aW9uKCksYS5wcmV2ZW50RGVmYXVsdCgpLGMuc3R5bGUuZGlzcGxheT1nfSk7
787
- dmFyIGg9Yi5xdWVyeVNlbGVjdG9yKCIuanMtdG9wbmF2X21vYmlsZV9tZW51
788
- X3NldHRpbmdzIiksaT1iLnF1ZXJ5U2VsZWN0b3IoIi5qcy10b3BuYXZfbW9i
789
- aWxlX2hlYWRlcl9zZXR0aW5ncyIpO2kuYWRkRXZlbnRMaXN0ZW5lcihlLGZ1
790
- bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCksYS5wcmV2ZW50RGVmYXVs
791
- dCgpLGguc3R5bGUuZGlzcGxheT1mLGMuc3R5bGUuZGlzcGxheT1nO3ZhciBk
792
- PWIucXVlcnlTZWxlY3RvcigiLmpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX3Nl
793
- dHRpbnNfY2xvc2UiKTtkLmFkZEV2ZW50TGlzdGVuZXIoZSxmdW5jdGlvbihh
794
- KXthLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVudERlZmF1bHQoKSxoLnN0
795
- eWxlLmRpc3BsYXk9ZyxjLnN0eWxlLmRpc3BsYXk9Zn0pfSl9LCExKSxzZXRU
796
- aW1lb3V0KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZihhKXt2YXIgYj1uZXcgWE1M
797
- SHR0cFJlcXVlc3Q7Yi5vcGVuKCJQT1NUIiwiL3NldHRpbmdzL25hdiIpLGIu
798
- c2V0UmVxdWVzdEhlYWRlcigiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBS
799
- ZXF1ZXN0IiksYi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LXR5cGUiLCJh
800
- cHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSxiLnNlbmQoIm1l
801
- c3NhZ2Vfc3RhdGU9IithKyImdG9rZW49Iit2aW1lby54c3JmdCksYi5vbmxv
802
- YWQ9ZnVuY3Rpb24oKXt9fXZhciBhPWIuZ2V0RWxlbWVudEJ5SWQoInRvcG5h
803
- dl9tZW51X2F2YXRhciIpO2lmKGEpe3ZhciBjPWEucXVlcnlTZWxlY3Rvcigi
804
- LnRvcG5hdl9tZW51X2F2YXRhcl9idWJibGUiKSxlPShhLnF1ZXJ5U2VsZWN0
805
- b3IoIiN0b3BuYXZfdXNlcl9kcm9wZG93biIpLCExKTtjJiZjLmNsYXNzTGlz
806
- dC5hZGQoIm9uIiksYS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGZ1
807
- bmN0aW9uKCl7ZXx8KGU9ITAsYyYmYy5jbGFzc0xpc3QucmVtb3ZlKCJvbiIp
808
- LGYoMSkpfSwhMSl9fSwxZTMpfSh3aW5kb3csZG9jdW1lbnQpOwo8L3Njcmlw
809
- dD4KCiA8ZGl2IGNsYXNzPSJ3cmFwX2NvbnRlbnQiPgogCjxzY3JpcHQ+CiFm
810
- dW5jdGlvbihpKXtpZih2b2lkIDA9PT1pLnZpbWVvfHx2b2lkIDA9PT1pLnZp
811
- bWVvLmNsaXBzKXtpLnZpbWVvPWkudmltZW98fHt9LGkudmltZW8uY2xpcHM9
812
- aS52aW1lby5jbGlwc3x8e307dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O2Uu
813
- b3BlbigiR0VUIiwiaHR0cHM6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzEz
814
- Njk3MTQyOC9jb25maWc/YXV0b3BsYXk9MCZieWxpbmU9MCZjb2xsZWN0aW9u
815
- cz0xJmNvbnRleHQ9VmltZW8lNUNDb250cm9sbGVyJTVDQ2xpcENvbnRyb2xs
816
- ZXIubWFpbl9iZXRhJmRlZmF1bHRfdG9faGQ9MSZvdXRybz1iZWdpbm5pbmcm
817
- cG9ydHJhaXQ9MCZ0aXRsZT0wJndhdGNoX3RyYWlsZXI9MCZzPTQxM2U3ZWZj
818
- NTM2NTFjNzE3MWYwODQ2NTU4YWYxMjM3NTk0OWMwMzBfMTQ2MjUxMTI3NSIs
819
- ITApLGUub25sb2FkPWZ1bmN0aW9uKCl7aS52aW1lby5jbGlwc1siMTM2OTcx
820
- NDI4Il09SlNPTi5wYXJzZShlLnJlc3BvbnNlVGV4dCl9LGUud2l0aENyZWRl
821
- bnRpYWxzPSEwLGUuc2VuZCgpfX0od2luZG93KTsKPC9zY3JpcHQ+Cgo8IS0t
822
- W2lmIGx0ZSBJRSA5XT4KIDxzY3JpcHQ+d2luZG93LmxvY2F0aW9uID0gd2lu
823
- ZG93LmxvY2F0aW9uICsgJz9saXRlPTEnOzwvc2NyaXB0Pgo8IVtlbmRpZl0t
824
- LT4KCjxtYWluIGlkPSJtYWluIiBjbGFzcz0iaXNfbG9hZGluZyI+CiA8ZGl2
825
- IGNsYXNzPSJpcmlzX2dyaWQgaXJpc19ncmlkX2ZwOTYwIj4KIDxkaXYgY2xh
826
- c3M9ImNsaXBfbWFpbiI+CiA8ZGl2IGNsYXNzPSJwbGF5ZXJfYXJlYSI+CiA8
827
- bm9zY3JpcHQ+CiA8aW1nIHNyYz0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS92
828
- aWRlby81MzE2ODgyMzkuanBnP213PTE5MjAmYW1wO21oPTEwODAmYW1wO3E9
829
- NzAiIGFsdD0iIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBh
830
- dXRvOyBtYXgtaGVpZ2h0OiA1NDBweDsiIC8+CiA8L25vc2NyaXB0PgogPC9k
831
- aXY+CgogPG5vc2NyaXB0PgogPGRpdiBjbGFzcz0iY2xpcF9tYWluLWNvbnRl
832
- bnQgaXJpc19ncmlkLXdyYXBwZXItLWNvbnRlbnQiPgogPGRpdiBjbGFzcz0i
833
- aXJpc19ncmlkLWNvbnRlbnQiPgogPGRpdiBjbGFzcz0icm93IHUtY29sbGFw
834
- c2UgY2xpcC1ub3RpZmljYXRpb24iIHN0eWxlPSJtYXJnaW4tdG9wOiAxZW07
835
- IG1hcmdpbi1ib3R0b206IDEuNWVtOyI+CiA8ZGl2IGNsYXNzPSJpcmlzX25v
836
- dGlmaWNhdGlvbiBpcmlzX25vdGlmaWNhdGlvbi1jbGlwIGlyaXNfbm90aWZp
837
- Y2F0aW9uLWNsaXAtLWNhdXRpb24gaXJpc19ub3RpZmljYXRpb24tLW5vLWNs
838
- b3NlIGNsZWFyZml4IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPgogPHA+
839
- UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIGV4cGVyaWVuY2UgVmltZW8g
840
- aW4gYWxsIG9mIGl0cyBnbG9yeS48L3A+CiA8L2Rpdj4KIDwvZGl2PgoKIDxk
841
- aXYgY2xhc3M9ImlyaXNfZ3JpZC1jb250ZW50Ij4KIDxkaXYgY2xhc3M9ImNs
842
- aXBfaW5mby13cmFwcGVyIj4KIDxkaXYgY2xhc3M9ImNsaXBfaW5mbyI+CiA8
843
- aDEgY2xhc3M9ImNsaXBfaW5mby1oZWFkZXIiPkRlYWZoZWF2ZW4gLSAmIzAz
844
- OTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyPC9oMT4KIDwvZGl2PgogPGRp
845
- diBjbGFzcz0iY2xpcF9pbmZvLXN1YmxpbmUtLXdhdGNoIGNsaXBfaW5mby1z
846
- dWJsaW5lLS1pbmxpbmUiPgogPHAgY2xhc3M9InVzZXJieWxpbmUtc3VibGlu
847
- ZSB1c2VyYnlsaW5lLXN1YmxpbmUtLWxnIj4KIDxzcGFuPmZyb208L3NwYW4+
848
- CiA8c3BhbiBjbGFzcz0idXNlcmxpbmsgdXNlcmxpbmstLW1kIj4KIDxhIGhy
849
- ZWY9Ii9hbnRpcmVjb3JkcyI+QW50aSBSZWNvcmRzPC9hPgogPHNwYW4gc3R5
850
- bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jayI+CiAgPGEgdGFiaW5kZXg9Ii0x
851
- IiBocmVmPSIvcGx1cyIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgVmltZW8g
852
- UGx1cyIgZGF0YS1ndG0tY2xpY2s9ImJhZGdlX3BsdXNfY2xpY2siPgogPHNw
853
- YW4gY2xhc3M9ImlyaXNfYmFkZ2UgaXJpc19iYWRnZS0tcGx1cyBiYWRnZSBi
854
- YWRnZS0tcGx1cyBiYWRnZV9wbHVzIj4KIFBsdXMgPC9zcGFuPgogPC9hPgog
855
- PC9zcGFuPgogPC9zcGFuPgogPC9wPgogPHNwYW4gY2xhc3M9ImNsaXBfaW5m
856
- by10aW1lIj48dGltZSBkYXRldGltZT0iMjAxNS0wOC0yMVQxNzozNzo0My0w
857
- NDowMCIgdGl0bGU9IkZyaWRheSwgQXVndXN0IDIxLCAyMDE1IGF0IDU6Mzcg
858
- UE0iPjggbW9udGhzIGFnbzwvdGltZT48L3NwYW4+CiA8L2Rpdj4KIDwvZGl2
859
- PgogPC9kaXY+CiA8L2Rpdj4KCiA8ZGl2IGNsYXNzPSJjbGlwX2RldGFpbHMg
860
- aXJpc19kaXZpZGVyLS1kYXJrIGlyaXNfZGl2aWRlci10b3AgaXJpc19kaXZp
861
- ZGVyLXRvcC0tbSBpcmlzX2RpdmlkZXItYm90IGlyaXNfZGl2aWRlci1ib3Qt
862
- LW0gdS1jb2xsYXBzZSBjbGVhcmZpeCI+CiA8ZGl2IGNsYXNzPSJpcmlzX2dy
863
- aWQtY29udGVudCI+CiA8ZGl2IGNsYXNzPSJjbGlwX2RldGFpbHMtZGVzY3Jp
864
- cHRpb24gZGVzY3JpcHRpb24td3JhcHBlciBpcmlzX2Rlc2MiPgogPHAgY2xh
865
- c3M9ImZpcnN0Ij4mIzAzOTtOZXcgQmVybXVkYSwmIzAzOTsgdGhlIHVwY29t
866
- aW5nIGFsYnVtIGZyb20gRGVhZmhlYXZlbiwgaXMgYXZhaWxhYmxlIE9jdG9i
867
- ZXIgMm5kPC9wPiA8L2Rpdj4KIDwvZGl2PgogPC9kaXY+CiA8L2Rpdj4KIDwv
868
- bm9zY3JpcHQ+CiA8L2Rpdj4KIDwvZGl2Pgo8L21haW4+Cgo8c2NyaXB0Pgog
869
- d2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9Owogd2luZG93LnZp
870
- bWVvLmNsaXBfcGFnZV9jb25maWcgPSB7ImNsaXAiOnsiaWQiOjEzNjk3MTQy
871
- OCwidGl0bGUiOiJEZWFmaGVhdmVuIC0gXHUyMDE4TmV3IEJlcm11ZGFcdTIw
872
- MTkgVHJhaWxlciIsImRlc2NyaXB0aW9uIjoiPHAgY2xhc3M9XCJmaXJzdFwi
873
- PiYjMDM5O05ldyBCZXJtdWRhLCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0g
874
- ZnJvbSBEZWFmaGVhdmVuLCBpcyBhdmFpbGFibGUgT2N0b2JlciAybmQ8XC9w
875
- PiIsInVwbG9hZGVkX29uIjoiMjAxNS0wOC0yMSAxNzozNzo0MyIsInVwbG9h
876
- ZGVkX29uX3JlbGF0aXZlIjoiOCBtb250aHMgYWdvIiwidXBsb2FkZWRfb25f
877
- ZnVsbCI6IkZyaWRheSwgQXVndXN0IDIxLCAyMDE1IGF0IDU6MzcgUE0gRVNU
878
- IiwicHJpdmFjeSI6eyJpc19wdWJsaWMiOnRydWUsInR5cGUiOiJhbnlib2R5
879
- IiwiZGVzY3JpcHRpb24iOiJQdWJsaWMifSwiZHVyYXRpb24iOnsicmF3Ijo1
880
- OSwiZm9ybWF0dGVkIjoiMDA6NTkifSwiaXNfbGlrZWQiOmZhbHNlfSwib3du
881
- ZXIiOnsiaWQiOjgxNDMxMSwiZGlzcGxheV9uYW1lIjoiQW50aSBSZWNvcmRz
882
- IiwiYWNjb3VudF90eXBlIjoicGx1cyIsImJhZGdlIjp7InByaW1hcnlfdGFn
883
- Ijoic3BhbiIsInR5cGUiOiJwbHVzIiwidGV4dCI6IlBsdXMiLCJhbHRfdGV4
884
- dCI6IkxlYXJuIG1vcmUgYWJvdXQgVmltZW8gUGx1cyIsImNsYXNzTmFtZSI6
885
- ImlyaXNfYmFkZ2UgaXJpc19iYWRnZS0tcGx1cyBiYWRnZSBiYWRnZS0tcGx1
886
- cyBiYWRnZV9wbHVzIiwidXJsIjoiXC9wbHVzIiwiZ3RtX2NsaWNrX2V2ZW50
887
- IjoiYmFkZ2VfcGx1c19jbGljayJ9LCJwb3J0cmFpdCI6eyJzcmMiOiJodHRw
888
- czpcL1wvaS52aW1lb2Nkbi5jb21cL3BvcnRyYWl0XC8zMjcxMThfNzV4NzUu
889
- anBnIiwic3JjXzJ4IjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC9wb3J0
890
- cmFpdFwvMzI3MTE4XzE1MHgxNTAuanBnIn0sInVybCI6IlwvYW50aXJlY29y
891
- ZHMiLCJpc19mb2xsb3dpbmciOmZhbHNlfSwib25kZW1hbmQiOm51bGwsImJy
892
- YW5kX2NoYW5uZWwiOm51bGwsImN1cl91c2VyIjpudWxsLCJzdGF0dXMiOnsi
893
- c3RhdGUiOiJyZWFkeSJ9LCJjb3B5cmlnaHRfc3RhdHVzIjpbXSwiY29udGVu
894
- dF9ibG9ja19zdGF0dXMiOnsiaXNfYmxvY2tlZCI6ZmFsc2UsIm1lc3NhZ2Ui
895
- Om51bGwsImNvbnRpbnVvdXNfcGxheV9lbmFibGVkIjpmYWxzZX0sInBsYXll
896
- ciI6eyJjb25maWdfdXJsIjoiaHR0cHM6XC9cL3BsYXllci52aW1lby5jb21c
897
- L3ZpZGVvXC8xMzY5NzE0MjhcL2NvbmZpZz9hdXRvcGxheT0wJmJ5bGluZT0w
898
- JmNvbGxlY3Rpb25zPTEmY29udGV4dD1WaW1lbyU1Q0NvbnRyb2xsZXIlNUND
899
- bGlwQ29udHJvbGxlci5tYWluX2JldGEmZGVmYXVsdF90b19oZD0xJm91dHJv
900
- PWJlZ2lubmluZyZwb3J0cmFpdD0wJnRpdGxlPTAmd2F0Y2hfdHJhaWxlcj0w
901
- JnM9NDEzZTdlZmM1MzY1MWM3MTcxZjA4NDY1NThhZjEyMzc1OTQ5YzAzMF8x
902
- NDYyNTExMjc1IiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20iLCJk
903
- aW1lbnNpb25zIjp7ImhlaWdodCI6NTQwLCJ3aWR0aCI6OTYwfSwicG9zdGVy
904
- Ijp7InVybCI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvdmlkZW9cLzUz
905
- MTY4ODIzOS5qcGc/bXc9MjAwMCZtaD0xMDgwJnE9NzAifX0sInNoYXJlX2Vu
906
- YWJsZWQiOnRydWUsImNvbnRpbnVvdXNfcGxheV9lbmFibGVkIjp0cnVlLCJ0
907
- aHVtYm5haWwiOnsic3JjIjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC92
908
- aWRlb1wvNTMxNjg4MjM5XzE5MHgxMDcuanBnIiwic3JjXzJ4IjoiaHR0cHM6
909
- XC9cL2kudmltZW9jZG4uY29tXC92aWRlb1wvNTMxNjg4MjM5XzM4MHgyMTQu
910
- anBnIiwid2lkdGgiOjE5MCwiaGVpZ2h0IjoxMDcsImlkIjo1MzE2ODgyMzl9
911
- LCJhZHMiOnsic3BvbnNvcmVkX2xpbmtzIjp7InB1Yl9pZCI6Iml3b24tdmlt
912
- ZW8iLCJrZXl3b3JkcyI6IkRlYWZoZWF2ZW4gLSAnTmV3IEJlcm11ZGEnIFRy
913
- YWlsZXIifSwiZGlzcGxheV9hZCI6eyJuZXR3b3JrX2lkIjoiNTQ1NDk1NDQi
914
- LCJ1bml0X25hbWUiOiJjbGlwIiwic2l6ZXMiOlszMDAsMjUwXSwiY3VzdG9t
915
- X3RhcmdldGluZyI6eyJjb250ZW50X3JhdGluZyI6e319fX0sImNvbnRlbnRf
916
- cmF0aW5nIjpudWxsLCJub3RpZmljYXRpb25zIjpbXSwiY2F0ZWdvcmllc19j
917
- b25maWciOnsiY2F0ZWdvcmllcyI6bnVsbCwidG90YWxfY2F0ZWdvcmllcyI6
918
- MH0sIm11c2ljX3RyYWNrIjpudWxsLCJjY19saWNlbnNlIjpudWxsLCJjcmVk
919
- aXRzIjp7InRvdGFsX2NyZWRpdHMiOjB9LCJzdHJlYW0iOnsiaWQiOm51bGws
920
- InBvcyI6MH0sImNvbGxlY3Rpb25fYWRkZXIiOnsiZW5hYmxlZCI6dHJ1ZX19
921
- OwogPC9zY3JpcHQ+Cgo8ZGl2IGNsYXNzPSJoaWRlIj4KIDwvZGl2PgoKIDxk
922
- aXYgY2xhc3M9ImhpZGUiPgogPGRpdiBpZD0iZ29vZ2xlX2FmY19hZHMiIGNs
923
- YXNzPSJnb29nbGVfYWQiPjwvZGl2PgoKIDwvZGl2PgoKPHNjcmlwdD4KY29u
924
- c29sZS5sb2coJyVjIFxuXArijpwgICAgICAgQEBAJiAgICAgICBAQEBAQEBc
925
- blwK4o6cICAgICNAQEBAQEBAICAgICZAQEBAQEBAQCAgICAgICBCdWlsdCB1
926
- c2luZzpcblwK4o6cICAjQEBAQEBAQEBALiAgJSUmQEBAQEBAQCAgICAgICAg
927
- 4oCiIFJlYWN0ICsgRmx1eFxuXArijpwgICAgICAmQEBAQEAlICAgICAoQEBA
928
- QEAoICAgICAgIOKAoiBFUzZcblwK4o6cICAgICAgIEBAQEBAQCAgICAgQEBA
929
- QEBAICAgICAgICDigKIgRmV0Y2ggQVBJXG5cCuKOnCAgICAgICAlQEBAQEAo
930
- ICAuQEBAQEAoICAgICAgICAg4oCiIEZsZXhib3hcblwK4o6cICAgICAgICBA
931
- QEBAQEAoQEBAQEBAXG5cCuKOnCAgICAgICAgL0BAQEBAQEBAQEAlICAgICAg
932
- ICAgICAgTGlrZSBwbGF5aW5nIHdpdGggbmV3IHRlY2hub2xvZ3ksIHRvbz9c
933
- blwK4o6cICAgICAgICAgJkBAQEBAQEAlICAgICAgICAgICAgICBodHRwczov
934
- L3ZpbWVvLmNvbS9qb2JzXG5cCuKOnCAgICAgICAgICBAQEBAQCNcblwKXG5c
935
- CicsICdjb2xvcjogIzAwYWRlZjsnKTsKPC9zY3JpcHQ+CiA8L2Rpdj4KCiAg
936
- PGZvb3RlciBjbGFzcz0iZm9vdGVyX3YyIGZvb3Rlcl92Mi0tcmVzcG9uc2l2
937
- ZSI+CiAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19zaXRlbWFwIj4K
938
- IDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fbGlua3MiPgoKIDxzZWN0aW9uIGNs
939
- YXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiA8
940
- aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBl
941
- PSJjaGVja2JveCI+CiA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFk
942
- ZXIiPgogPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4
943
- dCI+VmltZW88L3NwYW4+CiA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3Jk
944
- aW9uX19yZXZlYWwiPgogPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHht
945
- bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAw
946
- IDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4z
947
- OS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQt
948
- LjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzku
949
- MzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEu
950
- NDE0eiIvPjwvc3ZnPgogPC9kaXY+CiA8L2g0PgogPHVsIGNsYXNzPSJmb290
951
- ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4K
952
- IDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogPGEgY2xhc3M9
953
- ImlyaXNfbGluayBpcmlzX2xpbmstLW1kIGlyaXNfbGluay0tZm9vdGVyIiBo
954
- cmVmPSIvYWJvdXQiIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19hYm91
955
- dF9jbGljayI+CiBBYm91dCBWaW1lbyA8L2E+CiA8L2xpPgogPGxpIGNsYXNz
956
- PSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiA8YSBjbGFzcz0iaXJpc19saW5r
957
- IGlyaXNfbGluay0tbWQgaXJpc19saW5rLS1mb290ZXIiIGhyZWY9Ii9ibG9n
958
- IiBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fYmxvZ19jbGlj
959
- ayI+CiBWaW1lbyBCbG9nIDwvYT4KIDwvbGk+CiA8bGkgY2xhc3M9ImZvb3Rl
960
- cl92Ml9fbGluay1pdGVtIj4KIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19s
961
- aW5rLS1tZCBpcmlzX2xpbmstLWZvb3RlciIgaHJlZj0iL2hlbHAvZ3VpZGVs
962
- aW5lcyIgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRl
963
- bGluZXNfY2xpY2siPgogVmltZW8gR3VpZGVsaW5lcyA8L2E+CiA8L2xpPgog
964
- PGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiA8YSBjbGFzcz0i
965
- aXJpc19saW5rIGlyaXNfbGluay0tbWQgaXJpc19saW5rLS1mb290ZXIiIGhy
966
- ZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIgZGF0YS1ndG0tY2xp
967
- Y2s9ImZvb3Rlcl9saW5rX2RldmVsb3BlcnNfY2xpY2siPgogRGV2ZWxvcGVy
968
- cyA8L2E+CiA8L2xpPgogPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRl
969
- bSI+CiA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tbWQgaXJpc19s
970
- aW5rLS1mb290ZXIiIGhyZWY9Ii9qb2JzIj4KIEpvYnMgPC9hPgogPC9saT4K
971
- IDwvdWw+CiA8L3NlY3Rpb24+CgogPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92
972
- Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KIDxpbnB1dCBjbGFzcz0i
973
- Zm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4K
974
- IDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiA8c3BhbiBj
975
- bGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5IZWxwPC9zcGFu
976
- PgogPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4K
977
- IDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3
978
- dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9
979
- Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQu
980
- NTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4z
981
- OS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEu
982
- NDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4K
983
- IDwvZGl2PgogPC9oND4KIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxp
984
- c3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiA8bGkgY2xhc3M9ImZv
985
- b3Rlcl92Ml9fbGluay1pdGVtIj4KIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJp
986
- c19saW5rLS1tZCBpcmlzX2xpbmstLWZvb3RlciIgaHJlZj0iL2hlbHAiIGRh
987
- dGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayI+
988
- CiBIZWxwIENlbnRlciA8L2E+CiA8L2xpPgogPGxpIGNsYXNzPSJmb290ZXJf
989
- djJfX2xpbmstaXRlbSI+CiA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGlu
990
- ay0tbWQgaXJpc19saW5rLS1mb290ZXIiIGhyZWY9Ii92aWRlb3NjaG9vbCIg
991
- ZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGlj
992
- ayI+CiBWaWRlbyBTY2hvb2wgPC9hPgogPC9saT4KIDxsaSBjbGFzcz0iZm9v
993
- dGVyX3YyX19saW5rLWl0ZW0iPgogPGEgY2xhc3M9ImlyaXNfbGluayBpcmlz
994
- X2xpbmstLW1kIGlyaXNfbGluay0tZm9vdGVyIiBocmVmPSIvaGVscC9mYXEi
995
- IGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19mYXFfY2xpY2siPgogRkFR
996
- IDwvYT4KIDwvbGk+CiA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVt
997
- Ij4KIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1tZCBpcmlzX2xp
998
- bmstLWZvb3RlciIgaHJlZj0iL2ZvcnVtcyIgZGF0YS1ndG0tY2xpY2s9ImZv
999
- b3Rlcl9saW5rX2ZvcnVtc19jbGljayI+CiBGb3J1bXMgPC9hPgogPC9saT4K
1000
- IDwvdWw+CiA8L3NlY3Rpb24+CgogPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92
1001
- Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KIDxpbnB1dCBjbGFzcz0i
1002
- Zm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4K
1003
- IDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiA8c3BhbiBj
1004
- bGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Nb3JlPC9zcGFu
1005
- PgogPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4K
1006
- IDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3
1007
- dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9
1008
- Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQu
1009
- NTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4z
1010
- OS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEu
1011
- NDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4K
1012
- IDwvZGl2PgogPC9oND4KIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxp
1013
- c3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiA8bGkgY2xhc3M9ImZv
1014
- b3Rlcl92Ml9fbGluay1pdGVtIj4KIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJp
1015
- c19saW5rLS1tZCBpcmlzX2xpbmstLWZvb3RlciIgaHJlZj0iL29uZGVtYW5k
1016
- IiBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNr
1017
- Ij4KIE9uIERlbWFuZCA8L2E+CiA8L2xpPgogPGxpIGNsYXNzPSJmb290ZXJf
1018
- djJfX2xpbmstaXRlbSI+CiA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGlu
1019
- ay0tbWQgaXJpc19saW5rLS1mb290ZXIiIGhyZWY9Ii9ldmVyeXdoZXJlIiBk
1020
- YXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZXZlcnl3aGVyZV9jbGljayI+
1021
- CiBFdmVyeXdoZXJlIDwvYT4KIDwvbGk+CiA8bGkgY2xhc3M9ImZvb3Rlcl92
1022
- Ml9fbGluay1pdGVtIj4KIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5r
1023
- LS1tZCBpcmlzX2xpbmstLWZvb3RlciIgaHJlZj0iL3VwbG9hZCIgZGF0YS1n
1024
- dG0tY2xpY2s9ImZvb3Rlcl9saW5rX3VwbG9hZF9jbGljayI+CiBVcGxvYWQg
1025
- PC9hPgogPC9saT4KIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0i
1026
- PgogPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW1kIGlyaXNfbGlu
1027
- ay0tZm9vdGVyIiBocmVmPSIvc2l0ZV9tYXAiIGRhdGEtZ3RtLWNsaWNrPSJm
1028
- b290ZXJfbGlua19zaXRlX21hcF9jbGljayI+CiBTaXRlIE1hcCA8L2E+CiA8
1029
- L2xpPgogPC91bD4KIDwvc2VjdGlvbj4KCiA8c2VjdGlvbiBjbGFzcz0iZm9v
1030
- dGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogPGlucHV0IGNs
1031
- YXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2ti
1032
- b3giPgogPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KIDxz
1033
- cGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlVwZ3Jh
1034
- ZGU8L3NwYW4+CiA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19y
1035
- ZXZlYWwiPgogPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJo
1036
- dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+
1037
- PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQx
1038
- NCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEu
1039
- NDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4w
1040
- MjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIv
1041
- Pjwvc3ZnPgogPC9kaXY+CiA8L2g0PgogPHVsIGNsYXNzPSJmb290ZXJfdjJf
1042
- X2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KIDxsaSBj
1043
- bGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogPGEgY2xhc3M9ImlyaXNf
1044
- bGluayBpcmlzX2xpbmstLW1kIGlyaXNfbGluay0tZm9vdGVyIiBocmVmPSIv
1045
- cGx1cz92PWZvb3RlciI+CiBWaW1lbyBQbHVzIDwvYT4KIDwvbGk+CiA8bGkg
1046
- Y2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KIDxhIGNsYXNzPSJpcmlz
1047
- X2xpbmsgaXJpc19saW5rLS1tZCBpcmlzX2xpbmstLWZvb3RlciIgaHJlZj0i
1048
- L3Bybz92PWZvb3RlciI+CiBWaW1lbyBQUk8gPC9hPgogPC9saT4KIDxsaSBj
1049
- bGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogPGEgY2xhc3M9ImlyaXNf
1050
- bGluayBpcmlzX2xpbmstLW1kIGlyaXNfbGluay0tZm9vdGVyIiBocmVmPSIv
1051
- YnVzaW5lc3MiPgogVmltZW8gZm9yIEJ1c2luZXNzIDwvYT4KIDwvbGk+CiA8
1052
- L3VsPgogPC9zZWN0aW9uPgogPC9kaXY+CgogICA8YXNpZGUgaWQ9ImZvb3Rl
1053
- cl90aXAiIGNsYXNzPSJmb290ZXJfdjJfX3RpcCIgYXJpYS1saXZlPSJwb2xp
1054
- dGUiPgogPGg0IGNsYXNzPSJmb290ZXJfdjJfX3RpcC1oZWFkZXIiPkRpZCB5
1055
- b3Uga25vdz88L2g0PgogPHAgY2xhc3M9ImFjdGl2ZSBmb290ZXJfdjJfX3Rp
1056
- cC1jb250ZW50Ij48YSBocmVmPSIvdmlkZW9zY2hvb2wvbGVzc29uLzIwNy90
1057
- aGUtYXJ0LW9mLWxlbnMtd2hhY2tpbmciPkxlbnMgd2hhY2tpbmc8L2E+IGlz
1058
- IG5vdCBhcyBkZXN0cnVjdGl2ZSBhcyBpdCBzb3VuZHMuIEJlZm9yZSB5b3Ug
1059
- Z28gc2xhbW1pbmcgeW91ciB3aWRlLWFuZ2xlIHdpdGggYSBoYW1tZXIsIGxp
1060
- c3RlbiB1cC48L3A+CiA8L2FzaWRlPgogPC9zZWN0aW9uPgogCiAgPHNlY3Rp
1061
- b24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogPGRpdiBjbGFz
1062
- cz0iZm9vdGVyX3YyX19sZWdhbCI+CiA8ZGl2IGNsYXNzPSJmb290ZXJfdjJf
1063
- X2F1eGlsaWFyeS1jb250ZW50Ij4KIDxwPlRNICsgJmNvcHk7IDIwMTYgVmlt
1064
- ZW8sIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+CiA8L2Rpdj4KIDx1
1065
- bCBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0Ij4KIDxsaSBjbGFzcz0i
1066
- Zm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogPGEgY2xhc3M9ImlyaXNf
1067
- bGluayIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0
1068
- aW9ucyI+CiBUZXJtcyA8L2E+CiA8L2xpPgogPGxpIGNsYXNzPSJmb290ZXJf
1069
- djJfX2xlZ2FsLWxpc3QtaXRlbSI+CiA8YSBjbGFzcz0iaXJpc19saW5rIiBo
1070
- cmVmPSIvcHJpdmFjeSIgdGl0bGU9IlByaXZhY3kgUG9saWN5Ij4KIFByaXZh
1071
- Y3kgPC9hPgogPC9saT4KIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1s
1072
- aXN0LWl0ZW0iPgogPGEgY2xhc3M9ImlyaXNfbGluayIgaHJlZj0iL2RtY2Ei
1073
- IHRpdGxlPSJDb3B5cmlnaHQgSW5mb3JtYXRpb24iPgogQ29weXJpZ2h0IDwv
1074
- YT4KIDwvbGk+CiA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1p
1075
- dGVtIj4KIDxhIGNsYXNzPSJpcmlzX2xpbmsiIGhyZWY9Ii9jb29raWVfcG9s
1076
- aWN5IiB0aXRsZT0iTGVhcm4gbW9yZSBhYm91dCBob3cgVmltZW8gdXNlcyBj
1077
- b29raWVzIj4KIENvb2tpZXMgPC9hPgogPC9saT4KIDwvdWw+CiA8ZGl2IGNs
1078
- YXNzPSJmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50IGZvb3Rlcl92Ml9f
1079
- d2l0aGxvdmUiPgogTWFkZSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly92aW1lby5j
1080
- b20vbG92ZSI+PHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIgZm9vdGVyX3Yy
1081
- X19hdXhpbGlhcnktaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
1082
- MDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTIgMTIiPjxwYXRoIGQ9Ik05IDJDNy4z
1083
- MTIgMiA2IDMuNSA2IDMuNVM0LjY4NyAyIDMgMkMxLjMxMiAyIDAgMy4zMTIg
1084
- MCA1YzAgMy4xODggMy43NSAzLjAxMiA2IDYgMi4yNS0yLjk4OCA2LTIuODEy
1085
- IDYtNiAwLTEuNjg4LTEuMzEzLTMtMy0zeiIvPjwvc3ZnPjwvYT4gaW4gTllD
1086
- LiA8L2Rpdj4KIDwvZGl2PgoKIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmls
1087
- dGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KIDxzcGFuIGNs
1088
- YXNzPSJsYW5ndWFnZSI+CiBMYW5ndWFnZToKIDxhIGNsYXNzPSJpcmlzX2xp
1089
- bmsiIGhyZWY9IiNsYW5ndWFnZSIgb25jbGljaz0idmltZW8uTW9kYWwuY3Jl
1090
- YXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2xvY2FsZScsIHNpemU6ICdzbWFs
1091
- bCd9KTsgcmV0dXJuIGZhbHNlOyIgdGl0bGU9IkNob29zZSBhIGRpZmZlcmVu
1092
- dCBsYW5ndWFnZSI+RW5nbGlzaDwvYT4KIDwvc3Bhbj4KCiAgPHNwYW4gY2xh
1093
- c3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6
1094
- IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGZvb3Rlcl92Ml9fZmlsdGVy
1095
- c19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVy
1096
- X2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmlt
1097
- ZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRy
1098
- YXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBm
1099
- aWx0ZXIiPk5vbmU8L2E+CiAgPC9kaXY+Cgo8L3NlY3Rpb24+CjwvZm9vdGVy
1100
- PgogCiA8L2Rpdj4KCiAKIAogCiAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
1101
- bi9sZCtqc29uIj4KIFt7InVybCI6Imh0dHBzOi8vdmltZW8uY29tLzEzNjk3
1102
- MTQyOCIsInRodW1ibmFpbFVybCI6Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20v
1103
- dmlkZW8vNTMxNjg4MjM5XzEyODB4NzIwLmpwZyIsImVtYmVkVXJsIjoiaHR0
1104
- cHM6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzEzNjk3MTQyOCIsIm5hbWUi
1105
- OiJEZWFmaGVhdmVuIC0gJiMwMzk7TmV3IEJlcm11ZGEmIzAzOTsgVHJhaWxl
1106
- ciIsImRlc2NyaXB0aW9uIjoiJiMwMzk7TmV3IEJlcm11ZGEsJiMwMzk7IHRo
1107
- ZSB1cGNvbWluZyBhbGJ1bSBmcm9tIERlYWZoZWF2ZW4sIGlzIGF2YWlsYWJs
1108
- ZSBPY3RvYmVyIDJuZCIsImhlaWdodCI6NzIwLCJ3aWR0aCI6MTI4MCwicGxh
1109
- eWVyVHlwZSI6IkhUTUw1IEZsYXNoIiwidmlkZW9RdWFsaXR5IjoiSEQiLCJk
1110
- dXJhdGlvbiI6IlBUMDBIMDBNNTlTIiwidXBsb2FkRGF0ZSI6IjIwMTUtMDgt
1111
- MjFUMTc6Mzc6NDMtMDQ6MDAiLCJpbnRlcmFjdGlvbkNvdW50Ijo4NCwidGh1
1112
- bWJuYWlsIjp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLCJ1cmwiOiJodHRwczov
1113
- L2kudmltZW9jZG4uY29tL3ZpZGVvLzUzMTY4ODIzOV8xMjgweDcyMC5qcGci
1114
- LCJ3aWR0aCI6MTI4MCwiaGVpZ2h0Ijo3MjB9LCJhdXRob3IiOnsiQHR5cGUi
1115
- OiJQZXJzb24iLCJuYW1lIjoiQW50aSBSZWNvcmRzIiwidXJsIjoiaHR0cHM6
1116
- Ly92aW1lby5jb20vYW50aXJlY29yZHMifSwicG90ZW50aWFsQWN0aW9uIjp7
1117
- IkB0eXBlIjoiVmlld0FjdGlvbiIsInRhcmdldCI6InZpbWVvOi8vYXBwLnZp
1118
- bWVvLmNvbS92aWRlb3MvMTM2OTcxNDI4In0sIkB0eXBlIjoiVmlkZW9PYmpl
1119
- Y3QiLCJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIn0seyJpdGVtTGlz
1120
- dEVsZW1lbnQiOlt7IkB0eXBlIjoiTGlzdEl0ZW0iLCJwb3NpdGlvbiI6MSwi
1121
- aXRlbSI6eyJAaWQiOiJodHRwczovL3ZpbWVvLmNvbS9hbnRpcmVjb3JkcyIs
1122
- Im5hbWUiOiJBbnRpIFJlY29yZHMifX0seyJAdHlwZSI6Ikxpc3RJdGVtIiwi
1123
- cG9zaXRpb24iOjIsIml0ZW0iOnsiQGlkIjoiaHR0cHM6Ly92aW1lby5jb20v
1124
- YW50aXJlY29yZHMvdmlkZW9zIiwibmFtZSI6IlZpZGVvcyJ9fV0sIkB0eXBl
1125
- IjoiQnJlYWRjcnVtYkxpc3QiLCJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEu
1126
- b3JnIn1dIDwvc2NyaXB0PgoKPHNjcmlwdD4KIHZhciBfX2ZhID0gX19mYSB8
1127
- fCBbXTsKIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CgogIC8vIEFu
1128
- YWx5dGljcyBTZXR1cAogdmFyIF9ndG0gPSBfZ3RtIHx8IFtdLAogX2luaXRp
1129
- YWxfZ3RtX3N0YXRlID0geyJjbGlwX2lkIjoxMzY5NzE0MjgsImNyZWF0b3Jf
1130
- aWQiOjgxNDMxMSwiY2F0ZWdvcnkiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIs
1131
- InN0YWZmX3BpY2siOiJubyIsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1
1132
- cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVy
1133
- c2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4
1134
- Mjg5fTsKCiBfaW5pdGlhbF9ndG1fc3RhdGVbJ3Z1aWQnXSA9IGRvY3VtZW50
1135
- LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKil2dWlkXHMqXD1ccyoo
1136
- W147XSopLiokKXxeLiokLywgIiQxIik7CiBfaW5pdGlhbF9ndG1fc3RhdGVb
1137
- J2d0bS5zdGFydCddID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiBfaW5pdGlh
1138
- bF9ndG1fc3RhdGVbJ2V2ZW50J10gPSAnZ3RtLmpzJzsKIF9ndG0ucHVzaChf
1139
- aW5pdGlhbF9ndG1fc3RhdGUpOwogCiAgdmFyIF9leHRlbmQgPSBmdW5jdGlv
1140
- bigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxl
1141
- bmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGlu
1142
- IHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9
1143
- OwoKICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0
1144
- eWxlcy9jc3Nfb3B0LycsCiBKU19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2Ru
1145
- LmNvbS9qc19vcHQvJywKIElNQUdFX0RJUiA9ICdodHRwczovL2YudmltZW9j
1146
- ZG4uY29tL2ltYWdlc192Ni8nLAogU1ZHX0RJUiA9ICdodHRwczovL2Yudmlt
1147
- ZW9jZG4uY29tL3N2Zy8nLAogIEJVSUxEX0hBU0ggPSAnZmEyNDYnOwoKICB2
1148
- YXIgdmltZW8gPSBfZXh0ZW5kKCh3aW5kb3cudmltZW8gfHwge30pLCB7ImFw
1149
- cF92ZXJzaW9uIjoidjYiLCJkb21haW4iOiJ2aW1lby5jb20iLCJ1cmwiOiJ2
1150
- aW1lby5jb20iLCJjdXJfdXNlciI6ZmFsc2UsImlzX21vYmlsZSI6ZmFsc2V9
1151
- KTsKIHZpbWVvLmNvbmZpZyA9IF9leHRlbmQoKHZpbWVvLmNvbmZpZyB8fCB7
1152
- fSksIFtdKTsKCiAgdmFyIGxvY2FsZUNvbmZpZyA9IHsKIGxhbmc6ICdlbics
1153
- CiAnRGF0ZSc6IHsKIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJN
1154
- YXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJT
1155
- ZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAog
1156
- bW9udGhzX2FiYnI6IFsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5Iiwi
1157
- SnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sCiBk
1158
- YXlzOiBbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXki
1159
- LCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sCiBkYXlzX2FiYnI6
1160
- IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0s
1161
- CgogLy8gQ3VsdHVyZSdzIGRhdGUgb3JkZXI6IE1NL0REL1lZWVkKIGRhdGVP
1162
- cmRlcjogWydkYXRlJywgJ21vbnRoJywgJ3llYXInXSwKIHNob3J0RGF0ZTog
1163
- JyVkLyVtLyVZJywKIHNob3J0VGltZTogJyVJOiVNJXAnLAogQU06ICdBTScs
1164
- CiBQTTogJ1BNJywKIGZpcnN0RGF5T2ZXZWVrOiAwLAoKIC8vIERhdGUuRXh0
1165
- cmFzCiBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKIHJldHVybiBk
1166
- YXlPZk1vbnRoOwogfQogfSwKICdEYXRlUGlja2VyJzogewogc2VsZWN0X2Ff
1167
- dGltZTogIlNlbGVjdCBhIHRpbWUiLAogdXNlX21vdXNlX3doZWVsOiAiVXNl
1168
- IHRoZSBtb3VzZSB3aGVlbCB0byBxdWlja2x5IGNoYW5nZSB2YWx1ZSIsCiB0
1169
- aW1lX2NvbmZpcm1fYnV0dG9uOiAiT0siLAogYXBwbHlfcmFuZ2U6ICJBcHBs
1170
- eSIsCiBjYW5jZWw6ICJDYW5jZWwiLAogd2VlazogIldrIiB9LAogICdOdW1i
1171
- ZXInOiB7CiBkZWNpbWFsOiAnLicsCiBncm91cDogJywnLAogY3VycmVuY3k6
1172
- IHsKIHByZWZpeDogJyQnCiB9CiB9LAogJ0Zvcm1WYWxpZGF0b3InOiB7InJl
1173
- cXVpcmVkIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iLCJyZXF1aXJlZENo
1174
- ayI6IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn0gfTsKCiB2YXIgZnVsbExv
1175
- Y2FsZSA9ICcnOwoKIAogIHZhciBDb3B5ID0ge3RyYW5zbGF0ZTpmdW5jdGlv
1176
- bih0LGksdSl7dmFyIGU9J29iamVjdCchPXR5cGVvZiB0aGlzLmRpY3RbdF0/
1177
- dGhpcy5kaWN0W3RdOmk/dGhpcy5kaWN0W3RdLnBsdXJhbDp0aGlzLmRpY3Rb
1178
- dF0uc2luZ3VsYXI7cmV0dXJuJ29iamVjdCc9PXR5cGVvZiB1JiYoZT10aGlz
1179
- LnN1YnN0aXR1dGUoZSx1KSksZX0sc3Vic3RpdHV0ZTpmdW5jdGlvbih0LGkp
1180
- e3JldHVybiB2b2lkIDAhPT10LnN1YnN0aXR1dGU/dC5zdWJzdGl0dXRlKGkp
1181
- OnQucmVwbGFjZSgvXFw/XHsoW157fV0rKVx9L2csZnVuY3Rpb24odCx1KXty
1182
- ZXR1cm4nXFwnPT10LmNoYXJBdCgwKT90LnNsaWNlKDEpOm51bGwhPWlbdV0/
1183
- aVt1XTonJ30pfSxkaWN0Ont9fTsKIENvcHkuZGljdCA9IHsiZGlkX3lvdV9t
1184
- ZWFuX2VtYWlsIjoiRGlkIHlvdSBtZWFuIDxlbT57U1VHR0VTVH08XC9lbT4/
1185
- IiwiZW1haWxfcGFzc3dvcmRfbWlzbWF0Y2giOiJFbWFpbCBhbmQgcGFzc3dv
1186
- cmQgZG8gbm90IG1hdGNoIiwianVzdF9ub3ciOiJqdXN0IG5vdyIsInNlY29u
1187
- ZHNfYWdvIjp7InNpbmd1bGFyIjoie0NPVU5UfSBzZWNvbmQgYWdvIiwicGx1
1188
- cmFsIjoie0NPVU5UfSBzZWNvbmRzIGFnbyJ9LCJtaW51dGVzX2FnbyI6eyJz
1189
- aW5ndWxhciI6IntDT1VOVH0gbWludXRlIGFnbyIsInBsdXJhbCI6IntDT1VO
1190
- VH0gbWludXRlcyBhZ28ifSwiaG91cnNfYWdvIjp7InNpbmd1bGFyIjoie0NP
1191
- VU5UfSBob3VyIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gaG91cnMgYWdvIn0s
1192
- Im9wZW5fY29tbWVudF9ib3giOiJBZGQgbmV3IGNvbW1lbnQgaW5zdGVhZCAm
1193
- cmFxdW87IiwidXJsX3VuYXZhaWxhYmxlIjoiU29ycnksIHRoaXMgdXJsIGlz
1194
- IHVuYXZhaWxhYmxlLiIsInVuc2F2ZWRfY2hhbmdlc19nZW5lcmljIjoiWW91
1195
- IGhhdmUgdW5zYXZlZCBjaGFuZ2VzLCBhcmUgeW91IHN1cmUgeW91IHdpc2gg
1196
- dG8gbGVhdmU/IiwiYWRkIjoiQWRkIiwicmVtb3ZlIjoiUmVtb3ZlIiwic2Vs
1197
- ZWN0IjoiU2VsZWN0Iiwibm9fZm9sbG93ZXJzX2Zvcl9sZXR0ZXIiOiJZb3Ug
1198
- ZG9uJnJzcXVvO3QgZm9sbG93IGFueW9uZSB0aGF0IGJlZ2luIHdpdGggdGhl
1199
- IGxldHRlciAmbGRxdW87e1BBR0VfTEVUVEVSfSZyZHF1bzsiLCJzaGFyZV9s
1200
- aW1pdF9yZWFjaGVkIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBu
1201
- dW1iZXIgb2YgdXNlcnMgdG8gc2hhcmUgd2l0aC4iLCJvbGRfY29kZSI6IlVz
1202
- ZSBvbGQgZW1iZWQgY29kZSIsIm5ld19jb2RlIjoiVXNlIG5ldyBlbWJlZCBj
1203
- b2RlIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBv
1204
- bmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJs
1205
- ZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3Jy
1206
- eSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVv
1207
- cyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ci
1208
- LCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93
1209
- IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRz
1210
- Ijp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NP
1211
- VU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0
1212
- IHRvIGNvbW1lbnQmaGVsbGlwOyIsIm5vX2NvbW1lbnRzX2Zvcl95b3UiOiJG
1213
- b3JiaWRkZW4uIFlvdSBjYW5ub3QgcG9zdCBjb21tZW50cyBvbiB0aGlzIHBh
1214
- Z2UuIiwib29wcyI6Ik9vcHMhIiwicGxheWVyX3RyeV9hZ2FpbiI6IlRoYXQg
1215
- d2Fzbid0IHN1cHBvc2VkIHRvIGhhcHBlbi4gUGxlYXNlIHRyeSBhZ2FpbiBp
1216
- biBhIGZldyBtaW51dGVzLiIsImR1cmF0aW9uX2lucHV0X21pbl9kdXJhdGlv
1217
- biI6IlRoZSBkdXJhdGlvbiBjYW5ub3QgYmUgbGVzcyB0aGFuIHtNSU5fRFVS
1218
- QVRJT059LiIsImR1cmF0aW9uX2lucHV0X21heF9kdXJhdGlvbiI6IlRoZSBk
1219
- dXJhdGlvbiBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIHtNQVhfRFVSQVRJT059
1220
- LiIsImR1cmF0aW9uX2lucHV0X2ludmFsaWRfY2hhcmFjdGVycyI6IjAtOSBh
1221
- bmQgOiBhcmUgdGhlIG9ubHkgYWNjZXB0YWJsZSBpbnB1dHMuIiwiY2xvc2Ui
1222
- OiJDbG9zZSIsImV4cGFuZCI6IkV4cGFuZCIsImxvYWRpbmciOiJMb2FkaW5n
1223
- Li4uIiwidG9wIjoidG9wIiwiYWR2YW5jZWRfc2VhcmNoIjoiQWR2YW5jZWQg
1224
- U2VhcmNoIiwibm9fc3VnZ2VzdGlvbnMiOiJObyBzdWdnZXN0aW9ucyIsInJl
1225
- Y2VudF9zZWFyY2hlcyI6IlJlY2VudCBTZWFyY2hlcyIsInNlYXJjaF9hbGwi
1226
- OiJTZWFyY2ggQWxsIG9mIFZpbWVvIiwiZW1haWxfYW5kX3Bhc3N3b3JkIjoi
1227
- UGxlYXNlIGVudGVyIHlvdXIgZW1haWwgYW5kIHBhc3N3b3JkIiwiZW1haWxf
1228
- YWRkcmVzcyI6IlBsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3Mi
1229
- LCJuYW1lX2VtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3Vy
1230
- IG5hbWUsIGVtYWlsLCBhbmQgcGFzc3dvcmQiLCIxIFRyYWNrIjoiMSBUcmFj
1231
- ayIsIkFib3V0IjoiQWJvdXQiLCJBY2NlcHQiOiJBY2NlcHQiLCJBZGQgYSBu
1232
- ZXcgY29tbWVudCI6IkFkZCBhIG5ldyBjb21tZW50IiwiQWRkIGNvbW1lbnQi
1233
- OiJBZGQgY29tbWVudCIsIkFkZCByZXBseSI6IkFkZCByZXBseSIsIkFkZCB0
1234
- byBjb2xsZWN0aW9ucyI6IkFkZCB0byBjb2xsZWN0aW9ucyIsIkFkZCI6IkFk
1235
- ZCIsIkFsYnVtcyI6IkFsYnVtcyIsIkFwcHJveGltYXRlIFRpbWUgUmVtYWlu
1236
- aW5nIjoiQXBwcm94aW1hdGUgVGltZSBSZW1haW5pbmciLCJBcmUgeW91IHN1
1237
- cmUgeW91IHdhbnQgZGVsZXRlIHRoaXMgY29tbWVudCBwZXJtYW5lbnRseT8i
1238
- OiJBcmUgeW91IHN1cmUgeW91IHdhbnQgZGVsZXRlIHRoaXMgY29tbWVudCBw
1239
- ZXJtYW5lbnRseT8iLCJBdXRvcGxheSBvZmYiOiJBdXRvcGxheSBvZmYiLCJB
1240
- dXRvcGxheSBvbiI6IkF1dG9wbGF5IG9uIiwiQnV5IHtESVNQTEFZX1BSSUNF
1241
- fSI6IkJ1eSB7RElTUExBWV9QUklDRX0iLCJieSB7QVJUSVNUX05BTUV9Ijoi
1242
- Ynkge0FSVElTVF9OQU1FfSIsIkNhbmNlbCI6IkNhbmNlbCIsIkNoYW5nZSBz
1243
- ZXR0aW5ncy4iOiJDaGFuZ2Ugc2V0dGluZ3MuIiwiQ2hhbmdlIHlvdXIgY29u
1244
- dGVudCBmaWx0ZXIgcHJlZmVyZW5jZSI6IkNoYW5nZSB5b3VyIGNvbnRlbnQg
1245
- ZmlsdGVyIHByZWZlcmVuY2UiLCJDaGFubmVscyI6IkNoYW5uZWxzIiwiQ2xp
1246
- Y2sgaGVyZSB0byBhZGQgYSBuZXcgY29tbWVudCI6IkNsaWNrIGhlcmUgdG8g
1247
- YWRkIGEgbmV3IGNvbW1lbnQiLCJDbGljayB0byBzaGFyZSB0aGlzIGNvbW1l
1248
- bnQgb24ge1NPQ0lBTF9BUFB9IjoiQ2xpY2sgdG8gc2hhcmUgdGhpcyBjb21t
1249
- ZW50IG9uIHtTT0NJQUxfQVBQfSIsIkNvbGxlY3Rpb24gbmFtZSI6IkNvbGxl
1250
- Y3Rpb24gbmFtZSIsIkNvbW1lbnRzIGFyZSBkaXNhYmxlZC4iOiJDb21tZW50
1251
- cyBhcmUgZGlzYWJsZWQuIiwiQ29tbWVudHMiOiJDb21tZW50cyIsIkNyZWF0
1252
- aXZlIENvbW1vbnMgTGljZW5zZToiOiJDcmVhdGl2ZSBDb21tb25zIExpY2Vu
1253
- c2U6IiwiRGVsZXRlIjoiRGVsZXRlIiwiRGltZW5zaW9ucyI6IkRpbWVuc2lv
1254
- bnMiLCJEb3dubG9hZCBMaW5rIjoiRG93bmxvYWQgTGluayIsIkRvd25sb2Fk
1255
- IjoiRG93bmxvYWQiLCJEdWUgdG8geW91ciBwcml2YWN5IHNldHRpbmdzLCB0
1256
- aGlzIHZpZGVvIGNhbm5vdCBiZSBhZGRlZCB0byBjaGFubmVscyBvciBncm91
1257
- cHMuIjoiRHVlIHRvIHlvdXIgcHJpdmFjeSBzZXR0aW5ncywgdGhpcyB2aWRl
1258
- byBjYW5ub3QgYmUgYWRkZWQgdG8gY2hhbm5lbHMgb3IgZ3JvdXBzLiIsIkVk
1259
- aXQgU2V0dGluZ3MiOiJFZGl0IFNldHRpbmdzIiwiRWRpdCI6IkVkaXQiLCJF
1260
- eGl0IGZ1bGxzY3JlZW4iOiJFeGl0IGZ1bGxzY3JlZW4iLCJGZXRjaCI6IkZl
1261
- dGNoIiwiRmlsZSBTaXplIjoiRmlsZSBTaXplIiwiRmlsZSI6IkZpbGUiLCJG
1262
- aW5pc2hlcyI6IkZpbmlzaGVzIiwiRm9sbG93IjoiRm9sbG93IiwiRm9sbG93
1263
- aW5nIjoiRm9sbG93aW5nIiwiRm9ybWVyIFZpbWVvIHN0YWZmIG1lbWJlciI6
1264
- IkZvcm1lciBWaW1lbyBzdGFmZiBtZW1iZXIiLCJmcm9tIHtVU0VSX05BTUV9
1265
- IjoiZnJvbSB7VVNFUl9OQU1FfSIsImZyb20ge1ZPRF9USVRMRX0iOiJmcm9t
1266
- IHtWT0RfVElUTEV9IiwiR2V0IG1lIG91dCBvZiBoZXJlISI6IkdldCBtZSBv
1267
- dXQgb2YgaGVyZSEiLCJHcm91cHMiOiJHcm91cHMiLCJJIGp1c3QgY29tbWVu
1268
- dGVkIG9uIFx1MjAxY3tDTElQX1RJVExFfSBieSBAe1RXSVRURVJfSEFORExF
1269
- fVx1MjAxZCI6IkkganVzdCBjb21tZW50ZWQgb24gXHUyMDFje0NMSVBfVElU
1270
- TEV9IGJ5IEB7VFdJVFRFUl9IQU5ETEV9XHUyMDFkIiwiSSBqdXN0IGNvbW1l
1271
- bnRlZCBvbiBcdTIwMWN7Q0xJUF9USVRMRX1cdTIwMWQiOiJJIGp1c3QgY29t
1272
- bWVudGVkIG9uIFx1MjAxY3tDTElQX1RJVExFfVx1MjAxZCIsIkkganVzdCBj
1273
- b21tZW50ZWQgXHUyMDFje0NPTU1FTlRfVEVYVH1cdTIwMWQgb24gXHUyMDFj
1274
- e0NMSVBfVElUTEV9XHUyMDFkIGJ5IEB7VFdJVFRFUl9IQU5ETEV9IjoiSSBq
1275
- dXN0IGNvbW1lbnRlZCBcdTIwMWN7Q09NTUVOVF9URVhUfVx1MjAxZCBvbiBc
1276
- dTIwMWN7Q0xJUF9USVRMRX1cdTIwMWQgYnkgQHtUV0lUVEVSX0hBTkRMRX0i
1277
- LCJJIGp1c3QgY29tbWVudGVkIFx1MjAxY3tDT01NRU5UX1RFWFR9XHUyMDFk
1278
- IG9uIFx1MjAxY3tDTElQX1RJVExFfVx1MjAxZCI6IkkganVzdCBjb21tZW50
1279
- ZWQgXHUyMDFje0NPTU1FTlRfVEVYVH1cdTIwMWQgb24gXHUyMDFje0NMSVBf
1280
- VElUTEV9XHUyMDFkIiwiSW5jb3JyZWN0IHJhdGluZyI6IkluY29ycmVjdCBy
1281
- YXRpbmciLCJMZWFybiBhYm91dCBvdGhlciB2aW9sYXRpb25zIjoiTGVhcm4g
1282
- YWJvdXQgb3RoZXIgdmlvbGF0aW9ucyIsIkxlYXJuIGFib3V0IFN0YXRzIjoi
1283
- TGVhcm4gYWJvdXQgU3RhdHMiLCJMZWFybiBtb3JlIjoiTGVhcm4gbW9yZSIs
1284
- IkxlYXZlIHRoZSBmaXJzdCBjb21tZW50OiI6IkxlYXZlIHRoZSBmaXJzdCBj
1285
- b21tZW50OiIsIkxpa2Ugd2hhdCB5b3Ugc2F3PyBTZWUgdGhlIGZ1bGwgdGl0
1286
- bGUuIjoiTGlrZSB3aGF0IHlvdSBzYXc/IFNlZSB0aGUgZnVsbCB0aXRsZS4i
1287
- LCJMaWtlIjoiTGlrZSIsIkxpa2VkIjoiTGlrZWQiLCJMaWtlcyI6Ikxpa2Vz
1288
- IiwiTG9hZCB7Q09VTlR9IHByZXZpb3VzIGNvbW1lbnQiOnsic2luZ3VsYXIi
1289
- OiJMb2FkIHtDT1VOVH0gcHJldmlvdXMgY29tbWVudCIsInBsdXJhbCI6Ikxv
1290
- YWQge0NPVU5UfSBwcmV2aW91cyBjb21tZW50cyJ9LCJMb2FkaW5nIjoiTG9h
1291
- ZGluZyIsIk1hbmFnZSBjb2xsZWN0aW9ucyI6Ik1hbmFnZSBjb2xsZWN0aW9u
1292
- cyIsIk1vbmV5bWFrZXIiOiJNb25leW1ha2VyIiwibW9yZSI6Im1vcmUiLCJO
1293
- ZXh0IHZpZGVvIjoiTmV4dCB2aWRlbyIsIk5vdCBwbGF5aW5nIG5pY2UiOiJO
1294
- b3QgcGxheWluZyBuaWNlIiwiT25seSB2aXNpYmxlIHRvIHlvdSI6Ik9ubHkg
1295
- dmlzaWJsZSB0byB5b3UiLCJPcmlnaW5hbCBmaWxlIGlzIGluIHRoZSBhcmNo
1296
- aXZlIjoiT3JpZ2luYWwgZmlsZSBpcyBpbiB0aGUgYXJjaGl2ZSIsIk90aGVy
1297
- IHBlb3BsZSBjYW4gd2F0Y2ggdGhpcyB2aWRlbyB2aWEgaXRzIHJldmlldyBw
1298
- YWdlLiBJZiB5b3VyIHZpZGVvIHJlcXVpcmVzIGEgcGFzc3dvcmQsIHlvdXIg
1299
- cmV2aWV3IHBhZ2Ugd2lsbCB0b28uIjoiT3RoZXIgcGVvcGxlIGNhbiB3YXRj
1300
- aCB0aGlzIHZpZGVvIHZpYSBpdHMgcmV2aWV3IHBhZ2UuIElmIHlvdXIgdmlk
1301
- ZW8gcmVxdWlyZXMgYSBwYXNzd29yZCwgeW91ciByZXZpZXcgcGFnZSB3aWxs
1302
- IHRvby4iLCJQZW5kaW5nIHN1Ym1pc3Npb24iOiJQZW5kaW5nIHN1Ym1pc3Np
1303
- b24iLCJQZXJtYWxpbmsgdG8gdGhpcyBjb21tZW50IjoiUGVybWFsaW5rIHRv
1304
- IHRoaXMgY29tbWVudCIsIlBsYXlzIjoiUGxheXMiLCJwbGVhc2UgbGV0IHVz
1305
- IGtub3ciOiJwbGVhc2UgbGV0IHVzIGtub3ciLCJQb3J0Zm9saW9zIjoiUG9y
1306
- dGZvbGlvcyIsIlByZXNlbnRlZCBieSB7QlJBTkRfTkFNRX1cdTIwMTlzIHtD
1307
- QU1QQUlHTl9USVRMRX0iOiJQcmVzZW50ZWQgYnkge0JSQU5EX05BTUV9XHUy
1308
- MDE5cyB7Q0FNUEFJR05fVElUTEV9IiwiUHJlc2lkZW50IG9mIHRoZSBVbml0
1309
- ZWQgU3RhdGVzIjoiUHJlc2lkZW50IG9mIHRoZSBVbml0ZWQgU3RhdGVzIiwi
1310
- UHJldmlvdXMgdmlkZW8iOiJQcmV2aW91cyB2aWRlbyIsIlB1YmxpYyBEb21h
1311
- aW4gRGVkaWNhdGlvbiI6IlB1YmxpYyBEb21haW4gRGVkaWNhdGlvbiIsIlJl
1312
- YWQgbW9yZVx1MjAyNiI6IlJlYWQgbW9yZVx1MjAyNiIsIlJlamVjdCI6IlJl
1313
- amVjdCIsIlJlbWVtYmVyIHRvIGJlIGNvb2wgYW5kIHBsYXkgbmljZSEiOiJS
1314
- ZW1lbWJlciB0byBiZSBjb29sIGFuZCBwbGF5IG5pY2UhIiwiUmVtb3ZlIGNy
1315
- ZWRpdCI6IlJlbW92ZSBjcmVkaXQiLCJSZW50IHtESVNQTEFZX1BSSUNFfSI6
1316
- IlJlbnQge0RJU1BMQVlfUFJJQ0V9IiwiUmVwbHkgdG8gdGhpcyBjb21tZW50
1317
- IjoiUmVwbHkgdG8gdGhpcyBjb21tZW50IiwiUmVwbHkiOiJSZXBseSIsIlJl
1318
- cG9ydCB0aGlzIHZpZGVvIjoiUmVwb3J0IHRoaXMgdmlkZW8iLCJSZXBvcnQg
1319
- dGhpcyB2aWRlbz8iOiJSZXBvcnQgdGhpcyB2aWRlbz8iLCJSZXRyeSB1cGxv
1320
- YWQiOiJSZXRyeSB1cGxvYWQiLCJTZWUgZnVsbCBzdGF0aXN0aWNzIjoiU2Vl
1321
- IGZ1bGwgc3RhdGlzdGljcyIsIlJldmlldyBwYWdlIjoiUmV2aWV3IHBhZ2Ui
1322
- LCJTZXR0aW5ncyI6IlNldHRpbmdzIiwiU2hhcmUiOiJTaGFyZSIsIlNob3cg
1323
- bWUgdGhlIHZpZGVvIjoiU2hvdyBtZSB0aGUgdmlkZW8iLCJTaG93IG1vcmVc
1324
- dTIwMjYiOiJTaG93IG1vcmVcdTIwMjYiLCJTb3VyY2UgZmlsZXMgbm90IGFj
1325
- Y2Vzc2VkIGZvciAzMCBkYXlzIGFyZSBhdXRvbWF0aWNhbGx5IHN0b3JlZCBp
1326
- biBvdXIgc2VjcmV0IHVuZGVyZ3JvdW5kIHN0b3JhZ2UgYXJjaGl2ZS4gQXMg
1327
- c3VjaCwgaXQgbWF5IHRha2UgYSBmZXcgaG91cnMgdG8gcmV0cmlldmUgdGhl
1328
- IGZpbGUuIFN0aWxsIHdhbnQgdGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlPyI6
1329
- IlNvdXJjZSBmaWxlcyBub3QgYWNjZXNzZWQgZm9yIDMwIGRheXMgYXJlIGF1
1330
- dG9tYXRpY2FsbHkgc3RvcmVkIGluIG91ciBzZWNyZXQgdW5kZXJncm91bmQg
1331
- c3RvcmFnZSBhcmNoaXZlLiBBcyBzdWNoLCBpdCBtYXkgdGFrZSBhIGZldyBo
1332
- b3VycyB0byByZXRyaWV2ZSB0aGUgZmlsZS4gU3RpbGwgd2FudCB0aGUgb3Jp
1333
- Z2luYWwgc291cmNlIGZpbGU/IiwiU3BhbSI6IlNwYW0iLCJTcG9uc29yZWQg
1334
- TGlua3MiOiJTcG9uc29yZWQgTGlua3MiLCJTdGF0cyI6IlN0YXRzIiwiU3Vi
1335
- c2NyaWJlIHtESVNQTEFZX1BSSUNFfVwve0JJTExJTkdfUEVSSU9EfSI6IlN1
1336
- YnNjcmliZSB7RElTUExBWV9QUklDRX1cL3tCSUxMSU5HX1BFUklPRH0iLCJU
1337
- aGUgb3JpZ2luYWwgc291cmNlIGZpbGUgaXMgaG9zdGVkIG9uIERyb3Bib3gu
1338
- IjoiVGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlIGlzIGhvc3RlZCBvbiBEcm9w
1339
- Ym94LiIsIlRoZSBwZXJzb24gd2hvIGFzc29jaWF0ZWQgYSB3b3JrIHdpdGgg
1340
- dGhpcyBkZWVkIGhhcyBkZWRpY2F0ZWQgdGhlIHdvcmsgdG8gdGhlIHB1Ymxp
1341
- YyBkb21haW4gYnkgd2FpdmluZyBhbGwgb2YgaGlzIG9yIGhlciByaWdodHMg
1342
- dG8gdGhlIHdvcmsgd29ybGR3aWRlIHVuZGVyIGNvcHlyaWdodCBsYXcsIGlu
1343
- Y2x1ZGluZyBhbGwgcmVsYXRlZCBhbmQgbmVpZ2hib3JpbmcgcmlnaHRzLCB0
1344
- byB0aGUgZXh0ZW50IGFsbG93ZWQgYnkgbGF3LiBZb3UgY2FuIGNvcHksIG1v
1345
- ZGlmeSwgZGlzdHJpYnV0ZSBhbmQgcGVyZm9ybSB0aGUgd29yaywgZXZlbiBm
1346
- b3IgY29tbWVyY2lhbCBwdXJwb3NlcywgYWxsIHdpdGhvdXQgYXNraW5nIHBl
1347
- cm1pc3Npb24uIjoiVGhlIHBlcnNvbiB3aG8gYXNzb2NpYXRlZCBhIHdvcmsg
1348
- d2l0aCB0aGlzIGRlZWQgaGFzIGRlZGljYXRlZCB0aGUgd29yayB0byB0aGUg
1349
- cHVibGljIGRvbWFpbiBieSB3YWl2aW5nIGFsbCBvZiBoaXMgb3IgaGVyIHJp
1350
- Z2h0cyB0byB0aGUgd29yayB3b3JsZHdpZGUgdW5kZXIgY29weXJpZ2h0IGxh
1351
- dywgaW5jbHVkaW5nIGFsbCByZWxhdGVkIGFuZCBuZWlnaGJvcmluZyByaWdo
1352
- dHMsIHRvIHRoZSBleHRlbnQgYWxsb3dlZCBieSBsYXcuIFlvdSBjYW4gY29w
1353
- eSwgbW9kaWZ5LCBkaXN0cmlidXRlIGFuZCBwZXJmb3JtIHRoZSB3b3JrLCBl
1354
- dmVuIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzLCBhbGwgd2l0aG91dCBhc2tp
1355
- bmcgcGVybWlzc2lvbi4iLCJUaGUgcGVyc29uIHdobyB1cGxvYWRlZCB0aGlz
1356
- IHZpZGVvIG9idmlvdXNseSBkaWRuXHUyMDE5dCBtYWtlIGl0IChpdFx1MjAx
1357
- OXMgYSBUViBzaG93LCBtb3ZpZSB0cmFpbGVyLCBvciByaXBwZWQgZnJvbSBl
1358
- bHNld2hlcmUgdGhlIHdlYi4pIjoiVGhlIHBlcnNvbiB3aG8gdXBsb2FkZWQg
1359
- dGhpcyB2aWRlbyBvYnZpb3VzbHkgZGlkblx1MjAxOXQgbWFrZSBpdCAoaXRc
1360
- dTIwMTlzIGEgVFYgc2hvdywgbW92aWUgdHJhaWxlciwgb3IgcmlwcGVkIGZy
1361
- b20gZWxzZXdoZXJlIHRoZSB3ZWIuKSIsIlRoaXMgY29tbWVudCB3aWxsIGJl
1362
- IHNoYXJlZCBvbiB7U09DSUFMX0FQUH0iOiJUaGlzIGNvbW1lbnQgd2lsbCBi
1363
- ZSBzaGFyZWQgb24ge1NPQ0lBTF9BUFB9IiwiVGhpcyBsaWNlbnNlIGFsbG93
1364
- cyBmb3IgcmVkaXN0cmlidXRpb24sIGNvbW1lcmNpYWwgYW5kIG5vbi1jb21t
1365
- ZXJjaWFsLCBhcyBsb25nIGFzIGl0IGlzIHBhc3NlZCBhbG9uZyB1bmNoYW5n
1366
- ZWQgYW5kIGluIHdob2xlLCB3aXRoIGNyZWRpdCB0byB5b3UuIjoiVGhpcyBs
1367
- aWNlbnNlIGFsbG93cyBmb3IgcmVkaXN0cmlidXRpb24sIGNvbW1lcmNpYWwg
1368
- YW5kIG5vbi1jb21tZXJjaWFsLCBhcyBsb25nIGFzIGl0IGlzIHBhc3NlZCBh
1369
- bG9uZyB1bmNoYW5nZWQgYW5kIGluIHdob2xlLCB3aXRoIGNyZWRpdCB0byB5
1370
- b3UuIiwiVGhpcyBsaWNlbnNlIGlzIHRoZSBtb3N0IHJlc3RyaWN0aXZlIG9m
1371
- IG91ciBzaXggbWFpbiBsaWNlbnNlcywgb25seSBhbGxvd2luZyBvdGhlcnMg
1372
- dG8gZG93bmxvYWQgeW91ciB3b3JrcyBhbmQgc2hhcmUgdGhlbSB3aXRoIG90
1373
- aGVycyBhcyBsb25nIGFzIHRoZXkgY3JlZGl0IHlvdSwgYnV0IHRoZXkgY2Fu
1374
- XHUyMDE5dCBjaGFuZ2UgdGhlbSBpbiBhbnkgd2F5IG9yIHVzZSB0aGVtIGNv
1375
- bW1lcmNpYWxseS4iOiJUaGlzIGxpY2Vuc2UgaXMgdGhlIG1vc3QgcmVzdHJp
1376
- Y3RpdmUgb2Ygb3VyIHNpeCBtYWluIGxpY2Vuc2VzLCBvbmx5IGFsbG93aW5n
1377
- IG90aGVycyB0byBkb3dubG9hZCB5b3VyIHdvcmtzIGFuZCBzaGFyZSB0aGVt
1378
- IHdpdGggb3RoZXJzIGFzIGxvbmcgYXMgdGhleSBjcmVkaXQgeW91LCBidXQg
1379
- dGhleSBjYW5cdTIwMTl0IGNoYW5nZSB0aGVtIGluIGFueSB3YXkgb3IgdXNl
1380
- IHRoZW0gY29tbWVyY2lhbGx5LiIsIlRoaXMgbGljZW5zZSBsZXRzIG90aGVy
1381
- cyBkaXN0cmlidXRlLCByZW1peCwgdHdlYWssIGFuZCBidWlsZCB1cG9uIHlv
1382
- dXIgd29yaywgZXZlbiBjb21tZXJjaWFsbHksIGFzIGxvbmcgYXMgdGhleSBj
1383
- cmVkaXQgeW91IGZvciB0aGUgb3JpZ2luYWwgY3JlYXRpb24uIFRoaXMgaXMg
1384
- dGhlIG1vc3QgYWNjb21tb2RhdGluZyBvZiBsaWNlbnNlcyBvZmZlcmVkLiBS
1385
- ZWNvbW1lbmRlZCBmb3IgbWF4aW11bSBkaXNzZW1pbmF0aW9uIGFuZCB1c2Ug
1386
- b2YgbGljZW5zZWQgbWF0ZXJpYWxzLiI6IlRoaXMgbGljZW5zZSBsZXRzIG90
1387
- aGVycyBkaXN0cmlidXRlLCByZW1peCwgdHdlYWssIGFuZCBidWlsZCB1cG9u
1388
- IHlvdXIgd29yaywgZXZlbiBjb21tZXJjaWFsbHksIGFzIGxvbmcgYXMgdGhl
1389
- eSBjcmVkaXQgeW91IGZvciB0aGUgb3JpZ2luYWwgY3JlYXRpb24uIFRoaXMg
1390
- aXMgdGhlIG1vc3QgYWNjb21tb2RhdGluZyBvZiBsaWNlbnNlcyBvZmZlcmVk
1391
- LiBSZWNvbW1lbmRlZCBmb3IgbWF4aW11bSBkaXNzZW1pbmF0aW9uIGFuZCB1
1392
- c2Ugb2YgbGljZW5zZWQgbWF0ZXJpYWxzLiIsIlRoaXMgbGljZW5zZSBsZXRz
1393
- IG90aGVycyByZW1peCwgdHdlYWssIGFuZCBidWlsZCB1cG9uIHlvdXIgd29y
1394
- ayBldmVuIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzLCBhcyBsb25nIGFzIHRo
1395
- ZXkgY3JlZGl0IHlvdSBhbmQgbGljZW5zZSB0aGVpciBuZXcgY3JlYXRpb25z
1396
- IHVuZGVyIHRoZSBpZGVudGljYWwgdGVybXMuIFRoaXMgbGljZW5zZSBpcyBv
1397
- ZnRlbiBjb21wYXJlZCB0byAmbGRxdW87Y29weWxlZnQmcmRxdW87IGZyZWUg
1398
- YW5kIG9wZW4gc291cmNlIHNvZnR3YXJlIGxpY2Vuc2VzLiBBbGwgbmV3IHdv
1399
- cmtzIGJhc2VkIG9uIHlvdXJzIHdpbGwgY2FycnkgdGhlIHNhbWUgbGljZW5z
1400
- ZSwgc28gYW55IGRlcml2YXRpdmVzIHdpbGwgYWxzbyBhbGxvdyBjb21tZXJj
1401
- aWFsIHVzZS4gVGhpcyBpcyB0aGUgbGljZW5zZSB1c2VkIGJ5IFdpa2lwZWRp
1402
- YSwgYW5kIGlzIHJlY29tbWVuZGVkIGZvciBtYXRlcmlhbHMgdGhhdCB3b3Vs
1403
- ZCBiZW5lZml0IGZyb20gaW5jb3Jwb3JhdGluZyBjb250ZW50IGZyb20gV2lr
1404
- aXBlZGlhIGFuZCBzaW1pbGFybHkgbGljZW5zZWQgcHJvamVjdHMuIjoiVGhp
1405
- cyBsaWNlbnNlIGxldHMgb3RoZXJzIHJlbWl4LCB0d2VhaywgYW5kIGJ1aWxk
1406
- IHVwb24geW91ciB3b3JrIGV2ZW4gZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMs
1407
- IGFzIGxvbmcgYXMgdGhleSBjcmVkaXQgeW91IGFuZCBsaWNlbnNlIHRoZWly
1408
- IG5ldyBjcmVhdGlvbnMgdW5kZXIgdGhlIGlkZW50aWNhbCB0ZXJtcy4gVGhp
1409
- cyBsaWNlbnNlIGlzIG9mdGVuIGNvbXBhcmVkIHRvICZsZHF1bztjb3B5bGVm
1410
- dCZyZHF1bzsgZnJlZSBhbmQgb3BlbiBzb3VyY2Ugc29mdHdhcmUgbGljZW5z
1411
- ZXMuIEFsbCBuZXcgd29ya3MgYmFzZWQgb24geW91cnMgd2lsbCBjYXJyeSB0
1412
- aGUgc2FtZSBsaWNlbnNlLCBzbyBhbnkgZGVyaXZhdGl2ZXMgd2lsbCBhbHNv
1413
- IGFsbG93IGNvbW1lcmNpYWwgdXNlLiBUaGlzIGlzIHRoZSBsaWNlbnNlIHVz
1414
- ZWQgYnkgV2lraXBlZGlhLCBhbmQgaXMgcmVjb21tZW5kZWQgZm9yIG1hdGVy
1415
- aWFscyB0aGF0IHdvdWxkIGJlbmVmaXQgZnJvbSBpbmNvcnBvcmF0aW5nIGNv
1416
- bnRlbnQgZnJvbSBXaWtpcGVkaWEgYW5kIHNpbWlsYXJseSBsaWNlbnNlZCBw
1417
- cm9qZWN0cy4iLCJUaGlzIGxpY2Vuc2UgbGV0cyBvdGhlcnMgcmVtaXgsIHR3
1418
- ZWFrLCBhbmQgYnVpbGQgdXBvbiB5b3VyIHdvcmsgbm9uLWNvbW1lcmNpYWxs
1419
- eSwgYW5kIGFsdGhvdWdoIHRoZWlyIG5ldyB3b3JrcyBtdXN0IGFsc28gYWNr
1420
- bm93bGVkZ2UgeW91IGFuZCBiZSBub24tY29tbWVyY2lhbCwgdGhleSBkb25c
1421
- dTIwMTl0IGhhdmUgdG8gbGljZW5zZSB0aGVpciBkZXJpdmF0aXZlIHdvcmtz
1422
- IG9uIHRoZSBzYW1lIHRlcm1zLiI6IlRoaXMgbGljZW5zZSBsZXRzIG90aGVy
1423
- cyByZW1peCwgdHdlYWssIGFuZCBidWlsZCB1cG9uIHlvdXIgd29yayBub24t
1424
- Y29tbWVyY2lhbGx5LCBhbmQgYWx0aG91Z2ggdGhlaXIgbmV3IHdvcmtzIG11
1425
- c3QgYWxzbyBhY2tub3dsZWRnZSB5b3UgYW5kIGJlIG5vbi1jb21tZXJjaWFs
1426
- LCB0aGV5IGRvblx1MjAxOXQgaGF2ZSB0byBsaWNlbnNlIHRoZWlyIGRlcml2
1427
- YXRpdmUgd29ya3Mgb24gdGhlIHNhbWUgdGVybXMuIiwiVGhpcyBsaWNlbnNl
1428
- IGxldHMgb3RoZXJzIHJlbWl4LCB0d2VhaywgYW5kIGJ1aWxkIHVwb24geW91
1429
- ciB3b3JrIG5vbi1jb21tZXJjaWFsbHksIGFzIGxvbmcgYXMgdGhleSBjcmVk
1430
- aXQgeW91IGFuZCBsaWNlbnNlIHRoZWlyIG5ldyBjcmVhdGlvbnMgdW5kZXIg
1431
- dGhlIGlkZW50aWNhbCB0ZXJtcy4iOiJUaGlzIGxpY2Vuc2UgbGV0cyBvdGhl
1432
- cnMgcmVtaXgsIHR3ZWFrLCBhbmQgYnVpbGQgdXBvbiB5b3VyIHdvcmsgbm9u
1433
- LWNvbW1lcmNpYWxseSwgYXMgbG9uZyBhcyB0aGV5IGNyZWRpdCB5b3UgYW5k
1434
- IGxpY2Vuc2UgdGhlaXIgbmV3IGNyZWF0aW9ucyB1bmRlciB0aGUgaWRlbnRp
1435
- Y2FsIHRlcm1zLiIsIlRoaXMgc291cmNlIGZpbGUgaGFzIGJlZW4gbG92aW5n
1436
- bHkgc3RvcmVkIGluIG91ciBhcmNoaXZlLiI6IlRoaXMgc291cmNlIGZpbGUg
1437
- aGFzIGJlZW4gbG92aW5nbHkgc3RvcmVkIGluIG91ciBhcmNoaXZlLiIsIlRo
1438
- aXMgdmlkZW8gY29udGFpbnMgaGFyYXNzbWVudCwgaW5jaXRlcyBoYXRyZWQs
1439
- IG9yIGRlcGljdHMgZXh0cmVtZSBvciByZWFsLWxpZmUgdmlvbGVuY2UuIjoi
1440
- VGhpcyB2aWRlbyBjb250YWlucyBoYXJhc3NtZW50LCBpbmNpdGVzIGhhdHJl
1441
- ZCwgb3IgZGVwaWN0cyBleHRyZW1lIG9yIHJlYWwtbGlmZSB2aW9sZW5jZS4i
1442
- LCJUaGlzIHZpZGVvIGNvbnRhaW5zIHBvcm5vZ3JhcGh5LCBhZHZlcnRpc2Vz
1443
- IGEgcHJvZHVjdCBvciBzZXJ2aWNlIG9mIGFuIGVyb3RpYyBuYXR1cmUsIG9y
1444
- IHNlZW1zIHByaW1hcmlseSBmb2N1c2VkIG9uIHNleHVhbCBzdGltdWxhdGlv
1445
- bi4iOiJUaGlzIHZpZGVvIGNvbnRhaW5zIHBvcm5vZ3JhcGh5LCBhZHZlcnRp
1446
- c2VzIGEgcHJvZHVjdCBvciBzZXJ2aWNlIG9mIGFuIGVyb3RpYyBuYXR1cmUs
1447
- IG9yIHNlZW1zIHByaW1hcmlseSBmb2N1c2VkIG9uIHNleHVhbCBzdGltdWxh
1448
- dGlvbi4iLCJUaGlzIHZpZGVvIGlzIGFsc28gaW4ge0NPVU5UfSBvdGhlciBj
1449
- b2xsZWN0aW9uLiI6eyJzaW5ndWxhciI6IlRoaXMgdmlkZW8gaXMgYWxzbyBp
1450
- biB7Q09VTlR9IG90aGVyIGNvbGxlY3Rpb24uIiwicGx1cmFsIjoiVGhpcyB2
1451
- aWRlbyBpcyBhbHNvIGluIHtDT1VOVH0gb3RoZXIgY29sbGVjdGlvbnMuIn0s
1452
- IlRoaXMgdmlkZW8gaXMgYW4gYWR2ZXJ0aXNlbWVudCwgY29tbWVyY2lhbCwg
1453
- b3IgaXMgYSB2aWRlbyB0aGF0IGFjdGl2ZWx5IHNlbGxzIGEgcHJvZHVjdCBv
1454
- ciBzZXJ2aWNlLiI6IlRoaXMgdmlkZW8gaXMgYW4gYWR2ZXJ0aXNlbWVudCwg
1455
- Y29tbWVyY2lhbCwgb3IgaXMgYSB2aWRlbyB0aGF0IGFjdGl2ZWx5IHNlbGxz
1456
- IGEgcHJvZHVjdCBvciBzZXJ2aWNlLiIsIlRoaXMgdmlkZW8gaXMgaGlkZGVu
1457
- IGZyb20gdmltZW8uY29tLiBJdCBjYW5ub3QgYmUgYWRkZWQgdG8ge1RJVExF
1458
- fSI6IlRoaXMgdmlkZW8gaXMgaGlkZGVuIGZyb20gdmltZW8uY29tLiBJdCBj
1459
- YW5ub3QgYmUgYWRkZWQgdG8ge1RJVExFfSIsIlRoaXMgdmlkZW8gaXMgcHJp
1460
- bWFyaWx5IGRlc2lnbmVkIHRvIGRyaXZlIHRyYWZmaWMgdG8gdGhpcmQgcGFy
1461
- dHkgc2l0ZXMsIHVzZSBTZWFyY2ggRW5naW5lIE9wdGltaXphdGlvbiAoU0VP
1462
- KSB0byBtYW5pcHVsYXRlIHNlYXJjaCByYW5raW5ncywgb3Igb3RoZXJ3aXNl
1463
- IGRlY2VpdmUgb3IgbWlzbGVhZCB0aGUgYXVkaWVuY2UuIjoiVGhpcyB2aWRl
1464
- byBpcyBwcmltYXJpbHkgZGVzaWduZWQgdG8gZHJpdmUgdHJhZmZpYyB0byB0
1465
- aGlyZCBwYXJ0eSBzaXRlcywgdXNlIFNlYXJjaCBFbmdpbmUgT3B0aW1pemF0
1466
- aW9uIChTRU8pIHRvIG1hbmlwdWxhdGUgc2VhcmNoIHJhbmtpbmdzLCBvciBv
1467
- dGhlcndpc2UgZGVjZWl2ZSBvciBtaXNsZWFkIHRoZSBhdWRpZW5jZS4iLCJU
1468
- aGlzIHZpZGVvIHNob3VsZCBiZSBtYXJrZWQgYXMgXHUyMDFjTWF0dXJlXHUy
1469
- MDFkIGR1ZSB0byBudWRpdHksIHByb2Zhbml0eSwgdmlvbGVuY2UsIG9yIGRy
1470
- dWdcL2FsY29ob2wgdXNlLiI6IlRoaXMgdmlkZW8gc2hvdWxkIGJlIG1hcmtl
1471
- ZCBhcyBcdTIwMWNNYXR1cmVcdTIwMWQgZHVlIHRvIG51ZGl0eSwgcHJvZmFu
1472
- aXR5LCB2aW9sZW5jZSwgb3IgZHJ1Z1wvYWxjb2hvbCB1c2UuIiwiVG9nZ2xl
1473
- IHZpc2liaWxpdHkgb2Ygc3RhdHMgZ3JhcGgiOiJUb2dnbGUgdmlzaWJpbGl0
1474
- eSBvZiBzdGF0cyBncmFwaCIsIlVuZm9sbG93IjoiVW5mb2xsb3ciLCJVbmxp
1475
- a2UiOiJVbmxpa2UiLCJVcCBuZXh0IjoiVXAgbmV4dCIsInVwZGF0ZSB5b3Vy
1476
- IGNvbnRlbnQgcmF0aW5nIHByZWZlcmVuY2VzIjoidXBkYXRlIHlvdXIgY29u
1477
- dGVudCByYXRpbmcgcHJlZmVyZW5jZXMiLCJVcGdyYWRlIGFuZCB3ZVx1MjAx
1478
- OWxsIGhvbGQgb24gdG8geW91ciBvcmlnaW5hbCB2aWRlbyBmaWxlcy4iOiJV
1479
- cGdyYWRlIGFuZCB3ZVx1MjAxOWxsIGhvbGQgb24gdG8geW91ciBvcmlnaW5h
1480
- bCB2aWRlbyBmaWxlcy4iLCJVcGxvYWRlZCBieSB7VVNFUn0iOiJVcGxvYWRl
1481
- ZCBieSB7VVNFUn0iLCJVcGxvYWRlciBkaWQgbm90IG1ha2UgdGhpcyI6IlVw
1482
- bG9hZGVyIGRpZCBub3QgbWFrZSB0aGlzIiwidmlhIHtBUFBfTkFNRX0iOiJ2
1483
- aWEge0FQUF9OQU1FfSIsInZpYSB7Q0FNRU99IjoidmlhIHtDQU1FT30iLCJW
1484
- aWRlbyBmbGFnZ2luZyBmb3JtIjoiVmlkZW8gZmxhZ2dpbmcgZm9ybSIsIlZp
1485
- ZXcgYWxsIGNhdGVnb3JpZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdmlkZW8i
1486
- OiJWaWV3IGFsbCBjYXRlZ29yaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHZp
1487
- ZGVvIiwiVmlldyBhbGwgdXNlcnMgY3JlZGl0ZWQgYnkgdGhpcyB2aWRlbyI6
1488
- IlZpZXcgYWxsIHVzZXJzIGNyZWRpdGVkIGJ5IHRoaXMgdmlkZW8iLCJWaWV3
1489
- IGFsbCI6IlZpZXcgYWxsIiwiVmlldyBjaGFubmVsIjoiVmlldyBjaGFubmVs
1490
- IiwiVmlldyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgdmlkZW8iOiJW
1491
- aWV3IG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB2aWRlbyIsIlZpZXcg
1492
- dGl0bGUiOiJWaWV3IHRpdGxlIiwiVmlld2VyIGRvd25sb2FkaW5nIGZvciB0
1493
- aGlzIHZpZGVvIGlzIGRpc2FibGVkLiI6IlZpZXdlciBkb3dubG9hZGluZyBm
1494
- b3IgdGhpcyB2aWRlbyBpcyBkaXNhYmxlZC4iLCJWaW1lbyBjdXJhdGlvbiB0
1495
- ZWFtIG1lbWJlciI6IlZpbWVvIGN1cmF0aW9uIHRlYW0gbWVtYmVyIiwiVmlt
1496
- ZW8gcGFydG5lciI6IlZpbWVvIHBhcnRuZXIiLCJWaW1lbyBQbHVzIHVzZXIi
1497
- OiJWaW1lbyBQbHVzIHVzZXIiLCJWaW1lbyBQcm8gdXNlciI6IlZpbWVvIFBy
1498
- byB1c2VyIiwiVmltZW8gc3BvbnNvciI6IlZpbWVvIHNwb25zb3IiLCJWaW1l
1499
- byBzdGFmZiBtZW1iZXIiOiJWaW1lbyBzdGFmZiBtZW1iZXIiLCJWaW1lbyBz
1500
- dXBwb3J0IHNwZWNpYWxpc3QiOiJWaW1lbyBzdXBwb3J0IHNwZWNpYWxpc3Qi
1501
- LCJXYXRjaCBpdCBhZ2FpbiI6IldhdGNoIGl0IGFnYWluIiwiV2VcdTIwMTly
1502
- ZSBvbiBpdCEgUGxlYXNlIGNoZWNrIGJhY2sgbGF0ZXIsIGFzIGl0IGNvdWxk
1503
- IHRha2UgYSBmZXcgaG91cnMuIjoiV2VcdTIwMTlyZSBvbiBpdCEgUGxlYXNl
1504
- IGNoZWNrIGJhY2sgbGF0ZXIsIGFzIGl0IGNvdWxkIHRha2UgYSBmZXcgaG91
1505
- cnMuIiwiV2hlbiB5b3UgYWRkIHRoaXMgcHJpdmF0ZSB2aWRlbyB0byBhIGNv
1506
- bGxlY3Rpb24sIHRoZSB2aWRlbyB3aWxsIGJlIHZpZXdhYmxlIHdpdGhpbiB0
1507
- aGF0IGFsYnVtLCBncm91cCwgZXRjLiI6IldoZW4geW91IGFkZCB0aGlzIHBy
1508
- aXZhdGUgdmlkZW8gdG8gYSBjb2xsZWN0aW9uLCB0aGUgdmlkZW8gd2lsbCBi
1509
- ZSB2aWV3YWJsZSB3aXRoaW4gdGhhdCBhbGJ1bSwgZ3JvdXAsIGV0Yy4iLCJX
1510
- aHkgYXJlIHlvdSByZXBvcnRpbmcgdGhpcyB2aWRlbz8iOiJXaHkgYXJlIHlv
1511
- dSByZXBvcnRpbmcgdGhpcyB2aWRlbz8iLCJXb3VsZCB5b3UgbGlrZSB0byBp
1512
- bmNsdWRlIHRoaXMgdmlkZW8gc3VibWl0dGVkIGJ5IHtVU0VSX05BTUV9IGlu
1513
- IHRoZSB7R1JPVVBfTkFNRX0gZ3JvdXA/IjoiV291bGQgeW91IGxpa2UgdG8g
1514
- aW5jbHVkZSB0aGlzIHZpZGVvIHN1Ym1pdHRlZCBieSB7VVNFUl9OQU1FfSBp
1515
- biB0aGUge0dST1VQX05BTUV9IGdyb3VwPyIsIlhYWC1yYXRlZCI6IlhYWC1y
1516
- YXRlZCIsIlllcywgZmV0Y2ggb3JpZ2luYWwgZmlsZSI6IlllcywgZmV0Y2gg
1517
- b3JpZ2luYWwgZmlsZSIsIllvdSBjYW4ge1VQREFURV9ZT1VSX1BSRUZFUkVO
1518
- Q0VTX0xJTkt9IGF0IGFueSB0aW1lLiI6IllvdSBjYW4ge1VQREFURV9ZT1VS
1519
- X1BSRUZFUkVOQ0VTX0xJTkt9IGF0IGFueSB0aW1lLiIsIllvdSBjYW5ub3Qg
1520
- Y3JlYXRlIHtUSVRMRX0gd2hpbGUgaW4gUHJpdmF0ZSBNb2RlLiBJZiB5b3Ug
1521
- dGhpbmsgaXQgd2FzIGZsYWdnZWQgaW4gZXJyb3IsIHtQTEVBU0VfTEVUX1VT
1522
- X0tOT1dfTElOS30iOiJZb3UgY2Fubm90IGNyZWF0ZSB7VElUTEV9IHdoaWxl
1523
- IGluIFByaXZhdGUgTW9kZS4gSWYgeW91IHRoaW5rIGl0IHdhcyBmbGFnZ2Vk
1524
- IGluIGVycm9yLCB7UExFQVNFX0xFVF9VU19LTk9XX0xJTkt9IiwiWW91ciBh
1525
- Y2NvdW50IGhhcyBiZWVuIGZsYWdnZWQgZm9yIHNwYW0uIElmIHlvdSB0aGlu
1526
- ayBpdCB3YXMgZmxhZ2dlZCBpbiBlcnJvciwge1BMRUFTRV9MRVRfVVNfS05P
1527
- V19MSU5LfS4iOiJZb3VyIGFjY291bnQgaGFzIGJlZW4gZmxhZ2dlZCBmb3Ig
1528
- c3BhbS4gSWYgeW91IHRoaW5rIGl0IHdhcyBmbGFnZ2VkIGluIGVycm9yLCB7
1529
- UExFQVNFX0xFVF9VU19LTk9XX0xJTkt9LiIsIntDT1VOVH0gQ2F0ZWdvcnki
1530
- Onsic2luZ3VsYXIiOiJ7Q09VTlR9IENhdGVnb3J5IiwicGx1cmFsIjoie0NP
1531
- VU5UfSBDYXRlZ29yaWVzIn0sIntDT1VOVH0gQ29sbGVjdGlvbiI6eyJzaW5n
1532
- dWxhciI6IntDT1VOVH0gQ29sbGVjdGlvbiIsInBsdXJhbCI6IntDT1VOVH0g
1533
- Q29sbGVjdGlvbnMifSwie0NPVU5UfSBDb21tZW50Ijp7InNpbmd1bGFyIjoi
1534
- e0NPVU5UfSBDb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBDb21tZW50cyJ9
1535
- LCJ7Q09VTlR9IENyZWRpdCI6eyJzaW5ndWxhciI6IntDT1VOVH0gQ3JlZGl0
1536
- IiwicGx1cmFsIjoie0NPVU5UfSBDcmVkaXRzIn0sIntDT1VOVH0gTGlrZSI6
1537
- eyJzaW5ndWxhciI6IntDT1VOVH0gTGlrZSIsInBsdXJhbCI6IntDT1VOVH0g
1538
- TGlrZXMifSwie0NPVU5UfSBQaG90byI6eyJzaW5ndWxhciI6IntDT1VOVH0g
1539
- UGhvdG8iLCJwbHVyYWwiOiJ7Q09VTlR9IFBob3RvcyJ9LCJ7Q09VTlR9IFBs
1540
- YXkiOnsic2luZ3VsYXIiOiJ7Q09VTlR9IFBsYXkiLCJwbHVyYWwiOiJ7Q09V
1541
- TlR9IFBsYXlzIn19Owo8L3NjcmlwdD4KCiA8c2NyaXB0IHNyYz0iaHR0cHM6
1542
- Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdXRpbHMvcGxheWVyX21hbmFnZXIv
1543
- cGxheWVyX21hbmFnZXIubWluLmpzPzBmYzFiMmE3Ij48L3NjcmlwdD4KIDxz
1544
- Y3JpcHQ+CiBpZiAodHlwZW9mIHBsYXllckFzc2V0VXJscyAhPT0gJ3VuZGVm
1545
- aW5lZCcpIHsKICBQbGF5ZXJNYW5hZ2VyLnJ1bihwbGF5ZXJBc3NldFVybHMp
1546
- OwogIH0KIDwvc2NyaXB0PgoKIDxzY3JpcHQgc3JjPSJodHRwczovL2Yudmlt
1547
- ZW9jZG4uY29tL2pzX29wdC9sb2dnaW5nX2NvbWJpbmVkLm1pbi5qcz8wMjNk
1548
- NGI2OCI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVv
1549
- Y2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkLm1pbi5qcz8yZDQ1
1550
- MmM1MiI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVv
1551
- Y2RuLmNvbS9qc19vcHQvY2xpcF9iZXRhX2xpYnNfcHJvZF9jb21iaW5lZC5t
1552
- aW4uanM/YWJjMDVjOWIiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Imh0dHBz
1553
- Oi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2NsaXAuYnVuZGxl
1554
- Lm1pbi5qcz9lZGQ2NWE3NiI+PC9zY3JpcHQ+CgogPHNjcmlwdCBhc3luYyBz
1555
- cmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2NsaXBfYmV0YV9s
1556
- aWJzX2FzeW5jX2NvbWJpbmVkLm1pbi5qcz8wZTNiZWU1OSI+PC9zY3JpcHQ+
1557
- CiA8c2NyaXB0IGFzeW5jIHNyYz0iLy93d3cuZ29vZ2xldGFnbWFuYWdlci5j
1558
- b20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSI+PC9zY3JpcHQ+CiA8c2Ny
1559
- aXB0PgogZnVuY3Rpb24gb25WaW1lb0RvbVJlYWR5KGUpIHsKICAgCiAgd2lu
1560
- ZG93LkNFX1NOQVBTSE9UX05BTUUgPSAnY2xpcF9uZXcnOwogCiBzZXRUaW1l
1561
- b3V0KGZ1bmN0aW9uKCkgewogdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVt
1562
- ZW50KCdzY3JpcHQnKSwKIGIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
1563
- TmFtZSgnc2NyaXB0JylbMF07CgogYS5zcmMgPSBkb2N1bWVudC5sb2NhdGlv
1564
- bi5wcm90b2NvbCArICcvL3NjcmlwdC5jcmF6eWVnZy5jb20vcGFnZXMvc2Ny
1565
- aXB0cy8wMDE0LzE1MTQuanM/JyArIE1hdGguZmxvb3IobmV3IERhdGUoKS5n
1566
- ZXRUaW1lKCkgLyAzNjAwMDAwKTsKIGEuYXN5bmMgPSB0cnVlOwogYS50eXBl
1567
- ID0gJ3RleHQvamF2YXNjcmlwdCc7CiBiLnBhcmVudE5vZGUuaW5zZXJ0QmVm
1568
- b3JlKGEsIGIpOwogfSwgMSk7CiAgIAogICBpZiAoIXZpbWVvLmJ5cGFzc19w
1569
- bGF5ZXJfcmVzcG9uc2l2ZV9kZWxlZ2F0ZXMpIHsKIHZpbWVvLnBsYXllcl9y
1570
- ZXNwb25zaXZlX2RlbGVnYXRlcyA9IHZpbWVvLnBsYXllcl9yZXNwb25zaXZl
1571
- X2RlbGVnYXRlcyB8fCB7fTsKIHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2Rl
1572
- bGVnYXRlcy53aWxsT3BlblNoYXJlT3ZlcmxheSA9IHZpbWVvLnBsYXllcl9y
1573
- ZXNwb25zaXZlX2RlbGVnYXRlcy53aWxsT3BlblNoYXJlT3ZlcmxheSB8fCBm
1574
- dW5jdGlvbihpZCkgewogUGxheWVyTWFuYWdlci5wYXVzZUFsbFBsYXllcnMo
1575
- KTsKIHZpbWVvLnNoYXJlLlBvcHVwKGlkKTsKIHJldHVybiBmYWxzZTsKIH07
1576
- CgogdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVu
1577
- TG9naW5Gb3JtID0gdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVz
1578
- LndpbGxPcGVuTG9naW5Gb3JtIHx8IGZ1bmN0aW9uKGlkLCBjb250ZXh0KSB7
1579
- CiBpZiAodHlwZW9mIHZpbWVvLk1vZGFsICE9PSAndW5kZWZpbmVkJykgewog
1580
- UGxheWVyTWFuYWdlci5wYXVzZUFsbFBsYXllcnMoKTsKCiB2aW1lby5Nb2Rh
1581
- bC5jcmVhdGUoewogY29udGVudDogJy9sb2dfaW4/bW9kYWw9bmV3JyArIChj
1582
- b250ZXh0ID8gJyZwbGF5ZXI9MSZjbGlwX2lkPScgKyBpZCArICcmY29udGV4
1583
- dD0nICsgY29udGV4dCA6ICcnKSwKIHNpemU6ICdyZWcnLAogfSkudGhlbihm
1584
- dW5jdGlvbihhY3Rpb24pIHsKIGlmIChhY3Rpb24gPT09ICdyZWxvYWQnKSB7
1585
- CiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiB9CiB9KTsKCiByZXR1cm4g
1586
- ZmFsc2U7CiB9CiB9OwoKIGlmIChQbGF5ZXJNYW5hZ2VyKSB7CiBQbGF5ZXJN
1587
- YW5hZ2VyLnNldERlZmF1bHREZWxlZ2F0ZSh2aW1lby5wbGF5ZXJfcmVzcG9u
1588
- c2l2ZV9kZWxlZ2F0ZXMpOwogfQogfQogCiBpZiAoUGxheWVyTWFuYWdlcikg
1589
- ewogUGxheWVyTWFuYWdlci5kaXNwYXRjaFJlYWR5U2lnbmFscygpOwogfQog
1590
- CiAgfQoKICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwog
1591
- IDwvc2NyaXB0PgoKICA8c2NyaXB0PgogdmFyIGdvb2dsZV9hZF9jbGllbnQg
1592
- PSAnY2EtaXdvbi12aW1lbycsCiBnb29nbGVfYWRfb3V0cHV0ID0gJ2pzJywK
1593
- IGdvb2dsZV9tYXhfbnVtX2FkcyA9ICczJywKIGdvb2dsZV9hZF90eXBlID0g
1594
- J3RleHQnLAogZ29vZ2xlX2VuY29kaW5nID0gJ3V0ZjgnLAogZ29vZ2xlX2Zl
1595
- ZWRiYWNrID0gJ29uJywKIGdvb2dsZV9rd190eXBlID0gJ2Jyb2FkJywKIGdv
1596
- b2dsZV9rdyA9ICcnOwoKIGRvY3VtZW50LndyaXRlKCc8c2NyJysnaXB0IHNy
1597
- Yz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hv
1598
- d19hZHMuanMiPjwvc2NyJysnaXB0PicpOwogPC9zY3JpcHQ+IAogPC9ib2R5
1599
- Pgo8L2h0bWw+Cg==
1600
- http_version:
1601
- recorded_at: Thu, 05 May 2016 01:07:55 GMT
1602
- recorded_with: VCR 3.0.1
157
+ PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iVmltZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vdmltZW8uY29tLzEzNjk3MTQyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9InZpZGVvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkRlYWZoZWF2ZW4gLSAmIzAzOTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiYjMDM5O05ldyBCZXJtdWRhLCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0gZnJvbSBEZWFmaGVhdmVuLCBpcyBhdmFpbGFibGUgT2N0b2JlciAybmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cGRhdGVkX3RpbWUiIGNvbnRlbnQ9IjIwMjAtMDktMDRUMDY6MjA6MzYtMDQ6MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9maWx0ZXIvb3ZlcmxheT9zcmMwPWh0dHBzJTNBJTJGJTJGaS52aW1lb2Nkbi5jb20lMkZ2aWRlbyUyRjUzMTY4ODIzOV8xMjgweDcyMC5qcGcmc3JjMT1odHRwcyUzQSUyRiUyRmYudmltZW9jZG4uY29tJTJGaW1hZ2VzX3Y2JTJGc2hhcmUlMkZwbGF5X2ljb25fb3ZlcmxheS5wbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpzZWN1cmVfdXJsIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2ZpbHRlci9vdmVybGF5P3NyYzA9aHR0cHMlM0ElMkYlMkZpLnZpbWVvY2RuLmNvbSUyRnZpZGVvJTJGNTMxNjg4MjM5XzEyODB4NzIwLmpwZyZzcmMxPWh0dHBzJTNBJTJGJTJGZi52aW1lb2Nkbi5jb20lMkZpbWFnZXNfdjYlMkZzaGFyZSUyRnBsYXlfaWNvbl9vdmVybGF5LnBuZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnR5cGUiIGNvbnRlbnQ9ImltYWdlL2pwZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6aGVpZ2h0IiBjb250ZW50PSI3MjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8xMzY5NzE0Mjg/YXV0b3BsYXk9MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnNlY3VyZV91cmwiIGNvbnRlbnQ9Imh0dHBzOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8xMzY5NzE0Mjg/YXV0b3BsYXk9MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86aGVpZ2h0IiBjb250ZW50PSI3MjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhbDppb3M6YXBwX25hbWUiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6aW9zOmFwcF9zdG9yZV9pZCIgY29udGVudD0iNDI1MTk0NzU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6aW9zOnVybCIgY29udGVudD0idmltZW86Ly9hcHAudmltZW8uY29tL3ZpZGVvcy8xMzY5NzE0MjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhbDphbmRyb2lkOmFwcF9uYW1lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6cGFja2FnZSIgY29udGVudD0iY29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhbDphbmRyb2lkOnVybCIgY29udGVudD0idmltZW86Ly9hcHAudmltZW8uY29tL3ZpZGVvcy8xMzY5NzE0MjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhbDp3ZWI6c2hvdWxkX2ZhbGxiYWNrIiBjb250ZW50PSJ0cnVlIj4KICAgICAgICAgICAgCiAgICAgICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiYjMDM5O05ldyBCZXJtdWRhLCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0gZnJvbSBEZWFmaGVhdmVuLCBpcyBhdmFpbGFibGUgT2N0b2JlciAybmQiPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0icGxheWVyIj4KICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnNpdGUiIGNvbnRlbnQ9IkB2aW1lbyI+CiAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iRGVhZmhlYXZlbiAtICYjMDM5O05ldyBCZXJtdWRhJiMwMzk7IFRyYWlsZXIiPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiYjMDM5O05ldyBCZXJtdWRhLCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0gZnJvbSBEZWFmaGVhdmVuLCBpcyBhdmFpbGFibGUgT2N0b2JlciAybmQiPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmlsdGVyL292ZXJsYXk/c3JjMD1odHRwcyUzQSUyRiUyRmkudmltZW9jZG4uY29tJTJGdmlkZW8lMkY1MzE2ODgyMzlfMTI4MHg3MjAuanBnJmFtcDtzcmMxPWh0dHBzJTNBJTJGJTJGZi52aW1lb2Nkbi5jb20lMkZpbWFnZXNfdjYlMkZzaGFyZSUyRnBsYXlfaWNvbl9vdmVybGF5LnBuZyI+CiAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpwbGF5ZXIiIGNvbnRlbnQ9Imh0dHBzOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8xMzY5NzE0MjgiPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6cGxheWVyOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnBsYXllcjpoZWlnaHQiIGNvbnRlbnQ9IjcyMCI+CiAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAdmltZW8iPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOm5hbWU6aXBob25lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBob25lIiBjb250ZW50PSI0MjUxOTQ3NTkiPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOnVybDppcGhvbmUiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvMTM2OTcxNDI4Ij4KICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmlwYWQiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDppcGFkIiBjb250ZW50PSI0MjUxOTQ3NTkiPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOnVybDppcGFkIiBjb250ZW50PSJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzEzNjk3MTQyOCI+CiAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6bmFtZTpnb29nbGVwbGF5IiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6Z29vZ2xlcGxheSIgY29udGVudD0iY29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAiPgogICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOnVybDpnb29nbGVwbGF5IiBjb250ZW50PSJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzEzNjk3MTQyOCI+CgoKCgogICAgICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9hcGkvb2VtYmVkLmpzb24/dXJsPWh0dHBzJTNBJTJGJTJGdmltZW8uY29tJTJGMTM2OTcxNDI4IiB0eXBlPSJhcHBsaWNhdGlvbi9qc29uK29lbWJlZCIgdGl0bGU9IkRlYWZoZWF2ZW4gLSAmIzAzOTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyIj4KICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9hcGkvb2VtYmVkLnhtbD91cmw9aHR0cHMlM0ElMkYlMkZ2aW1lby5jb20lMkYxMzY5NzE0MjgiIHR5cGU9InRleHQveG1sK29lbWJlZCIgdGl0bGU9IkRlYWZoZWF2ZW4gLSAmIzAzOTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyIj4KICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0icGluZ2JhY2siIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL19waW5nYmFjayI+CiAgICAgICAgICAgICAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vMTM2OTcxNDI4Ij4KICAgICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/ZTEwMTNkZWI2ZTg0NDcwYzc1ZDA3NWY4NmRiM2NkNGQ5NGQyMTgxNiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/ZTEwMTNkZWI2ZTg0NDcwYzc1ZDA3NWY4NmRiM2NkNGQ5NGQyMTgxNiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPkRlYWZoZWF2ZW4gLSAmIzAzOTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyIG9uIFZpbWVvPC90aXRsZT4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgLy8gTmV3IFJlbGljIEFnZW50CiAgICAgICAgICA7d2luZG93Lk5SRVVNfHwoTlJFVU09e30pO05SRVVNLmluaXQ9e2Rpc3RyaWJ1dGVkX3RyYWNpbmc6e2VuYWJsZWQ6dHJ1ZX0scHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKICAgICAgICAgIHdpbmRvdy5OUkVVTXx8KE5SRVVNPXt9KSxfX25yX3JlcXVpcmU9ZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIobil7aWYoIWVbbl0pe3ZhciBvPWVbbl09e2V4cG9ydHM6e319O3Rbbl1bMF0uY2FsbChvLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG89dFtuXVsxXVtlXTtyZXR1cm4gcihvfHxlKX0sbyxvLmV4cG9ydHMpfXJldHVybiBlW25dLmV4cG9ydHN9aWYoImZ1bmN0aW9uIj09dHlwZW9mIF9fbnJfcmVxdWlyZSlyZXR1cm4gX19ucl9yZXF1aXJlO2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKXIobltvXSk7cmV0dXJuIHJ9KHsxOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt0cnl7cy5jb25zb2xlJiZjb25zb2xlLmxvZyh0KX1jYXRjaChlKXt9fXZhciBvLGk9dCgiZWUiKSxhPXQoMjUpLHM9e307dHJ5e289bG9jYWxTdG9yYWdlLmdldEl0ZW0oIl9fbnJfZmxhZ3MiKS5zcGxpdCgiLCIpLGNvbnNvbGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBjb25zb2xlLmxvZyYmKHMuY29uc29sZT0hMCxvLmluZGV4T2YoImRldiIpIT09LTEmJihzLmRldj0hMCksby5pbmRleE9mKCJucl9kZXYiKSE9PS0xJiYocy5uckRldj0hMCkpfWNhdGNoKGMpe31zLm5yRGV2JiZpLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7cih0LnN0YWNrKX0pLHMuZGV2JiZpLm9uKCJmbi1lcnIiLGZ1bmN0aW9uKHQsZSxuKXtyKG4uc3RhY2spfSkscy5kZXYmJihyKCJOUiBBR0VOVCBJTiBERVZFTE9QTUVOVCBNT0RFIikscigiZmxhZ3M6ICIrYShzLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR9KS5qb2luKCIsICIpKSl9LHt9XSwyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbixyLHMpe3RyeXtsP2wtPTE6byhzfHxuZXcgVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pLCEwKX1jYXRjaChmKXt0cnl7aSgiaWVyciIsW2YsYy5ub3coKSwhMF0pfWNhdGNoKGQpe319cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHUmJnUuYXBwbHkodGhpcyxhKGFyZ3VtZW50cykpfWZ1bmN0aW9uIFVuY2F1Z2h0RXhjZXB0aW9uKHQsZSxuKXt0aGlzLm1lc3NhZ2U9dHx8IlVuY2F1Z2h0IGVycm9yIHdpdGggbm8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiIsdGhpcy5zb3VyY2VVUkw9ZSx0aGlzLmxpbmU9bn1mdW5jdGlvbiBvKHQsZSl7dmFyIG49ZT9udWxsOmMubm93KCk7aSgiZXJyIixbdCxuXSl9dmFyIGk9dCgiaGFuZGxlIiksYT10KDI2KSxzPXQoImVlIiksYz10KCJsb2FkZXIiKSxmPXQoImdvcyIpLHU9d2luZG93Lm9uZXJyb3IsZD0hMSxwPSJuckBzZWVuRXJyb3IiLGw9MDtjLmZlYXR1cmVzLmVycj0hMCx0KDEpLHdpbmRvdy5vbmVycm9yPXI7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChoKXsic3RhY2siaW4gaCYmKHQoMTMpLHQoMTIpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KSxjLnhocldyYXBwYWJsZSYmdCgxNCksZD0hMCl9cy5vbigiZm4tc3RhcnQiLGZ1bmN0aW9uKHQsZSxuKXtkJiYobCs9MSl9KSxzLm9uKCJmbi1lcnIiLGZ1bmN0aW9uKHQsZSxuKXtkJiYhbltwXSYmKGYobixwLGZ1bmN0aW9uKCl7cmV0dXJuITB9KSx0aGlzLnRocm93bj0hMCxvKG4pKX0pLHMub24oImZuLWVuZCIsZnVuY3Rpb24oKXtkJiYhdGhpcy50aHJvd24mJmw+MCYmKGwtPTEpfSkscy5vbigiaW50ZXJuYWwtZXJyb3IiLGZ1bmN0aW9uKHQpe2koImllcnIiLFt0LGMubm93KCksITBdKX0pfSx7fV0sMzpbZnVuY3Rpb24odCxlLG4pe3QoImxvYWRlciIpLmZlYXR1cmVzLmlucz0hMH0se31dLDQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7TCsrLEM9Zy5oYXNoLHRoaXNbdV09eS5ub3coKX1mdW5jdGlvbiBvKCl7TC0tLGcuaGFzaCE9PUMmJmkoMCwhMCk7dmFyIHQ9eS5ub3coKTt0aGlzW2hdPX5+dGhpc1toXSt0LXRoaXNbdV0sdGhpc1tkXT10fWZ1bmN0aW9uIGkodCxlKXtFLmVtaXQoIm5ld1VSTCIsWyIiK2csZV0pfWZ1bmN0aW9uIGEodCxlKXt0Lm9uKGUsZnVuY3Rpb24oKXt0aGlzW2VdPXkubm93KCl9KX12YXIgcz0iLXN0YXJ0IixjPSItZW5kIixmPSItYm9keSIsdT0iZm4iK3MsZD0iZm4iK2MscD0iY2IiK3MsbD0iY2IiK2MsaD0ianNUaW1lIixtPSJmZXRjaCIsdj0iYWRkRXZlbnRMaXN0ZW5lciIsdz13aW5kb3csZz13LmxvY2F0aW9uLHk9dCgibG9hZGVyIik7aWYod1t2XSYmeS54aHJXcmFwcGFibGUpe3ZhciB4PXQoMTApLGI9dCgxMSksRT10KDgpLE89dCg2KSxSPXQoMTMpLFA9dCg3KSxUPXQoMTQpLE49dCg5KSxNPXQoImVlIiksUz1NLmdldCgidHJhY2VyIik7dCgxNikseS5mZWF0dXJlcy5zcGE9ITA7dmFyIEMsTD0wO00ub24odSxyKSxNLm9uKHAsciksTS5vbihkLG8pLE0ub24obCxvKSxNLmJ1ZmZlcihbdSxkLCJ4aHItZG9uZSIsInhoci1yZXNvbHZlZCJdKSxPLmJ1ZmZlcihbdV0pLFIuYnVmZmVyKFsic2V0VGltZW91dCIrYywiY2xlYXJUaW1lb3V0IitzLHVdKSxULmJ1ZmZlcihbdSwibmV3LXhociIsInNlbmQteGhyIitzXSksUC5idWZmZXIoW20rcyxtKyItZG9uZSIsbStmK3MsbStmK2NdKSxFLmJ1ZmZlcihbIm5ld1VSTCJdKSx4LmJ1ZmZlcihbdV0pLGIuYnVmZmVyKFsicHJvcGFnYXRlIixwLGwsImV4ZWN1dG9yLWVyciIsInJlc29sdmUiK3NdKSxTLmJ1ZmZlcihbdSwibm8tIit1XSksTi5idWZmZXIoWyJuZXctanNvbnAiLCJjYi1zdGFydCIsImpzb25wLWVycm9yIiwianNvbnAtZW5kIl0pLGEoVCwic2VuZC14aHIiK3MpLGEoTSwieGhyLXJlc29sdmVkIiksYShNLCJ4aHItZG9uZSIpLGEoUCxtK3MpLGEoUCxtKyItZG9uZSIpLGEoTiwibmV3LWpzb25wIiksYShOLCJqc29ucC1lbmQiKSxhKE4sImNiLXN0YXJ0IiksRS5vbigicHVzaFN0YXRlLWVuZCIsaSksRS5vbigicmVwbGFjZVN0YXRlLWVuZCIsaSksd1t2XSgiaGFzaGNoYW5nZSIsaSwhMCksd1t2XSgibG9hZCIsaSwhMCksd1t2XSgicG9wc3RhdGUiLGZ1bmN0aW9uKCl7aSgwLEw+MSl9LCEwKX19LHt9XSw1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt9aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSl7dmFyIG89dCgiZWUiKSxpPXQoImhhbmRsZSIpLGE9dCgxMykscz10KDEyKSxjPSJsZWFyUmVzb3VyY2VUaW1pbmdzIixmPSJhZGRFdmVudExpc3RlbmVyIix1PSJyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLGQ9ImJzdFJlc291cmNlIixwPSJyZXNvdXJjZSIsbD0iLXN0YXJ0IixoPSItZW5kIixtPSJmbiIrbCx2PSJmbiIraCx3PSJic3RUaW1lciIsZz0icHVzaFN0YXRlIix5PXQoImxvYWRlciIpO3kuZmVhdHVyZXMuc3RuPSEwLHQoOCksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpO3ZhciB4PU5SRVVNLm8uRVY7by5vbihtLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmKHRoaXMuYnN0U3RhcnQ9eS5ub3coKSl9KSxvLm9uKHYsZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdO24gaW5zdGFuY2VvZiB4JiZpKCJic3QiLFtuLGUsdGhpcy5ic3RTdGFydCx5Lm5vdygpXSl9KSxhLm9uKG0sZnVuY3Rpb24odCxlLG4pe3RoaXMuYnN0U3RhcnQ9eS5ub3coKSx0aGlzLmJzdFR5cGU9bn0pLGEub24odixmdW5jdGlvbih0LGUpe2kodyxbZSx0aGlzLmJzdFN0YXJ0LHkubm93KCksdGhpcy5ic3RUeXBlXSl9KSxzLm9uKG0sZnVuY3Rpb24oKXt0aGlzLmJzdFN0YXJ0PXkubm93KCl9KSxzLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiXSl9KSxvLm9uKGcrbCxmdW5jdGlvbih0KXt0aGlzLnRpbWU9eS5ub3coKSx0aGlzLnN0YXJ0UGF0aD1sb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNofSksby5vbihnK2gsZnVuY3Rpb24odCl7aSgiYnN0SGlzdCIsW2xvY2F0aW9uLnBhdGhuYW1lK2xvY2F0aW9uLmhhc2gsdGhpcy5zdGFydFBhdGgsdGhpcy50aW1lXSl9KSxmIGluIHdpbmRvdy5wZXJmb3JtYW5jZSYmKHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrY10/d2luZG93LnBlcmZvcm1hbmNlW2ZdKHUsZnVuY3Rpb24odCl7aShkLFt3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShwKV0pLHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrY10oKX0sITEpOndpbmRvdy5wZXJmb3JtYW5jZVtmXSgid2Via2l0Iit1LGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbIndlYmtpdEMiK2NdKCl9LCExKSksZG9jdW1lbnRbZl0oInNjcm9sbCIscix7cGFzc2l2ZTohMH0pLGRvY3VtZW50W2ZdKCJrZXlwcmVzcyIsciwhMSksZG9jdW1lbnRbZl0oImNsaWNrIixyLCExKX19LHt9XSw2OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dDtlJiYhZS5oYXNPd25Qcm9wZXJ0eSh1KTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7ZSYmbyhlKX1mdW5jdGlvbiBvKHQpe3MuaW5QbGFjZSh0LFt1LGRdLCItIixpKX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHRbMV19dmFyIGE9dCgiZWUiKS5nZXQoImV2ZW50cyIpLHM9dCgid3JhcC1mdW5jdGlvbiIpKGEsITApLGM9dCgiZ29zIiksZj1YTUxIdHRwUmVxdWVzdCx1PSJhZGRFdmVudExpc3RlbmVyIixkPSJyZW1vdmVFdmVudExpc3RlbmVyIjtlLmV4cG9ydHM9YSwiZ2V0UHJvdG90eXBlT2YiaW4gT2JqZWN0PyhyKGRvY3VtZW50KSxyKHdpbmRvdykscihmLnByb3RvdHlwZSkpOmYucHJvdG90eXBlLmhhc093blByb3BlcnR5KHUpJiYobyh3aW5kb3cpLG8oZi5wcm90b3R5cGUpKSxhLm9uKHUrIi1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10WzFdLHI9YyhuLCJuckB3cmFwcGVkIixmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi5oYW5kbGVFdmVudClyZXR1cm4gbi5oYW5kbGVFdmVudC5hcHBseShuLGFyZ3VtZW50cyl9dmFyIGU9e29iamVjdDp0LCJmdW5jdGlvbiI6bn1bdHlwZW9mIG5dO3JldHVybiBlP3MoZSwiZm4tIixudWxsLGUubmFtZXx8ImFub255bW91cyIpOm59KTt0aGlzLndyYXBwZWQ9dFsxXT1yfSksYS5vbihkKyItc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMV09dGhpcy53cmFwcGVkfHx0WzFdfSl9LHt9XSw3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dmFyIHI9dFtlXTsiZnVuY3Rpb24iPT10eXBlb2YgciYmKHRbZV09ZnVuY3Rpb24oKXt2YXIgdD1pKGFyZ3VtZW50cyksZT17fTtvLmVtaXQobisiYmVmb3JlLXN0YXJ0IixbdF0sZSk7dmFyIGE7ZVttXSYmZVttXS5kdCYmKGE9ZVttXS5kdCk7dmFyIHM9ci5hcHBseSh0aGlzLHQpO3JldHVybiBvLmVtaXQobisic3RhcnQiLFt0LGFdLHMpLHMudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gby5lbWl0KG4rImVuZCIsW251bGwsdF0scyksdH0sZnVuY3Rpb24odCl7dGhyb3cgby5lbWl0KG4rImVuZCIsW3RdLHMpLHR9KX0pfXZhciBvPXQoImVlIikuZ2V0KCJmZXRjaCIpLGk9dCgyNiksYT10KDI1KTtlLmV4cG9ydHM9bzt2YXIgcz13aW5kb3csYz0iZmV0Y2gtIixmPWMrImJvZHktIix1PVsiYXJyYXlCdWZmZXIiLCJibG9iIiwianNvbiIsInRleHQiLCJmb3JtRGF0YSJdLGQ9cy5SZXF1ZXN0LHA9cy5SZXNwb25zZSxsPXMuZmV0Y2gsaD0icHJvdG90eXBlIixtPSJuckBjb250ZXh0IjtkJiZwJiZsJiYoYSh1LGZ1bmN0aW9uKHQsZSl7cihkW2hdLGUsZikscihwW2hdLGUsZil9KSxyKHMsImZldGNoIixjKSxvLm9uKGMrImVuZCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKGUpe3ZhciByPWUuaGVhZGVycy5nZXQoImNvbnRlbnQtbGVuZ3RoIik7bnVsbCE9PXImJihuLnJ4U2l6ZT1yKSxvLmVtaXQoYysiZG9uZSIsW251bGwsZV0sbil9ZWxzZSBvLmVtaXQoYysiZG9uZSIsW3RdLG4pfSkpfSx7fV0sODpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJoaXN0b3J5Iiksbz10KCJ3cmFwLWZ1bmN0aW9uIikocik7ZS5leHBvcnRzPXI7dmFyIGk9d2luZG93Lmhpc3RvcnkmJndpbmRvdy5oaXN0b3J5LmNvbnN0cnVjdG9yJiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsYT13aW5kb3cuaGlzdG9yeTtpJiZpLnB1c2hTdGF0ZSYmaS5yZXBsYWNlU3RhdGUmJihhPWkpLG8uaW5QbGFjZShhLFsicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIl0sIi0iKX0se31dLDk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXtjLmVtaXQoImpzb25wLWVuZCIsW10scCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixlLCExKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixuLCExKX1mdW5jdGlvbiBuKCl7Yy5lbWl0KCJqc29ucC1lcnJvciIsW10scCksYy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9dmFyIHI9dCYmInN0cmluZyI9PXR5cGVvZiB0Lm5vZGVOYW1lJiYic2NyaXB0Ij09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihyKXt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgdC5hZGRFdmVudExpc3RlbmVyO2lmKG8pe3ZhciBhPWkodC5zcmMpO2lmKGEpe3ZhciB1PXMoYSksZD0iZnVuY3Rpb24iPT10eXBlb2YgdS5wYXJlbnRbdS5rZXldO2lmKGQpe3ZhciBwPXt9O2YuaW5QbGFjZSh1LnBhcmVudCxbdS5rZXldLCJjYi0iLHApLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSksYy5lbWl0KCJuZXctanNvbnAiLFt0LnNyY10scCl9fX19fWZ1bmN0aW9uIG8oKXtyZXR1cm4iYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3d9ZnVuY3Rpb24gaSh0KXt2YXIgZT10Lm1hdGNoKHUpO3JldHVybiBlP2VbMV06bnVsbH1mdW5jdGlvbiBhKHQsZSl7dmFyIG49dC5tYXRjaChwKSxyPW5bMV0sbz1uWzNdO3JldHVybiBvP2EobyxlW3JdKTplW3JdfWZ1bmN0aW9uIHModCl7dmFyIGU9dC5tYXRjaChkKTtyZXR1cm4gZSYmZS5sZW5ndGg+PTM/e2tleTplWzJdLHBhcmVudDphKGVbMV0sd2luZG93KX06e2tleTp0LHBhcmVudDp3aW5kb3d9fXZhciBjPXQoImVlIikuZ2V0KCJqc29ucCIpLGY9dCgid3JhcC1mdW5jdGlvbiIpKGMpO2lmKGUuZXhwb3J0cz1jLG8oKSl7dmFyIHU9L1s/Jl0oPzpjYWxsYmFja3xjYik9KFteJiNdKykvLGQ9LyguKilcLihbXi5dKykvLHA9L14oXHcrKShcLnwkKSguKikkLyxsPVsiYXBwZW5kQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJyZXBsYWNlQ2hpbGQiXTtOb2RlJiZOb2RlLnByb3RvdHlwZSYmTm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ/Zi5pblBsYWNlKE5vZGUucHJvdG90eXBlLGwsImRvbS0iKTooZi5pblBsYWNlKEhUTUxFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIiksZi5pblBsYWNlKEhUTUxIZWFkRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLGYuaW5QbGFjZShIVE1MQm9keUVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSksYy5vbigiZG9tLXN0YXJ0IixmdW5jdGlvbih0KXtyKHRbMF0pfSl9fSx7fV0sMTA6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgibXV0YXRpb24iKSxvPXQoIndyYXAtZnVuY3Rpb24iKShyKSxpPU5SRVVNLm8uTU87ZS5leHBvcnRzPXIsaSYmKHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgaT9uZXcgaShvKHQsImZuLSIpKTppLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGU9aS5wcm90b3R5cGUpfSx7fV0sMTE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPWEuY29udGV4dCgpLG49cyh0LCJleGVjdXRvci0iLGUpLHI9bmV3IGYobik7cmV0dXJuIGEuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0sYS5lbWl0KCJuZXctcHJvbWlzZSIsW3IsZV0sZSkscn1mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIGV9dmFyIGk9dCgid3JhcC1mdW5jdGlvbiIpLGE9dCgiZWUiKS5nZXQoInByb21pc2UiKSxzPWkoYSksYz10KDI1KSxmPU5SRVVNLm8uUFI7ZS5leHBvcnRzPWEsZiYmKHdpbmRvdy5Qcm9taXNlPXIsWyJhbGwiLCJyYWNlIl0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1mW3RdO2ZbdF09ZnVuY3Rpb24obil7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oKXthLmVtaXQoInByb3BhZ2F0ZSIsW251bGwsIW9dLGkpLG89b3x8IXR9fXZhciBvPSExO2MobixmdW5jdGlvbihlLG4pe1Byb21pc2UucmVzb2x2ZShuKS50aGVuKHIoImFsbCI9PT10KSxyKCExKSl9KTt2YXIgaT1lLmFwcGx5KGYsYXJndW1lbnRzKSxzPWYucmVzb2x2ZShpKTtyZXR1cm4gc319KSxbInJlc29sdmUiLCJyZWplY3QiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPWZbdF07Zlt0XT1mdW5jdGlvbih0KXt2YXIgbj1lLmFwcGx5KGYsYXJndW1lbnRzKTtyZXR1cm4gdCE9PW4mJmEuZW1pdCgicHJvcGFnYXRlIixbdCwhMF0sbiksbn19KSxmLnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LGYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZi5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpyfX0pLGMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZiksZnVuY3Rpb24odCxlKXt0cnl7cltlXT1mW2VdfWNhdGNoKG4pe319KSxhLm9uKCJleGVjdXRvci1zdGFydCIsZnVuY3Rpb24odCl7dFswXT1zKHRbMF0sInJlc29sdmUtIix0aGlzKSx0WzFdPXModFsxXSwicmVzb2x2ZS0iLHRoaXMpfSksYS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLHMuaW5QbGFjZShmLnByb3RvdHlwZSxbInRoZW4iXSwidGhlbi0iLG8pLGEub24oInRoZW4tc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dGhpcy5wcm9taXNlPWUsdFswXT1zKHRbMF0sImNiLSIsdGhpcyksdFsxXT1zKHRbMV0sImNiLSIsdGhpcyl9KSxhLm9uKCJ0aGVuLWVuZCIsZnVuY3Rpb24odCxlLG4pe3RoaXMubmV4dFByb21pc2U9bjt2YXIgcj10aGlzLnByb21pc2U7YS5lbWl0KCJwcm9wYWdhdGUiLFtyLCEwXSxuKX0pLGEub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2EuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSl9KSxhLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWEuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrZn0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSkscz0ic2V0VGltZW91dCIsYz0ic2V0SW50ZXJ2YWwiLGY9ImNsZWFyVGltZW91dCIsdT0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtzLCJzZXRJbW1lZGlhdGUiXSxzK2QpLGEuaW5QbGFjZSh3aW5kb3csW2NdLGMrZCksYS5pblBsYWNlKHdpbmRvdyxbZiwiY2xlYXJJbW1lZGlhdGUiXSxmK2QpLGkub24oYyt1LHIpLGkub24ocyt1LG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixzKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPXUuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLHUuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixzKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLE8uZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gYyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciBmPXQoImVlIiksdT1mLmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikodSkscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9dTt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e3UuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXt1LmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKGMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIscyksdS5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSx1Lm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLE89ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShPLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgZi5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighaSh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHM9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBjPWEuZ2VuZXJhdGVDYXRJZCgpLGY9YS5nZW5lcmF0ZUNhdElkKCksdT1EYXRlLm5vdygpLGQ9byhjLGYsdSxuLHIscyk7cmV0dXJue2hlYWRlcjpkLGd1aWQ6Yyx0cmFjZUlkOmYsdGltZXN0YW1wOnV9fWZ1bmN0aW9uIG8odCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBzPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihzLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShzKSl9ZnVuY3Rpb24gaSh0KXt2YXIgZT0hMSxuPSExLHI9e307aWYoImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJihyPU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZyxuPSEhci5lbmFibGVkKSxuKWlmKHQuc2FtZU9yaWdpbillPSEwO2Vsc2UgaWYoci5hbGxvd2VkX29yaWdpbnMgaW5zdGFuY2VvZiBBcnJheSlmb3IodmFyIG89MDtvPHIuYWxsb3dlZF9vcmlnaW5zLmxlbmd0aDtvKyspe3ZhciBpPXMoci5hbGxvd2VkX29yaWdpbnNbb10pO2lmKHQuaG9zdG5hbWU9PT1pLmhvc3RuYW1lJiZ0LnByb3RvY29sPT09aS5wcm90b2NvbCYmdC5wb3J0PT09aS5wb3J0KXtlPSEwO2JyZWFrfX1yZXR1cm4gbiYmZX12YXIgYT10KDIzKSxzPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOml9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsdS5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLHMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPWMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1jKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIHM9dCgiaGFuZGxlIiksYz10KDE3KSxmPXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLHU9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSx1Lm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksdS5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLHUub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49Zih0aGlzLnBhcnNlZE9yaWdpbik7biYmbi5oZWFkZXImJihlLnNldFJlcXVlc3RIZWFkZXIoIm5ld3JlbGljIixuLmhlYWRlciksdGhpcy5kdD1uKX0pLHUub24oInNlbmQteGhyLXN0YXJ0IixmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMubWV0cmljcyxyPXRbMF0sbz10aGlzO2lmKG4mJnIpe3ZhciBpPW0ocik7aSYmKG4udHhTaXplPWkpfXRoaXMuc3RhcnRUaW1lPWEubm93KCksdGhpcy5saXN0ZW5lcj1mdW5jdGlvbih0KXt0cnl7ImFib3J0IiE9PXQudHlwZXx8by5sb2FkQ2FwdHVyZUNhbGxlZHx8KG8ucGFyYW1zLmFib3J0ZWQ9ITApLCgibG9hZCIhPT10LnR5cGV8fG8uY2FsbGVkPT09by50b3RhbENicyYmKG8ub25sb2FkQ2FsbGVkfHwiZnVuY3Rpb24iIT10eXBlb2YgZS5vbmxvYWQpKSYmby5lbmQoZSl9Y2F0Y2gobil7dHJ5e3UuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLFtuXSl9Y2F0Y2gocil7fX19O2Zvcih2YXIgcz0wO3M8cDtzKyspZS5hZGRFdmVudExpc3RlbmVyKGRbc10sdGhpcy5saXN0ZW5lciwhMSl9KSx1Lm9uKCJ4aHItY2ItdGltZSIsZnVuY3Rpb24odCxlLG4pe3RoaXMuY2JUaW1lKz10LGU/dGhpcy5vbmxvYWRDYWxsZWQ9ITA6dGhpcy5jYWxsZWQrPTEsdGhpcy5jYWxsZWQhPT10aGlzLnRvdGFsQ2JzfHwhdGhpcy5vbmxvYWRDYWxsZWQmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLm9ubG9hZHx8dGhpcy5lbmQobil9KSx1Lm9uKCJ4aHItbG9hZC1hZGRlZCIsZnVuY3Rpb24odCxlKXt2YXIgbj0iIitsKHQpKyEhZTt0aGlzLnhockd1aWRzJiYhdGhpcy54aHJHdWlkc1tuXSYmKHRoaXMueGhyR3VpZHNbbl09ITAsdGhpcy50b3RhbENicys9MSl9KSx1Lm9uKCJ4aHItbG9hZC1yZW1vdmVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJnRoaXMueGhyR3VpZHNbbl0mJihkZWxldGUgdGhpcy54aHJHdWlkc1tuXSx0aGlzLnRvdGFsQ2JzLT0xKX0pLHUub24oImFkZEV2ZW50TGlzdGVuZXItZW5kIixmdW5jdGlvbih0LGUpe2UgaW5zdGFuY2VvZiB3JiYibG9hZCI9PT10WzBdJiZ1LmVtaXQoInhoci1sb2FkLWFkZGVkIixbdFsxXSx0WzJdXSxlKX0pLHUub24oInJlbW92ZUV2ZW50TGlzdGVuZXItZW5kIixmdW5jdGlvbih0LGUpe2UgaW5zdGFuY2VvZiB3JiYibG9hZCI9PT10WzBdJiZ1LmVtaXQoInhoci1sb2FkLXJlbW92ZWQiLFt0WzFdLHRbMl1dLGUpfSksdS5vbigiZm4tc3RhcnQiLGZ1bmN0aW9uKHQsZSxuKXtlIGluc3RhbmNlb2YgdyYmKCJvbmxvYWQiPT09biYmKHRoaXMub25sb2FkPSEwKSwoImxvYWQiPT09KHRbMF0mJnRbMF0udHlwZSl8fHRoaXMub25sb2FkKSYmKHRoaXMueGhyQ2JTdGFydD1hLm5vdygpKSl9KSx1Lm9uKCJmbi1lbmQiLGZ1bmN0aW9uKHQsZSl7dGhpcy54aHJDYlN0YXJ0JiZ1LmVtaXQoInhoci1jYi10aW1lIixbYS5ub3coKS10aGlzLnhockNiU3RhcnQsdGhpcy5vbmxvYWQsZV0sZSl9KSx1Lm9uKCJmZXRjaC1iZWZvcmUtc3RhcnQiLGZ1bmN0aW9uKHQpe3ZhciBlLG49dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP2U9dFswXTp0WzBdJiZ0WzBdLnVybCYmKGU9dFswXS51cmwpLGUmJih0aGlzLnBhcnNlZE9yaWdpbj1jKGUpLHRoaXMuc2FtZU9yaWdpbj10aGlzLnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2luKTt2YXIgcj1mKHRoaXMucGFyc2VkT3JpZ2luKTtpZihyJiZyLmhlYWRlcil7dmFyIG89ci5oZWFkZXI7aWYoInN0cmluZyI9PXR5cGVvZiB0WzBdKXt2YXIgaT17fTtmb3IodmFyIGEgaW4gbilpW2FdPW5bYV07aS5oZWFkZXJzPW5ldyBIZWFkZXJzKG4uaGVhZGVyc3x8e30pLGkuaGVhZGVycy5zZXQoIm5ld3JlbGljIixvKSx0aGlzLmR0PXIsdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiYodFswXS5oZWFkZXJzLmFwcGVuZCgibmV3cmVsaWMiLG8pLHRoaXMuZHQ9cil9fSl9fSx7fV0sMTc6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj17fTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYodCBpbiByKXJldHVybiByW3RdO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxuPXdpbmRvdy5sb2NhdGlvbixvPXt9O2UuaHJlZj10LG8ucG9ydD1lLnBvcnQ7dmFyIGk9ZS5ocmVmLnNwbGl0KCI6Ly8iKTshby5wb3J0JiZpWzFdJiYoby5wb3J0PWlbMV0uc3BsaXQoIi8iKVswXS5zcGxpdCgiQCIpLnBvcCgpLnNwbGl0KCI6IilbMV0pLG8ucG9ydCYmIjAiIT09by5wb3J0fHwoby5wb3J0PSJodHRwcyI9PT1pWzBdPyI0NDMiOiI4MCIpLG8uaG9zdG5hbWU9ZS5ob3N0bmFtZXx8bi5ob3N0bmFtZSxvLnBhdGhuYW1lPWUucGF0aG5hbWUsby5wcm90b2NvbD1pWzBdLCIvIiE9PW8ucGF0aG5hbWUuY2hhckF0KDApJiYoby5wYXRobmFtZT0iLyIrby5wYXRobmFtZSk7dmFyIGE9IWUucHJvdG9jb2x8fCI6Ij09PWUucHJvdG9jb2x8fGUucHJvdG9jb2w9PT1uLnByb3RvY29sLHM9ZS5ob3N0bmFtZT09PWRvY3VtZW50LmRvbWFpbiYmZS5wb3J0PT09bi5wb3J0O3JldHVybiBvLnNhbWVPcmlnaW49YSYmKCFlLmhvc3RuYW1lfHxzKSwiLyI9PT1vLnBhdGhuYW1lJiYoclt0XT1vKSxvfX0se31dLDE4OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQucmVzcG9uc2VUeXBlO3JldHVybiJqc29uIj09PW4mJm51bGwhPT1lP2U6ImFycmF5YnVmZmVyIj09PW58fCJibG9iIj09PW58fCJqc29uIj09PW4/byh0LnJlc3BvbnNlKToidGV4dCI9PT1ufHwiIj09PW58fHZvaWQgMD09PW4/byh0LnJlc3BvbnNlVGV4dCk6dm9pZCAwfXZhciBvPXQoMjApO2UuZXhwb3J0cz1yfSx7fV0sMTk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBpKHQsW2Yubm93KCldLmNvbmNhdChzKGFyZ3VtZW50cykpLGU/bnVsbDp0aGlzLG4pLGU/dm9pZCAwOnRoaXN9fXZhciBpPXQoImhhbmRsZSIpLGE9dCgyNSkscz10KDI2KSxjPXQoImVlIikuZ2V0KCJ0cmFjZXIiKSxmPXQoImxvYWRlciIpLHU9TlJFVU07InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3cubmV3cmVsaWMmJihuZXdyZWxpYz11KTt2YXIgZD1bInNldFBhZ2VWaWV3TmFtZSIsInNldEN1c3RvbUF0dHJpYnV0ZSIsInNldEVycm9ySGFuZGxlciIsImZpbmlzaGVkIiwiYWRkVG9UcmFjZSIsImlubGluZUhpdCIsImFkZFJlbGVhc2UiXSxwPSJhcGktIixsPXArIml4bi0iO2EoZCxmdW5jdGlvbih0LGUpe3VbZV09byhwK2UsITAsImFwaSIpfSksdS5hZGRQYWdlQWN0aW9uPW8ocCsiYWRkUGFnZUFjdGlvbiIsITApLHUuc2V0Q3VycmVudFJvdXRlTmFtZT1vKHArInJvdXRlTmFtZSIsITApLGUuZXhwb3J0cz1uZXdyZWxpYyx1LmludGVyYWN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyByKS5nZXQoKX07dmFyIGg9ci5wcm90b3R5cGU9e2NyZWF0ZVRyYWNlcjpmdW5jdGlvbih0LGUpe3ZhciBuPXt9LHI9dGhpcyxvPSJmdW5jdGlvbiI9PXR5cGVvZiBlO3JldHVybiBpKGwrInRyYWNlciIsW2Yubm93KCksdCxuXSxyKSxmdW5jdGlvbigpe2lmKGMuZW1pdCgobz8iIjoibm8tIikrImZuLXN0YXJ0IixbZi5ub3coKSxyLG9dLG4pLG8pdHJ5e3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaCh0KXt0aHJvdyBjLmVtaXQoImZuLWVyciIsW2FyZ3VtZW50cyx0aGlzLHRdLG4pLHR9ZmluYWxseXtjLmVtaXQoImZuLWVuZCIsW2Yubm93KCldLG4pfX19fTthKCJhY3Rpb25UZXh0LHNldE5hbWUsc2V0QXR0cmlidXRlLHNhdmUsaWdub3JlLG9uRW5kLGdldENvbnRleHQsZW5kLGdldCIuc3BsaXQoIiwiKSxmdW5jdGlvbih0LGUpe2hbZV09byhsK2UpfSksbmV3cmVsaWMubm90aWNlRXJyb3I9ZnVuY3Rpb24odCxlKXsic3RyaW5nIj09dHlwZW9mIHQmJih0PW5ldyBFcnJvcih0KSksaSgiZXJyIixbdCxmLm5vdygpLCExLGVdKX19LHt9XSwyMDpbZnVuY3Rpb24odCxlLG4pe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJnQubGVuZ3RoKXJldHVybiB0Lmxlbmd0aDtpZigib2JqZWN0Ij09dHlwZW9mIHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmdC5ieXRlTGVuZ3RoKXJldHVybiB0LmJ5dGVMZW5ndGg7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iJiZ0IGluc3RhbmNlb2YgQmxvYiYmdC5zaXplKXJldHVybiB0LnNpemU7aWYoISgidW5kZWZpbmVkIiE9dHlwZW9mIEZvcm1EYXRhJiZ0IGluc3RhbmNlb2YgRm9ybURhdGEpKXRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkubGVuZ3RofWNhdGNoKGUpe3JldHVybn19fX0se31dLDIxOltmdW5jdGlvbih0LGUsbil7dmFyIHI9MCxvPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0ZpcmVmb3hbXC9cc10oXGQrXC5cZCspLyk7byYmKHI9K29bMV0pLGUuZXhwb3J0cz1yfSx7fV0sMjI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5mb3JFYWNoKGZ1bmN0aW9uKHQpeyJmaXJzdC1wYWludCI9PT10Lm5hbWU/YygidGltaW5nIixbImZwIixNYXRoLmZsb29yKHQuc3RhcnRUaW1lKV0pOiJmaXJzdC1jb250ZW50ZnVsLXBhaW50Ij09PXQubmFtZSYmYygidGltaW5nIixbImZjcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKX0pfWZ1bmN0aW9uIG8odCxlKXt2YXIgbj10LmdldEVudHJpZXMoKTtuLmxlbmd0aD4wJiZjKCJsY3AiLFtuW24ubGVuZ3RoLTFdXSl9ZnVuY3Rpb24gaSh0KXtpZih0IGluc3RhbmNlb2YgdSYmIXApe3ZhciBlLG49TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCk7ZT1uPjFlMTI/RGF0ZS5ub3coKS1uOmYubm93KCktbixwPSEwLGMoInRpbWluZyIsWyJmaSIsbix7dHlwZTp0LnR5cGUsZmlkOmV9XSl9fWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBhLHMsYz10KCJoYW5kbGUiKSxmPXQoImxvYWRlciIpLHU9TlJFVU0uby5FVjtpZigiUGVyZm9ybWFuY2VPYnNlcnZlciJpbiB3aW5kb3cmJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcil7YT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihyKSxzPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKG8pO3RyeXthLm9ic2VydmUoe2VudHJ5VHlwZXM6WyJwYWludCJdfSkscy5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChkKXt9fWlmKCJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50KXt2YXIgcD0hMSxsPVsiY2xpY2siLCJrZXlkb3duIiwibW91c2Vkb3duIiwicG9pbnRlcmRvd24iLCJ0b3VjaHN0YXJ0Il07bC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIodCxpLCExKX0pfX19LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtmdW5jdGlvbiB0KCl7cmV0dXJuIGU/MTUmZVtuKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgZT1udWxsLG49MCxyPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztyJiZyLmdldFJhbmRvbVZhbHVlcyYmKGU9ci5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBvLGk9Inh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCIsYT0iIixzPTA7czxpLmxlbmd0aDtzKyspbz1pW3NdLCJ4Ij09PW8/YSs9dCgpLnRvU3RyaW5nKDE2KToieSI9PT1vPyhvPTMmdCgpfDgsYSs9by50b1N0cmluZygxNikpOmErPW87cmV0dXJuIGF9ZnVuY3Rpb24gbygpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiZVaW50OEFycmF5JiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG89W10saT0wO2k8MTY7aSsrKW8ucHVzaCh0KCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gby5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlQ2F0SWQ6b319LHt9XSwyNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtpZighbylyZXR1cm4hMTtpZih0IT09bylyZXR1cm4hMTtpZighZSlyZXR1cm4hMDtpZighaSlyZXR1cm4hMTtmb3IodmFyIG49aS5zcGxpdCgiLiIpLHI9ZS5zcGxpdCgiLiIpLGE9MDthPHIubGVuZ3RoO2ErKylpZihyW2FdIT09blthXSlyZXR1cm4hMTtyZXR1cm4hMH12YXIgbz1udWxsLGk9bnVsbCxhPS9WZXJzaW9uXC8oXFMrKVxzK1NhZmFyaS87aWYobmF2aWdhdG9yLnVzZXJBZ2VudCl7dmFyIHM9bmF2aWdhdG9yLnVzZXJBZ2VudCxjPXMubWF0Y2goYSk7YyYmcy5pbmRleE9mKCJDaHJvbWUiKT09PS0xJiZzLmluZGV4T2YoIkNocm9taXVtIik9PT0tMSYmKG89IlNhZmFyaSIsaT1jWzFdKX1lLmV4cG9ydHM9e2FnZW50Om8sdmVyc2lvbjppLG1hdGNoOnJ9fSx7fV0sMjU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49W10scj0iIixpPTA7Zm9yKHIgaW4gdClvLmNhbGwodCxyKSYmKG5baV09ZShyLHRbcl0pLGkrPTEpO3JldHVybiBufXZhciBvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPXJ9LHt9XSwyNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe2V8fChlPTApLCJ1bmRlZmluZWQiPT10eXBlb2YgbiYmKG49dD90Lmxlbmd0aDowKTtmb3IodmFyIHI9LTEsbz1uLWV8fDAsaT1BcnJheShvPDA/MDpvKTsrK3I8bzspaVtyXT10W2Urcl07cmV0dXJuIGl9ZS5leHBvcnRzPXJ9LHt9XSwyNzpbZnVuY3Rpb24odCxlLG4pe2UuZXhwb3J0cz17ZXhpc3RzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiYidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0fX0se31dLGVlOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKHQpe2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQmJnQgaW5zdGFuY2VvZiByP3Q6dD9jKHQscyxpKTppKCl9ZnVuY3Rpb24gbihuLHIsbyxpKXtpZighcC5hYm9ydGVkfHxpKXt0JiZ0KG4scixvKTtmb3IodmFyIGE9ZShvKSxzPW0obiksYz1zLmxlbmd0aCxmPTA7ZjxjO2YrKylzW2ZdLmFwcGx5KGEscik7dmFyIGQ9dVt5W25dXTtyZXR1cm4gZCYmZC5wdXNoKFt4LG4scixhXSksYX19ZnVuY3Rpb24gbCh0LGUpe2dbdF09bSh0KS5jb25jYXQoZSl9ZnVuY3Rpb24gaCh0LGUpe3ZhciBuPWdbdF07aWYobilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdPT09ZSYmbi5zcGxpY2UociwxKX1mdW5jdGlvbiBtKHQpe3JldHVybiBnW3RdfHxbXX1mdW5jdGlvbiB2KHQpe3JldHVybiBkW3RdPWRbdF18fG8obil9ZnVuY3Rpb24gdyh0LGUpe2YodCxmdW5jdGlvbih0LG4pe2U9ZXx8ImZlYXR1cmUiLHlbbl09ZSxlIGluIHV8fCh1W2VdPVtdKX0pfXZhciBnPXt9LHk9e30seD17b246bCxhZGRFdmVudExpc3RlbmVyOmwscmVtb3ZlRXZlbnRMaXN0ZW5lcjpoLGVtaXQ6bixnZXQ6dixsaXN0ZW5lcnM6bSxjb250ZXh0OmUsYnVmZmVyOncsYWJvcnQ6YSxhYm9ydGVkOiExfTtyZXR1cm4geH1mdW5jdGlvbiBpKCl7cmV0dXJuIG5ldyByfWZ1bmN0aW9uIGEoKXsodS5hcGl8fHUuZmVhdHVyZSkmJihwLmFib3J0ZWQ9ITAsdT1wLmJhY2tsb2c9e30pfXZhciBzPSJuckBjb250ZXh0IixjPXQoImdvcyIpLGY9dCgyNSksdT17fSxkPXt9LHA9ZS5leHBvcnRzPW8oKTtwLmJhY2tsb2c9dX0se31dLGdvczpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe2lmKG8uY2FsbCh0LGUpKXJldHVybiB0W2VdO3ZhciByPW4oKTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cix3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExfSkscn1jYXRjaChpKXt9cmV0dXJuIHRbZV09cixyfXZhciBvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPXJ9LHt9XSxoYW5kbGU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIpe28uYnVmZmVyKFt0XSxyKSxvLmVtaXQodCxlLG4pfXZhciBvPXQoImVlIikuZ2V0KCJoYW5kbGUiKTtlLmV4cG9ydHM9cixyLmVlPW99LHt9XSxpZDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIXR8fCJvYmplY3QiIT09ZSYmImZ1bmN0aW9uIiE9PWU/LTE6dD09PXdpbmRvdz8wOmEodCxpLGZ1bmN0aW9uKCl7cmV0dXJuIG8rK30pfXZhciBvPTEsaT0ibnJAaWQiLGE9dCgiZ29zIik7ZS5leHBvcnRzPXJ9LHt9XSxsb2FkZXI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7aWYoIUUrKyl7dmFyIHQ9Yi5pbmZvPU5SRVVNLmluZm8sZT1sLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtpZihzZXRUaW1lb3V0KHUuYWJvcnQsM2U0KSwhKHQmJnQubGljZW5zZUtleSYmdC5hcHBsaWNhdGlvbklEJiZlKSlyZXR1cm4gdS5hYm9ydCgpO2YoeSxmdW5jdGlvbihlLG4pe3RbZV18fCh0W2VdPW4pfSksYygibWFyayIsWyJvbmxvYWQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIik7dmFyIG49bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtuLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShuLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9ZnVuY3Rpb24gYSgpe3JldHVybiBPLmV4aXN0cyYmcGVyZm9ybWFuY2Uubm93P01hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkpOihzPU1hdGgubWF4KChuZXcgRGF0ZSkuZ2V0VGltZSgpLHMpKS1iLm9mZnNldH12YXIgcz0obmV3IERhdGUpLmdldFRpbWUoKSxjPXQoImhhbmRsZSIpLGY9dCgyNSksdT10KCJlZSIpLGQ9dCgyNCkscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTExNjkubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6cyxub3c6YSxvcmlnaW46ZyxmZWF0dXJlczp7fSx4aHJXcmFwcGFibGU6eCx1c2VyQWdlbnQ6ZH07dCgxOSksdCgyMiksbFtoXT8obFtoXSgiRE9NQ29udGVudExvYWRlZCIsaSwhMSkscFtoXSgibG9hZCIsciwhMSkpOihsW21dKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLHBbbV0oIm9ubG9hZCIscikpLGMoIm1hcmsiLFsiZmlyc3RieXRlIixzXSxudWxsLCJhcGkiKTt2YXIgRT0wLE89dCgyNyl9LHt9XSwid3JhcC1mdW5jdGlvbiI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3JldHVybiEodCYmdCBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZ0LmFwcGx5JiYhdFthXSl9dmFyIG89dCgiZWUiKSxpPXQoMjYpLGE9Im5yQG9yaWdpbmFsIixzPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYz0hMTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKHQsZSxuLG8pe2Z1bmN0aW9uIG5yV3JhcHBlcigpe3ZhciByLGEscyxjO3RyeXthPXRoaXMscj1pKGFyZ3VtZW50cykscz0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKHIsYSk6bnx8e319Y2F0Y2goZil7cChbZiwiIixbcixhLG9dLHNdKX11KGUrInN0YXJ0IixbcixhLG9dLHMpO3RyeXtyZXR1cm4gYz10LmFwcGx5KGEscil9Y2F0Y2goZCl7dGhyb3cgdShlKyJlcnIiLFtyLGEsZF0scyksZH1maW5hbGx5e3UoZSsiZW5kIixbcixhLGNdLHMpfX1yZXR1cm4gcih0KT90OihlfHwoZT0iIiksbnJXcmFwcGVyW2FdPXQsZCh0LG5yV3JhcHBlciksbnJXcmFwcGVyKX1mdW5jdGlvbiBmKHQsZSxvLGkpe298fChvPSIiKTt2YXIgYSxzLGMsZj0iLSI9PT1vLmNoYXJBdCgwKTtmb3IoYz0wO2M8ZS5sZW5ndGg7YysrKXM9ZVtjXSxhPXRbc10scihhKXx8KHRbc109bihhLGY/cytvOm8saSxzKSl9ZnVuY3Rpb24gdShuLHIsbyl7aWYoIWN8fGUpe3ZhciBpPWM7Yz0hMDt0cnl7dC5lbWl0KG4scixvLGUpfWNhdGNoKGEpe3AoW2EsbixyLG9dKX1jPWl9fWZ1bmN0aW9uIGQodCxlKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgbj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChyKXtwKFtyXSl9Zm9yKHZhciBvIGluIHQpcy5jYWxsKHQsbykmJihlW29dPXRbb10pO3JldHVybiBlfWZ1bmN0aW9uIHAoZSl7dHJ5e3QuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLGUpfWNhdGNoKG4pe319cmV0dXJuIHR8fCh0PW8pLG4uaW5QbGFjZT1mLG4uZmxhZz1hLG59fSx7fV19LHt9LFsibG9hZGVyIiwyLDE2LDUsMyw0XSk7CiAgICAgICAgICA7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KICAgICAgICAgIDtOUkVVTS5pbmZvPXtiZWFjb246ImJhbS5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KICAgICAgICA8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9nbG9iYWwvaWNvbl9mb250cy5taW4uY3NzP2UxMDEzZGViNmU4NDQ3MGM3NWQwNzVmODZkYjNjZDRkOTRkMjE4MTYiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9jbGlwX2JldGFfY29tYmluZWQubWluLmNzcz80YjE5MmVjMCI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2NvbWJpbmVkLm1pbi5jc3M/YTIwYTc1NjYiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzMuMjMuMFwvanNcL2JhcmVib25lLmpzIiwianMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzMuMjMuMFwvanNcL3BsYXllci5qcyIsImNocm9tZWxlc3NfY3NzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC8zLjIzLjBcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjaHJvbWVsZXNzX2pzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC8zLjIzLjBcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY3NzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC8zLjIzLjBcL2Nzc1wvcGxheWVyLmNzcyIsInBsYXllcl91cmwiOiJwbGF5ZXIudmltZW8uY29tIn07CgogICAgICAgIHZhciBfZXh0ZW5kID0gZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzWzBdLG49MSxlPWFyZ3VtZW50cy5sZW5ndGg7ZT5uO24rKyl7dmFyIHQ9YXJndW1lbnRzW25dO2Zvcih2YXIgYSBpbiB0KXQuaGFzT3duUHJvcGVydHkoYSkmJihyW2FdPXRbYV0pfXJldHVybiByfTsKCiAgICAgICAgICAgIHdpbmRvdyA9IF9leHRlbmQod2luZG93LCB7InZpbWVvX2VzaSI6eyJjb25maWciOnsicm91dGUiOiJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcENvbnRyb2xsZXI6bWFpbiIsImNvbnRyb2xsZXIiOiJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcENvbnRyb2xsZXIiLCJhdXRvY29tcGxldGVfZW5hYmxlZCI6dHJ1ZSwib25zaXRlX3JlZmVycmVyIjpmYWxzZX19LCJhYmxpbmNvbG5fY29uZmlnIjpbXSwidmltZW8iOnsiY29uZmlnIjp7ImNhcnQiOnsiY2FydF9jb250ZW50Ijp7InN0b2NrIjp7InN0b3JlIjoic3RvY2siLCJ2ZXJzaW9uIjoxLCJxdWFudGl0aWVzIjpbXSwiaXRlbXMiOltdLCJhdHRyaWJ1dGVzIjpbXSwiY3VycmVuY3kiOiJCUkwiLCJpdGVtc19zb3J0ZWRfYnlfaW5kZXgiOltdLCJpdGVtc19jb3VudCI6MH19fX19fSk7Cjwvc2NyaXB0PgoKICAgICAgICAgICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuT21uaXNlYXJjaCI6eyJpZCI6NTI3LCJuYW1lIjoiSlMuT21uaXNlYXJjaCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNDUyLCJuYW1lIjoicGhhc2UxIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMC0xMC0yMiAxMzo0Njo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNTQ1LCJuYW1lIjoib21uaXNlYXJjaF9lbmFibGVkIiwiY2hvaWNlIjoidHJ1ZSIsIndlaWdodCI6MX0seyJpZCI6MjU0NiwibmFtZSI6Im9tbmlzZWFyY2hfZW5hYmxlZCIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTQ1NCwibmFtZSI6InBoYXNlMiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjAtMTAtMjMgMDg6MTY6NTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MjU1MSwibmFtZSI6Im9tbmlzZWFyY2hfZW5hYmxlZCIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI1NTIsIm5hbWUiOiJvbW5pc2VhcmNoX2VuYWJsZWQiLCJjaG9pY2UiOiJmYWxzZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjE0NTgsIm5hbWUiOiJwaGFzZTMiLCJidWNrZXRzIjozMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIwLTEwLTI2IDA4OjU0OjQ4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI1NTcsIm5hbWUiOiJvbW5pc2VhcmNoX2VuYWJsZWQiLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfSx7ImlkIjoyNTU4LCJuYW1lIjoib21uaXNlYXJjaF9lbmFibGVkIiwiY2hvaWNlIjoiZmFsc2UiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNDYxLCJuYW1lIjoicGhhc2U0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMC0xMC0yNyAwODo0Njo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNTY1LCJuYW1lIjoib21uaXNlYXJjaF9lbmFibGVkIiwiY2hvaWNlIjoidHJ1ZSIsIndlaWdodCI6MX0seyJpZCI6MjU2NiwibmFtZSI6Im9tbmlzZWFyY2hfZW5hYmxlZCIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuVG9wTmF2LkNyZWF0ZSI6eyJpZCI6NDUyLCJuYW1lIjoiSlMuVG9wTmF2LkNyZWF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IjphbGwiLCJleHBlcmltZW50cyI6W3siaWQiOjEyMzUsIm5hbWUiOiIqIExvZ2dlZCBvdXQgSm9pbiBNb2RhbCIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjAtMDYtMTUgMTY6MTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjAtMTAtMTUgMDY6NTM6MjUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MjE1MCwibmFtZSI6InRvcF9uYXZfY3JlYXRlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjE1MSwibmFtZSI6InRvcF9uYXZfY3JlYXRlIiwiY2hvaWNlIjoiam9pbl93aXRob3V0X2Rlc2lnbiIsIndlaWdodCI6MX0seyJpZCI6MjE1MiwibmFtZSI6InRvcF9uYXZfY3JlYXRlIiwiY2hvaWNlIjoiam9pbl93aXRoX2Rlc2lnbiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjEzMTEsIm5hbWUiOiIqICogTG9nZ2VkIG91dCBKb2luIE1vZGFsIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMC0wNi0yMyAxNTowMTo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMC0xMC0xNSAwNjo1MzozNSIsInBhcmFtZXRlcnMiOlt7ImlkIjoyMjc1LCJuYW1lIjoidG9wX25hdl9jcmVhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyMjc2LCJuYW1lIjoidG9wX25hdl9jcmVhdGUiLCJjaG9pY2UiOiJqb2luX3dpdGhvdXRfZGVzaWduIiwid2VpZ2h0IjoxfSx7ImlkIjoyMjc3LCJuYW1lIjoidG9wX25hdl9jcmVhdGUiLCJjaG9pY2UiOiJqb2luX3dpdGhfZGVzaWduIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuVXBzZWxsLlJldmlldyI6eyJpZCI6NDQ0LCJuYW1lIjoiSlMuVXBzZWxsLlJldmlldyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOltdfSwiVG9wTmF2Lk5ld1ZpZGVvLlNjcmVlblJlY29yZEZvckFsbCI6eyJpZCI6NTQxLCJuYW1lIjoiVG9wTmF2Lk5ld1ZpZGVvLlNjcmVlblJlY29yZEZvckFsbCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNDE4LCJuYW1lIjoiU2hvdyByZWNvcmRlciBsaW5rIGZvciBhbGwiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIwLTEwLTA1IDE0OjMwOjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIwLTEwLTIxIDAzOjI4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjI0NzcsIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyNDc4LCJuYW1lIjoic2hvd19yZWNvcmRlcl9mb3JfYWxsIiwiY2hvaWNlIjoidmFyaWFudF9zY3JlZW4iLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNDUwLCJuYW1lIjoiKiBTaG93IHJlY29yZGVyIGxpbmsgZm9yIGFsbCIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIwLTEwLTIyIDE3OjE3OjExIiwicGF1c2VkX29uIjoiMjAyMC0xMC0yMiAxNzoxNzoyNyIsInN0b3BwZWRfb24iOiIyMDIwLTEwLTIyIDE3OjE3OjQwIiwicGFyYW1ldGVycyI6W3siaWQiOjI1NDAsIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyNTQxLCJuYW1lIjoic2hvd19yZWNvcmRlcl9mb3JfYWxsIiwiY2hvaWNlIjoidmFyaWFudF9zY3JlZW4iLCJ3ZWlnaHQiOjF9LHsiaWQiOjI1NDIsIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJ2YXJpYW50X3NjcmVlbl9hbmltYXRpb24iLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNDUzLCJuYW1lIjoiKiAqIFNob3cgcmVjb3JkZXIgbGluayBmb3IgYWxsIiwiYnVja2V0cyI6NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIwLTEwLTIyIDE3OjM2OjQxIiwicGF1c2VkX29uIjoiMjAyMC0xMC0yNiAxNTowNzoyOCIsInN0b3BwZWRfb24iOiIyMDIwLTEwLTI2IDE1OjA3OjU2IiwicGFyYW1ldGVycyI6W3siaWQiOjI1NDcsIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyNTQ4LCJuYW1lIjoic2hvd19yZWNvcmRlcl9mb3JfYWxsIiwiY2hvaWNlIjoidmFyaWFudF9zY3JlZW4iLCJ3ZWlnaHQiOjF9LHsiaWQiOjI1NDksIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJ2YXJpYW50X3NjcmVlbl9hbmltYXRpb24iLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNDYwLCJuYW1lIjoiKiAqICogU2hvdyByZWNvcmRlciBsaW5rIGZvciBhbGwiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIwLTEwLTI2IDE1OjA4OjU0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIwLTEwLTI3IDEwOjAyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjI1NjIsIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyNTYzLCJuYW1lIjoic2hvd19yZWNvcmRlcl9mb3JfYWxsIiwiY2hvaWNlIjoidmFyaWFudF9zY3JlZW4iLCJ3ZWlnaHQiOjF9LHsiaWQiOjI1NjQsIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJ2YXJpYW50X3NjcmVlbl9hbmltYXRpb24iLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNDYyLCJuYW1lIjoiKiAqICogKiBTaG93IHJlY29yZGVyIGxpbmsgZm9yIGFsbCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIwLTEwLTI3IDEwOjA0OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI1NjcsIm5hbWUiOiJzaG93X3JlY29yZGVyX2Zvcl9hbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1fSx7ImlkIjoyNTY4LCJuYW1lIjoic2hvd19yZWNvcmRlcl9mb3JfYWxsIiwiY2hvaWNlIjoidmFyaWFudF9zY3JlZW4iLCJ3ZWlnaHQiOjkwfSx7ImlkIjoyNTY5LCJuYW1lIjoic2hvd19yZWNvcmRlcl9mb3JfYWxsIiwiY2hvaWNlIjoidmFyaWFudF9zY3JlZW5fYW5pbWF0aW9uIiwid2VpZ2h0Ijo1fV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ3JlYXRlQXBwQmFubmVyIjp7ImlkIjo0NjEsIm5hbWUiOiJKUy5DcmVhdGVBcHBCYW5uZXIiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLzpjbGlwSWQiLCJleHBlcmltZW50cyI6W3siaWQiOjExNTcsIm5hbWUiOiJTaG93IGNyZWF0ZSBiYW5uZXIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIwLTA0LTAxIDA4OjQ4OjMyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIwLTA3LTE2IDE2OjExOjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjIwMjQsIm5hbWUiOiJzaG93X2NyZWF0ZV9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyMDI1LCJuYW1lIjoic2hvd19jcmVhdGVfYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjExNzgsIm5hbWUiOiIrNDAlIFNob3cgY3JlYXRlIGJhbm5lciIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjAtMDQtMDMgMTY6MTU6NDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjAtMDctMTYgMTY6MTE6MzMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MjA1OCwibmFtZSI6InNob3dfY3JlYXRlX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjIwNTksIm5hbWUiOiJzaG93X2NyZWF0ZV9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2xpcC5CYW5uZXJGcmVxdWVuY3kiOnsiaWQiOjU0MywibmFtZSI6IkpTLkNsaXAuQmFubmVyRnJlcXVlbmN5IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8qIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNDIyLCJuYW1lIjoiQ2xpcCBCYW5uZXIgRnJlcXVlbmN5IFRlc3QiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIwLTEwLTA3IDEzOjAwOjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI0ODQsIm5hbWUiOiJiYW5uZXJfZnJlcXVlbmN5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjQ4NSwibmFtZSI6ImJhbm5lcl9mcmVxdWVuY3kiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJjbGlwX2lkIjoxMzY5NzE0MjgsInBhZ2VfcGF0aCI6IlwvMTM2OTcxNDI4IiwiY3JlYXRvcl9pZCI6ODE0MzExLCJjcmVhdG9yX3VzZXJfdHlwZSI6InBybyIsInZpZGVvX2NhdGVnb3JpZXMiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIsInN0YWZmX3BpY2siOiJubyIsInVzZXJfaWQiOm51bGwsInBhZ2VfdHlwZSI6IlZpZGVvIiwibGFuZ3VhZ2UiOiJlbiIsInVzZXJfc3RhdHVzIjoibG9nZ2VkX291dCIsInVzZXJfdHlwZSI6Im5vbmUiLCJnYV91bml2ZXJzYWxfaWQiOiJVQS03NjY0MS04IiwiY29tc2NvcmVfc2l0ZV9pZCI6MTAzNDgyODl9XTsKCiAgICAgICAgdmFyIGdkcHJDb29raWUgPSAoZG9jdW1lbnQuY29va2llLm1hdGNoKC9eKD86Lio7KT9ccyp2aW1lb19nZHByX29wdGluXHMqPVxzKihbXjtdKykoPzouKik/JC8pfHxbLG51bGxdKVsxXTsKICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICAgICB3aW5kb3cuX2d0bS5wdXNoKHsKICAgICAgICAndnVpZCc6IGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKil2dWlkXHMqXD1ccyooW147XSopLiokKXxeLiokLywgIiQxIiksCiAgICAgICAgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLAogICAgICAgICdldmVudCc6ICdndG0uanMnCiAgICB9KTsKICAgIHZhciBndG1zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksCiAgICAgICAgbm9kZTsKICAgIGd0bXMuYXN5bmMgPSB0cnVlOwogICAgZ3Rtcy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICBndG1zLnNyYyA9ICcvL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9R1RNLVJCS0smbD1fZ3RtJzsKICAgIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07CiAgICBub2RlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGd0bXMsIG5vZGUpOwp9KSgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KICAgIHZhciBnb29nbGV0YWcgPSBnb29nbGV0YWcgfHwge30sCiAgICAgICAgZ3B0YWRzbG90cyA9IFtdLAogICAgICAgIGxhbmd1YWdlLAogICAgICAgIGhhc191cGxvYWRlZCwKICAgICAgICBjb2hvcnQ7CiAgICBnb29nbGV0YWcuY21kID0gZ29vZ2xldGFnLmNtZCB8fCBbXTsKCiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGdkcHJDb29raWUgPSAoZG9jdW1lbnQuY29va2llLm1hdGNoKC9eKD86Lio7KT9ccyp2aW1lb19nZHByX29wdGluXHMqPVxzKihbXjtdKykoPzouKik/JC8pfHxbLG51bGxdKVsxXTsKICAgICAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHZhciBnYWRzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksCiAgICAgICAgICAgIHVzZVNTTCA9ICdodHRwczonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sLAogICAgICAgICAgICBub2RlOwogICAgICAgIGdhZHMuYXN5bmMgPSB0cnVlOwogICAgICAgIGdhZHMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIGdhZHMuc3JjID0gKHVzZVNTTCA/ICdodHRwczonIDogJ2h0dHA6JykgKyAnLy93d3cuZ29vZ2xldGFnc2VydmljZXMuY29tL3RhZy9qcy9ncHQuanMnOwogICAgICAgIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07CiAgICAgICAgbm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnYWRzLCBub2RlKTsKICAgIH0pKCk7CgogICAgZ29vZ2xldGFnLmNtZC5wdXNoKGZ1bmN0aW9uKCkgewogICAgICAgIAogICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlID0gZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKWxhbmd1YWdlXHMqXD1ccyooW147XSopLiokKXxeLiokLywgIiQxIik7CiAgICAgICAgICAgIGhhc191cGxvYWRlZCA9IChkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopaGFzX3VwbG9hZGVkXHMqXD1ccyooW147XSopLiokKXxeLiokLywgIiQxIikpID8gJ1knIDogJ04nOwogICAgICAgICAgICBjb25zZW50ID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKil2aW1lb19nZHByX29wdGluXHMqXD1ccyooW147XSopLiokKXxeLiokLywgIiQxIikpID09PSAnLTEnID8gMSA6IDA7CiAgICAgICAgICAgIGNvaG9ydCA9ICdBJzsKICAgICAgICAKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdsYW5ndWFnZScsIFtsYW5ndWFnZV0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2lzX3VwbG9hZGVyJywgW2hhc191cGxvYWRlZF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydCcsIFtjb2hvcnRdKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYScsIFsoY29ob3J0ID09PSAnQScpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0X2InLCBbKGNvaG9ydCA9PT0gJ0InKSA/ICdZJyA6ICdOJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3Byb2R1Y3QnLCBbJyddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdzdG9yYWdlJywgWydOJ10pOwoKICAgICAgICAgICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3NlYycsIFsnZmFsc2UnXSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xvZ2dlZF9pbicsIFsnZmFsc2UnXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncnB2JywgKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMDApKzEpLnRvU3RyaW5nKCkpOwoKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0UmVxdWVzdE5vblBlcnNvbmFsaXplZEFkcyhjb25zZW50KTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuZW5hYmxlQXN5bmNSZW5kZXJpbmcoKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuZGlzYWJsZUluaXRpYWxMb2FkKCk7CiAgICAgICAgZ29vZ2xldGFnLmVuYWJsZVNlcnZpY2VzKCk7CiAgICB9KTsKPC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2xvZ2dpbmdfY29tYmluZWQubWluLmpzPzk3NDIxM2QxIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9hYmxpbmNvbG5fY29tYmluZWQubWluLmpzPzZjNGFjYjU3Ij48L3NjcmlwdD4KCgoKICAgIDwvaGVhZD4KICAgIDxib2R5IGNsYXNzPSJvbnNpdGUgIj4KICAgICAgICA8ZGl2IGlkPSJ3cmFwIiBjbGFzcz0ib3V0ZXJfd3JhcCI+CiAgICAgICAgICAgIDxkaXYgaWQ9InRvcG5hdl9vdXRlcl93cmFwIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNyZWF0ZS1mYWNlYm9vay1oZWFkZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJWaW1lb0JyYW5kX0NvbG9yUmliYm9uICI+PC9kaXY+CgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKCjxzdHlsZT4KICAgIEAtd2Via2l0LWtleWZyYW1lcyByZWNvcmRfYW5pbWF0aW9uIHsKICAgICAgICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICAgIDQwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgIH0KICAgICAgICA2MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICB9CiAgICB9CgogICAgQGtleWZyYW1lcyByZWNvcmRfYW5pbWF0aW9uIHsKICAgICAgICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICAgIDQwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgIH0KICAgICAgICA2MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICB9CiAgICB9CgogICAgLmxvZ2dlZF9vdXRfcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uOiByZWNvcmRfYW5pbWF0aW9uIDEuNXMgLjI1cyA1OwogICAgfQoKICAgIC5sb2dnZWRfaW5fcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uOiByZWNvcmRfYW5pbWF0aW9uIDEuNXMgLjI1cyBpbmZpbml0ZTsKICAgIH0KCiAgICAucmVjb3JkZXJfbmV3X2xhYmVsIHsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTQwQzY7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgICBtYXJnaW4tbGVmdDogMTRweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9Cjwvc3R5bGU+Cgo8c2NyaXB0PgogICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9Owo8L3NjcmlwdD4KCjxkaXYgaWQ9InRvcG5hdl9kZXNrdG9wIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3AgIiByb2xlPSJiYW5uZXIiPgogICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3Bfd3JhcHBlciI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgdGl0bGU9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSIgcm9sZT0ibmF2aWdhdGlvbiIgYXJpYS1sYWJlbD0iTWFpbiBtZW51Ij4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idG9wbmF2X21lbnVfZGVza3RvcF9tYWluIiByb2xlPSJtZW51YmFyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIiBkYXRhLW1lbnUtaWQ9ImpvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9tZW51X2pvaW4ganMtdG9wbmF2X21lbnVfYXV0aCIgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTt2aW1lby5Nb2RhbC5jcmVhdGUoe3NpemU6J3hzbWFsbCcsY29udGVudDonL2pvaW4/bW9kYWw9bmV3J30pLnRoZW4oY29tcGxldGVVc2VyTG9naW4pIiBkYXRhLWdhLWV2ZW50LWNsaWNrPSJ0b3BfbmF2fGpvaW4iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmpvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii8vdmltZW8uY29tL2pvaW4iIHRpdGxlPSJCZWNvbWUgYSBWaW1lbyBtZW1iZXIiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMiIGRhdGEtbWVudS1pZD0ibG9naW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7dmltZW8uTW9kYWwuY3JlYXRlKHtzaXplOid4c21hbGwnLGNvbnRlbnQ6Jy9sb2dfaW4/bW9kYWw9bmV3J30pLnRoZW4oY29tcGxldGVVc2VyTG9naW4pIiBkYXRhLWdhLWV2ZW50LWNsaWNrPSJ0b3BfbmF2fGxvZ2luIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGhyZWY9Ii8vdmltZW8uY29tL2xvZ19pbiIgdGl0bGU9IkxvZyBpbiB0byB5b3VyIGFjY291bnQiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2xvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMiIGRhdGEtbWVudS1pZD0icHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBocmVmPSIvL3ZpbWVvLmNvbS91cGdyYWRlIiB0aXRsZT0iUHJpY2luZyIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyIgZGF0YS1tZW51LWlkPSJwcm9kdWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24gdG9wbmF2X2ljb25fY2hldnJvbl9hIiBocmVmPSIjIiB0aXRsZT0iUHJvZHVjdCIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJvZHVjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZHVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bi0td3JhcHBlciIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfcHJvZHVjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9zb2x1dGlvbnMtLWZlYXR1cmVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duLS1sYWJlbHMiPkZFQVRVUkVTPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcm9kdWN0X3ZpZGVvX3BsYXllciIgaHJlZj0iLy92aW1lby5jb20vZmVhdHVyZXMvdmlkZW8tcGxheWVyIiB0aXRsZT0iVmlkZW8gcGxheWVyIj5WaWRlbyBwbGF5ZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3Byb2R1Y3Rfc2NyZWVuX3JlY29yZGVyIiBocmVmPSIvL3ZpbWVvLmNvbS9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXIiIHRpdGxlPSJTY3JlZW4gcmVjb3JkZXIiPlNjcmVlbiByZWNvcmRlcjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcm9kdWN0X2xpdmVfc3RyZWFtaW5nIiBocmVmPSIvL3ZpbWVvLmNvbS9saXZlIiB0aXRsZT0iTGl2ZSBzdHJlYW1pbmciPkxpdmUgc3RyZWFtaW5nPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6cHJpdmFjeSIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfcHJvZHVjdF9wcml2YWN5IiBocmVmPSIvL3ZpbWVvLmNvbS9mZWF0dXJlcy92aWRlby1wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNvbGxhYm9yYXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3Byb2R1Y3RfY29sbGFib3JhdGlvbiIgaHJlZj0iLy92aW1lby5jb20vZmVhdHVyZXMvdmlkZW8tY29sbGFib3JhdGlvbiIgdGl0bGU9IkNvbGxhYm9yYXRpb24iPkNvbGxhYm9yYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpkaXN0cmlidXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3Byb2R1Y3RfZGlzdHJpYnV0aW9uIiBocmVmPSIvL3ZpbWVvLmNvbS9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciIHRpdGxlPSJEaXN0cmlidXRpb24gYW5kIG1hcmtldGluZyI+RGlzdHJpYnV0aW9uICYgbWFya2V0aW5nPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcm9kdWN0X21vbmV0aXphdGlvbiIgaHJlZj0iLy92aW1lby5jb20vZmVhdHVyZXMvdmlkZW8tbW9uZXRpemF0aW9uIiB0aXRsZT0iTW9uZXRpemF0aW9uIj5Nb25ldGl6YXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3Byb2R1Y3RfYW5hbHl0aWNzIiBocmVmPSIvL3ZpbWVvLmNvbS9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiIHRpdGxlPSJBbmFseXRpY3MiPkFuYWx5dGljczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3Byb2R1Y3RfaG9zdGluZyIgaHJlZj0iLy92aW1lby5jb20vZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3RpbmciIHRpdGxlPSJIb3N0aW5nIGFuZCBtYW5hZ2VtZW50Ij5Ib3N0aW5nICYgbWFuYWdlbWVudDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwZ3JhZGUiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duLS1jb21wYXJlX3BsYW5zIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6Y29tcGFyZV9wbGFuc3x0YXJnZXQ6L3VwZ3JhZGV8dHlwZTpjbGljayI+Q29tcGFyZSBQbGFuczwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3Bfc29sdXRpb25zLS1zZXJ2aWNlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bi0tbGFiZWxzIj5TRVJWSUNFUzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3NvbHV0aW9ucy0tc2VydmljZXNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2VzX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZXx0YXJnZXQ6L2NyZWF0ZXx0eXBlOmNsaWNrIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3Bfc29sdXRpb25zLS1zZXJ2aWNlc19ibG9jayIgaHJlZj0iLy92aW1lby5jb20vY3JlYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1ha2Ugc29jaWFsIHZpZGVvcyBpbiBhbiBpbnN0YW50OiB1c2UgY3VzdG9tIHRlbXBsYXRlcyB0byB0ZWxsIHRoZSByaWdodCBzdG9yeSBmb3IgeW91ciBidXNpbmVzcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlc193cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZXx0YXJnZXQ6L2Zvci1oaXJlfHR5cGU6Y2xpY2siIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9zb2x1dGlvbnMtLXNlcnZpY2VzX2Jsb2NrIiBocmVmPSIvL3ZpbWVvLmNvbS9mb3ItaGlyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvciBIaXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlBvc3Qgam9icywgZmluZCBwcm9zLCBhbmQgY29sbGFib3JhdGUgY29tbWlzc2lvbi1mcmVlIGluIG91ciBwcm9mZXNzaW9uYWwgbWFya2V0cGxhY2UuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXNfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW50ZXJwcmlzZXx0YXJnZXQ6L2VudGVycHJpc2V8dHlwZTpjbGljayIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3NvbHV0aW9ucy0tc2VydmljZXNfYmxvY2siIGhyZWY9Ii8vdmltZW8uY29tL2VudGVycHJpc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlcnByaXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkdldCB5b3VyIHRlYW0gYWxpZ25lZCB3aXRoIGFsbCB0aGUgdG9vbHMgeW91IG5lZWQgb24gb25lIHNlY3VyZSwgcmVsaWFibGUgdmlkZW8gcGxhdGZvcm0uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXNfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6c3RvY2t8dGFyZ2V0Oi9zdG9ja3x0eXBlOmNsaWNrIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3Bfc29sdXRpb25zLS1zZXJ2aWNlc19ibG9jayIgaHJlZj0iLy92aW1lby5jb20vc3RvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Ccm93c2UgYW5kIGJ1eSBleGNlcHRpb25hbCwgcm95YWx0eS1mcmVlIHN0b2NrIGNsaXBzLCBoYW5kcGlja2VkIGJ5IHRoZSBiZXN0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24gdG9wbmF2X2ljb25fY2hldnJvbl9hIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpzb2x1dGlvbnMiIGhyZWY9IiMiIHRpdGxlPSJTb2x1dGlvbnMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24iIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiIGhyZWY9Ii8vdmltZW8uY29tL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIgdGl0bGU9IkFsbCB5b3UgbmVlZCB0byBtYWtlIGdyZWF0IHZpZGVvLiI+Q3JlYXRpdmUgUHJvZmVzc2lvbmFsczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIgaHJlZj0iLy92aW1lby5jb20vc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyIgdGl0bGU9IkNhcHR1cmUgeW91ciBjdXN0b21lcnPigJkgYXR0ZW50aW9uIHdpdGggdmlkZW8uIj5TbWFsbCBCdXNpbmVzczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbnRlcnByaXNlIiBocmVmPSIvL3ZpbWVvLmNvbS9lbnRlcnByaXNlIiB0aXRsZT0iRW50ZXJwcmlzZSI+RW50ZXJwcmlzZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplZHVjYXRpb24iIGhyZWY9Ii8vdmltZW8uY29tL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIiB0aXRsZT0iU2hhcmUga25vd2xlZGdlIHdpdGggdmlkZW8uIj5FZHVjYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6Zml0bmVzcyIgaHJlZj0iLy92aW1lby5jb20vc29sdXRpb25zL2ZpdG5lc3Mtc29sdXRpb25zIiB0aXRsZT0iR2V0IHlvdXIgZml0bmVzcyBzdHVkaW8gb25saW5lLiI+Rml0bmVzczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmYWl0aCIgaHJlZj0iLy92aW1lby5jb20vc29sdXRpb25zL2ZhaXRoLXNvbHV0aW9ucyIgdGl0bGU9IktlZXAgeW91ciBjb21tdW5pdHkgY29ubmVjdGVkLiI+RmFpdGg8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMiIGRhdGEtbWVudS1pZD0iaW5zcGlyYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC50YXJnZXQuYmx1cigpOyIgY2xhc3M9InRvcG5hdl9tZW51X25vX2xpbmsgdG9wbmF2X2hhc19kcm9wZG93biB0b3BuYXZfaWNvbl9jaGV2cm9uX2EiIGhyZWY9IiMiIHRpdGxlPSJXYXRjaCIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfaW5zcGlyYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24iIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X2luc3BpcmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDp3YXRjaCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2xpY2siIGhyZWY9Ii8vdmltZW8uY29tL3dhdGNoIiB0aXRsZT0iRXhwbG9yZSI+RXhwbG9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOnN0YWZmX3BpY2tzIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl93YXRjaF9zdGFmZl9waWNrc19jbGljayIgaHJlZj0iLy92aW1lby5jb20vY2hhbm5lbHMvc3RhZmZwaWNrcyIgdGl0bGU9IlRoZSBiZXN0IHZpZGVvcyBvbiBWaW1lbywgY3VyYXRlZCBkYWlseSBieSBvdXIgdGVhbSI+U3RhZmYgUGlja3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bWFuYWdlX3ZpZGVvc3xrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY3JlYXRlX3ZpZGVvX3NjaG9vbF9jbGljayIgaHJlZj0iLy92aW1lby5jb20vdmlkZW9zY2hvb2wiIHRpdGxlPSJMZWFybiBob3cgdG8gbWFrZSBiZXR0ZXIgdmlkZW9zIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9uYXY+PCEtLSAvLnRvcG5hdl9kZXNrdG9wX21lbnUgLS0+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfbWVudV9zZWFyY2hfb21uaXNlYXJjaCIgY2xhc3M9InRvcG5hdl9tZW51X3NlYXJjaCIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbignJykiPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX2J1dHRvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2J1dHRvbiBpcmlzX2J0bi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfc3Bhbl93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJyZWNvcmRfYW5pbWF0aW9uX3dyYXBwZXIiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX3NwYW5fdmFyaWFudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGlkPSJuZXdfdmlkZW9fZHJvcGRvd25fdmFyaWFudCIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gdG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9kcm9wZG93bl92YXJpYW50IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBhZGRpbmc6IHVuc2V0OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siIGlkPSJ0b3BuYXZfZGVza3RvcF91cGxvYWRfYnV0dG9uIiBocmVmPSIvL3ZpbWVvLmNvbS91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2ljb25zIj48c3ZnIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xOCA4LjQ4YTcuMTYgNy4xNiAwIDAgMC0xLjg0LTQuNzZBNS44MSA1LjgxIDAgMCAwIDYuOTIgNWE1LjI0IDUuMjQgMCAwIDAtNC42OSAzLjg1QTQuOTEgNC45MSAwIDAgMCAwIDEzYTUuMTMgNS4xMyAwIDAgMCA1IDVoMTBhNS4xIDUuMSAwIDAgMCA1LTQuOTQgNS44OSA1Ljg5IDAgMCAwLTItNC41OHpNMTUgMTZoLTR2LTMuNTlsMS4yOSAxLjI5IDEuNDEtMS40MS0zLjctMy43LTMuNzEgMy43TDcuNyAxMy43IDkgMTIuNDFWMTZINWEzLjE2IDMuMTYgMCAwIDEtMy0zIDIuOTEgMi45MSAwIDAgMSAxLjUyLTIuNThsLjQtLjIuMDgtLjQ0QTMuMzggMy4zOCAwIDAgMSA3LjU5IDdoLjdsLjI0LS42NkEzLjY5IDMuNjkgMCAwIDEgMTIgNGEzLjczIDMuNzMgMCAwIDEgMi43MiAxLjEyQTUuNDUgNS40NSAwIDAgMSAxNiA5di41NGwuNDUuM0EzLjc5IDMuNzkgMCAwIDEgMTggMTMuMDYgMy4wOSAzLjA5IDAgMCAxIDE1IDE2eiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVcGxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J2NyZWF0ZSd9fHRhcmdldDovY3JlYXRlL3ZpZGVvLW1ha2VyfHR5cGU6Y2xpY2siIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvL3ZpbWVvLmNvbS9jcmVhdGUvdmlkZW8tbWFrZXIiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2ljb25zIj48c3ZnIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMy4yIDE2LjhsMy44LTEgMTAtMTBjLjItLjIuMi0uNSAwLS43TDE0LjkgM2MtLjItLjItLjUtLjItLjcgMGwtMi4xIDIuMSAyLjggMi44TDEzLjggOSAxMSA2LjIgNC4yIDEzbC0xIDMuOHptOS45LTE0LjljLjgtLjggMi0uOCAyLjggMEwxOC4xIDRjLjguOC44IDIgMCAyLjhMNy44IDE3LjJsLTUuNiAxLjVjLS41LjEtLjktLjItLjctLjdsMS40LTUuN0wxMy4xIDEuOXoiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGEgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXYiIGNsYXNzPSJ0b3BuYXZfY2FydF9idXR0b24iPjwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+PCEtLSAvLnRvcG5hdl9tZW51X3JpZ2h0IC0tPgogICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X2Rlc2t0b3Bfd3JhcHBlciAtLT4KPC9kaXY+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgaXNNb2JpbGUgPSAvaXBob25lfGlwb2R8YW5kcm9pZHx3ZWJvc3xibGFja2JlcnJ5fHdpbmRvd3MgcGhvbmUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSk7CgogICAgICAgIC8vIERPIE5PVCBSRU1PVkUuIFRoaXMgaXMgYSBjYWxsYmFjayBmb3IgdGhlIGxvZ2luICYgam9pbiBidXR0b25zIGluIFRvcE5hdkJ1aWxkZXIuCiAgICAgICAgZnVuY3Rpb24gY29tcGxldGVVc2VyTG9naW4ocmVzcG9uc2UpIHsKICAgICAgICAgICAgaWYgKHJlc3BvbnNlICYmICFyZXNwb25zZS5zaWdudXApIHsKICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBoYW5kbGVVcGxvYWRCdXR0b25DbGljayhldmVudCkgewogICAgICAgICAgICAvLyBPcGVucyB0aGUgYXV0aCBtb2RhbCBmb3IgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uY29uZmlnCiAgICAgICAgICAgICAgICYmIHdpbmRvdy52aW1lby5Nb2RhbAogICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICd4c21hbGwnLAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcvam9pbj9tb2RhbD1uZXcmcmVkaXJlY3Q9L3VwbG9hZCcsCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgPC9zY3JpcHQ+Cgo8c2NyaXB0PgogICAgdmFyIHNlcnZpY2VFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZXJ2aWNlc193cmFwcGVyJyk7CiAgICB2YXIgaGlkZGVuU2VydmljZUVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNlcnZpY2VzX3dyYXBwZXIuaGlkZScpOwogICAgdmFyIGNvdW50ID0gc2VydmljZUVsZW1lbnRzLmxlbmd0aCAtIGhpZGRlblNlcnZpY2VFbGVtZW50cy5sZW5ndGg7CiAgICBpZiAoY291bnQgPiAyKSB7CiAgICAgICAgdmFyIHNlcnZpY2VDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudG9wbmF2X2Rlc2t0b3Bfc29sdXRpb25zLS1zZXJ2aWNlc19jb250YWluZXInKTsKICAgICAgICBpZiAoc2VydmljZUNvbnRhaW5lcikgewogICAgICAgICAgICBzZXJ2aWNlQ29udGFpbmVyLnN0eWxlLndpZHRoID0gJzQ1MHB4JzsKICAgICAgICB9CiAgICB9Cjwvc2NyaXB0PgoKPHNjcmlwdD4KICAgIGZ1bmN0aW9uIGhhbmRsZU5ld1ZpZGVvQ2xpY2soKSB7CiAgICAgICAgaWYgKHdpbmRvdy52aW1lbyAmJiB3aW5kb3cudmltZW8uY3VyX3VzZXIpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSAhPT0gJy91cGxvYWQnKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvdXBsb2FkJzsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHdpbmRvdy52aW1lby5Nb2RhbC5jcmVhdGUoeyBzaXplOiAneHNtYWxsJywgY29udGVudDogJy9qb2luP21vZGFsPW5ldyZyZWRpcmVjdD0vdXBsb2FkJyB9KQogICAgICAgICAgICAgICAgLnRoZW4oY29tcGxldGVVc2VyTG9naW4pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGUsIGlzUmVjb3JkU2NyZWVuID0gZmFsc2UpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIpIHsKICAgICAgICAgICAgaWYgKCFpc1JlY29yZFNjcmVlbikgewogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICd4c21hbGwnLAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcvam9pbj9tb2RhbD1uZXcmcmVkaXJlY3Q9L2NyZWF0ZS92aWRlby1tYWtlcicKICAgICAgICAgICAgICAgIH0pLnRoZW4oY29tcGxldGVVc2VyTG9naW4pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHRyYWNrTmV3VmlkZW9Ecm9wZG93bkltcHJlc3Npb24ocmVjb3JkT3B0aW9uKSB7CiAgICAgICAgaWYgKHdpbmRvdy5fX2ZhKSB7CiAgICAgICAgICAgIHdpbmRvdy5fX2ZhLnB1c2goWyd0cmFja0V2ZW50JywgewogICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgY29udGFpbmVyOiAndG9wX25hdicsCiAgICAgICAgICAgICAgICBjb21wb25lbnQ6ICduZXdfdmlkZW8nLAogICAgICAgICAgICB9XSk7CgogICAgICAgICAgICBpZiAocmVjb3JkT3B0aW9uKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiAndG9wX25hdicsCiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiAncmVjb3JkJywKICAgICAgICAgICAgICAgICAgICBrZXl3b3JkOiByZWNvcmRPcHRpb24sCiAgICAgICAgICAgICAgICB9XSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cjwvc2NyaXB0PgoKPHNjcmlwdD4KICAgIC8qKgogICAgICogVGhpcyBpcyBwYXJ0IG9mIGFuIEFCIEV4cGVyaW1lbnQKICAgICAqIEV4cGVyaW1lbnQgbGluazogaHR0cHM6Ly92aW1lby5jb20vbW9kd29ybGQvYWJsaW5jb2xuLzUyOAogICAgICogRXhwZXJpbWVudCBwYXJhbTogc2hvd19teV9kcmFmdHMKICAgICAqLwogICAgdmFyIHNob3dWYXJpYW50ID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzaG93TXlEcmFmdHM7CiAgICAgICAgaWYgKHdpbmRvdy5BQkxpbmNvbG4gJiYgd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5Ub3BuYXYuTXlEcmFmdHMnKS5nZXQoJ3Nob3dfbXlfZHJhZnRzJywgJ2NvbnRyb2wnKSA9PT0gJ3ZhcmlhbnQnKSB7CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXYtbWFuYWdlLWRyYWZ0cycpLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTsKICAgICAgICB9CiAgICB9OwogICAgc2hvd1ZhcmlhbnQoKTsKPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgLS0+CjxuYXYgaWQ9InRvcG5hdl9tb2JpbGUiIGNsYXNzPSJ0b3BuYXZfbW9iaWxlICAgIG5hdl9iYXItLWxpIiByb2xlPSJiYW5uZXIiPgoKICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfYmFyIj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGRhdGEtYWN0aW9uPSJtZW51Lm9wZW4iIGNsYXNzPSJuYXZiYXJfaGFtYnVyZ2VyIG5hdl9iYXJfaWNvbiB0b3BuYXZfbW9iaWxlX2J1dHRvbiB0b3BuYXZfbW9iaWxlX3B1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9sb2dvIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgICAgICAgICAgICAgICA8dGl0bGU+TWVudTwvdGl0bGU+CiAgICAgICAgICAgICAgICA8cGF0aCBpZD0iUmVjdGFuZ2xlLTQiIGQ9Ik03LDhIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN0ExLDEsMCwwLDEsNiw5SDZBMSwxLDAsMCwxLDcsOFoiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywxNUgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywxNVoiLz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03LDIySDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdhMSwxLDAsMCwxLTEtMUg2QTEsMSwwLDAsMSw3LDIyWiIvPgogICAgICAgICAgICA8L3N2Zz4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9hY3Rpb25fYnV0dG9ucyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3ZpbWVvLmNvbS9zZWFyY2giIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2J1dHRvbiB0b3BuYXZfbW9iaWxlX3B1bGxfcmlnaHQgdG9wbmF2X21vYmlsZV9oZWFkZXJfc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJuYXZfYmFyX3NlYXJjaF9pY29uIG5hdl9iYXJfaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGl0bGU+U2VhcmNoPC90aXRsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI2Ljc0LDI1LjMybC00LjUzLTQuNTNhMSwxLDAsMCwwLS4yMS0uMTRBOSw5LDAsMSwwLDIwLjY1LDIyYTEsMSwwLDAsMCwuMTQuMjFsNC41Myw0LjUzYTEsMSwwLDAsMCwxLjQxLTEuNDFaTTE1LDIyYTcsNywwLDEsMSw3LTdBNyw3LDAsMCwxLDE1LDIyWiIvPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdl9tb2JpbGUiIGNsYXNzPSJ0b3BuYXZfY2FydF9idXR0b24iPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBWaW1lbyBMb2dvIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZfYmFyX3RpdGxlIGpzLW5hdl9iYXJfdGl0bGUiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20iIGd0bS1kYXRhLWNsaWNrPSJtb2JpbGVfbmF2X2hvbWVfbG9nb19jbGljayI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ0MSAxMjQuNjgyIiB3aWR0aD0iODZweCIgaGVpZ2h0PSIyN3B4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzQuMDc5LDUwLjE2Yy01LjMxOS02LjkyNS0xMy4xNDUtMTAuMzk1LTIzLjQ3NS0xMC4zOTVjLTE2LjA5NywwLTI5LjQ1NSw1Ljg5Ni00MC4wODMsMTcuNjg4Yy05LjkwMiwxMC42MTQtMTQuNDc4LDIyLjI2NS0xMy43MzMsMzQuOTQ0YzAuMDQ5LDAuOTMyLDAuMTMyLDEuODQsMC4yMjksMi43MzhjLTAuNTU0LDAuMjQxLTEuMDkzLDAuNDgzLTEuNjYyLDAuNzI0Yy0xMi41NTYsNS40MTEtMjQuMTQ3LDguMTEtMzQuNzc1LDguMTFjLTUuMzIsMC05LjMwNy0xLjgzOS0xMS45Ni01LjUyMWMxNC4zMTYtMi4zNTUsMjYuMjA2LTcuODc2LDM1LjY2Mi0xNi41NjhjOC44NTQtNy45NTUsMTIuOTg5LTE1LjY4OSwxMi40LTIzLjE5N2MtMC44ODctMTEuNzgtOC41NjItMTcuNjc2LTIzLjAzNC0xNy42NzZjLTE1LjY1LDAtMjkuMjM1LDUuOTA5LTQwLjc1LDE3LjcxNGMtMTAuNDg0LDEwLjc4My0xNS44MDUsMjIuMTQ4LTE1Ljk0NywzNC4xMDNjLTAuMDQsMi4wMDUsMC4wNjYsMy45MzIsMC4zLDUuNzg5Yy0yLjQ3NywxLjYzMi00LjM1MiwyLjQ1Ni01LjYxMywyLjQ1NmMtMi44MSwwLTQuNTc2LTAuNTgyLTUuMzE0LTEuNzZjLTAuNzM3LTEuMTc4LTEuMDM1LTMuMzA4LTAuODg3LTYuNDAxYzAtMS4xNzgsMC45MTktNS42OTUsMi43NzEtMTMuNTY1YzEuODQ1LTcuODcsMi44NDEtMTMuODY0LDIuOTktMTcuOTg3YzAuMjkxLTYuMDI1LTAuODk0LTEwLjY2LTMuNTQ3LTEzLjg5NmMtMy4xMDEtMy45NzQtOC4xOTQtNS42NjMtMTUuMjgxLTUuMDc0Yy01LjkwMiwwLjQ0Ny0xMS41OTIsMi42Ni0xNy4wNTQsNi42NDdjLTMuMjQ5LDIuMzYzLTYuNTY5LDUuNTM0LTkuOTYxLDkuNTIxYy0xLjE4NSwxLjAzNi0yLjI5MSwyLTMuMzI3LDIuODhjMC4xNDMtNi4wNTEtMS4wMzYtMTAuNzA1LTMuNTQtMTMuOTU0Yy0zLjEwNy0zLjk4Ny04LjI3Mi01LjY4My0xNS41MDgtNS4wOTRjLTguNDE1LDAuNzM4LTE2LjAyLDQuMDY1LTIyLjgwOSw5Ljk2N2MtMi45NTgsMi41MTEtNS41NCw1LjQ2OS03Ljc1Myw4Ljg2MWMwLjI5MS0xLjMyNywwLjQ0LTIuNzMxLDAuNDQtNC4yMDdjMC00LjU3Ni0xLjE4NS04LjYwMi0zLjU0Ny0xMi4wNzFzLTUuNDYyLTUuMDU1LTkuMzAxLTQuNzU3Yy0yLjIxMywwLjE0OS02LjQyLDMuMTAxLTEyLjYyMSw4Ljg1NGMtOC41NjksNy45NzQtMTMuMjE2LDEyLjI1OS0xMy45NTQsMTIuODQxbDUuMzEzLDUuOThjNC4xMzYtMi45ODQsNi42NDctNC40NzksNy41MzQtNC40NzljMS42MTgsMCwyLjI4NSwxLjMyNywxLjk5NCwzLjk3NWMtMC4xNDMsMy44MzEtMC44MjIsOS4xNjQtMi4wMzksMTYuMDEyYy0wLjc1NCw0LjI0My0xLjI5OCw3LjkwNC0xLjYzOCwxMC45ODhjLTAuMDY2LDAuMDU1LTAuMTI5LDAuMTA5LTAuMTk2LDAuMTY0Yy01LjMyLDQuMzc1LTkuMDA5LDYuNTU2LTExLjA3NCw2LjU1NmMtNC43MjUsMC03LjAxNi0zLjE1OC02Ljg2Ny05LjQ4OGMyLjIxMy0xMy44MjQsNC4yODUtMjUuMjIyLDYuMjA3LTM0LjE5OWMwLjU4My01LjI5NC0wLjI2Ni05LjU5Mi0yLjU1LTEyLjkwNmMtMi4yOTEtMy4zMTQtNS44Ny00Ljc0NC0xMC43MzctNC4zMDRjLTMuMTA3LDAuMjk4LTcuODMyLDMuMjQ5LTE0LjE4MSw4Ljg2Yy0yLjIwNSwyLTQuNDEsMy45OTYtNi42MTUsNS45OTNjLTAuNDM3LTEwLjQ0Ny01LjIwNC0xNS44MjItMTQuMzI5LTE2LjA5Yy0xMy42NjktMC40NC0yMi45MzEsNy4yNzUtMjcuNzc5LDIzLjE1OGMyLjUwNC0xLjA3NCw0LjkzOC0xLjYxOCw3LjMwMS0xLjYxOGM1LjAxNiwwLDcuMjI5LDIuODIyLDYuNjQsOC40NTNjLTAuMjk3LDMuNDExLTIuNTExLDguMzc1LTYuNjQsMTQuODk5Yy00LjEzNiw2LjUyMy03LjIzNiw5Ljc4Ni05LjMwMSw5Ljc4NmMtMi42NiwwLTUuMDk0LTUuMDIzLTcuMzA3LTE1LjA4MWMtMC43NDUtMi45NTEtMi4wNzEtMTAuNDkxLTMuOTg3LTIyLjYxNGMtMS43NzMtMTEuMjM2LTYuNDk5LTE2LjQ4NS0xNC4xNzQtMTUuNzQ3Yy0zLjI0OSwwLjI5OC04LjEyMywzLjI0OS0xNC42MTQsOC44NkM5LjY2OSw1My4zMTgsNC44NjcsNTcuNTk3LDAsNjEuODc1bDQuNjQxLDUuOThjNC40Mi0zLjA5NCw3LjAwMy00LjY0Nyw3Ljc0MS00LjY0N2MzLjM4NSwwLDYuNTUsNS4zMTMsOS41MDEsMTUuOTI5YzIuNjUzLDkuNzMzLDUuMzA3LDE5LjQ2OCw3Ljk2MSwyOS4yMDJjMy45NzQsMTAuNjIxLDguODQxLDE1LjkyOSwxNC41ODgsMTUuOTI5YzkuMjgxLDAsMjAuNjI3LTguNzE5LDM0LjAzOC0yNi4xNTRDODcuODkyLDg1Ljk4Nyw5My45OSw3NS43NCw5Ni44LDY3LjM1NGMzLjcyLTIuNzQ4LDYuMDE4LTQuMTQ2LDYuODUzLTQuMTQ2YzIuNjUzLDAsMy45ODcsMS45MjIsMy45ODcsNS43NTRjMCwwLjczOC0xLjQ0Myw2LjItNC4zMjQsMTYuMzgxYy0yLjg4LDEwLjE4Mi00LjM5NSwxNy43MDktNC41MzcsMjIuNTc1Yy0wLjE0OSw0LjcyNiwwLjk5Nyw4LjU1NywzLjQzLDExLjUwOGMyLjQzNCwyLjk1Miw1Ljk0MSw0LjQyOCwxMC41MjQsNC40MjhjOS44OSwwLDE5Ljc3OS00LjI3OCwyOS42NzUtMTIuODM1YzAuODgxLTAuNzcyLDEuNzM4LTEuNTU3LDIuNTczLTIuMzUyYzAuNzgzLDMuMzEyLDIuMTI0LDYuMDQ1LDQuMDcsOC4xNWM0LjI1OSw0LjU2OSwxMS40NTYsNi43MDYsMjEuNTkyLDYuNDA4Yy0xLjM1My0zLjI0OS0xLjg4NC05LjAwMy0xLjU4Ni0xNy4yNzRjMC40NC05LjE1MiwyLjgwOS0xNy45NDEsNy4wOTQtMjYuMzU1czguMjc4LTEyLjYyNywxMS45OC0xMi42MjdjNC4yODUsMCw2LjI4NSwyLjczMSw1Ljk4Nyw4LjE5M2MtMC4xNDksMy42OTYtMC44NzQsNy45MDMtMi4xNzUsMTIuNjI4Yy0xLjMwNyw0LjcyNS0yLjAzMiw5LjQ0OS0yLjE3NCwxNC4xNzRjLTAuMjk4LDcuNTM0LDEuMzkyLDEyLjkxOSw1LjA4MSwxNi4xNjhjNC4xMTYsMy42ODksMTEuMzM0LDUuMzkyLDIxLjYzOCw1LjA5NGMtMS41NDEtMy4zOTItMi4xNjItOC4yNjYtMS44NjQtMTQuNjIxYzAuNDQtOS4wMDMsMy40ODItMTguMzA0LDkuMTEzLTI3LjkwMmM1LjMzMy05LjE1MSw5LjkyMi0xMy43MzMsMTMuNzcyLTEzLjczM2MzLjU2LDAsNS4yNjMsMi44MDksNS4xMTMsOC40MTRjLTAuMTQ4LDMuNjg4LTEuMDc0LDguODU0LTIuNzcxLDE1LjQ5NGMtMS42OTUsNi42NDEtMi42MjEsMTIuMzE2LTIuNzY0LDE3LjA0MWMtMC4yOTcsMTAuNjI4LDQuMzUsMTUuOTM2LDEzLjk1NSwxNS45MzZjOS44ODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjE2NC0wLjE0NCwwLjMxNi0wLjI5MywwLjQ3OS0wLjQzOGMwLjM0LDAuNTg2LDAuNjg4LDEuMTY4LDEuMDY4LDEuNzMyYzUuMTY1LDcuOTY3LDEzLjczNCwxMS45NTQsMjUuNjk1LDExLjk1NGMxNi4wOSwwLDMxLjk2Ni00LjQ5Miw0Ny42MTYtMTMuNDg4YzEuNzU2LTAuOTksMy40MjItMS45NzksNS4wMTctMi45N2MwLjk4NiwxLjk5MSwyLjEzOCwzLjg2NiwzLjUwMiw1LjU5MWM2LjA1Miw3LjUyMSwxNC45MTIsMTEuMjgxLDI2LjU3NSwxMS4yODFjMTQuMDI1LDAsMjUuNzY3LTQuOTM4LDM1LjIxNi0xNC44MTVjOS40NDktOS44NzYsMTQuNDY2LTIxLjU5OCwxNS4wNjEtMzUuMTYzQzQ0MS4zODcsNjQuNjg0LDQzOS4xMDIsNTYuNTAzLDQzNC4wNzksNTAuMTZ6IE0zMDUuMTE4LDkwLjAwM2MtMC4wODQtMS45MDktMC4wODQtMi44NjcsMC0yLjg2N2MwLjE0My01LjU3OSwyLjUwNS0xMS40MTcsNy4wNzQtMTcuNTE0czkuMDYyLTkuMTQ2LDEzLjQ4OC05LjE0NmMzLjM5MiwwLDUuMDEsMS45ODcsNC44NjcsNS45NDhjLTAuMTQ5LDIuOTM4LTIuMzYyLDYuNzY0LTYuNjM0LDExLjQ2MkMzMTguNjA2LDgzLjMyNCwzMTIuMzQxLDg3LjM2MiwzMDUuMTE4LDkwLjAwM3ogTTQxNS45MTgsNzMuODY4Yy0wLjI5Nyw3LjEtMi40MzQsMTMuOTAyLTYuNDIsMjAuNDEzYy00LjcyNSw3Ljg0NS0xMC40MTQsMTEuNzYtMTcuMDU1LDExLjc2Yy0yLjk1OCwwLTUuMjQ5LTEuNjI0LTYuODY3LTQuODhjLTEuNDc2LTIuODA5LTIuMTQyLTYuMDY0LTEuOTkzLTkuNzY3YzAuMjkxLTcuNTQsMi41MDUtMTQuNjQsNi42NDctMjEuM2M0Ljg2Ni04LjEzNiwxMS4wNjctMTIuMjA3LDE4LjYwMS0xMi4yMDdjMi4zNTYsMCw0LjE2OCwxLjY3LDUuNDI0LDQuOTk3UzQxNi4wNjcsNjkuODc1LDQxNS45MTgsNzMuODY4eiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51IGpzLXRvcG5hdl9tb2JpbGVfbWVudV9tYWluIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgZGF0YS1ndG0tY2xpY2s9Im1vYmlsZV9uYXZfbWVudV9jbG9zZV9jbGljayIgY2xhc3M9Im1lbnVfY2xvc2UgcHVsbF9sZWZ0IGpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX2Nsb3NlIj4KICAgICAgICAgICAgICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjEwLjQ5cHgiCiAgICAgICAgICAgICAgICAJIGhlaWdodD0iMTAuNDlweCIgdmlld0JveD0iMCAwIDEwLjQ5IDEwLjQ5IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMC40OSAxMC40OTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogICAgICAgICAgICAgICAgPGcgaWQ9ImNsb3NlXzFfIj4KICAgICAgICAgICAgICAgIAk8Zz4KICAgICAgICAgICAgICAgIAkJPGcgaWQ9Ikdyb3VwXzFfIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2LjUwMDAwMCwgNi41MDAwMDApIj4KICAgICAgICAgICAgICAgIAkJCTxwYXRoIGlkPSJSZWN0YW5nbGUtNF8xXyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjsiIGQ9Ik0zLjY5LTYuMjFMMy42OS02LjIxYzAuMzksMC4zOSwwLjM5LDEuMDIsMCwxLjQxbC04LjQ5LDguNDkKICAgICAgICAgICAgICAgIAkJCQljLTAuMzksMC4zOS0xLjAyLDAuMzktMS40MSwwbDAsMGMtMC4zOS0wLjM5LTAuMzktMS4wMiwwLTEuNDFsOC40OS04LjQ5QzIuNjctNi42LDMuMy02LjYsMy42OS02LjIxeiIvPgogICAgICAgICAgICAgICAgCQkJPHBhdGggc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjsiIGQ9Ik0tNi4yMS02LjIxTC02LjIxLTYuMjFjMC4zOS0wLjM5LDEuMDItMC4zOSwxLjQxLDBsOC40OSw4LjQ5YzAuMzksMC4zOSwwLjM5LDEuMDIsMCwxLjQxbDAsMAogICAgICAgICAgICAgICAgCQkJCWMtMC4zOSwwLjM5LTEuMDIsMC4zOS0xLjQxLDBsLTguNDktOC40OUMtNi42LTUuMTgtNi42LTUuODItNi4yMS02LjIxeiIvPgogICAgICAgICAgICAgICAgCQk8L2c+CiAgICAgICAgICAgICAgICAJPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgZGF0YS1hY3Rpb249Im1lbnUuc2V0dGluZ3Mub3BlbiIKICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X3NldHRpbmdzX2NsaWNrIgogICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c2V0dGluZ3MiCiAgICAgICAgICAgICAgICBjbGFzcz0ibWVudV9zZXR0aW5ncyBwdWxsX3JpZ2h0IGpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX3NldHRpbmdzIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxOC44NnB4IgogICAgICAgICAgICAgICAgCSBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJnZWFyXzFfIj4KICAgICAgICAgICAgICAgIAk8Zz4KICAgICAgICAgICAgICAgIAkJPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgCQkJPGcgaWQ9Ikdyb3VwLTEwXzFfIj4KICAgICAgICAgICAgICAgIAkJCTwvZz4KICAgICAgICAgICAgICAgIAkJPC9nPgogICAgICAgICAgICAgICAgCQk8cGF0aCBpZD0iQ29tYmluZWQtU2hhcGVfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7IiBkPSJNMTIsNC41OGwtMC41Ny0wLjI3VjEuOTljMC0wLjU0LTAuNDUtMC45OS0xLTAuOTloLTJjLTAuNTUsMC0xLDAuNDUtMSwwLjk5djIuMzEKICAgICAgICAgICAgICAgIAkJCUw2Ljg2LDQuNThjLTAuMjksMC4xNC0wLjU3LDAuMy0wLjg0LDAuNDhMNS41LDUuNDJMMy40OSw0LjI2QzMuMDIsMy45OSwyLjQxLDQuMTYsMi4xNCw0LjYzbC0xLDEuNzQKICAgICAgICAgICAgICAgIAkJCUMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgIAkJCWMtMC40NywwLjI3LTAuNjMsMC44OC0wLjM2LDEuMzZsMSwxLjc0YzAuMjcsMC40OCwwLjg5LDAuNjQsMS4zNiwwLjM3bDIuMDEtMS4xNmwwLjUyLDAuMzZjMC4yNywwLjE4LDAuNTUsMC4zNSwwLjg0LDAuNDgKICAgICAgICAgICAgICAgIAkJCWwwLjU3LDAuMjd2Mi4zMWMwLDAuNTQsMC40NSwwLjk5LDEsMC45OWgyYzAuNTUsMCwxLTAuNDUsMS0wLjk5di0yLjMxTDEyLDE1LjQyYzAuMjktMC4xNCwwLjU3LTAuMywwLjg0LTAuNDhsMC41Mi0wLjM2CiAgICAgICAgICAgICAgICAJCQlsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgCQkJYzAuMDEtMC4xNiwwLjAyLTAuMzIsMC4wMi0wLjQ4cy0wLjAxLTAuMzItMC4wMi0wLjQ4bC0wLjA1LTAuNjNsMi4wMS0xLjE2YzAuNDctMC4yNywwLjYzLTAuODgsMC4zNi0xLjM2bC0xLTEuNzQKICAgICAgICAgICAgICAgIAkJCWMtMC4yNy0wLjQ4LTAuODktMC42NC0xLjM2LTAuMzdsLTIuMDEsMS4xNmwtMC41Mi0wLjM2QzEyLjU3LDQuODgsMTIuMjksNC43MiwxMiw0LjU4eiIvPgogICAgICAgICAgICAgICAgCQk8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgCTwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1icmVlemUtaWdub3JlIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmpvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGlkPSJqcy1qb2luLWxpbmsiIGhyZWY9Ii8vdmltZW8uY29tL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWVudV9pY29uX2pvaW4iIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMTYgMjAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE2IDIwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9ImpvaW4tbG9nLWluXzFfIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLThfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7IiBjeD0iOCIgY3k9IjUiIHI9IjQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPSJSZWN0YW5nbGUtMjVfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7IiBkPSJNMSwxOWgxNHYtM2MwLTIuMjEtMS43OS00LTQtNEg1Yy0yLjIxLDAtNCwxLjc5LTQsNFYxOXoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luIG9yIGxvZyBpbiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgIGlkPSJqcy1mZWF0dXJlcy1saW5rIiBjbGFzcz0iZmVhdHVyZXMtbGFiZWwiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJtZW51X2ljb25faG9zdCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZmVhdHVyZXNfMV8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0yXzFfIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgMi4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD0iUmVjdGFuZ2xlLThfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7IiBkPSJNMS0xaDEwYzEuMSwwLDIsMC45LDIsMnYxMGMwLDEuMS0wLjksMi0yLDJIMWMtMS4xLDAtMi0wLjktMi0yVjFDLTEtMC4xLTAuMS0xLDEtMXoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD0iUGF0aC01XzFfIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojRkZGRkZGOyIgZD0iTTMuNiwzLjUxYzAtMC41NSwwLjM5LTAuNzcsMC44Ni0wLjVsNC4yOCwyLjVjMC40NywwLjI4LDAuNDgsMC43MywwLDEuMDFMNC40Niw5LjA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMzLjk4LDkuMzYsMy42LDkuMTUsMy42LDguNTlMMy42LDMuNTF6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwXzFfIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjAwMDAwMCwgMy4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IlBhZ2UtMV8xXyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjsiIGQ9Ik0xMSwxNWMyLjIxLDAsNC0xLjc5LDQtNFYwYzAtMS4xMS0wLjktMi0yLTJ2MTNjMCwxLjEtMC45LDItMiwySC0yYzAsMS4xLDAuODksMiwyLDJIMTF6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZmVhdHVyZXNfdmlkZW9fcGxheWVyIiBocmVmPSIvL3ZpbWVvLmNvbS9mZWF0dXJlcy92aWRlby1wbGF5ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWVudV9pY29uX3VwbG9hZCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAyMCAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBwbGF5ZXIgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9mZWF0dXJlc19saXZlX3N0cmVhbWluZyIgaHJlZj0iLy92aW1lby5jb20vZmVhdHVyZXMvbGl2ZXN0cmVhbWluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJtZW51X2ljb25fdXBsb2FkIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDIwIDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMCAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpdmUgc3RyZWFtaW5nICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c3RvY2siICIgaHJlZj0iLy92aW1lby5jb20vc3RvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWVudV9pY29uX3VwbG9hZCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAyMCAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9jayB2aWRlb3MgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2ZlYXR1cmVzX3ByaXZhY3kiIGhyZWY9Ii8vdmltZW8uY29tL2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWVudV9pY29uX3VwbG9hZCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAyMCAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1icmVlemUtaWdub3JlIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6ZGlzdHJpYnV0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9mZWF0dXJlc19kaXN0cmlidXRpb24iIGhyZWY9Ii8vdmltZW8uY29tL2ZlYXR1cmVzL3ZpZGVvLW1hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJtZW51X2ljb25fdXBsb2FkIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDIwIDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMCAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RyaWJ1dGlvbiAmIE1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1icmVlemUtaWdub3JlIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6aG9zdGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZmVhdHVyZXNfaG9zdGluZyIgaHJlZj0iLy92aW1lby5jb20vZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3RpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWVudV9pY29uX3VwbG9hZCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAyMCAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0aW5nICYgTWFuYWdlbWVudCAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1icmVlemUtaWdub3JlIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6d2F0Y2giIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX3dhdGNoIiBpZD0ianMtaW5zcGlyYXRpb24tbGluayIgIGhyZWY9Ii8vdmltZW8uY29tL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im1lbnVfaWNvbl93YXRjaCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE0cHgiIHZpZXdCb3g9IjAgMCAyMCAxNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMTQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iaW5zcGlyYXRpb25fMV8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cF8xXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy4wMDAwMDAsIDYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9Ik92YWxfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kOyIgZD0iTTcsN2MzLjMxLDAsNi4zMS0yLDktNmMtMi42OS00LTUuNjktNi05LTZTMC42OS0zLTIsMUMwLjY5LDUsMy42OSw3LDcsN3oiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTJfMV8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7IiBjeD0iNyIgY3k9IjEiIHI9IjMiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnNwaXJhdGlvbiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1icmVlemUtaWdub3JlIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8a2V5d29yZDp1cGxvYWQiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3VwbG9hZF9jbGljayIgaWQ9ImpzLXVwbG9hZC1saW5rIiBocmVmPSIvL3ZpbWVvLmNvbS91cGxvYWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibWVudV9pY29uX3VwbG9hZCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAyMCAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0idXBsb2FkXzFfIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS4wMDAwMDAsIDEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD0iQ29tYmluZWQtU2hhcGVfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7IiBkPSJNMCwxMGMwLDIuMTcsMS45Niw0LDQsNGgxMGMyLjA0LDAsNC0xLjc2LDQtMy45NGMwLTEuNzktMC44LTMuMjgtMS45OS00LjA3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzE2LjAxLDEuNzksMTMuNDksMCwxMSwwQzkuMDgsMCw3LjI0LDEuMTksNi41OSwzQzMuODIsMy4wMSwyLjU3LDQuNzEsMi4wNyw2LjUyQzEuMDgsNy4wMiwwLDguMjYsMCwxMHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMV8iIHg9IjgiIHk9IjgiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7IiB3aWR0aD0iMiIgaGVpZ2h0PSI2Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlBhdGgtMTNfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7IiBwb2ludHM9IjYsMTAgOSw3IDEyLDEwICAgICAgICIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnVwZ3JhZGUiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X3VwZ3JhZGVfY2xpY2siIGlkPSAianMtdXBncmFkZS1saW5rIiBjbGFzcz0iIiBocmVmPSIvL3ZpbWVvLmNvbS91cGdyYWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im1lbnVfaWNvbl91cGdyYWRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQsN0gxNVY5aDYuNThMNy4yOSwyMy4yOWwxLjQxLDEuNDFMMjMsMTAuNDFWMTdoMlY4QTEsMSwwLDAsMCwyNCw3WiIgZmlsbD0iI2ZmZmZmZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBncmFkZSAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGpzLXRvcG5hdl9tb2JpbGVfbWVudV9zZXR0aW5ncyI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIgc3VibWVudSI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvcG5hdl9tb2JpbGVfYnV0dG9uIHRvcG5hdl9tb2JpbGVfcHVsbF9sZWZ0IGpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX3NldHRpbnNfY2xvc2UgdG9wbmF2X2ljb25fbW9iaWxlX2Fycm93bGVmdF9iIj4gPC9idXR0b24+CiAgICAgICAgICAgIDxoMSBjbGFzcz0idG9wbmF2X21vYmlsZV9oZWFkZXJfdGl0bGUgc3VibWVudSI+TW9yZSBzdHVmZjwvaDE+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDx1bCBjbGFzcz0ibWVudV9saXN0X3NldHRpbmdzX2xvZ2dlZF9vdXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iLy92aW1lby5jb20vdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iLy92aW1lby5jb20vcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFBvbGljeSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iLy92aW1lby5jb20vZG1jYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii8vdmltZW8uY29tL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvL3ZpbWVvLmNvbS9mYXEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFRICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvL3ZpbWVvLmNvbWhlbHAudmltZW8uY29tL2hjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgoKCiAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X2NvcHlyaWdodCI+VE0gKyDCqSAyMDIwIFZpbWVvLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gVG9nZ2xlIFNldHRpbmdzCiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9zZXR0aW5ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncycpOwogICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICB2YXIgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzX2Nsb3NlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX3NldHRpbnNfY2xvc2UnKTsKICAgICAgICAgICAgICAgIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9zZXR0aW5ncy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X21haW4uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CgogICAgICAgIH0sIGZhbHNlKTsKICAgIH07CgogICAgdmFyIG1vYmlsZUFsYnVtc0VsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9hbGJ1bXMnKTsKICAgIGlmIChtb2JpbGVBbGJ1bXNFbGUpIHsKICAgICAgICBtb2JpbGVBbGJ1bXNFbGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X2FsYnVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3QnKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5hZGQoJ29wZW4nKTsKCiAgICAgICAgICAgIC8vIENsb3NlCiAgICAgICAgICAgIHZhciBtb2JpbGVfYWxidW1zX2Nsb3NlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpzLXRvcG5hdl9tb2JpbGVfYWxidW1fbGlzdF9jbG9zZScpOwogICAgICAgICAgICBpZiAobW9iaWxlX2FsYnVtc19jbG9zZSkgewogICAgICAgICAgICAgICAgbW9iaWxlX2FsYnVtc19jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9hbGJ1bXMuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKCgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAvLyBVU0VSIE1FU1NBR0UKCiAgICAvLyBTaG93IG5vdGlmaWNhdGlvbiBpZiBpdCBpcyB0aGUgY2FzZQogICAgLy8gV2Ugd3JhcCB0aGlzIGluIGEgc2V0VGltZW91dCBzaW5jZSB0aGUgbm90aWZpY2F0aW9ucyBzaG91bGQKICAgIC8vIGhhdmUgYSBsb3dlciBwcmlvcml0eSBpbiB0ZXJtcyBvZiB2aXN1YWwgY29tcGFyZWQgdG8gb3RoZXIKICAgIC8vIGl0ZW1zIG9uIHRoZSBwYWdlLgogICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAvLyBET00gRWxlbWVudHMKICAgICAgICB2YXIgYXZhdGFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9tZW51X2F2YXRhcicpOwogICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGF2YXRhciB0aGVuIHN0b3AgaXQKICAgICAgICBpZiAoIWF2YXRhcikgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgYnViYmxlID0gYXZhdGFyLnF1ZXJ5U2VsZWN0b3IoJy50b3BuYXZfbWVudV9hdmF0YXJfYnViYmxlJyk7CiAgICAgICAgdmFyIGRyb3Bkb3duID0gYXZhdGFyLnF1ZXJ5U2VsZWN0b3IoJyN0b3BuYXZfdXNlcl9kcm9wZG93bicpOwogICAgICAgIC8vdmFyIG1lc3NhZ2UgPSBhdmF0YXIucXVlcnlTZWxlY3RvcignLnRvcG5hdl91c2VyX21lbnVfbWVzc2FnZScpOwogICAgICAgIC8vdmFyIGNsb3NlID0gYXZhdGFyLnF1ZXJ5U2VsZWN0b3IoJy50b3BuYXZfdXNlcl9tZW51X21lc3NhZ2VfY2xvc2UnKTsKICAgICAgICB2YXIgb25faG92ZXIgPSBmYWxzZTsKCiAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYnViYmxlIHRoZW4gc3RvcCBpdAogICAgICAgIGlmIChidWJibGUpIHsKICAgICAgICAgICAgYnViYmxlLmNsYXNzTGlzdC5hZGQoJ29uJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBBbmQgd2UgYXR0YWNoIGhpZGUgdGhlIGJ1YmJsZQogICAgICAgIGF2YXRhci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKG9uX2hvdmVyKSByZXR1cm47CgogICAgICAgICAgICBvbl9ob3ZlciA9IHRydWU7CgogICAgICAgICAgICBpZiAoYnViYmxlKSB7CiAgICAgICAgICAgICAgICBidWJibGUuY2xhc3NMaXN0LnJlbW92ZSgnb24nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU2F2ZSByZW1vdmVkIHN0YXRlIFsxIG1lYW5zIHRoZSB1c2VyIG9wZW4gdGhlIGRyb3Bkb3duXQogICAgICAgICAgICBzdG9yZV91c2VyX21lc3NhZ2Vfc2V0dGluZ3MoMSk7CgogICAgICAgIH0sIGZhbHNlKTsKCiAgICAgICAgLy8gU3RvcmUgc3RhdHVzIG9mIHVzZXIgbmF2IG1lc3NhZ2UgKGJ1YmJsZSBjbG9zZWQgWzFdLCBtZXNzYWdlIGhpZGRlbiBbMl0pCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfdXNlcl9tZXNzYWdlX3NldHRpbmdzKHZhbHVlKSB7CiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9uYXYnKTsKICAgICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ1gtUmVxdWVzdGVkLVdpdGgnLCAnWE1MSHR0cFJlcXVlc3QnKTsKICAgICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTsKICAgICAgICAgICAgeGhyLnNlbmQoJ21lc3NhZ2Vfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKCiAgICB9LCAxMDAwKTsKfSkod2luZG93LCBkb2N1bWVudCk7Cjwvc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndyYXBfY29udGVudCB2YXJpYW50LXYyIj4KICAgICAgICAgICAgICAgIAogICAgCiAgICAKICAgICAgICAKPGRpdiBjbGFzcz0iYXBwX2Jhbm5lcl9jb250YWluZXIiPgoKICAgIDxkaXYgY2xhc3M9ImFwcF9iYW5uZXIgaGlkZSBqcy1hcHBfYmFubmVyIGpzLWRlZXBsaW5rLWJyYW5jaCI+CgogICAgICAgIDxidXR0b24gY2xhc3M9ImFwcF9iYW5uZXJfY2xvc2UganMtYXBwX2Jhbm5lcl9jbG9zZSI+JnRpbWVzOzwvYnV0dG9uPgoKICAgICAgICA8ZGl2IGNsYXNzPSJhcHBfYmFubmVyX2ljb25fd3JhcHBlciI+CiAgICAgICAgICAgIDxzdmcgY2xhc3M9ImFwcF9iYW5uZXJfaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yNCA2LjY0M0MyNCAxMS4yODYgMTUgMjIgMTAuODc1IDIyIDYgMjIgNiA3LjcxNCAzLjAxMyA3LjcxNGMtLjM4OCAwLTEuODgzIDEuMDctMS44ODMgMS4wN0wwIDcuMzU4czUuMjUtNSA3LjUtNWM0LjUgMCAzIDEyLjUgNS42MjUgMTIuNSAxLjUgMCA2Ljc1LTcuODU3IDIuMjUtNy44NTctLjc1IDAtMS41LjM1Ny0xLjUuMzU3QzE1IDMuNzg3IDE3LjI1IDIgMjAuNjI1IDIgMjIuODc1IDIgMjQgMy43ODYgMjQgNi42NDN6Ii8+PC9zdmc+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImFwcF9iYW5uZXJfY3RhIj4KICAgICAgICAgICAgV2F0Y2ggaW4gb3VyIGFwcCAgICAgICAgPC9kaXY+CgogICAgICAgIDxhCiAgICAgICAgICAgIGNsYXNzPSJhcHBfYmFubmVyX2J1dHRvbiBqcy1hcHBfYmFubmVyX29wZW5fYXBwIgogICAgICAgICAgICBkYXRhLWRlZXAtbGluaz0idmlkZW9zLzEzNjk3MTQyOCIgICAgICAgICAgICBkYXRhLXNvdXJjZS1jb250ZXh0PSJjbGlwIiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXBwX2Jhbm5lcl9idXR0b25fdGV4dCI+T3BlbiBpbiBhcHA8L3NwYW4+CiAgICAgICAgPC9hPgoKICAgIDwvZGl2PgoKPC9kaXY+CgogICAgICAgIAogICAgICAgIAoKPHNjcmlwdD4KICAgIHdpbmRvdy52aW1lbyA9IHdpbmRvdy52aW1lbyB8fCB7fTsKCiAgICAKICAgIHdpbmRvdy52aW1lby5jbGlwX3BhZ2VfY29uZmlnID0geyJjbGlwIjp7ImlkIjoxMzY5NzE0MjgsInRpdGxlIjoiRGVhZmhlYXZlbiAtIFx1MjAxOE5ldyBCZXJtdWRhXHUyMDE5IFRyYWlsZXIiLCJkZXNjcmlwdGlvbiI6IjxwIGNsYXNzPVwiZmlyc3RcIj4mIzAzOTtOZXcgQmVybXVkYSwmIzAzOTsgdGhlIHVwY29taW5nIGFsYnVtIGZyb20gRGVhZmhlYXZlbiwgaXMgYXZhaWxhYmxlIE9jdG9iZXIgMm5kPFwvcD4iLCJ1cGxvYWRlZF9vbiI6IjIwMTUtMDgtMjEgMTc6Mzc6NDMiLCJ1cGxvYWRlZF9vbl9yZWxhdGl2ZSI6IjUgeWVhcnMgYWdvIiwidXBsb2FkZWRfb25fZnVsbCI6IkZyaWRheSwgQXVndXN0IDIxLCAyMDE1IGF0IDU6MzcgUE0gRVNUIiwiaXNfc3BhdGlhbCI6ZmFsc2UsImlzX2hkciI6ZmFsc2UsInByaXZhY3kiOnsiaXNfcHVibGljIjp0cnVlLCJ0eXBlIjoiYW55Ym9keSIsImRlc2NyaXB0aW9uIjoiUHVibGljIn0sImR1cmF0aW9uIjp7InJhdyI6NTksImZvcm1hdHRlZCI6IjAwOjU5In0sImlzX2xpa2VkIjpmYWxzZSwiaXNfdW5hdmFpbGFibGUiOmZhbHNlLCJsaWtlc191cmwiOiJcLzEzNjk3MTQyOFwvbGlrZXMiLCJpc19saXZlIjpmYWxzZSwidW5saXN0ZWRfaGFzaCI6bnVsbH0sIm93bmVyIjp7ImlkIjo4MTQzMTEsImRpc3BsYXlfbmFtZSI6IkFudGkgUmVjb3JkcyIsImhhc19hZHZhbmNlZF9zdGF0cyI6dHJ1ZSwiaXNfcHJvX2xhcHNlZCI6ZmFsc2UsImlzX3BhaWQiOnRydWUsImJhZGdlIjp7InR5cGUiOiJwcm8iLCJhbHRfdGV4dCI6IkxlYXJuIG1vcmUgYWJvdXQgVmltZW8gUFJPIiwidXJsIjoiXC9wcm8iLCJ0ZXh0IjoiUFJPIiwicHJpbWFyeV90YWciOiJzcGFuIiwiY2xhc3NOYW1lIjoiaXJpc19iYWRnZSBpcmlzX2JhZGdlLS1wcm8gYmFkZ2UgYmFkZ2UtLXBybyBiYWRnZV9wcm8iLCJndG1fY2xpY2tfZXZlbnQiOiJiYWRnZV9wcm9fY2xpY2siLCJmYXRhbF9hdHRyYWN0aW9uX2V2ZW50IjoiY29udGFpbmVyOmJhZGdlfGNvbXBvbmVudDp1cGdyYWRlX2xpbmt8a2V5d29yZDpwcm8ifSwicG9ydHJhaXQiOnsic3JjIjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC9wb3J0cmFpdFwvMTQ3OTAyNzZfNzV4NzUiLCJzcmNfMngiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3BvcnRyYWl0XC8xNDc5MDI3Nl8xNTB4MTUwIn0sImlzX21vZCI6ZmFsc2UsInVybCI6IlwvYW50aXJlY29yZHMiLCJ2ZXJpZmllZCI6dHJ1ZSwiaXNfZm9sbG93aW5nIjpmYWxzZSwiaXNfYXZhaWxhYmxlX2Zvcl9oaXJlIjpudWxsfSwib25kZW1hbmQiOm51bGwsImJyYW5kX2NoYW5uZWwiOm51bGwsImFwaV91cmwiOiJhcGkudmltZW8uY29tIiwiand0IjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SmxlSEFpT2pFMk1ETTVNRGt6T0RBc0luVnpaWEpmYVdRaU9tNTFiR3dzSW1Gd2NGOXBaQ0k2TlRnME56a3NJbk5qYjNCbGN5STZJbkIxWW14cFl5QnpkR0YwY3lJc0luUmxZVzFmZFhObGNsOXBaQ0k2Ym5Wc2JIMC5OaTJweUpaa3hycHM4YUx0QWdCdTRlVlZqQ1BuUHdaRlNNWk5HUlFxNGJJIiwiY2hhdCI6bnVsbCwiY3VyX3VzZXIiOm51bGwsInN0YXR1cyI6eyJzdGF0ZSI6InJlYWR5In0sImNvcHlyaWdodF9zdGF0dXMiOnsiaXNfYmxvY2tlZCI6ZmFsc2V9LCJjb250ZW50X2Jsb2NrX3N0YXR1cyI6eyJpc19ibG9ja2VkIjpmYWxzZSwibWVzc2FnZSI6bnVsbCwiY29udGludW91c19wbGF5X2VuYWJsZWQiOmZhbHNlLCJhbGxvd0J5cGFzcyI6dHJ1ZX0sInBsYXllciI6eyJjb25maWdfdXJsIjoiaHR0cHM6XC9cL3BsYXllci52aW1lby5jb21cL3ZpZGVvXC8xMzY5NzE0MjhcL2NvbmZpZz9hdXRvcGF1c2U9MSZieWxpbmU9MCZjb2xsZWN0aW9ucz0xJmNvbnRleHQ9VmltZW8lNUNDb250cm9sbGVyJTVDQ2xpcENvbnRyb2xsZXIubWFpbiZkZWZhdWx0X3RvX2hkPTEmb3V0cm89bm90aGluZyZwb3J0cmFpdD0wJnNoYXJlPTEmdGl0bGU9MCZ3YXRjaF90cmFpbGVyPTAmcz04OWM4NmE2ZTUxMGZhODQzY2I4ODI5NjliNTQwNTIwMjNmODg1MzlkXzE2MDM5MjM3MjciLCJwbGF5ZXJfdXJsIjoicGxheWVyLnZpbWVvLmNvbSIsImRpbWVuc2lvbnMiOnsiaGVpZ2h0Ijo1NDAsIndpZHRoIjo5NjB9LCJwb3N0ZXIiOnsidXJsIjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC92aWRlb1wvNTMxNjg4MjM5LmpwZz9tdz0yMDAwJm1oPTEwODAmcT03MCJ9fSwic2hhcmVfZW5hYmxlZCI6dHJ1ZSwiY29udGludW91c19wbGF5X2VuYWJsZWQiOnRydWUsInNlbmRfdG9fd2lwc3Rlcl9lbmFibGVkIjpmYWxzZSwidGh1bWJuYWlsIjp7InNyYyI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvdmlkZW9cLzUzMTY4ODIzOV8xOTB4MTA3LmpwZyIsInNyY18yeCI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvdmlkZW9cLzUzMTY4ODIzOV8zODB4MjE0LmpwZyIsIndpZHRoIjoxOTAsImhlaWdodCI6MTA3LCJpZCI6NTMxNjg4MjM5fSwiYWRzIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZSwidGhpcmRfcGFydHlfYWRzX2VuYWJsZWQiOmZhbHNlfSwiY29udGVudF9yYXRpbmciOm51bGwsIm5vdGlmaWNhdGlvbnMiOltdLCJjYXRlZ29yaWVzX2NvbmZpZyI6eyJjYXRlZ29yaWVzIjpbXSwidG90YWxfY2F0ZWdvcmllcyI6MH0sIm11c2ljX3RyYWNrIjpudWxsLCJjY19saWNlbnNlIjpudWxsLCJjcmVkaXRzIjp7InRvdGFsX2NyZWRpdHMiOnsicmF3IjowLCJmb3JtYXR0ZWQiOiIwIn0sImRpc3BsYXllZF9jcmVkaXRzIjpbXX0sInN0cmVhbSI6eyJpZCI6bnVsbCwicG9zIjowfSwiY29sbGVjdGlvbl9hZGRlciI6eyJlbmFibGVkIjp0cnVlfSwicmVjYXB0Y2hhX3NpdGVfa2V5IjoiNkxlUkNMd1NBQUFBQU9KMWJhX3hxZDNOQk9sVjVQX1hSV0pWRVBkdyIsImNsaXBfc3RhdHMiOnsiZW5hYmxlZCI6ZmFsc2V9LCJkb3dubG9hZF9jb25maWciOm51bGwsImhhc19yZXZpZXdfbW9kZXMiOmZhbHNlLCJzdXJ2ZXlfdXJsIjoiaHR0cHM6XC9cL3d3dy5tYXJrZXRpbmdyZXNlYXJjaHJlc291cmNlcy5jb21cL2ltYWdlc1wvb3ZtMDA1MTZcL21yci5hc3A/SS5Vc2VyMT1PJnVzZXI9bG9nZ2Vkb3V0JmNsaXA9MTM2OTcxNDI4JnZ1aWQ9IiwiZGF0YV9sYXllciI6eyJjbGlwX2lkIjoxMzY5NzE0MjgsInBhZ2VfcGF0aCI6IlwvMTM2OTcxNDI4IiwiY3JlYXRvcl9pZCI6ODE0MzExLCJjcmVhdG9yX3VzZXJfdHlwZSI6InBybyIsInZpZGVvX2NhdGVnb3JpZXMiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIsInN0YWZmX3BpY2siOiJubyIsInVzZXJfaWQiOm51bGwsInBhZ2VfdHlwZSI6IlZpZGVvIn0sInByZWZfdGlwcyI6eyJmaWxlX3RyYW5zZmVyX3RvdXJfcG9pbnQiOnsia2V5IjoidnN0cGZ0IiwidmFsdWUiOmZhbHNlfX19OwoKICAgIC8vIEF1dG9wbGF5IHRlc3QgZm9yIG9uc2l0ZSByZWZlcnJhbHMgdG8gY2xpcCBwYWdlCiAgICAoZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBjbGlwID0gd2luZG93LnZpbWVvLmNsaXBfcGFnZV9jb25maWc7CiAgICAgICAgdmFyIGlzT3duZXIgPSBjbGlwLmN1cl91c2VyID8gY2xpcC5jdXJfdXNlci5pZCA9PT0gY2xpcC5vd25lci5pZCA6IGZhbHNlOwogICAgICAgIHZhciBoYXNBdXRvcGxheVBhcmFtID0gLyhcP3wmKWF1dG9wbGF5PTEoJnwkKS8udGVzdCh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICAgICAgdmFyIGhhc09uc2l0ZVJlZmVycmVyID0gd2luZG93LnZpbWVvX2VzaS5jb25maWcub25zaXRlX3JlZmVycmVyOwoKICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGF1dG9wbGF5IHJlZnJlc2hlcyBhbmQgaGlzdG9yeSB0cmF2ZXJzYWxzCiAgICAgICAgdmFyIGlzTmV3UGFnZSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT09IDA7CgogICAgICAgIC8vIElmIHdlIHBhc3MgYWxsIHRoZSBjb25kaXRpb25zIG92ZXJyaWRlIHBsYXllciBjb25maWcgd2l0aCBuZXcgb25lIGluY2x1ZGluZyBhdXRvcGxheSBwYXJhbQogICAgICAgIGlmIChpc05ld1BhZ2UgJiYgaGFzT25zaXRlUmVmZXJyZXIgJiYgIWhhc0F1dG9wbGF5UGFyYW0gJiYgIWlzT3duZXIpIHsKICAgICAgICAgICAgd2luZG93LnZpbWVvLmNsaXBfcGFnZV9jb25maWcucGxheWVyID0geyJjb25maWdfdXJsIjoiaHR0cHM6XC9cL3BsYXllci52aW1lby5jb21cL3ZpZGVvXC8xMzY5NzE0MjhcL2NvbmZpZz9hdXRvcGF1c2U9MSZhdXRvcGxheT0xJmJ5bGluZT0wJmNvbGxlY3Rpb25zPTEmY29udGV4dD1WaW1lbyU1Q0NvbnRyb2xsZXIlNUNDbGlwQ29udHJvbGxlci5tYWluJmRlZmF1bHRfdG9faGQ9MSZvdXRybz1ub3RoaW5nJnBvcnRyYWl0PTAmc2hhcmU9MSZ0aXRsZT0wJndhdGNoX3RyYWlsZXI9MCZzPWZhNjQ5MDc4YTQ0MjlmNzdjM2RjZDllYTUwYWIxMjMwNTAwMDAyMTNfMTYwMzkyMzcyNyIsInBsYXllcl91cmwiOiJwbGF5ZXIudmltZW8uY29tIiwiZGltZW5zaW9ucyI6eyJoZWlnaHQiOjU0MCwid2lkdGgiOjk2MH0sInBvc3RlciI6eyJ1cmwiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3ZpZGVvXC81MzE2ODgyMzkuanBnP213PTIwMDAmbWg9MTA4MCZxPTcwIn19OwogICAgICAgIH0KICAgIH0oKSk7Cjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cudmltZW8gPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB3aW5kb3cudmltZW8uY2xpcHMgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHdpbmRvdy52aW1lbyA9IHdpbmRvdy52aW1lbyB8fCB7fTsKICAgICAgICAgICAgd2luZG93LnZpbWVvLmNsaXBzID0gd2luZG93LnZpbWVvLmNsaXBzIHx8IHt9OwogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCB3aW5kb3cudmltZW8uY2xpcF9wYWdlX2NvbmZpZy5wbGF5ZXIuY29uZmlnX3VybCAsIHRydWUpOwogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cudmltZW8uY2xpcHNbJzEzNjk3MTQyOCddID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7CiAgICAgICAgICAgIHhoci5zZW5kKCk7CiAgICAgICAgfQogICAgPC9zY3JpcHQ+Cgo8IS0tW2lmIGx0ZSBJRSA5XT4KICAgIDxzY3JpcHQ+d2luZG93LmxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uICsgJz9saXRlPTEnOzwvc2NyaXB0Pgo8IVtlbmRpZl0tLT4KCjxkaXYgaWQ9Im9uYm9hcmRpbmdfbW91bnQiPjwvZGl2PgoKPG1haW4gaWQ9Im1haW4iIGNsYXNzPSJpc19sb2FkaW5nIj4KICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZCBpcmlzX2dyaWRfZnA5NjAiPgogICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfbWFpbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXllcl9hcmVhIj4KICAgICAgICAgICAgICAgIDxub3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS92aWRlby81MzE2ODgyMzkuanBnP213PTE5MjAmYW1wO21oPTEwODAmYW1wO3E9NzAiIGFsdD0iIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvOyBtYXgtaGVpZ2h0OiA1NDBweDsiIC8+CiAgICAgICAgICAgICAgICA8L25vc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxub3NjcmlwdD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfbWFpbi1jb250ZW50IGlyaXNfZ3JpZC13cmFwcGVyLS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpcmlzX2dyaWQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyB1LWNvbGxhcHNlIGNsaXAtbm90aWZpY2F0aW9uIiBzdHlsZT0ibWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAxLjVlbTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tY2xpcCBpcmlzX25vdGlmaWNhdGlvbi1jbGlwLS1jYXV0aW9uIGlyaXNfbm90aWZpY2F0aW9uLS1uby1jbG9zZSBjbGVhcmZpeCIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5QbGVhc2UgZW5hYmxlIEphdmFTY3JpcHQgdG8gZXhwZXJpZW5jZSBWaW1lbyBpbiBhbGwgb2YgaXRzIGdsb3J5LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfaW5mby13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX2luZm8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9ImNsaXBfaW5mby1oZWFkZXIiPkRlYWZoZWF2ZW4gLSAmIzAzOTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyPC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX2luZm8tc3VibGluZS0td2F0Y2ggY2xpcF9pbmZvLXN1YmxpbmUtLWlubGluZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ1c2VyYnlsaW5lLXN1YmxpbmUgdXNlcmJ5bGluZS1zdWJsaW5lLS1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5mcm9tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVzZXJsaW5rIHVzZXJsaW5rLS1tZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2FudGlyZWNvcmRzIj5BbnRpIFJlY29yZHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0YWJpbmRleD0iLTEiIGhyZWY9Ii9wcm8iIHRpdGxlPSJMZWFybiBtb3JlIGFib3V0IFZpbWVvIFBSTyIgZGF0YS1ndG0tY2xpY2s9ImJhZGdlX3Byb19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6YmFkZ2V8Y29tcG9uZW50OnVwZ3JhZGVfbGlua3xrZXl3b3JkOnBybyI+CiAgICA8c3BhbiBjbGFzcz0iaXJpc19iYWRnZSBpcmlzX2JhZGdlLS1wcm8gYmFkZ2UgYmFkZ2UtLXBybyBiYWRnZV9wcm8iPgogICAgICAgIFBSTyAgICA8L3NwYW4+CiAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjbGlwX2luZm8tdGltZSI+PHRpbWUgZGF0ZXRpbWU9IjIwMTUtMDgtMjFUMTc6Mzc6NDMtMDQ6MDAiIHRpdGxlPSJGcmlkYXksIEF1Z3VzdCAyMSwgMjAxNSBhdCA1OjM3IFBNIj41IHllYXJzIGFnbzwvdGltZT48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfZGV0YWlscyBpcmlzX2RpdmlkZXItLWRhcmsgaXJpc19kaXZpZGVyLXRvcCBpcmlzX2RpdmlkZXItdG9wLS1tIGlyaXNfZGl2aWRlci1ib3QgaXJpc19kaXZpZGVyLWJvdC0tbSB1LWNvbGxhcHNlIGNsZWFyZml4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXJpc19ncmlkLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpcF9kZXRhaWxzLWRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLXdyYXBwZXIgaXJpc19kZXNjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZmlyc3QiPiYjMDM5O05ldyBCZXJtdWRhLCYjMDM5OyB0aGUgdXBjb21pbmcgYWxidW0gZnJvbSBEZWFmaGVhdmVuLCBpcyBhdmFpbGFibGUgT2N0b2JlciAybmQ8L3A+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L25vc2NyaXB0PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvbWFpbj4KCjxzY3JpcHQ+CiAgICB3aW5kb3cuY2FuX3ByZWxvYWQgPSB0cnVlOwoKICAgIDwvc2NyaXB0PgoKCjxzY3JpcHQ+CmNvbnNvbGUubG9nKCclYyBcblwK4o6cICAgICAgIEBAQCYgICAgICAgQEBAQEBAXG5cCuKOnCAgICAjQEBAQEBAQCAgICAmQEBAQEBAQEAgICAgICAgQnVpbHQgdXNpbmc6XG5cCuKOnCAgI0BAQEBAQEBAQC4gICUlJkBAQEBAQEAgICAgICAgIOKAoiBSZWFjdCArIEZsdXhcblwK4o6cICAgICAgJkBAQEBAJSAgICAgKEBAQEBAKCAgICAgICDigKIgRVM2XG5cCuKOnCAgICAgICBAQEBAQEAgICAgIEBAQEBAQCAgICAgICAg4oCiIEZldGNoIEFQSVxuXArijpwgICAgICAgJUBAQEBAKCAgLkBAQEBAKCAgICAgICAgIOKAoiBGbGV4Ym94XG5cCuKOnCAgICAgICAgQEBAQEBAKEBAQEBAQFxuXArijpwgICAgICAgIC9AQEBAQEBAQEBAJSAgICAgICAgICAgIExpa2UgcGxheWluZyB3aXRoIG5ldyB0ZWNobm9sb2d5LCB0b28/XG5cCuKOnCAgICAgICAgICZAQEBAQEBAJSAgICAgICAgICAgICAgaHR0cHM6Ly92aW1lby5jb20vam9ic1xuXArijpwgICAgICAgICAgQEBAQEAjXG5cClxuXAonLCAnY29sb3I6ICMwMGFkZWY7Jyk7Cjwvc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8Zm9vdGVyIGNsYXNzPSJmb290ZXJfdjIgZm9vdGVyX3YyLS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19zaXRlbWFwIj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fbGlua3MiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZJTUVPPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii91cGdyYWRlIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnByaWNpbmciCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBQcmljaW5nICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3VwbG9hZF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnVwbG9hZCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc3RhZmZfcGlja3MiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YWZmIFBpY2tzICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL29uZGVtYW5kIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b25fZGVtYW5kIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgT24gRGVtYW5kICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0IgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fb3R0IgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gT1RUICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NpdGVfbWFwIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzaXRlX21hcCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFNpdGUgbWFwICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+U09MVVRJT05TPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6Y3JlYXRlIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6cHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2NvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgQ29sbGFib3JhdGlvbiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kaXN0cmlidXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpkaXN0cmlidXRpb24iCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBEaXN0cmlidXRpb24gJiBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6bW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2xpdmUiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19saXZlX3N0cmVhbWluZyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW1pbmcgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6YW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBIb3N0aW5nICYgbWFuYWdlbWVudCAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbnRlcnByaXNlIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbnRlcnByaXNlIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXJwcmlzZSAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mb3ItaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmZvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgRm9yIEhpcmUgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc3RvY2siCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdG9jayIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpzdG9jayIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b2NrICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+QVBQUzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkMTM1NjY4Njc2Mz9wdD00MTc3MzEmYW1wO2N0PWxvaHAmYW1wO210PTgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDptYWNvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIG1hY09TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS9hcHAvdmltZW8vaWQ0MjUxOTQ3NTk/bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO3JlZmVycmVyPXV0bV9zb3VyY2UlM0Rmb290ZXIlMjZ1dG1fbWVkaXVtJTNEbG9ocCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmFuZHJvaWQiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBBbmRyb2lkICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3ZpbWVvLWNyZWF0ZS9pZDE0OTE3OTE1MTMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDpjcmVhdGVfaW9zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvY3JlYXRlLnZpZGVvZWRpdG9yLm1vdmllbWFrZXImYW1wO3JlZmVycmVyPXV0bV9zb3VyY2UlM0Rmb290ZXIlMjZ1dG1fbWVkaXVtJTNEbG9ocCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9tYWdpc3RvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hZ2lzdG8iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hZ2lzdG8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5SRVNPVVJDRVM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9oZWxwIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaGVscF9jZW50ZXJfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBIZWxwIENlbnRlciAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9ibG9nIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fYmxvZ19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aW1lb19ibG9nIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgQmxvZyAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aWRlb19zY2hvb2wiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9vdHQvcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3R0X3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgT1RUIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2RldmVsb3BlcnNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6ZGV2ZWxvcGVycyIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIERldmVsb3BlcnMgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc3R1ZGVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdHVkZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpzdHVkZW50cyIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFN0dWRlbnRzICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2hlbHAvZ3VpZGVsaW5lcyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmltZW9fZ3VpZGVsaW5lcyIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5VUEdSQURFPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zdG9yZS9wbHVzIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdXBncmFkZV9wbHVzIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVwZ3JhZGVfbGlua3xrZXl3b3JkOnBsdXMiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBQbHVzICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3N0b3JlL3BybyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3VwZ3JhZGVfcHJvIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVwZ3JhZGVfbGlua3xrZXl3b3JkOnBybyIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIFBSTyAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zdG9yZS9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3VwZ3JhZGVfYnVzaW5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXBncmFkZV9saW5rfGtleXdvcmQ6YnVzaW5lc3MiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBCdXNpbmVzcyAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTMgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zdG9yZS9wcmVtaXVtIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdXBncmFkZV9wcmVtaXVtIgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVwZ3JhZGVfbGlua3xrZXl3b3JkOnByZW1pdW0iCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBQcmVtaXVtICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGdyYWRlX2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXBncmFkZV9saW5rfGtleXdvcmQ6ZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vdmltZW8uZXh0b2xlLmNvbS93ZWJzaXRlX2Zvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3VwZ3JhZGVfcmVmX2ZyaWVuZCIKICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXBncmFkZV9saW5rfGtleXdvcmQ6cmVmZXJfYV9mcmllbmQiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBSZWZlciBhIGZyaWVuZCAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPkNPTVBBTlk8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMyBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYWJvdXRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Y29tcGFueXxrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgQWJvdXQgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0zIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2pvYnMiCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Y29tcGFueXxrZXl3b3JkOmpvYnMiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBKb2JzICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxhc2lkZSBpZD0iZm9vdGVyX3RpcCIgY2xhc3M9ImZvb3Rlcl92Ml9fdGlwIiBhcmlhLWxpdmU9InBvbGl0ZSI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX190aXAtaGVhZGVyIj5EaWQgeW91IGtub3c/PC9oND4KICAgICAgICAgICAgPHAgY2xhc3M9ImFjdGl2ZSBmb290ZXJfdjJfX3RpcC1jb250ZW50Ij5BbiBleWUtY2F0Y2hpbmcgdmlkZW8gcHJldmlldyBpbWFnZSwgb3IgdGh1bWJuYWlsLCBpcyB2aXRhbCBmb3IgZ2V0dGluZyBmb2xrcyBpbnRlcmVzdGVkIGluIHlvdXIgdmlkZW8uIFBpY2sgdGhlIHBlcmZlY3Qgb25lIHdpdGggb3VyIDxhIGhyZWY9Imh0dHBzOi8vaGVscC52aW1lby5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvMjI0ODE4MDQ3LVZpZGVvLXNldHRpbmdzLW92ZXJ2aWV3IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpkaWRfeW91X2tub3dfYm94fGNvbXBvbmVudDpoZWxwIj50aHVtYm5haWwgY2hvb3NlcjwvYT4uPC9wPgogICAgICAgIDwvYXNpZGU+CiAgICA8L3NlY3Rpb24+CiAgICAKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnkgIj4KCiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICAgICAgPHA+VE0gKyAmY29weTsgMjAyMCBWaW1lbywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktNCIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTQiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTQiIGhyZWY9Ii9wcml2YWN5L2NhbGlmb3JuaWEtcHJpdmFjeSIgdGl0bGU9IkNBIFByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgIENBIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTQiIGhyZWY9Ii9kbWNhIiB0aXRsZT0iQ29weXJpZ2h0IEluZm9ybWF0aW9uIj4KICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTQiIGhyZWY9Ii9jb29raWVfcG9saWN5IiB0aXRsZT0iTGVhcm4gbW9yZSBhYm91dCBob3cgVmltZW8gdXNlcyBjb29raWVzIj4KICAgICAgICAgICAgICAgICAgICBDb29raWVzICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICA8L3VsPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5LWNvbnRlbnQgZm9vdGVyX3YyX193aXRobG92ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWRlIHdpdGggPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIgZm9vdGVyX3YyX19sb3ZlaGVhcnQgZm9vdGVyX3YyX19hdXhpbGlhcnktaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTIgMTIiPjxwYXRoIGQ9Ik05IDJDNy4zMTIgMiA2IDMuNSA2IDMuNVM0LjY4NyAyIDMgMkMxLjMxMiAyIDAgMy4zMTIgMCA1YzAgMy4xODggMy43NSAzLjAxMiA2IDYgMi4yNS0yLjk4OCA2LTIuODEyIDYtNiAwLTEuNjg4LTEuMzEzLTMtMy0zeiIvPjwvc3ZnPiBpbiBOWUMuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktNCIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS00IGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8L2Zvb3Rlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgICAgIFt7InVybCI6Imh0dHBzOi8vdmltZW8uY29tLzEzNjk3MTQyOCIsInRodW1ibmFpbFVybCI6Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmlsdGVyL292ZXJsYXk/c3JjMD1odHRwcyUzQSUyRiUyRmkudmltZW9jZG4uY29tJTJGdmlkZW8lMkY1MzE2ODgyMzlfMTI4MHg3MjAuanBnJnNyYzE9aHR0cHMlM0ElMkYlMkZmLnZpbWVvY2RuLmNvbSUyRmltYWdlc192NiUyRnNoYXJlJTJGcGxheV9pY29uX292ZXJsYXkucG5nIiwiZW1iZWRVcmwiOiJodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vMTM2OTcxNDI4IiwibmFtZSI6IkRlYWZoZWF2ZW4gLSAmIzAzOTtOZXcgQmVybXVkYSYjMDM5OyBUcmFpbGVyIiwiZGVzY3JpcHRpb24iOiImIzAzOTtOZXcgQmVybXVkYSwmIzAzOTsgdGhlIHVwY29taW5nIGFsYnVtIGZyb20gRGVhZmhlYXZlbiwgaXMgYXZhaWxhYmxlIE9jdG9iZXIgMm5kIiwiaGVpZ2h0Ijo3MjAsIndpZHRoIjoxMjgwLCJwbGF5ZXJUeXBlIjoiSFRNTDUgRmxhc2giLCJ2aWRlb1F1YWxpdHkiOiJIRCIsImR1cmF0aW9uIjoiUFQwMEgwME01OVMiLCJ1cGxvYWREYXRlIjoiMjAxNS0wOC0yMVQxNzozNzo0My0wNDowMCIsImRhdGVNb2RpZmllZCI6IjIwMjAtMDktMDRUMDY6MjA6MzYtMDQ6MDAiLCJ0aHVtYm5haWwiOnsiQHR5cGUiOiJJbWFnZU9iamVjdCIsInVybCI6Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmlsdGVyL292ZXJsYXk/c3JjMD1odHRwcyUzQSUyRiUyRmkudmltZW9jZG4uY29tJTJGdmlkZW8lMkY1MzE2ODgyMzlfMTI4MHg3MjAuanBnJnNyYzE9aHR0cHMlM0ElMkYlMkZmLnZpbWVvY2RuLmNvbSUyRmltYWdlc192NiUyRnNoYXJlJTJGcGxheV9pY29uX292ZXJsYXkucG5nIiwid2lkdGgiOjEyODAsImhlaWdodCI6NzIwfSwiYXV0aG9yIjp7IkB0eXBlIjoiUGVyc29uIiwibmFtZSI6IkFudGkgUmVjb3JkcyIsInVybCI6Imh0dHBzOi8vdmltZW8uY29tL2FudGlyZWNvcmRzIn0sInBvdGVudGlhbEFjdGlvbiI6eyJAdHlwZSI6IlZpZXdBY3Rpb24iLCJ0YXJnZXQiOiJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzEzNjk3MTQyOCJ9LCJpbnRlcmFjdGlvblN0YXRpc3RpYyI6W3siQHR5cGUiOiJJbnRlcmFjdGlvbkNvdW50ZXIiLCJpbnRlcmFjdGlvblR5cGUiOiJodHRwOi8vc2NoZW1hLm9yZy9Db21tZW50QWN0aW9uIiwidXNlckludGVyYWN0aW9uQ291bnQiOjB9LHsiQHR5cGUiOiJJbnRlcmFjdGlvbkNvdW50ZXIiLCJpbnRlcmFjdGlvblR5cGUiOiJodHRwOi8vc2NoZW1hLm9yZy9MaWtlQWN0aW9uIiwidXNlckludGVyYWN0aW9uQ291bnQiOjN9LHsiQHR5cGUiOiJJbnRlcmFjdGlvbkNvdW50ZXIiLCJpbnRlcmFjdGlvblR5cGUiOiJodHRwOi8vc2NoZW1hLm9yZy9XYXRjaEFjdGlvbiIsInVzZXJJbnRlcmFjdGlvbkNvdW50Ijo2MDF9XSwiQHR5cGUiOiJWaWRlb09iamVjdCIsIkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcifSx7Iml0ZW1MaXN0RWxlbWVudCI6W3siQHR5cGUiOiJMaXN0SXRlbSIsInBvc2l0aW9uIjoxLCJpdGVtIjp7IkBpZCI6Imh0dHBzOi8vdmltZW8uY29tL2FudGlyZWNvcmRzIiwibmFtZSI6IkFudGkgUmVjb3JkcyJ9fSx7IkB0eXBlIjoiTGlzdEl0ZW0iLCJwb3NpdGlvbiI6MiwiaXRlbSI6eyJAaWQiOiJodHRwczovL3ZpbWVvLmNvbS9hbnRpcmVjb3Jkcy92aWRlb3MiLCJuYW1lIjoiVmlkZW9zIn19XSwiQHR5cGUiOiJCcmVhZGNydW1iTGlzdCIsIkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcifV0gICAgPC9zY3JpcHQ+Cgo8c2NyaXB0PgogICAgdmFyIF9fZmEgPSBfX2ZhIHx8IFtdOwogICAgLyoqCiAgICAgKiBCZWNhdXNlIHNpbmdsZSBwYWdlIGFwcGxpY2F0aW9ucyBzdWNoIGFzIHRoZSBhcHAgc2hlbGwgd2lsbCBiZSB0cmFja2luZwogICAgICogRmF0YWwgQXR0cmFjdGlvbiBwYWdlIHZpZXdzIG9uIFJlYWN0IGxpZmVjeWNsZSBob29rcyAoY29tcG9uZW50RGlkTW91bnQpCiAgICAgKiB3ZSB3YW50IHRvIGF2b2lkIGRpc3BhdGNoaW5nIHRoZSBwYWdldmlldyBldmVudCBmcm9tIHRoZSBQSFAgdGVtcGxhdGUKICAgICAqIGFuZCBkZWZlciB0aGlzIHNvcnQgb2YgdHJhY2tpbmcgbG9naWMgdG8gdGhlIGZyb250IGVuZC4KICAgICAqCiAgICAgKiBUaGlzIGNoZWNrIGFsbG93cyB1cyB0byBkZWNsYXJlIGluIGEgY29udHJvbGxlciB3aGV0aGVyIG9yIG5vdCB3ZQogICAgICogd2FudCB0byBkaXNwYXRjaCB0aGF0IHByZWxpbWluYXJ5IHBhZ2V2aWV3LgogICAgICoKICAgICAqIFRoZSBwcm9wZXJ0eSBpcyBhZGRpdGl2ZSBvbmx5LCBhcyB0byBub3QgYWZmZWN0IGV4aXN0aW5nIHBhZ2V2aWV3cy4KICAgICAqLwogICAgICAgICAgICBfX2ZhLnB1c2goWyd0cmFja1BhZ2V2aWV3J10pOwogICAgCiAgICAvKioKICAgICAqIEFkZCBzZXJ2ZXIgc2lkZSBBQkxpbmNvbG4gZXhwZXJpbWVudHMgdG8gR1RNIGRhdGEgbGF5ZXIuCiAgICAgKi8KICAgIAogICAgICAgIHZhciBfZXh0ZW5kID0gZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzWzBdLG49MSxlPWFyZ3VtZW50cy5sZW5ndGg7ZT5uO24rKyl7dmFyIHQ9YXJndW1lbnRzW25dO2Zvcih2YXIgYSBpbiB0KXQuaGFzT3duUHJvcGVydHkoYSkmJihyW2FdPXRbYV0pfXJldHVybiByfTsKCiAgICAgICAgdmFyIENTU19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC8nLAogICAgICAgIEpTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC8nLAogICAgICAgIElNQUdFX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL2ltYWdlc192Ni8nLAogICAgICAgIEZPTlRfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vZm9udHMvJywKICAgICAgICBTVkdfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3ZnLycsCiAgICAgICAgICAgICAgICBCVUlMRF9IQVNIID0gJzZhZWJlJzsKCiAgICAKICAgICAgICB2YXIgdmltZW8gPSBfZXh0ZW5kKCh3aW5kb3cudmltZW8gfHwge30pLCB7ImFwcF92ZXJzaW9uIjoidjYiLCJkb21haW4iOiJ2aW1lby5jb20iLCJ1cmwiOiJ2aW1lby5jb20iLCJjdXJfdXNlciI6ZmFsc2UsIm9yaWdpbl91c2VyX2lkIjpudWxsLCJvcmlnaW5fdXNlciI6ZmFsc2UsImlzX21vYmlsZSI6ZmFsc2V9KTsKICAgIHZpbWVvLmNvbmZpZyA9IF9leHRlbmQoKHZpbWVvLmNvbmZpZyB8fCB7fSksIHsic3RpY2t5X3RvcG5hdiI6eyJleGNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcQWJvdXRDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQWJvdXRDb250cm9sbGVyOnByb2Zlc3Npb25hbHMiLCJWaW1lb1xcQ29udHJvbGxlclxcQWJvdXRDb250cm9sbGVyOmV2ZXJ5b25lIiwiVmltZW9cXENvbnRyb2xsZXJcXEhvbWVDb250cm9sbGVyOnVwZ3JhZGUiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvcmVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcVXNlclxcU2V0dGluZ3MyQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6dGVhbV9tZW1iZXJzIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6cGFzc3dvcmQiLCJWaW1lb1xcQ29udHJvbGxlclxcUHJvZmlsZUNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxDbGlwU3RhdHNDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NcXEVtYmVkQ29udHJvbGxlcjplbWJlZCIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb01hbmFnZXJDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFZpZGVvUmV2aWV3Q29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxNZXNzYWdlc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RhdHNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFVwbG9hZENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcT25EZW1hbmRcXFNldHRpbmdzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxDbGlwXFxTZXR0aW5nc0NvbnRyb2xsZXIiXSwic3RpY2t5X2luY2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tIb21lUGFnZUNvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrRm9vdGFnZUNvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrU2VhcmNoQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tDb2xsZWN0aW9uc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQWxidW1Db250cm9sbGVyIl0sInRvcG5hdl93cmFwX3NlbGVjdG9yIjoiI3RvcG5hdl9vdXRlcl93cmFwIiwiY29udGVudF93cmFwX3NlbGVjdG9yIjoiLndyYXBfY29udGVudCJ9LCJsb2NhbGUiOiJlbiIsIm9tbmlzZWFyY2hfZW5hYmxlZCI6ZmFsc2UsIm9tbmlzZWFyY2hfZGlzYWJsZWQiOm51bGwsIm9tbmlzZWFyY2hfand0IjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SmxlSEFpT2pFMk1ETTRNak00T0RBc0luVnpaWEpmYVdRaU9tNTFiR3dzSW1Gd2NGOXBaQ0k2TlRnME56a3NJbk5qYjNCbGN5STZJbkIxWW14cFl5QndjbWwyWVhSbElHUmxiR1YwWlNJc0luUmxZVzFmZFhObGNsOXBaQ0k2Ym5Wc2JIMC4zRHVXbWpKMVdlV0MzX1VhN1pEV0tsYXk4alloS2d5Rjg3RTB2SGtrR2hVIiwib21uaXNlYXJjaF91c2VyIjpudWxsLCJhcGlfdXJsIjoiYXBpLnZpbWVvLmNvbSIsInNob3dfb21uaXNlYXJjaF90aXAiOmZhbHNlfSk7CgogICAgICAgIHZhciBfX2kxOG5Mb2NhbGUgPSAnZW4nOwogICAgdmFyIGxvY2FsZUNvbmZpZyA9IHsKICAgICAgICBsYW5nOiAnZW4nLAogICAgICAgICdEYXRlJzogewogICAgICAgICAgICBtb250aHM6IFsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSwKICAgICAgICAgICAgbW9udGhzX2FiYnI6IFsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sCiAgICAgICAgICAgIGRheXM6IFsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSwKICAgICAgICAgICAgZGF5c19hYmJyOiBbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLAoKICAgICAgICAgICAgLy8gQ3VsdHVyZSdzIGRhdGUgb3JkZXI6IE1NL0REL1lZWVkKICAgICAgICAgICAgZGF0ZU9yZGVyOiBbJ2RhdGUnLCAnbW9udGgnLCAneWVhciddLAogICAgICAgICAgICBzaG9ydERhdGU6ICclZC8lbS8lWScsCiAgICAgICAgICAgIHNob3J0VGltZTogJyVJOiVNJXAnLAogICAgICAgICAgICBBTTogJ0FNJywKICAgICAgICAgICAgUE06ICdQTScsCiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAwLAoKICAgICAgICAgICAgLy8gRGF0ZS5FeHRyYXMKICAgICAgICAgICAgb3JkaW5hbDogZnVuY3Rpb24oZGF5T2ZNb250aCl7CiAgICAgICAgICAgICAgICByZXR1cm4gZGF5T2ZNb250aDsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgJ0RhdGVQaWNrZXInOiB7CiAgICAgICAgICAgIHNlbGVjdF9hX3RpbWU6ICJTZWxlY3QgYSB0aW1lIiwKICAgICAgICAgICAgdXNlX21vdXNlX3doZWVsOiAiVXNlIHRoZSBtb3VzZSB3aGVlbCB0byBxdWlja2x5IGNoYW5nZSB2YWx1ZSIsCiAgICAgICAgICAgIHRpbWVfY29uZmlybV9idXR0b246ICJPSyIsCiAgICAgICAgICAgIGFwcGx5X3JhbmdlOiAiQXBwbHkiLAogICAgICAgICAgICBjYW5jZWw6ICJDYW5jZWwiLAogICAgICAgICAgICB3ZWVrOiAiV2siICAgICAgICB9LAogICAgICAgICAgICAgICAgJ051bWJlcic6IHsKICAgICAgICAgICAgZGVjaW1hbDogJy4nLAogICAgICAgICAgICBncm91cDogJywnLAogICAgICAgICAgICBjdXJyZW5jeTogewogICAgICAgICAgICAgICAgcHJlZml4OiAnJCcKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgJ0Zvcm1WYWxpZGF0b3InOiB7InJlcXVpcmVkIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iLCJyZXF1aXJlZENoayI6IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn0gICAgfTsKCiAgICB2YXIgZnVsbExvY2FsZSA9ICcnOwoKICAgIAogICAgICAgIHZhciBDb3B5ID0ge3RyYW5zbGF0ZTpmdW5jdGlvbih0LGksdSl7dmFyIGU9J29iamVjdCchPXR5cGVvZiB0aGlzLmRpY3RbdF0/dGhpcy5kaWN0W3RdOmk/dGhpcy5kaWN0W3RdLnBsdXJhbDp0aGlzLmRpY3RbdF0uc2luZ3VsYXI7cmV0dXJuJ29iamVjdCc9PXR5cGVvZiB1JiYoZT10aGlzLnN1YnN0aXR1dGUoZSx1KSksZX0sc3Vic3RpdHV0ZTpmdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDAhPT10LnN1YnN0aXR1dGU/dC5zdWJzdGl0dXRlKGkpOnQucmVwbGFjZSgvXFw/XHsoW157fV0rKVx9L2csZnVuY3Rpb24odCx1KXtyZXR1cm4nXFwnPT10LmNoYXJBdCgwKT90LnNsaWNlKDEpOm51bGwhPWlbdV0/aVt1XTonJ30pfSxkaWN0Ont9fTsKICAgIENvcHkuZGljdCA9IHsiZGlkX3lvdV9tZWFuX2VtYWlsIjoiRGlkIHlvdSBtZWFuIDxlbT57U1VHR0VTVH08XC9lbT4/IiwiZW1haWxfcGFzc3dvcmRfbWlzbWF0Y2giOiJFbWFpbCBhbmQgcGFzc3dvcmQgZG8gbm90IG1hdGNoIiwib29wc190cnlfYWdhaW4iOiJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4iLCJqdXN0X25vdyI6Imp1c3Qgbm93Iiwic2Vjb25kc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IHNlY29uZCBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IHNlY29uZHMgYWdvIn0sIm1pbnV0ZXNfYWdvIjp7InNpbmd1bGFyIjoie0NPVU5UfSBtaW51dGUgYWdvIiwicGx1cmFsIjoie0NPVU5UfSBtaW51dGVzIGFnbyJ9LCJob3Vyc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IGhvdXIgYWdvIiwicGx1cmFsIjoie0NPVU5UfSBob3VycyBhZ28ifSwib3Blbl9jb21tZW50X2JveCI6IkFkZCBuZXcgY29tbWVudCBpbnN0ZWFkICZyYXF1bzsiLCJ1cmxfdW5hdmFpbGFibGUiOiJTb3JyeSwgdGhpcyB1cmwgaXMgdW5hdmFpbGFibGUuIiwidW5zYXZlZF9jaGFuZ2VzX2dlbmVyaWMiOiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMsIGFyZSB5b3Ugc3VyZSB5b3Ugd2lzaCB0byBsZWF2ZT8iLCJhZGQiOiJBZGQiLCJyZW1vdmUiOiJSZW1vdmUiLCJzZWxlY3QiOiJTZWxlY3QiLCJub19mb2xsb3dlcnNfZm9yX2xldHRlciI6IllvdSBkb24mcnNxdW87dCBmb2xsb3cgYW55b25lIHRoYXQgYmVnaW4gd2l0aCB0aGUgbGV0dGVyICZsZHF1bzt7UEFHRV9MRVRURVJ9JnJkcXVvOyIsInNoYXJlX2xpbWl0X3JlYWNoZWQiOiJZb3UgaGF2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byBzaGFyZSB3aXRoLiIsImF0X2xlYXN0X29uZSI6IlRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIHVzZXIuIiwiYXZhaWxhYmxlIjoiQXZhaWxhYmxlIiwidW5hdmFpbGFibGUiOiJVbmF2YWlsYWJsZSIsImJyb3dzZV9lcnJvcl9nZW5lcmljIjoiU29ycnksIHRoZXJlIHdhcyBhbiBlcnJvciIsImJyb3dzZV9lcnJvcl9ub192aWRlb3MiOiJTb3JyeSwgbm8gdmlkZW9zIGZvdW5kIiwiZm9sbG93IjoiRm9sbG93IiwiZm9sbG93aW5nIjoiRm9sbG93aW5nIiwidW5mb2xsb3ciOiJVbmZvbGxvdyIsInVuZm9sbG93aW5nIjoiVW5mb2xsb3dpbmciLCJjb3VudF9jb21tZW50cyI6eyJzaW5ndWxhciI6IntDT1VOVH0gY29tbWVudCIsInBsdXJhbCI6IntDT1VOVH0gY29tbWVudHMifSwiZmlyc3RfY29tbWVudCI6IkJlIHRoZSBmaXJzdCB0byBjb21tZW50XHUyMDI2Iiwibm9fY29tbWVudHNfZm9yX3lvdSI6IkZvcmJpZGRlbi4gWW91IGNhbm5vdCBwb3N0IGNvbW1lbnRzIG9uIHRoaXMgcGFnZS4iLCJvb3BzIjoiT29wcyEiLCJwbGF5ZXJfdHJ5X2FnYWluIjoiVGhhdCB3YXNuJ3Qgc3VwcG9zZWQgdG8gaGFwcGVuLiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuIiwiZHVyYXRpb25faW5wdXRfbWluX2R1cmF0aW9uIjoiVGhlIGR1cmF0aW9uIGNhbm5vdCBiZSBsZXNzIHRoYW4ge01JTl9EVVJBVElPTn0uIiwiZHVyYXRpb25faW5wdXRfbWF4X2R1cmF0aW9uIjoiVGhlIGR1cmF0aW9uIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4ge01BWF9EVVJBVElPTn0uIiwiZHVyYXRpb25faW5wdXRfaW52YWxpZF9jaGFyYWN0ZXJzIjoiMC05IGFuZCA6IGFyZSB0aGUgb25seSBhY2NlcHRhYmxlIGlucHV0cy4iLCJjbG9zZSI6IkNsb3NlIiwiZXhwYW5kIjoiRXhwYW5kIiwibG9hZGluZyI6IkxvYWRpbmcuLi4iLCJ0b3AiOiJ0b3AiLCJhZHZhbmNlZF9zZWFyY2giOiJBZHZhbmNlZCBTZWFyY2giLCJub19zdWdnZXN0aW9ucyI6Ik5vIHN1Z2dlc3Rpb25zIiwicmVjZW50X3NlYXJjaGVzIjoiUmVjZW50IFNlYXJjaGVzIiwic2VhcmNoX2FsbCI6IlNlYXJjaCBBbGwgb2YgVmltZW8iLCJlbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBlbWFpbCBhbmQgcGFzc3dvcmQiLCJlbWFpbF9hZGRyZXNzIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyIsIm5hbWVfZW1haWxfYW5kX3Bhc3N3b3JkIjoiUGxlYXNlIGVudGVyIHlvdXIgbmFtZSwgZW1haWwsIGFuZCBwYXNzd29yZCJ9Owo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZ2xvYmFsL3BsYXllcl9tYW5hZ2VyLm1pbi5qcz83MThiMTBmNSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0PgogICAgICAgIGlmICh0eXBlb2YgcGxheWVyQXNzZXRVcmxzICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxheWVyTWFuYWdlci5ydW4ocGxheWVyQXNzZXRVcmxzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICA8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvc3RpY2t5X3RvcG5hdl9jb21iaW5lZC5taW4uanM/NWZmZDZkNGUiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3JlYWN0X3Byb2RfY29tYmluZWQubWluLmpzPzAzMTc3NWE0Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9jbGlwX2NvbWJpbmVkLm1pbi5qcz84NTgyZTNhNSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2NvbWJpbmVkLm1pbi5qcz80NDg4YzA5MiI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvY2xpcC5idW5kbGUubWluLmpzP2ExNWU1NjA0Ij48L3NjcmlwdD4KCiAgICA8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvY2xpcF9iZXRhX2xpYnNfYXN5bmNfY29tYmluZWQubWluLmpzPzVjYzQ2ZmZiIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmJ1bmRsZS5taW4uanM/OTU0YzQ2MDAiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF2aW1lby5ieXBhc3NfcGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcyA9IHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcyB8fCB7fTsKICAgICAgICAgICAgICAgICAgICAgICAgdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuU2hhcmVPdmVybGF5ID0gdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuU2hhcmVPdmVybGF5IHx8IGZ1bmN0aW9uKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxheWVyTWFuYWdlci5wYXVzZUFsbFBsYXllcnMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5zaGFyZS5Qb3B1cChpZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcy53aWxsT3BlbkxvZ2luRm9ybSA9IHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcy53aWxsT3BlbkxvZ2luRm9ybSB8fCBmdW5jdGlvbihpZCwgY29udGV4dCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2aW1lby5Nb2RhbCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGF5ZXJNYW5hZ2VyLnBhdXNlQWxsUGxheWVycygpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5TZXNzaW9uLmNyZWF0ZSh7IHBsYXllcjogMSwgY2xpcF9pZDogaWQsIGNvbnRleHQ6IGNvbnRleHQgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5TZXNzaW9uLmNyZWF0ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFBsYXllck1hbmFnZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXllck1hbmFnZXIuc2V0RGVmYXVsdERlbGVnYXRlKHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmIChQbGF5ZXJNYW5hZ2VyKSB7CiAgICAgICAgICAgICAgICAgICAgUGxheWVyTWFuYWdlci5kaXNwYXRjaFJlYWR5U2lnbmFscygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KG9uVmltZW9Eb21SZWFkeSk7CiAgICAgICAgICAgIDwvc2NyaXB0PgoKCiAgICA8L2JvZHk+CjwvaHRtbD4K
158
+ http_version:
159
+ recorded_at: Tue, 27 Oct 2020 18:22:07 GMT
160
+ recorded_with: VCR 3.0.3