video_info 2.7.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/unit_test.yml +42 -0
  3. data/Guardfile +1 -1
  4. data/README.md +8 -19
  5. data/lib/video_info/provider.rb +11 -2
  6. data/lib/video_info/providers/vimeo_api.rb +9 -3
  7. data/lib/video_info/providers/vimeo_scraper.rb +12 -2
  8. data/lib/video_info/providers/youtube.rb +8 -0
  9. data/lib/video_info/providers/youtube_api.rb +1 -2
  10. data/lib/video_info/providers/youtube_scraper.rb +43 -25
  11. data/lib/video_info/providers/youtubeplaylist_api.rb +15 -1
  12. data/lib/video_info/version.rb +1 -1
  13. data/lib/video_info.rb +3 -3
  14. data/tmp/rspec_guard_result +25 -0
  15. data/video_info.gemspec +5 -6
  16. metadata +16 -472
  17. data/.travis.yml +0 -21
  18. data/lib/video_info/providers/vkontakte.rb +0 -212
  19. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_invalid_video_url/_available_/1_2_2_1_1.yml +0 -93
  20. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -96
  21. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author/1_3_7_1.yml +0 -100
  22. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_thumbnail/1_3_9_1.yml +0 -100
  23. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_url/1_3_8_1.yml +0 -100
  24. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_date/should_show_correct_date.yml +0 -100
  25. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_description/1_3_10_1.yml +0 -100
  26. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_duration/1_3_12_1.yml +0 -100
  27. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_keywords/1_3_11_1.yml +0 -100
  28. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail/1_3_19_1.yml +0 -100
  29. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_large/1_3_18_1.yml +0 -100
  30. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_medium/1_3_17_1.yml +0 -100
  31. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_small/1_3_16_1.yml +0 -100
  32. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_title/1_3_6_1.yml +0 -100
  33. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_view_count/1_3_20_1.yml +0 -100
  34. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/1_2_3_1_1.yml +0 -150
  35. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/2_2_3_1_1.yml +0 -65
  36. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/1_2_2_1_1.yml +0 -124
  37. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/2_2_2_1_1.yml +0 -67
  38. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -150
  39. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/2_2_1_1_1.yml +0 -67
  40. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_13_2_1.yml +0 -128
  41. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_13_3_1.yml +0 -128
  42. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_13_4_1.yml +0 -128
  43. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_13_1_1.yml +0 -128
  44. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_13_7_1.yml +0 -128
  45. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_13_6_1.yml +0 -128
  46. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_13_8_1.yml +0 -128
  47. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_13_10_1.yml +0 -128
  48. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_13_9_1.yml +0 -128
  49. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_13_14_1.yml +0 -128
  50. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_13_13_1.yml +0 -128
  51. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_13_12_1.yml +0 -128
  52. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_13_5_1.yml +0 -128
  53. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_13_15_1.yml +0 -128
  54. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_13_11_1.yml +0 -128
  55. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_18_1.yml +0 -150
  56. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_18_1.yml +0 -79
  57. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_17_1.yml +0 -150
  58. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_17_1.yml +0 -79
  59. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_19_1.yml +0 -150
  60. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_19_1.yml +0 -79
  61. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_date/should_have_correct_upload_date.yml +0 -226
  62. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/1_3_7_1.yml +0 -150
  63. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/2_3_7_1.yml +0 -79
  64. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/1_3_9_1.yml +0 -150
  65. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/2_3_9_1.yml +0 -79
  66. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/1_3_11_1.yml +0 -150
  67. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/2_3_11_1.yml +0 -79
  68. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_keywords/should_return_a_string_list_of_keywords.yml +0 -226
  69. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_16_1.yml +0 -222
  70. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_16_1.yml +0 -79
  71. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/1_3_15_1.yml +0 -222
  72. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/2_3_15_1.yml +0 -79
  73. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/1_3_14_1.yml +0 -222
  74. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/2_3_14_1.yml +0 -79
  75. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/1_3_13_1.yml +0 -222
  76. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/2_3_13_1.yml +0 -79
  77. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/1_3_6_1.yml +0 -150
  78. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/2_3_6_1.yml +0 -79
  79. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_20_1.yml +0 -150
  80. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_20_1.yml +0 -79
  81. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/1_3_10_1.yml +0 -150
  82. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/2_3_10_1.yml +0 -79
  83. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/1_12_1_1.yml +0 -222
  84. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/2_12_1_1.yml +0 -75
  85. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/1_12_2_1.yml +0 -222
  86. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/2_12_2_1.yml +0 -75
  87. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/1_12_3_1.yml +0 -222
  88. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/2_12_3_1.yml +0 -75
  89. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/1_12_4_1.yml +0 -222
  90. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/2_12_4_1.yml +0 -75
  91. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_hashes/available_/1_2_6_1_1.yml +0 -86
  92. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_invalid_video/available_/1_2_2_1_1.yml +0 -50
  93. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_private_video/available_/1_2_3_1_1.yml +0 -132
  94. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect/available_/1_2_4_1_1.yml +0 -134
  95. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect_to_main_page_for_auth/available_/1_2_5_1_1.yml +0 -85
  96. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_valid_video/available_/1_2_1_1_1.yml +0 -87
  97. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author/1_5_14_1.yml +0 -48
  98. 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 -48
  99. 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 -48
  100. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/description/1_5_8_1.yml +0 -48
  101. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/duration/1_5_10_1.yml +0 -48
  102. 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 -48
  103. 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 -48
  104. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/height/1_5_12_1.yml +0 -48
  105. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/thumbnail_small/1_5_18_1.yml +0 -48
  106. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/title/1_5_7_1.yml +0 -48
  107. 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 -48
  108. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/width/1_5_11_1.yml +0 -50
  109. 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 -48
  110. 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 -48
  111. 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 -48
  112. 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 -48
  113. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video-54799401_165822734/title/1_7_4_1.yml +0 -48
  114. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video3552522_171340713/embed_url/1_10_1_1.yml +0 -48
  115. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/description/1_6_8_1.yml +0 -48
  116. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/duration/1_6_10_1.yml +0 -48
  117. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_code/1_6_6_1.yml +0 -48
  118. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_url/1_6_5_1.yml +0 -48
  119. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/height/1_6_12_1.yml +0 -48
  120. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/title/1_6_7_1.yml +0 -48
  121. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/view_count/1_6_13_1.yml +0 -48
  122. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/width/1_6_11_1.yml +0 -48
  123. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author/1_4_5_1.yml +0 -48
  124. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_thumbnail/1_4_6_1.yml +0 -48
  125. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_url/1_4_7_1.yml +0 -48
  126. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/title/1_4_4_1.yml +0 -48
  127. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_invalid_video/_available_/1_2_2_1_1.yml +0 -67
  128. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -69
  129. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_duration/1_4_7_1.yml +0 -77
  130. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_height/1_4_9_1.yml +0 -77
  131. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_large/1_4_12_1.yml +0 -77
  132. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_medium/1_4_11_1.yml +0 -77
  133. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_small/1_4_10_1.yml +0 -77
  134. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_title/1_4_6_1.yml +0 -77
  135. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_width/1_4_8_1.yml +0 -77
  136. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_duration/1_3_7_1.yml +0 -77
  137. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_height/1_3_9_1.yml +0 -77
  138. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail/1_3_13_1.yml +0 -77
  139. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_large/1_3_12_1.yml +0 -77
  140. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_medium/1_3_11_1.yml +0 -77
  141. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_small/1_3_10_1.yml +0 -77
  142. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_title/1_3_6_1.yml +0 -77
  143. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_width/1_3_8_1.yml +0 -77
  144. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/1_2_2_1_1.yml +0 -1447
  145. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/2_2_2_1_1.yml +0 -156
  146. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_2_1_1.yml +0 -481
  147. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_3_1_1.yml +0 -485
  148. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_2_1_1.yml +0 -54
  149. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_3_1_1.yml +0 -54
  150. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_2_11_1.yml +0 -481
  151. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_3_11_1.yml +0 -481
  152. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_2_11_1.yml +0 -54
  153. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_3_11_1.yml +0 -54
  154. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_2_8_1.yml +0 -483
  155. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_3_8_1.yml +0 -483
  156. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_2_8_1.yml +0 -54
  157. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_3_8_1.yml +0 -54
  158. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_2_10_1.yml +0 -485
  159. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_3_10_1.yml +0 -484
  160. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_2_10_1.yml +0 -54
  161. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_3_10_1.yml +0 -54
  162. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_2_9_1.yml +0 -485
  163. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_3_9_1.yml +0 -484
  164. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_2_9_1.yml +0 -54
  165. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_3_9_1.yml +0 -54
  166. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_2_7_1.yml +0 -481
  167. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_3_7_1.yml +0 -484
  168. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_2_7_1.yml +0 -54
  169. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_3_7_1.yml +0 -54
  170. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_17_1.yml +0 -485
  171. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_3_17_1.yml +0 -485
  172. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_17_1.yml +0 -54
  173. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_3_17_1.yml +0 -54
  174. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -56
  175. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/2_2_1_1_1.yml +0 -125
  176. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_3_1_1.yml +0 -483
  177. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_4_1_1.yml +0 -484
  178. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_3_1_1.yml +0 -54
  179. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_4_1_1.yml +0 -54
  180. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_date/should_return_date_video_was_posted.yml +0 -178
  181. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/1_17_7_1.yml +0 -56
  182. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/2_17_7_1.yml +0 -125
  183. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/1_17_9_1.yml +0 -56
  184. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/2_17_9_1.yml +0 -125
  185. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/1_17_8_1.yml +0 -56
  186. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/2_17_8_1.yml +0 -125
  187. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/1_17_6_1.yml +0 -56
  188. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/2_17_6_1.yml +0 -125
  189. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_16_1.yml +0 -56
  190. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_16_1.yml +0 -125
  191. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/1_3_6_1.yml +0 -56
  192. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/2_3_6_1.yml +0 -125
  193. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/1_3_7_1.yml +0 -56
  194. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/2_3_7_1.yml +0 -208
  195. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/1_3_8_1.yml +0 -56
  196. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/2_3_8_1.yml +0 -208
  197. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_date/should_return_date_video_was_posted.yml +0 -178
  198. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/1_3_10_1.yml +0 -56
  199. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/2_3_10_1.yml +0 -125
  200. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/1_3_12_1.yml +0 -56
  201. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/2_3_12_1.yml +0 -125
  202. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/1_3_11_1.yml +0 -56
  203. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/2_3_11_1.yml +0 -125
  204. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/1_3_9_1.yml +0 -56
  205. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/2_3_9_1.yml +0 -125
  206. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_20_1.yml +0 -56
  207. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_20_1.yml +0 -125
  208. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/1_2_2_1_1.yml +0 -60
  209. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/2_2_2_1_1.yml +0 -60
  210. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/1_2_3_1_1.yml +0 -94
  211. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/2_2_3_1_1.yml +0 -94
  212. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/1_2_1_1_1.yml +0 -94
  213. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/2_2_1_1_1.yml +0 -94
  214. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_19_1.yml +0 -105
  215. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/2_3_19_1.yml +0 -105
  216. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_20_1.yml +0 -189
  217. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/2_3_20_1.yml +0 -189
  218. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_21_1.yml +0 -189
  219. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/2_3_21_1.yml +0 -189
  220. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/1_3_7_1.yml +0 -105
  221. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/2_3_7_1.yml +0 -105
  222. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/1_3_8_1.yml +0 -105
  223. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/2_3_8_1.yml +0 -105
  224. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_16_1.yml +0 -105
  225. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/2_3_16_1.yml +0 -105
  226. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/1_3_15_1.yml +0 -105
  227. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/2_3_15_1.yml +0 -105
  228. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/1_3_14_1.yml +0 -105
  229. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/2_3_14_1.yml +0 -105
  230. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/1_3_13_1.yml +0 -105
  231. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/2_3_13_1.yml +0 -105
  232. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/1_3_6_1.yml +0 -105
  233. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/2_3_6_1.yml +0 -105
  234. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_videos/returns_list_of_videos_in_playlist.yml +0 -265
  235. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/1_4_2_1.yml +0 -54
  236. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/2_4_2_1.yml +0 -54
  237. data/spec/lib/video_info/provider_spec.rb +0 -80
  238. data/spec/lib/video_info/providers/dailymotion_spec.rb +0 -194
  239. data/spec/lib/video_info/providers/vimeo_spec.rb +0 -328
  240. data/spec/lib/video_info/providers/vkontakte_spec.rb +0 -236
  241. data/spec/lib/video_info/providers/wistia_spec.rb +0 -197
  242. data/spec/lib/video_info/providers/youtube_playlist_spec.rb +0 -236
  243. data/spec/lib/video_info/providers/youtube_scraper_spec.rb +0 -12
  244. data/spec/lib/video_info/providers/youtube_spec.rb +0 -575
  245. data/spec/lib/video_info_spec.rb +0 -106
  246. data/spec/spec_helper.rb +0 -26
@@ -1,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://vk.com/al_video.php
6
- body:
7
- encoding: US-ASCII
8
- string: User-Agent=VideoInfo%2F2.7&act=show&al=1&autoplay=0&module=profile&video=2152699_168591741
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Mozilla/5.0 (Linux; VideoInfo)
16
- - Ruby
17
- response:
18
- status:
19
- code: 200
20
- message: OK
21
- headers:
22
- Server:
23
- - Apache
24
- Date:
25
- - Mon, 27 Mar 2017 21:01:43 GMT
26
- Content-Type:
27
- - text/html; charset=windows-1251
28
- Content-Length:
29
- - '10351'
30
- Connection:
31
- - keep-alive
32
- X-Powered-By:
33
- - PHP/3.12334
34
- Set-Cookie:
35
- - remixlang=3; expires=Mon, 26 Mar 2018 12:41:08 GMT; path=/; domain=.vk.com
36
- Pragma:
37
- - no-cache
38
- Cache-Control:
39
- - no-store
40
- Strict-Transport-Security:
41
- - max-age=0
42
- body:
43
- encoding: ASCII-8BIT
44
- string: !binary |-
45
- PCEtLTMzMjY4NDA3MjMyMjg8IT51aV9tZWRpYV9zZWxlY3Rvci5qcyx1aV9tZWRpYV9zZWxlY3Rvci5jc3MsZW1vamkuanMsbm90aWZpZXIuY3NzLHZpZGVvdmlldy5qcyx2aWRlb3ZpZXcuY3NzLHBhZ2UuanMscGFnZS5jc3MscG9zdC5jc3MsdWlfY29udHJvbHMuanMsdWlfY29udHJvbHMuY3NzPCE+MzwhPjM3MDQ8IT4wPCE+QkVBVCBTT1VMIFNURVAglyBSREMxNCBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwLCBNYXkgMS0yLCBNb3Njb3cgMjAxNDwhPjxkaXYgY2xhc3M9InZpZGVvX2JveF93cmFwIj4KICA8ZGl2IGlkPSJ2aWRlb19wbGF5ZXIiPgogICAgPGRpdiBpZD0idmlkZW9feXQiIHRhYmluZGV4PSIwIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdXRsaW5lOjA7Ij4KICAgICAgPGlmcmFtZSBjbGFzcz0idmlkZW9feXRfcGxheWVyIiB0eXBlPSJ0ZXh0L2h0bWwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNFRod3M1d3E1R0k/ZW5hYmxlanNhcGk9MSZhdXRvcGxheT0wJnN0YXJ0PTAmYXV0b2hpZGU9MSZ3bW9kZT1vcGFxdWUmc2hvd2luZm89MCZvcmlnaW49aHR0cHM6Ly92ay5jb20mZnM9MSZyZWw9MCZjY19sb2FkX3BvbGljeT0wJml2X2xvYWRfcG9saWN5PTMiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PCE+CmFkZFRlbXBsYXRlcyh7Il8iOiJfIiwiYXVkaW9fcm93IjoiPGRpdiBjbGFzcz1cImF1ZGlvX3JvdyBfYXVkaW9fcm93IF9hdWRpb19yb3dfJTElXyUwJSAlY2xzJSBjbGVhcl9maXhcIiBvbmNsaWNrPVwicmV0dXJuIGdldEF1ZGlvUGxheWVyKCkudG9nZ2xlQXVkaW8odGhpcywgZXZlbnQpXCIgZGF0YS1hdWRpbz1cIiVzZXJpYWxpemVkJVwiIGRhdGEtZnVsbC1pZD1cIiUxJV8lMCVcIiBpZD1cImF1ZGlvXyUxJV8lMCVcIj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX3BsYXlfd3JhcFwiIGRhdGEtbm9kcmFnPVwiMVwiPjxidXR0b24gY2xhc3M9XCJhdWRpb19wbGF5IF9hdWRpb19wbGF5XCIgaWQ9XCJwbGF5XyUxJV8lMCVcIiBhcmlhLWxhYmVsPVwiXCI+PFwvYnV0dG9uPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX2luZm9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fZHVyYXRpb25fd3JhcCBfYXVkaW9fZHVyYXRpb25fd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2hxX2xhYmVsXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2R1cmF0aW9uIF9hdWRpb19kdXJhdGlvblwiPiVkdXJhdGlvbiU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJyZWNvbVwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5zaG93UmVjb21zKHRoaXMsICclMSVfJTAlJywgZXZlbnQpXCI+PGRpdj48XC9kaXY+PFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJuZXh0XCIgb25tb3VzZW92ZXI9XCJhdWRpb1Nob3dBY3Rpb25Ub29sdGlwKHRoaXMsICclMSVfJTAlJylcIiBvbmNsaWNrPVwiZ2V0QXVkaW9QbGF5ZXIoKS5zZXROZXh0KHRoaXMsIGV2ZW50KVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiZWRpdFwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5lZGl0QXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIj48ZGl2PjxcL2Rpdj48XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWRpb19hY3QgX2F1ZGlvX2FjdF9kZWxldGVcIiBpZD1cImRlbGV0ZVwiIG9uY2xpY2s9XCJBdWRpb1BhZ2UodGhpcykuZGVsZXRlQXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiYWRkXCIgb25jbGljaz1cInJldHVybiBhZGRBdWRpbyh0aGlzLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fdGl0bGVfd3JhcFwiXG4gICAgID48YSBocmVmPVwiJXNlYXJjaF9ocmVmJVwiIG9ubW91c2VvdmVyPVwic2V0VGl0bGUodGhpcylcIiBub2RyYWc9XCIxXCIgb25jbGljaz1cInJldHVybiBhdWRpb1NlYXJjaFBlcmZvcm1lcih0aGlzLCBldmVudClcIiBjbGFzcz1cImF1ZGlvX3BlcmZvcm1lclwiPiU0JTxcL2FcbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9faW5mb19kaXZpZGVyXCI+Jm5kYXNoOzxcL3NwYW5cbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9fdGl0bGUgX2F1ZGlvX3RpdGxlXCIgb25tb3VzZW92ZXI9XCJzZXRUaXRsZSh0aGlzLCBkb21QTih0aGlzKSlcIlxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJhdWRpb190aXRsZV9pbm5lclwiIHRhYmluZGV4PVwiMFwiIG5vZHJhZz1cIjFcIiBhcmlhLWxhYmVsPVwiJTMlXCIgb25jbGljaz1cInJldHVybiB0b2dnbGVBdWRpb0x5cmljcyhldmVudCwgdGhpcywgJyUxJV8lMCUnLCAnJTklJylcIj4lMyU8XC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhdWRpb19hdXRob3JcIiBvbmNsaWNrPVwiY3VyLmNhbmNlbENsaWNrPXRydWVcIj4lOCU8XC9zcGFuPlxuICAgICAgPFwvc3BhblxuICAgID48XC9kaXY+XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19wbGF5ZXJfd3JhcFwiPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19seXJpY3Nfd3JhcCBhdWRpb19seXJpY3NcIiBkYXRhLW5vZHJhZz1cIjFcIj48XC9kaXY+XG48XC9kaXY+IiwiYXVkaW9fYml0c190b19jbHMiOiJ7XCIxXCI6XCJpbmxpbmVkXCIsXCIyXCI6XCJseXJpY3NcIixcIjRcIjpcImNhbmVkaXRcIixcIjhcIjpcImNhbmFkZFwiLFwiNjRcIjpcInJlY29tc1wiLFwiMTZcIjpcImNsYWltZWRcIixcIjMyXCI6XCJjbGFpbWVkX3RpdGxlXCIsXCIyNTZcIjpcImZyb21fcXVldWVcIixcIjUxMlwiOlwiaHFcIixcIjMyNzY4XCI6XCJsdGJcIixcIjE2Mzg0XCI6XCJscGJcIixcIjQwOTZcIjpcImNsYWltX2hpZGRlblwiLFwiMjA0OFwiOlwiY2xhaW1fbW9kZVwiLFwiODE5MlwiOlwiY2xhaW1fdW1hXCJ9In0pO2N1ci5pbmNWaWV3cyA9IGZ1bmN0aW9uKCkgewogIHZhciBvaWR2aWQgPSAnMjE1MjY5OV8xNjg1OTE3NDEnOwogIGlmIChjdXIudmlkZW9JbmMgJiYgY3VyLnZpZGVvSW5jW29pZHZpZF0pIHsKICAgIHJldHVybjsKICB9CiAgaWYgKCFjdXIudmlkZW9JbmMpIHsKICAgIGN1ci52aWRlb0luYyA9IHt9OwogICAgY3VyLnZpZGVvU3RhcnRlZCA9IHt9OwogIH0KICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9ICdmaW5pc2hlZCc7CiAgICB2YXIgbSA9IHdpbmRvdy5WaWRlbyA/IFZpZGVvdmlldy5nZXRWaWRlb01vZHVsZShvaWR2aWQpIDogY3VyLm1vZHVsZTsKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICBhamF4LnBvc3QoImFsX3ZpZGVvLnBocCIsIHthY3Q6J2luY192aWV3X2NvdW50ZXInLCBvaWQ6b2lkLCB2aWQ6MTY4NTkxNzQxLCBoYXNoOic3Mjk1YjM5Nzg0OTdmMDg2OThiOGNjYjdkMzBhMGM2NicsIG1vZHVsZTogbX0pOwogICAgfQogIH0sIDUwMDApOwogIGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gPSAnZmluaXNoZWQnOwogICAgdmFyIG0gPSB3aW5kb3cuVmlkZW8gPyBWaWRlb3ZpZXcuZ2V0VmlkZW9Nb2R1bGUob2lkdmlkKSA6IGN1ci5tb2R1bGU7CgogICAgdmFyIHZpZGVvY2F0ID0gJyc7CiAgICBpZiAod2luZG93LlZpZGVvY2F0ICYmIHdpbmRvdy5WaWRlbyAmJiBWaWRlby5pc0luQ2F0YWxvZygpKSB7CiAgICAgIHZhciBwbElkID0gVmlkZW9QbGF5bGlzdC5nZXRDdXJMaXN0SWQoKTsKICAgICAgaWYgKFZpZGVvY2F0LmlzVG9wM1BsYXlsaXN0KHBsSWQpKSB7CiAgICAgICAgdmlkZW9jYXQgPSAnZmVhdHVyZWQnOwogICAgICB9IGVsc2UgewogICAgICAgIHZpZGVvY2F0ID0gcGxJZDsKICAgICAgfQogICAgfQoKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICB3aW5kb3cubXZjdXIgPSB3aW5kb3cubXZjdXIgfHwge307CiAgICAgIG12Y3VyLnZpZXdTdGFydGVkVGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgIGFqYXgucG9zdCgiYWxfdmlkZW8ucGhwIiwge2FjdDondmlkZW9fdmlld19zdGFydGVkJywgb2lkOm9pZCwgdmlkOjE2ODU5MTc0MSwgaGFzaDonNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYnLCBtb2R1bGU6IG0sIHZpZGVvY2F0OiB2aWRlb2NhdH0pOwogICAgfQogIH0sIDApOwogIGN1ci5kZXN0cm95LnB1c2goZnVuY3Rpb24gKCkgewogICAgaWYgKGN1ci52aWRlb0luY1tvaWR2aWRdICYmIGN1ci52aWRlb0luY1tvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb0luY1tvaWR2aWRdKTsKICAgIH0KICAgIGlmIChjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gJiYgY3VyLnZpZGVvU3RhcnRlZFtvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSk7CiAgICB9CiAgfSk7Cn07Cm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvID0gJzIxNTI2OTlfMTY4NTkxNzQxJzsgCm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvSGFzaCA9ICdkNGVhNDY4N2YwMWNjMWVlOWQnOyAKbXZjdXIubXZEYXRhLmFkZGVkVmlkZW9TaGFyZUhhc2ggPSAnOGJhOGZkYWZjZjQ2ZTFiYzY4JzsKbXZjdXIubXZEYXRhLm5lZWRzTmV3ID0gMTs8IT4KCjxkaXYgY2xhc3M9Im12X2luZm9fd2lkZV9jb2x1bW4gZmxfbCI+CiAgCiAgPGRpdiBjbGFzcz0ibXZfdGl0bGVfYmxvY2siPgogICAgPGRpdiBpZD0ibXZfdmlld3MiIGNsYXNzPSJtdl92aWV3c19jb3VudCAiIG9ubW91c2VvdmVyPSIiPjM3IHZpZXdzPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl90aXRsZSIgaWQ9Im12X3RpdGxlIj5CRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfYWN0aW9uc19ibG9jayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImZsYXRfYnV0dG9uIHNlY29uZGFyeSBidXR0b25fbGlnaHQgbXZfc2hhcmVfYnV0dG9uIiBzdHlsZT0iZGlzcGxheTpub25lOyIgb25jbGljaz0idmlkZW92aWV3LnNlbmRWaWRlbygpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X3NoYXJlX2ljb24iPjwvc3Bhbj5TaGFyZQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXZfYWRkX3dyYXAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmbGF0X2J1dHRvbiBzZWNvbmRhcnkgYnV0dG9uX2xpZ2h0IG12X2VkaXRfYnV0dG9uIiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2ODU5MTc0MSwgMjE1MjY5OSkiIGlkPSJtdl9lZGl0X2J1dHRvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X2VkaXRfaWNvbiI+PC9zcGFuPkVkaXQgdmlkZW8KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtdl9tb3JlIGZsX2wiIGlkPSJtdl9tb3JlIj5Nb3JlPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfYmxvY2siPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgPGEgaHJlZj0iL2x5YW5vaS5raXJpbGwiIGNsYXNzPSJtdl9hdXRob3JfcGhvdG9fd3JhcCBmbF9sIj4KICAgICAgICA8aW1nIGlkPSJtdl9hdXRob3JfcGhvdG8iIGNsYXNzPSJtdl9hdXRob3JfcGhvdG8iIHNyYz0iaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjIzODI0L3Y2MjM4MjQ2OTkvNTU1NzUvQ0NRWjI5bDBCOWsuanBnIj4KICAgICAgPC9hPgogICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfaW5mbyBmbF9sIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfbmFtZSI+CiAgICAgICAgICA8YSBjbGFzcz0ibWVtX2xpbmsiIGhyZWY9Ii9seWFub2kua2lyaWxsIj5LaXJpbGwgTHlhbm95PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im12X2luZm9fZGF0ZSI+TWF5IDEyLCAyMDE0IGF0IDk6MjMgYW0gZnJvbSA8YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRndhdGNoJTNGdiUzRDRUaHdzNXdxNUdJIiB0YXJnZXQ9Il9ibGFuayI+WW91VHViZTwvYT4gPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtdl9kZXNjcmlwdGlvbl9ibG9jayI+CiAgPGRpdiBjbGFzcz0ic2VsZWN0X2ZpeCBjbGVhcl9maXgiPgogICAgPGRpdiBpZD0ibXZfZGVzY3JpcHRpb24iIGNsYXNzPSJtdl9kZXNjIj4KICA8ZGl2IGNsYXNzPSJqc19tdl9kZXNjcl9maWVsZCBjYW50X2VkaXQiIGlkPSJtdl9kZXNjcl9maWVsZCI+QkVBVCBTT1VMIFNURVAgJiM5NzMzOyBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwICYjOTczMzsgMS0yIOzg/ywgzO7x6uLgIDIwMTQ8YnI+Q2hvcmVvZ3JhcGh5OiBLYXRpZTxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZwcm9qZWN0ODE4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiIHRhcmdldD0iX2JsYW5rIj5wcm9qZWN0ODE4LmNvbTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MThydXNzaWEiIG1lbnRpb25faWQ9InByb2plY3Q4MThydXNzaWEiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly92ay5jb20vcHJvamVjdDgxOCIgbWVudGlvbl9pZD0icHJvamVjdDgxOCIgb25jbGljaz0icmV0dXJuIG1lbnRpb25DbGljayh0aGlzLCBldmVudCkiIG9ubW91c2VvdmVyPSJtZW50aW9uT3Zlcih0aGlzKSI+dmsuY29tL3Byb2plY3Q4MTg8L2E+PGJyPi4uPC9kaXY+CiAgPGEgaWQ9Im12X2Rlc2NyX2V4cGFuZF90b2dnbGUiIGNsYXNzPSJ3YWxsX3Bvc3RfbW9yZSIgc3R5bGU9IiIgb25jbGljaz0iVmlkZW92aWV3LmV4cGFuZERlc2NyKHRoaXMpIj5FeHBhbmQgdGV4dIU8L2E+CiAgPGRpdiBpZD0ibXZfZGVzY19mdWxsX3RleHQiPkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGcHJvamVjdDgxOC5jb20iIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+cHJvamVjdDgxOC5jb208L2E+IHwgPGEgaHJlZj0iaHR0cDovL3ZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhIiBtZW50aW9uX2lkPSJwcm9qZWN0ODE4cnVzc2lhIiBvbmNsaWNrPSJyZXR1cm4gbWVudGlvbkNsaWNrKHRoaXMsIGV2ZW50KSIgb25tb3VzZW92ZXI9Im1lbnRpb25PdmVyKHRoaXMpIj52ay5jb20vcHJvamVjdDgxOHJ1c3NpYTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MTgiIG1lbnRpb25faWQ9InByb2plY3Q4MTgiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4PC9hPjxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZmYWNlYm9vay5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmZhY2Vib29rLmNvbS9Qcm9qZWN0ODE4UnVzc2lhPC9hPjxicj48YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZwcm9qZWN0ODE4IiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmluc3RhZ3JhbS5jb20vcHJvamVjdDgxODwvYT48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZ0d2l0dGVyLmNvbSUyRnByb2plY3Q4MTgiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+dHdpdHRlci5jb20vcHJvamVjdDgxODwvYT48YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPnlvdXR1YmUuY29tL1Byb2plY3Q4MThSdXNzaWE8L2E+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4Y2hhbXAiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+eW91dHViZS5jb20vUHJvamVjdDgxOGNoYW1wPC9hPjwvZGl2PgogIDxkaXYgY2xhc3M9InByICIgaWQ9Im12X2lubGluZV9lZGl0X3ByIj48ZGl2IGNsYXNzPSJwcl9idCI+PC9kaXY+PGRpdiBjbGFzcz0icHJfYnQiPjwvZGl2PjxkaXYgY2xhc3M9InByX2J0Ij48L2Rpdj48L2Rpdj4KPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgogIDxkaXYgY2xhc3M9Im12X2NvbW1lbnRzX2Jsb2NrIHdhbGxfbW9kdWxlIj4KICAgIDxkaXYgaWQ9InBvc3QyMTUyNjk5X3ZpZGVvMTY4NTkxNzQxbXYiPgogICAgICA8ZGl2IGlkPSJtdl9jb21tZW50c193cmFwIj4KICA8ZGl2IGlkPSJtdl9jb21tZW50c19oZWFkZXIiIG9uY2xpY2s9IlZpZGVvdmlldy5tb3JlQ29tbWVudHMoKTsiIGNsYXNzPSJtdl9jb21tZW50c19leHBhbmRlZCI+PC9kaXY+CiAgPGRpdiBpZD0ibXZfY29tbWVudHNfc3VtbWFyeSIgY2xhc3M9Im12X2NvbW1lbnRzX3N1bW1hcnkgbXZfY29tbWVudHNfZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KICA8ZGl2IGlkPSJtdl9jb21tZW50cyI+PC9kaXY+CjwvZGl2PgogICAgICAKICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibXZfaW5mb19uYXJyb3dfY29sdW1uIGZsX3IiPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2Jsb2NrIj4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9ibG9ja190aXRsZSI+T3RoZXIgdmlkZW9zPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTY0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk2NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTA3NDEwL3UzNjM1NTE1L3ZpZGVvL2xfMjc3M2VmYWIuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MzoyNDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTY0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk2NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IkZSRUFLIEdPLUdPIE1JWNLF0MjfIj5GUkVBSyBHTy1HTyBNSVjSxdDI3zwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NyB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MDUwMTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzA1MDE4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1NDAyMDYvdTQ0ODg5MjMvdmlkZW8vbF8zZTY1Mzk4Zi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjMwPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MDUwMTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzA1MDE4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iyuDx8ujt4yAtQXJ0LiBkYW5jZSBzaG93ICZxdW90OyBCSUdvb0RlZS4iPsrg8fLo7eMgLUFydC4gZGFuY2Ugc2hvdyAmcXVvdDsgQklHb29EZWUuPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4xMDUgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzExMDI3ODEyXzQ1NjIzOTE3MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMTEwMjc4MTJfNDU2MjM5MTczJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M4MzY0MzYvdjgzNjQzNjgxMi9lZmUyL1Z4ZEVxVTh5SkFnLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjA6MTc8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8xMTAyNzgxMl80NTYyMzkxNzMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzExMDI3ODEyXzQ1NjIzOTE3MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IlBhcmFub2lhIDIwMTYgxeLx8uXj7eXl4uAgwO3g8fLg8ej/Ij5QYXJhbm9pYSAyMDE2IMXi8fLl4+3l5eLgIMDt4PHy4PHo/zwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MjgyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8tNTM5MjEwMDJfNDU2MjM5ODYxIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCctNTM5MjEwMDJfNDU2MjM5ODYxJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2NzNTQxNjA2LnVzZXJhcGkuY29tL2M4MzcxMjQvdjgzNzEyNDAwMi8zNzAwZC9sTlFmczZXV0haZy5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4xOjE4PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvLTUzOTIxMDAyXzQ1NjIzOTg2MSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnLTUzOTIxMDAyXzQ1NjIzOTg2MScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9ItXu8O744P8g4e7w/OHgIHwgVGhlIEdvb2QgRmlnaHQgfCDS8OXp6+XwIj7V7vDu+OD/IOHu8Pzh4CB8IFRoZSBHb29kIEZpZ2h0IHwg0vDl6evl8DwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+OTIsMDUzIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODk4ODk3NyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjg5ODg5NzcnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzU0MDMwMS91MjQ2MTA1MDg5L3ZpZGVvL2xfZGI3MWI2NjYuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MDozMDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTc3IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk3NycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9Ik1peC3y5fDo/yD47vMg1PDo6iDY7vMiPk1peC3y5fDo/yD47vMg1PDo6iDY7vM8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjIyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Mzk0MjkxNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjM5NDI5MTQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUyNjYxMS91NTU4MDE1NTMvdmlkZW8vbF8yMGU3ZjMwMC5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjU2PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjM5NDI5MTQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYzOTQyOTE0JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iz+7k6PPs7fvlIPHy8ODx8uguICI+z+7k6PPs7fvlIPHy8ODx8uguIDwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MzQgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYxNTMzMDQyIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2MTUzMzA0MicsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTEwNDE1L3UxNDM0ODI3MS92aWRlby9sXzdlMDVhMGZkLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjM6NTI8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2MTUzMzA0MiIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjE1MzMwNDInLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSLA7fLu7SDK4Ozg6+jy5Ojt7uIgLSDD7uvu8fPp8uUg5+Ag7OXt/yI+wO3y7u0gyuDs4Ovo8uTo7e7iIC0gw+7r7vHz6fLlIOfgIOzl7f88L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjIxNCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjI0NTU3OTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYyNDU1Nzk4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M2MDc4L3UzMjA2NzAyL3ZpZGVvL2xfYTMzNTE0OGYuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+Mjo0MTwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYyNDU1Nzk4IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2MjQ1NTc5OCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IkxpcHRvbiBEYW5jZSAtIM/w6PHu5eTo7f/p8f8g6iDy4O328yYjMzM7ICj06+X47O7hIO3gIMLEzdUpIj5MaXB0b24gRGFuY2UgLSDP8Ojx7uXk6O3/6fH/IOog8uDt9vMmIzMzOyAo9Ovl+Ozu4SDt4CDCxM3VKTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MzIgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzODYyOTc4IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Mzg2Mjk3OCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTIzMzE3L3UzMjA2NzAyL3ZpZGVvL2xfYWE0YWZmYmIuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MzoyMjwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzODYyOTc4IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Mzg2Mjk3OCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IldpdGhvdXQgYSBmYWNlICAo0uDr4O3y6+ji4P8gIMzu6+7k5eb8KSAxIj5XaXRob3V0IGEgZmFjZSAgKNLg6+Dt8uvo4uD/ICDM7uvu5OXm/CkgMTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+OTggdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTQ5IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk0OScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTQwMzA1L3UyNDYxMDUwODkvdmlkZW8vbF9jMGFkMjFlNS5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjQzPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjg5ODg5NDkiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4OTg4OTQ5JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iTWl4LfLl8Oj/Ij5NaXgt8uXw6P88L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjQgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj48IT48IT48IWpzb24+eyJsYW5nIjp7Imdsb2JhbF9zaG9ydF9kYXRlX3RpbWUiOlsiIiwie2RheX0ge21vbnRofSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInllc3RlcmRheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRvZGF5IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwidG9tb3Jyb3cgYXQge2hvdXJ9OnttaW51dGV9IHthbV9wbX0iXSwicmVwbHlfdG9fcG9zdCI6IllvdXIgY29tbWVudC4uIiwid2FsbF9NX3JlcGxpZXNfb2ZfTiI6WyIiLCIlcyBjb21tZW50IG9mIHtsaW5rfXthbGx9e1wvbGlua30iLCIlcyBjb21tZW50cyBvZiB7bGlua317YWxsfXtcL2xpbmt9Il0sIndhbGxfbW9yZV9yZXBsaWVzIjpbIiIsInNob3cgJXMgbW9yZSBjb21tZW50Iiwic2hvdyAlcyBtb3JlIGNvbW1lbnRzIl0sIndhbGxfYWxsX3JlcGxpZXMiOiJhbGwgY29tbWVudHMiLCJkb250X2F0dGFjaCI6IlJlbW92ZSBhdHRhY2htZW50IiwidmlkZW9fWF9jb21tcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwidmlkZW9fZWRpdCI6IkVkaXQgdmlkZW8iLCJ2aWRlb19lZGl0X2Rlc2MiOiJFZGl0IGRlc2NyaXB0aW9uIiwidmlkZW9fZWRpdF9kZXNjX2ludHJvIjoiRW50ZXIgZGVzY3JpcHRpb24iLCJ2aWRlb19zaG93X3ByZXZpb3VzX2NvbW1lbnRzIjpbIiIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudCIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudHMiXSwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIHRoaXMgdmlkZW8/IiwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlX3RpdGxlIjoiQ2xvc2UgdmlkZW8iLCJwcm9maWxlX21lbnRpb25fbm90X2ZvdW5kIjoiVXNlciB3YXMgbm90IGZvdW5kIiwicHJvZmlsZV9tZW50aW9uX3N0YXJ0X3R5cGluZyI6IlN0YXJ0IHR5cGluZyBhIG5hbWUuLiIsInZpZGVvX2FsYnVtX2lzX3ByaXZhdGVfdHQiOiJUaGlzIGFsYnVtIGlzIHByaXZhdGUiLCJ2aWRlb19hZGRfdG9fbXlfcGxheWxpc3QiOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfdG9fbXlfcGxheWxpc3QiOiJBZGRlZCIsInZpZGVvX2NoYW5nZXNfc2F2ZWQiOiJDaGFuZ2VzIHNhdmVkIiwidmlkZW9fYWRkX2FsYnVtIjoiQ3JlYXRlIGFsYnVtIiwidmlkZW9fYWRkX3ByaXZhdGVfYWxidW0iOiJDcmVhdGUgYSBwcml2YXRlIGFsYnVtIiwidmlkZW9fYWRkX3RvX2dyb3VwIjoiQWRkIHRvIGNvbW11bml0eSIsInZpZGVvX2V4cG9ydF9hY3Rpb24iOiJFeHBvcnQiLCJ2aWRlb19zdGF0aXN0aWNzIjoiU3RhdGlzdGljcyIsInZpZGVvX2NvbXBsYWluIjoiUmVwb3J0IiwidmlkZW9fc2VsZWN0X2FsYnVtcyI6IlNlbGVjdCBhbGJ1bXMiLCJ2aWRlb190Y19zdXJlX2RlbGV0ZSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyB2aWRlbz88YnI+PGJyPllvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIHJlc3RvcmUgdGFncyBhbmQgY29tbWVudHMuIiwidmlkZW9fdGNfZGVsZXRlIjoiRGVsZXRlIiwidmlkZW9fZGVsZXRlX2RpYWxvZ190aXRsZSI6IkRlbGV0ZSB2aWRlbyIsInZpZGVvX2RlbGV0ZV9ib3hfbm9fdGl0bGUiOiJObyIsInZpZGVvX21lbnVfZGVsZXRlIjoiRGVsZXRlIHZpZGVvIiwidmlkZW9fdmlld3NfY291bnRfdHRfdGV4dCI6Ik9yaWdpbmFsIHZpZGVvIHZpZXdzICh0b3RhbCB2aWV3cykiLCJ2aWRlb19vbmx5X3ByaXZhdGVfdmlkZW8iOiJUaGlzIHZpZGVvIGNhbiBvbmx5IGJlIGFkZGVkIHRvIGEgcHJpdmF0ZSBhbGJ1bSIsInZpZGVvX2xlYXZlX2Nsb3NlZF9ncm91cF90aXRsZSI6IkxlYXZlIGNsb3NlZCBjb21tdW5pdHkiLCJ2aWRlb19sZWF2ZV9jbG9zZWRfZ3JvdXBfdGV4dCI6IllvdSBhcmUgYWJvdXQgdG8gbGVhdmUgYSBjbG9zZWQgY29tbXVuaXR5LiBJdCBtYXkgbm90IGJlIHRoYXQgZWFzeSB0byBjb21lIGJhY2suIExlYXZlIHRoZSBjb21tdW5pdHk/IiwidmlkZW9fbGVhdmVfYWRtaW5lZF9ncm91cF90ZXh0IjoiWW91IGFyZSBhbiA8Yj5hZG1pbmlzdHJhdG9yPFwvYj4gaW4gdGhpcyBjb21tdW5pdHkuIFlvdSB3aWxsIGxvc2UgdGhpcyBwb3NpdGlvbiBpZiB5b3UgbGVhdmUgbm93LiBMZWF2ZSB0aGUgY29tbXVuaXR5PyIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlX3RvX2F1dGhvciI6IlN1YnNjcmliZSIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlZF9tc2ciOiJGb2xsb3dpbmciLCJ2aWRlb19wbGF5ZXJfbmV4dF90aXRsZSI6Ik5leHQgdmlkZW8iLCJ2aWRlb19pX2xpa2UiOiJMaWtlIiwidmlkZW9fc2hhcmVfd2l0aF9mcmllbmRzIjoiU2hhcmUiLCJ2aWRlb19hZGRfZmxhc2giOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfZmxhc2giOiJWaWRlbyBhZGRlZCB0byBNeSBWaWRlb3MiLCJ2aWRlb19jb21tZW50c19zdW1tYXJ5IjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ2aWRlb19OX3ZpZXdzX2xpc3QiOlsiIiwiJXMgdmlldyIsIiVzIHZpZXdzIl0sInZpZGVvX3BsYXlsaXN0X3JldmVyc2VfdHQiOiJSZXZlcnNlIG9yZGVyIiwidmlkZW9fcGxheWxpc3RfYXV0b3BsYXlfZGlzYWJsZV90dCI6IkRpc2FibGUgYXV0b3BsYXkiLCJ2aWRlb19wbGF5bGlzdF9hdXRvcGxheV9lbmFibGVfdHQiOiJFbmFibGUgYXV0b3BsYXkiLCJ2aWRlb19saXZlX05fd2F0Y2hpbmciOlsiIiwiJXMgaXMgd2F0Y2hpbmcgbm93IiwiJXMgYXJlIHdhdGNoaW5nIG5vdyJdLCJ2aWRlb19saXZlX2NoYXRfbXNnX3Rvb19sb25nIjoiVGhlIG1lc3NhZ2UgaXMgdG9vIGxvbmciLCJ2aWRlb19saXZlX2NoYXRfdG9vX2Zhc3QiOiJUb28gZmFzdIUiLCJ2aWRlb19hcmlhX21pbmltaXplX3BsYXlsaXN0IjoiSGlkZSBwbGF5bGlzdCIsInZpZGVvX2FyaWFfZXhwYW5kX3BsYXlsaXN0IjoiU2hvdyBwbGF5bGlzdCIsInZpZGVvX2FyaWFfbWluaW1pemVfY2hhdCI6IkhpZGUgY2hhdCIsInZpZGVvX2FyaWFfZXhwYW5kX2NoYXQiOiJFeHBhbmQgY2hhdCIsInZpZGVvX2xpdmVfbm90aWZ5X3N1YnNjcmliZWQiOiJTdHJlYW0gbm90aWZpY2F0aW9ucyBlbmFibGVkIiwidmlkZW9fbGl2ZV9ub3RpZnlfdW5zdWJzY3JpYmVkIjoiU3RyZWFtIG5vdGlmaWNhdGlvbnMgZGlzYWJsZWQiLCJ2aWRlb19saXZlX3lvdV9oYXZlX1hfbW9uZXkiOiJZb3UgaGF2ZSB7bW9uZXl9IiwidmlkZW9fdW5mb2xsb3dfZnJpZW5kX3RpdGxlIjoiUmVtb3ZlIGZyb20gZnJpZW5kcyIsInZpZGVvX3VuZm9sbG93X2ZyaWVuZF90ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSBLaXJpbGwgZnJvbSB5b3VyIGZyaWVuZCBsaXN0PyJ9LCJtdkRhdGEiOnsidGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwiZGVzYyI6IkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPnByb2plY3Q4MTguY29tIHwgdmsuY29tXC9wcm9qZWN0ODE4cnVzc2lhIHwgdmsuY29tXC9wcm9qZWN0ODE4PGJyPjxicj5mYWNlYm9vay5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+aW5zdGFncmFtLmNvbVwvcHJvamVjdDgxODxicj50d2l0dGVyLmNvbVwvcHJvamVjdDgxODxicj48YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThjaGFtcCIsIm9pZCI6MjE1MjY5OSwidmlkIjoxNjg1OTE3NDEsImF1dGhvcklkIjoyMTUyNjk5LCJhdXRob3JQaG90byI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYyMzgyNFwvdjYyMzgyNDY5OVwvNTU1NzVcL0NDUVoyOWwwQjlrLmpwZyIsImF1dGhvckhyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJ2aWRlb1JhdyI6IjIxNTI2OTlfMTY4NTkxNzQxIiwiaGFzaCI6IjAyMzY0NmMwYmM3MTEwYWQ5MSIsImxpa2VIYXNoIjoiMzBjYzE4OTJmODFkZWI2MjM1IiwiZWRpdEhhc2giOiIiLCJlZGl0RnJvbURyb3Bkb3duIjowLCJoaWRlRWRpdCI6bnVsbCwiY29tbXNob3duIjowLCJjb21tY291bnQiOjAsImxpa2VkIjpmYWxzZSwibGlrZXMiOjAsImFkZGVkIjowLCJjYW5fYWRkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsIm5vbGlrZXMiOjEsImR1cmF0aW9uIjoyOTksInZzZWdzU2l6ZSI6MjkuMDAwMDAwLCJwbGF5bGlzdHMiOltdLCJ1cGxvYWRlZCI6ZmFsc2UsInB1Ymxpc2hlZCI6dHJ1ZSwibm9Db250cm9scyI6ZmFsc2UsInBsYXlsaXN0QWRkSGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImRlbGV0ZUhhc2giOiIiLCJyZXBvcnRSZWFzb25zIjpbXSwicmVwb3J0SGFzaCI6IjFkY2MzZjJkNDE2OWY1NTBjMCIsImluZm8iOlsyMTUyNjk5LDE2ODU5MTc0MSwiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsIkJFQVQgU09VTCBTVEVQIJcgUkRDMTQgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCwgTWF5IDEtMiwgTW9zY293IDIwMTQiLDMsIjQ6NTkiLCIiLCIiLCI8YSBocmVmPVwiXC9seWFub2kua2lyaWxsXCIgY2xhc3M9XCJtZW1fbGlua1wiPktpcmlsbCBMeWFub3k8XC9hPiIsMTM5OTg3NTc4MywzN10sImNhbkV4cG9ydCI6MSwiaXNWaWRlb0FkcyI6ZmFsc2UsImRlbGV0ZUZyb21BbGxBbGJ1bXNIYXNoIjoiIiwiaXNfbGl2ZSI6MCwiaXNfYWN0aXZlX2xpdmUiOjAsIlBMQVlMSVNUX0FEREVEX0lEIjotMiwiUExBWUxJU1RfVVBMT0FERURfSUQiOi0xLCJub1B1YmxpY0FkZCI6ZmFsc2UsIlBMQVlFUl9GVUxMX1dJRFRIIjo5NjAsIlBMQVlFUl9GVUxMX0hFSUdIVCI6NTQwLCJQTEFZRVJfUExfV0lEVEgiOjcyMCwiUExBWUVSX1BMX0hFSUdIVCI6NDA1LCJsX3R5cGUiOjIsImt6IjowLCJ0bnNfbW9uZXRpemVkIjp0cnVlfSwid2FsbFRwbCI6eyJyZXBseV9ib3giOiI8ZGl2IGlkPVwicmVwbHlfYm94X3dyYXAlcG9zdF9pZCVcIj48ZGl2IGNsYXNzPVwicmVwbHlfYm94X2lubmVyX3dyYXBcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hfd3JhcFwiIGlkPVwicmVwbHlfZmFrZWJveCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5zaG93RWRpdFJlcGx5KCclcG9zdF9pZCUnLCBldmVudClcIiBkYXRhLW93bmVyLXBob3RvPVwiJW93bmVyX3Bob3RvJVwiIGRhdGEtb3duZXItaHJlZj1cIiVvd25lcl9ocmVmJVwiPlxuICAgIDxkaXYgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJcIj5cbiAgPGEgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfbGlua1wiIGhyZWY9XCJcL2lkXCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpXCI+XG4gICAgPGltZyBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9pbWFnZVwiIHNyYz1cIlwvaW1hZ2VzXC9jYW1lcmFfNTAucG5nXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+JXVzZXJfaW1hZ2UlXG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hcIj5MZWF2ZSBhIGNvbW1lbnQuLi48XC9kaXY+PFwvZGl2PlxuPFwvZGl2PjxcL2Rpdj48aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwicG9zdF9oYXNoJXBvc3RfaWQlXCIgdmFsdWU9XCIxNDkwNjQ4NTAzXzE3NzVkMjYyM2ViYTk5MDU5MlwiIGNhbl9yZXBseV9hc19ncm91cD1cIiVjYW5fcmVwbHlfYXNfZ3JvdXAlXCIgXC8+IiwicmVwbHlfZm9ybSI6IjxkaXYgaWQ9XCJyZXBseV9ib3glcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0X2JveCByZXBseV9ib3ggY2xlYXJfZml4IF9zdWJtaXRfcG9zdF9ib3hcIiBvbmNsaWNrPVwicmV0dXJuIGNhbmNlbEV2ZW50KGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9ybVwiPlxuICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJyZXBseV90byVwb3N0X2lkJVwiIHZhbHVlPVwiXCIgXC8+XG4gICAgPGRpdiBjbGFzcz1cInBvc3RfZmllbGRfdXNlclwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIlwvaWRcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudClcIj5cbiAgICA8aW1nIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2ltYWdlXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPFwvYT5cbjxcL2Rpdj4ldXNlcl9pbWFnZSVcbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZmllbGRfd3JhcCBfZW1vamlfZmllbGRfd3JhcFwiPlxuICAgICAgPGRpdiBpZD1cInJlcGx5X3NtaWxlJXBvc3RfaWQlXCIgY2xhc3M9XCJlbW9qaV9zbWlsZV93cmFwICBfZW1vamlfd3JhcFwiPlxuICA8ZGl2IGNsYXNzPVwiZW1vamlfc21pbGUgX2Vtb2ppX2J0blwiIHRpdGxlPVwiVXNlIHRoZSBUQUIga2V5IHRvIGluc2VydCBlbW9qaSBmYXN0ZXJcIiBvbm1vdXNlb3Zlcj1cInJldHVybiBFbW9qaS5zaG93KHRoaXMsIGV2ZW50KTtcIiBvbm1vdXNlb3V0PVwicmV0dXJuIEVtb2ppLmhpZGUodGhpcywgZXZlbnQpO1wiIG9uY2xpY2s9XCJyZXR1cm4gY2FuY2VsRXZlbnQoZXZlbnQpO1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlbW9qaV9zbWlsZV9pY29uXCI+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfZmllbGQlcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2ZpZWxkIHN1Ym1pdF9wb3N0X2ZpZWxkXCIgb25mb2N1cz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KTtcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJMZWF2ZSBhIGNvbW1lbnQuLi5cIj48XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIDxkaXYgaWQ9XCJzdWJtaXRfcmVwbHklcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0IGNsZWFyX2ZpeFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X3dhcm4gY2xlYXJcIiBpZD1cInJlcGx5X3dhcm4lcG9zdF9pZCVcIj48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfbWVkaWFfcHJldmlldyVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfbWVkaWFfcHJldmlldyBjbGVhcl9maXggbWVkaWFfcHJldmlld1wiPjxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZGRwb3N0X2J1dHRvbl93cmFwXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmbGF0X2J1dHRvbiBhZGRwb3N0X2J1dHRvblwiIGlkPVwicmVwbHlfYnV0dG9uJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwuc2VuZFJlcGx5KCclcG9zdF9pZCUnLCBldmVudCwge30pO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseVN1Ym1pdFRvb2x0aXAoJyVwb3N0X2lkJScsIDEsIHRoaXMpO1wiIG9ubW91c2VvdXQ9XCJ3YWxsLnJlcGx5U3VibWl0VG9vbHRpcCgnJXBvc3RfaWQlJywgMCwgdGhpcyk7XCI+UG9zdDxcL2J1dHRvbj5cbiAgICAgIDxcL2Rpdj5cbiAgICAgICVhZGRfYnV0dG9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX2FkZF9tZWRpYVwiIGlkPVwicmVwbHlfYWRkX21lZGlhXyVwb3N0X2lkJVwiPjxcL2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBseV90b190aXRsZSVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfdG9fdGl0bGUgYWRkcG9zdF9wb3B0XCI+PFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fb2ZmaWNpYWwiOiI8ZGl2IGNsYXNzPVwiYWRkcG9zdF9vcHQgY2hlY2tib3hfb2ZmaWNpYWxcIiBpZD1cInJlcGx5X2FzX2dyb3VwJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwucmVwbHlBc0dyb3VwKHRoaXMpO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiBvbmZvY3VzPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9uIGJlaGFsZiBvZiB0aGUgdXNlclwiPlxuICA8aW1nIGNsYXNzPVwidGh1bWJfb2ZmXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPGltZyBjbGFzcz1cInRodW1iX29uXCIgc3JjPVwiJW93bmVyX3Bob3RvJVwiIFwvPlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fZ3JvdXBfaW1hZ2UiOiI8ZGl2IGNsYXNzPVwicG9zdF9maWVsZF9ncm91cFwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIiVvd25lcl9ocmVmJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPlxuICAgIDxpbWcgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfaW1hZ2VcIiBzcmM9XCIlb3duZXJfcGhvdG8lXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+IiwicmVwbHlfbXVsdGlsaW5lIjpmYWxzZSwicmVwbHlfbXVsdGlsaW5lX2ludHJvIjp0cnVlLCJyZXBseV9saW5rX3dyYXAiOiI8ZGl2IGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+XG4gIDxhIGNsYXNzPVwicmVwbHlfbGluayBfcmVwbHlfbG5rXCI+UmVwbHk8XC9hPlxuPFwvZGl2PiIsInJlcGx5X2xpbmtfdG8iOiIgPGEgY2xhc3M9XCJyZXBseV90b1wiPnJlcGxpZWQgdG8gJXRvX3VzZXIlPFwvYT4iLCJyZXBseV9mYXN0IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiXC9pZFwiPlxuICAgICAgPGltZyBzcmM9XCJcL2ltYWdlc1wvY2FtZXJhXzUwLnBuZ1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiREVMRVRFRFwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiXC9pZFwiIGRhdGEtZnJvbS1pZD1cIjBcIj5ERUxFVEVEPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPjxkaXYgY2xhc3M9XCJ3YWxsX3JlcGx5X3RleHRcIj4lbWVzc2FnZSU8XC9kaXY+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zvb3RlciBjbGVhcl9maXhcIiBpZD1cIndwZV9ib3R0b20lcmVwbHlfaWQlXCI+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPiVkYXRlJTxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPlxuICA8YSBjbGFzcz1cInJlcGx5X2xpbmsgX3JlcGx5X2xua1wiPlJlcGx5PFwvYT5cbjxcL2Rpdj5cbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJyZXBseV9tdWx0aWxpbmVfaGludCI6IjxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF93cmFwXCIgIG9uY2xpY2s9XCJzdG9wRXZlbnQoZXZlbnQpO1wiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfc3VibWl0X2hpbnRfdGl0bGVcIj5TaG9ydGN1dHM8XC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCIgaWQ9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVkaXNhYmxlZCUgXCIgZGF0YS12YWw9XCIwXCIgb25jbGljaz1cInJhZGlvYnRuKHRoaXMsIDAsICdyZXBseV9zdWJtaXQnKTsgd2FsbC5vblJlcGx5U3VibWl0Q2hhbmdlZCgwKTtcIj48ZGl2IGNsYXNzPVwicmFkaW9idG5fbGFiZWxcIj48Yj5FbnRlcjxcL2I+IJcgc2VuZCBtZXNzYWdlPGJyPjxiPlNoaWZ0K0VudGVyPFwvYj4glyBuZXcgbGluZTxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVlbmFibGVkJSBcIiBkYXRhLXZhbD1cIjFcIiBvbmNsaWNrPVwicmFkaW9idG4odGhpcywgMSwgJ3JlcGx5X3N1Ym1pdCcpOyB3YWxsLm9uUmVwbHlTdWJtaXRDaGFuZ2VkKDEpO1wiPjxkaXYgY2xhc3M9XCJyYWRpb2J0bl9sYWJlbFwiPjxiPkN0cmwrRW50ZXI8XC9iPiCXIHNlbmQgbWVzc2FnZTxicj48Yj5FbnRlcjxcL2I+IJcgbmV3IGxpbmU8XC9kaXY+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwicmVwbHlfYnV0dG9uIjoiPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBvc3RfcmVwbHkgX3JlcGx5X3dyYXBcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hvd0VkaXRSZXBseSgnJXBvc3RfaWQlJywgZXZlbnQpXCI+XG4gIDxpIGNsYXNzPVwicG9zdF9yZXBseV9pY29uIF9pY29uXCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2xpbmsgX2xpbmtcIj5Db21tZW50PFwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG48XC9hPiIsInJlcGx5X2xpbmsiOiI8c3BhbiBpZD1cInJlcGx5X2xpbmslcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJyZXBseV9saW5rXCIgb25jbGljaz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KVwiPkNvbW1lbnQ8XC9hPjxcL3NwYW4+Iiwib3duX3JlcGx5X2xpbmsiOiI8c3BhbiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGNsYXNzPVwicmVwbHlfbGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VTaGFyZUN1c3RvbSgnJXBvc3RfaWQlJylcIj5SZXBseTxcL2E+PFwvc3Bhbj4iLCJlZGl0X2xpbmsiOiI8c3BhbiBjbGFzcz1cImRpdmlkZVwiPnw8XC9zcGFuPjxhIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcG9zdF9pZCUnKVwiPkVkaXQgPFwvYT4iLCJwb3N0IjoiPGRpdiBpZD1cInBvc3QlcG9zdF9pZCVcIiBjbGFzcz1cIl9wb3N0IHBvc3QgcGFnZV9ibG9ja1wiIGRhdGEtcG9zdC1pZD1cIiVwb3N0X2lkJVwiIG9uY2xpY2s9XCJ3YWxsLnBvc3RDbGljaygnJXBvc3RfaWQlJywgZXZlbnQpO1wiID5cbiAgPGRpdiBjbGFzcz1cIl9wb3N0X2NvbnRlbnRcIj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9oZWFkZXJcIj5cbiAgICAgIDxhIGNsYXNzPVwicG9zdF9pbWFnZSVvbmxpbmVfY2xhc3MlXCIgaHJlZj1cIiVsaW5rJVwiPlxuICAgICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiBkYXRhLXBvc3QtaWQ9XCIlcG9zdF9pZCVcIiBkYXRhLXBvc3QtY2xpY2stdHlwZT1cInBvc3Rfb3duZXJfaW1nXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgY2xhc3M9XCJwb3N0X2ltZ1wiIFwvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+LjxcL3NwYW4+XG4gICAgICA8XC9hPlxuICAgICAgPGRpdiBjbGFzcz1cInBvc3RfaGVhZGVyX2luZm9cIj5cbiAgICAgICAgPGg1IGNsYXNzPVwicG9zdF9hdXRob3JcIj4lbmFtZSU8XC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc3RfZGF0ZVwiPjxhIGNsYXNzPVwicG9zdF9saW5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gc2hvd1dpa2koe3c6ICd3YWxsJXBvc3RfaWQlJ30sIGZhbHNlLCBldmVudCk7XCI+JWRhdGUlPFwvYT48XC9kaXY+XG4gICAgICAgICVhY3Rpb25zJVxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9zdF9pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWxsX3RleHRcIj4ldGV4dCU8XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3N0X2Z1bGxfbGlrZV93cmFwIGNsZWFyX2ZpeFwiPlxuICA8ZGl2IGNsYXNzPVwicG9zdF9mdWxsX2xpa2VcIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwicG9zdF9saWtlIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbm1vdXNlb3Zlcj1cIldhbGwubGlrZXNTaG93KHRoaXMsICclcG9zdF9pZCUnKVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5saWtlSXQodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTAzX2E1YjA3MzlkNmMxMTdmNzM0OScsIGV2ZW50KTtcIj5cbiAgICAgIDxpIGNsYXNzPVwicG9zdF9saWtlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwb3N0X2xpa2VfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3RfbGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuICAgIDxcL2E+XG4gICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgb25jbGljaz1cIldhbGwubGlrZXNTaG93TGlzdCh0aGlzLCAnJXBvc3RfaWQlJylcIj5TaG93IGxpa2VzPFwvc3Bhbj5cbiAgICAlcmVwbHlfYnV0dG9uJVxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwb3N0X3NoYXJlIF9zaGFyZV93cmFwIG5vX3NoYXJlc1wiICBvbm1vdXNlb3Zlcj1cIldhbGwuc2hhcmVzU2hvdyh0aGlzLCAnJXBvc3RfaWQlJylcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hhcmVzT3BlbihldmVudCwgJyVwb3N0X2lkJScpO1wiPlxuICAgICAgPGkgY2xhc3M9XCJwb3N0X3NoYXJlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbiAgICA8XC9hPlxuICAgIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLnNoYXJlc1Nob3dMaXN0KHRoaXMsICclcG9zdF9pZCUnKVwiPlNob3cgc2hhcmVkIGNvcGllczxcL3NwYW4+XG4gICAgXG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBvc3Rfdmlld3MgX3ZpZXdzX3dyYXAgbm9fdmlld3MgX2F1dG9fdXBkYXRlXCIgb25tb3VzZW92ZXI9XCJXYWxsLnZpZXdzVXBkYXRlKHRoaXMsICclcG9zdF9pZCUnKVwiPlxuICA8aSBjbGFzcz1cInBvc3Rfdmlld3NfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwicG9zdF92aWV3c19jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvZGl2PlxuPFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbGllc1wiPjxkaXYgY2xhc3M9XCJyZXBsaWVzX3dyYXBcIiBpZD1cInJlcGxpZXNfd3JhcCVwb3N0X2lkJVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGxpZXNfbGlzdCBfcmVwbGllc19saXN0XCIgaWQ9XCJyZXBsaWVzJXBvc3RfaWQlXCI+PGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cInN0YXJ0X3JlcGx5JXBvc3RfaWQlXCIgdmFsdWU9XCJcIlwvPjxcL2Rpdj5cbiAgJXJlcGx5X2JveCVcbjxcL2Rpdj48XC9kaXY+XG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIFxuICA8XC9kaXY+XG4gIFxuPFwvZGl2PiIsInJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAlY2xhc3NuYW1lJSBfcG9zdFwiIGRhdGEtcG9zdC1pZD1cIiVyZXBseV9pZCVcIiAlYXR0ciU+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV93cmFwIF9yZXBseV9jb250ZW50IF9wb3N0X2NvbnRlbnQgY2xlYXJfZml4XCI+XG4gICAgXG4gICAgPGEgY2xhc3M9XCJyZXBseV9pbWFnZVwiIGhyZWY9XCIlbGluayVcIj5cbiAgICAgIDxpbWcgc3JjPVwiJXBob3RvJVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiJW5hbWUlXCIgXC8+XG4gICAgPFwvYT5cbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfY29udGVudFwiID5cbiAgICAgICVhY3Rpb25zJVxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2F1dGhvclwiPlxuICAgICAgICA8YSBjbGFzcz1cImF1dGhvclwiIGhyZWY9XCIlbGluayVcIiBkYXRhLWZyb20taWQ9XCIlcmVwbHlfdWlkJVwiPiVuYW1lJTxcL2E+JXRvX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfdGV4dFwiID4ldGV4dCU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9vdGVyIGNsZWFyX2ZpeFwiIGlkPVwid3BlX2JvdHRvbSVyZXBseV9pZCVcIj5cbiAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpa2Vfd3JhcCBfbGlrZV93cmFwIG5vX2xpa2VzXCIgb25jbGljaz1cInJldHVybiBXYWxsLmxpa2VJdCh0aGlzLCAnJWxpa2VfaWQlJywgJzE0OTA2NDg1MDNfYTViMDczOWQ2YzExN2Y3MzQ5JywgZXZlbnQpO1wiIG9ubW91c2VvdmVyPVwiV2FsbC5saWtlc1Nob3codGhpcywgJyVsaWtlX2lkJScpXCI+XG4gIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIj5MaWtlPFwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJsaWtlX2ljb24gX2ljb25cIj48XC9pPlxuICA8c3BhbiBjbGFzcz1cImxpa2VfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbjxcL2E+XG48c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIiBvbmNsaWNrPVwiV2FsbC5saWtlc1Nob3dMaXN0KHRoaXMsICclbGlrZV9pZCUnKVwiPlNob3cgbGlrZXM8XC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPjxhIGNsYXNzPVwid2RfbG5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJT9yZXBseT0lcmVwbHlfbXNnX2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPiVkYXRlJTxcL2E+PFwvZGl2PlxuICAgICAgICAlYW5zd2VyX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwiZGVsIjoiPGEgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfaXRlbVwiIG9uY2xpY2s9XCJ3YWxsLmRlbGV0ZVBvc3QodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTAzXzBiZjBjNmIyNTgzNGUxOWEwMicpOyByZXR1cm4gZmFsc2U7XCI+RGVsZXRlIHBvc3Q8XC9hPiIsInNwYW0iOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXBvc3RfaWQlJywgJzE0OTA2NDg1MDNfOWU5ODA0NjM2MDJiYzBjZDk0Jyk7IHJldHVybiBmYWxzZTtcIj5SZXBvcnQ8XC9hPiIsImVkaXQiOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwuZWRpdFBvc3QodGhpcywgJyVwb3N0X2lkJScpOyByZXR1cm4gZmFsc2U7XCI+RWRpdCA8XC9hPiIsInBvc3RfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfd3JhcCBfdWlfbWVudV93cmFwIFwiIG9ubW91c2VvdmVyPVwidWlBY3Rpb25zTWVudS5zaG93KHRoaXMpO1wiIG9ubW91c2VvdXQgPVwidWlBY3Rpb25zTWVudS5oaWRlKHRoaXMpO1wiPlxuICA8ZGl2IGNsYXNzPVwidWlfYWN0aW9uc19tZW51X2ljb25zXCIgIHRhYmluZGV4PVwiMFwiIGFyaWEtbGFiZWw9XCJBY3Rpb25zXCIgcm9sZT1cImJ1dHRvblwiIG9uY2xpY2s9XCJ1aUFjdGlvbnNNZW51LmtleVRvZ2dsZSh0aGlzLCBldmVudCk7XCI+PHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkFjdGlvbnM8XC9zcGFuPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInVpX2FjdGlvbnNfbWVudSBfdWlfbWVudVwiID4lYWN0aW9ucyU8XC9kaXY+XG48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIndhbGwuZGVsZXRlUG9zdCh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTAzXzBiZjBjNmIyNTgzNGUxOWEwMicpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJEZWxldGVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJzcGFtX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiUmVwb3J0XCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTAzXzllOTgwNDYzNjAyYmMwY2Q5NCcpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0IFwiIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcmVwbHlfaWQlJyk7XCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIkVkaXQgXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwicmVwbHlfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJmbF9yIHBvc3RfYWN0aW9uc193cmFwXCI+PGRpdiBjbGFzcz1cInBvc3RfYWN0aW9uc1wiPiVhY3Rpb25zJTxcL2Rpdj48XC9kaXY+IiwicG9sbF9zdGF0cyI6IjxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfc3RhdFwiJWhhbmRsZXJzJT5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF90ZXh0XCI+JW9wdGlvbl90ZXh0JTxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93X3BlcmNlbnRcIj4lcGVyY2VudCUlPFwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93JXJvd19jbGFzcyVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcGVyY2VudFwiIHN0eWxlPVwid2lkdGg6ICVjc3NfcGVyY2VudCUlXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfY291bnRcIj4lY291bnQlPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInBvbGxfaGFzaCI6IjE0OTA2NDg1MDNfNmI4NzJmOWQ2Yjk1NzliODM0IiwiZGF0ZV9mb3JtYXQiOiJ0b2RheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRpbWVfc3lzdGVtIjpbInBtIiwiYW0iXSwiYWJzX3RpbWVzdGFtcCI6MTQ5MDY0ODUwMywibGFuZyI6eyJ3YWxsX01fcmVwbGllc19vZl9OIjpbIiIsIiVzIGNvbW1lbnQgb2Yge2xpbmt9e2FsbH17XC9saW5rfSIsIiVzIGNvbW1lbnRzIG9mIHtsaW5rfXthbGx9e1wvbGlua30iXSwid2FsbF9oaWRlX3JlcGxpZXMiOiJIaWRlIGNvbW1lbnRzIiwid2FsbF9zaG93X25fb2ZfbV9sYXN0IjpbIiIsIlNob3cgbGF0ZXN0ICVzIGNvbW1lbnQgb3V0IG9mIHtjb3VudH0iLCJTaG93IGxhdGVzdCAlcyBjb21tZW50cyBvdXQgb2Yge2NvdW50fSJdLCJ3YWxsX3Nob3dfYWxsX25fcmVwbGllcyI6WyIiLCJTaG93ICVzIGNvbW1lbnQiLCJTaG93IGFsbCAlcyBjb21tZW50cyJdLCJ3YWxsX05fcmVwbGllcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwid2FsbF90aHJlZV9sYXN0X3JlcGxpZXMiOiJsYXN0IHRocmVlIHBvc3RzIiwid2FsbF9hbGxfcmVwbGllcyI6ImFsbCBjb21tZW50cyIsIndhbGxfeF9uZXdfcmVwbGllc19tb3JlIjpbIiIsIiVzIG5ldyBjb21tZW50IGFkZGVkIiwiJXMgbmV3IGNvbW1lbnRzIGFkZGVkIl0sIndhbGxfWF9wZW9wbGVfdm90ZWQiOlsiIiwiPGI+JXM8XC9iPiBwZXJzb24gdm90ZWQuIiwiPGI+JXM8XC9iPiBwZW9wbGUgdm90ZWQuIl0sIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMSI6IlNoaWZ0K0VudGVyIJcgbmV3IGxpbmUiLCJ3YWxsX3JlcGx5X3N1Ym1pdF9oaW50XzIiOiJDdHJsK0VudGVyIJYgc2VuZCBtZXNzYWdlIiwid2FsbF9yZXBseV9zdWJtaXRfaGludF8xX21vcmUiOiJFbnRlciCXIHNlbmQgbWVzc2FnZSwgU2hpZnQrRW50ZXIglyBuZXcgbGluZSIsIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMl9tb3JlIjoiRW50ZXIglyBuZXcgbGluZSwgQ3RybCtFbnRlciCXIHNlbmQgbWVzc2FnZSIsIndhbGxfcmVwbHlfcG9zdCI6IlJlcGx5Iiwid2FsbF9yZXBsaWVkX3RvX2dyb3VwIjoidGhlIGFkbWluIiwid2FsbF9yZXBseV9hc191c2VyIjoib24gYmVoYWxmIG9mIHRoZSB1c2VyIiwid2FsbF9yZXBseV9hc19ncm91cCI6InBvc3QgYXMgY29tbXVuaXR5Iiwid2FsbF9hZGRfcGhvdG9fZXJyb3IiOiJVbmFibGUgdG8gdXBsb2FkIHRoZSBpbWFnZSIsIndhbGxfanVzdF9ub3ciOlsiIiwiT25lIHNlY29uZCBhZ28iLCJUd28gc2Vjb25kcyBhZ28iLCJUaHJlZSBzZWNvbmRzIGFnbyIsIkZvdXIgc2Vjb25kcyBhZ28iLCJGaXZlIHNlY29uZHMgYWdvIl0sIndhbGxfWF9zZWNvbmRzX2Fnb193b3JkcyI6WyIiLCJPbmUgc2Vjb25kIGFnbyIsIlR3byBzZWNvbmRzIGFnbyIsIlRocmVlIHNlY29uZHMgYWdvIiwiRm91ciBzZWNvbmRzIGFnbyIsIkZpdmUgc2Vjb25kcyBhZ28iXSwid2FsbF9YX3NlY29uZHNfYWdvIjpbIiIsIiVzIHNlY29uZCBhZ28iLCIlcyBzZWNvbmRzIGFnbyJdLCJ3YWxsX1hfbWludXRlc19hZ29fd29yZHMiOlsiIiwib25lIG1pbnV0ZSBhZ28iLCJ0d28gbWludXRlcyBhZ28iLCJ0aHJlZSBtaW51dGVzIGFnbyIsIjQgbWludXRlcyBhZ28iLCI1IG1pbnV0ZXMgYWdvIl0sIndhbGxfWF9taW51dGVzX2FnbyI6WyIiLCIlcyBtaW51dGUgYWdvIiwiJXMgbWludXRlcyBhZ28iXSwid2FsbF9YX2hvdXJzX2Fnb193b3JkcyI6WyIiLCJvbmUgaG91ciBhZ28iLCJ0d28gaG91cnMgYWdvIiwidGhyZWUgaG91cnMgYWdvIiwiZm91ciBob3VycyBhZ28iLCJmaXZlIGhvdXJzIGFnbyJdLCJ3YWxsX1hfaG91cnNfYWdvIjpbIiIsIiVzIGhvdXIgYWdvIiwiJXMgaG91cnMgYWdvIl19fSwic2hhcmVfdGltZWhhc2giOiIxNDkwNjQ4NTAzXzg4NzU0MTEzY2IwMTY1YThkNyIsImNvbW1lbnRzVHBsIjp7InJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbWVudENsaWNrKHRoaXMsIGV2ZW50LCAlZnJvbV9pZCUsICVyZXBseV9tc2dfaWQlKVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiJWhyZWYlXCI+XG4gICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiBjbGFzcz1cInJlcGx5X2ltZ1wiIGFsdD1cIiVuYW1lJVwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICAlYWN0aW9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiJWhyZWYlXCIgZGF0YS1mcm9tLWlkPVwiJWZyb21faWQlXCI+JW5hbWUlPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPiVtZXNzYWdlJTxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9mb290ZXIgY2xlYXJfZml4XCIgaWQ9XCJ3cGVfYm90dG9tJXJlcGx5X2lkJVwiPlxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibGlrZV93cmFwIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwubGlrZUl0KHRoaXMsICclcG9zdF9vaWQldmlkZW9fY29tbWVudCVyZXBseV9tc2dfaWQlbXYnLCAnMTQ5MDY0ODUwM19hNWIwNzM5ZDZjMTE3ZjczNDknLCBldmVudCk7XCIgb25tb3VzZW92ZXI9XCJXYWxsLmxpa2VzU2hvdyh0aGlzLCAnJXBvc3Rfb2lkJXZpZGVvX2NvbW1lbnQlcmVwbHlfbXNnX2lkJW12JylcIj5cbiAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkxpa2U8XC9zcGFuPlxuICA8aSBjbGFzcz1cImxpa2VfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvYT5cbjxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VzU2hvd0xpc3QodGhpcywgJyVwb3N0X29pZCV2aWRlb19jb21tZW50JXJlcGx5X21zZ19pZCVtdicpXCI+U2hvdyBsaWtlczxcL3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9kYXRlXCI+JWRhdGUlPFwvZGl2PlxuICAgICAgICBcbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJhY3Rpb25zIjoiPGRpdiBjbGFzcz1cImZsX3IgcG9zdF9hY3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicG9zdF9hY3Rpb25zXCI+JWFjdGlvbnMlPFwvZGl2PjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0XCIgb25jbGljaz1cIldhbGwuZWRpdFBvc3QodGhpcywgJyVyZXBseV9pZCUnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJFZGl0XCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tQWN0aW9uKCdkZWxldGUnLCAlcG9zdF9vaWQlLCAlcmVwbHlfbXNnX2lkJSwgJzE0OTA2NDg1MDNfMjU2NmU0ZjFkN2I1OTEzZjI2JywgJ212JylcIiBvbm1vdXNlb3Zlcj1cInNob3dUaXRsZSh0aGlzKTtcIiBhcmlhLWxhYmVsPVwiRGVsZXRlXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+Iiwic3BhbV9yZXBseSI6IjxkaXYgaWQ9XCJyZXBseV9kZWxldGUlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9kZWxldGVfYnV0dG9uIHJlcGx5X2FjdGlvbiBmbF9yXCIgZGF0YS10aXRsZT1cIlJlcG9ydFwiIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbUFjdGlvbignc3BhbScsICVwb3N0X29pZCUsICVyZXBseV9tc2dfaWQlLCAnMTQ5MDY0ODUwM18yNTY2ZTRmMWQ3YjU5MTNmMjYnLCAnbXYnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4ifSwicG9zdCI6IjIxNTI2OTlfdmlkZW8xNjg1OTE3NDFtdiIsIm1heFJlcGx5TGVuZ3RoIjoxNjM4NCwibWF4Q2hhdFJlcGx5TGVuZ3RoIjo2MDAsIm1heERlc2NyaXB0aW9uTGVuZ3RoIjoxMDI0LCJwdWJsaXNoQWN0aW9uIjoiIiwicGxfbGlzdCI6MCwiaXNfdmtfcGxheWVyIjowLCJpc19mbHYiOmZhbHNlLCJjYW50UGxheSI6MCwicGxheWVyIjp7InR5cGUiOiJ5b3V0dWJlIiwicGFyYW1zIjpbeyJsYW5nX2FkZCI6IkFkZCB0byBNeSBWaWRlb3MiLCJsYW5nX2FkZGVkIjoiVmlkZW8gYWRkZWQgdG8gTXkgVmlkZW9zIiwibGFuZ19zaGFyZSI6IlNoYXJlIiwibGFuZ19saWtlIjoiTGlrZSIsImxhbmdfZG9uYXRlIjoiRG9uYXRlIiwibGFuZ19zdWJzY3JpYmUiOiJTdWJzY3JpYmUiLCJsYW5nX3N1YnNjcmliZWQiOiJGb2xsb3dpbmciLCJsYW5nX3ZvbHVtZV9vbiI6IlVubXV0ZSIsImxhbmdfdm9sdW1lX29mZiI6Ik11dGUiLCJsYW5nX3ZvbHVtZSI6IlZvbHVtZSIsImxhbmdfaGRzZCI6IkNoYW5nZSBWaWRlbyBRdWFsaXR5IiwibGFuZ19xdWFsaXR5X2F1dG8iOiJBdXRvIiwibGFuZ19vcGVuX3BvcHVwIjoiRXhwYW5kIiwibGFuZ19mdWxsc2NyZWVuIjoiRnVsbCBTY3JlZW4iLCJsYW5nX3dpbmRvdyI6Ik1pbmltaXplIiwibGFuZ19yb3RhdGUiOiJSb3RhdGUiLCJsYW5nX2Fkc19saW5rIjoiQWR2ZXJ0aXNlciYjMzk7cyBTaXRlIiwibGFuZ19hZHMiOiJBZHMiLCJsYW5nX2Fkc19za2lwIjoiU2tpcCBhZCIsImxhbmdfYWRzX3NraXBfdGltZSI6IlNraXAgYWRzIGluIHt0aW1lfSBzIiwibGFuZ19yZXBvcnRfcHJvYmxlbSI6IlJlcG9ydCBhIHByb2JsZW0uLiIsImxhbmdfcGxheSI6IlBsYXkiLCJsYW5nX3BhdXNlIjoiUGF1c2UiLCJsYW5nX3JlcGxheSI6IlJlcGxheSIsImxhbmdfbmV4dCI6Ik5leHQgdmlkZW8iLCJsYW5nX25leHRfY2FuY2VsIjoiQ2FuY2VsIiwibGFuZ19nb3RvX29yaWdfdmlkZW8iOiJHbyB0byBWaWRlbyIsImxhbmdfZ290b19hZHZlcnRpc2Vyc19zaXRlIjoiR28gdG8gdGhlIHdlYnNpdGUiLCJsYW5nX2J1eV90aWNrZXRzIjpudWxsLCJsYW5nX2xvYWRfZXJyb3IiOiJBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbG9hZGluZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJsYW5nX2Vycl9jb2RlIjoiRXJyb3IgY29kZToge2NvZGV9IiwibGFuZ19iYWRfYnJvd3NlciI6IlNvcnJ5LCB5b3VyIGJyb3dzZXIgaXNuJiMzOTt0IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50IiwibGFuZ19saXZlIjoiTGl2ZSIsImxhbmdfbGl2ZV9zdGFydGluZ19zb29uIjoiVGhlIGxpdmUgd2lsbCBzdGFydCBzb29uIiwibGFuZ19saXZlX2ZhaWxlZCI6IkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHN0cmVhbWluZyIsImxhbmdfbGl2ZV93YWl0X3JlY29yZCI6IlRoZSBsaXZlIGhhcyBmaW5pc2hlZCBhbmQgd2lsbCBzb29uIGJlY29tZSBhdmFpbGFibGUgaW4gcmVwbGF5IiwibGFuZ19saXZlX3VzZXJfc2VudF9naWZ0IjpbIiIsInNlbnQgYSBnaWZ0Iiwic2VudCBhIGdpZnQiXSwibGFuZ19saXZlX3VzZXJfc2VudF9zdXBlcmNvbW1lbnQiOlsiIiwic2VudCBhIHN1cGVyIG1lc3NhZ2UiLCJzZW50IGEgc3VwZXIgbWVzc2FnZSJdLCJsYW5nX2xpdmVfZG93bmxvYWRfYXBwIjoiRG93bmxvYWQgYXBwIiwibGFuZ19hdXRvcGxheV92b2x1bWVfaGludCI6ItFsaWNrIHRvIHR1cm4gb24gdGhlIHNvdW5kIiwibGFuZ19hdXRvcGxheV9leHBhbmRfaGludCI6IkNsaWNrIHRvIGV4cGFuZCIsImxhbmdfdGltZWRfYnV0dG9uX2dvdG8iOiLP5fDl6fLoIiwibGFuZ190aW1lZF9idXR0b25fb3BlbiI6Ik9wZW4iLCJsYW5nX3RpbWVkX2J1dHRvbl9idXkiOiJCdXkiLCJsYW5nX3RpbWVkX2J1dHRvbl9idXlfdGlja2V0cyI6IkJ1eSB0aWNrZXRzIiwibGFuZ190aW1lZF9idXR0b25fY2hlY2tpbiI6bnVsbCwibGFuZ190aW1lZF9idXR0b25faW5zdGFsbCI6ItPx8uDt7uLo8vwiLCJsYW5nX3RpbWVkX2J1dHRvbl9jb250YWN0Ijoi0eL/5+Dy/PH/IiwibGFuZ190aW1lZF9idXR0b25fZmlsbCI6Isfg7+7r7ejy/CIsImxhbmdfdGltZWRfYnV0dG9uX2xlYXJuX21vcmUiOiJNb3JlIiwibGFuZ19jbWVudV9jb3B5X3ZpZGVvX2xpbmsiOiJDb3B5IHZpZGVvIGxpbmsiLCJsYW5nX2NtZW51X2NvcHlfdGltZWNvZGVfbGluayI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwibGFuZ19jbWVudV9jb3B5X2VtYmVkX2NvZGUiOiJDb3B5IGVtYmVkIGNvZGUiLCJsYW5nX2NtZW51X2VuYWJsZV9sb29wIjoiRW5hYmxlIGxvb3AiLCJsYW5nX2NtZW51X2Rpc2FibGVfbG9vcCI6IkRpc2FibGUgbG9vcCIsImxhbmdfY21lbnVfcGxheWJhY2tfc3BlZWQiOiJQbGF5YmFjayBzcGVlZCIsImxhbmdfY21lbnVfcmVwb3J0X2Vycm9yIjoiUmVwb3J0IGEgcHJvYmxlbS4uIiwibGFuZ19jbWVudV9jb3B5X2RlYnVnIjoiQ29weSBkZWJ1ZyBpbmZvIiwibGFuZ19hcmlhX3ZpZGVvcGxheWVyIjoiVksgVmlkZW8gUGxheWVyIiwibGFuZ19hcmlhX3ZvbHVtZV9zbGlkZXIiOiJWb2x1bWUgc2xpZGVyIiwibGFuZ19hcmlhX3ZvbHVtZV9tdXRlZCI6IlZvbHVtZSBpcyBtdXRlZCIsImxhbmdfYXJpYV90aW1lbGluZV9zbGlkZXIiOiJUaW1lIHNsaWRlciIsImxhbmdfYXJpYV90aW1lbGluZV92YWx1ZSI6Int0aW1lfSAodG90YWwgZHVyYXRpb24ge2R1cmF0aW9ufSkiLCJsYW5nX2FyaWFfZW50ZXJfZnVsbHNjcmVlbiI6IkVudGVyIGZ1bGwgc2NyZWVuIG1vZGUiLCJsYW5nX2FyaWFfZXhpdF9mdWxsc2NyZWVuIjoiRXhpdCBmdWxsIHNjcmVlbiBtb2RlIiwibGFuZ19hcmlhX3F1YWxpdHlfY3VycmVudCI6IkN1cnJlbnQgcXVhbGl0eSBpcyB7cXVhbGl0eX0iLCJ2aWRlb19wbGF5X2hkIjoiV2F0Y2ggaW4gSEQiLCJ2aWRlb19zdG9wX2xvYWRpbmciOiJTdG9wIERvd25sb2FkIiwidmlkZW9fcGxheWVyX3ZlcnNpb24iOiJWSyBWaWRlbyBQbGF5ZXIiLCJ2aWRlb19nZXRfdmlkZW9fY29kZSI6IkNvcHkgZW1iZWQgY29kZSIsInZpZGVvX2dldF9jdXJyZW50X3VybCI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwidmlkZW9fbG9hZF9lcnJvciI6IkFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsImdvdG9fb3JpZ192aWRlbyI6IkdvIHRvIFZpZGVvIiwidmlkIjoxNjg1OTE3NDEsIm9pZCI6MjE1MjY5OSwibWRfdGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwibWRfYXV0aG9yIjoiS2lyaWxsIEx5YW5veSIsImF1dGhvcl9pZCI6MjE1MjY5OSwiYXV0aG9yX2hyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJhdXRob3JfcGhvdG8iOiJodHRwczpcL1wvcHAudXNlcmFwaS5jb21cL2M2MjM4MjRcL3Y2MjM4MjQ2OTlcLzU1NTc1XC9DQ1FaMjlsMEI5ay5qcGciLCJoYXNoIjoiNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYiLCJoYXNoMiI6ImVhMWQzZGI5ODgxODEyNWQiLCJpc19leHQiOjAsImR1cmF0aW9uIjoyOTksInQiOiIiLCJ2aWdvX2NpZCI6ImNmY2QyMDg0OTVkNTY1ZWY2NmU3ZGZmOWY5ODc2NGRhIiwidmlld2VyX2lkIjowLCJwb3N0X2lkIjpudWxsLCJtb2R1bGUiOiJwcm9maWxlIiwiZyI6MCwiYSI6MCwiY2lzIjowLCJyZWNvbW1lbmRfc2lnIjoiNDYxMTY4NzZhMmYxMGFhYmY0MmE4NzYyYzUzNDAzOGUiLCJlcnJvcl9zdGF0X2hhc2giOiIxNDkwNjQ4NTAzXzU4MDhiMzJhNWQ4YzA3MTFkZCIsIm5vX2FkcyI6MSwibm9saWtlcyI6MSwiZXh0cmEiOiIyMSIsImV4dHJhX2RhdGEiOiI0VGh3czV3cTVHSSIsInRodW1iIjoiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsImpwZyI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYxNzgzMVwvdTk2MTIzMzAzXC92aWRlb1wveF81YmIwNTc4Zi5qcGciLCJoZCI6MCwibm9sb2dvIjoxLCJzaG93X25leHQiOjAsImxpa2VkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImFkZGVkIjowLCJjYW5fYWRkIjowLCJub190aXRsZSI6MCwidnNlZ3Nfc2l6ZSI6MjkuMDAwMDAwLCJ2c2Vnc19oYXNoIjoiMzkxNDQxZWIwMzg5YTI0MTQ2IiwicmVwb3J0X2Vycm9yX2hhc2giOiIzODM3MTllMGM4ZjU0NjY1OWEifV19fTwhPjwhcGFnZXZpZXdfY2FuZGlkYXRlPg==
46
- http_version:
47
- recorded_at: Mon, 27 Mar 2017 21:01:43 GMT
48
- recorded_with: VCR 3.0.3
@@ -1,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://vk.com/al_video.php
6
- body:
7
- encoding: US-ASCII
8
- string: User-Agent=VideoInfo%2F2.7&act=show&al=1&autoplay=0&module=profile&video=2152699_168591741
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Mozilla/5.0 (Linux; VideoInfo)
16
- - Ruby
17
- response:
18
- status:
19
- code: 200
20
- message: OK
21
- headers:
22
- Server:
23
- - Apache
24
- Date:
25
- - Mon, 27 Mar 2017 21:01:44 GMT
26
- Content-Type:
27
- - text/html; charset=windows-1251
28
- Content-Length:
29
- - '10265'
30
- Connection:
31
- - keep-alive
32
- X-Powered-By:
33
- - PHP/3.12334
34
- Set-Cookie:
35
- - remixlang=3; expires=Tue, 20 Mar 2018 17:27:47 GMT; path=/; domain=.vk.com
36
- Pragma:
37
- - no-cache
38
- Cache-Control:
39
- - no-store
40
- Strict-Transport-Security:
41
- - max-age=0
42
- body:
43
- encoding: ASCII-8BIT
44
- string: !binary |-
45
- PCEtLTMzMjY4NDA3MjMyMjg8IT51aV9tZWRpYV9zZWxlY3Rvci5qcyx1aV9tZWRpYV9zZWxlY3Rvci5jc3MsZW1vamkuanMsbm90aWZpZXIuY3NzLHZpZGVvdmlldy5qcyx2aWRlb3ZpZXcuY3NzLHBhZ2UuanMscGFnZS5jc3MscG9zdC5jc3MsdWlfY29udHJvbHMuanMsdWlfY29udHJvbHMuY3NzPCE+MzwhPjM3MDQ8IT4wPCE+QkVBVCBTT1VMIFNURVAglyBSREMxNCBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwLCBNYXkgMS0yLCBNb3Njb3cgMjAxNDwhPjxkaXYgY2xhc3M9InZpZGVvX2JveF93cmFwIj4KICA8ZGl2IGlkPSJ2aWRlb19wbGF5ZXIiPgogICAgPGRpdiBpZD0idmlkZW9feXQiIHRhYmluZGV4PSIwIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdXRsaW5lOjA7Ij4KICAgICAgPGlmcmFtZSBjbGFzcz0idmlkZW9feXRfcGxheWVyIiB0eXBlPSJ0ZXh0L2h0bWwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNFRod3M1d3E1R0k/ZW5hYmxlanNhcGk9MSZhdXRvcGxheT0wJnN0YXJ0PTAmYXV0b2hpZGU9MSZ3bW9kZT1vcGFxdWUmc2hvd2luZm89MCZvcmlnaW49aHR0cHM6Ly92ay5jb20mZnM9MSZyZWw9MCZjY19sb2FkX3BvbGljeT0wJml2X2xvYWRfcG9saWN5PTMiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PCE+CmFkZFRlbXBsYXRlcyh7Il8iOiJfIiwiYXVkaW9fcm93IjoiPGRpdiBjbGFzcz1cImF1ZGlvX3JvdyBfYXVkaW9fcm93IF9hdWRpb19yb3dfJTElXyUwJSAlY2xzJSBjbGVhcl9maXhcIiBvbmNsaWNrPVwicmV0dXJuIGdldEF1ZGlvUGxheWVyKCkudG9nZ2xlQXVkaW8odGhpcywgZXZlbnQpXCIgZGF0YS1hdWRpbz1cIiVzZXJpYWxpemVkJVwiIGRhdGEtZnVsbC1pZD1cIiUxJV8lMCVcIiBpZD1cImF1ZGlvXyUxJV8lMCVcIj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX3BsYXlfd3JhcFwiIGRhdGEtbm9kcmFnPVwiMVwiPjxidXR0b24gY2xhc3M9XCJhdWRpb19wbGF5IF9hdWRpb19wbGF5XCIgaWQ9XCJwbGF5XyUxJV8lMCVcIiBhcmlhLWxhYmVsPVwiXCI+PFwvYnV0dG9uPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX2luZm9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fZHVyYXRpb25fd3JhcCBfYXVkaW9fZHVyYXRpb25fd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2hxX2xhYmVsXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2R1cmF0aW9uIF9hdWRpb19kdXJhdGlvblwiPiVkdXJhdGlvbiU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJyZWNvbVwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5zaG93UmVjb21zKHRoaXMsICclMSVfJTAlJywgZXZlbnQpXCI+PGRpdj48XC9kaXY+PFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJuZXh0XCIgb25tb3VzZW92ZXI9XCJhdWRpb1Nob3dBY3Rpb25Ub29sdGlwKHRoaXMsICclMSVfJTAlJylcIiBvbmNsaWNrPVwiZ2V0QXVkaW9QbGF5ZXIoKS5zZXROZXh0KHRoaXMsIGV2ZW50KVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiZWRpdFwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5lZGl0QXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIj48ZGl2PjxcL2Rpdj48XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWRpb19hY3QgX2F1ZGlvX2FjdF9kZWxldGVcIiBpZD1cImRlbGV0ZVwiIG9uY2xpY2s9XCJBdWRpb1BhZ2UodGhpcykuZGVsZXRlQXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiYWRkXCIgb25jbGljaz1cInJldHVybiBhZGRBdWRpbyh0aGlzLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fdGl0bGVfd3JhcFwiXG4gICAgID48YSBocmVmPVwiJXNlYXJjaF9ocmVmJVwiIG9ubW91c2VvdmVyPVwic2V0VGl0bGUodGhpcylcIiBub2RyYWc9XCIxXCIgb25jbGljaz1cInJldHVybiBhdWRpb1NlYXJjaFBlcmZvcm1lcih0aGlzLCBldmVudClcIiBjbGFzcz1cImF1ZGlvX3BlcmZvcm1lclwiPiU0JTxcL2FcbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9faW5mb19kaXZpZGVyXCI+Jm5kYXNoOzxcL3NwYW5cbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9fdGl0bGUgX2F1ZGlvX3RpdGxlXCIgb25tb3VzZW92ZXI9XCJzZXRUaXRsZSh0aGlzLCBkb21QTih0aGlzKSlcIlxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJhdWRpb190aXRsZV9pbm5lclwiIHRhYmluZGV4PVwiMFwiIG5vZHJhZz1cIjFcIiBhcmlhLWxhYmVsPVwiJTMlXCIgb25jbGljaz1cInJldHVybiB0b2dnbGVBdWRpb0x5cmljcyhldmVudCwgdGhpcywgJyUxJV8lMCUnLCAnJTklJylcIj4lMyU8XC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhdWRpb19hdXRob3JcIiBvbmNsaWNrPVwiY3VyLmNhbmNlbENsaWNrPXRydWVcIj4lOCU8XC9zcGFuPlxuICAgICAgPFwvc3BhblxuICAgID48XC9kaXY+XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19wbGF5ZXJfd3JhcFwiPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19seXJpY3Nfd3JhcCBhdWRpb19seXJpY3NcIiBkYXRhLW5vZHJhZz1cIjFcIj48XC9kaXY+XG48XC9kaXY+IiwiYXVkaW9fYml0c190b19jbHMiOiJ7XCIxXCI6XCJpbmxpbmVkXCIsXCIyXCI6XCJseXJpY3NcIixcIjRcIjpcImNhbmVkaXRcIixcIjhcIjpcImNhbmFkZFwiLFwiNjRcIjpcInJlY29tc1wiLFwiMTZcIjpcImNsYWltZWRcIixcIjMyXCI6XCJjbGFpbWVkX3RpdGxlXCIsXCIyNTZcIjpcImZyb21fcXVldWVcIixcIjUxMlwiOlwiaHFcIixcIjMyNzY4XCI6XCJsdGJcIixcIjE2Mzg0XCI6XCJscGJcIixcIjQwOTZcIjpcImNsYWltX2hpZGRlblwiLFwiMjA0OFwiOlwiY2xhaW1fbW9kZVwiLFwiODE5MlwiOlwiY2xhaW1fdW1hXCJ9In0pO2N1ci5pbmNWaWV3cyA9IGZ1bmN0aW9uKCkgewogIHZhciBvaWR2aWQgPSAnMjE1MjY5OV8xNjg1OTE3NDEnOwogIGlmIChjdXIudmlkZW9JbmMgJiYgY3VyLnZpZGVvSW5jW29pZHZpZF0pIHsKICAgIHJldHVybjsKICB9CiAgaWYgKCFjdXIudmlkZW9JbmMpIHsKICAgIGN1ci52aWRlb0luYyA9IHt9OwogICAgY3VyLnZpZGVvU3RhcnRlZCA9IHt9OwogIH0KICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9ICdmaW5pc2hlZCc7CiAgICB2YXIgbSA9IHdpbmRvdy5WaWRlbyA/IFZpZGVvdmlldy5nZXRWaWRlb01vZHVsZShvaWR2aWQpIDogY3VyLm1vZHVsZTsKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICBhamF4LnBvc3QoImFsX3ZpZGVvLnBocCIsIHthY3Q6J2luY192aWV3X2NvdW50ZXInLCBvaWQ6b2lkLCB2aWQ6MTY4NTkxNzQxLCBoYXNoOic3Mjk1YjM5Nzg0OTdmMDg2OThiOGNjYjdkMzBhMGM2NicsIG1vZHVsZTogbX0pOwogICAgfQogIH0sIDUwMDApOwogIGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gPSAnZmluaXNoZWQnOwogICAgdmFyIG0gPSB3aW5kb3cuVmlkZW8gPyBWaWRlb3ZpZXcuZ2V0VmlkZW9Nb2R1bGUob2lkdmlkKSA6IGN1ci5tb2R1bGU7CgogICAgdmFyIHZpZGVvY2F0ID0gJyc7CiAgICBpZiAod2luZG93LlZpZGVvY2F0ICYmIHdpbmRvdy5WaWRlbyAmJiBWaWRlby5pc0luQ2F0YWxvZygpKSB7CiAgICAgIHZhciBwbElkID0gVmlkZW9QbGF5bGlzdC5nZXRDdXJMaXN0SWQoKTsKICAgICAgaWYgKFZpZGVvY2F0LmlzVG9wM1BsYXlsaXN0KHBsSWQpKSB7CiAgICAgICAgdmlkZW9jYXQgPSAnZmVhdHVyZWQnOwogICAgICB9IGVsc2UgewogICAgICAgIHZpZGVvY2F0ID0gcGxJZDsKICAgICAgfQogICAgfQoKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICB3aW5kb3cubXZjdXIgPSB3aW5kb3cubXZjdXIgfHwge307CiAgICAgIG12Y3VyLnZpZXdTdGFydGVkVGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgIGFqYXgucG9zdCgiYWxfdmlkZW8ucGhwIiwge2FjdDondmlkZW9fdmlld19zdGFydGVkJywgb2lkOm9pZCwgdmlkOjE2ODU5MTc0MSwgaGFzaDonNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYnLCBtb2R1bGU6IG0sIHZpZGVvY2F0OiB2aWRlb2NhdH0pOwogICAgfQogIH0sIDApOwogIGN1ci5kZXN0cm95LnB1c2goZnVuY3Rpb24gKCkgewogICAgaWYgKGN1ci52aWRlb0luY1tvaWR2aWRdICYmIGN1ci52aWRlb0luY1tvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb0luY1tvaWR2aWRdKTsKICAgIH0KICAgIGlmIChjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gJiYgY3VyLnZpZGVvU3RhcnRlZFtvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSk7CiAgICB9CiAgfSk7Cn07Cm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvID0gJzIxNTI2OTlfMTY4NTkxNzQxJzsgCm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvSGFzaCA9ICdkNGVhNDY4N2YwMWNjMWVlOWQnOyAKbXZjdXIubXZEYXRhLmFkZGVkVmlkZW9TaGFyZUhhc2ggPSAnOGJhOGZkYWZjZjQ2ZTFiYzY4JzsKbXZjdXIubXZEYXRhLm5lZWRzTmV3ID0gMTs8IT4KCjxkaXYgY2xhc3M9Im12X2luZm9fd2lkZV9jb2x1bW4gZmxfbCI+CiAgCiAgPGRpdiBjbGFzcz0ibXZfdGl0bGVfYmxvY2siPgogICAgPGRpdiBpZD0ibXZfdmlld3MiIGNsYXNzPSJtdl92aWV3c19jb3VudCAiIG9ubW91c2VvdmVyPSIiPjM3IHZpZXdzPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl90aXRsZSIgaWQ9Im12X3RpdGxlIj5CRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfYWN0aW9uc19ibG9jayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImZsYXRfYnV0dG9uIHNlY29uZGFyeSBidXR0b25fbGlnaHQgbXZfc2hhcmVfYnV0dG9uIiBzdHlsZT0iZGlzcGxheTpub25lOyIgb25jbGljaz0idmlkZW92aWV3LnNlbmRWaWRlbygpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X3NoYXJlX2ljb24iPjwvc3Bhbj5TaGFyZQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXZfYWRkX3dyYXAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmbGF0X2J1dHRvbiBzZWNvbmRhcnkgYnV0dG9uX2xpZ2h0IG12X2VkaXRfYnV0dG9uIiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2ODU5MTc0MSwgMjE1MjY5OSkiIGlkPSJtdl9lZGl0X2J1dHRvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X2VkaXRfaWNvbiI+PC9zcGFuPkVkaXQgdmlkZW8KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtdl9tb3JlIGZsX2wiIGlkPSJtdl9tb3JlIj5Nb3JlPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfYmxvY2siPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgPGEgaHJlZj0iL2x5YW5vaS5raXJpbGwiIGNsYXNzPSJtdl9hdXRob3JfcGhvdG9fd3JhcCBmbF9sIj4KICAgICAgICA8aW1nIGlkPSJtdl9hdXRob3JfcGhvdG8iIGNsYXNzPSJtdl9hdXRob3JfcGhvdG8iIHNyYz0iaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjIzODI0L3Y2MjM4MjQ2OTkvNTU1NzUvQ0NRWjI5bDBCOWsuanBnIj4KICAgICAgPC9hPgogICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfaW5mbyBmbF9sIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfbmFtZSI+CiAgICAgICAgICA8YSBjbGFzcz0ibWVtX2xpbmsiIGhyZWY9Ii9seWFub2kua2lyaWxsIj5LaXJpbGwgTHlhbm95PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im12X2luZm9fZGF0ZSI+TWF5IDEyLCAyMDE0IGF0IDk6MjMgYW0gZnJvbSA8YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRndhdGNoJTNGdiUzRDRUaHdzNXdxNUdJIiB0YXJnZXQ9Il9ibGFuayI+WW91VHViZTwvYT4gPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtdl9kZXNjcmlwdGlvbl9ibG9jayI+CiAgPGRpdiBjbGFzcz0ic2VsZWN0X2ZpeCBjbGVhcl9maXgiPgogICAgPGRpdiBpZD0ibXZfZGVzY3JpcHRpb24iIGNsYXNzPSJtdl9kZXNjIj4KICA8ZGl2IGNsYXNzPSJqc19tdl9kZXNjcl9maWVsZCBjYW50X2VkaXQiIGlkPSJtdl9kZXNjcl9maWVsZCI+QkVBVCBTT1VMIFNURVAgJiM5NzMzOyBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwICYjOTczMzsgMS0yIOzg/ywgzO7x6uLgIDIwMTQ8YnI+Q2hvcmVvZ3JhcGh5OiBLYXRpZTxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZwcm9qZWN0ODE4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiIHRhcmdldD0iX2JsYW5rIj5wcm9qZWN0ODE4LmNvbTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MThydXNzaWEiIG1lbnRpb25faWQ9InByb2plY3Q4MThydXNzaWEiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly92ay5jb20vcHJvamVjdDgxOCIgbWVudGlvbl9pZD0icHJvamVjdDgxOCIgb25jbGljaz0icmV0dXJuIG1lbnRpb25DbGljayh0aGlzLCBldmVudCkiIG9ubW91c2VvdmVyPSJtZW50aW9uT3Zlcih0aGlzKSI+dmsuY29tL3Byb2plY3Q4MTg8L2E+PGJyPi4uPC9kaXY+CiAgPGEgaWQ9Im12X2Rlc2NyX2V4cGFuZF90b2dnbGUiIGNsYXNzPSJ3YWxsX3Bvc3RfbW9yZSIgc3R5bGU9IiIgb25jbGljaz0iVmlkZW92aWV3LmV4cGFuZERlc2NyKHRoaXMpIj5FeHBhbmQgdGV4dIU8L2E+CiAgPGRpdiBpZD0ibXZfZGVzY19mdWxsX3RleHQiPkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGcHJvamVjdDgxOC5jb20iIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+cHJvamVjdDgxOC5jb208L2E+IHwgPGEgaHJlZj0iaHR0cDovL3ZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhIiBtZW50aW9uX2lkPSJwcm9qZWN0ODE4cnVzc2lhIiBvbmNsaWNrPSJyZXR1cm4gbWVudGlvbkNsaWNrKHRoaXMsIGV2ZW50KSIgb25tb3VzZW92ZXI9Im1lbnRpb25PdmVyKHRoaXMpIj52ay5jb20vcHJvamVjdDgxOHJ1c3NpYTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MTgiIG1lbnRpb25faWQ9InByb2plY3Q4MTgiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4PC9hPjxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZmYWNlYm9vay5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmZhY2Vib29rLmNvbS9Qcm9qZWN0ODE4UnVzc2lhPC9hPjxicj48YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZwcm9qZWN0ODE4IiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmluc3RhZ3JhbS5jb20vcHJvamVjdDgxODwvYT48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZ0d2l0dGVyLmNvbSUyRnByb2plY3Q4MTgiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+dHdpdHRlci5jb20vcHJvamVjdDgxODwvYT48YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPnlvdXR1YmUuY29tL1Byb2plY3Q4MThSdXNzaWE8L2E+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4Y2hhbXAiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+eW91dHViZS5jb20vUHJvamVjdDgxOGNoYW1wPC9hPjwvZGl2PgogIDxkaXYgY2xhc3M9InByICIgaWQ9Im12X2lubGluZV9lZGl0X3ByIj48ZGl2IGNsYXNzPSJwcl9idCI+PC9kaXY+PGRpdiBjbGFzcz0icHJfYnQiPjwvZGl2PjxkaXYgY2xhc3M9InByX2J0Ij48L2Rpdj48L2Rpdj4KPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgogIDxkaXYgY2xhc3M9Im12X2NvbW1lbnRzX2Jsb2NrIHdhbGxfbW9kdWxlIj4KICAgIDxkaXYgaWQ9InBvc3QyMTUyNjk5X3ZpZGVvMTY4NTkxNzQxbXYiPgogICAgICA8ZGl2IGlkPSJtdl9jb21tZW50c193cmFwIj4KICA8ZGl2IGlkPSJtdl9jb21tZW50c19oZWFkZXIiIG9uY2xpY2s9IlZpZGVvdmlldy5tb3JlQ29tbWVudHMoKTsiIGNsYXNzPSJtdl9jb21tZW50c19leHBhbmRlZCI+PC9kaXY+CiAgPGRpdiBpZD0ibXZfY29tbWVudHNfc3VtbWFyeSIgY2xhc3M9Im12X2NvbW1lbnRzX3N1bW1hcnkgbXZfY29tbWVudHNfZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KICA8ZGl2IGlkPSJtdl9jb21tZW50cyI+PC9kaXY+CjwvZGl2PgogICAgICAKICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibXZfaW5mb19uYXJyb3dfY29sdW1uIGZsX3IiPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2Jsb2NrIj4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9ibG9ja190aXRsZSI+T3RoZXIgdmlkZW9zPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYyNDU1Nzk4IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2MjQ1NTc5OCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjA3OC91MzIwNjcwMi92aWRlby9sX2EzMzUxNDhmLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjI6NDE8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2MjQ1NTc5OCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjI0NTU3OTgnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJMaXB0b24gRGFuY2UgLSDP8Ojx7uXk6O3/6fH/IOog8uDt9vMmIzMzOyAo9Ovl+Ozu4SDt4CDCxM3VKSI+TGlwdG9uIERhbmNlIC0gz/Do8e7l5Ojt/+nx/yDqIPLg7fbzJiMzMzsgKPTr5fjs7uEg7eAgwsTN1Sk8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjMyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODgxNjIwNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjg4MTYyMDQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzYxOTkyNy91MjE1MjY5OS92aWRlby9sX2VmZDFjNzA5LmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjA6NTY8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODgxNjIwNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjg4MTYyMDQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJUd29NYW4gcHJvamVjdC4gUHJvbW8yIj5Ud29NYW4gcHJvamVjdC4gUHJvbW8yPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj41NCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjgyODI0NDMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4MjgyNDQzJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1NDAzMDQvdTU4MTA1NzI4L3ZpZGVvL2xfOGZkNTg1ZmUuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+Mjo1NjwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4MjgyNDQzIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODI4MjQ0MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9Ik5vIG5hbWUiPk5vIG5hbWU8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjE3IHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Mzk0MjkxNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjM5NDI5MTQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUyNjYxMS91NTU4MDE1NTMvdmlkZW8vbF8yMGU3ZjMwMC5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjU2PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjM5NDI5MTQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYzOTQyOTE0JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iz+7k6PPs7fvlIPHy8ODx8uguICI+z+7k6PPs7fvlIPHy8ODx8uguIDwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MzQgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4MzMxMzU0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODMzMTM1NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjA3NjIwL3U0Mzg5ODY2L3ZpZGVvL2xfYWIxMTY2Y2IuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MzoyNTwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4MzMxMzU0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODMzMTM1NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9ItLl4PLw4Ovo5+7i4O3t7uUg7vLq8Pvy6OUg6u7t6vPw8eAgJnF1b3Q7zO7x6u7i8ero5SDs4PHy5fDgLTIwMTQmcXVvdDsvLyDKwNEguTciPtLl4PLw4Ovo5+7i4O3t7uUg7vLq8Pvy6OUg6u7t6vPw8eAgJnF1b3Q7zO7x6u7i8ero5SDs4PHy5fDgLTIwMTQmcXVvdDsvLyDKwNEguTc8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjQyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODk4ODk3NyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjg5ODg5NzcnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzU0MDMwMS91MjQ2MTA1MDg5L3ZpZGVvL2xfZGI3MWI2NjYuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MDozMDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTc3IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk3NycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9Ik1peC3y5fDo/yD47vMg1PDo6iDY7vMiPk1peC3y5fDo/yD47vMg1PDo6iDY7vM8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjIyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2MTUzMzA0MiIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjE1MzMwNDInLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUxMDQxNS91MTQzNDgyNzEvdmlkZW8vbF83ZTA1YTBmZC5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjUyPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjE1MzMwNDIiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYxNTMzMDQyJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iwO3y7u0gyuDs4Ovo8uTo7e7iIC0gw+7r7vHz6fLlIOfgIOzl7f8iPsDt8u7tIMrg7ODr6PLk6O3u4iAtIMPu6+7x8+ny5SDn4CDs5e3/PC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4yMTQgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY2OTUyNjA2IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Njk1MjYwNicsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTM0MjIxL3U1NDEzNzAvdmlkZW8vbF83YWI1NDc1Ni5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjA5PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjY5NTI2MDYiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY2OTUyNjA2JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iTm8gbmFtZSI+Tm8gbmFtZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MTYzIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Njk1MjU5OSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY5NTI1OTknLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUxMzIxOS91MjE0OTc0ODczL3ZpZGVvL2xfYmU2ZTM2OWQuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+NDowNjwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY2OTUyNTk5IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Njk1MjU5OScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IsHl5yDt4Ofi4O3o/yI+weXnIO3g5+Lg7ej/PC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj40MCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MTE3MDMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzExNzAzJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M2MDc0MjAvdTEzOTU0MDEzL3ZpZGVvL2xfYzI3ZmYxMjkuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MjoyOTwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY3NzExNzAzIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2NzcxMTcwMycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IlBBUlRZIDExNCAuWyBTRUNSRVQgUExBQ0VdIj5QQVJUWSAxMTQgLlsgU0VDUkVUIFBMQUNFXTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NDUgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj48IT48IT48IWpzb24+eyJsYW5nIjp7Imdsb2JhbF9zaG9ydF9kYXRlX3RpbWUiOlsiIiwie2RheX0ge21vbnRofSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInllc3RlcmRheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRvZGF5IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwidG9tb3Jyb3cgYXQge2hvdXJ9OnttaW51dGV9IHthbV9wbX0iXSwicmVwbHlfdG9fcG9zdCI6IllvdXIgY29tbWVudC4uIiwid2FsbF9NX3JlcGxpZXNfb2ZfTiI6WyIiLCIlcyBjb21tZW50IG9mIHtsaW5rfXthbGx9e1wvbGlua30iLCIlcyBjb21tZW50cyBvZiB7bGlua317YWxsfXtcL2xpbmt9Il0sIndhbGxfbW9yZV9yZXBsaWVzIjpbIiIsInNob3cgJXMgbW9yZSBjb21tZW50Iiwic2hvdyAlcyBtb3JlIGNvbW1lbnRzIl0sIndhbGxfYWxsX3JlcGxpZXMiOiJhbGwgY29tbWVudHMiLCJkb250X2F0dGFjaCI6IlJlbW92ZSBhdHRhY2htZW50IiwidmlkZW9fWF9jb21tcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwidmlkZW9fZWRpdCI6IkVkaXQgdmlkZW8iLCJ2aWRlb19lZGl0X2Rlc2MiOiJFZGl0IGRlc2NyaXB0aW9uIiwidmlkZW9fZWRpdF9kZXNjX2ludHJvIjoiRW50ZXIgZGVzY3JpcHRpb24iLCJ2aWRlb19zaG93X3ByZXZpb3VzX2NvbW1lbnRzIjpbIiIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudCIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudHMiXSwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIHRoaXMgdmlkZW8/IiwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlX3RpdGxlIjoiQ2xvc2UgdmlkZW8iLCJwcm9maWxlX21lbnRpb25fbm90X2ZvdW5kIjoiVXNlciB3YXMgbm90IGZvdW5kIiwicHJvZmlsZV9tZW50aW9uX3N0YXJ0X3R5cGluZyI6IlN0YXJ0IHR5cGluZyBhIG5hbWUuLiIsInZpZGVvX2FsYnVtX2lzX3ByaXZhdGVfdHQiOiJUaGlzIGFsYnVtIGlzIHByaXZhdGUiLCJ2aWRlb19hZGRfdG9fbXlfcGxheWxpc3QiOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfdG9fbXlfcGxheWxpc3QiOiJBZGRlZCIsInZpZGVvX2NoYW5nZXNfc2F2ZWQiOiJDaGFuZ2VzIHNhdmVkIiwidmlkZW9fYWRkX2FsYnVtIjoiQ3JlYXRlIGFsYnVtIiwidmlkZW9fYWRkX3ByaXZhdGVfYWxidW0iOiJDcmVhdGUgYSBwcml2YXRlIGFsYnVtIiwidmlkZW9fYWRkX3RvX2dyb3VwIjoiQWRkIHRvIGNvbW11bml0eSIsInZpZGVvX2V4cG9ydF9hY3Rpb24iOiJFeHBvcnQiLCJ2aWRlb19zdGF0aXN0aWNzIjoiU3RhdGlzdGljcyIsInZpZGVvX2NvbXBsYWluIjoiUmVwb3J0IiwidmlkZW9fc2VsZWN0X2FsYnVtcyI6IlNlbGVjdCBhbGJ1bXMiLCJ2aWRlb190Y19zdXJlX2RlbGV0ZSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyB2aWRlbz88YnI+PGJyPllvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIHJlc3RvcmUgdGFncyBhbmQgY29tbWVudHMuIiwidmlkZW9fdGNfZGVsZXRlIjoiRGVsZXRlIiwidmlkZW9fZGVsZXRlX2RpYWxvZ190aXRsZSI6IkRlbGV0ZSB2aWRlbyIsInZpZGVvX2RlbGV0ZV9ib3hfbm9fdGl0bGUiOiJObyIsInZpZGVvX21lbnVfZGVsZXRlIjoiRGVsZXRlIHZpZGVvIiwidmlkZW9fdmlld3NfY291bnRfdHRfdGV4dCI6Ik9yaWdpbmFsIHZpZGVvIHZpZXdzICh0b3RhbCB2aWV3cykiLCJ2aWRlb19vbmx5X3ByaXZhdGVfdmlkZW8iOiJUaGlzIHZpZGVvIGNhbiBvbmx5IGJlIGFkZGVkIHRvIGEgcHJpdmF0ZSBhbGJ1bSIsInZpZGVvX2xlYXZlX2Nsb3NlZF9ncm91cF90aXRsZSI6IkxlYXZlIGNsb3NlZCBjb21tdW5pdHkiLCJ2aWRlb19sZWF2ZV9jbG9zZWRfZ3JvdXBfdGV4dCI6IllvdSBhcmUgYWJvdXQgdG8gbGVhdmUgYSBjbG9zZWQgY29tbXVuaXR5LiBJdCBtYXkgbm90IGJlIHRoYXQgZWFzeSB0byBjb21lIGJhY2suIExlYXZlIHRoZSBjb21tdW5pdHk/IiwidmlkZW9fbGVhdmVfYWRtaW5lZF9ncm91cF90ZXh0IjoiWW91IGFyZSBhbiA8Yj5hZG1pbmlzdHJhdG9yPFwvYj4gaW4gdGhpcyBjb21tdW5pdHkuIFlvdSB3aWxsIGxvc2UgdGhpcyBwb3NpdGlvbiBpZiB5b3UgbGVhdmUgbm93LiBMZWF2ZSB0aGUgY29tbXVuaXR5PyIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlX3RvX2F1dGhvciI6IlN1YnNjcmliZSIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlZF9tc2ciOiJGb2xsb3dpbmciLCJ2aWRlb19wbGF5ZXJfbmV4dF90aXRsZSI6Ik5leHQgdmlkZW8iLCJ2aWRlb19pX2xpa2UiOiJMaWtlIiwidmlkZW9fc2hhcmVfd2l0aF9mcmllbmRzIjoiU2hhcmUiLCJ2aWRlb19hZGRfZmxhc2giOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfZmxhc2giOiJWaWRlbyBhZGRlZCB0byBNeSBWaWRlb3MiLCJ2aWRlb19jb21tZW50c19zdW1tYXJ5IjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ2aWRlb19OX3ZpZXdzX2xpc3QiOlsiIiwiJXMgdmlldyIsIiVzIHZpZXdzIl0sInZpZGVvX3BsYXlsaXN0X3JldmVyc2VfdHQiOiJSZXZlcnNlIG9yZGVyIiwidmlkZW9fcGxheWxpc3RfYXV0b3BsYXlfZGlzYWJsZV90dCI6IkRpc2FibGUgYXV0b3BsYXkiLCJ2aWRlb19wbGF5bGlzdF9hdXRvcGxheV9lbmFibGVfdHQiOiJFbmFibGUgYXV0b3BsYXkiLCJ2aWRlb19saXZlX05fd2F0Y2hpbmciOlsiIiwiJXMgaXMgd2F0Y2hpbmcgbm93IiwiJXMgYXJlIHdhdGNoaW5nIG5vdyJdLCJ2aWRlb19saXZlX2NoYXRfbXNnX3Rvb19sb25nIjoiVGhlIG1lc3NhZ2UgaXMgdG9vIGxvbmciLCJ2aWRlb19saXZlX2NoYXRfdG9vX2Zhc3QiOiJUb28gZmFzdIUiLCJ2aWRlb19hcmlhX21pbmltaXplX3BsYXlsaXN0IjoiSGlkZSBwbGF5bGlzdCIsInZpZGVvX2FyaWFfZXhwYW5kX3BsYXlsaXN0IjoiU2hvdyBwbGF5bGlzdCIsInZpZGVvX2FyaWFfbWluaW1pemVfY2hhdCI6IkhpZGUgY2hhdCIsInZpZGVvX2FyaWFfZXhwYW5kX2NoYXQiOiJFeHBhbmQgY2hhdCIsInZpZGVvX2xpdmVfbm90aWZ5X3N1YnNjcmliZWQiOiJTdHJlYW0gbm90aWZpY2F0aW9ucyBlbmFibGVkIiwidmlkZW9fbGl2ZV9ub3RpZnlfdW5zdWJzY3JpYmVkIjoiU3RyZWFtIG5vdGlmaWNhdGlvbnMgZGlzYWJsZWQiLCJ2aWRlb19saXZlX3lvdV9oYXZlX1hfbW9uZXkiOiJZb3UgaGF2ZSB7bW9uZXl9IiwidmlkZW9fdW5mb2xsb3dfZnJpZW5kX3RpdGxlIjoiUmVtb3ZlIGZyb20gZnJpZW5kcyIsInZpZGVvX3VuZm9sbG93X2ZyaWVuZF90ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSBLaXJpbGwgZnJvbSB5b3VyIGZyaWVuZCBsaXN0PyJ9LCJtdkRhdGEiOnsidGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwiZGVzYyI6IkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPnByb2plY3Q4MTguY29tIHwgdmsuY29tXC9wcm9qZWN0ODE4cnVzc2lhIHwgdmsuY29tXC9wcm9qZWN0ODE4PGJyPjxicj5mYWNlYm9vay5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+aW5zdGFncmFtLmNvbVwvcHJvamVjdDgxODxicj50d2l0dGVyLmNvbVwvcHJvamVjdDgxODxicj48YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThjaGFtcCIsIm9pZCI6MjE1MjY5OSwidmlkIjoxNjg1OTE3NDEsImF1dGhvcklkIjoyMTUyNjk5LCJhdXRob3JQaG90byI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYyMzgyNFwvdjYyMzgyNDY5OVwvNTU1NzVcL0NDUVoyOWwwQjlrLmpwZyIsImF1dGhvckhyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJ2aWRlb1JhdyI6IjIxNTI2OTlfMTY4NTkxNzQxIiwiaGFzaCI6IjAyMzY0NmMwYmM3MTEwYWQ5MSIsImxpa2VIYXNoIjoiMzBjYzE4OTJmODFkZWI2MjM1IiwiZWRpdEhhc2giOiIiLCJlZGl0RnJvbURyb3Bkb3duIjowLCJoaWRlRWRpdCI6bnVsbCwiY29tbXNob3duIjowLCJjb21tY291bnQiOjAsImxpa2VkIjpmYWxzZSwibGlrZXMiOjAsImFkZGVkIjowLCJjYW5fYWRkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsIm5vbGlrZXMiOjEsImR1cmF0aW9uIjoyOTksInZzZWdzU2l6ZSI6MjkuMDAwMDAwLCJwbGF5bGlzdHMiOltdLCJ1cGxvYWRlZCI6ZmFsc2UsInB1Ymxpc2hlZCI6dHJ1ZSwibm9Db250cm9scyI6ZmFsc2UsInBsYXlsaXN0QWRkSGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImRlbGV0ZUhhc2giOiIiLCJyZXBvcnRSZWFzb25zIjpbXSwicmVwb3J0SGFzaCI6IjFkY2MzZjJkNDE2OWY1NTBjMCIsImluZm8iOlsyMTUyNjk5LDE2ODU5MTc0MSwiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsIkJFQVQgU09VTCBTVEVQIJcgUkRDMTQgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCwgTWF5IDEtMiwgTW9zY293IDIwMTQiLDMsIjQ6NTkiLCIiLCIiLCI8YSBocmVmPVwiXC9seWFub2kua2lyaWxsXCIgY2xhc3M9XCJtZW1fbGlua1wiPktpcmlsbCBMeWFub3k8XC9hPiIsMTM5OTg3NTc4MywzN10sImNhbkV4cG9ydCI6MSwiaXNWaWRlb0FkcyI6ZmFsc2UsImRlbGV0ZUZyb21BbGxBbGJ1bXNIYXNoIjoiIiwiaXNfbGl2ZSI6MCwiaXNfYWN0aXZlX2xpdmUiOjAsIlBMQVlMSVNUX0FEREVEX0lEIjotMiwiUExBWUxJU1RfVVBMT0FERURfSUQiOi0xLCJub1B1YmxpY0FkZCI6ZmFsc2UsIlBMQVlFUl9GVUxMX1dJRFRIIjo5NjAsIlBMQVlFUl9GVUxMX0hFSUdIVCI6NTQwLCJQTEFZRVJfUExfV0lEVEgiOjcyMCwiUExBWUVSX1BMX0hFSUdIVCI6NDA1LCJsX3R5cGUiOjIsImt6IjowLCJ0bnNfbW9uZXRpemVkIjp0cnVlfSwid2FsbFRwbCI6eyJyZXBseV9ib3giOiI8ZGl2IGlkPVwicmVwbHlfYm94X3dyYXAlcG9zdF9pZCVcIj48ZGl2IGNsYXNzPVwicmVwbHlfYm94X2lubmVyX3dyYXBcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hfd3JhcFwiIGlkPVwicmVwbHlfZmFrZWJveCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5zaG93RWRpdFJlcGx5KCclcG9zdF9pZCUnLCBldmVudClcIiBkYXRhLW93bmVyLXBob3RvPVwiJW93bmVyX3Bob3RvJVwiIGRhdGEtb3duZXItaHJlZj1cIiVvd25lcl9ocmVmJVwiPlxuICAgIDxkaXYgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJcIj5cbiAgPGEgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfbGlua1wiIGhyZWY9XCJcL2lkXCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpXCI+XG4gICAgPGltZyBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9pbWFnZVwiIHNyYz1cIlwvaW1hZ2VzXC9jYW1lcmFfNTAucG5nXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+JXVzZXJfaW1hZ2UlXG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hcIj5MZWF2ZSBhIGNvbW1lbnQuLi48XC9kaXY+PFwvZGl2PlxuPFwvZGl2PjxcL2Rpdj48aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwicG9zdF9oYXNoJXBvc3RfaWQlXCIgdmFsdWU9XCIxNDkwNjQ4NTA0XzU5OGZkN2U5MDU3ZjRkNmI3NFwiIGNhbl9yZXBseV9hc19ncm91cD1cIiVjYW5fcmVwbHlfYXNfZ3JvdXAlXCIgXC8+IiwicmVwbHlfZm9ybSI6IjxkaXYgaWQ9XCJyZXBseV9ib3glcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0X2JveCByZXBseV9ib3ggY2xlYXJfZml4IF9zdWJtaXRfcG9zdF9ib3hcIiBvbmNsaWNrPVwicmV0dXJuIGNhbmNlbEV2ZW50KGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9ybVwiPlxuICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJyZXBseV90byVwb3N0X2lkJVwiIHZhbHVlPVwiXCIgXC8+XG4gICAgPGRpdiBjbGFzcz1cInBvc3RfZmllbGRfdXNlclwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIlwvaWRcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudClcIj5cbiAgICA8aW1nIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2ltYWdlXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPFwvYT5cbjxcL2Rpdj4ldXNlcl9pbWFnZSVcbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZmllbGRfd3JhcCBfZW1vamlfZmllbGRfd3JhcFwiPlxuICAgICAgPGRpdiBpZD1cInJlcGx5X3NtaWxlJXBvc3RfaWQlXCIgY2xhc3M9XCJlbW9qaV9zbWlsZV93cmFwICBfZW1vamlfd3JhcFwiPlxuICA8ZGl2IGNsYXNzPVwiZW1vamlfc21pbGUgX2Vtb2ppX2J0blwiIHRpdGxlPVwiVXNlIHRoZSBUQUIga2V5IHRvIGluc2VydCBlbW9qaSBmYXN0ZXJcIiBvbm1vdXNlb3Zlcj1cInJldHVybiBFbW9qaS5zaG93KHRoaXMsIGV2ZW50KTtcIiBvbm1vdXNlb3V0PVwicmV0dXJuIEVtb2ppLmhpZGUodGhpcywgZXZlbnQpO1wiIG9uY2xpY2s9XCJyZXR1cm4gY2FuY2VsRXZlbnQoZXZlbnQpO1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlbW9qaV9zbWlsZV9pY29uXCI+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfZmllbGQlcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2ZpZWxkIHN1Ym1pdF9wb3N0X2ZpZWxkXCIgb25mb2N1cz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KTtcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJMZWF2ZSBhIGNvbW1lbnQuLi5cIj48XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIDxkaXYgaWQ9XCJzdWJtaXRfcmVwbHklcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0IGNsZWFyX2ZpeFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X3dhcm4gY2xlYXJcIiBpZD1cInJlcGx5X3dhcm4lcG9zdF9pZCVcIj48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfbWVkaWFfcHJldmlldyVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfbWVkaWFfcHJldmlldyBjbGVhcl9maXggbWVkaWFfcHJldmlld1wiPjxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZGRwb3N0X2J1dHRvbl93cmFwXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmbGF0X2J1dHRvbiBhZGRwb3N0X2J1dHRvblwiIGlkPVwicmVwbHlfYnV0dG9uJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwuc2VuZFJlcGx5KCclcG9zdF9pZCUnLCBldmVudCwge30pO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseVN1Ym1pdFRvb2x0aXAoJyVwb3N0X2lkJScsIDEsIHRoaXMpO1wiIG9ubW91c2VvdXQ9XCJ3YWxsLnJlcGx5U3VibWl0VG9vbHRpcCgnJXBvc3RfaWQlJywgMCwgdGhpcyk7XCI+UG9zdDxcL2J1dHRvbj5cbiAgICAgIDxcL2Rpdj5cbiAgICAgICVhZGRfYnV0dG9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX2FkZF9tZWRpYVwiIGlkPVwicmVwbHlfYWRkX21lZGlhXyVwb3N0X2lkJVwiPjxcL2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBseV90b190aXRsZSVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfdG9fdGl0bGUgYWRkcG9zdF9wb3B0XCI+PFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fb2ZmaWNpYWwiOiI8ZGl2IGNsYXNzPVwiYWRkcG9zdF9vcHQgY2hlY2tib3hfb2ZmaWNpYWxcIiBpZD1cInJlcGx5X2FzX2dyb3VwJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwucmVwbHlBc0dyb3VwKHRoaXMpO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiBvbmZvY3VzPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9uIGJlaGFsZiBvZiB0aGUgdXNlclwiPlxuICA8aW1nIGNsYXNzPVwidGh1bWJfb2ZmXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPGltZyBjbGFzcz1cInRodW1iX29uXCIgc3JjPVwiJW93bmVyX3Bob3RvJVwiIFwvPlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fZ3JvdXBfaW1hZ2UiOiI8ZGl2IGNsYXNzPVwicG9zdF9maWVsZF9ncm91cFwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIiVvd25lcl9ocmVmJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPlxuICAgIDxpbWcgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfaW1hZ2VcIiBzcmM9XCIlb3duZXJfcGhvdG8lXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+IiwicmVwbHlfbXVsdGlsaW5lIjpmYWxzZSwicmVwbHlfbXVsdGlsaW5lX2ludHJvIjp0cnVlLCJyZXBseV9saW5rX3dyYXAiOiI8ZGl2IGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+XG4gIDxhIGNsYXNzPVwicmVwbHlfbGluayBfcmVwbHlfbG5rXCI+UmVwbHk8XC9hPlxuPFwvZGl2PiIsInJlcGx5X2xpbmtfdG8iOiIgPGEgY2xhc3M9XCJyZXBseV90b1wiPnJlcGxpZWQgdG8gJXRvX3VzZXIlPFwvYT4iLCJyZXBseV9mYXN0IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiXC9pZFwiPlxuICAgICAgPGltZyBzcmM9XCJcL2ltYWdlc1wvY2FtZXJhXzUwLnBuZ1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiREVMRVRFRFwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiXC9pZFwiIGRhdGEtZnJvbS1pZD1cIjBcIj5ERUxFVEVEPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPjxkaXYgY2xhc3M9XCJ3YWxsX3JlcGx5X3RleHRcIj4lbWVzc2FnZSU8XC9kaXY+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zvb3RlciBjbGVhcl9maXhcIiBpZD1cIndwZV9ib3R0b20lcmVwbHlfaWQlXCI+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPiVkYXRlJTxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPlxuICA8YSBjbGFzcz1cInJlcGx5X2xpbmsgX3JlcGx5X2xua1wiPlJlcGx5PFwvYT5cbjxcL2Rpdj5cbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJyZXBseV9tdWx0aWxpbmVfaGludCI6IjxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF93cmFwXCIgIG9uY2xpY2s9XCJzdG9wRXZlbnQoZXZlbnQpO1wiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfc3VibWl0X2hpbnRfdGl0bGVcIj5TaG9ydGN1dHM8XC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCIgaWQ9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVkaXNhYmxlZCUgXCIgZGF0YS12YWw9XCIwXCIgb25jbGljaz1cInJhZGlvYnRuKHRoaXMsIDAsICdyZXBseV9zdWJtaXQnKTsgd2FsbC5vblJlcGx5U3VibWl0Q2hhbmdlZCgwKTtcIj48ZGl2IGNsYXNzPVwicmFkaW9idG5fbGFiZWxcIj48Yj5FbnRlcjxcL2I+IJcgc2VuZCBtZXNzYWdlPGJyPjxiPlNoaWZ0K0VudGVyPFwvYj4glyBuZXcgbGluZTxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVlbmFibGVkJSBcIiBkYXRhLXZhbD1cIjFcIiBvbmNsaWNrPVwicmFkaW9idG4odGhpcywgMSwgJ3JlcGx5X3N1Ym1pdCcpOyB3YWxsLm9uUmVwbHlTdWJtaXRDaGFuZ2VkKDEpO1wiPjxkaXYgY2xhc3M9XCJyYWRpb2J0bl9sYWJlbFwiPjxiPkN0cmwrRW50ZXI8XC9iPiCXIHNlbmQgbWVzc2FnZTxicj48Yj5FbnRlcjxcL2I+IJcgbmV3IGxpbmU8XC9kaXY+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwicmVwbHlfYnV0dG9uIjoiPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBvc3RfcmVwbHkgX3JlcGx5X3dyYXBcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hvd0VkaXRSZXBseSgnJXBvc3RfaWQlJywgZXZlbnQpXCI+XG4gIDxpIGNsYXNzPVwicG9zdF9yZXBseV9pY29uIF9pY29uXCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2xpbmsgX2xpbmtcIj5Db21tZW50PFwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG48XC9hPiIsInJlcGx5X2xpbmsiOiI8c3BhbiBpZD1cInJlcGx5X2xpbmslcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJyZXBseV9saW5rXCIgb25jbGljaz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KVwiPkNvbW1lbnQ8XC9hPjxcL3NwYW4+Iiwib3duX3JlcGx5X2xpbmsiOiI8c3BhbiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGNsYXNzPVwicmVwbHlfbGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VTaGFyZUN1c3RvbSgnJXBvc3RfaWQlJylcIj5SZXBseTxcL2E+PFwvc3Bhbj4iLCJlZGl0X2xpbmsiOiI8c3BhbiBjbGFzcz1cImRpdmlkZVwiPnw8XC9zcGFuPjxhIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcG9zdF9pZCUnKVwiPkVkaXQgPFwvYT4iLCJwb3N0IjoiPGRpdiBpZD1cInBvc3QlcG9zdF9pZCVcIiBjbGFzcz1cIl9wb3N0IHBvc3QgcGFnZV9ibG9ja1wiIGRhdGEtcG9zdC1pZD1cIiVwb3N0X2lkJVwiIG9uY2xpY2s9XCJ3YWxsLnBvc3RDbGljaygnJXBvc3RfaWQlJywgZXZlbnQpO1wiID5cbiAgPGRpdiBjbGFzcz1cIl9wb3N0X2NvbnRlbnRcIj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9oZWFkZXJcIj5cbiAgICAgIDxhIGNsYXNzPVwicG9zdF9pbWFnZSVvbmxpbmVfY2xhc3MlXCIgaHJlZj1cIiVsaW5rJVwiPlxuICAgICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiBkYXRhLXBvc3QtaWQ9XCIlcG9zdF9pZCVcIiBkYXRhLXBvc3QtY2xpY2stdHlwZT1cInBvc3Rfb3duZXJfaW1nXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgY2xhc3M9XCJwb3N0X2ltZ1wiIFwvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+LjxcL3NwYW4+XG4gICAgICA8XC9hPlxuICAgICAgPGRpdiBjbGFzcz1cInBvc3RfaGVhZGVyX2luZm9cIj5cbiAgICAgICAgPGg1IGNsYXNzPVwicG9zdF9hdXRob3JcIj4lbmFtZSU8XC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc3RfZGF0ZVwiPjxhIGNsYXNzPVwicG9zdF9saW5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gc2hvd1dpa2koe3c6ICd3YWxsJXBvc3RfaWQlJ30sIGZhbHNlLCBldmVudCk7XCI+JWRhdGUlPFwvYT48XC9kaXY+XG4gICAgICAgICVhY3Rpb25zJVxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9zdF9pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWxsX3RleHRcIj4ldGV4dCU8XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3N0X2Z1bGxfbGlrZV93cmFwIGNsZWFyX2ZpeFwiPlxuICA8ZGl2IGNsYXNzPVwicG9zdF9mdWxsX2xpa2VcIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwicG9zdF9saWtlIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbm1vdXNlb3Zlcj1cIldhbGwubGlrZXNTaG93KHRoaXMsICclcG9zdF9pZCUnKVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5saWtlSXQodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTA0X2ZlNjRiM2ZlZjFmYTFiNWYzMicsIGV2ZW50KTtcIj5cbiAgICAgIDxpIGNsYXNzPVwicG9zdF9saWtlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwb3N0X2xpa2VfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3RfbGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuICAgIDxcL2E+XG4gICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgb25jbGljaz1cIldhbGwubGlrZXNTaG93TGlzdCh0aGlzLCAnJXBvc3RfaWQlJylcIj5TaG93IGxpa2VzPFwvc3Bhbj5cbiAgICAlcmVwbHlfYnV0dG9uJVxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwb3N0X3NoYXJlIF9zaGFyZV93cmFwIG5vX3NoYXJlc1wiICBvbm1vdXNlb3Zlcj1cIldhbGwuc2hhcmVzU2hvdyh0aGlzLCAnJXBvc3RfaWQlJylcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hhcmVzT3BlbihldmVudCwgJyVwb3N0X2lkJScpO1wiPlxuICAgICAgPGkgY2xhc3M9XCJwb3N0X3NoYXJlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbiAgICA8XC9hPlxuICAgIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLnNoYXJlc1Nob3dMaXN0KHRoaXMsICclcG9zdF9pZCUnKVwiPlNob3cgc2hhcmVkIGNvcGllczxcL3NwYW4+XG4gICAgXG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBvc3Rfdmlld3MgX3ZpZXdzX3dyYXAgbm9fdmlld3MgX2F1dG9fdXBkYXRlXCIgb25tb3VzZW92ZXI9XCJXYWxsLnZpZXdzVXBkYXRlKHRoaXMsICclcG9zdF9pZCUnKVwiPlxuICA8aSBjbGFzcz1cInBvc3Rfdmlld3NfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwicG9zdF92aWV3c19jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvZGl2PlxuPFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbGllc1wiPjxkaXYgY2xhc3M9XCJyZXBsaWVzX3dyYXBcIiBpZD1cInJlcGxpZXNfd3JhcCVwb3N0X2lkJVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGxpZXNfbGlzdCBfcmVwbGllc19saXN0XCIgaWQ9XCJyZXBsaWVzJXBvc3RfaWQlXCI+PGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cInN0YXJ0X3JlcGx5JXBvc3RfaWQlXCIgdmFsdWU9XCJcIlwvPjxcL2Rpdj5cbiAgJXJlcGx5X2JveCVcbjxcL2Rpdj48XC9kaXY+XG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIFxuICA8XC9kaXY+XG4gIFxuPFwvZGl2PiIsInJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAlY2xhc3NuYW1lJSBfcG9zdFwiIGRhdGEtcG9zdC1pZD1cIiVyZXBseV9pZCVcIiAlYXR0ciU+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV93cmFwIF9yZXBseV9jb250ZW50IF9wb3N0X2NvbnRlbnQgY2xlYXJfZml4XCI+XG4gICAgXG4gICAgPGEgY2xhc3M9XCJyZXBseV9pbWFnZVwiIGhyZWY9XCIlbGluayVcIj5cbiAgICAgIDxpbWcgc3JjPVwiJXBob3RvJVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiJW5hbWUlXCIgXC8+XG4gICAgPFwvYT5cbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfY29udGVudFwiID5cbiAgICAgICVhY3Rpb25zJVxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2F1dGhvclwiPlxuICAgICAgICA8YSBjbGFzcz1cImF1dGhvclwiIGhyZWY9XCIlbGluayVcIiBkYXRhLWZyb20taWQ9XCIlcmVwbHlfdWlkJVwiPiVuYW1lJTxcL2E+JXRvX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfdGV4dFwiID4ldGV4dCU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9vdGVyIGNsZWFyX2ZpeFwiIGlkPVwid3BlX2JvdHRvbSVyZXBseV9pZCVcIj5cbiAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpa2Vfd3JhcCBfbGlrZV93cmFwIG5vX2xpa2VzXCIgb25jbGljaz1cInJldHVybiBXYWxsLmxpa2VJdCh0aGlzLCAnJWxpa2VfaWQlJywgJzE0OTA2NDg1MDRfZmU2NGIzZmVmMWZhMWI1ZjMyJywgZXZlbnQpO1wiIG9ubW91c2VvdmVyPVwiV2FsbC5saWtlc1Nob3codGhpcywgJyVsaWtlX2lkJScpXCI+XG4gIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIj5MaWtlPFwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJsaWtlX2ljb24gX2ljb25cIj48XC9pPlxuICA8c3BhbiBjbGFzcz1cImxpa2VfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbjxcL2E+XG48c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIiBvbmNsaWNrPVwiV2FsbC5saWtlc1Nob3dMaXN0KHRoaXMsICclbGlrZV9pZCUnKVwiPlNob3cgbGlrZXM8XC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPjxhIGNsYXNzPVwid2RfbG5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJT9yZXBseT0lcmVwbHlfbXNnX2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPiVkYXRlJTxcL2E+PFwvZGl2PlxuICAgICAgICAlYW5zd2VyX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwiZGVsIjoiPGEgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfaXRlbVwiIG9uY2xpY2s9XCJ3YWxsLmRlbGV0ZVBvc3QodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTA0X2MzNjRmOWFhMTBhYjdiZDc2ZScpOyByZXR1cm4gZmFsc2U7XCI+RGVsZXRlIHBvc3Q8XC9hPiIsInNwYW0iOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXBvc3RfaWQlJywgJzE0OTA2NDg1MDRfNWZlMTdlNzk5YTdiMmEwNDdiJyk7IHJldHVybiBmYWxzZTtcIj5SZXBvcnQ8XC9hPiIsImVkaXQiOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwuZWRpdFBvc3QodGhpcywgJyVwb3N0X2lkJScpOyByZXR1cm4gZmFsc2U7XCI+RWRpdCA8XC9hPiIsInBvc3RfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfd3JhcCBfdWlfbWVudV93cmFwIFwiIG9ubW91c2VvdmVyPVwidWlBY3Rpb25zTWVudS5zaG93KHRoaXMpO1wiIG9ubW91c2VvdXQgPVwidWlBY3Rpb25zTWVudS5oaWRlKHRoaXMpO1wiPlxuICA8ZGl2IGNsYXNzPVwidWlfYWN0aW9uc19tZW51X2ljb25zXCIgIHRhYmluZGV4PVwiMFwiIGFyaWEtbGFiZWw9XCJBY3Rpb25zXCIgcm9sZT1cImJ1dHRvblwiIG9uY2xpY2s9XCJ1aUFjdGlvbnNNZW51LmtleVRvZ2dsZSh0aGlzLCBldmVudCk7XCI+PHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkFjdGlvbnM8XC9zcGFuPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInVpX2FjdGlvbnNfbWVudSBfdWlfbWVudVwiID4lYWN0aW9ucyU8XC9kaXY+XG48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIndhbGwuZGVsZXRlUG9zdCh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTA0X2MzNjRmOWFhMTBhYjdiZDc2ZScpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJEZWxldGVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJzcGFtX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiUmVwb3J0XCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTA0XzVmZTE3ZTc5OWE3YjJhMDQ3YicpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0IFwiIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcmVwbHlfaWQlJyk7XCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIkVkaXQgXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwicmVwbHlfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJmbF9yIHBvc3RfYWN0aW9uc193cmFwXCI+PGRpdiBjbGFzcz1cInBvc3RfYWN0aW9uc1wiPiVhY3Rpb25zJTxcL2Rpdj48XC9kaXY+IiwicG9sbF9zdGF0cyI6IjxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfc3RhdFwiJWhhbmRsZXJzJT5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF90ZXh0XCI+JW9wdGlvbl90ZXh0JTxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93X3BlcmNlbnRcIj4lcGVyY2VudCUlPFwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93JXJvd19jbGFzcyVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcGVyY2VudFwiIHN0eWxlPVwid2lkdGg6ICVjc3NfcGVyY2VudCUlXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfY291bnRcIj4lY291bnQlPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInBvbGxfaGFzaCI6IjE0OTA2NDg1MDRfMDdmZWFhZGI5MmRiMTM1OGM4IiwiZGF0ZV9mb3JtYXQiOiJ0b2RheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRpbWVfc3lzdGVtIjpbInBtIiwiYW0iXSwiYWJzX3RpbWVzdGFtcCI6MTQ5MDY0ODUwNCwibGFuZyI6eyJ3YWxsX01fcmVwbGllc19vZl9OIjpbIiIsIiVzIGNvbW1lbnQgb2Yge2xpbmt9e2FsbH17XC9saW5rfSIsIiVzIGNvbW1lbnRzIG9mIHtsaW5rfXthbGx9e1wvbGlua30iXSwid2FsbF9oaWRlX3JlcGxpZXMiOiJIaWRlIGNvbW1lbnRzIiwid2FsbF9zaG93X25fb2ZfbV9sYXN0IjpbIiIsIlNob3cgbGF0ZXN0ICVzIGNvbW1lbnQgb3V0IG9mIHtjb3VudH0iLCJTaG93IGxhdGVzdCAlcyBjb21tZW50cyBvdXQgb2Yge2NvdW50fSJdLCJ3YWxsX3Nob3dfYWxsX25fcmVwbGllcyI6WyIiLCJTaG93ICVzIGNvbW1lbnQiLCJTaG93IGFsbCAlcyBjb21tZW50cyJdLCJ3YWxsX05fcmVwbGllcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwid2FsbF90aHJlZV9sYXN0X3JlcGxpZXMiOiJsYXN0IHRocmVlIHBvc3RzIiwid2FsbF9hbGxfcmVwbGllcyI6ImFsbCBjb21tZW50cyIsIndhbGxfeF9uZXdfcmVwbGllc19tb3JlIjpbIiIsIiVzIG5ldyBjb21tZW50IGFkZGVkIiwiJXMgbmV3IGNvbW1lbnRzIGFkZGVkIl0sIndhbGxfWF9wZW9wbGVfdm90ZWQiOlsiIiwiPGI+JXM8XC9iPiBwZXJzb24gdm90ZWQuIiwiPGI+JXM8XC9iPiBwZW9wbGUgdm90ZWQuIl0sIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMSI6IlNoaWZ0K0VudGVyIJcgbmV3IGxpbmUiLCJ3YWxsX3JlcGx5X3N1Ym1pdF9oaW50XzIiOiJDdHJsK0VudGVyIJYgc2VuZCBtZXNzYWdlIiwid2FsbF9yZXBseV9zdWJtaXRfaGludF8xX21vcmUiOiJFbnRlciCXIHNlbmQgbWVzc2FnZSwgU2hpZnQrRW50ZXIglyBuZXcgbGluZSIsIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMl9tb3JlIjoiRW50ZXIglyBuZXcgbGluZSwgQ3RybCtFbnRlciCXIHNlbmQgbWVzc2FnZSIsIndhbGxfcmVwbHlfcG9zdCI6IlJlcGx5Iiwid2FsbF9yZXBsaWVkX3RvX2dyb3VwIjoidGhlIGFkbWluIiwid2FsbF9yZXBseV9hc191c2VyIjoib24gYmVoYWxmIG9mIHRoZSB1c2VyIiwid2FsbF9yZXBseV9hc19ncm91cCI6InBvc3QgYXMgY29tbXVuaXR5Iiwid2FsbF9hZGRfcGhvdG9fZXJyb3IiOiJVbmFibGUgdG8gdXBsb2FkIHRoZSBpbWFnZSIsIndhbGxfanVzdF9ub3ciOlsiIiwiT25lIHNlY29uZCBhZ28iLCJUd28gc2Vjb25kcyBhZ28iLCJUaHJlZSBzZWNvbmRzIGFnbyIsIkZvdXIgc2Vjb25kcyBhZ28iLCJGaXZlIHNlY29uZHMgYWdvIl0sIndhbGxfWF9zZWNvbmRzX2Fnb193b3JkcyI6WyIiLCJPbmUgc2Vjb25kIGFnbyIsIlR3byBzZWNvbmRzIGFnbyIsIlRocmVlIHNlY29uZHMgYWdvIiwiRm91ciBzZWNvbmRzIGFnbyIsIkZpdmUgc2Vjb25kcyBhZ28iXSwid2FsbF9YX3NlY29uZHNfYWdvIjpbIiIsIiVzIHNlY29uZCBhZ28iLCIlcyBzZWNvbmRzIGFnbyJdLCJ3YWxsX1hfbWludXRlc19hZ29fd29yZHMiOlsiIiwib25lIG1pbnV0ZSBhZ28iLCJ0d28gbWludXRlcyBhZ28iLCJ0aHJlZSBtaW51dGVzIGFnbyIsIjQgbWludXRlcyBhZ28iLCI1IG1pbnV0ZXMgYWdvIl0sIndhbGxfWF9taW51dGVzX2FnbyI6WyIiLCIlcyBtaW51dGUgYWdvIiwiJXMgbWludXRlcyBhZ28iXSwid2FsbF9YX2hvdXJzX2Fnb193b3JkcyI6WyIiLCJvbmUgaG91ciBhZ28iLCJ0d28gaG91cnMgYWdvIiwidGhyZWUgaG91cnMgYWdvIiwiZm91ciBob3VycyBhZ28iLCJmaXZlIGhvdXJzIGFnbyJdLCJ3YWxsX1hfaG91cnNfYWdvIjpbIiIsIiVzIGhvdXIgYWdvIiwiJXMgaG91cnMgYWdvIl19fSwic2hhcmVfdGltZWhhc2giOiIxNDkwNjQ4NTA0XzFiMmFiMTNhZjU2ZDU5NTQ2ZSIsImNvbW1lbnRzVHBsIjp7InJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbWVudENsaWNrKHRoaXMsIGV2ZW50LCAlZnJvbV9pZCUsICVyZXBseV9tc2dfaWQlKVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiJWhyZWYlXCI+XG4gICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiBjbGFzcz1cInJlcGx5X2ltZ1wiIGFsdD1cIiVuYW1lJVwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICAlYWN0aW9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiJWhyZWYlXCIgZGF0YS1mcm9tLWlkPVwiJWZyb21faWQlXCI+JW5hbWUlPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPiVtZXNzYWdlJTxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9mb290ZXIgY2xlYXJfZml4XCIgaWQ9XCJ3cGVfYm90dG9tJXJlcGx5X2lkJVwiPlxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibGlrZV93cmFwIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwubGlrZUl0KHRoaXMsICclcG9zdF9vaWQldmlkZW9fY29tbWVudCVyZXBseV9tc2dfaWQlbXYnLCAnMTQ5MDY0ODUwNF9mZTY0YjNmZWYxZmExYjVmMzInLCBldmVudCk7XCIgb25tb3VzZW92ZXI9XCJXYWxsLmxpa2VzU2hvdyh0aGlzLCAnJXBvc3Rfb2lkJXZpZGVvX2NvbW1lbnQlcmVwbHlfbXNnX2lkJW12JylcIj5cbiAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkxpa2U8XC9zcGFuPlxuICA8aSBjbGFzcz1cImxpa2VfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvYT5cbjxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VzU2hvd0xpc3QodGhpcywgJyVwb3N0X29pZCV2aWRlb19jb21tZW50JXJlcGx5X21zZ19pZCVtdicpXCI+U2hvdyBsaWtlczxcL3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9kYXRlXCI+JWRhdGUlPFwvZGl2PlxuICAgICAgICBcbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJhY3Rpb25zIjoiPGRpdiBjbGFzcz1cImZsX3IgcG9zdF9hY3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicG9zdF9hY3Rpb25zXCI+JWFjdGlvbnMlPFwvZGl2PjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0XCIgb25jbGljaz1cIldhbGwuZWRpdFBvc3QodGhpcywgJyVyZXBseV9pZCUnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJFZGl0XCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tQWN0aW9uKCdkZWxldGUnLCAlcG9zdF9vaWQlLCAlcmVwbHlfbXNnX2lkJSwgJzE0OTA2NDg1MDRfYjYyMTM5OTc0MGUxZWE3MjYxJywgJ212JylcIiBvbm1vdXNlb3Zlcj1cInNob3dUaXRsZSh0aGlzKTtcIiBhcmlhLWxhYmVsPVwiRGVsZXRlXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+Iiwic3BhbV9yZXBseSI6IjxkaXYgaWQ9XCJyZXBseV9kZWxldGUlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9kZWxldGVfYnV0dG9uIHJlcGx5X2FjdGlvbiBmbF9yXCIgZGF0YS10aXRsZT1cIlJlcG9ydFwiIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbUFjdGlvbignc3BhbScsICVwb3N0X29pZCUsICVyZXBseV9tc2dfaWQlLCAnMTQ5MDY0ODUwNF9iNjIxMzk5NzQwZTFlYTcyNjEnLCAnbXYnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4ifSwicG9zdCI6IjIxNTI2OTlfdmlkZW8xNjg1OTE3NDFtdiIsIm1heFJlcGx5TGVuZ3RoIjoxNjM4NCwibWF4Q2hhdFJlcGx5TGVuZ3RoIjo2MDAsIm1heERlc2NyaXB0aW9uTGVuZ3RoIjoxMDI0LCJwdWJsaXNoQWN0aW9uIjoiIiwicGxfbGlzdCI6MCwiaXNfdmtfcGxheWVyIjowLCJpc19mbHYiOmZhbHNlLCJjYW50UGxheSI6MCwicGxheWVyIjp7InR5cGUiOiJ5b3V0dWJlIiwicGFyYW1zIjpbeyJsYW5nX2FkZCI6IkFkZCB0byBNeSBWaWRlb3MiLCJsYW5nX2FkZGVkIjoiVmlkZW8gYWRkZWQgdG8gTXkgVmlkZW9zIiwibGFuZ19zaGFyZSI6IlNoYXJlIiwibGFuZ19saWtlIjoiTGlrZSIsImxhbmdfZG9uYXRlIjoiRG9uYXRlIiwibGFuZ19zdWJzY3JpYmUiOiJTdWJzY3JpYmUiLCJsYW5nX3N1YnNjcmliZWQiOiJGb2xsb3dpbmciLCJsYW5nX3ZvbHVtZV9vbiI6IlVubXV0ZSIsImxhbmdfdm9sdW1lX29mZiI6Ik11dGUiLCJsYW5nX3ZvbHVtZSI6IlZvbHVtZSIsImxhbmdfaGRzZCI6IkNoYW5nZSBWaWRlbyBRdWFsaXR5IiwibGFuZ19xdWFsaXR5X2F1dG8iOiJBdXRvIiwibGFuZ19vcGVuX3BvcHVwIjoiRXhwYW5kIiwibGFuZ19mdWxsc2NyZWVuIjoiRnVsbCBTY3JlZW4iLCJsYW5nX3dpbmRvdyI6Ik1pbmltaXplIiwibGFuZ19yb3RhdGUiOiJSb3RhdGUiLCJsYW5nX2Fkc19saW5rIjoiQWR2ZXJ0aXNlciYjMzk7cyBTaXRlIiwibGFuZ19hZHMiOiJBZHMiLCJsYW5nX2Fkc19za2lwIjoiU2tpcCBhZCIsImxhbmdfYWRzX3NraXBfdGltZSI6IlNraXAgYWRzIGluIHt0aW1lfSBzIiwibGFuZ19yZXBvcnRfcHJvYmxlbSI6IlJlcG9ydCBhIHByb2JsZW0uLiIsImxhbmdfcGxheSI6IlBsYXkiLCJsYW5nX3BhdXNlIjoiUGF1c2UiLCJsYW5nX3JlcGxheSI6IlJlcGxheSIsImxhbmdfbmV4dCI6Ik5leHQgdmlkZW8iLCJsYW5nX25leHRfY2FuY2VsIjoiQ2FuY2VsIiwibGFuZ19nb3RvX29yaWdfdmlkZW8iOiJHbyB0byBWaWRlbyIsImxhbmdfZ290b19hZHZlcnRpc2Vyc19zaXRlIjoiR28gdG8gdGhlIHdlYnNpdGUiLCJsYW5nX2J1eV90aWNrZXRzIjpudWxsLCJsYW5nX2xvYWRfZXJyb3IiOiJBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbG9hZGluZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJsYW5nX2Vycl9jb2RlIjoiRXJyb3IgY29kZToge2NvZGV9IiwibGFuZ19iYWRfYnJvd3NlciI6IlNvcnJ5LCB5b3VyIGJyb3dzZXIgaXNuJiMzOTt0IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50IiwibGFuZ19saXZlIjoiTGl2ZSIsImxhbmdfbGl2ZV9zdGFydGluZ19zb29uIjoiVGhlIGxpdmUgd2lsbCBzdGFydCBzb29uIiwibGFuZ19saXZlX2ZhaWxlZCI6IkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHN0cmVhbWluZyIsImxhbmdfbGl2ZV93YWl0X3JlY29yZCI6IlRoZSBsaXZlIGhhcyBmaW5pc2hlZCBhbmQgd2lsbCBzb29uIGJlY29tZSBhdmFpbGFibGUgaW4gcmVwbGF5IiwibGFuZ19saXZlX3VzZXJfc2VudF9naWZ0IjpbIiIsInNlbnQgYSBnaWZ0Iiwic2VudCBhIGdpZnQiXSwibGFuZ19saXZlX3VzZXJfc2VudF9zdXBlcmNvbW1lbnQiOlsiIiwic2VudCBhIHN1cGVyIG1lc3NhZ2UiLCJzZW50IGEgc3VwZXIgbWVzc2FnZSJdLCJsYW5nX2xpdmVfZG93bmxvYWRfYXBwIjoiRG93bmxvYWQgYXBwIiwibGFuZ19hdXRvcGxheV92b2x1bWVfaGludCI6ItFsaWNrIHRvIHR1cm4gb24gdGhlIHNvdW5kIiwibGFuZ19hdXRvcGxheV9leHBhbmRfaGludCI6IkNsaWNrIHRvIGV4cGFuZCIsImxhbmdfdGltZWRfYnV0dG9uX2dvdG8iOiLP5fDl6fLoIiwibGFuZ190aW1lZF9idXR0b25fb3BlbiI6Ik9wZW4iLCJsYW5nX3RpbWVkX2J1dHRvbl9idXkiOiJCdXkiLCJsYW5nX3RpbWVkX2J1dHRvbl9idXlfdGlja2V0cyI6IkJ1eSB0aWNrZXRzIiwibGFuZ190aW1lZF9idXR0b25fY2hlY2tpbiI6bnVsbCwibGFuZ190aW1lZF9idXR0b25faW5zdGFsbCI6ItPx8uDt7uLo8vwiLCJsYW5nX3RpbWVkX2J1dHRvbl9jb250YWN0Ijoi0eL/5+Dy/PH/IiwibGFuZ190aW1lZF9idXR0b25fZmlsbCI6Isfg7+7r7ejy/CIsImxhbmdfdGltZWRfYnV0dG9uX2xlYXJuX21vcmUiOiJNb3JlIiwibGFuZ19jbWVudV9jb3B5X3ZpZGVvX2xpbmsiOiJDb3B5IHZpZGVvIGxpbmsiLCJsYW5nX2NtZW51X2NvcHlfdGltZWNvZGVfbGluayI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwibGFuZ19jbWVudV9jb3B5X2VtYmVkX2NvZGUiOiJDb3B5IGVtYmVkIGNvZGUiLCJsYW5nX2NtZW51X2VuYWJsZV9sb29wIjoiRW5hYmxlIGxvb3AiLCJsYW5nX2NtZW51X2Rpc2FibGVfbG9vcCI6IkRpc2FibGUgbG9vcCIsImxhbmdfY21lbnVfcGxheWJhY2tfc3BlZWQiOiJQbGF5YmFjayBzcGVlZCIsImxhbmdfY21lbnVfcmVwb3J0X2Vycm9yIjoiUmVwb3J0IGEgcHJvYmxlbS4uIiwibGFuZ19jbWVudV9jb3B5X2RlYnVnIjoiQ29weSBkZWJ1ZyBpbmZvIiwibGFuZ19hcmlhX3ZpZGVvcGxheWVyIjoiVksgVmlkZW8gUGxheWVyIiwibGFuZ19hcmlhX3ZvbHVtZV9zbGlkZXIiOiJWb2x1bWUgc2xpZGVyIiwibGFuZ19hcmlhX3ZvbHVtZV9tdXRlZCI6IlZvbHVtZSBpcyBtdXRlZCIsImxhbmdfYXJpYV90aW1lbGluZV9zbGlkZXIiOiJUaW1lIHNsaWRlciIsImxhbmdfYXJpYV90aW1lbGluZV92YWx1ZSI6Int0aW1lfSAodG90YWwgZHVyYXRpb24ge2R1cmF0aW9ufSkiLCJsYW5nX2FyaWFfZW50ZXJfZnVsbHNjcmVlbiI6IkVudGVyIGZ1bGwgc2NyZWVuIG1vZGUiLCJsYW5nX2FyaWFfZXhpdF9mdWxsc2NyZWVuIjoiRXhpdCBmdWxsIHNjcmVlbiBtb2RlIiwibGFuZ19hcmlhX3F1YWxpdHlfY3VycmVudCI6IkN1cnJlbnQgcXVhbGl0eSBpcyB7cXVhbGl0eX0iLCJ2aWRlb19wbGF5X2hkIjoiV2F0Y2ggaW4gSEQiLCJ2aWRlb19zdG9wX2xvYWRpbmciOiJTdG9wIERvd25sb2FkIiwidmlkZW9fcGxheWVyX3ZlcnNpb24iOiJWSyBWaWRlbyBQbGF5ZXIiLCJ2aWRlb19nZXRfdmlkZW9fY29kZSI6IkNvcHkgZW1iZWQgY29kZSIsInZpZGVvX2dldF9jdXJyZW50X3VybCI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwidmlkZW9fbG9hZF9lcnJvciI6IkFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsImdvdG9fb3JpZ192aWRlbyI6IkdvIHRvIFZpZGVvIiwidmlkIjoxNjg1OTE3NDEsIm9pZCI6MjE1MjY5OSwibWRfdGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwibWRfYXV0aG9yIjoiS2lyaWxsIEx5YW5veSIsImF1dGhvcl9pZCI6MjE1MjY5OSwiYXV0aG9yX2hyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJhdXRob3JfcGhvdG8iOiJodHRwczpcL1wvcHAudXNlcmFwaS5jb21cL2M2MjM4MjRcL3Y2MjM4MjQ2OTlcLzU1NTc1XC9DQ1FaMjlsMEI5ay5qcGciLCJoYXNoIjoiNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYiLCJoYXNoMiI6ImVhMWQzZGI5ODgxODEyNWQiLCJpc19leHQiOjAsImR1cmF0aW9uIjoyOTksInQiOiIiLCJ2aWdvX2NpZCI6ImNmY2QyMDg0OTVkNTY1ZWY2NmU3ZGZmOWY5ODc2NGRhIiwidmlld2VyX2lkIjowLCJwb3N0X2lkIjpudWxsLCJtb2R1bGUiOiJwcm9maWxlIiwiZyI6MCwiYSI6MCwiY2lzIjowLCJyZWNvbW1lbmRfc2lnIjoiNDYxMTY4NzZhMmYxMGFhYmY0MmE4NzYyYzUzNDAzOGUiLCJlcnJvcl9zdGF0X2hhc2giOiIxNDkwNjQ4NTA0XzM4NmU1YmZmMzU1OTg5OTFmOSIsIm5vX2FkcyI6MSwibm9saWtlcyI6MSwiZXh0cmEiOiIyMSIsImV4dHJhX2RhdGEiOiI0VGh3czV3cTVHSSIsInRodW1iIjoiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsImpwZyI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYxNzgzMVwvdTk2MTIzMzAzXC92aWRlb1wveF81YmIwNTc4Zi5qcGciLCJoZCI6MCwibm9sb2dvIjoxLCJzaG93X25leHQiOjAsImxpa2VkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImFkZGVkIjowLCJjYW5fYWRkIjowLCJub190aXRsZSI6MCwidnNlZ3Nfc2l6ZSI6MjkuMDAwMDAwLCJ2c2Vnc19oYXNoIjoiMzkxNDQxZWIwMzg5YTI0MTQ2IiwicmVwb3J0X2Vycm9yX2hhc2giOiIzODM3MTllMGM4ZjU0NjY1OWEifV19fTwhPjwhcGFnZXZpZXdfY2FuZGlkYXRlPg==
46
- http_version:
47
- recorded_at: Mon, 27 Mar 2017 21:01:44 GMT
48
- recorded_with: VCR 3.0.3
@@ -1,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://vk.com/al_video.php
6
- body:
7
- encoding: US-ASCII
8
- string: User-Agent=VideoInfo%2F2.7&act=show&al=1&autoplay=0&module=profile&video=2152699_168591741
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Mozilla/5.0 (Linux; VideoInfo)
16
- - Ruby
17
- response:
18
- status:
19
- code: 200
20
- message: OK
21
- headers:
22
- Server:
23
- - Apache
24
- Date:
25
- - Mon, 27 Mar 2017 21:01:44 GMT
26
- Content-Type:
27
- - text/html; charset=windows-1251
28
- Content-Length:
29
- - '10296'
30
- Connection:
31
- - keep-alive
32
- X-Powered-By:
33
- - PHP/3.12334
34
- Set-Cookie:
35
- - remixlang=3; expires=Wed, 21 Mar 2018 18:59:29 GMT; path=/; domain=.vk.com
36
- Pragma:
37
- - no-cache
38
- Cache-Control:
39
- - no-store
40
- Strict-Transport-Security:
41
- - max-age=0
42
- body:
43
- encoding: ASCII-8BIT
44
- string: !binary |-
45
- PCEtLTMzMjY4NDA3MjMyMjg8IT51aV9tZWRpYV9zZWxlY3Rvci5qcyx1aV9tZWRpYV9zZWxlY3Rvci5jc3MsZW1vamkuanMsbm90aWZpZXIuY3NzLHZpZGVvdmlldy5qcyx2aWRlb3ZpZXcuY3NzLHBhZ2UuanMscGFnZS5jc3MscG9zdC5jc3MsdWlfY29udHJvbHMuanMsdWlfY29udHJvbHMuY3NzPCE+MzwhPjM3MDQ8IT4wPCE+QkVBVCBTT1VMIFNURVAglyBSREMxNCBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwLCBNYXkgMS0yLCBNb3Njb3cgMjAxNDwhPjxkaXYgY2xhc3M9InZpZGVvX2JveF93cmFwIj4KICA8ZGl2IGlkPSJ2aWRlb19wbGF5ZXIiPgogICAgPGRpdiBpZD0idmlkZW9feXQiIHRhYmluZGV4PSIwIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdXRsaW5lOjA7Ij4KICAgICAgPGlmcmFtZSBjbGFzcz0idmlkZW9feXRfcGxheWVyIiB0eXBlPSJ0ZXh0L2h0bWwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNFRod3M1d3E1R0k/ZW5hYmxlanNhcGk9MSZhdXRvcGxheT0wJnN0YXJ0PTAmYXV0b2hpZGU9MSZ3bW9kZT1vcGFxdWUmc2hvd2luZm89MCZvcmlnaW49aHR0cHM6Ly92ay5jb20mZnM9MSZyZWw9MCZjY19sb2FkX3BvbGljeT0wJml2X2xvYWRfcG9saWN5PTMiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PCE+CmFkZFRlbXBsYXRlcyh7Il8iOiJfIiwiYXVkaW9fcm93IjoiPGRpdiBjbGFzcz1cImF1ZGlvX3JvdyBfYXVkaW9fcm93IF9hdWRpb19yb3dfJTElXyUwJSAlY2xzJSBjbGVhcl9maXhcIiBvbmNsaWNrPVwicmV0dXJuIGdldEF1ZGlvUGxheWVyKCkudG9nZ2xlQXVkaW8odGhpcywgZXZlbnQpXCIgZGF0YS1hdWRpbz1cIiVzZXJpYWxpemVkJVwiIGRhdGEtZnVsbC1pZD1cIiUxJV8lMCVcIiBpZD1cImF1ZGlvXyUxJV8lMCVcIj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX3BsYXlfd3JhcFwiIGRhdGEtbm9kcmFnPVwiMVwiPjxidXR0b24gY2xhc3M9XCJhdWRpb19wbGF5IF9hdWRpb19wbGF5XCIgaWQ9XCJwbGF5XyUxJV8lMCVcIiBhcmlhLWxhYmVsPVwiXCI+PFwvYnV0dG9uPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX2luZm9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fZHVyYXRpb25fd3JhcCBfYXVkaW9fZHVyYXRpb25fd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2hxX2xhYmVsXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2R1cmF0aW9uIF9hdWRpb19kdXJhdGlvblwiPiVkdXJhdGlvbiU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJyZWNvbVwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5zaG93UmVjb21zKHRoaXMsICclMSVfJTAlJywgZXZlbnQpXCI+PGRpdj48XC9kaXY+PFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJuZXh0XCIgb25tb3VzZW92ZXI9XCJhdWRpb1Nob3dBY3Rpb25Ub29sdGlwKHRoaXMsICclMSVfJTAlJylcIiBvbmNsaWNrPVwiZ2V0QXVkaW9QbGF5ZXIoKS5zZXROZXh0KHRoaXMsIGV2ZW50KVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiZWRpdFwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5lZGl0QXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIj48ZGl2PjxcL2Rpdj48XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWRpb19hY3QgX2F1ZGlvX2FjdF9kZWxldGVcIiBpZD1cImRlbGV0ZVwiIG9uY2xpY2s9XCJBdWRpb1BhZ2UodGhpcykuZGVsZXRlQXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiYWRkXCIgb25jbGljaz1cInJldHVybiBhZGRBdWRpbyh0aGlzLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fdGl0bGVfd3JhcFwiXG4gICAgID48YSBocmVmPVwiJXNlYXJjaF9ocmVmJVwiIG9ubW91c2VvdmVyPVwic2V0VGl0bGUodGhpcylcIiBub2RyYWc9XCIxXCIgb25jbGljaz1cInJldHVybiBhdWRpb1NlYXJjaFBlcmZvcm1lcih0aGlzLCBldmVudClcIiBjbGFzcz1cImF1ZGlvX3BlcmZvcm1lclwiPiU0JTxcL2FcbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9faW5mb19kaXZpZGVyXCI+Jm5kYXNoOzxcL3NwYW5cbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9fdGl0bGUgX2F1ZGlvX3RpdGxlXCIgb25tb3VzZW92ZXI9XCJzZXRUaXRsZSh0aGlzLCBkb21QTih0aGlzKSlcIlxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJhdWRpb190aXRsZV9pbm5lclwiIHRhYmluZGV4PVwiMFwiIG5vZHJhZz1cIjFcIiBhcmlhLWxhYmVsPVwiJTMlXCIgb25jbGljaz1cInJldHVybiB0b2dnbGVBdWRpb0x5cmljcyhldmVudCwgdGhpcywgJyUxJV8lMCUnLCAnJTklJylcIj4lMyU8XC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhdWRpb19hdXRob3JcIiBvbmNsaWNrPVwiY3VyLmNhbmNlbENsaWNrPXRydWVcIj4lOCU8XC9zcGFuPlxuICAgICAgPFwvc3BhblxuICAgID48XC9kaXY+XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19wbGF5ZXJfd3JhcFwiPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19seXJpY3Nfd3JhcCBhdWRpb19seXJpY3NcIiBkYXRhLW5vZHJhZz1cIjFcIj48XC9kaXY+XG48XC9kaXY+IiwiYXVkaW9fYml0c190b19jbHMiOiJ7XCIxXCI6XCJpbmxpbmVkXCIsXCIyXCI6XCJseXJpY3NcIixcIjRcIjpcImNhbmVkaXRcIixcIjhcIjpcImNhbmFkZFwiLFwiNjRcIjpcInJlY29tc1wiLFwiMTZcIjpcImNsYWltZWRcIixcIjMyXCI6XCJjbGFpbWVkX3RpdGxlXCIsXCIyNTZcIjpcImZyb21fcXVldWVcIixcIjUxMlwiOlwiaHFcIixcIjMyNzY4XCI6XCJsdGJcIixcIjE2Mzg0XCI6XCJscGJcIixcIjQwOTZcIjpcImNsYWltX2hpZGRlblwiLFwiMjA0OFwiOlwiY2xhaW1fbW9kZVwiLFwiODE5MlwiOlwiY2xhaW1fdW1hXCJ9In0pO2N1ci5pbmNWaWV3cyA9IGZ1bmN0aW9uKCkgewogIHZhciBvaWR2aWQgPSAnMjE1MjY5OV8xNjg1OTE3NDEnOwogIGlmIChjdXIudmlkZW9JbmMgJiYgY3VyLnZpZGVvSW5jW29pZHZpZF0pIHsKICAgIHJldHVybjsKICB9CiAgaWYgKCFjdXIudmlkZW9JbmMpIHsKICAgIGN1ci52aWRlb0luYyA9IHt9OwogICAgY3VyLnZpZGVvU3RhcnRlZCA9IHt9OwogIH0KICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9ICdmaW5pc2hlZCc7CiAgICB2YXIgbSA9IHdpbmRvdy5WaWRlbyA/IFZpZGVvdmlldy5nZXRWaWRlb01vZHVsZShvaWR2aWQpIDogY3VyLm1vZHVsZTsKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICBhamF4LnBvc3QoImFsX3ZpZGVvLnBocCIsIHthY3Q6J2luY192aWV3X2NvdW50ZXInLCBvaWQ6b2lkLCB2aWQ6MTY4NTkxNzQxLCBoYXNoOic3Mjk1YjM5Nzg0OTdmMDg2OThiOGNjYjdkMzBhMGM2NicsIG1vZHVsZTogbX0pOwogICAgfQogIH0sIDUwMDApOwogIGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gPSAnZmluaXNoZWQnOwogICAgdmFyIG0gPSB3aW5kb3cuVmlkZW8gPyBWaWRlb3ZpZXcuZ2V0VmlkZW9Nb2R1bGUob2lkdmlkKSA6IGN1ci5tb2R1bGU7CgogICAgdmFyIHZpZGVvY2F0ID0gJyc7CiAgICBpZiAod2luZG93LlZpZGVvY2F0ICYmIHdpbmRvdy5WaWRlbyAmJiBWaWRlby5pc0luQ2F0YWxvZygpKSB7CiAgICAgIHZhciBwbElkID0gVmlkZW9QbGF5bGlzdC5nZXRDdXJMaXN0SWQoKTsKICAgICAgaWYgKFZpZGVvY2F0LmlzVG9wM1BsYXlsaXN0KHBsSWQpKSB7CiAgICAgICAgdmlkZW9jYXQgPSAnZmVhdHVyZWQnOwogICAgICB9IGVsc2UgewogICAgICAgIHZpZGVvY2F0ID0gcGxJZDsKICAgICAgfQogICAgfQoKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICB3aW5kb3cubXZjdXIgPSB3aW5kb3cubXZjdXIgfHwge307CiAgICAgIG12Y3VyLnZpZXdTdGFydGVkVGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgIGFqYXgucG9zdCgiYWxfdmlkZW8ucGhwIiwge2FjdDondmlkZW9fdmlld19zdGFydGVkJywgb2lkOm9pZCwgdmlkOjE2ODU5MTc0MSwgaGFzaDonNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYnLCBtb2R1bGU6IG0sIHZpZGVvY2F0OiB2aWRlb2NhdH0pOwogICAgfQogIH0sIDApOwogIGN1ci5kZXN0cm95LnB1c2goZnVuY3Rpb24gKCkgewogICAgaWYgKGN1ci52aWRlb0luY1tvaWR2aWRdICYmIGN1ci52aWRlb0luY1tvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb0luY1tvaWR2aWRdKTsKICAgIH0KICAgIGlmIChjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gJiYgY3VyLnZpZGVvU3RhcnRlZFtvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSk7CiAgICB9CiAgfSk7Cn07Cm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvID0gJzIxNTI2OTlfMTY4NTkxNzQxJzsgCm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvSGFzaCA9ICdkNGVhNDY4N2YwMWNjMWVlOWQnOyAKbXZjdXIubXZEYXRhLmFkZGVkVmlkZW9TaGFyZUhhc2ggPSAnOGJhOGZkYWZjZjQ2ZTFiYzY4JzsKbXZjdXIubXZEYXRhLm5lZWRzTmV3ID0gMTs8IT4KCjxkaXYgY2xhc3M9Im12X2luZm9fd2lkZV9jb2x1bW4gZmxfbCI+CiAgCiAgPGRpdiBjbGFzcz0ibXZfdGl0bGVfYmxvY2siPgogICAgPGRpdiBpZD0ibXZfdmlld3MiIGNsYXNzPSJtdl92aWV3c19jb3VudCAiIG9ubW91c2VvdmVyPSIiPjM3IHZpZXdzPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl90aXRsZSIgaWQ9Im12X3RpdGxlIj5CRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfYWN0aW9uc19ibG9jayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImZsYXRfYnV0dG9uIHNlY29uZGFyeSBidXR0b25fbGlnaHQgbXZfc2hhcmVfYnV0dG9uIiBzdHlsZT0iZGlzcGxheTpub25lOyIgb25jbGljaz0idmlkZW92aWV3LnNlbmRWaWRlbygpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X3NoYXJlX2ljb24iPjwvc3Bhbj5TaGFyZQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXZfYWRkX3dyYXAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmbGF0X2J1dHRvbiBzZWNvbmRhcnkgYnV0dG9uX2xpZ2h0IG12X2VkaXRfYnV0dG9uIiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2ODU5MTc0MSwgMjE1MjY5OSkiIGlkPSJtdl9lZGl0X2J1dHRvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X2VkaXRfaWNvbiI+PC9zcGFuPkVkaXQgdmlkZW8KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtdl9tb3JlIGZsX2wiIGlkPSJtdl9tb3JlIj5Nb3JlPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfYmxvY2siPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgPGEgaHJlZj0iL2x5YW5vaS5raXJpbGwiIGNsYXNzPSJtdl9hdXRob3JfcGhvdG9fd3JhcCBmbF9sIj4KICAgICAgICA8aW1nIGlkPSJtdl9hdXRob3JfcGhvdG8iIGNsYXNzPSJtdl9hdXRob3JfcGhvdG8iIHNyYz0iaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjIzODI0L3Y2MjM4MjQ2OTkvNTU1NzUvQ0NRWjI5bDBCOWsuanBnIj4KICAgICAgPC9hPgogICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfaW5mbyBmbF9sIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfbmFtZSI+CiAgICAgICAgICA8YSBjbGFzcz0ibWVtX2xpbmsiIGhyZWY9Ii9seWFub2kua2lyaWxsIj5LaXJpbGwgTHlhbm95PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im12X2luZm9fZGF0ZSI+TWF5IDEyLCAyMDE0IGF0IDk6MjMgYW0gZnJvbSA8YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRndhdGNoJTNGdiUzRDRUaHdzNXdxNUdJIiB0YXJnZXQ9Il9ibGFuayI+WW91VHViZTwvYT4gPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtdl9kZXNjcmlwdGlvbl9ibG9jayI+CiAgPGRpdiBjbGFzcz0ic2VsZWN0X2ZpeCBjbGVhcl9maXgiPgogICAgPGRpdiBpZD0ibXZfZGVzY3JpcHRpb24iIGNsYXNzPSJtdl9kZXNjIj4KICA8ZGl2IGNsYXNzPSJqc19tdl9kZXNjcl9maWVsZCBjYW50X2VkaXQiIGlkPSJtdl9kZXNjcl9maWVsZCI+QkVBVCBTT1VMIFNURVAgJiM5NzMzOyBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwICYjOTczMzsgMS0yIOzg/ywgzO7x6uLgIDIwMTQ8YnI+Q2hvcmVvZ3JhcGh5OiBLYXRpZTxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZwcm9qZWN0ODE4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiIHRhcmdldD0iX2JsYW5rIj5wcm9qZWN0ODE4LmNvbTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MThydXNzaWEiIG1lbnRpb25faWQ9InByb2plY3Q4MThydXNzaWEiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly92ay5jb20vcHJvamVjdDgxOCIgbWVudGlvbl9pZD0icHJvamVjdDgxOCIgb25jbGljaz0icmV0dXJuIG1lbnRpb25DbGljayh0aGlzLCBldmVudCkiIG9ubW91c2VvdmVyPSJtZW50aW9uT3Zlcih0aGlzKSI+dmsuY29tL3Byb2plY3Q4MTg8L2E+PGJyPi4uPC9kaXY+CiAgPGEgaWQ9Im12X2Rlc2NyX2V4cGFuZF90b2dnbGUiIGNsYXNzPSJ3YWxsX3Bvc3RfbW9yZSIgc3R5bGU9IiIgb25jbGljaz0iVmlkZW92aWV3LmV4cGFuZERlc2NyKHRoaXMpIj5FeHBhbmQgdGV4dIU8L2E+CiAgPGRpdiBpZD0ibXZfZGVzY19mdWxsX3RleHQiPkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGcHJvamVjdDgxOC5jb20iIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+cHJvamVjdDgxOC5jb208L2E+IHwgPGEgaHJlZj0iaHR0cDovL3ZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhIiBtZW50aW9uX2lkPSJwcm9qZWN0ODE4cnVzc2lhIiBvbmNsaWNrPSJyZXR1cm4gbWVudGlvbkNsaWNrKHRoaXMsIGV2ZW50KSIgb25tb3VzZW92ZXI9Im1lbnRpb25PdmVyKHRoaXMpIj52ay5jb20vcHJvamVjdDgxOHJ1c3NpYTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MTgiIG1lbnRpb25faWQ9InByb2plY3Q4MTgiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4PC9hPjxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZmYWNlYm9vay5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmZhY2Vib29rLmNvbS9Qcm9qZWN0ODE4UnVzc2lhPC9hPjxicj48YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZwcm9qZWN0ODE4IiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmluc3RhZ3JhbS5jb20vcHJvamVjdDgxODwvYT48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZ0d2l0dGVyLmNvbSUyRnByb2plY3Q4MTgiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+dHdpdHRlci5jb20vcHJvamVjdDgxODwvYT48YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPnlvdXR1YmUuY29tL1Byb2plY3Q4MThSdXNzaWE8L2E+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4Y2hhbXAiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+eW91dHViZS5jb20vUHJvamVjdDgxOGNoYW1wPC9hPjwvZGl2PgogIDxkaXYgY2xhc3M9InByICIgaWQ9Im12X2lubGluZV9lZGl0X3ByIj48ZGl2IGNsYXNzPSJwcl9idCI+PC9kaXY+PGRpdiBjbGFzcz0icHJfYnQiPjwvZGl2PjxkaXYgY2xhc3M9InByX2J0Ij48L2Rpdj48L2Rpdj4KPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgogIDxkaXYgY2xhc3M9Im12X2NvbW1lbnRzX2Jsb2NrIHdhbGxfbW9kdWxlIj4KICAgIDxkaXYgaWQ9InBvc3QyMTUyNjk5X3ZpZGVvMTY4NTkxNzQxbXYiPgogICAgICA8ZGl2IGlkPSJtdl9jb21tZW50c193cmFwIj4KICA8ZGl2IGlkPSJtdl9jb21tZW50c19oZWFkZXIiIG9uY2xpY2s9IlZpZGVvdmlldy5tb3JlQ29tbWVudHMoKTsiIGNsYXNzPSJtdl9jb21tZW50c19leHBhbmRlZCI+PC9kaXY+CiAgPGRpdiBpZD0ibXZfY29tbWVudHNfc3VtbWFyeSIgY2xhc3M9Im12X2NvbW1lbnRzX3N1bW1hcnkgbXZfY29tbWVudHNfZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KICA8ZGl2IGlkPSJtdl9jb21tZW50cyI+PC9kaXY+CjwvZGl2PgogICAgICAKICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibXZfaW5mb19uYXJyb3dfY29sdW1uIGZsX3IiPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2Jsb2NrIj4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9ibG9ja190aXRsZSI+T3RoZXIgdmlkZW9zPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzMjE5ODczIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2MzIxOTg3MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjA3NS91MTY2NjY3NzI4L3ZpZGVvL2xfM2U5MTg2MGUuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+NTo0NTwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzMjE5ODczIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2MzIxOTg3MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IsrCzSAyMDEyIM/w5ez85fDq4CAxLzggLSDM6PHxIOzo8OAgLSDM8+f76uDr6uAiPsrCzSAyMDEyIM/w5ez85fDq4CAxLzggLSDM6PHxIOzo8OAgLSDM8+f76uDr6uA8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjQ1OSB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjY5NTI1OTUiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY2OTUyNTk1JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1MjkzMDYvdTE5MTkyMzc3NC92aWRlby9sX2Y4ZmZiYWUyLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjA6MjM8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Njk1MjU5NSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY5NTI1OTUnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSLD8PPv7+AgyvDg8eroINEg5O3l7CDw7ubk5e3o/ywgzODw6O3gIj7D8PPv7+AgyvDg8eroINEg5O3l7CDw7ubk5e3o/ywgzODw6O3gPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj42OTcgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzExMDI3ODEyXzQ1NjIzOTE3MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMTEwMjc4MTJfNDU2MjM5MTczJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M4MzY0MzYvdjgzNjQzNjgxMi9lZmUyL1Z4ZEVxVTh5SkFnLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjA6MTc8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8xMTAyNzgxMl80NTYyMzkxNzMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzExMDI3ODEyXzQ1NjIzOTE3MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IlBhcmFub2lhIDIwMTYgxeLx8uXj7eXl4uAgwO3g8fLg8ej/Ij5QYXJhbm9pYSAyMDE2IMXi8fLl4+3l5eLgIMDt4PHy4PHo/zwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MjgyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2MzIyMzMwNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjMyMjMzMDQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUxMDMyMy91MTUxNTQ0NzAvdmlkZW8vbF9jMTdmYzA5Ni5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjM0PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjMyMjMzMDQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYzMjIzMzA0JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0izuH76u3u4uXt7e7lIPfz5O4iPs7h++rt7uLl7e3u5SD38+TuPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4zOCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MTE3MDMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzExNzAzJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M2MDc0MjAvdTEzOTU0MDEzL3ZpZGVvL2xfYzI3ZmYxMjkuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MjoyOTwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY3NzExNzAzIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2NzcxMTcwMycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IlBBUlRZIDExNCAuWyBTRUNSRVQgUExBQ0VdIj5QQVJUWSAxMTQgLlsgU0VDUkVUIFBMQUNFXTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NDUgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY2OTUyNjA2IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Njk1MjYwNicsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTM0MjIxL3U1NDEzNzAvdmlkZW8vbF83YWI1NDc1Ni5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjA5PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjY5NTI2MDYiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY2OTUyNjA2JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iTm8gbmFtZSI+Tm8gbmFtZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MTYzIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Mzg2Mjk4MCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjM4NjI5ODAnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUwNTIwNi91MzIwNjcwMi92aWRlby9sXzQ0NTI4NWQ3LmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjI6MzA8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Mzg2Mjk4MCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjM4NjI5ODAnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJXaXRob3V0IGEgZmFjZSAgKNLg6+Dt8uvo4uD/ICDM7uvu5OXm/CkgMiI+V2l0aG91dCBhIGZhY2UgICjS4Ovg7fLr6OLg/yAgzO7r7uTl5vwpIDI8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjQxIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2NzcwNTAxOCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjc3MDUwMTgnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzU0MDIwNi91NDQ4ODkyMy92aWRlby9sXzNlNjUzOThmLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjA6MzA8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2NzcwNTAxOCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjc3MDUwMTgnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSLK4PHy6O3jIC1BcnQuIGRhbmNlIHNob3cgJnF1b3Q7IEJJR29vRGVlLiI+yuDx8ujt4yAtQXJ0LiBkYW5jZSBzaG93ICZxdW90OyBCSUdvb0RlZS48L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjEwNSB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjQ3NTc4MzYiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY0NzU3ODM2JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1MzM2MDMvdTg2ODcxMjg5L3ZpZGVvL2xfYzdmMzFhY2QuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MjoyNzwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY0NzU3ODM2IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2NDc1NzgzNicsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IkFsaWNlIGJ5IEtpcmlsbCBMeWFub2kuIj5BbGljZSBieSBLaXJpbGwgTHlhbm9pLjwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MTU5IHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Mzk0MjkxNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjM5NDI5MTQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUyNjYxMS91NTU4MDE1NTMvdmlkZW8vbF8yMGU3ZjMwMC5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjU2PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjM5NDI5MTQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYzOTQyOTE0JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iz+7k6PPs7fvlIPHy8ODx8uguICI+z+7k6PPs7fvlIPHy8ODx8uguIDwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MzQgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj48IT48IT48IWpzb24+eyJsYW5nIjp7Imdsb2JhbF9zaG9ydF9kYXRlX3RpbWUiOlsiIiwie2RheX0ge21vbnRofSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInllc3RlcmRheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRvZGF5IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwidG9tb3Jyb3cgYXQge2hvdXJ9OnttaW51dGV9IHthbV9wbX0iXSwicmVwbHlfdG9fcG9zdCI6IllvdXIgY29tbWVudC4uIiwid2FsbF9NX3JlcGxpZXNfb2ZfTiI6WyIiLCIlcyBjb21tZW50IG9mIHtsaW5rfXthbGx9e1wvbGlua30iLCIlcyBjb21tZW50cyBvZiB7bGlua317YWxsfXtcL2xpbmt9Il0sIndhbGxfbW9yZV9yZXBsaWVzIjpbIiIsInNob3cgJXMgbW9yZSBjb21tZW50Iiwic2hvdyAlcyBtb3JlIGNvbW1lbnRzIl0sIndhbGxfYWxsX3JlcGxpZXMiOiJhbGwgY29tbWVudHMiLCJkb250X2F0dGFjaCI6IlJlbW92ZSBhdHRhY2htZW50IiwidmlkZW9fWF9jb21tcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwidmlkZW9fZWRpdCI6IkVkaXQgdmlkZW8iLCJ2aWRlb19lZGl0X2Rlc2MiOiJFZGl0IGRlc2NyaXB0aW9uIiwidmlkZW9fZWRpdF9kZXNjX2ludHJvIjoiRW50ZXIgZGVzY3JpcHRpb24iLCJ2aWRlb19zaG93X3ByZXZpb3VzX2NvbW1lbnRzIjpbIiIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudCIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudHMiXSwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIHRoaXMgdmlkZW8/IiwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlX3RpdGxlIjoiQ2xvc2UgdmlkZW8iLCJwcm9maWxlX21lbnRpb25fbm90X2ZvdW5kIjoiVXNlciB3YXMgbm90IGZvdW5kIiwicHJvZmlsZV9tZW50aW9uX3N0YXJ0X3R5cGluZyI6IlN0YXJ0IHR5cGluZyBhIG5hbWUuLiIsInZpZGVvX2FsYnVtX2lzX3ByaXZhdGVfdHQiOiJUaGlzIGFsYnVtIGlzIHByaXZhdGUiLCJ2aWRlb19hZGRfdG9fbXlfcGxheWxpc3QiOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfdG9fbXlfcGxheWxpc3QiOiJBZGRlZCIsInZpZGVvX2NoYW5nZXNfc2F2ZWQiOiJDaGFuZ2VzIHNhdmVkIiwidmlkZW9fYWRkX2FsYnVtIjoiQ3JlYXRlIGFsYnVtIiwidmlkZW9fYWRkX3ByaXZhdGVfYWxidW0iOiJDcmVhdGUgYSBwcml2YXRlIGFsYnVtIiwidmlkZW9fYWRkX3RvX2dyb3VwIjoiQWRkIHRvIGNvbW11bml0eSIsInZpZGVvX2V4cG9ydF9hY3Rpb24iOiJFeHBvcnQiLCJ2aWRlb19zdGF0aXN0aWNzIjoiU3RhdGlzdGljcyIsInZpZGVvX2NvbXBsYWluIjoiUmVwb3J0IiwidmlkZW9fc2VsZWN0X2FsYnVtcyI6IlNlbGVjdCBhbGJ1bXMiLCJ2aWRlb190Y19zdXJlX2RlbGV0ZSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyB2aWRlbz88YnI+PGJyPllvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIHJlc3RvcmUgdGFncyBhbmQgY29tbWVudHMuIiwidmlkZW9fdGNfZGVsZXRlIjoiRGVsZXRlIiwidmlkZW9fZGVsZXRlX2RpYWxvZ190aXRsZSI6IkRlbGV0ZSB2aWRlbyIsInZpZGVvX2RlbGV0ZV9ib3hfbm9fdGl0bGUiOiJObyIsInZpZGVvX21lbnVfZGVsZXRlIjoiRGVsZXRlIHZpZGVvIiwidmlkZW9fdmlld3NfY291bnRfdHRfdGV4dCI6Ik9yaWdpbmFsIHZpZGVvIHZpZXdzICh0b3RhbCB2aWV3cykiLCJ2aWRlb19vbmx5X3ByaXZhdGVfdmlkZW8iOiJUaGlzIHZpZGVvIGNhbiBvbmx5IGJlIGFkZGVkIHRvIGEgcHJpdmF0ZSBhbGJ1bSIsInZpZGVvX2xlYXZlX2Nsb3NlZF9ncm91cF90aXRsZSI6IkxlYXZlIGNsb3NlZCBjb21tdW5pdHkiLCJ2aWRlb19sZWF2ZV9jbG9zZWRfZ3JvdXBfdGV4dCI6IllvdSBhcmUgYWJvdXQgdG8gbGVhdmUgYSBjbG9zZWQgY29tbXVuaXR5LiBJdCBtYXkgbm90IGJlIHRoYXQgZWFzeSB0byBjb21lIGJhY2suIExlYXZlIHRoZSBjb21tdW5pdHk/IiwidmlkZW9fbGVhdmVfYWRtaW5lZF9ncm91cF90ZXh0IjoiWW91IGFyZSBhbiA8Yj5hZG1pbmlzdHJhdG9yPFwvYj4gaW4gdGhpcyBjb21tdW5pdHkuIFlvdSB3aWxsIGxvc2UgdGhpcyBwb3NpdGlvbiBpZiB5b3UgbGVhdmUgbm93LiBMZWF2ZSB0aGUgY29tbXVuaXR5PyIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlX3RvX2F1dGhvciI6IlN1YnNjcmliZSIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlZF9tc2ciOiJGb2xsb3dpbmciLCJ2aWRlb19wbGF5ZXJfbmV4dF90aXRsZSI6Ik5leHQgdmlkZW8iLCJ2aWRlb19pX2xpa2UiOiJMaWtlIiwidmlkZW9fc2hhcmVfd2l0aF9mcmllbmRzIjoiU2hhcmUiLCJ2aWRlb19hZGRfZmxhc2giOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfZmxhc2giOiJWaWRlbyBhZGRlZCB0byBNeSBWaWRlb3MiLCJ2aWRlb19jb21tZW50c19zdW1tYXJ5IjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ2aWRlb19OX3ZpZXdzX2xpc3QiOlsiIiwiJXMgdmlldyIsIiVzIHZpZXdzIl0sInZpZGVvX3BsYXlsaXN0X3JldmVyc2VfdHQiOiJSZXZlcnNlIG9yZGVyIiwidmlkZW9fcGxheWxpc3RfYXV0b3BsYXlfZGlzYWJsZV90dCI6IkRpc2FibGUgYXV0b3BsYXkiLCJ2aWRlb19wbGF5bGlzdF9hdXRvcGxheV9lbmFibGVfdHQiOiJFbmFibGUgYXV0b3BsYXkiLCJ2aWRlb19saXZlX05fd2F0Y2hpbmciOlsiIiwiJXMgaXMgd2F0Y2hpbmcgbm93IiwiJXMgYXJlIHdhdGNoaW5nIG5vdyJdLCJ2aWRlb19saXZlX2NoYXRfbXNnX3Rvb19sb25nIjoiVGhlIG1lc3NhZ2UgaXMgdG9vIGxvbmciLCJ2aWRlb19saXZlX2NoYXRfdG9vX2Zhc3QiOiJUb28gZmFzdIUiLCJ2aWRlb19hcmlhX21pbmltaXplX3BsYXlsaXN0IjoiSGlkZSBwbGF5bGlzdCIsInZpZGVvX2FyaWFfZXhwYW5kX3BsYXlsaXN0IjoiU2hvdyBwbGF5bGlzdCIsInZpZGVvX2FyaWFfbWluaW1pemVfY2hhdCI6IkhpZGUgY2hhdCIsInZpZGVvX2FyaWFfZXhwYW5kX2NoYXQiOiJFeHBhbmQgY2hhdCIsInZpZGVvX2xpdmVfbm90aWZ5X3N1YnNjcmliZWQiOiJTdHJlYW0gbm90aWZpY2F0aW9ucyBlbmFibGVkIiwidmlkZW9fbGl2ZV9ub3RpZnlfdW5zdWJzY3JpYmVkIjoiU3RyZWFtIG5vdGlmaWNhdGlvbnMgZGlzYWJsZWQiLCJ2aWRlb19saXZlX3lvdV9oYXZlX1hfbW9uZXkiOiJZb3UgaGF2ZSB7bW9uZXl9IiwidmlkZW9fdW5mb2xsb3dfZnJpZW5kX3RpdGxlIjoiUmVtb3ZlIGZyb20gZnJpZW5kcyIsInZpZGVvX3VuZm9sbG93X2ZyaWVuZF90ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSBLaXJpbGwgZnJvbSB5b3VyIGZyaWVuZCBsaXN0PyJ9LCJtdkRhdGEiOnsidGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwiZGVzYyI6IkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPnByb2plY3Q4MTguY29tIHwgdmsuY29tXC9wcm9qZWN0ODE4cnVzc2lhIHwgdmsuY29tXC9wcm9qZWN0ODE4PGJyPjxicj5mYWNlYm9vay5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+aW5zdGFncmFtLmNvbVwvcHJvamVjdDgxODxicj50d2l0dGVyLmNvbVwvcHJvamVjdDgxODxicj48YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThjaGFtcCIsIm9pZCI6MjE1MjY5OSwidmlkIjoxNjg1OTE3NDEsImF1dGhvcklkIjoyMTUyNjk5LCJhdXRob3JQaG90byI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYyMzgyNFwvdjYyMzgyNDY5OVwvNTU1NzVcL0NDUVoyOWwwQjlrLmpwZyIsImF1dGhvckhyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJ2aWRlb1JhdyI6IjIxNTI2OTlfMTY4NTkxNzQxIiwiaGFzaCI6IjAyMzY0NmMwYmM3MTEwYWQ5MSIsImxpa2VIYXNoIjoiMzBjYzE4OTJmODFkZWI2MjM1IiwiZWRpdEhhc2giOiIiLCJlZGl0RnJvbURyb3Bkb3duIjowLCJoaWRlRWRpdCI6bnVsbCwiY29tbXNob3duIjowLCJjb21tY291bnQiOjAsImxpa2VkIjpmYWxzZSwibGlrZXMiOjAsImFkZGVkIjowLCJjYW5fYWRkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsIm5vbGlrZXMiOjEsImR1cmF0aW9uIjoyOTksInZzZWdzU2l6ZSI6MjkuMDAwMDAwLCJwbGF5bGlzdHMiOltdLCJ1cGxvYWRlZCI6ZmFsc2UsInB1Ymxpc2hlZCI6dHJ1ZSwibm9Db250cm9scyI6ZmFsc2UsInBsYXlsaXN0QWRkSGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImRlbGV0ZUhhc2giOiIiLCJyZXBvcnRSZWFzb25zIjpbXSwicmVwb3J0SGFzaCI6IjFkY2MzZjJkNDE2OWY1NTBjMCIsImluZm8iOlsyMTUyNjk5LDE2ODU5MTc0MSwiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsIkJFQVQgU09VTCBTVEVQIJcgUkRDMTQgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCwgTWF5IDEtMiwgTW9zY293IDIwMTQiLDMsIjQ6NTkiLCIiLCIiLCI8YSBocmVmPVwiXC9seWFub2kua2lyaWxsXCIgY2xhc3M9XCJtZW1fbGlua1wiPktpcmlsbCBMeWFub3k8XC9hPiIsMTM5OTg3NTc4MywzN10sImNhbkV4cG9ydCI6MSwiaXNWaWRlb0FkcyI6ZmFsc2UsImRlbGV0ZUZyb21BbGxBbGJ1bXNIYXNoIjoiIiwiaXNfbGl2ZSI6MCwiaXNfYWN0aXZlX2xpdmUiOjAsIlBMQVlMSVNUX0FEREVEX0lEIjotMiwiUExBWUxJU1RfVVBMT0FERURfSUQiOi0xLCJub1B1YmxpY0FkZCI6ZmFsc2UsIlBMQVlFUl9GVUxMX1dJRFRIIjo5NjAsIlBMQVlFUl9GVUxMX0hFSUdIVCI6NTQwLCJQTEFZRVJfUExfV0lEVEgiOjcyMCwiUExBWUVSX1BMX0hFSUdIVCI6NDA1LCJsX3R5cGUiOjIsImt6IjowLCJ0bnNfbW9uZXRpemVkIjp0cnVlfSwid2FsbFRwbCI6eyJyZXBseV9ib3giOiI8ZGl2IGlkPVwicmVwbHlfYm94X3dyYXAlcG9zdF9pZCVcIj48ZGl2IGNsYXNzPVwicmVwbHlfYm94X2lubmVyX3dyYXBcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hfd3JhcFwiIGlkPVwicmVwbHlfZmFrZWJveCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5zaG93RWRpdFJlcGx5KCclcG9zdF9pZCUnLCBldmVudClcIiBkYXRhLW93bmVyLXBob3RvPVwiJW93bmVyX3Bob3RvJVwiIGRhdGEtb3duZXItaHJlZj1cIiVvd25lcl9ocmVmJVwiPlxuICAgIDxkaXYgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJcIj5cbiAgPGEgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfbGlua1wiIGhyZWY9XCJcL2lkXCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpXCI+XG4gICAgPGltZyBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9pbWFnZVwiIHNyYz1cIlwvaW1hZ2VzXC9jYW1lcmFfNTAucG5nXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+JXVzZXJfaW1hZ2UlXG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hcIj5MZWF2ZSBhIGNvbW1lbnQuLi48XC9kaXY+PFwvZGl2PlxuPFwvZGl2PjxcL2Rpdj48aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwicG9zdF9oYXNoJXBvc3RfaWQlXCIgdmFsdWU9XCIxNDkwNjQ4NTA0XzU5OGZkN2U5MDU3ZjRkNmI3NFwiIGNhbl9yZXBseV9hc19ncm91cD1cIiVjYW5fcmVwbHlfYXNfZ3JvdXAlXCIgXC8+IiwicmVwbHlfZm9ybSI6IjxkaXYgaWQ9XCJyZXBseV9ib3glcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0X2JveCByZXBseV9ib3ggY2xlYXJfZml4IF9zdWJtaXRfcG9zdF9ib3hcIiBvbmNsaWNrPVwicmV0dXJuIGNhbmNlbEV2ZW50KGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9ybVwiPlxuICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJyZXBseV90byVwb3N0X2lkJVwiIHZhbHVlPVwiXCIgXC8+XG4gICAgPGRpdiBjbGFzcz1cInBvc3RfZmllbGRfdXNlclwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIlwvaWRcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudClcIj5cbiAgICA8aW1nIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2ltYWdlXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPFwvYT5cbjxcL2Rpdj4ldXNlcl9pbWFnZSVcbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZmllbGRfd3JhcCBfZW1vamlfZmllbGRfd3JhcFwiPlxuICAgICAgPGRpdiBpZD1cInJlcGx5X3NtaWxlJXBvc3RfaWQlXCIgY2xhc3M9XCJlbW9qaV9zbWlsZV93cmFwICBfZW1vamlfd3JhcFwiPlxuICA8ZGl2IGNsYXNzPVwiZW1vamlfc21pbGUgX2Vtb2ppX2J0blwiIHRpdGxlPVwiVXNlIHRoZSBUQUIga2V5IHRvIGluc2VydCBlbW9qaSBmYXN0ZXJcIiBvbm1vdXNlb3Zlcj1cInJldHVybiBFbW9qaS5zaG93KHRoaXMsIGV2ZW50KTtcIiBvbm1vdXNlb3V0PVwicmV0dXJuIEVtb2ppLmhpZGUodGhpcywgZXZlbnQpO1wiIG9uY2xpY2s9XCJyZXR1cm4gY2FuY2VsRXZlbnQoZXZlbnQpO1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlbW9qaV9zbWlsZV9pY29uXCI+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfZmllbGQlcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2ZpZWxkIHN1Ym1pdF9wb3N0X2ZpZWxkXCIgb25mb2N1cz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KTtcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJMZWF2ZSBhIGNvbW1lbnQuLi5cIj48XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIDxkaXYgaWQ9XCJzdWJtaXRfcmVwbHklcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0IGNsZWFyX2ZpeFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X3dhcm4gY2xlYXJcIiBpZD1cInJlcGx5X3dhcm4lcG9zdF9pZCVcIj48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfbWVkaWFfcHJldmlldyVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfbWVkaWFfcHJldmlldyBjbGVhcl9maXggbWVkaWFfcHJldmlld1wiPjxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZGRwb3N0X2J1dHRvbl93cmFwXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmbGF0X2J1dHRvbiBhZGRwb3N0X2J1dHRvblwiIGlkPVwicmVwbHlfYnV0dG9uJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwuc2VuZFJlcGx5KCclcG9zdF9pZCUnLCBldmVudCwge30pO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseVN1Ym1pdFRvb2x0aXAoJyVwb3N0X2lkJScsIDEsIHRoaXMpO1wiIG9ubW91c2VvdXQ9XCJ3YWxsLnJlcGx5U3VibWl0VG9vbHRpcCgnJXBvc3RfaWQlJywgMCwgdGhpcyk7XCI+UG9zdDxcL2J1dHRvbj5cbiAgICAgIDxcL2Rpdj5cbiAgICAgICVhZGRfYnV0dG9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX2FkZF9tZWRpYVwiIGlkPVwicmVwbHlfYWRkX21lZGlhXyVwb3N0X2lkJVwiPjxcL2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBseV90b190aXRsZSVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfdG9fdGl0bGUgYWRkcG9zdF9wb3B0XCI+PFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fb2ZmaWNpYWwiOiI8ZGl2IGNsYXNzPVwiYWRkcG9zdF9vcHQgY2hlY2tib3hfb2ZmaWNpYWxcIiBpZD1cInJlcGx5X2FzX2dyb3VwJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwucmVwbHlBc0dyb3VwKHRoaXMpO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiBvbmZvY3VzPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9uIGJlaGFsZiBvZiB0aGUgdXNlclwiPlxuICA8aW1nIGNsYXNzPVwidGh1bWJfb2ZmXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPGltZyBjbGFzcz1cInRodW1iX29uXCIgc3JjPVwiJW93bmVyX3Bob3RvJVwiIFwvPlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fZ3JvdXBfaW1hZ2UiOiI8ZGl2IGNsYXNzPVwicG9zdF9maWVsZF9ncm91cFwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIiVvd25lcl9ocmVmJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPlxuICAgIDxpbWcgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfaW1hZ2VcIiBzcmM9XCIlb3duZXJfcGhvdG8lXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+IiwicmVwbHlfbXVsdGlsaW5lIjpmYWxzZSwicmVwbHlfbXVsdGlsaW5lX2ludHJvIjp0cnVlLCJyZXBseV9saW5rX3dyYXAiOiI8ZGl2IGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+XG4gIDxhIGNsYXNzPVwicmVwbHlfbGluayBfcmVwbHlfbG5rXCI+UmVwbHk8XC9hPlxuPFwvZGl2PiIsInJlcGx5X2xpbmtfdG8iOiIgPGEgY2xhc3M9XCJyZXBseV90b1wiPnJlcGxpZWQgdG8gJXRvX3VzZXIlPFwvYT4iLCJyZXBseV9mYXN0IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiXC9pZFwiPlxuICAgICAgPGltZyBzcmM9XCJcL2ltYWdlc1wvY2FtZXJhXzUwLnBuZ1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiREVMRVRFRFwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiXC9pZFwiIGRhdGEtZnJvbS1pZD1cIjBcIj5ERUxFVEVEPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPjxkaXYgY2xhc3M9XCJ3YWxsX3JlcGx5X3RleHRcIj4lbWVzc2FnZSU8XC9kaXY+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zvb3RlciBjbGVhcl9maXhcIiBpZD1cIndwZV9ib3R0b20lcmVwbHlfaWQlXCI+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPiVkYXRlJTxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPlxuICA8YSBjbGFzcz1cInJlcGx5X2xpbmsgX3JlcGx5X2xua1wiPlJlcGx5PFwvYT5cbjxcL2Rpdj5cbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJyZXBseV9tdWx0aWxpbmVfaGludCI6IjxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF93cmFwXCIgIG9uY2xpY2s9XCJzdG9wRXZlbnQoZXZlbnQpO1wiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfc3VibWl0X2hpbnRfdGl0bGVcIj5TaG9ydGN1dHM8XC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCIgaWQ9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVkaXNhYmxlZCUgXCIgZGF0YS12YWw9XCIwXCIgb25jbGljaz1cInJhZGlvYnRuKHRoaXMsIDAsICdyZXBseV9zdWJtaXQnKTsgd2FsbC5vblJlcGx5U3VibWl0Q2hhbmdlZCgwKTtcIj48ZGl2IGNsYXNzPVwicmFkaW9idG5fbGFiZWxcIj48Yj5FbnRlcjxcL2I+IJcgc2VuZCBtZXNzYWdlPGJyPjxiPlNoaWZ0K0VudGVyPFwvYj4glyBuZXcgbGluZTxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVlbmFibGVkJSBcIiBkYXRhLXZhbD1cIjFcIiBvbmNsaWNrPVwicmFkaW9idG4odGhpcywgMSwgJ3JlcGx5X3N1Ym1pdCcpOyB3YWxsLm9uUmVwbHlTdWJtaXRDaGFuZ2VkKDEpO1wiPjxkaXYgY2xhc3M9XCJyYWRpb2J0bl9sYWJlbFwiPjxiPkN0cmwrRW50ZXI8XC9iPiCXIHNlbmQgbWVzc2FnZTxicj48Yj5FbnRlcjxcL2I+IJcgbmV3IGxpbmU8XC9kaXY+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwicmVwbHlfYnV0dG9uIjoiPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBvc3RfcmVwbHkgX3JlcGx5X3dyYXBcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hvd0VkaXRSZXBseSgnJXBvc3RfaWQlJywgZXZlbnQpXCI+XG4gIDxpIGNsYXNzPVwicG9zdF9yZXBseV9pY29uIF9pY29uXCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2xpbmsgX2xpbmtcIj5Db21tZW50PFwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG48XC9hPiIsInJlcGx5X2xpbmsiOiI8c3BhbiBpZD1cInJlcGx5X2xpbmslcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJyZXBseV9saW5rXCIgb25jbGljaz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KVwiPkNvbW1lbnQ8XC9hPjxcL3NwYW4+Iiwib3duX3JlcGx5X2xpbmsiOiI8c3BhbiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGNsYXNzPVwicmVwbHlfbGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VTaGFyZUN1c3RvbSgnJXBvc3RfaWQlJylcIj5SZXBseTxcL2E+PFwvc3Bhbj4iLCJlZGl0X2xpbmsiOiI8c3BhbiBjbGFzcz1cImRpdmlkZVwiPnw8XC9zcGFuPjxhIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcG9zdF9pZCUnKVwiPkVkaXQgPFwvYT4iLCJwb3N0IjoiPGRpdiBpZD1cInBvc3QlcG9zdF9pZCVcIiBjbGFzcz1cIl9wb3N0IHBvc3QgcGFnZV9ibG9ja1wiIGRhdGEtcG9zdC1pZD1cIiVwb3N0X2lkJVwiIG9uY2xpY2s9XCJ3YWxsLnBvc3RDbGljaygnJXBvc3RfaWQlJywgZXZlbnQpO1wiID5cbiAgPGRpdiBjbGFzcz1cIl9wb3N0X2NvbnRlbnRcIj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9oZWFkZXJcIj5cbiAgICAgIDxhIGNsYXNzPVwicG9zdF9pbWFnZSVvbmxpbmVfY2xhc3MlXCIgaHJlZj1cIiVsaW5rJVwiPlxuICAgICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiBkYXRhLXBvc3QtaWQ9XCIlcG9zdF9pZCVcIiBkYXRhLXBvc3QtY2xpY2stdHlwZT1cInBvc3Rfb3duZXJfaW1nXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgY2xhc3M9XCJwb3N0X2ltZ1wiIFwvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+LjxcL3NwYW4+XG4gICAgICA8XC9hPlxuICAgICAgPGRpdiBjbGFzcz1cInBvc3RfaGVhZGVyX2luZm9cIj5cbiAgICAgICAgPGg1IGNsYXNzPVwicG9zdF9hdXRob3JcIj4lbmFtZSU8XC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc3RfZGF0ZVwiPjxhIGNsYXNzPVwicG9zdF9saW5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gc2hvd1dpa2koe3c6ICd3YWxsJXBvc3RfaWQlJ30sIGZhbHNlLCBldmVudCk7XCI+JWRhdGUlPFwvYT48XC9kaXY+XG4gICAgICAgICVhY3Rpb25zJVxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9zdF9pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWxsX3RleHRcIj4ldGV4dCU8XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3N0X2Z1bGxfbGlrZV93cmFwIGNsZWFyX2ZpeFwiPlxuICA8ZGl2IGNsYXNzPVwicG9zdF9mdWxsX2xpa2VcIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwicG9zdF9saWtlIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbm1vdXNlb3Zlcj1cIldhbGwubGlrZXNTaG93KHRoaXMsICclcG9zdF9pZCUnKVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5saWtlSXQodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTA0X2ZlNjRiM2ZlZjFmYTFiNWYzMicsIGV2ZW50KTtcIj5cbiAgICAgIDxpIGNsYXNzPVwicG9zdF9saWtlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwb3N0X2xpa2VfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3RfbGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuICAgIDxcL2E+XG4gICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgb25jbGljaz1cIldhbGwubGlrZXNTaG93TGlzdCh0aGlzLCAnJXBvc3RfaWQlJylcIj5TaG93IGxpa2VzPFwvc3Bhbj5cbiAgICAlcmVwbHlfYnV0dG9uJVxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwb3N0X3NoYXJlIF9zaGFyZV93cmFwIG5vX3NoYXJlc1wiICBvbm1vdXNlb3Zlcj1cIldhbGwuc2hhcmVzU2hvdyh0aGlzLCAnJXBvc3RfaWQlJylcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hhcmVzT3BlbihldmVudCwgJyVwb3N0X2lkJScpO1wiPlxuICAgICAgPGkgY2xhc3M9XCJwb3N0X3NoYXJlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbiAgICA8XC9hPlxuICAgIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLnNoYXJlc1Nob3dMaXN0KHRoaXMsICclcG9zdF9pZCUnKVwiPlNob3cgc2hhcmVkIGNvcGllczxcL3NwYW4+XG4gICAgXG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBvc3Rfdmlld3MgX3ZpZXdzX3dyYXAgbm9fdmlld3MgX2F1dG9fdXBkYXRlXCIgb25tb3VzZW92ZXI9XCJXYWxsLnZpZXdzVXBkYXRlKHRoaXMsICclcG9zdF9pZCUnKVwiPlxuICA8aSBjbGFzcz1cInBvc3Rfdmlld3NfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwicG9zdF92aWV3c19jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvZGl2PlxuPFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbGllc1wiPjxkaXYgY2xhc3M9XCJyZXBsaWVzX3dyYXBcIiBpZD1cInJlcGxpZXNfd3JhcCVwb3N0X2lkJVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGxpZXNfbGlzdCBfcmVwbGllc19saXN0XCIgaWQ9XCJyZXBsaWVzJXBvc3RfaWQlXCI+PGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cInN0YXJ0X3JlcGx5JXBvc3RfaWQlXCIgdmFsdWU9XCJcIlwvPjxcL2Rpdj5cbiAgJXJlcGx5X2JveCVcbjxcL2Rpdj48XC9kaXY+XG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIFxuICA8XC9kaXY+XG4gIFxuPFwvZGl2PiIsInJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAlY2xhc3NuYW1lJSBfcG9zdFwiIGRhdGEtcG9zdC1pZD1cIiVyZXBseV9pZCVcIiAlYXR0ciU+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV93cmFwIF9yZXBseV9jb250ZW50IF9wb3N0X2NvbnRlbnQgY2xlYXJfZml4XCI+XG4gICAgXG4gICAgPGEgY2xhc3M9XCJyZXBseV9pbWFnZVwiIGhyZWY9XCIlbGluayVcIj5cbiAgICAgIDxpbWcgc3JjPVwiJXBob3RvJVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiJW5hbWUlXCIgXC8+XG4gICAgPFwvYT5cbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfY29udGVudFwiID5cbiAgICAgICVhY3Rpb25zJVxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2F1dGhvclwiPlxuICAgICAgICA8YSBjbGFzcz1cImF1dGhvclwiIGhyZWY9XCIlbGluayVcIiBkYXRhLWZyb20taWQ9XCIlcmVwbHlfdWlkJVwiPiVuYW1lJTxcL2E+JXRvX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfdGV4dFwiID4ldGV4dCU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9vdGVyIGNsZWFyX2ZpeFwiIGlkPVwid3BlX2JvdHRvbSVyZXBseV9pZCVcIj5cbiAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpa2Vfd3JhcCBfbGlrZV93cmFwIG5vX2xpa2VzXCIgb25jbGljaz1cInJldHVybiBXYWxsLmxpa2VJdCh0aGlzLCAnJWxpa2VfaWQlJywgJzE0OTA2NDg1MDRfZmU2NGIzZmVmMWZhMWI1ZjMyJywgZXZlbnQpO1wiIG9ubW91c2VvdmVyPVwiV2FsbC5saWtlc1Nob3codGhpcywgJyVsaWtlX2lkJScpXCI+XG4gIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIj5MaWtlPFwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJsaWtlX2ljb24gX2ljb25cIj48XC9pPlxuICA8c3BhbiBjbGFzcz1cImxpa2VfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbjxcL2E+XG48c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIiBvbmNsaWNrPVwiV2FsbC5saWtlc1Nob3dMaXN0KHRoaXMsICclbGlrZV9pZCUnKVwiPlNob3cgbGlrZXM8XC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPjxhIGNsYXNzPVwid2RfbG5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJT9yZXBseT0lcmVwbHlfbXNnX2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPiVkYXRlJTxcL2E+PFwvZGl2PlxuICAgICAgICAlYW5zd2VyX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwiZGVsIjoiPGEgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfaXRlbVwiIG9uY2xpY2s9XCJ3YWxsLmRlbGV0ZVBvc3QodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTA0X2MzNjRmOWFhMTBhYjdiZDc2ZScpOyByZXR1cm4gZmFsc2U7XCI+RGVsZXRlIHBvc3Q8XC9hPiIsInNwYW0iOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXBvc3RfaWQlJywgJzE0OTA2NDg1MDRfNWZlMTdlNzk5YTdiMmEwNDdiJyk7IHJldHVybiBmYWxzZTtcIj5SZXBvcnQ8XC9hPiIsImVkaXQiOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwuZWRpdFBvc3QodGhpcywgJyVwb3N0X2lkJScpOyByZXR1cm4gZmFsc2U7XCI+RWRpdCA8XC9hPiIsInBvc3RfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfd3JhcCBfdWlfbWVudV93cmFwIFwiIG9ubW91c2VvdmVyPVwidWlBY3Rpb25zTWVudS5zaG93KHRoaXMpO1wiIG9ubW91c2VvdXQgPVwidWlBY3Rpb25zTWVudS5oaWRlKHRoaXMpO1wiPlxuICA8ZGl2IGNsYXNzPVwidWlfYWN0aW9uc19tZW51X2ljb25zXCIgIHRhYmluZGV4PVwiMFwiIGFyaWEtbGFiZWw9XCJBY3Rpb25zXCIgcm9sZT1cImJ1dHRvblwiIG9uY2xpY2s9XCJ1aUFjdGlvbnNNZW51LmtleVRvZ2dsZSh0aGlzLCBldmVudCk7XCI+PHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkFjdGlvbnM8XC9zcGFuPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInVpX2FjdGlvbnNfbWVudSBfdWlfbWVudVwiID4lYWN0aW9ucyU8XC9kaXY+XG48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIndhbGwuZGVsZXRlUG9zdCh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTA0X2MzNjRmOWFhMTBhYjdiZDc2ZScpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJEZWxldGVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJzcGFtX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiUmVwb3J0XCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTA0XzVmZTE3ZTc5OWE3YjJhMDQ3YicpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0IFwiIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcmVwbHlfaWQlJyk7XCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIkVkaXQgXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwicmVwbHlfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJmbF9yIHBvc3RfYWN0aW9uc193cmFwXCI+PGRpdiBjbGFzcz1cInBvc3RfYWN0aW9uc1wiPiVhY3Rpb25zJTxcL2Rpdj48XC9kaXY+IiwicG9sbF9zdGF0cyI6IjxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfc3RhdFwiJWhhbmRsZXJzJT5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF90ZXh0XCI+JW9wdGlvbl90ZXh0JTxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93X3BlcmNlbnRcIj4lcGVyY2VudCUlPFwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93JXJvd19jbGFzcyVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcGVyY2VudFwiIHN0eWxlPVwid2lkdGg6ICVjc3NfcGVyY2VudCUlXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfY291bnRcIj4lY291bnQlPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInBvbGxfaGFzaCI6IjE0OTA2NDg1MDRfMDdmZWFhZGI5MmRiMTM1OGM4IiwiZGF0ZV9mb3JtYXQiOiJ0b2RheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRpbWVfc3lzdGVtIjpbInBtIiwiYW0iXSwiYWJzX3RpbWVzdGFtcCI6MTQ5MDY0ODUwNCwibGFuZyI6eyJ3YWxsX01fcmVwbGllc19vZl9OIjpbIiIsIiVzIGNvbW1lbnQgb2Yge2xpbmt9e2FsbH17XC9saW5rfSIsIiVzIGNvbW1lbnRzIG9mIHtsaW5rfXthbGx9e1wvbGlua30iXSwid2FsbF9oaWRlX3JlcGxpZXMiOiJIaWRlIGNvbW1lbnRzIiwid2FsbF9zaG93X25fb2ZfbV9sYXN0IjpbIiIsIlNob3cgbGF0ZXN0ICVzIGNvbW1lbnQgb3V0IG9mIHtjb3VudH0iLCJTaG93IGxhdGVzdCAlcyBjb21tZW50cyBvdXQgb2Yge2NvdW50fSJdLCJ3YWxsX3Nob3dfYWxsX25fcmVwbGllcyI6WyIiLCJTaG93ICVzIGNvbW1lbnQiLCJTaG93IGFsbCAlcyBjb21tZW50cyJdLCJ3YWxsX05fcmVwbGllcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwid2FsbF90aHJlZV9sYXN0X3JlcGxpZXMiOiJsYXN0IHRocmVlIHBvc3RzIiwid2FsbF9hbGxfcmVwbGllcyI6ImFsbCBjb21tZW50cyIsIndhbGxfeF9uZXdfcmVwbGllc19tb3JlIjpbIiIsIiVzIG5ldyBjb21tZW50IGFkZGVkIiwiJXMgbmV3IGNvbW1lbnRzIGFkZGVkIl0sIndhbGxfWF9wZW9wbGVfdm90ZWQiOlsiIiwiPGI+JXM8XC9iPiBwZXJzb24gdm90ZWQuIiwiPGI+JXM8XC9iPiBwZW9wbGUgdm90ZWQuIl0sIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMSI6IlNoaWZ0K0VudGVyIJcgbmV3IGxpbmUiLCJ3YWxsX3JlcGx5X3N1Ym1pdF9oaW50XzIiOiJDdHJsK0VudGVyIJYgc2VuZCBtZXNzYWdlIiwid2FsbF9yZXBseV9zdWJtaXRfaGludF8xX21vcmUiOiJFbnRlciCXIHNlbmQgbWVzc2FnZSwgU2hpZnQrRW50ZXIglyBuZXcgbGluZSIsIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMl9tb3JlIjoiRW50ZXIglyBuZXcgbGluZSwgQ3RybCtFbnRlciCXIHNlbmQgbWVzc2FnZSIsIndhbGxfcmVwbHlfcG9zdCI6IlJlcGx5Iiwid2FsbF9yZXBsaWVkX3RvX2dyb3VwIjoidGhlIGFkbWluIiwid2FsbF9yZXBseV9hc191c2VyIjoib24gYmVoYWxmIG9mIHRoZSB1c2VyIiwid2FsbF9yZXBseV9hc19ncm91cCI6InBvc3QgYXMgY29tbXVuaXR5Iiwid2FsbF9hZGRfcGhvdG9fZXJyb3IiOiJVbmFibGUgdG8gdXBsb2FkIHRoZSBpbWFnZSIsIndhbGxfanVzdF9ub3ciOlsiIiwiT25lIHNlY29uZCBhZ28iLCJUd28gc2Vjb25kcyBhZ28iLCJUaHJlZSBzZWNvbmRzIGFnbyIsIkZvdXIgc2Vjb25kcyBhZ28iLCJGaXZlIHNlY29uZHMgYWdvIl0sIndhbGxfWF9zZWNvbmRzX2Fnb193b3JkcyI6WyIiLCJPbmUgc2Vjb25kIGFnbyIsIlR3byBzZWNvbmRzIGFnbyIsIlRocmVlIHNlY29uZHMgYWdvIiwiRm91ciBzZWNvbmRzIGFnbyIsIkZpdmUgc2Vjb25kcyBhZ28iXSwid2FsbF9YX3NlY29uZHNfYWdvIjpbIiIsIiVzIHNlY29uZCBhZ28iLCIlcyBzZWNvbmRzIGFnbyJdLCJ3YWxsX1hfbWludXRlc19hZ29fd29yZHMiOlsiIiwib25lIG1pbnV0ZSBhZ28iLCJ0d28gbWludXRlcyBhZ28iLCJ0aHJlZSBtaW51dGVzIGFnbyIsIjQgbWludXRlcyBhZ28iLCI1IG1pbnV0ZXMgYWdvIl0sIndhbGxfWF9taW51dGVzX2FnbyI6WyIiLCIlcyBtaW51dGUgYWdvIiwiJXMgbWludXRlcyBhZ28iXSwid2FsbF9YX2hvdXJzX2Fnb193b3JkcyI6WyIiLCJvbmUgaG91ciBhZ28iLCJ0d28gaG91cnMgYWdvIiwidGhyZWUgaG91cnMgYWdvIiwiZm91ciBob3VycyBhZ28iLCJmaXZlIGhvdXJzIGFnbyJdLCJ3YWxsX1hfaG91cnNfYWdvIjpbIiIsIiVzIGhvdXIgYWdvIiwiJXMgaG91cnMgYWdvIl19fSwic2hhcmVfdGltZWhhc2giOiIxNDkwNjQ4NTA0XzFiMmFiMTNhZjU2ZDU5NTQ2ZSIsImNvbW1lbnRzVHBsIjp7InJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbWVudENsaWNrKHRoaXMsIGV2ZW50LCAlZnJvbV9pZCUsICVyZXBseV9tc2dfaWQlKVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiJWhyZWYlXCI+XG4gICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiBjbGFzcz1cInJlcGx5X2ltZ1wiIGFsdD1cIiVuYW1lJVwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICAlYWN0aW9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiJWhyZWYlXCIgZGF0YS1mcm9tLWlkPVwiJWZyb21faWQlXCI+JW5hbWUlPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPiVtZXNzYWdlJTxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9mb290ZXIgY2xlYXJfZml4XCIgaWQ9XCJ3cGVfYm90dG9tJXJlcGx5X2lkJVwiPlxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibGlrZV93cmFwIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwubGlrZUl0KHRoaXMsICclcG9zdF9vaWQldmlkZW9fY29tbWVudCVyZXBseV9tc2dfaWQlbXYnLCAnMTQ5MDY0ODUwNF9mZTY0YjNmZWYxZmExYjVmMzInLCBldmVudCk7XCIgb25tb3VzZW92ZXI9XCJXYWxsLmxpa2VzU2hvdyh0aGlzLCAnJXBvc3Rfb2lkJXZpZGVvX2NvbW1lbnQlcmVwbHlfbXNnX2lkJW12JylcIj5cbiAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkxpa2U8XC9zcGFuPlxuICA8aSBjbGFzcz1cImxpa2VfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvYT5cbjxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VzU2hvd0xpc3QodGhpcywgJyVwb3N0X29pZCV2aWRlb19jb21tZW50JXJlcGx5X21zZ19pZCVtdicpXCI+U2hvdyBsaWtlczxcL3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9kYXRlXCI+JWRhdGUlPFwvZGl2PlxuICAgICAgICBcbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJhY3Rpb25zIjoiPGRpdiBjbGFzcz1cImZsX3IgcG9zdF9hY3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicG9zdF9hY3Rpb25zXCI+JWFjdGlvbnMlPFwvZGl2PjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0XCIgb25jbGljaz1cIldhbGwuZWRpdFBvc3QodGhpcywgJyVyZXBseV9pZCUnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJFZGl0XCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tQWN0aW9uKCdkZWxldGUnLCAlcG9zdF9vaWQlLCAlcmVwbHlfbXNnX2lkJSwgJzE0OTA2NDg1MDRfYjYyMTM5OTc0MGUxZWE3MjYxJywgJ212JylcIiBvbm1vdXNlb3Zlcj1cInNob3dUaXRsZSh0aGlzKTtcIiBhcmlhLWxhYmVsPVwiRGVsZXRlXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+Iiwic3BhbV9yZXBseSI6IjxkaXYgaWQ9XCJyZXBseV9kZWxldGUlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9kZWxldGVfYnV0dG9uIHJlcGx5X2FjdGlvbiBmbF9yXCIgZGF0YS10aXRsZT1cIlJlcG9ydFwiIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbUFjdGlvbignc3BhbScsICVwb3N0X29pZCUsICVyZXBseV9tc2dfaWQlLCAnMTQ5MDY0ODUwNF9iNjIxMzk5NzQwZTFlYTcyNjEnLCAnbXYnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4ifSwicG9zdCI6IjIxNTI2OTlfdmlkZW8xNjg1OTE3NDFtdiIsIm1heFJlcGx5TGVuZ3RoIjoxNjM4NCwibWF4Q2hhdFJlcGx5TGVuZ3RoIjo2MDAsIm1heERlc2NyaXB0aW9uTGVuZ3RoIjoxMDI0LCJwdWJsaXNoQWN0aW9uIjoiIiwicGxfbGlzdCI6MCwiaXNfdmtfcGxheWVyIjowLCJpc19mbHYiOmZhbHNlLCJjYW50UGxheSI6MCwicGxheWVyIjp7InR5cGUiOiJ5b3V0dWJlIiwicGFyYW1zIjpbeyJsYW5nX2FkZCI6IkFkZCB0byBNeSBWaWRlb3MiLCJsYW5nX2FkZGVkIjoiVmlkZW8gYWRkZWQgdG8gTXkgVmlkZW9zIiwibGFuZ19zaGFyZSI6IlNoYXJlIiwibGFuZ19saWtlIjoiTGlrZSIsImxhbmdfZG9uYXRlIjoiRG9uYXRlIiwibGFuZ19zdWJzY3JpYmUiOiJTdWJzY3JpYmUiLCJsYW5nX3N1YnNjcmliZWQiOiJGb2xsb3dpbmciLCJsYW5nX3ZvbHVtZV9vbiI6IlVubXV0ZSIsImxhbmdfdm9sdW1lX29mZiI6Ik11dGUiLCJsYW5nX3ZvbHVtZSI6IlZvbHVtZSIsImxhbmdfaGRzZCI6IkNoYW5nZSBWaWRlbyBRdWFsaXR5IiwibGFuZ19xdWFsaXR5X2F1dG8iOiJBdXRvIiwibGFuZ19vcGVuX3BvcHVwIjoiRXhwYW5kIiwibGFuZ19mdWxsc2NyZWVuIjoiRnVsbCBTY3JlZW4iLCJsYW5nX3dpbmRvdyI6Ik1pbmltaXplIiwibGFuZ19yb3RhdGUiOiJSb3RhdGUiLCJsYW5nX2Fkc19saW5rIjoiQWR2ZXJ0aXNlciYjMzk7cyBTaXRlIiwibGFuZ19hZHMiOiJBZHMiLCJsYW5nX2Fkc19za2lwIjoiU2tpcCBhZCIsImxhbmdfYWRzX3NraXBfdGltZSI6IlNraXAgYWRzIGluIHt0aW1lfSBzIiwibGFuZ19yZXBvcnRfcHJvYmxlbSI6IlJlcG9ydCBhIHByb2JsZW0uLiIsImxhbmdfcGxheSI6IlBsYXkiLCJsYW5nX3BhdXNlIjoiUGF1c2UiLCJsYW5nX3JlcGxheSI6IlJlcGxheSIsImxhbmdfbmV4dCI6Ik5leHQgdmlkZW8iLCJsYW5nX25leHRfY2FuY2VsIjoiQ2FuY2VsIiwibGFuZ19nb3RvX29yaWdfdmlkZW8iOiJHbyB0byBWaWRlbyIsImxhbmdfZ290b19hZHZlcnRpc2Vyc19zaXRlIjoiR28gdG8gdGhlIHdlYnNpdGUiLCJsYW5nX2J1eV90aWNrZXRzIjpudWxsLCJsYW5nX2xvYWRfZXJyb3IiOiJBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbG9hZGluZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJsYW5nX2Vycl9jb2RlIjoiRXJyb3IgY29kZToge2NvZGV9IiwibGFuZ19iYWRfYnJvd3NlciI6IlNvcnJ5LCB5b3VyIGJyb3dzZXIgaXNuJiMzOTt0IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50IiwibGFuZ19saXZlIjoiTGl2ZSIsImxhbmdfbGl2ZV9zdGFydGluZ19zb29uIjoiVGhlIGxpdmUgd2lsbCBzdGFydCBzb29uIiwibGFuZ19saXZlX2ZhaWxlZCI6IkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHN0cmVhbWluZyIsImxhbmdfbGl2ZV93YWl0X3JlY29yZCI6IlRoZSBsaXZlIGhhcyBmaW5pc2hlZCBhbmQgd2lsbCBzb29uIGJlY29tZSBhdmFpbGFibGUgaW4gcmVwbGF5IiwibGFuZ19saXZlX3VzZXJfc2VudF9naWZ0IjpbIiIsInNlbnQgYSBnaWZ0Iiwic2VudCBhIGdpZnQiXSwibGFuZ19saXZlX3VzZXJfc2VudF9zdXBlcmNvbW1lbnQiOlsiIiwic2VudCBhIHN1cGVyIG1lc3NhZ2UiLCJzZW50IGEgc3VwZXIgbWVzc2FnZSJdLCJsYW5nX2xpdmVfZG93bmxvYWRfYXBwIjoiRG93bmxvYWQgYXBwIiwibGFuZ19hdXRvcGxheV92b2x1bWVfaGludCI6ItFsaWNrIHRvIHR1cm4gb24gdGhlIHNvdW5kIiwibGFuZ19hdXRvcGxheV9leHBhbmRfaGludCI6IkNsaWNrIHRvIGV4cGFuZCIsImxhbmdfdGltZWRfYnV0dG9uX2dvdG8iOiLP5fDl6fLoIiwibGFuZ190aW1lZF9idXR0b25fb3BlbiI6Ik9wZW4iLCJsYW5nX3RpbWVkX2J1dHRvbl9idXkiOiJCdXkiLCJsYW5nX3RpbWVkX2J1dHRvbl9idXlfdGlja2V0cyI6IkJ1eSB0aWNrZXRzIiwibGFuZ190aW1lZF9idXR0b25fY2hlY2tpbiI6bnVsbCwibGFuZ190aW1lZF9idXR0b25faW5zdGFsbCI6ItPx8uDt7uLo8vwiLCJsYW5nX3RpbWVkX2J1dHRvbl9jb250YWN0Ijoi0eL/5+Dy/PH/IiwibGFuZ190aW1lZF9idXR0b25fZmlsbCI6Isfg7+7r7ejy/CIsImxhbmdfdGltZWRfYnV0dG9uX2xlYXJuX21vcmUiOiJNb3JlIiwibGFuZ19jbWVudV9jb3B5X3ZpZGVvX2xpbmsiOiJDb3B5IHZpZGVvIGxpbmsiLCJsYW5nX2NtZW51X2NvcHlfdGltZWNvZGVfbGluayI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwibGFuZ19jbWVudV9jb3B5X2VtYmVkX2NvZGUiOiJDb3B5IGVtYmVkIGNvZGUiLCJsYW5nX2NtZW51X2VuYWJsZV9sb29wIjoiRW5hYmxlIGxvb3AiLCJsYW5nX2NtZW51X2Rpc2FibGVfbG9vcCI6IkRpc2FibGUgbG9vcCIsImxhbmdfY21lbnVfcGxheWJhY2tfc3BlZWQiOiJQbGF5YmFjayBzcGVlZCIsImxhbmdfY21lbnVfcmVwb3J0X2Vycm9yIjoiUmVwb3J0IGEgcHJvYmxlbS4uIiwibGFuZ19jbWVudV9jb3B5X2RlYnVnIjoiQ29weSBkZWJ1ZyBpbmZvIiwibGFuZ19hcmlhX3ZpZGVvcGxheWVyIjoiVksgVmlkZW8gUGxheWVyIiwibGFuZ19hcmlhX3ZvbHVtZV9zbGlkZXIiOiJWb2x1bWUgc2xpZGVyIiwibGFuZ19hcmlhX3ZvbHVtZV9tdXRlZCI6IlZvbHVtZSBpcyBtdXRlZCIsImxhbmdfYXJpYV90aW1lbGluZV9zbGlkZXIiOiJUaW1lIHNsaWRlciIsImxhbmdfYXJpYV90aW1lbGluZV92YWx1ZSI6Int0aW1lfSAodG90YWwgZHVyYXRpb24ge2R1cmF0aW9ufSkiLCJsYW5nX2FyaWFfZW50ZXJfZnVsbHNjcmVlbiI6IkVudGVyIGZ1bGwgc2NyZWVuIG1vZGUiLCJsYW5nX2FyaWFfZXhpdF9mdWxsc2NyZWVuIjoiRXhpdCBmdWxsIHNjcmVlbiBtb2RlIiwibGFuZ19hcmlhX3F1YWxpdHlfY3VycmVudCI6IkN1cnJlbnQgcXVhbGl0eSBpcyB7cXVhbGl0eX0iLCJ2aWRlb19wbGF5X2hkIjoiV2F0Y2ggaW4gSEQiLCJ2aWRlb19zdG9wX2xvYWRpbmciOiJTdG9wIERvd25sb2FkIiwidmlkZW9fcGxheWVyX3ZlcnNpb24iOiJWSyBWaWRlbyBQbGF5ZXIiLCJ2aWRlb19nZXRfdmlkZW9fY29kZSI6IkNvcHkgZW1iZWQgY29kZSIsInZpZGVvX2dldF9jdXJyZW50X3VybCI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwidmlkZW9fbG9hZF9lcnJvciI6IkFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsImdvdG9fb3JpZ192aWRlbyI6IkdvIHRvIFZpZGVvIiwidmlkIjoxNjg1OTE3NDEsIm9pZCI6MjE1MjY5OSwibWRfdGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwibWRfYXV0aG9yIjoiS2lyaWxsIEx5YW5veSIsImF1dGhvcl9pZCI6MjE1MjY5OSwiYXV0aG9yX2hyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJhdXRob3JfcGhvdG8iOiJodHRwczpcL1wvcHAudXNlcmFwaS5jb21cL2M2MjM4MjRcL3Y2MjM4MjQ2OTlcLzU1NTc1XC9DQ1FaMjlsMEI5ay5qcGciLCJoYXNoIjoiNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYiLCJoYXNoMiI6ImVhMWQzZGI5ODgxODEyNWQiLCJpc19leHQiOjAsImR1cmF0aW9uIjoyOTksInQiOiIiLCJ2aWdvX2NpZCI6ImNmY2QyMDg0OTVkNTY1ZWY2NmU3ZGZmOWY5ODc2NGRhIiwidmlld2VyX2lkIjowLCJwb3N0X2lkIjpudWxsLCJtb2R1bGUiOiJwcm9maWxlIiwiZyI6MCwiYSI6MCwiY2lzIjowLCJyZWNvbW1lbmRfc2lnIjoiNDYxMTY4NzZhMmYxMGFhYmY0MmE4NzYyYzUzNDAzOGUiLCJlcnJvcl9zdGF0X2hhc2giOiIxNDkwNjQ4NTA0XzM4NmU1YmZmMzU1OTg5OTFmOSIsIm5vX2FkcyI6MSwibm9saWtlcyI6MSwiZXh0cmEiOiIyMSIsImV4dHJhX2RhdGEiOiI0VGh3czV3cTVHSSIsInRodW1iIjoiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsImpwZyI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYxNzgzMVwvdTk2MTIzMzAzXC92aWRlb1wveF81YmIwNTc4Zi5qcGciLCJoZCI6MCwibm9sb2dvIjoxLCJzaG93X25leHQiOjAsImxpa2VkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImFkZGVkIjowLCJjYW5fYWRkIjowLCJub190aXRsZSI6MCwidnNlZ3Nfc2l6ZSI6MjkuMDAwMDAwLCJ2c2Vnc19oYXNoIjoiMzkxNDQxZWIwMzg5YTI0MTQ2IiwicmVwb3J0X2Vycm9yX2hhc2giOiIzODM3MTllMGM4ZjU0NjY1OWEifV19fTwhPjwhcGFnZXZpZXdfY2FuZGlkYXRlPg==
46
- http_version:
47
- recorded_at: Mon, 27 Mar 2017 21:01:45 GMT
48
- recorded_with: VCR 3.0.3