video_info 2.8.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/unit_test.yml +39 -0
  3. data/Guardfile +1 -1
  4. data/README.md +8 -21
  5. data/lib/video_info.rb +2 -3
  6. data/lib/video_info/provider.rb +3 -2
  7. data/lib/video_info/providers/vimeo_scraper.rb +12 -2
  8. data/lib/video_info/providers/youtube.rb +4 -0
  9. data/lib/video_info/providers/youtube_api.rb +1 -1
  10. data/lib/video_info/providers/youtube_scraper.rb +42 -25
  11. data/lib/video_info/providers/youtubeplaylist_api.rb +15 -1
  12. data/lib/video_info/version.rb +1 -1
  13. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_invalid_video_url/_available_/1_2_2_1_1.yml +26 -37
  14. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_valid_video/_available_/1_2_1_1_1.yml +26 -35
  15. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author/1_3_7_1.yml +31 -40
  16. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_thumbnail/1_3_9_1.yml +31 -40
  17. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_url/1_3_8_1.yml +31 -40
  18. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_date/should_show_correct_date.yml +31 -40
  19. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_description/1_3_10_1.yml +31 -40
  20. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_duration/1_3_12_1.yml +31 -40
  21. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_keywords/1_3_11_1.yml +31 -40
  22. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail/{1_3_19_1.yml → 1_3_21_1.yml} +31 -40
  23. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_large/1_3_18_1.yml +31 -40
  24. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_medium/1_3_17_1.yml +31 -40
  25. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_small/1_3_16_1.yml +31 -40
  26. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_title/1_3_6_1.yml +31 -40
  27. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_view_count/{1_3_20_1.yml → 1_3_22_1.yml} +31 -40
  28. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/1_2_3_1_1.yml +38 -37
  29. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/2_2_3_1_1.yml +28 -25
  30. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/1_2_2_1_1.yml +44 -41
  31. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/2_2_2_1_1.yml +26 -23
  32. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/1_2_1_1_1.yml +46 -38
  33. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/2_2_1_1_1.yml +24 -23
  34. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_13_2_1.yml +33 -31
  35. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_13_3_1.yml +33 -31
  36. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_13_4_1.yml +32 -28
  37. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_13_1_1.yml +33 -31
  38. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_13_7_1.yml +34 -34
  39. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_13_6_1.yml +33 -30
  40. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_13_8_1.yml +34 -32
  41. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_13_10_1.yml +33 -30
  42. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_13_9_1.yml +34 -34
  43. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_13_14_1.yml +34 -33
  44. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_13_13_1.yml +34 -33
  45. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_13_12_1.yml +34 -33
  46. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_13_5_1.yml +33 -31
  47. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_13_15_1.yml +34 -33
  48. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_13_11_1.yml +34 -33
  49. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_20_1.yml +158 -0
  50. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_20_1.yml +80 -0
  51. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_19_1.yml +158 -0
  52. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_19_1.yml +85 -0
  53. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_21_1.yml +159 -0
  54. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_21_1.yml +80 -0
  55. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_date/should_have_correct_upload_date.yml +82 -68
  56. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/1_3_7_1.yml +44 -34
  57. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/2_3_7_1.yml +36 -35
  58. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/1_3_9_1.yml +45 -37
  59. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/2_3_9_1.yml +39 -33
  60. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/1_3_11_1.yml +46 -38
  61. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/2_3_11_1.yml +36 -35
  62. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_keywords/should_return_a_string_list_of_keywords.yml +85 -71
  63. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_18_1.yml +236 -0
  64. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_18_1.yml +82 -0
  65. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/1_3_15_1.yml +67 -53
  66. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/2_3_15_1.yml +37 -34
  67. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/1_3_14_1.yml +67 -54
  68. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/2_3_14_1.yml +37 -32
  69. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/1_3_13_1.yml +67 -53
  70. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/2_3_13_1.yml +37 -32
  71. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/1_3_6_1.yml +45 -36
  72. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/2_3_6_1.yml +39 -33
  73. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_22_1.yml +158 -0
  74. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_22_1.yml +84 -0
  75. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/1_3_10_1.yml +46 -40
  76. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/2_3_10_1.yml +37 -34
  77. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/1_12_1_1.yml +234 -0
  78. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/2_12_1_1.yml +78 -0
  79. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/1_12_2_1.yml +233 -0
  80. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/2_12_2_1.yml +78 -0
  81. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/1_12_3_1.yml +235 -0
  82. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/2_12_3_1.yml +73 -0
  83. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/1_12_4_1.yml +234 -0
  84. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/2_12_4_1.yml +77 -0
  85. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_invalid_video/_available_/1_2_2_1_1.yml +25 -17
  86. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_valid_video/_available_/1_2_1_1_1.yml +28 -18
  87. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_duration/1_4_7_1.yml +33 -25
  88. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_height/1_4_9_1.yml +33 -25
  89. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_large/1_4_12_1.yml +33 -24
  90. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_medium/1_4_11_1.yml +34 -25
  91. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_small/1_4_10_1.yml +33 -25
  92. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_title/1_4_6_1.yml +33 -24
  93. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_width/1_4_8_1.yml +33 -24
  94. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_duration/1_3_7_1.yml +33 -25
  95. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_height/1_3_9_1.yml +33 -23
  96. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail/{1_3_13_1.yml → 1_3_15_1.yml} +33 -23
  97. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_large/1_3_12_1.yml +33 -23
  98. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_medium/1_3_11_1.yml +33 -23
  99. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_small/1_3_10_1.yml +33 -25
  100. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_title/1_3_6_1.yml +33 -25
  101. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_width/1_3_8_1.yml +33 -23
  102. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_2_1_1.yml +20 -442
  103. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_2_1_1.yml +81 -21
  104. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_2_11_1.yml +24 -446
  105. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_2_11_1.yml +81 -21
  106. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_2_8_1.yml +25 -449
  107. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_2_8_1.yml +81 -21
  108. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_2_10_1.yml +24 -450
  109. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_2_10_1.yml +81 -21
  110. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_2_9_1.yml +23 -449
  111. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_2_9_1.yml +81 -21
  112. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_2_7_1.yml +24 -446
  113. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_2_7_1.yml +81 -21
  114. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_18_1.yml +59 -0
  115. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_18_1.yml +114 -0
  116. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/1_2_1_1_1.yml +23 -20
  117. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/2_2_1_1_1.yml +152 -90
  118. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_3_1_1.yml +23 -447
  119. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_3_1_1.yml +81 -21
  120. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_a_video_without_description/_description/1_1_1_1.yml +59 -0
  121. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_date/should_return_date_video_was_posted.yml +181 -110
  122. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/1_17_7_1.yml +22 -19
  123. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/2_17_7_1.yml +152 -90
  124. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/1_17_9_1.yml +23 -20
  125. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/2_17_9_1.yml +152 -90
  126. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/1_17_8_1.yml +23 -20
  127. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/2_17_8_1.yml +152 -90
  128. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/1_17_6_1.yml +20 -17
  129. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/2_17_6_1.yml +152 -90
  130. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_17_1.yml +59 -0
  131. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_17_1.yml +187 -0
  132. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/1_3_6_1.yml +74 -15
  133. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/2_3_6_1.yml +152 -90
  134. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/1_3_7_1.yml +74 -15
  135. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/2_3_7_1.yml +271 -144
  136. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/1_3_8_1.yml +21 -18
  137. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/2_3_8_1.yml +271 -144
  138. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/can_be_called_twice_and_receive_the_same_value.yml +391 -0
  139. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_date/should_return_date_video_was_posted.yml +173 -108
  140. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/1_3_10_1.yml +23 -19
  141. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/2_3_10_1.yml +152 -90
  142. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/1_3_12_1.yml +21 -18
  143. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/2_3_12_1.yml +152 -90
  144. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/1_3_11_1.yml +21 -18
  145. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/2_3_11_1.yml +152 -90
  146. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/1_3_9_1.yml +23 -20
  147. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/2_3_9_1.yml +152 -90
  148. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_21_1.yml +59 -0
  149. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_21_1.yml +187 -0
  150. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/1_2_2_1_1.yml +87 -27
  151. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/1_2_3_1_1.yml +120 -60
  152. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/1_2_1_1_1.yml +120 -60
  153. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_21_1.yml +165 -0
  154. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_22_1.yml +274 -0
  155. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_23_1.yml +274 -0
  156. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/1_3_7_1.yml +131 -71
  157. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/1_3_8_1.yml +131 -71
  158. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_18_1.yml +165 -0
  159. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/1_3_15_1.yml +131 -71
  160. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large_2x/1_3_16_1.yml +165 -0
  161. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_maxres/1_3_17_1.yml +165 -0
  162. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/1_3_14_1.yml +131 -71
  163. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/1_3_13_1.yml +131 -71
  164. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/1_3_6_1.yml +131 -71
  165. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_videos/returns_list_of_videos_in_playlist.yml +78 -231
  166. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/1_4_2_1.yml +81 -21
  167. data/spec/lib/video_info/providers/dailymotion_spec.rb +6 -6
  168. data/spec/lib/video_info/providers/vimeo_spec.rb +21 -21
  169. data/spec/lib/video_info/providers/wistia_spec.rb +6 -6
  170. data/spec/lib/video_info/providers/youtube_playlist_spec.rb +22 -28
  171. data/spec/lib/video_info/providers/youtube_scraper_spec.rb +4 -2
  172. data/spec/lib/video_info/providers/youtube_spec.rb +28 -26
  173. data/spec/lib/video_info_spec.rb +0 -4
  174. data/spec/spec_helper.rb +6 -1
  175. data/tmp/rspec_guard_result +25 -0
  176. data/video_info.gemspec +4 -4
  177. metadata +85 -215
  178. data/.travis.yml +0 -21
  179. data/lib/video_info/providers/vkontakte.rb +0 -208
  180. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_18_1.yml +0 -150
  181. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_18_1.yml +0 -79
  182. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_17_1.yml +0 -150
  183. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_17_1.yml +0 -79
  184. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_19_1.yml +0 -150
  185. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_19_1.yml +0 -79
  186. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_16_1.yml +0 -222
  187. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_16_1.yml +0 -79
  188. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_20_1.yml +0 -150
  189. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_20_1.yml +0 -79
  190. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/1_12_1_1.yml +0 -222
  191. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/2_12_1_1.yml +0 -75
  192. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/1_12_2_1.yml +0 -222
  193. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/2_12_2_1.yml +0 -75
  194. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/1_12_3_1.yml +0 -222
  195. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/2_12_3_1.yml +0 -75
  196. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/1_12_4_1.yml +0 -222
  197. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/2_12_4_1.yml +0 -75
  198. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_hashes/available_/1_2_6_1_1.yml +0 -86
  199. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_invalid_video/available_/1_2_2_1_1.yml +0 -50
  200. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_private_video/available_/1_2_3_1_1.yml +0 -132
  201. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect/available_/1_2_4_1_1.yml +0 -134
  202. 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
  203. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_valid_video/available_/1_2_1_1_1.yml +0 -87
  204. 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
  205. 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
  206. 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
  207. 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
  208. 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
  209. 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
  210. 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
  211. 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
  212. 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
  213. 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
  214. 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
  215. 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
  216. 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
  217. 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
  218. 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
  219. 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
  220. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video-54799401_165822734/title/1_7_4_1.yml +0 -48
  221. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video3552522_171340713/embed_url/1_10_1_1.yml +0 -48
  222. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/description/1_6_8_1.yml +0 -48
  223. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/duration/1_6_10_1.yml +0 -48
  224. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_code/1_6_6_1.yml +0 -48
  225. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_url/1_6_5_1.yml +0 -48
  226. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/height/1_6_12_1.yml +0 -48
  227. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/title/1_6_7_1.yml +0 -48
  228. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/view_count/1_6_13_1.yml +0 -48
  229. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/width/1_6_11_1.yml +0 -48
  230. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author/1_4_5_1.yml +0 -48
  231. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_thumbnail/1_4_6_1.yml +0 -48
  232. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_url/1_4_7_1.yml +0 -48
  233. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/title/1_4_4_1.yml +0 -48
  234. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/1_2_2_1_1.yml +0 -1447
  235. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/2_2_2_1_1.yml +0 -156
  236. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_3_1_1.yml +0 -485
  237. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_3_1_1.yml +0 -54
  238. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_3_11_1.yml +0 -481
  239. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_3_11_1.yml +0 -54
  240. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_3_8_1.yml +0 -483
  241. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_3_8_1.yml +0 -54
  242. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_3_10_1.yml +0 -484
  243. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_3_10_1.yml +0 -54
  244. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_3_9_1.yml +0 -484
  245. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_3_9_1.yml +0 -54
  246. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_3_7_1.yml +0 -484
  247. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_3_7_1.yml +0 -54
  248. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_17_1.yml +0 -485
  249. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_3_17_1.yml +0 -485
  250. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_17_1.yml +0 -54
  251. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_3_17_1.yml +0 -54
  252. 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
  253. 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
  254. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_16_1.yml +0 -56
  255. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_16_1.yml +0 -125
  256. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_20_1.yml +0 -56
  257. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_20_1.yml +0 -125
  258. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/2_2_2_1_1.yml +0 -60
  259. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/2_2_3_1_1.yml +0 -94
  260. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/2_2_1_1_1.yml +0 -94
  261. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_19_1.yml +0 -105
  262. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/2_3_19_1.yml +0 -105
  263. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_20_1.yml +0 -189
  264. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/2_3_20_1.yml +0 -189
  265. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_21_1.yml +0 -189
  266. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/2_3_21_1.yml +0 -189
  267. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/2_3_7_1.yml +0 -105
  268. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/2_3_8_1.yml +0 -105
  269. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_16_1.yml +0 -105
  270. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/2_3_16_1.yml +0 -105
  271. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/2_3_15_1.yml +0 -105
  272. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/2_3_14_1.yml +0 -105
  273. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/2_3_13_1.yml +0 -105
  274. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/2_3_6_1.yml +0 -105
  275. 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
  276. data/spec/lib/video_info/providers/vkontakte_spec.rb +0 -236
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - VideoInfo/2.7
11
+ - VideoInfo/2.8.0
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
@@ -18,60 +18,70 @@ http_interactions:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
- Server:
22
- - nginx
23
21
  Content-Type:
24
22
  - application/json; charset=utf-8
25
- Status:
26
- - 200 OK
27
23
  X-Content-Type-Options:
28
24
  - nosniff
25
+ X-Download-Options:
26
+ - noopen
27
+ X-Permitted-Cross-Domain-Policies:
28
+ - none
29
+ Referrer-Policy:
30
+ - strict-origin-when-cross-origin
29
31
  Access-Control-Allow-Origin:
30
32
  - "*"
33
+ Timing-Allow-Origin:
34
+ - "*"
31
35
  Cache-Control:
32
36
  - public, no-cache
37
+ Etag:
38
+ - W/"d56fb6260875817389a2da541e59e2bc"
33
39
  P3p:
34
40
  - CP="CURi ADMa DEVa IVAa IVDa CONi OUR IND DSP CAO COR"
35
41
  X-Request-Id:
36
- - e1db7bde-6d0e-4572-bd8a-ae437dcc4393
42
+ - 29d7ed04937a1a7df6d0d66678c1ca82
37
43
  X-Runtime:
38
- - '0.090189'
44
+ - '0.030630'
39
45
  Via:
40
46
  - 1.1 varnish
41
47
  - 1.1 varnish
42
- Fastly-Debug-Digest:
43
- - 0cb2dce10e342c18e932e8428741b0b03e8678383f77a7e425ccd2c0cd233ec0
48
+ - 1.1 varnish (Varnish/6.0)
44
49
  Content-Length:
45
- - '457'
50
+ - '470'
46
51
  Accept-Ranges:
47
52
  - bytes
48
53
  Date:
49
- - Mon, 27 Mar 2017 21:01:54 GMT
54
+ - Tue, 27 Oct 2020 19:36:38 GMT
50
55
  Age:
51
- - '2213'
56
+ - '35456'
52
57
  Connection:
53
58
  - keep-alive
54
59
  X-Served-By:
55
- - cache-ord1733-ORD, cache-lax8623-LAX
60
+ - cache-dca17725-DCA, cache-gru17131-GRU
56
61
  X-Cache:
57
62
  - MISS, HIT
58
63
  X-Cache-Hits:
59
64
  - 0, 1
60
65
  X-Timer:
61
- - S1490648514.994392,VS0,VE0
66
+ - S1603827398.364816,VS0,VE1
62
67
  Vary:
63
- - Accept-Encoding,X-Forwarded-Proto
68
+ - Accept-Encoding,X-Forwarded-Proto,X-ECMA-Override
64
69
  Strict-Transport-Security:
65
70
  - max-age=0
71
+ X-Ecma-V:
72
+ - es5
73
+ X-Browser:
74
+ - unknown
75
+ X-Browser-Version:
76
+ - '0'
66
77
  body:
67
78
  encoding: ASCII-8BIT
68
79
  string: '{"version":"1.0","type":"video","html":"\u003ciframe src=\"https://fast.wistia.net/embed/iframe/rs1me54mpw\"
69
- title=\"Wistia video player\" allowtransparency=\"true\" frameborder=\"0\"
70
- scrolling=\"no\" class=\"wistia_embed\" name=\"wistia_embed\" allowfullscreen
71
- mozallowfullscreen webkitallowfullscreen oallowfullscreen msallowfullscreen
72
- width=\"960\" height=\"540\"\u003e\u003c/iframe\u003e\n\u003cscript src=\"https://fast.wistia.net/assets/external/E-v1.js\"
73
- async\u003e\u003c/script\u003e","width":960,"height":540,"provider_name":"Wistia,
74
- Inc.","provider_url":"https://wistia.com","title":"Lance Kalish - Yes To Group","thumbnail_url":"https://embed-ssl.wistia.com/deliveries/dc005e6a7583a25c4b7c284c08afc42fb67fdb95.jpg?image_crop_resized=960x540","thumbnail_width":960,"thumbnail_height":540,"duration":1214.83}'
75
- http_version:
76
- recorded_at: Mon, 27 Mar 2017 21:01:55 GMT
80
+ title=\"Lance Kalish - Yes To Group Video\" allow=\"autoplay; fullscreen\"
81
+ allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" class=\"wistia_embed\"
82
+ name=\"wistia_embed\" allowfullscreen msallowfullscreen width=\"960\" height=\"540\"\u003e\u003c/iframe\u003e\n\u003cscript
83
+ src=\"https://fast.wistia.net/assets/external/E-v1.js\" async\u003e\u003c/script\u003e","width":960,"height":540,"provider_name":"Wistia,
84
+ Inc.","provider_url":"https://wistia.com","title":"Lance Kalish - Yes To Group","thumbnail_url":"https://embed-ssl.wistia.com/deliveries/dc005e6a7583a25c4b7c284c08afc42fb67fdb95.jpg?image_crop_resized=960x540","thumbnail_width":960,"thumbnail_height":540,"player_color":"7b796a","duration":1214.83}'
85
+ http_version:
86
+ recorded_at: Tue, 27 Oct 2020 19:36:38 GMT
77
87
  recorded_with: VCR 3.0.3
@@ -18,464 +18,42 @@ http_interactions:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
+ Expires:
22
+ - Tue, 27 Apr 1971 19:44:06 GMT
21
23
  Strict-Transport-Security:
22
24
  - max-age=31536000
23
25
  X-Frame-Options:
24
26
  - SAMEORIGIN
25
- Cache-Control:
26
- - no-cache
27
27
  Content-Type:
28
28
  - text/html; charset=utf-8
29
- X-Xss-Protection:
30
- - 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
31
29
  P3p:
32
- - CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en
30
+ - CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=pt-BR
33
31
  for more info."
32
+ Cache-Control:
33
+ - no-cache
34
34
  X-Content-Type-Options:
35
35
  - nosniff
36
- Expires:
37
- - Tue, 27 Apr 1971 19:44:06 EST
38
36
  Date:
39
- - Mon, 27 Mar 2017 21:01:59 GMT
37
+ - Tue, 27 Oct 2020 18:33:33 GMT
40
38
  Server:
41
- - YouTubeFrontEnd
39
+ - YouTube Frontend Proxy
40
+ X-Xss-Protection:
41
+ - '0'
42
42
  Set-Cookie:
43
- - VISITOR_INFO1_LIVE=T3pL2EHm8Io; path=/; domain=.youtube.com; expires=Sun,
44
- 26-Nov-2017 08:54:59 GMT; httponly
45
- - YSC=z0nmUpf8Vhc; path=/; domain=.youtube.com; httponly
43
+ - GPS=1; path=/; domain=.youtube.com; expires=Tue, 27-Oct-2020 19:03:33 GMT
44
+ - VISITOR_INFO1_LIVE=942xIUdwk-Y; path=/; domain=.youtube.com; secure; expires=Sun,
45
+ 25-Apr-2021 18:33:33 GMT; httponly; samesite=None
46
+ - YSC=U-CtZt9CCBs; path=/; domain=.youtube.com; secure; httponly; samesite=None
46
47
  Alt-Svc:
47
- - quic=":443"; ma=2592000; v="37,36,35"
48
+ - h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
49
+ ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
50
+ ma=2592000; v="46,43"
48
51
  Transfer-Encoding:
49
52
  - chunked
50
53
  body:
51
54
  encoding: ASCII-8BIT
52
- string: "<!DOCTYPE html><html lang=\"en\" data-cast-api-enabled=\"true\"><head><style
53
- name=\"www-roboto\">@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto
54
- Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v15/zN7GBFwfMP4uA6AR0HCoLQ.ttf)format('truetype');}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto
55
- Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUaCWcynf_cDxXwCLxiixG1c.ttf)format('truetype');}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto
56
- Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v15/W4wDsBUluyw0tK3tykhXEfesZW2xOQ-xsNqO47m55DA.ttf)format('truetype');}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto
57
- Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v15/OLffGBTaF0XFOW1gnuHF0Z0EAVxt0G0biEntp43Qt6E.ttf)format('truetype');}</style><script
58
- name=\"www-roboto\">if (document.fonts && document.fonts.load) {document.fonts.load(\"400
59
- 10pt Roboto\", \"E\");document.fonts.load(\"500 10pt Roboto\", \"E\");}</script><script>var
60
- ytcsi = {gt: function(n) {n = (n || '') + 'data_';return ytcsi[n] || (ytcsi[n]
61
- = {tick: {},info: {}});},now: window.performance && window.performance.timing
62
- &&window.performance.now ? function() {return window.performance.timing.navigationStart
63
- + window.performance.now();} : function() {return (new Date()).getTime();},tick:
64
- function(l, t, n) {ticks = ytcsi.gt(n).tick;var v = t || ytcsi.now();if (ticks[l])
65
- {ticks['_' + l] = (ticks['_' + l] || [ticks[l]]);ticks['_' + l].push(v);}ticks[l]
66
- = v;},info: function(k, v, n) {ytcsi.gt(n).info[k] = v;},setStart: function(s,
67
- t, n) {ytcsi.info('yt_sts', s, n);ytcsi.tick('_start', t, n);}};(function(w,
68
- d) {ytcsi.setStart('dhs', w.performance ? w.performance.timing.responseStart
69
- : null);var isPrerender = (d.visibilityState || d.webkitVisibilityState) ==
70
- 'prerender';var vName = d.webkitVisibilityState ? 'webkitvisibilitychange'
71
- : 'visibilitychange';if (isPrerender) {ytcsi.info('prerender', 1);var startTick
72
- = function() {ytcsi.setStart('dhs');d.removeEventListener(vName, startTick);};d.addEventListener(vName,
73
- startTick, false);}if (d.addEventListener) {d.addEventListener(vName, function()
74
- {ytcsi.tick('vc');}, false);}var slt = function(el, t) {setTimeout(function()
75
- {var n = ytcsi.now();el.loadTime = n;if (el.slt) {el.slt();}}, t);};w.__ytRIL
76
- = function(el) {if (!el.getAttribute('data-thumb')) {if (w.requestAnimationFrame)
77
- {w.requestAnimationFrame(function() {slt(el, 0);});} else {slt(el, 16);}}};})(window,
78
- document);</script><script>var ytcfg = {d: function() {return (window.yt &&
79
- yt.config_) || ytcfg.data_ || (ytcfg.data_ = {});},get: function(k, o) {return
80
- (k in ytcfg.d()) ? ytcfg.d()[k] : o;},set: function() {var a = arguments;if
81
- (a.length > 1) {ytcfg.d()[a[0]] = a[1];} else {for (var k in a[0]) {ytcfg.d()[k]
82
- = a[0][k];}}}};</script> <script>ytcfg.set(\"EXP_QUICK_FETCH_BISCOTTI\",
83
- false);ytcfg.set(\"LACT\", null);</script>\n \n\n\n\n\n <script>\n (function(){var
84
- b={a:\"content-snap-width-1\",b:\"content-snap-width-2\",c:\"content-snap-width-3\"};function
85
- f(){var a=[],c;for(c in b)a.push(b[c]);return a}\nfunction h(a){var c=f().concat([\"guide-pinned\",\"show-guide\"]),e=c.length,g=[];a.replace(/\\S+/g,function(a){for(var
86
- d=0;d<e;d++)if(a==c[d])return;g.push(a)});\nreturn g}\n;function k(a,c,e){var
87
- g=document.getElementsByTagName(\"html\")[0],d=h(g.className);a&&1251<=(window.innerWidth||document.documentElement.clientWidth)&&(d.push(\"guide-pinned\"),c&&d.push(\"show-guide\"));e&&(e=(window.innerWidth||document.documentElement.clientWidth)-21-50,1251<=(window.innerWidth||document.documentElement.clientWidth)&&a&&c&&(e-=230),d.push(1262<=e?\"content-snap-width-3\":1056<=e?\"content-snap-width-2\":\"content-snap-width-1\"));g.className=d.join(\"
88
- \")}\nvar l=[\"yt\",\"www\",\"masthead\",\"sizing\",\"runBeforeBodyIsReady\"],m=this;l[0]in
89
- m||!m.execScript||m.execScript(\"var \"+l[0]);for(var n;l.length&&(n=l.shift());)l.length||void
90
- 0===k?m[n]&&m[n]!==Object.prototype[n]?m=m[n]:m=m[n]={}:m[n]=k;}).call(this);\n\n
91
- \ try {window.ytbuffer = {};ytbuffer.handleClick = function(e) {var element
92
- = e.target || e.srcElement;while (element.parentElement) {if (/(^| )yt-can-buffer(
93
- |$)/.test(element.className)) {window.ytbuffer = {bufferedClick: e};element.className
94
- += ' yt-is-buffered';break;}element = element.parentElement;}};if (document.addEventListener)
95
- {document.addEventListener('click', ytbuffer.handleClick);} else {document.attachEvent('onclick',
96
- ytbuffer.handleClick);}} catch(e) {}\n\n yt.www.masthead.sizing.runBeforeBodyIsReady(false,false,true);\n
97
- \ </script>\n\n <script src=\"/yts/jsbin/scheduler-vflP0xYB-/scheduler.js\"
98
- type=\"text/javascript\" name=\"scheduler/scheduler\"></script>\n\n\n <script>var
99
- ytimg = {};ytimg.count = 1;ytimg.preload = function(src) {var img = new Image();var
100
- count = ++ytimg.count;ytimg[count] = img;img.onload = img.onerror = function()
101
- {delete ytimg[count];};img.src = src;};</script>\n\n\n <script src=\"/yts/jsbin/player-en_US-vflTzv1GM/base.js\"
102
- name=\"player/base\"></script>\n\n\n\n <link rel=\"stylesheet\" href=\"/yts/cssbin/www-core-vfl8pkKxk.css\"
103
- name=\"www-core\">\n <link rel=\"stylesheet\" href=\"/yts/cssbin/www-player-vflBdNOn0.css\"
104
- name=\"www-player\">\n\n <link rel=\"stylesheet\" href=\"/yts/cssbin/www-pageframe-vflnlJjDX.css\"
105
- name=\"www-pageframe\">\n \n\n<title>YouTube</title><meta name=\"robots\"
106
- content=\"noindex\"> <meta name=\"title\" content=\"\">\n\n <meta
107
- name=\"description\" content=\"\">\n\n <meta name=\"keywords\" content=\"\">\n\n<link
108
- rel=\"manifest\" href=\"/manifest.json\"><meta name=\"referrer\" content=\"origin\"><link
109
- rel=\"search\" type=\"application/opensearchdescription+xml\" href=\"https://www.youtube.com/opensearch?locale=en_US\"
110
- title=\"YouTube Video Search\"><link rel=\"shortcut icon\" href=\"https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico\"
111
- type=\"image/x-icon\"> <link rel=\"icon\" href=\"/yts/img/favicon_32-vfl8NGn4k.png\"
112
- sizes=\"32x32\"><link rel=\"icon\" href=\"/yts/img/favicon_48-vfl1s0rGh.png\"
113
- sizes=\"48x48\"><link rel=\"icon\" href=\"/yts/img/favicon_96-vfldSA3ca.png\"
114
- sizes=\"96x96\"><link rel=\"icon\" href=\"/yts/img/favicon_144-vflWmzoXw.png\"
115
- sizes=\"144x144\"><meta name=\"theme-color\" content=\"#e62117\"> \n<style>.yt-uix-button-primary,
116
- .yt-uix-button-primary[disabled], .yt-uix-button-primary[disabled]:hover,
117
- .yt-uix-button-primary[disabled]:active, .yt-uix-button-primary[disabled]:focus
118
- { background-color: #167ac6; }</style></head> <body dir=\"ltr\" id=\"body\"
119
- class=\" ltr exp-responsive exp-scrollable-guide exp-search-big-thumbs
120
- \ site-center-aligned site-as-giant-card appbar-hidden visibility-logging-enabled
121
- \ not-nirvana-dogfood not-yt-legacy-css flex-width-enabled flex-width-enabled-snap
122
- \ delayed-frame-styles-not-in \" data-spf-name=\"watch\">\n<div id=\"early-body\"></div><div
123
- id=\"body-container\"><div id=\"a11y-announcements-container\" role=\"alert\"><div
124
- id=\"a11y-announcements-message\"></div></div><form name=\"logoutForm\" method=\"POST\"
125
- action=\"/logout\"><input type=\"hidden\" name=\"action_logout\" value=\"1\"></form><div
126
- id=\"masthead-positioner\"> <div id=\"ticker-content\">\n \n\n </div>\n
127
- \ <div id=\"yt-masthead-container\" class=\"clearfix yt-base-gutter\"> <button
128
- id=\"a11y-skip-nav\" class=\"skip-nav\" data-target-id=\"main\" tabindex=\"3\">\nSkip
129
- navigation\n </button>\n<div id=\"yt-masthead\"><div class=\"yt-masthead-logo-container
130
- \"> <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-text
131
- yt-uix-button-empty yt-uix-button-has-icon appbar-guide-toggle appbar-guide-clickable-ancestor\"
132
- type=\"button\" onclick=\";return false;\" aria-label=\"Guide\" aria-controls=\"appbar-guide-menu\"
133
- id=\"appbar-guide-button\"><span class=\"yt-uix-button-icon-wrapper\"><span
134
- class=\"yt-uix-button-icon yt-uix-button-icon-appbar-guide yt-sprite\"></span></span></button>\n
135
- \ <div id=\"appbar-main-guide-notification-container\"></div>\n<span id=\"yt-masthead-logo-fragment\"><a
136
- href=\"/\" class=\"masthead-logo-renderer yt-uix-sessionlink spf-link
137
- \" data-sessionlink=\"itct=CAUQsV4iEwjqq927yvfSAhXPyH4KHeMVDr0o-B0\" id=\"logo-container\"
138
- title=\"YouTube Home\"> <span title=\"YouTube Home\" class=\"logo masthead-logo-renderer-logo
139
- yt-sprite\"></span>\n</a></span></div><div id=\"yt-masthead-signin\"><a href=\"//www.youtube.com/upload\"
140
- class=\"yt-uix-button yt-uix-sessionlink yt-uix-button-opacity yt-uix-button-size-default
141
- yt-uix-button-has-icon yt-uix-tooltip yt-uix-button-empty\" data-sessionlink=\"ei=x33ZWKqsBs-R-wPjq7joCw&amp;feature=mhsb\"
142
- id=\"upload-btn\" title=\"Upload\"><span class=\"yt-uix-button-icon-wrapper\"><span
143
- class=\"yt-uix-button-icon yt-uix-button-icon-material-upload yt-sprite\"></span></span></a><div
144
- class=\"signin-container \"><button class=\"yt-uix-button yt-uix-button-size-default
145
- yt-uix-button-primary\" type=\"button\" onclick=\";window.location.href=this.getAttribute(&#39;href&#39;);return
146
- false;\" href=\"https://accounts.google.com/ServiceLogin?continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Ffeature%3Dsign_in_button%26hl%3Den%26app%3Ddesktop%26next%3D%252Fwatch%253Fv%253DSUkXvWn1m7Q%26action_handle_signin%3Dtrue&amp;hl=en&amp;service=youtube&amp;passive=true&amp;uilel=3\"
147
- role=\"link\"><span class=\"yt-uix-button-content\">Sign in</span></button></div></div><div
148
- id=\"yt-masthead-content\"><form id=\"masthead-search\" class=\" search-form
149
- consolidated-form vve-check\" action=\"/results\" onsubmit=\"if (document.getElementById(&#39;masthead-search-term&#39;).value
150
- == &#39;&#39;) return false;\" data-clicktracking=\"CAIQ7VAiEwjqq927yvfSAhXPyH4KHeMVDr0o-B0\"
151
- data-visibility-tracking=\"CAIQ7VAiEwjqq927yvfSAhXPyH4KHeMVDr0o-B0\"><button
152
- class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default search-btn-component
153
- search-button\" type=\"submit\" onclick=\"if (document.getElementById(&#39;masthead-search-term&#39;).value
154
- == &#39;&#39;) return false; document.getElementById(&#39;masthead-search&#39;).submit();
155
- return false;;return true;\" tabindex=\"2\" id=\"search-btn\" dir=\"ltr\"><span
156
- class=\"yt-uix-button-content\">Search</span></button><div id=\"masthead-search-terms\"
157
- class=\"masthead-search-terms-border\" dir=\"ltr\"><input id=\"masthead-search-term\"
158
- autocomplete=\"off\" onkeydown=\"if (!this.value &amp;&amp; (event.keyCode
159
- == 40 || event.keyCode == 32 || event.keyCode == 34)) {this.onkeydown = null;
160
- this.blur();}\" class=\"search-term masthead-search-renderer-input yt-uix-form-input-bidi\"
161
- name=\"search_query\" value=\"\" type=\"text\" tabindex=\"1\" placeholder=\"Search\"
162
- title=\"Search\" aria-label=\"Search\"></div></form></div></div></div>\n <div
163
- id=\"masthead-appbar-container\" class=\"clearfix\"><div id=\"masthead-appbar\"><div
164
- id=\"appbar-content\" class=\"\"></div></div></div>\n\n</div><div id=\"masthead-positioner-height-offset\"></div><div
165
- id=\"page-container\"><div id=\"page\" class=\" watch video- clearfix\"><div
166
- id=\"guide\" class=\"yt-scrollbar\"> <div id=\"appbar-guide-menu\" class=\"appbar-menu
167
- appbar-guide-menu-layout appbar-guide-clickable-ancestor\">\n <div id=\"guide-container\">\n
168
- \ <div class=\"guide-module-content guide-module-loading\">\n <p
169
- class=\"yt-spinner \">\n <span title=\"Loading icon\" class=\"yt-spinner-img
170
- \ yt-sprite\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
171
- \ </span>\n </p>\n\n </div>\n </div>\n </div>\n\n</div><div class=\"alerts-wrapper\"><div
172
- id=\"alerts\" class=\"content-alignment\"> \n <div id=\"editor-progress-alert-container\"></div>\n
173
- \ <div class=\"yt-alert yt-alert-default yt-alert-warn hid \" id=\"editor-progress-alert-template\">
174
- \ <div class=\"yt-alert-icon\">\n <span class=\"icon master-sprite yt-sprite\"></span>\n
175
- \ </div>\n<div class=\"yt-alert-content\" role=\"alert\"></div><div class=\"yt-alert-buttons\"><button
176
- class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-close close
177
- yt-uix-close\" type=\"button\" onclick=\";return false;\" aria-label=\"Close\"
178
- data-close-parent-class=\"yt-alert\"><span class=\"yt-uix-button-content\">Close</span></button></div></div>\n\n
179
- \ <div id=\"edit-confirmation-alert\"></div>\n <div class=\"yt-alert yt-alert-actionable
180
- yt-alert-info hid \" id=\"edit-confirmation-alert-template\"> <div class=\"yt-alert-icon\">\n
181
- \ <span class=\"icon master-sprite yt-sprite\"></span>\n </div>\n<div class=\"yt-alert-content\"
182
- role=\"alert\"> <div class=\"yt-alert-message\" tabindex=\"0\">\n </div>\n</div><div
183
- class=\"yt-alert-buttons\"> <button class=\"yt-uix-button yt-uix-button-size-default
184
- yt-uix-button-alert-info yt-uix-button-has-icon edit-confirmation-yes\" type=\"button\"
185
- onclick=\";return false;\"><span class=\"yt-uix-button-icon-wrapper\"><span
186
- class=\"yt-uix-button-icon yt-uix-button-icon-watch-like-invert yt-sprite\"></span></span><span
187
- class=\"yt-uix-button-content\">Yeah, keep it</span></button>\n <button class=\"yt-uix-button
188
- yt-uix-button-size-default yt-uix-button-alert-info yt-uix-button-has-icon
189
- edit-confirmation-no\" type=\"button\" onclick=\";return false;\"><span class=\"yt-uix-button-icon-wrapper\"><span
190
- class=\"yt-uix-button-icon yt-uix-button-icon-watch-unlike-invert yt-sprite\"></span></span><span
191
- class=\"yt-uix-button-content\">Undo</span></button>\n<button class=\"yt-uix-button
192
- yt-uix-button-size-default yt-uix-button-close close yt-uix-close\" type=\"button\"
193
- onclick=\";return false;\" aria-label=\"Close\" data-close-parent-class=\"yt-alert\"><span
194
- class=\"yt-uix-button-content\">Close</span></button></div></div>\n\n\n\n</div></div><div
195
- id=\"header\"></div><div id=\"player\" class=\" content-alignment watch-small
196
- \ off-screen-trigger \" role=\"complementary\"><div id=\"theater-background\"
197
- class=\"player-height\"></div> <div id=\"player-mole-container\">\n <div
198
- id=\"player-unavailable\" class=\" player-width player-height player-unavailable
199
- \">\n <div class=\"icon meh\"></div>\n <div class=\"content\">\n
200
- \ <h1 id=\"unavailable-message\" class=\"message\">\n This
201
- video is unavailable.\n\n </h1>\n <div id=\"unavailable-submessage\"
202
- class=\"submessage\">\nSorry about that.\n </div>\n </div>\n\n\n </div>\n\n
203
- \ <div id=\"player-api\" class=\"player-width player-height off-screen-target
204
- player-api\" tabIndex=\"-1\"></div>\n \n\n <div id=\"watch-queue-mole\"
205
- class=\"video-mole mole-collapsed hid\"><div id=\"watch-queue\" class=\"watch-playlist
206
- player-height\"><div class=\"main-content\"><div class=\"watch-queue-header\"><div
207
- class=\"watch-queue-info\"><div class=\"watch-queue-info-icon\"><span class=\"tv-queue-list-icon
208
- yt-sprite\"></span></div><h3 class=\"watch-queue-title\">Watch Queue</h3><h3
209
- class=\"tv-queue-title\">Queue</h3><span class=\"tv-queue-details\"></span></div><div
210
- class=\"watch-queue-control-bar control-bar-button\"><div class=\"watch-queue-mole-info\"><div
211
- class=\"watch-queue-control-bar-icon\"><span class=\"watch-queue-icon yt-sprite\"></span></div><div
212
- class=\"watch-queue-title-container\"><span class=\"watch-queue-count\"></span><span
213
- class=\"watch-queue-title\">Watch Queue</span><span class=\"tv-queue-title\">Queue</span></div></div>
214
- \ <span class=\"dark-overflow-action-menu\">\n \n \n <button aria-haspopup=\"true\"
215
- aria-expanded=\"false\" onclick=\";return false;\" aria-label=\"Actions for
216
- the queue\" class=\"flip control-bar-button yt-uix-button yt-uix-button-dark-overflow-action-menu
217
- yt-uix-button-size-default yt-uix-button-has-icon no-icon-markup yt-uix-button-empty\"
218
- type=\"button\" ><span class=\"yt-uix-button-arrow yt-sprite\"></span><ul
219
- class=\"watch-queue-menu yt-uix-button-menu yt-uix-button-menu-dark-overflow-action-menu
220
- hid\" role=\"menu\" aria-haspopup=\"true\"><li role=\"menuitem\"><span onclick=\";return
221
- false;\" class=\"watch-queue-menu-choice overflow-menu-choice yt-uix-button-menu-item\"
222
- data-action=\"remove-all\" >Remove all</span></li><li role=\"menuitem\"><span
223
- onclick=\";return false;\" class=\"watch-queue-menu-choice overflow-menu-choice
224
- yt-uix-button-menu-item\" data-action=\"disconnect\" >Disconnect</span></li></ul></button>\n
225
- \ </span>\n <div class=\"watch-queue-controls\">\n <button class=\"yt-uix-button
226
- yt-uix-button-size-default yt-uix-button-empty yt-uix-button-has-icon control-bar-button
227
- prev-watch-queue-button yt-uix-button-opacity yt-uix-tooltip yt-uix-tooltip\"
228
- type=\"button\" onclick=\";return false;\" title=\"Previous video\"><span
229
- class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-watch-queue-prev
230
- yt-sprite\"></span></span></button>\n\n <button class=\"yt-uix-button yt-uix-button-size-default
231
- yt-uix-button-empty yt-uix-button-has-icon control-bar-button play-watch-queue-button
232
- yt-uix-button-opacity yt-uix-tooltip yt-uix-tooltip\" type=\"button\" onclick=\";return
233
- false;\" title=\"Play\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon
234
- yt-uix-button-icon-watch-queue-play yt-sprite\"></span></span></button>\n\n
235
- \ <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty
236
- yt-uix-button-has-icon control-bar-button pause-watch-queue-button yt-uix-button-opacity
237
- yt-uix-tooltip hid yt-uix-tooltip\" type=\"button\" onclick=\";return false;\"
238
- title=\"Pause\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon
239
- yt-uix-button-icon-watch-queue-pause yt-sprite\"></span></span></button>\n\n
240
- \ <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty
241
- yt-uix-button-has-icon control-bar-button next-watch-queue-button yt-uix-button-opacity
242
- yt-uix-tooltip yt-uix-tooltip\" type=\"button\" onclick=\";return false;\"
243
- title=\"Next video\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon
244
- yt-uix-button-icon-watch-queue-next yt-sprite\"></span></span></button>\n
245
- \ </div>\n</div><div class=\"autoplay-dismiss-bar fade-out\"><span class=\"autoplay-dismiss-title-label\">The
246
- next video is starting</span><span><button class=\"yt-uix-button yt-uix-button-size-default
247
- autoplay-dismiss-button yt-uix-tooltip\" type=\"button\" onclick=\";return
248
- false;\" title=\"stop\"><span class=\"yt-uix-button-content\">stop</span></button></span></div></div><div
249
- class=\"watch-queue-items-container yt-scrollbar-dark yt-scrollbar\"><div
250
- class=\"yt-uix-scroller playlist-videos-list\"><ol class=\"watch-queue-items-list\"
251
- data-scroll-action=\"yt.www.watchqueue.loadThumbnails\"> <p class=\"yt-spinner
252
- \">\n <span title=\"Loading icon\" class=\"yt-spinner-img yt-sprite\"></span>\n\n
253
- \ <span class=\"yt-spinner-message\">\nLoading...\n </span>\n </p>\n</ol><div
254
- class=\"autoplay-control-container yt-uix-scroller-scroll-unit hid\"> <div
255
- class=\"autoplay-control-bar\">\n <label class=\"autoplay-label\" for=autoplay-toggle-id></label>\n
256
- \ <label class=\"yt-uix-form-input-checkbox-container yt-uix-form-input-container
257
- yt-uix-form-input-paper-toggle-container \"><input class=\"yt-uix-form-input-checkbox\"
258
- type=\"checkbox\" id=\"autoplay-toggle-id\"/><div class=\"yt-uix-form-input-paper-toggle-bg
259
- yt-uix-form-input-paper-toggle-bar\"></div><div class=\"yt-uix-form-input-paper-toggle-bg
260
- yt-uix-form-input-paper-toggle-button\"></div></label>\n </div>\n</div><div
261
- class=\"up-next-item-container hid\"></div></div></div></div> <div class=\"hid\">\n
262
- \ <div id=\"watch-queue-title-msg\">\nWatch Queue\n </div>\n\n <div
263
- id=\"tv-queue-title-msg\">Queue</div>\n\n <div id=\"watch-queue-count-msg\">\n__count__/__total__\n
264
- \ </div>\n\n <div id=\"watch-queue-loading-template\">\n <!--\n
265
- \ <p class=\"yt-spinner \">\n <span title=\"Loading icon\"
266
- class=\"yt-spinner-img yt-sprite\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
267
- \ </span>\n </p>\n\n -->\n </div>\n </div>\n</div></div>\n <div
268
- id=\"player-playlist\" class=\" content-alignment watch-player-playlist
269
- \ \">\n \n </div>\n\n </div>\n\n <div class=\"clear\"></div>\n</div><div
270
- id=\"content\" class=\" content-alignment\" role=\"main\"> <div id=\"placeholder-player\">\n
271
- \ <div class=\"player-api player-width player-height\"></div>\n </div>\n\n
272
- \ <div id=\"watch7-container\" class=\"\">\n <div id=\"player-messages\">\n
273
- \ </div>\n <div id=\"watch7-main-container\">\n <div id=\"watch7-main\"
274
- class=\"clearfix\">\n <div id=\"watch7-preview\" class=\"player-width
275
- player-height hid\">\n </div>\n <div id=\"watch7-content\" class=\"watch-main-col
276
- \" itemscope itemid=\"\" itemtype=\"http://schema.org/VideoObject\"\n >\n
277
- \ \n </div>\n <div id=\"watch7-sidebar\" class=\"watch-sidebar\">\n
278
- \ </div>\n </div>\n </div>\n <div id=\"watch7-hidden-extras\">\n
279
- \ <div style=\"visibility: hidden; height: 0px; padding: 0px; overflow:
280
- hidden;\">\n </div>\n\n </div>\n\n\n </div>\n\n</div></div></div></div>
281
- \ <div id=\"footer-container\" class=\"yt-base-gutter force-layer\"><div id=\"footer\"><div
282
- id=\"footer-main\"><div id=\"footer-logo\"><a href=\"/\" id=\"footer-logo-link\"
283
- title=\"YouTube home\" data-sessionlink=\"ei=x33ZWKqsBs-R-wPjq7joCw&amp;ved=CAEQpmEiEwjqq927yvfSAhXPyH4KHeMVDr0o-B0\"
284
- class=\"yt-uix-sessionlink\"><span class=\"footer-logo-icon yt-sprite\"></span></a></div>
285
- \ <ul class=\"pickers yt-uix-button-group\" data-button-toggle-group=\"optional\">\n
286
- \ <li>\n <button class=\"yt-uix-button yt-uix-button-size-default
287
- yt-uix-button-default yt-uix-button-has-icon\" type=\"button\" onclick=\";return
288
- false;\" id=\"yt-picker-language-button\" data-button-action=\"yt.www.picker.load\"
289
- data-picker-position=\"footer\" data-picker-key=\"language\" data-button-menu-id=\"arrow-display\"
290
- data-button-toggle=\"true\"><span class=\"yt-uix-button-icon-wrapper\"><span
291
- class=\"yt-uix-button-icon yt-uix-button-icon-footer-language yt-sprite\"></span></span><span
292
- class=\"yt-uix-button-content\"> <span class=\"yt-picker-button-label\">\nLanguage:\n
293
- \ </span>\n English\n</span><span class=\"yt-uix-button-arrow yt-sprite\"></span></button>\n\n\n
294
- \ </li>\n <li>\n <button class=\"yt-uix-button yt-uix-button-size-default
295
- yt-uix-button-default\" type=\"button\" onclick=\";return false;\" id=\"yt-picker-country-button\"
296
- data-button-action=\"yt.www.picker.load\" data-picker-position=\"footer\"
297
- data-picker-key=\"country\" data-button-menu-id=\"arrow-display\" data-button-toggle=\"true\"><span
298
- class=\"yt-uix-button-content\"> <span class=\"yt-picker-button-label\">\nContent
299
- location:\n </span>\n United States\n</span><span class=\"yt-uix-button-arrow
300
- yt-sprite\"></span></button>\n\n\n </li>\n <li>\n <button
301
- class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default\" type=\"button\"
302
- onclick=\";return false;\" id=\"yt-picker-safetymode-button\" data-button-action=\"yt.www.picker.load\"
303
- data-picker-position=\"footer\" data-picker-key=\"safetymode\" data-button-menu-id=\"arrow-display\"
304
- data-button-toggle=\"true\"><span class=\"yt-uix-button-content\"> <span
305
- class=\"yt-picker-button-label\">\nRestricted Mode:\n </span>\nOff\n</span><span
306
- class=\"yt-uix-button-arrow yt-sprite\"></span></button>\n\n\n </li>\n
307
- \ </ul>\n<a href=\"/feed/history\" class=\"yt-uix-button footer-history yt-uix-sessionlink
308
- yt-uix-button-default yt-uix-button-size-default yt-uix-button-has-icon\"
309
- data-sessionlink=\"ei=x33ZWKqsBs-R-wPjq7joCw\"><span class=\"yt-uix-button-icon-wrapper\"><span
310
- class=\"yt-uix-button-icon yt-uix-button-icon-footer-history yt-sprite\"></span></span><span
311
- class=\"yt-uix-button-content\">History</span></a> <button class=\"yt-uix-button
312
- yt-uix-button-size-default yt-uix-button-default yt-uix-button-has-icon yt-uix-button-reverse
313
- yt-google-help-link inq-no-click \" type=\"button\" onclick=\";return false;\"
314
- data-ghelp-anchor=\"google-help\" data-ghelp-tracking-param=\"\" id=\"google-help\"
315
- data-feedback-product-id=\"59\" data-load-chat-support=\"\"><span class=\"yt-uix-button-icon-wrapper\"><span
316
- class=\"yt-uix-button-icon yt-uix-button-icon-questionmark yt-sprite\"></span></span><span
317
- class=\"yt-uix-button-content\">Help\n</span></button>\n <div id=\"yt-picker-language-footer\"
318
- class=\"yt-picker\" style=\"display: none\">\n <p class=\"yt-spinner
319
- \">\n <span title=\"Loading icon\" class=\"yt-spinner-img yt-sprite\"></span>\n\n
320
- \ <span class=\"yt-spinner-message\">\nLoading...\n </span>\n </p>\n\n
321
- \ </div>\n\n <div id=\"yt-picker-country-footer\" class=\"yt-picker\"
322
- style=\"display: none\">\n <p class=\"yt-spinner \">\n <span title=\"Loading
323
- icon\" class=\"yt-spinner-img yt-sprite\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
324
- \ </span>\n </p>\n\n </div>\n\n <div id=\"yt-picker-safetymode-footer\"
325
- class=\"yt-picker\" style=\"display: none\">\n <p class=\"yt-spinner
326
- \">\n <span title=\"Loading icon\" class=\"yt-spinner-img yt-sprite\"></span>\n\n
327
- \ <span class=\"yt-spinner-message\">\nLoading...\n </span>\n </p>\n\n
328
- \ </div>\n\n</div><div id=\"footer-links\"><ul id=\"footer-links-primary\">
329
- \ <li><a href=\"//www.youtube.com/yt/about/\">About</a></li>\n <li><a href=\"//www.youtube.com/yt/press/\">Press</a></li>\n
330
- \ <li><a href=\"//www.youtube.com/yt/copyright/\">Copyright</a></li>\n <li><a
331
- href=\"//www.youtube.com/yt/creators/\">Creators</a></li>\n <li><a href=\"//www.youtube.com/yt/advertise/\">Advertise</a></li>\n
332
- \ <li><a href=\"//www.youtube.com/yt/dev/\">Developers</a></li>\n <li><a
333
- href=\"https://plus.google.com/+youtube\" dir=\"ltr\">+YouTube</a></li>\n</ul><ul
334
- id=\"footer-links-secondary\"> <li><a href=\"/t/terms\">Terms</a></li>\n
335
- \ <li><a href=\"https://www.google.com/intl/en/policies/privacy/\">Privacy</a></li>\n
336
- \ <li><a href=\"//www.youtube.com/yt/policyandsafety/\">\nPolicy &amp; Safety\n
337
- \ </a></li>\n <li><a href=\"//support.google.com/youtube/?hl=en\" onclick=\"return
338
- yt.www.feedback.start(59);\" class=\"reportbug\">Send feedback</a></li>\n
339
- \ <li>\n <a href=\"/testtube\">Test new features</a>\n </li>\n <li></li>\n</ul></div></div></div>\n\n\n
340
- \ <div class=\"yt-dialog hid \" id=\"feed-privacy-lb\">\n <div class=\"yt-dialog-base\">\n
341
- \ <span class=\"yt-dialog-align\"></span>\n <div class=\"yt-dialog-fg\"
342
- role=\"dialog\">\n <div class=\"yt-dialog-fg-content\">\n <div
343
- class=\"yt-dialog-loading\">\n <div class=\"yt-dialog-waiting-content\">\n
344
- \ <p class=\"yt-spinner \">\n <span title=\"Loading icon\" class=\"yt-spinner-img
345
- \ yt-sprite\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
346
- \ </span>\n </p>\n\n </div>\n\n </div>\n <div class=\"yt-dialog-content\">\n
347
- \ <div id=\"feed-privacy-dialog\">\n </div>\n\n </div>\n
348
- \ <div class=\"yt-dialog-working\">\n <div class=\"yt-dialog-working-overlay\"></div>\n
349
- \ <div class=\"yt-dialog-working-bubble\">\n <div class=\"yt-dialog-waiting-content\">\n
350
- \ <p class=\"yt-spinner \">\n <span title=\"Loading icon\" class=\"yt-spinner-img
351
- \ yt-sprite\"></span>\n\n <span class=\"yt-spinner-message\">\n Working...\n
352
- \ </span>\n </p>\n\n </div>\n </div>\n\n </div>\n </div>\n
353
- \ <div class=\"yt-dialog-focus-trap\" tabindex=\"0\"></div>\n </div>\n
354
- \ </div>\n </div>\n\n\n<div id=\"hidden-component-template-wrapper\" class=\"hid\">
355
- \ <div id=\"shared-addto-watch-later-login\" class=\"hid\">\n <a href=\"https://accounts.google.com/ServiceLogin?continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Ffeature%3Dplaylist%26hl%3Den%26app%3Ddesktop%26next%3D%252Fwatch%253Fv%253DSUkXvWn1m7Q%26action_handle_signin%3Dtrue&amp;hl=en&amp;service=youtube&amp;passive=true&amp;uilel=3\"
356
- class=\"sign-in-link\">Sign in</a> to add this to Watch Later\n\n </div>\n<div
357
- id=\"yt-uix-videoactionmenu-menu\" class=\"yt-ui-menu-content\"> <div class=\"hide-on-create-pl-panel\">\n
358
- \ <h3>\nAdd to\n </h3>\n </div>\n <div class=\"add-to-widget\">\n <p
359
- class=\"yt-spinner \">\n <span title=\"Loading icon\" class=\"yt-spinner-img
360
- \ yt-sprite\"></span>\n\n <span class=\"yt-spinner-message\">\n Loading
361
- playlists...\n </span>\n </p>\n\n </div>\n</div></div> <script>var
362
- ytspf = ytspf || {};ytspf.enabled = true;ytspf.config = {'reload-identifier':
363
- 'spfreload'};ytspf.config['request-headers'] = {'X-YouTube-Identity-Token':
364
- null};ytspf.config['experimental-request-headers'] = ytspf.config['request-headers'];ytspf.config['cache-max']
365
- = 50;ytspf.config['navigate-limit'] = 50;ytspf.config['navigate-lifetime']
366
- = 64800000;ytspf.config['animation-duration'] = 0;</script>\n <script src=\"/yts/jsbin/spf-vflbAG6Qt/spf.js\"
367
- type=\"text/javascript\" name=\"spf/spf\"></script>\n <script src=\"/yts/jsbin/www-en_US-vflJLkLjx/base.js\"
368
- name=\"www/base\"></script>\n<script>spf.script.path({'www/': '/yts/jsbin/www-en_US-vflJLkLjx/'});var
369
- ytdepmap = {\"www/base\": null, \"www/common\": \"www/base\", \"www/angular_base\":
370
- \"www/common\", \"www/channels_accountupload\": \"www/common\", \"www/channels\":
371
- \"www/common\", \"www/dashboard\": \"www/common\", \"www/downloadreports\":
372
- \"www/common\", \"www/experiments\": \"www/common\", \"www/feed\": \"www/common\",
373
- \"www/instant\": \"www/common\", \"www/legomap\": \"www/common\", \"www/live_chat\":
374
- \"www/common\", \"www/live_chat_moderation\": \"www/common\", \"www/promo_join_network\":
375
- \"www/common\", \"www/results_harlemshake\": \"www/common\", \"www/results\":
376
- \"www/common\", \"www/results_starwars\": \"www/common\", \"www/subscriptionmanager\":
377
- \"www/common\", \"www/unlimited\": \"www/common\", \"www/watch\": \"www/common\",
378
- \"www/ypc_bootstrap\": \"www/common\", \"www/ypc_core\": \"www/common\", \"www/channels_edit\":
379
- \"www/channels\", \"www/live_dashboard\": \"www/angular_base\", \"www/videomanager\":
380
- \"www/angular_base\", \"www/watch_autoplayrenderer\": \"www/watch\", \"www/watch_edit\":
381
- \"www/watch\", \"www/watch_editor\": \"www/watch\", \"www/watch_live\": \"www/watch\",
382
- \"www/watch_promos\": \"www/watch\", \"www/watch_speedyg\": \"www/watch\",
383
- \"www/watch_transcript\": \"www/watch\", \"www/watch_videoshelf\": \"www/watch\",
384
- \"www/ct_advancedsearch\": \"www/videomanager\", \"www/my_videos\": \"www/videomanager\"};spf.script.declare(ytdepmap);</script><script>if
385
- (window.ytcsi) {window.ytcsi.tick(\"je\", null, '');}</script><script>yt.setConfig({INNERTUBE_API_KEY:
386
- \"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8\",INNERTUBE_CONTEXT_CLIENT_VERSION:
387
- \"1.20170322\",INNERTUBE_CONTEXT_CLIENT_NAME: 1,APIARY_HOST: \"\",INNERTUBE_API_VERSION:
388
- \"v1\",APIARY_HOST_FIRSTPARTY: \"\",GAPI_HINT_PARAMS: \"m;\\/_\\/scs\\/abc-static\\/_\\/js\\/k=gapi.gapi.en.DTPeBB_SvOA.O\\/m=__features__\\/rt=j\\/d=1\\/rs=AHpOoo-J3J0yqNDMPVrmQT6j-SBFfGx8oA\",'VISITOR_DATA':
389
- \"CgtUM3BMMkVIbThJbw%3D%3D\",'GAPI_HOST': \"https:\\/\\/apis.google.com\",'GAPI_LOCALE':
390
- \"en_US\",'INNERTUBE_CONTEXT_HL': \"en\",'INNERTUBE_CONTEXT_GL': \"US\",'XHR_APIARY_HOST':
391
- \"youtubei.youtube.com\"});yt.setConfig({'ROOT_VE_CHILDREN': [\"CAEQpmEiEwjqq927yvfSAhXPyH4KHeMVDr0o-B0\",\"CAIQ7VAiEwjqq927yvfSAhXPyH4KHeMVDr0o-B0\"],'ROOT_VE_TYPE':
392
- 3832});yt.setConfig({'EVENT_ID': \"x33ZWKqsBs-R-wPjq7joCw\",'PAGE_NAME': \"watch\",'LOGGED_IN':
393
- false,'SESSION_INDEX': null,'VALID_SESSION_TEMPDATA_DOMAINS': [\"www.youtube.com\",\"gaming.youtube.com\"],'PARENT_TRACKING_PARAMS':
394
- \"\",'FORMATS_FILE_SIZE_JS': [\"%s B\",\"%s KB\",\"%s MB\",\"%s GB\",\"%s
395
- TB\"],'DELEGATED_SESSION_ID': null,'ONE_PICK_URL': \"\",'UNIVERSAL_HOVERCARDS':
396
- true,'GOOGLEPLUS_HOST': \"https:\\/\\/plus.google.com\",'PAGEFRAME_JS': \"\\/yts\\/jsbin\\/www-pageframe-vflliZgBm\\/www-pageframe.js\",'GAPI_LOADER_URL':
397
- \"\\/yts\\/jsbin\\/www-gapi-loader-vflNhfwHJ\\/www-gapi-loader.js\",'JS_COMMON_MODULE':
398
- \"\\/yts\\/jsbin\\/www-en_US-vflJLkLjx\\/common.js\",'PAGE_FRAME_DELAYLOADED_CSS':
399
- \"\\/yts\\/cssbin\\/www-pageframedelayloaded-vflyiAVoi.css\",'EXPERIMENT_FLAGS':
400
- {\"player_swfcfg_cleanup\":true,\"enable_server_side_search_pyv\":true,\"consent_url_override\":\"\",\"enable_youtubei_innertube\":true,\"same_domain_static_resources_desktop\":true,\"log_window_onerror_fraction\":0.1,\"enable_more_related_ve_logging\":true,\"service_worker_push_enabled\":true,\"web_gel_lact\":true,\"cold_load_nav_start_web\":true,\"watch_next_pause_autoplay_lact_sec\":0,\"warm_load_nav_start_web\":true,\"autoescape_tempdata_url\":true,\"autoplay_pause_sampling_fraction\":0.0,\"clear_web_implicit_clicktracking\":true,\"desktop_pyv_on_watch_missing_params\":true,\"gfeedback_for_signed_out_users_enabled\":true,\"service_worker_push_home_only\":true,\"use_push_for_desktop_live_chat\":true,\"service_worker_scope\":\"\\/\",\"web_logging_max_batch\":20,\"desktop_pyv_on_watch_via_valor\":true,\"block_spf_search_ads_impressions\":true,\"service_worker_push_prompt_cap\":1,\"service_worker_enabled\":true,\"desktop_pyv_on_watch_override_lact\":true,\"chat_smoothing_animations\":0,\"navigation_only_csi_reset\":true,\"comment_deep_link\":true},'GUIDE_DELAY_LOAD':
401
- true,'GUIDE_DELAYLOADED_CSS': \"\\/yts\\/cssbin\\/www-guide-vflzcam_P.css\",'GUIDED_HELP_PARAMS':
402
- {\"logged_in\":\"0\"},'HIGH_CONTRAST_MODE_CSS': \"\\/yts\\/cssbin\\/www-highcontrastmode-vflUxH5WH.css\",'PREFETCH_LINKS':
403
- false,'PREFETCH_LINKS_MAX': 1,'PREFETCH_AUTOPLAY': false,'PREFETCH_AUTOPLAY_TIME':
404
- 0,'PREFETCH_AUTONAV': false,'PREBUFFER_MAX': 1,'PREBUFFER_LINKS': false,'PREBUFFER_AUTOPLAY':
405
- false,'PREBUFFER_AUTONAV': false,'WATCH_LATER_BUTTON': \"\\n\\n \\u003cbutton
406
- class=\\\"yt-uix-button yt-uix-button-size-small yt-uix-button-default yt-uix-button-empty
407
- yt-uix-button-has-icon no-icon-markup addto-button video-actions spf-nolink
408
- hide-until-delayloaded addto-watch-later-button-sign-in yt-uix-tooltip\\\"
409
- type=\\\"button\\\" onclick=\\\";return false;\\\" title=\\\"Watch Later\\\"
410
- role=\\\"button\\\" data-video-ids=\\\"__VIDEO_ID__\\\" data-button-menu-id=\\\"shared-addto-watch-later-login\\\"\\u003e\\u003cspan
411
- class=\\\"yt-uix-button-arrow yt-sprite\\\"\\u003e\\u003c\\/span\\u003e\\u003c\\/button\\u003e\\n\",'WATCH_QUEUE_BUTTON':
412
- \" \\u003cbutton class=\\\"yt-uix-button yt-uix-button-size-small yt-uix-button-default
413
- yt-uix-button-empty yt-uix-button-has-icon no-icon-markup addto-button addto-queue-button
414
- video-actions spf-nolink hide-until-delayloaded addto-tv-queue-button yt-uix-tooltip\\\"
415
- type=\\\"button\\\" onclick=\\\";return false;\\\" title=\\\"Queue\\\" data-video-ids=\\\"__VIDEO_ID__\\\"
416
- data-style=\\\"tv-queue\\\"\\u003e\\u003c\\/button\\u003e\\n\",'WATCH_QUEUE_MENU':
417
- \" \\u003cspan class=\\\"thumb-menu dark-overflow-action-menu video-actions\\\"\\u003e\\n
418
- \ \\u003cbutton aria-expanded=\\\"false\\\" aria-haspopup=\\\"true\\\" type=\\\"button\\\"
419
- class=\\\"yt-uix-button-reverse flip addto-watch-queue-menu spf-nolink hide-until-delayloaded
420
- yt-uix-button yt-uix-button-dark-overflow-action-menu yt-uix-button-size-default
421
- yt-uix-button-has-icon no-icon-markup yt-uix-button-empty\\\" onclick=\\\";return
422
- false;\\\" \\u003e\\u003cspan class=\\\"yt-uix-button-arrow yt-sprite\\\"\\u003e\\u003c\\/span\\u003e\\u003cul
423
- class=\\\"watch-queue-thumb-menu yt-uix-button-menu yt-uix-button-menu-dark-overflow-action-menu
424
- hid\\\"\\u003e\\u003cli role=\\\"menuitem\\\" class=\\\"overflow-menu-choice
425
- addto-watch-queue-menu-choice addto-watch-queue-play-next yt-uix-button-menu-item\\\"
426
- data-action=\\\"play-next\\\" onclick=\\\";return false;\\\" data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003cspan
427
- class=\\\"addto-watch-queue-menu-text\\\"\\u003ePlay next\\u003c\\/span\\u003e\\u003c\\/li\\u003e\\u003cli
428
- role=\\\"menuitem\\\" class=\\\"overflow-menu-choice addto-watch-queue-menu-choice
429
- addto-watch-queue-play-now yt-uix-button-menu-item\\\" data-action=\\\"play-now\\\"
430
- onclick=\\\";return false;\\\" data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003cspan
431
- class=\\\"addto-watch-queue-menu-text\\\"\\u003ePlay now\\u003c\\/span\\u003e\\u003c\\/li\\u003e\\u003c\\/ul\\u003e\\u003c\\/button\\u003e\\n
432
- \ \\u003c\\/span\\u003e\\n\",'SAFETY_MODE_PENDING': false,'ZWIEBACK_PING_URLS':
433
- [\"https:\\/\\/www.google.com\\/pagead\\/lvz?req_ts=1490648519\\u0026pg=watch\\u0026evtid=AJhsOuhWXyDiwmkhBYA3Yw8ORG0KDrB8iY1uislDN0dP_MLWu8I7Dcw25oThKqq5g27DMYrXSAkW_45ntK2r9JJBKthW2AL3fQ\\u0026sigh=AIz_a8-Z0EMY6AoZMw0ni8e7T2xBtQeANg\"],'LOCAL_DATE_TIME_CONFIG':
434
- {\"shortWeekdays\":[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],\"shortMonths\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],\"firstWeekCutoffDay\":3,\"formatLongDate\":\"MMMM
435
- d, yyyy h:mm a\",\"dateFormats\":[\"MMMM d, yyyy h:mm a\",\"MMMM d, yyyy\",\"MMM
436
- d, yyyy\",\"MMM d, yyyy\"],\"formatShortDate\":\"MMM d, yyyy\",\"formatWeekdayShortTime\":\"EE
437
- h:mm a\",\"formatShortTime\":\"h:mm a\",\"weekendRange\":[6,5],\"weekdays\":[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\"months\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"firstDayOfWeek\":0,\"amPms\":[\"AM\",\"PM\"],\"formatLongDateOnly\":\"MMMM
438
- d, yyyy\"},'PAGE_CL': 151286026,'PAGE_BUILD_LABEL': \"youtube_20170322_0_RC6_RC4\",'VARIANTS_CHECKSUM':
439
- \"cbbba52c74fed3739bb77d64a73d2d56\",'CLIENT_PROTOCOL': \"HTTP\\/1.1\",'CLIENT_TRANSPORT':
440
- \"tcp\",'MDX_ENABLE_CASTV2': true,'MDX_ENABLE_QUEUE': true,'FEEDBACK_BUCKET_ID':
441
- \"Watch\",'FEEDBACK_LOCALE_LANGUAGE': \"en\",'FEEDBACK_LOCALE_EXTRAS': {\"is_partner\":\"\",\"logged_in\":false,\"experiments\":\"9406125,9415398,9416475,9417482,9419979,9420289,9422596,9423555,9428398,9431012,9432939,9433221,9433839,9433870,9434046,9434289,9434949,9437553,9437897,9438309,9439294,9439832,9440054,9441194,9441929,9442387,9442746,9444189,9444771,9444905,9445139,9446054,9446364,9448302,9449243,9449256,9450059,9450402,9450544,9450707,9450863,9451409,9451814,9451823,9451937,9452448,9452814,9452833,9452850,9453098,9453167,9453540,9453553,9453897,9454394,9454653,9454837,9454899,9454976,9455031,9455068,9455939,9456249,9456445,9456640,9456816,9456955,9457115,9457141,9457169,9457542,9457592,9457596,9457598,9457968,9458171,9458230,9458240,9458265,9458577,9458668,9458881,9458947,9459067,9459075,9459187,9459235,9459419,9459651,9459655,9459792,9459802,9460088,9460160,9460266,9460295,9460349,9460458,9460554,9460611,9460637,9460829,9461124,9461452,9461765,9461777,9461906,9462003,9462016,9462018,9462032,9462233,9462359,9462377,9462474,9462837,9462948,9463002,9463004,9463083,9463175,9463177,9463251,9463287,9463460,9463470,9463496,9463512,9463594,9463664,9463784,9463809,9463963,9463965,9464039,9464111,9464207,9464272,9464330,9464408,9464440,9464488,9464490,9464584,9464625,9464640,9464823,9464888,9464889,9464909,9465117,9465513,9465533,9465560,9465652,9465676,9465709,9465732,9465756,9465948,9466136,9466181,9466186,9466194,9466397,9466544,9466778,9466793,9466795,9466835,9467030,9467084,9467175,9467338,9467401,9467588,9467655,9467700,9467795,9467867,9467977,9468153,9468228,9468389,9468433,9468579\",\"accept_language\":null}});
442
- \ yt.setConfig({\n 'GUIDED_HELP_LOCALE': \"en_US\",\n 'GUIDED_HELP_ENVIRONMENT':
443
- \"prod\"\n });\nyt.setConfig('SPF_SEARCH_BOX', true);yt.setMsg({'ADDTO_CREATE_NEW_PLAYLIST':
444
- \"Create new playlist\\n\",'ADDTO_CREATE_PLAYLIST_DYNAMIC_TITLE': \" $dynamic_title_placeholder
445
- (create new)\\n\",'ADDTO_WATCH_LATER': \"Watch Later\",'ADDTO_WATCH_LATER_ADDED':
446
- \"Added\",'ADDTO_WATCH_LATER_ERROR': \"Error\",'ADDTO_WATCH_QUEUE': \"Watch
447
- Queue\",'ADDTO_WATCH_QUEUE_ADDED': \"Added\",'ADDTO_WATCH_QUEUE_ERROR': \"Error\",'ADDTO_TV_QUEUE':
448
- \"Queue\",'ADS_INSTREAM_FIRST_PLAY': \"A video ad is playing.\",'ADS_INSTREAM_SKIPPABLE':
449
- \"Video ad can be skipped.\",'ADS_OVERLAY_IMPRESSION': \"Ad displayed.\",'MASTHEAD_NOTIFICATIONS_LABEL':
450
- {\"case0\": \"0 unread notifications.\", \"case1\": \"1 unread notification.\",
451
- \"other\": \"# unread notifications.\"},'MASTHEAD_NOTIFICATIONS_COUNT_99PLUS':
452
- \"99+\",'MDX_AUTOPLAY_OFF': 'Autoplay is off','MDX_AUTOPLAY_ON': 'Autoplay
453
- is on'}); yt.setConfig('FEED_PRIVACY_CSS_URL', \"\\/yts\\/cssbin\\/www-feedprivacydialog-vflW29Bds.css\");\n\n
454
- \ yt.setConfig('FEED_PRIVACY_LIGHTBOX_ENABLED', true);\nyt.setConfig({'SBOX_JS_URL':
455
- \"\\/yts\\/jsbin\\/www-searchbox-legacy-vflYjU91s\\/www-searchbox-legacy.js\",'SBOX_SETTINGS':
456
- {\"IS_FUSION\":false,\"HAS_ON_SCREEN_KEYBOARD\":false,\"REQUEST_LANGUAGE\":\"en\",\"PSUGGEST_TOKEN\":null,\"SUGG_EXP_ID\":\"ytd3_arm_13\",\"REQUEST_DOMAIN\":\"us\",\"PQ\":\"\",\"SESSION_INDEX\":null},'SBOX_LABELS':
457
- {\"SUGGESTION_DISMISS_LABEL\":\"Remove\",\"SUGGESTION_DISMISSED_LABEL\":\"Suggestion
458
- dismissed\"}}); yt.setConfig({\n 'YPC_LOADER_JS': \"\\/yts\\/jsbin\\/www-ypc-vflEWOCqz\\/www-ypc.js\",\n
459
- \ 'YPC_LOADER_CSS': \"\\/yts\\/cssbin\\/www-ypc-vfl_wOJp6.css\",\n 'YPC_SIGNIN_URL':
460
- \"https:\\/\\/accounts.google.com\\/ServiceLogin?continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Fhl%3Den%26app%3Ddesktop%26next%3D%252F%26action_handle_signin%3Dtrue\\u0026hl=en\\u0026service=youtube\\u0026passive=true\\u0026uilel=3\",\n
461
- \ 'DBLCLK_ADVERTISER_ID': \"2542116\",\n 'DBLCLK_YPC_ACTIVITY_GROUP':
462
- \"youtu444\",\n 'SUBSCRIPTION_URL': \"\\/subscription_ajax\",\n 'YPC_SWITCH_URL':
463
- \"\\/signin?next=%2F\\u0026skip_identity_prompt=True\\u0026feature=purchases\\u0026action_handle_signin=true\",\n
464
- \ 'YPC_GB_LANGUAGE': \"en_US\",\n 'YPC_MB_URL': \"https:\\/\\/payments.google.com\\/payments\\/v4\\/js\\/integrator.js?ss=md\",\n
465
- \ 'YPC_TRANSACTION_URL': \"\\/transaction_handler\",\n 'YPC_SUBSCRIPTION_URL':
466
- \"\\/ypc_subscription_ajax\",\n 'YPC_POST_PURCHASE_URL': \"\\/ypc_post_purchase_ajax\",\n
467
- \ 'YTR_FAMILY_CREATION_URL': \"https:\\/\\/families.google.com\\/webcreation?usegapi=1\",\n
468
- \ 'YTO_GTM_DATA': {'event': 'purchased', 'purchaseStatus': 'success'},\n
469
- \ 'YTO_GTM_1_BUTTON_CLICK_DATA': {'event': 'landingButtonClick', 'buttonPosition':
470
- '1'},\n 'YTO_GTM_2_BUTTON_CLICK_DATA': {'event': 'landingButtonClick',
471
- 'buttonPosition': '2'}\n });\n yt.setMsg({\n 'YPC_OFFER_OVERLAY': \"
472
- \ \\n\",\n 'YPC_UNSUBSCRIBE_OVERLAY': \" \\n\"\n });\n yt.setConfig('GOOGLE_HELP_CONTEXT',
473
- \"watch\");\nytcsi.info('st', 71);ytcfg.set({\"CSI_SERVICE_NAME\":\"youtube\",\"TIMING_INFO\":{\"GetWatchNext_rid\":\"0x72e1209bf0e8fc1a\",\"yt_li\":\"0\",\"GetPlayer_rid\":\"0x72e1209bf0e8fc1a\",\"cver\":\"1.20170322\",\"yt_pl\":0,\"c\":\"WEB\",\"yt_lt\":\"cold\"},\"CSI_VIEWPORT\":true,\"TIMING_ACTION\":\"watch,watch7_html5\"});;
474
- \ yt.setConfig({\n 'XSRF_TOKEN': \"QUFFLUhqbWxpLTd5RkpFVGdJTHF5UWhuUlVSMFR3VFUxUXxBQ3Jtc0ttOFJJN0NocFBSR0tZMi1qUUtzT3NaU3BIZEZEWjlETDB5c2ZiQUJ1enhqX1hCQnprS0pyV1g4ZW5CMWdPRk9yUXBEakJXTHNtaFVZVVN1MUJJcThmMEZpR09UUk9IaEV6Y0FSaUJfYzVzR1hKOTFaSVlHVmhaZXlqSXd4blRQQTdmWHNQTmpUMGxWejVXd0Y1NXU2U2RRUDhfVHc=\",\n
475
- \ 'XSRF_FIELD_NAME': \"session_token\",\n\n 'XSRF_REDIRECT_TOKEN':
476
- \"D6RQs81VD16wWy6RhcdoHaPvRl98MTQ5MDczNDkxOUAxNDkwNjQ4NTE5\" });\nyt.setConfig('ID_TOKEN',
477
- null);window.ytcfg.set('SERVICE_WORKER_KILLSWITCH', false); yt.setConfig('THUMB_DELAY_LOAD_BUFFER',
478
- 0);\nif (window.ytcsi) {window.ytcsi.tick(\"jl\", null, '');}</script>\n</body></html>"
479
- http_version:
480
- recorded_at: Mon, 27 Mar 2017 21:01:59 GMT
55
+ string: !binary |-
56
+ PCFkb2N0eXBlIGh0bWw+PGh0bWwgIHN0eWxlPSJmb250LXNpemU6IDEwcHg7Zm9udC1mYW1pbHk6IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IiBsYW5nPSJwdC1CUiIgZGlyPSJsdHIiIGdsPSJCUiI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIwLTEwLTIzIiBjb250ZW50PSJBaGJtUkRBU1k3TnVPWkQ5Y0ZNZ1FpaForbVFwQ3dhOFdUR2RUeDgydlNhcjlkZEJRYnppQmZaWFpnK1Njb2Z2RVpEZEhRTkNFd3o0eU03SGpCUzlSZ2tBQUFCbmV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwzbHZkWFIxWW1VdVkyOXRPalEwTXlJc0ltWmxZWFIxY21VaU9pSlhaV0pEYjIxd2IyNWxiblJ6VmpBaUxDSmxlSEJwY25raU9qRTJNRE0wT0RZNE5UWXNJbWx6VTNWaVpHOXRZV2x1SWpwMGNuVmxmUT09Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMC0xMC0yNyIgY29udGVudD0iQXYyKzFxZlVwM013RWZBRmNDY2N5a1MxcUZtdkxpQ3JNWi8vcEhRS25SWldHOWRsZFZvOEhZdUptR2oyd1o3bkRnK3hFNFJRTVErS3UxektNM1B2WUFJQUFBQm1leUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pTNWpiMjA2TkRReklpd2labVZoZEhWeVpTSTZJbGRsWWtOdmJYQnZibVZ1ZEhOV01DSXNJbVY0Y0dseWVTSTZNVFl3TXpnek5qYzNNaXdpYVhOVGRXSmtiMjFoYVc0aU9uUnlkV1Y5Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMS0wMS0wOCIgY29udGVudD0iQWl4VUsrOFVFU2hsdDYrSlgxd3k5ZWcrWEwrZVY1UFlTRURQSDNDOTBKTlZiSWtFMVJnMUZ5VlVmdTJiWi95NlBtMXhiUEx6dXdIWUhqdjR1S1BObkE0QUFBQnFleUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pYQnliMlF1WTI5dE9qUTBNeUlzSW1abFlYUjFjbVVpT2lKWFpXSkRiMjF3YjI1bGJuUnpWakFpTENKbGVIQnBjbmtpT2pFMk1UQXdOalEwTWpNc0ltbHpVM1ZpWkc5dFlXbHVJanAwY25WbGZRPT0iPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIxLTAzLTA5IiBjb250ZW50PSJBaEhwcTJuVVQ2ZnFQMEtta3E0OUVXSWNsMlAxTEsxY2VVMDVCb2lWbldpOFpJV0RkbVgva013TCtadHVDM29JZjB0bnM4WG5PNWZtOTQ2SkV6UFZFd2dBQUFCcWV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwyTXVaMjl2WjJ4bGNuTXVZMjl0T2pRME15SXNJbVpsWVhSMWNtVWlPaUpYWldKRGIyMXdiMjVsYm5SelZqQWlMQ0psZUhCcGNua2lPakUyTVRJeU1qTTVPVGtzSW1selUzVmlaRzl0WVdsdUlqcDBjblZsZlE9PSI+PHNjcmlwdCA+dmFyIHl0Y2ZnID0ge2Q6IGZ1bmN0aW9uKCkge3JldHVybiAod2luZG93Lnl0ICYmIHl0LmNvbmZpZ18pIHx8IHl0Y2ZnLmRhdGFfIHx8ICh5dGNmZy5kYXRhXyA9IHt9KTt9LGdldDogZnVuY3Rpb24oaywgbykge3JldHVybiAoayBpbiB5dGNmZy5kKCkpID8geXRjZmcuZCgpW2tdIDogbzt9LHNldDogZnVuY3Rpb24oKSB7dmFyIGEgPSBhcmd1bWVudHM7aWYgKGEubGVuZ3RoID4gMSkge3l0Y2ZnLmQoKVthWzBdXSA9IGFbMV07fSBlbHNlIHtmb3IgKHZhciBrIGluIGFbMF0pIHt5dGNmZy5kKClba10gPSBhWzBdW2tdO319fX07d2luZG93Lnl0Y2ZnLnNldCgnRU1FUkdFTkNZX0JBU0VfVVJMJywgIlwvZXJyb3JfMjA0P2NsaWVudC5uYW1lPTFcdTAwMjZjbGllbnQudmVyc2lvbj0yLjIwMjAxMDIzLjAyLjAwXHUwMDI2bGV2ZWw9RVJST1JcdTAwMjZ0PWpzZXJyb3IiKTs8L3NjcmlwdD4gIAo8c2NyaXB0ID52YXIgJGpzY29tcD0kanNjb21wfHx7fTskanNjb21wLnNjb3BlPXt9OyRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGw9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19OyRqc2NvbXAuYXJyYXlJdGVyYXRvcj1mdW5jdGlvbihhKXtyZXR1cm57bmV4dDokanNjb21wLmFycmF5SXRlcmF0b3JJbXBsKGEpfX07JGpzY29tcC5BU1NVTUVfRVM1PSExOyRqc2NvbXAuQVNTVU1FX05PX05BVElWRV9NQVA9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX1NFVD0hMTskanNjb21wLlNJTVBMRV9GUk9VTkRfUE9MWUZJTEw9ITE7JGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz0hMTskanNjb21wLkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTj0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO307JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAuSVNfU1lNQk9MX05BVElWRT0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sKCJ4Iik7JGpzY29tcC5UUlVTVF9FUzZfUE9MWUZJTExTPSEkanNjb21wLklTT0xBVEVfUE9MWUZJTExTfHwkanNjb21wLklTX1NZTUJPTF9OQVRJVkU7JGpzY29tcC5wb2x5ZmlsbHM9e307JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2w9e307JGpzY29tcC5QT0xZRklMTF9QUkVGSVg9IiRqc2NwJCI7JGpzY29tcC5wb2x5ZmlsbD1mdW5jdGlvbihhLGIsZCxlKXtiJiYoJGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz8kanNjb21wLnBvbHlmaWxsSXNvbGF0ZWQoYSxiLGQsZSk6JGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQoYSxiLGQsZSkpfTsKJGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQ9ZnVuY3Rpb24oYSxiKXt2YXIgZD0kanNjb21wLmdsb2JhbDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGU9MDtlPGEubGVuZ3RoLTE7ZSsrKXt2YXIgYz1hW2VdO2lmKCEoYyBpbiBkKSlyZXR1cm47ZD1kW2NdfWE9YVthLmxlbmd0aC0xXTtlPWRbYV07Yj1iKGUpO2IhPWUmJm51bGwhPWImJiRqc2NvbXAuZGVmaW5lUHJvcGVydHkoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKJGpzY29tcC5wb2x5ZmlsbElzb2xhdGVkPWZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLnNwbGl0KCIuIik7YT0xPT09ZS5sZW5ndGg7dmFyIGM9ZVswXTtjPSFhJiZjIGluICRqc2NvbXAucG9seWZpbGxzPyRqc2NvbXAucG9seWZpbGxzOiRqc2NvbXAuZ2xvYmFsO2Zvcih2YXIgZj0wO2Y8ZS5sZW5ndGgtMTtmKyspe3ZhciBnPWVbZl07aWYoIShnIGluIGMpKXJldHVybjtjPWNbZ119ZT1lW2UubGVuZ3RoLTFdO2Q9JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFJiYiZXM2Ij09PWQ/Y1tlXTpudWxsO2I9YihkKTtudWxsIT1iJiYoYT8kanNjb21wLmRlZmluZVByb3BlcnR5KCRqc2NvbXAucG9seWZpbGxzLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSk6YiE9PWQmJigkanNjb21wLnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbFtlXT0kanNjb21wLklTX1NZTUJPTF9OQVRJVkU/JGpzY29tcC5nbG9iYWwuU3ltYm9sKGUpOiRqc2NvbXAuUE9MWUZJTExfUFJFRklYK2UsCmU9JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbZV0sJGpzY29tcC5kZWZpbmVQcm9wZXJ0eShjLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSkpKX07JGpzY29tcC5pbml0U3ltYm9sPWZ1bmN0aW9uKCl7fTsKJGpzY29tcC5wb2x5ZmlsbCgiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGMsZil7dGhpcy4kanNjb21wJHN5bWJvbCRpZF89YzskanNjb21wLmRlZmluZVByb3BlcnR5KHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kanNjb21wJHN5bWJvbCRpZF99O3ZhciBkPTAsZT1mdW5jdGlvbihjKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGIoImpzY29tcF9zeW1ib2xfIisoY3x8IiIpKyJfIitkKyssYyl9O3JldHVybiBlfSwiZXM2IiwiZXMzIik7CiRqc2NvbXAucG9seWZpbGwoIlN5bWJvbC5pdGVyYXRvciIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTthPVN5bWJvbCgiU3ltYm9sLml0ZXJhdG9yIik7Zm9yKHZhciBiPSJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSIuc3BsaXQoIiAiKSxkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPSRqc2NvbXAuZ2xvYmFsW2JbZF1dOyJmdW5jdGlvbiI9PT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUucHJvdG90eXBlW2FdJiYkanNjb21wLmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiAkanNjb21wLml0ZXJhdG9yUHJvdG90eXBlKCRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGwodGhpcykpfX0pfXJldHVybiBhfSwiZXM2IiwKImVzMyIpOyRqc2NvbXAuaXRlcmF0b3JQcm90b3R5cGU9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9OyRqc2NvbXAuaXRlcmF0b3JGcm9tQXJyYXk9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBkPTAsZT0hMSxjPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWUmJmQ8YS5sZW5ndGgpe3ZhciBmPWQrKztyZXR1cm57dmFsdWU6YihmLGFbZl0pLGRvbmU6ITF9fWU9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2NbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBjfTtyZXR1cm4gY307CiRqc2NvbXAucG9seWZpbGwoIkFycmF5LnByb3RvdHlwZS5rZXlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmE9ZnVuY3Rpb24oKXtyZXR1cm4gJGpzY29tcC5pdGVyYXRvckZyb21BcnJheSh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBifSl9fSwiZXM2IiwiZXMzIik7d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8ITA7d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXM9e307d2luZG93LnVuaGFuZGxlZEVycm9yQ291bnQ9MDsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsZSxjKXtjfHwoYz1FcnJvcigpLGMuc3RhY2s9IiIsYy5tZXNzYWdlPWEsYy5maWxlTmFtZT1iLGMubGluZU51bWJlcj1kLGlzTmFOKGUpfHwoYy5jb2x1bW5OdW1iZXI9ZSkpO2I9U3RyaW5nKGMubWVzc2FnZSk7aWYoISghYy5tZXNzYWdlfHxiIGluIHdpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzfHw1PD13aW5kb3cudW5oYW5kbGVkRXJyb3JDb3VudCkpe3dpbmRvdy51bmhhbmRsZWRFcnJvckNvdW50Kz0xO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW2JdPSEwO2E9bmV3IEltYWdlO3dpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nPWE7YS5vbmxvYWQ9YS5vbmVycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIHdpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nfTtlPWMubGluZU51bWJlcjtpc05hTihjLmNvbHVtbk51bWJlcil8fChlKz0iOiIrYy5jb2x1bW5OdW1iZXIpO2Q9Yy5zdGFja3x8IiI7Yj17bXNnOmIsdHlwZTpjLm5hbWUsCiJjbGllbnQucGFyYW1zIjoidW5oYW5kbGVkIHdpbmRvdyBlcnJvciIsZmlsZTpjLmZpbGVOYW1lLGxpbmU6ZSxzdGFjazpkLnN1YnN0cigwLDUwMCl9O2M9Ijxhbm9ueW1vdXM+Ij09PWMuZmlsZU5hbWU7ZD1kLnJlcGxhY2UoL2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cLy9nLCIiKTtkLm1hdGNoKC9odHRwcz86XC9cL1teL10rXC8vKSYmKGM9ITApO2MmJihiLmxldmVsPSJXQVJOSU5HIik7Yz1bd2luZG93Lnl0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZXJyb3JfMjA0P3Q9anNlcnJvciZsZXZlbD1FUlJPUiIpXTtmb3IodmFyIGYgaW4gYikoZD1iW2ZdKSYmYy5wdXNoKGYrIj0iK2VuY29kZVVSSUNvbXBvbmVudChkKSk7YS5zcmM9Yy5qb2luKCImIil9fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShmKXt2YXIgZz10aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdO2lmKCFnKXtnPU9iamVjdC5jcmVhdGUodGhpcy5nZXROYXRpdmVQcm90b3R5cGUoZikpO2Zvcih2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cuUG9seW1lci5CYXNlKSxrPTAsaD12b2lkIDA7azxsLmxlbmd0aCYmKGg9bFtrXSk7aysrKWlmKCF3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnNbaF0pdHJ5e2dbaF09d2luZG93LlBvbHltZXIuQmFzZVtoXX1jYXRjaChtKXt0aHJvdyBFcnJvcigiRXJyb3Igd2hpbGUgY29weWluZyBwcm9wZXJ0eTogIitoKyIuIFRhZyBpcyAiK2YpO310cnl7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZyx3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnMpfWNhdGNoKG0pe3Rocm93IEVycm9yKCJQb2x5bWVyIGRlZmluZSBwcm9wZXJ0eSBmYWlsZWQgZm9yICIrT2JqZWN0LmtleXMoZykpO310aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdPQpnfXJldHVybiBnfWZ1bmN0aW9uIGIoZil7d2luZG93Lm9uZXJyb3IoZix3aW5kb3cubG9jYXRpb24uaHJlZiwwLDAsRXJyb3IoQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVudHMsIiwiKSkpfXZhciBkPXdpbmRvdy5Qb2x5bWVyLGU9ZnVuY3Rpb24oZil7IWQuX3l0SW50ZXJjZXB0ZWQmJndpbmRvdy5Qb2x5bWVyLkJhc2UmJihkLl95dEludGVyY2VwdGVkPSEwLHdpbmRvdy5Qb2x5bWVyLkJhc2UuX2dldEV4dGVuZGVkTmF0aXZlUHJvdG90eXBlPWEsd2luZG93LlBvbHltZXIuQmFzZS5fZXJyb3I9Yix3aW5kb3cuUG9seW1lci5CYXNlLl93YXJuPWIpO3JldHVybiBkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywiUG9seW1lciIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csIlBvbHltZXIiLHtzZXQ6ZnVuY3Rpb24oZil7YyYmYy5zZXQmJmMuZ2V0PyhjLnNldChmKSxkPWMuZ2V0KCkpOmQ9ZjsKImZ1bmN0aW9uIj09PXR5cGVvZiBkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJQb2x5bWVyIix7dmFsdWU6ZCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMH0pfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGQ/ZTpkfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pfSkoKTsKPC9zY3JpcHQ+ICAKPHNjcmlwdCA+d2luZG93LlNoYWR5RE9NID0ge2ZvcmNlOiB0cnVlfTt3aW5kb3cuU2hhZHlET00ucHJlZmVyUGVyZm9ybWFuY2UgPSB0cnVlO3dpbmRvdy5TaGFkeURPTS5ub1BhdGNoID0gdHJ1ZTt3aW5kb3cuUG9seW1lciA9ICh3aW5kb3cuUG9seW1lciB8fCB7fSk7d2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9ucyA9IHRydWU7PC9zY3JpcHQ+PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8zMi5wbmciIHNpemVzPSIzMngzMiIgPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2ltZy9mYXZpY29uXzQ4LnBuZyIgc2l6ZXM9IjQ4eDQ4IiA+PGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb25fOTYucG5nIiBzaXplcz0iOTZ4OTYiID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8xNDQucG5nIiBzaXplcz0iMTQ0eDE0NCIgPjxzY3JpcHQgPnZhciB5dGNzaSA9IHtndDogZnVuY3Rpb24obikge24gPSAobiB8fCAnJykgKyAnZGF0YV8nO3JldHVybiB5dGNzaVtuXSB8fCAoeXRjc2lbbl0gPSB7dGljazoge30saW5mbzoge319KTt9LG5vdzogKHdpbmRvdy5wZXJmb3JtYW5jZSAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nICYmd2luZG93LnBlcmZvcm1hbmNlLm5vdyAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCkgP2Z1bmN0aW9uKCkge3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCArd2luZG93LnBlcmZvcm1hbmNlLm5vdygpO30gOmZ1bmN0aW9uKCkge3JldHVybiAobmV3IERhdGUoKSkuZ2V0VGltZSgpO30sdGljazogZnVuY3Rpb24obCwgdCwgbikge3ZhciB0aWNrcyA9IHl0Y3NpLmd0KG4pLnRpY2s7dmFyIHYgPSB0IHx8IHl0Y3NpLm5vdygpO2lmICh0aWNrc1tsXSkge3RpY2tzWydfJyArIGxdID0gKHRpY2tzWydfJyArIGxdIHx8IFt0aWNrc1tsXV0pO3RpY2tzWydfJyArIGxdLnB1c2godik7fXRpY2tzW2xdID0gdjt9LGluZm86IGZ1bmN0aW9uKGssIHYsIG4pIHt5dGNzaS5ndChuKS5pbmZvW2tdID0gdjt9LHNldFN0YXJ0OiBmdW5jdGlvbihzLCB0LCBuKSB7eXRjc2kuaW5mbygneXRfc3RzJywgcywgbik7eXRjc2kudGljaygnX3N0YXJ0JywgdCwgbik7fX07KGZ1bmN0aW9uKHcsIGQpIHt5dGNzaS5zZXRTdGFydCgnZGhzJywgdy5wZXJmb3JtYW5jZSA/IHcucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgOiBudWxsKTt2YXIgaXNQcmVyZW5kZXIgPSAoZC52aXNpYmlsaXR5U3RhdGUgfHwgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpID09ICdwcmVyZW5kZXInO3ZhciB2TmFtZSA9ICghZC52aXNpYmlsaXR5U3RhdGUgJiYgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPyAnd2Via2l0dmlzaWJpbGl0eWNoYW5nZScgOiAndmlzaWJpbGl0eWNoYW5nZSc7aWYgKGlzUHJlcmVuZGVyKSB7eXRjc2kuaW5mbygncHJlcmVuZGVyJywgMSk7dmFyIHN0YXJ0VGljayA9IGZ1bmN0aW9uKCkge3l0Y3NpLnNldFN0YXJ0KCdkaHMnKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljayk7fTtkLmFkZEV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljaywgZmFsc2UpO31pZiAoZC5hZGRFdmVudExpc3RlbmVyKSB7ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLCBmdW5jdGlvbigpIHt5dGNzaS50aWNrKCd2YycpO30sIGZhbHNlKTt9ZnVuY3Rpb24gaXNHZWNrbygpIHtpZiAoIXcubmF2aWdhdG9yIHx8ICF3Lm5hdmlnYXRvci51c2VyQWdlbnQpIHtyZXR1cm4gZmFsc2U7fXZhciB1YSA9IHcubmF2aWdhdG9yLnVzZXJBZ2VudDtyZXR1cm4gdWEuaW5kZXhPZignR2Vja28nKSA+IDAgJiZ1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3dlYmtpdCcpIDwgMCAmJnVhLmluZGV4T2YoJ0VkZ2UnKSA8IDAgJiZ1YS5pbmRleE9mKCdUcmlkZW50JykgPCAwICYmdWEuaW5kZXhPZignTVNJRScpIDwgMDt9aWYgKGlzR2Vja28oKSkge3ZhciBpc0hpZGRlbiA9IChkLnZpc2liaWxpdHlTdGF0ZSB8fCBkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSkgPT0gJ2hpZGRlbic7aWYgKGlzSGlkZGVuKSB7eXRjc2kudGljaygndmMnKTt9fXZhciBzbHQgPSBmdW5jdGlvbihlbCwgdCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7dmFyIG4gPSB5dGNzaS5ub3coKTtlbC5sb2FkVGltZSA9IG47aWYgKGVsLnNsdCkge2VsLnNsdCgpO319LCB0KTt9O3cuX195dFJJTCA9IGZ1bmN0aW9uKGVsKSB7aWYgKCFlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGh1bWInKSkge2lmICh3LnJlcXVlc3RBbmltYXRpb25GcmFtZSkge3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkge3NsdChlbCwgMCk7fSk7fSBlbHNlIHtzbHQoZWwsIDE2KTt9fX07fSkod2luZG93LCBkb2N1bWVudCk7PC9zY3JpcHQ+PHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBpbWcgPSBuZXcgSW1hZ2UoKS5zcmMgPSAiaHR0cHM6Ly9pLnl0aW1nLmNvbS9nZW5lcmF0ZV8yMDQiO30pKCk7PC9zY3JpcHQ+ICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImxwY3MiLCBudWxsLCAnJyk7fShmdW5jdGlvbigpIHt3aW5kb3cueXRwbGF5ZXIgPSB7fTt5dGNmZy5zZXQoeyJJU19UQUJMRVQiOmZhbHNlLCJTVFMiOjE4NTYxLCJERUZFUlJFRF9ERVRBQ0giOnRydWUsIlNJR05JTl9VUkwiOiJodHRwczpcL1wvYWNjb3VudHMuZ29vZ2xlLmNvbVwvU2VydmljZUxvZ2luP2NvbnRpbnVlPWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2YXBwJTNEZGVza3RvcCUyNmZlYXR1cmUlM0RfX0ZFQVRVUkVfXyUyNmhsJTNEcHQlMjZuZXh0JTNEJTI1MkZ3YXRjaCUyNTNGdiUyNTNEU1VrWHZXbjFtN1FcdTAwMjZobD1wdC1CUlx1MDAyNnBhc3NpdmU9dHJ1ZVx1MDAyNnNlcnZpY2U9eW91dHViZVx1MDAyNnVpbGVsPTMiLCJZUENfTUJfVVJMIjoiaHR0cHM6XC9cL3BheW1lbnRzLnlvdXR1YmUuY29tXC9wYXltZW50c1wvdjRcL2pzXC9pbnRlZ3JhdG9yLmpzP3NzPW1kIiwiQ0xJRU5UX1BST1RPQ09MIjoiSFRUUFwvMS4xIiwiQVNZTkNfV0FUQ0giOnRydWUsIllUUl9GQU1JTFlfQ1JFQVRJT05fVVJMIjoiaHR0cHM6XC9cL2ZhbWlsaWVzLmdvb2dsZS5jb21cL3dlYmNyZWF0aW9uP3VzZWdhcGk9MSIsIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS55dGZlLmRlc2t0b3BfMjAyMDEwMjJfMl9SQzAiLCJaV0lFQkFDS19QSU5HX1VSTFMiOlsiaHR0cHM6XC9cL3d3dy5nb29nbGUuY29tLmJyXC9wYWdlYWRcL2x2ej9ldnRpZD1BS0I3OGNpQnZmeVJGVXRYeGZRaV9uZDV5V3RDanhUNTNCWlhBVEt3eS1RMUhsWHBybzhvbG1JVjMtS0pVRUoyWnJJRHBFS0ppSWh4d196TTNpdTVJb2tKMms0bW5odHdVUVx1MDAyNnJlcV90cz0xNjAzODIzNjEzXHUwMDI2cGc9d2F0Y2hcdTAwMjZzaWdoPUFLRnB5WVhvaUdqVlZiVGN2S29Bclk3UlZZTU8xUFRIdGciLCJodHRwczpcL1wvd3d3Lmdvb2dsZS5jb21cL3BhZ2VhZFwvbHZ6P2V2dGlkPUFLQjc4Y2c2Rl9QX3lmZG1wdnFNZ0FjYkI1SWtiT21vdlNsYl9SQWp5TWdFNndpdXlucVM5MGo5b0hBREp1ekY4NFZNODRQZXhxZk5ETXhwLWtOVzl1Um9kMDFSSkR6QVZ3XHUwMDI2cmVxX3RzPTE2MDM4MjM2MTNcdTAwMjZwZz13YXRjaFx1MDAyNnNpZ2g9QUtGcHlZWGFnd2diVUt4azdFUldOcGU4WWxYQ0FLVlc0ZyJdLCJJTk5FUlRVQkVfQVBJX1ZFUlNJT04iOiJ2MSIsIklOTkVSVFVCRV9DT05URVhUX0hMIjoicHQiLCJSRUNBUFRDSEFfVjNfU0lURUtFWSI6IjZMZWRvT2NVQUFBQUFIQTRDRkc5elJwYUNOallqMzNTWWp6UTljVHkiLCJTVEFNUEVSX1NUQUJMRV9MSVNUIjp0cnVlLCJJTk5FUlRVQkVfQVBJX0tFWSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsIlZBUklBTlRTX0NIRUNLU1VNIjoiYTk1MDRlNmRjMzU1ZDZkZTEyOTI1OGY0ZGRmMWVkNDEiLCJFWFBFUklNRU5UX0ZMQUdTIjp7Imtldmxhcl9vbmVfcGlja19hZGRfdmlkZW9fdG9fcGxheWxpc3QiOnRydWUsImtldmxhcl9zbmFwX3N0YXRlX3JlZnJlc2giOnRydWUsInNlcnZlX3BkcF9hdF9jYW5vbmljYWxfdXJsIjp0cnVlLCJrZXZsYXJfcGxheWVyX3BsYXlsaXN0X3VzZV9sb2NhbF9pbmRleCI6dHJ1ZSwia2V2bGFyX2dhaWFfbGluayI6dHJ1ZSwia2V2bGFyX3BsYXllcl9kaXNhYmxlX3J2c191cGRhdGUiOnRydWUsImxpdmVfY2hhdF91c2VfeW91dHViZV9ob3N0ZWRfdGFuZ29fZG9tYWlucyI6dHJ1ZSwiZW5hYmxlX3N0cmVhbWxpbmVfcmVwb3N0X2Zsb3ciOnRydWUsImtldmxhcl90aHVtYm5haWxfb3ZlcmxheV9uZXdfZWxlbWVudHBvb2xfc2NoZWR1bGUiOnRydWUsInBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGUiOnRydWUsImtldmxhcl9taW5pcGxheWVyX3F1ZXVlX3VzZXJfYWN0aXZhdGlvbiI6dHJ1ZSwiZGVza3RvcF9zZWFyY2hfcHJvbWluZW50X3RodW1icyI6dHJ1ZSwiYXV0b2VzY2FwZV90ZW1wZGF0YV91cmwiOnRydWUsImtldmxhcl9vcF9pbmZyYSI6dHJ1ZSwia2V2bGFyX2NsaWVudF9zYXZlX3N1YnNfcHJlZmVyZW5jZXMiOnRydWUsInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIjp0cnVlLCJrZXZsYXJfc2V0dGluZ3NfYWR2YW5jZWQiOnRydWUsImVuYWJsZV9hbHBhY2FfY2xpZW50X3BsYXllcl9jaGFuZ2VzIjp0cnVlLCJlbmFibGVfc2VydmxldF9lcnJvcnNfc3RyZWFteiI6dHJ1ZSwiZGVza3RvcF9jbGllbnRfcmVsZWFzZSI6dHJ1ZSwia2V2bGFyX2tleWJvYXJkX2J1dHRvbl9mb2N1cyI6dHJ1ZSwiZGVza3RvcF90aGVtZWFibGVfdnVsY2FuIjp0cnVlLCJ3ZWJfc2NyZWVuX2Fzc29jaWF0ZWRfYWxsX2xheWVycyI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3dhdGNoX3BhZ2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfbGNyX2Jyb2FkY2FzdF9lZGl0b3IiOnRydWUsIm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpIjp0cnVlLCJwcmVmZXRjaF9jb21tZW50c19tc19hZnRlcl92aWRlbyI6MCwiZGVza3RvcF9wZXJzaXN0ZW50X21lbnUiOnRydWUsImtldmxhcl9ob21lX3NrZWxldG9uX2hpZGVfbGF0ZXIiOnRydWUsImtldmxhcl90b29sdGlwX2ltcHJlc3Npb25fY2FwIjoyLCJyZW5kZXJfY2hhbm5lbF9jYW5vbmljYWxfdGFncyI6dHJ1ZSwid2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlIjoiIiwia2V2bGFyX21pbmlwbGF5ZXJfZXhwYW5kX3RvcCI6dHJ1ZSwiaXNfcGFydF9vZl9hbnlfdXNlcl9lbmdhZ2VtZW50X2V4cGVyaW1lbnQiOnRydWUsImRpc2FibGVfeW91dGhlcmVfbGFjdF90aHJlc2hvbGRfY2hlY2siOnRydWUsImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiOnRydWUsImVuYWJsZV9wcm9ncmFtbWVkX3BsYXlsaXN0X3JlZGVzaWduIjp0cnVlLCJlbmFibGVfcGxheWVyX21pY3JvZm9ybWF0X2RhdGEiOnRydWUsImtldmxhcl9lbmFibGVfZWRpdGFibGVfcGxheWxpc3RzIjp0cnVlLCJ3ZWJfZ2VsX3RpbWVvdXRfY2FwIjp0cnVlLCJrZXZsYXJfcGFnZV9zZXJ2aWNlX3VybF9wcmVmaXhfY2FydmVvdXRzIjpbXSwia2V2bGFyX2xhenlfbGlzdF9yZXN1bWVfZm9yX2F1dG9maWxsIjp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ19hbGJ1bSI6dHJ1ZSwiZGVza3RvcF93ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJjc2lfb25fZ2VsIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9jYXAiOi0xLCJrZXZsYXJfbG9nZ2VkX291dF90b3BiYXJfbWVudV9taWdyYXRpb24iOnRydWUsIndlYl9lbmFibGVfaGlzdG9yeV9jYWNoZV9tYXAiOnRydWUsImVuYWJsZV9jbGllbnRfc3RyZWFtel93ZWIiOnRydWUsImVuYWJsZV9zaWduYWxzIjp0cnVlLCJrZXZsYXJfd2F0Y2hfc2tlbGV0b24iOnRydWUsImRlc2t0b3Bfbm90aWZpY2F0aW9uX3NldF90aXRsZV9iYXIiOnRydWUsImtldmxhcl9zZXR0aW5nc19zaGFyaW5nIjp0cnVlLCJzdXBwcmVzc19nZW5fMjA0Ijp0cnVlLCJlbmFibGVfYm9yZGVyc19vbl9jb21tdW5pdHkiOnRydWUsImtldmxhcl9zZXR0aW5nc19wbGF5YmFjayI6dHJ1ZSwicG9seW1lcl93YXJtX3RodW1ibmFpbF9wcmVsb2FkIjp0cnVlLCJsb2dfd2luZG93X29uZXJyb3JfZnJhY3Rpb24iOjAuMSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJjb25zZW50X3VybF9vdmVycmlkZSI6IiIsImtldmxhcl9uZXh0X3VwX25leHRfZWR1X2Vtb2ppIjoiIiwiZGVza3RvcF9zZWFyY2hfc3VnZ2VzdGlvbl90YXBfdGFyZ2V0IjowLCJzZXJ2aWNlX3dvcmtlcl9lbmFibGVkIjp0cnVlLCJndWlkZV9sZWdhbF9mb290ZXJfZW5hYmxlZF9jb3VudHJpZXMiOlsiTkwiLCJFUyJdLCJzcGZfa2V2bGFyX2Fzc3VtZV9jaHVua2VkIjp0cnVlLCJkZXNrdG9wX3BvbHltZXJfdmlkZW9fbWFzdGhlYWRfc2Vzc2lvbl90ZW1wZGF0YV90dGwiOjMwLCJ3ZWJfc3lzdGVtX2hlYWx0aF9mcmFjdGlvbiI6MC4wMSwicHJldmlld19wbGF5X2R1cmF0aW9uIjozMDAwLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJrZXZsYXJfdGh1bWJuYWlsX292ZXJsYXlfYnV0dG9uX3JlZnJlc2giOnRydWUsIm1heF9kdXJhdGlvbl90b19jb25zaWRlcl9tb3VzZW92ZXJfYXNfaG92ZXIiOjYwMDAwMCwia2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucyI6dHJ1ZSwiZGVsYXlfZ2VsX3VudGlsX2NvbmZpZ19yZWFkeSI6dHJ1ZSwiZW5hYmxlX2Nvb2tpZV9yZWlzc3VlX2lmcmFtZSI6dHJ1ZSwieW91cl9kYXRhX2VudHJ5cG9pbnQiOnRydWUsImtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlIjp0cnVlLCJtaW5pbXVtX2R1cmF0aW9uX3RvX2NvbnNpZGVyX21vdXNlb3Zlcl9hc19ob3ZlciI6NTAwLCJ1c2VfdHlwZXNjcmlwdF90cmFuc3BvcnQiOnRydWUsImxpdmVfY2hhdF9pbmNyZWFzZWRfbWluX2hlaWdodCI6dHJ1ZSwicmVuZGVyX21ldGFfZ2VuZXJhbF90YWdzIjp0cnVlLCJrZXZsYXJfdXNlX29uZV9wbGF0Zm9ybV9mb3JfcXVldWVfcmVmcmVzaCI6dHJ1ZSwid2ViX2xpZmVjeWNsZXMiOnRydWUsImtldmxhcl9taW5pcGxheWVyX3NldF9lbGVtZW50X2Vhcmx5Ijp0cnVlLCJsb2dfd2ViX2VuZHBvaW50X3RvX2xheWVyIjp0cnVlLCJrZXZsYXJfd2F0Y2hfaW5jcmVhc2VkX3dpZHRoX3RocmVzaG9sZCI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX25vdGlmaWNhdGlvbnMiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfbG9nZ2VkX291dF9wcm9tcHRfd2F0Y2hlcyI6LTEsImVuYWJsZV9zdXBlcl92b2RfcHJpY2Vfc2VsZWN0b3IiOnRydWUsImZsdXNoX29uYmVmb3JldW5sb2FkIjp0cnVlLCJuZXR3b3JrbGVzc195dGlkYl92ZXJzaW9uIjoxLCJrZXZsYXJfZml4X21pbmlwbGF5ZXJfbG9nZ2luZyI6dHJ1ZSwicmVuZGVyX2Jhc2VfdGFnc19ob21lX3BhZ2UiOnRydWUsIndlYl9sb2dfY29ubmVjdGlvbiI6dHJ1ZSwibGl2ZV9jaGF0X2NvbnRpbnVhdGlvbnNfbWlncmF0aW9uIjp0cnVlLCJlbmFibGVfcG9seW1lcl9yZXNpbl9taWdyYXRpb24iOnRydWUsImRpc2FibGVfbGVnYWN5X2Rlc2t0b3BfcmVtb3RlX3F1ZXVlX3dhdGNoIjp0cnVlLCJrZXZsYXJfY2FuY2VsX3NjaGVkdWxlZF9jb21tZW50X2pvYnNfb25fbmF2aWdhdGUiOnRydWUsImtldmxhcl9kaXNhYmxlX2JhY2tncm91bmRfcHJlZmV0Y2giOnRydWUsImtldmxhcl9ub191cmxfcGFyYW1zIjp0cnVlLCJrZXZsYXJfd2F0Y2hfZHJhZ19oYW5kbGVzIjp0cnVlLCJrZXZsYXJfcXVldWVfdXNlX3VwZGF0ZV9hcGkiOnRydWUsImtldmxhcl9zZXR0aW5nc19iaWxsaW5nIjp0cnVlLCJwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZCI6dHJ1ZSwiYXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudF9hZnRlcl9hdXRvcGxheWVkX3ZpZGVvIjotMSwia2V2bGFyX2Rpc2FibGVfY2hhbm5lbHNfZmxvd19wYXJhbSI6dHJ1ZSwibWluX21vdXNlX3N0aWxsX2R1cmF0aW9uIjoxMDAsImRlc2t0b3BfdG91Y2hfZ2VzdHVyZXNfdXNhZ2VfbG9nIjp0cnVlLCJrZXZsYXJfYWxsb3dfbXVsdGlzdGVwX3ZpZGVvX2luaXQiOnRydWUsImtldmxhcl90aW1lX2NhY2hpbmdfc3RhcnRfdGhyZXNob2xkIjoxNSwia2V2bGFyX2FwcGx5X3ByZWZlcnNfY29sb3JfdGhlbWUiOnRydWUsImtldmxhcl9kaXNhYmxlX2h0bWxfaW1wb3J0cyI6dHJ1ZSwic2VhcmNoYm94X3JlcG9ydGluZyI6dHJ1ZSwibGl2ZV9jaGF0X2xpdmVfY29tbWVudGFyeV9tb2RlIjp0cnVlLCJrZXZsYXJfY2VudGVyX3NlYXJjaF9yZXN1bHRzIjp0cnVlLCJrZXZsYXJfbW91c2Vkb3duX3ByZWZldGNoIjp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ190YWdzIjp0cnVlLCJ3ZWJfcmVzcG9uc2VfcHJvY2Vzc29yX3N1cHBvcnQiOnRydWUsIndlYl9hbHdheXNfbG9hZF9jaGF0X3N1cHBvcnQiOnRydWUsInZpc2liaWxpdHlfdGltZV9iZXR3ZWVuX2pvYnNfbXMiOjEwMCwia2V2bGFyX2ZpeF9wbGF5bGlzdF9jb250aW51YXRpb24iOnRydWUsImtldmxhcl9tb3VzZWRvd25fcHJlZmV0Y2hhYmxlX2NvbXBvbmVudHMiOlsieXRkLXBsYXlsaXN0LXZpZGVvLXJlbmRlcmVyIiwieXRkLWdyaWQtdmlkZW8tcmVuZGVyZXIiLCJ5dGQtY29tcGFjdC12aWRlby1yZW5kZXJlciIsInl0ZC12aWRlby1yZW5kZXJlciIsInl0ZC1wbGF5bGlzdC1wYW5lbC12aWRlby1yZW5kZXJlciJdLCJlbmFibGVfd2F0Y2hfbmV4dF9wYXVzZV9hdXRvcGxheV9sYWN0Ijp0cnVlLCJrZXZsYXJfZmFsbGJhY2tfdG9fcGFnZV9kYXRhX3Jvb3RfdmUiOnRydWUsImJvdGd1YXJkX3BlcmlvZGljX3JlZnJlc2giOnRydWUsImVuYWJsZV9zZXJ2bGV0X3N0cmVhbXoiOnRydWUsImV4dGVybmFsX2Z1bGxzY3JlZW5fYnV0dG9uX2NsaWNrX3RocmVzaG9sZCI6Miwia2V2bGFyX2VuYWJsZV9zbGlzIjp0cnVlLCJrZXZsYXJfY2xlYXJfbm9uX2Rpc3BsYXlhYmxlX3VybF9wYXJhbXMiOnRydWUsInlvb2RsZV9lbmRfdGltZSI6IiIsImVsZW1lbnRfcG9vbF9wb3B1bGF0b3JfYXV0b19hYm9ydCI6dHJ1ZSwia2V2bGFyX2hpZGVfdGltZV9jb250aW51ZV91cmxfcGFyYW0iOnRydWUsInBvbHltZXJfdmlkZW9fcmVuZGVyZXJfZGVmZXJfbWVudSI6dHJ1ZSwid2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3QiOltdLCJuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cyI6MSwia2V2bGFyX3VzZV9wYWdlX2RhdGFfd2lsbF91cGRhdGUiOnRydWUsImtldmxhcl9iYWNrZ3JvdW5kX2NvbG9yX3VwZGF0ZSI6dHJ1ZSwia2V2bGFyX3BsYXllcl9yZXNwb25zZV9zd2ZfY29uZmlnX3dyYXBwZXJfa2lsbHN3aXRjaCI6dHJ1ZSwiZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWUiOnRydWUsImFwcF9zZXR0aW5nc19zbmFwc2hvdF9taW5fdGltZV9iZXR3ZWVuX3NuYXBzaG90c19ob3VycyI6MjQsImtldmxhcl9oaWRlX3BwX3VybF9wYXJhbSI6dHJ1ZSwic2hvdWxkX2NsZWFyX3ZpZGVvX2RhdGFfb25fcGxheWVyX2N1ZWRfdW5zdGFydGVkIjp0cnVlLCJkZXNrdG9wX2FkanVzdF90b3VjaF90YXJnZXQiOnRydWUsImRlc2t0b3BfcHl2X29uX3dhdGNoX292ZXJyaWRlX2xhY3QiOnRydWUsInZpZXdwb3J0X2xvYWRfY29sbGVjdGlvbl93YWl0X3RpbWUiOjAsInRlbl92aWRlb19yZW9yZGVyaW5nIjpbMCwxLDIsMyw2LDQsNSw3LDgsOV0sImRlc2t0b3BfYWN0aW9uX2NvbXBhbmlvbl93dGFfc3VwcG9ydCI6dHJ1ZSwia2V2bGFyX2hlbHBfdXNlX2xvY2FsZSI6dHJ1ZSwid2ViX29wX2VuZHBvaW50X2Jhbmxpc3QiOltdLCJkZWZlcl9tZW51cyI6dHJ1ZSwia2V2bGFyX2F1dG9uYXZfcG9wdXBfZmlsdGVyaW5nIjp0cnVlLCJrZXZsYXJfbWVudV9yZWZyZXNoIjp0cnVlLCJrZXZsYXJfbWl4X2hhbmRsZV9maXJzdF9lbmRwb2ludF9kaWZmZXJlbnQiOnRydWUsImtldmxhcl9vcF9wYWdlX3NlcnZpY2Vfc2VhcmNoIjp0cnVlLCJyZW5kZXJfbWV0YV90YWdzX2xhYnMiOnRydWUsImxvZ192aXNfb25fdGFiX2NoYW5nZSI6dHJ1ZSwiZGVidWdfZm9yY2VkX2ludGVybmFsY291bnRyeWNvZGUiOiIiLCJrZXZsYXJfYWRkX3RvX3F1ZXVlX29wdGlvbiI6dHJ1ZSwia2V2bGFyX2VuYWJsZV9yZW9yZGVyYWJsZV9wbGF5bGlzdHMiOnRydWUsImtldmxhcl9hbGxvd19xdWV1ZV9yZW9yZGVyIjp0cnVlLCJrZXZsYXJfb3BfcGFnZV9zZXJ2aWNlX2Jyb3dzZSI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2RyYWdfaGFuZGxlcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9wcm9tcHRfZGVsYXlfbWljcm9zZWNvbmRzIjozODg4MDAwMDAwMDAwLCJrZXZsYXJfb3BfYnJvd3NlX3NhbXBsZWRfcHJlZml4X2lkcyI6W10sImtldmxhcl9taW5pcGxheWVyX25vX3VwZGF0ZV9vbl9kZWFjdGl2YXRlIjp0cnVlLCJyZW5kZXJfbWljcm9mb3JtYXRfaW5faGVhZCI6dHJ1ZSwicmV0cnlfd2ViX2xvZ2dpbmdfYmF0Y2hlcyI6dHJ1ZSwiZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21feGhyX2NsaWVudCI6dHJ1ZSwia2V2bGFyX25vX2F1dG9zY3JvbGxfb25fcGxheWxpc3RfaG92ZXIiOnRydWUsImtldmxhcl9leGl0X2Z1bGxzY3JlZW5fbGVhdmluZ193YXRjaCI6dHJ1ZSwia2V2bGFyX21lbnVfbG9nZ2luZyI6dHJ1ZSwid2ViX3Bvc3Rfc2VhcmNoIjp0cnVlLCJkZXNrdG9wX2FkZF90b19wbGF5bGlzdF9yZW5kZXJlcl9kaWFsb2dfcG9wdXAiOnRydWUsInlvb2RsZV9iYXNlX3VybCI6Imh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2ltZ1wvYnJhbmRpbmdcL2Rlc2t0b3BcL2dsb2JhbF90ZXN0XC95dF9sb2dvX3YxIiwiZGVza3RvcF9rZXlib2FyZF9jYXB0dXJlX2tleWRvd25fa2lsbHN3aXRjaCI6dHJ1ZSwibG9nX2pzX2Vycm9yX2NsdXN0ZXJzIjoxLjAsIndlYl9nZWxfZGVib3VuY2VfbXMiOjEwMDAwLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6IlwvIiwid2ViX3BsYXllcl9lbmFibGVfaXBwIjp0cnVlLCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giOjE1MCwiZGVza3RvcF9zd2lwZWFibGVfZ3VpZGUiOnRydWUsImtldmxhcl9tYWNyb19tYXJrZXJzX2tleWJvYXJkX3Nob3J0Y3V0Ijp0cnVlLCJrZXZsYXJfY29weV9wbGF5bGlzdCI6dHJ1ZSwiZ2ZlZWRiYWNrX2Zvcl9zaWduZWRfb3V0X3VzZXJzX2VuYWJsZWQiOnRydWUsImtldmxhcl9jb2xsZWN0X2hvdmVyX3RvdWNoX3N1cHBvcnQiOnRydWUsImtldmxhcl9kaXNhYmxlX2Zhc3RfcGxheWVyX3NpemluZ19vbl9jaGFubmVsX3BhZ2UiOnRydWUsImtldmxhcl9ob21lX2tleWJvYXJkX3Njcm9sbF9kaXN0YW5jZSI6MCwia2V2bGFyX3F1ZXVlX3VzZV9kZWRpY2F0ZWRfbGlzdF90eXBlIjp0cnVlLCJrZXZsYXJfc2V0X2ludGVybmFsX3BsYXllcl9zaXplIjp0cnVlLCJzaG93X2dob3N0X2NhcmRfY29udGludWF0aW9ucyI6MCwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zYW1wbGluZ19mcmFjdGlvbiI6MC4wLCJrZXZsYXJfcHJlZmV0Y2giOnRydWUsInVzZXJfbWVudGlvbl9zdWdnZXN0aW9uc19lZHVfaW1wcmVzc2lvbl9jYXAiOjEwLCJrZXZsYXJfZGVwcmVjYXRlZF90aWNrZXIiOnRydWUsImVuYWJsZV9taWNyb2Zvcm1hdF9kYXRhIjp0cnVlLCJleHRlcm5hbF9mdWxsc2NyZWVuX2J1dHRvbl9zaG93bl90aHJlc2hvbGQiOjEwLCJ1c2Vfd2F0Y2hfZnJhZ21lbnRzMiI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2NvbGxhcHNpYmxlIjp0cnVlLCJwb2x5bWVyX3JlcG9ydF9taXNzaW5nX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X3JhdGUiOjAuMDAxLCJrZXZsYXJfYWxsb3dfcGxheWxpc3RfcmVvcmRlciI6dHJ1ZSwiZW5hYmxlX3dlYl9rZXRjaHVwX2hlcm9fYW5pbWF0aW9uIjp0cnVlLCJkaXNhYmxlX3RodW1ibmFpbF9wcmVsb2FkaW5nIjp0cnVlLCJkZWZlcl9yZW5kZXJpbmdfb3V0c2lkZV92aXNpYmxlX2FyZWEiOnRydWUsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6XC9cL3d3dy5nc3RhdGljLmNvbVwveW91dHViZVwvaW1nXC9lbW9qaXNcL2Vtb2ppcy1zdmctNC5qc29uIiwia2V2bGFyX3VzZV9lbmRwb2ludF9mb3JfY2hhbm5lbF9jcmVhdGlvbl9mb3JtIjp0cnVlLCJrZXZsYXJfbWluaXBsYXllcl9wbGF5X3BhdXNlX29uX3NjcmltIjp0cnVlLCJrZXZsYXJfdHJhbnNjcmlwdF9lbmdhZ2VtZW50X3BhbmVsIjp0cnVlLCJwb2x5bWVyMl9lbGVtZW50X3Bvb2xfcHJvcGVydGllcyI6dHJ1ZSwia2V2bGFyX3RyYW5zY3JpcHRfcGFuZWxfcmVmcmVzaGVkX3N0eWxlcyI6dHJ1ZSwiZml4X2Rlc2t0b3BfYWRzX2N0YV9kdXBfY2xpY2tfcGluZyI6dHJ1ZSwia2V2bGFyX2luY2x1ZGVfcXVlcnlfaW5fc2VhcmNoX2VuZHBvaW50Ijp0cnVlLCJ3ZWJfbmV0d29ya19jb21iaW5lZF9jYXRjaCI6dHJ1ZSwicmVsb2FkX3dpdGhvdXRfcG9seW1lcl9pbm5lcnR1YmUiOnRydWUsInBlcnNpc3RlbnRfbWluaXBsYXllciI6dHJ1ZSwicG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzIjp0cnVlLCJzdXBwcmVzc19zcGFya2xlc19mb3Jfd2hpdGVsaXN0ZWRfaW5zdHJlYW1fb25fZGVza3RvcCI6dHJ1ZSwiY3VzdG9tX2NzaV90aW1lbGluZV91c2VfZ2VsIjp0cnVlLCJwZGdfZW5hYmxlX3NpZ25faW5fbW9kYWxfZm9yX3N1cGVyX3ZvZCI6dHJ1ZSwiY2FuY2VsX3BlbmRpbmdfbmF2cyI6dHJ1ZSwicGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2UiOnRydWUsImtldmxhcl91c2VfYWxwaGFfaW5fY29sb3JfcGFsZXR0ZXMiOnRydWUsInBvbHltZXJfdGFza19tYW5hZ2VyX3N0YXR1cyI6InByb2R1Y3Rpb24iLCJ3ZWJfc2hvd19kZXNjcmlwdGlvbl90YWdfbW92aWVzIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9zdWJzY3JpYmVfd2l0aF92YXBpZF9rZXkiOnRydWUsInlvb2RsZV9zdGFydF90aW1lX3V0YyI6MTYwMzc3MTE5OSwiZW5hYmxlX21lbWJlcnNoaXBzX2FuZF9wdXJjaGFzZXMiOnRydWUsInBvbHltZXJfcmVwb3J0X2NsaWVudF91cmxfcmVxdWVzdGVkX3JhdGUiOjAuMDAxLCJrZXZsYXJfdXNlX3l0ZF9wbGF5ZXIiOnRydWUsImJvdGd1YXJkX2V2YWxfd2l0aF9zY3JpcHRfdGFnIjp0cnVlLCJ0d2VsdmVfdmlkZW9fcmVvcmRlcmluZyI6WzAsMSwyLDQsNyw4LDMsNSw2LDksMTAsMTFdLCJ3ZWJfZGVwcmVjYXRlX3NlcnZpY2VfYWpheF9tYXBfZGVwZW5kZW5jeSI6dHJ1ZSwiZW5hYmxlX3l0b193aW5kb3ciOnRydWUsImVuYWJsZV9kb2NrZWRfY2hhdF9tZXNzYWdlcyI6dHJ1ZSwid2ViX21vdmVfcGFzc2l2ZV9zaWduaW4iOnRydWUsImVuYWJsZV92ZV90cmFja2VyX2tleSI6dHJ1ZSwidXNlX3BsYXllcl9wYXJhbXNfZm9yX3Bhc3NpbmdfZGVza3RvcF9jb252ZXJzaW9uX3VybHMiOnRydWUsIndlYl9sb2dfYXBwX2luc3RhbGxfZXhwZXJpbWVudHMiOnRydWUsImVuYWJsZV9vZmZlcl9zdXBwcmVzc2lvbiI6dHJ1ZSwia2V2bGFyX3NlcnZlX3VudmVyc2lvbmVkX2JpbmFyeSI6dHJ1ZSwia2V2bGFyX2ljb25zX29uX21lbnVzIjp0cnVlLCJyZWNvbW1lbmRlZF92aWRlb19yZW9yZGVyaW5nIjp0cnVlLCJib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zIjozMDAwLCJrZXZsYXJfZ3VpZGVfcmVmcmVzaCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9ob21lX3BhZ2VfcHJvbXB0Ijp0cnVlLCJrZXZsYXJfdGh1bWJuYWlsX2ZseW91dF9kZWxheSI6MzAwLCJwYmpfbmF2aWdhdGVfbGltaXQiOi0xLCJrZXZsYXJfbml0cmF0ZV9kcml2ZW5fdG9vbHRpcHMiOnRydWUsImVuYWJsZV90b3Bzb2lsX3d0YV9mb3JfaGFsZnRpbWUiOnRydWUsIndlYl9wbGF5ZXJfd2F0Y2hfbmV4dF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2hvbWVfc2tlbGV0b24iOnRydWUsImxvZ193ZWJfbWV0YV9pbnRlcnZhbF9tcyI6MCwid2F0Y2hfbmV4dF9wYXVzZV9hdXRvcGxheV9sYWN0X3NlYyI6NDUwMCwiZW5hYmxlX3lwY19zcGlubmVycyI6dHJ1ZSwia2V2bGFyX3BsYXllcl9hdXRvcGxheV9jb3VudF9mcm9tX3J2cyI6dHJ1ZSwiZW5hYmxlX3dlYl9wb3N0ZXJfaG92ZXJfYW5pbWF0aW9uIjp0cnVlLCJrZXZsYXJfb3BfbWlncmF0aW9uIjp0cnVlLCJ3ZWJfY2xpZW50X2NvdW50ZXJfcmFuZG9tX3NlZWQiOnRydWUsImF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnQiOi0xLCJwb2x5bWVyMl9wb2x5ZmlsbF9tYW51YWxfZmx1c2giOnRydWUsImRlY29yYXRlX2F1dG9wbGF5X3JlbmRlcmVyIjp0cnVlLCJlbmFibGVfbWVudGlvbnNfaW5fcmVwb3N0cyI6dHJ1ZSwicGxheWVyX2RvdWJsZXRhcF90b19zZWVrIjp0cnVlLCJ5b29kbGVfc3RhcnRfdGltZSI6IiIsImtldmxhcl9wcmVwYXJlX3BsYXllcl9vbl9taW5pcGxheWVyX2FjdGl2YXRpb24iOnRydWUsImNvbGRfbWlzc2luZ19oaXN0b3J5Ijp0cnVlLCJrZXZsYXJfZHJvcHBhYmxlX3ByZWZldGNoYWJsZV9yZXF1ZXN0cyI6dHJ1ZSwidXNlX3ByZXZpZXdfc2VsZWN0aW9uX3Rvb2wiOnRydWUsIm5ldHdvcmtsZXNzX3Rocm90dGxlX3RpbWVvdXQiOjEwMCwia2V2bGFyX25leHRfY29sZF9vbl9hdXRoX2NoYW5nZV9kZXRlY3RlZCI6dHJ1ZSwia2V2bGFyX29wX21pZ3JhdGlvbl95cGMiOnRydWUsImtldmxhcl9jdHJsX3RhcF9maXgiOnRydWUsIm5vX3N1Yl9jb3VudF9vbl9zdWJfYnV0dG9uIjp0cnVlLCJrZXZsYXJfcGVyc2lzdGVudF9ndWlkZV93aWR0aF90aHJlc2hvbGQiOjEzMTIsImtldmxhcl9jb2xsZWN0X2JhdHRlcnlfbmV0d29ya19zdGF0dXMiOnRydWUsImtldmxhcl9jbGVhbl91cCI6dHJ1ZSwiZGVmZXJfb3ZlcmxheXMiOnRydWUsIndhcm1fbG9hZF9uYXZfc3RhcnRfd2ViIjp0cnVlLCJvdmVyd3JpdGVfcG9seWZpbGxfb25fbG9nZ2luZ19saWJfbG9hZGVkIjp0cnVlLCJrZXZsYXJfc2F2ZV9xdWV1ZSI6dHJ1ZSwieW9vZGxlX2VuZF90aW1lX3V0YyI6MTYwMzg3OTE5OSwibGl2ZV9jaGF0X2l0ZmVfZW5kcG9pbnRfbWlncmF0aW9uIjp0cnVlLCJrZXZsYXJfbWluaXBsYXllciI6dHJ1ZSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX2F1dG9tYXRpY19yZWNvdmVyIjp0cnVlLCJsaXZlX2NoYXRfdXNlX2ZldGNoX2NvbW1hbmQiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImtldmxhcl9jbGllbnRfc2lkZV9zY3JlZW5zIjp0cnVlLCJrZXZsYXJfcmVwb3NpdGlvbl9ndWlkZV9odG1sIjp0cnVlLCJza2lwX2VuZHBvaW50X3BhcmFtX2NvbXBhcmlzb24iOnRydWUsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJ3ZWJfeXRfY29uZmlnX2NvbnRleHQiOnRydWUsInJpY2hfZ3JpZCI6dHJ1ZSwiZGVza3RvcF9zZWFyY2hfcHJvbWluZW50X3RodW1ic19zdHlsZSI6IkRFRkFVTFQiLCJrZXZsYXJfbWluaV9ndWlkZV93aWR0aF90aHJlc2hvbGQiOjc5MSwia2V2bGFyX3NldHRpbmdzX3ByaXZhY3kiOnRydWUsImlnbm9yZV9lbXB0eV94aHIiOnRydWUsImNsaWVudF9zdHJlYW16X3dlYl9mbHVzaF9pbnRlcnZhbF9zZWNvbmRzIjo2MCwiZ3VpZGVfYnVzaW5lc3NfaW5mb19jb3VudHJpZXMiOlsiS1IiXSwid2ViX3JlZnJlc2hfaW5mb19wYW5lbCI6dHJ1ZSwiZW5hYmxlX21hc3RoZWFkX3F1YXJ0aWxlX3BpbmdfZml4Ijp0cnVlLCJwYWlyX3NlcnZsZXRfZGVwcmVjYXRpb25fd2FybmluZ19lbmFibGVkIjp0cnVlLCJwbGF5ZXJfYWxsb3dfYXV0b25hdl9hZnRlcl9wbGF5bGlzdCI6dHJ1ZSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX3JlY292ZXIiOnRydWUsInBvbHltZXJfZW5hYmxlX21keCI6dHJ1ZSwiZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsImFsbG93X2h0dHBzX3N0cmVhbWluZ19mb3JfYWxsIjp0cnVlLCJrZXZsYXJfY2hhbm5lbHNfcGxheWVyX2hhbmRsZV9taXNzaW5nX3N3ZmNvbmZpZyI6dHJ1ZSwicG9seW1lcjJfbm90X3NoYWR5X2J1aWxkIjp0cnVlLCJsaXZlX2NoYXRfb3Zlcl9wbGF5bGlzdCI6dHJ1ZSwieW9vZGxlX2FsdF90ZXh0X2xvY2FsZSI6IiIsImFkZF9kZXZpY2VfdGhlbWVfcHJlZmVyZW5jZV93ZWIiOnRydWUsImtldmxhcl9tZWFsYmFyX2Fib3ZlX3BsYXllciI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2F1dG9uYXZfbG9vcF9maXgiOnRydWUsImVuYWJsZV9zZXJ2aWNlX2FqYXhfY3NuIjp0cnVlLCJrZXZsYXJfb3BfbWlncmF0aW9uX2JhdGNoXzIiOnRydWUsImtldmxhcl9vcF9taWdyYXRpb25fYmF0Y2hfMyI6dHJ1ZSwia2V2bGFyX3dhdGNoX2pzX3BhbmVsX2hlaWdodCI6dHJ1ZSwid2ViX3Nob3dfcmVnZXhfZXJyb3JfdGV4dGFyZWEiOnRydWUsImtldmxhcl9pbmxpbmVkX2h0bWxfdGVtcGxhdGVzX3BvbHltZXJfZmxhZ3MiOnRydWUsIndlYl9wbGF5ZXJfdG91Y2hfbW9kZV9pbXByb3ZlbWVudHMiOnRydWUsImVuYWJsZV9jYWxsX3RvX2FjdGlvbl9jbGFyaWZpY2F0aW9uX3JlbmRlcmVyX2JvdHRvbV9zZWN0aW9uX2NvbmRpdGlvbnMiOnRydWUsImV4dGVybmFsX2Z1bGxzY3JlZW5fd2l0aF9lZHUiOnRydWUsImtldmxhcl93YXRjaF9jb2xvcl91cGRhdGUiOnRydWUsInBsYXlsaXN0X3JlbW92ZV93YXRjaGVkIjp0cnVlLCJrZXZsYXJfbm9fZWFybHlfaW5pdF91bnBhdXNlIjp0cnVlLCJ3ZWJfb3BfY29udGludWF0aW9uX3R5cGVfYmFubGlzdCI6W10sImZpeF9mb3Jfc2FmYXJpX2Rlc2t0b3BfbWFzdGhlYWRfYmFubmVyX3NpemUiOnRydWUsImtldmxhcl9ndWlkZV9hamF4X21pZ3JhdGlvbiI6dHJ1ZSwia2V2bGFyX2F1dG9mb2N1c19tZW51X29uX2tleWJvYXJkX25hdiI6dHJ1ZSwibmV0d29ya19wb2xsaW5nX2ludGVydmFsIjozMDAwMCwicG9wdXBfZm9yX3NpZ25fb3V0X3JlcG9ydF9wbGF5bGlzdCI6dHJ1ZSwia2V2bGFyX2FiYW5kb25fb25fc3RvcCI6dHJ1ZSwiZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21fcG9seW1lcl9uZXR3b3JrX21hbmFnZXIiOnRydWUsIm5ldHdvcmtsZXNzX3JlcXVlc3RfYWdlX2xpbWl0IjozMCwia2V2bGFyX3RpbWVfY2FjaGluZ19lbmRfdGhyZXNob2xkIjoxNSwia2V2bGFyX3NldHRpbmdzX292ZXJ2aWV3Ijp0cnVlLCJ3ZWJfZG9udF9jYW5jZWxfcGVuZGluZ19uYXZpZ2F0aW9uX3NhbWVfdXJsIjp0cnVlLCJ5b29kbGVfZGF0ZV9vdmVycmlkZV9kZWJ1ZyI6IiIsImRpc2FibGVfc2ltcGxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwia2V2bGFyX2F1dG9uYXZfbWluaXBsYXllcl9maXgiOnRydWUsImRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX2J1dHRvbl9iZWhhdmlvcl9yZXVzZSI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJsaXZlX2NoYXRfY2xpZW50X3VybCI6dHJ1ZSwiYXV0b3BsYXlfdGltZSI6ODAwMCwieW9vZGxlX2FsdF90ZXh0IjoiIiwia2V2bGFyX3VzZV9yZXNwb25zZV90dGxfdG9faW52YWxpZGF0ZV9jYWNoZSI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbiI6dHJ1ZSwiZGVza3RvcF9weXZfb25fd2F0Y2hfbWlzc2luZ19wYXJhbXMiOnRydWUsImtldmxhcl90aHVtYm5haWxfZmx1aWQiOnRydWUsInNlcnZlX2Nyb3Nzd2Fsa19jb21wbGlhbnRfcGRwIjp0cnVlLCJrZXZsYXJfY2hhbm5lbF90cmFpbGVyX211bHRpX2F0dGFjaCI6dHJ1ZSwiZmlsbF93ZWJfcGxheWVyX2NvbnRleHRfY29uZmlnIjp0cnVlLCJrZXZsYXJfbWluaXBsYXllcl9zZXRfd2F0Y2hfbmV4dCI6dHJ1ZSwia2V2bGFyX2kxOG5fbGlicmFyeSI6dHJ1ZSwia2V2bGFyX2pzX2ZpeGVzIjp0cnVlLCJlbmFibGVfbGNyX25ld19oZWFkZXIiOnRydWUsInNraXBfaW5pdF9wcmV2aWV3X3NlbGVjdGlvbiI6dHJ1ZSwid2ViX2VtdWxhdGVkX2lkbGVfY2FsbGJhY2tfZGVsYXkiOjAsImNsaWVudF9zdHJlYW16X3dlYl9mbHVzaF9jb3VudCI6MTAwLCJoaWdoX3ByaW9yaXR5X2ZseW91dF9mcmVxdWVuY3kiOjMsImdsb2JhbF9zcGFjZWJhcl9wYXVzZSI6dHJ1ZSwia2V2bGFyX2FkX2JhZGdlX2xpbmVfaGVpZ2h0X3VwZGF0ZSI6dHJ1ZSwiaHRtbDVfZXhwZXJpbWVudF9pZF9sYWJlbCI6MCwibG9nX2pzX2V4Y2VwdGlvbnNfZnJhY3Rpb24iOjEuMCwicmljaF9ncmlkX21pbmlfbW9kZSI6dHJ1ZSwiZW5hYmxlX3ByZW1pdW1fdm9sdW50YXJ5X3BhdXNlIjp0cnVlLCJ1c2VyX2VuZ2FnZW1lbnRfZXhwZXJpbWVudHNfcmF0ZV9saW1pdF9tcyI6ODY0MDAwMDAsImtldmxhcl9sb2dfbmF0aXZlX3JpZ2h0X2NsaWNrX3ZlIjp0cnVlLCJlbmFibGVfcG9zdF9zY2hlZHVsaW5nIjp0cnVlLCJrZXZsYXJfbG9nX3ByZWZlcnNfY29sb3JfdGhlbWUiOnRydWUsImRlc2t0b3Bfbm90aWZpY2F0aW9uX2hpZ2hfcHJpb3JpdHlfaWdub3JlX3B1c2giOnRydWV9LCJQTEFZRVJfQ1NTX1VSTCI6Ilwvc1wvcGxheWVyXC85YjY1ZTk4MFwvd3d3LXBsYXllci5jc3MiLCJQQUdFX0NMIjozMzg0NDM5MTAsIklOTkVSVFVCRV9DT05URVhUX0dMIjoiQlIiLCJTQk9YX0pTX1VSTCI6Imh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL3NcL2Rlc2t0b3BcL2E5MDAzNmVhXC9qc2Jpblwvd3d3LXNlYXJjaGJveC52ZmxzZXRcL3d3dy1zZWFyY2hib3guanMiLCJIVE1MX0RJUiI6Imx0ciIsIlNUQVJUX0lOX1RIRUFURVJfTU9ERSI6ZmFsc2UsIkxBTkdVQUdFIjoiUG9ydHVndcOqcyIsIkZFWFBfRVhQRVJJTUVOVFMiOlsyMzcyMzIwNywyMzc0MTUyMiwyMzc0NDE3NiwyMzgwNDI4MSwyMzgzOTU5NywyMzg1Njk1MCwyMzg1Nzk0OSwyMzg2ODMyNCwyMzg4MDA0MywyMzg4MTQ0MCwyMzg4MjUwMywyMzg4NDM4NiwyMzg4NTU3MiwyMzg5MDk1OSwyMzg5NTY3MSwyMzkxMTA1NSwyMzkxNTk5MywyMzkxODU5NywyMzkyNzc2NywyMzkyNzc2NywyMzkyODUwOCwyMzkzMDIyMCwyMzkzNDk3MCwyMzk0MDI0NywyMzk0MjMzOCwyMzk0MjYzMywyMzk0MzI5MywyMzk0NDc3OSwyMzk0NTQ3OSwyMzk0NjQyMCwyMzk0NzY4MSwyMzk0NzY5OCwyMzk0ODg0MSwyMzk1MDU5NywyMzk1MTEzOSwyMzk1MTYyMCwyMzk1Mjk1MSwyMzk1NDAwMCwyMzk1NTg2MywyMzk1Njc1NCwyMzk2MDM4NiwyMzk2Mjg4MiwyMzk2MjkyMCwyMzk2Mjk2MiwyMzk2MzYxMywyNDU5MDI3OCwyNDU5MDI4OSwyNDYzMTY0Nyw5NDQ5MjQzLDk0NjY1OTNdLCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSI6MSwiTE9HR0VEX0lOIjpmYWxzZSwiR09PR0xFX0ZFRURCQUNLX1BST0RVQ1RfREFUQSI6eyJwb2x5bWVyMiI6ImFjdGl2ZSIsImFjY2VwdF9sYW5ndWFnZSI6bnVsbCwicG9seW1lciI6ImFjdGl2ZSJ9LCJFTEVNRU5UX1BPT0xfREVGQVVMVF9DQVAiOjc1LCJHT09HTEVfRkVFREJBQ0tfUFJPRFVDVF9JRCI6IjU5IiwiVk9aX0FQSV9LRVkiOiJBSXphU3lCVTJ4RV9KSHZCNndhZzN0TWZoeFhwZzJRX1c4eG5NLUkiLCJHQVBJX0xPQ0FMRSI6InB0X0JSIiwiQ09VTlRSWSI6IkJyYXNpbCIsIkxJVkVfQ0hBVF9TRU5EX01FU1NBR0VfQUNUSU9OIjoibGl2ZV9jaGF0XC93YXRjaF9wYWdlXC9zZW5kIiwiWFNSRl9UT0tFTiI6IlFVRkZMVWhxYlhKeVNYbElUamRYUTNoblRFUnRRWGhpYjNwUFpFaHVlWGhOZDN4QlEzSnRjMHR1ZFRkNVNrNTVjVmh5Y210aVduZHRNRlV0YjNCMmNXUlFiVlIwZFZaV1EwOTZjbTFtWjNSRFlsbzVkRWs1VjNreE1sVmxOM0ZPY0dSbmRuSmtPSGh1TjJwek9HRXhPUzFQUXpGV1JIZEhVemQxUW1WZlREVTBiVk5sU1RkWE9GZFRhMHhWVVdrelgyNXFiMnhETTNKSU5XNVNSVmM0TTBwQ05WZzNUM2hHY1Y5UWJrSkllVm94Y0ZWblREaFBMUzF3ZG1GYVRGaDZaMXBxVm5jPSIsIk5PX0VNUFRZX0RBVEFfSU1HIjp0cnVlLCJHQVBJX0hJTlRfUEFSQU1TIjoibTtcL19cL3Njc1wvYWJjLXN0YXRpY1wvX1wvanNcL2s9Z2FwaS5nYXBpLmVuLjlLeTVHZjNnUDBvLk9cL2Q9MVwvY3Q9emdtc1wvcnM9QUhwT29vOW50Z1VnYVZtU0t4YjZvWHNrMTExODgwYWR5Z1wvbT1fX2ZlYXR1cmVzX18iLCJFVkVOVF9JRCI6Il9XZVlYOXV3QTVQRXdnUzJfWnZvQXciLCJSRVVTRV9DT01QT05FTlRTIjp0cnVlLCJERVZJQ0UiOiJjZW5nPVVTRVJfREVGSU5FRCIsIlJPT1RfVkVfVFlQRSI6MzgzMiwiR0FQSV9IT1NUIjoiaHR0cHM6XC9cL2FwaXMuZ29vZ2xlLmNvbSIsIlBMQVlFUl9KU19VUkwiOiJcL3NcL3BsYXllclwvOWI2NWU5ODBcL3BsYXllcl9pYXMudmZsc2V0XC9wdF9CUlwvYmFzZS5qcyIsIlZJU0lUT1JfREFUQSI6IkNnczVOREo0U1ZWa2Qyc3RXU2o5ei1IOEJRJTNEJTNEIiwiVklTSUJJTElUWV9USU1FX0JFVFdFRU5fSk9CU19NUyI6MTAwLCJIVE1MX0xBTkciOiJwdC1CUiIsIkRJU0FCTEVfV0FSTV9MT0FEUyI6ZmFsc2UsIkNMSUVOVF9UUkFOU1BPUlQiOiJ0Y3AiLCJTRVJWSUNFX1dPUktFUl9QUk9NUFRfTk9USUZJQ0FUSU9OUyI6ZmFsc2UsIkxJVkVfQ0hBVF9CQVNFX1RBTkdPX0NPTkZJRyI6eyJjbGllbnROYW1lIjoieXQtbGl2ZS1jaGF0LWFub24iLCJhcGlLZXkiOiJBSXphU3lEWk5reUMtQXRST3dNQnBMZmV2SXZxWWstR2ZpOFpPZW8iLCJ1c2VOZXdUYW5nbyI6dHJ1ZSwicmVxdWlyZXNBdXRoVG9rZW4iOnRydWUsImNsaWVudFR5cGUiOjEwNTcsImNoYW5uZWxVcmkiOiJodHRwczpcL1wvY2xpZW50LWNoYW5uZWwuZ29vZ2xlLmNvbVwvY2xpZW50LWNoYW5uZWxcL2NsaWVudCIsInNlbmRlclVyaSI6Imh0dHBzOlwvXC9jbGllbnRzNC5nb29nbGUuY29tXC9pbnZhbGlkYXRpb25cL2xjc1wvY2xpZW50In0sIkRJU0FCTEVfWVRfSU1HX0RFTEFZX0xPQURJTkciOmZhbHNlLCJTVEFSVF9JTl9GVUxMX1dJTkRPV19NT0RFIjpmYWxzZSwiU0JPWF9TRVRUSU5HUyI6eyJTRUFSQ0hCT1hfQkVIQVZJT1JfRVhQRVJJTUVOVCI6Inplcm8tcHJlZml4IiwiSVNfRlVTSU9OIjpmYWxzZSwiVklTSVRPUl9EQVRBIjoiQ2dzNU5ESjRTVlZrZDJzdFdTajl6LUg4QlElM0QlM0QiLCJTRUFSQ0hCT1hfSE9TVF9PVkVSUklERSI6IiIsIkhBU19PTl9TQ1JFRU5fS0VZQk9BUkQiOnRydWUsIlNFQVJDSEJPWF9aRVJPX1RZUElOR19TVUdHRVNUX1VTRV9SRUdVTEFSX1NVR0dFU1QiOiJhbHdheXMiLCJTRU5EX1ZJU0lUT1JfREFUQSI6dHJ1ZSwiSVNfUE9MWU1FUiI6dHJ1ZSwiU0VBUkNIQk9YX1RBUF9UQVJHRVRfRVhQRVJJTUVOVCI6MCwiU0VBUkNIQk9YX0VOQUJMRV9SRUZJTkVNRU5UX1NVR0dFU1QiOnRydWUsIlJFUVVFU1RfRE9NQUlOIjoiYnIiLCJSRVFVRVNUX0xBTkdVQUdFIjoicHQifSwiWEhSX0FQSUFSWV9IT1NUIjoieW91dHViZWkueW91dHViZS5jb20iLCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiOnsiY2xpZW50Lm5hbWUiOiJXRUIifX0pO3l0Y2ZnLnNldCgiU0JPWF9MQUJFTFMiLCB7IlNVR0dFU1RJT05fRElTTUlTU19MQUJFTCI6IlJlbW92ZXIiLCJTVUdHRVNUSU9OX0RJU01JU1NFRF9MQUJFTCI6IlN1Z2VzdMOjbyByZW1vdmlkYSJ9KTt2YXIgc2V0TWVzc2FnZSA9IGZ1bmN0aW9uKG1zZykge2lmICh3aW5kb3cueXQgJiYgeXQuc2V0TXNnKSB7eXQuc2V0TXNnKG1zZyk7fSBlbHNlIHt3aW5kb3cueXRjZmcgPSB3aW5kb3cueXRjZmcgfHwge307eXRjZmcubXNncyA9IG1zZzt9fTtzZXRNZXNzYWdlKHsnU0lHTl9JTl9MQUJFTCc6ICJGYXplciBsb2dpbiIsJ1NIQVJFX0xBQkVMJzogIkNvbXBhcnRpbGhhciIsJ0dVSURFX0FMVF9MQUJFTCc6ICJHdWlhIiwnTE9HT19BTFRfTEFCRUwnOiAiUMOhZ2luYSBpbmljaWFsIGRvIFlvdVR1YmUiLCdCQUNLX0FMVF9MQUJFTCc6ICJWb2x0YXIiLCdDSE9PU0VfQ09VTlRSWV9MQUJFTCc6ICJTZWxlY2lvbmUgc2V1IGxvY2FsIiwnQ09VTlRSWV9MQUJFTCc6ICJMb2NhbDoiLCdDSE9PU0VfTEFOR1VBR0VfTEFCRUwnOiAiU2VsZWNpb25lIHNldSBpZGlvbWEiLCdMQU5HVUFHRV9MQUJFTCc6ICJJZGlvbWE6IiwnVElNRVpPTkVfRk9STUFUJzogIigkdXRjX29mZnNldF90ZXh0KSAkY2l0eV9uYW1lIiwnTE9DQUxfVElNRV9MQUJFTCc6ICJIb3JhIGxvY2FsIiwnTE9DQUxfVElNRV9HTVRfTEFCRUwnOiAiSG9yw6FyaW8gbG9jYWwgKCRnbXRfdGV4dCkiLCdVVENfT0ZGU0VUX0ZPUk1BVCc6ICJHTVQkdXRjX29mZnNldCIsJ0VOVEVSX0RBVEVfT1JfRUFSTElFUic6ICJJbnNpcmEgJGFsbG93ZWRfZGF0ZSBvdSB1bWEgZGF0YSBhbnRlcmlvciIsJ0VOVEVSX0RBVEVfT1JfTEFURVInOiAiSW5zaXJhICRhbGxvd2VkX2RhdGUgb3UgdW0gaG9yw6FyaW8gcG9zdGVyaW9yIiwnSU5WQUxJRF9EQVRFX0VSUk9SJzogIkRhdGEgaW52w6FsaWRhIiwnT0ZGJzogIkRlc2F0aXZhZG8iLCdPTic6ICJBdGl2YWRvIiwnUkVTVFJJQ1RFRF9NT0RFX0xBQkVMJzogIk1vZG8gcmVzdHJpdG86IiwnUkVTVFJJQ1RFRF9NT0RFX1RFWFRfTElORV8xJzogIk8gTW9kbyByZXN0cml0byBvY3VsdGEgdsOtZGVvcyBxdWUgcG9kZW0gY29udGVyIGNvbnRlw7pkbyBpbmFkZXF1YWRvLCBzaW5hbGl6YWRvIHBvciB1c3XDoXJpb3Mgb3Ugb3V0cm9zIGluZGljYWRvcmVzLiBOZW5odW0gZmlsdHJvIMOpIDEwMCUgcHJlY2lzbywgbWFzIGRldmUgYWp1ZGFyIHZvY8OqIGEgZXZpdGFyIGEgbWFpb3JpYSBkb3MgY29udGXDumRvcyBpbmFkZXF1YWRvcy4iLCdSRVNUUklDVEVEX01PREVfVEVYVF9MSU5FXzInOiAiQSBjb25maWd1cmHDp8OjbyBkbyBNb2RvIHJlc3RyaXRvIHNlcsOhIGFwbGljYWRhIHNvbWVudGUgYSBlc3RlIG5hdmVnYWRvci4iLCdSRVNUUklDVEVEX01PREVfVElUTEUnOiAiTW9kbyByZXN0cml0byIsJ0lNQUdFX0hPUklaT05UQUxfUE9TSVRJT05fTEFCRUwnOiAiTyBjZW50cm8gZGEgdmlzdWFsaXphw6fDo28gZXN0w6EgYSAkeF9wZXJjZW50JSBkYSBlc3F1ZXJkYSBlIGEkeV9wZXJjZW50JSBkYSBkaXJlaXRhLiIsJ0lNQUdFX1ZFUlRJQ0FMX1BPU0lUSU9OX0xBQkVMJzogIk8gY2VudHJvIGRhIHZpc3VhbGl6YcOnw6NvIGVzdMOhIGEgJHhfcGVyY2VudCUgZGEgcGFydGUgc3VwZXJpb3IgZSBhJHlfcGVyY2VudCUgZGEgcGFydGUgaW5mZXJpb3IuIiwnUkVQT1NJVElPTl9JTUFHRV9IT1JJWk9OVEFMTFlfTEFCRUwnOiAiVXNlIGFzIHRlY2xhcyBkZSBzZXRhIGVzcXVlcmRhIGUgZGlyZWl0YSBwYXJhIHBvc2ljaW9uYXIgYSB2aXN1YWxpemHDp8OjbyIsJ1JFUE9TSVRJT05fSU1BR0VfVkVSVElDQUxMWV9MQUJFTCc6ICJVc2UgYXMgdGVjbGFzIGRlIHNldGEgcGFyYSBjaW1hIGUgcGFyYSBiYWl4byBwYXJhIHBvc2ljaW9uYXIgYSB2aXN1YWxpemHDp8OjbyIsJ1JFQUNIX1RPUF9PRl9JTUFHRV9URVhUJzogIlZvY8OqIGFsY2Fuw6dvdSBhIHBhcnRlIHN1cGVyaW9yIGRhIGltYWdlbSIsJ1JFQUNIX0JPVFRPTV9PRl9JTUFHRV9URVhUJzogIlZvY8OqIGFsY2Fuw6dvdSBhIHBhcnRlIGluZmVyaW9yIGRhIGltYWdlbSIsJ1JFQUNIX0xFRlRfT0ZfSU1BR0VfVEVYVCc6ICJWb2PDqiBhbGNhbsOnb3UgbyBsYWRvIGVzcXVlcmRvIGRhIGltYWdlbSIsJ1JFQUNIX1JJR0hUX09GX0lNQUdFX1RFWFQnOiAiVm9jw6ogYWxjYW7Dp291IG8gbGFkbyBkaXJlaXRvIGRhIGltYWdlbSIsJ1NCT1hfUExBQ0VIT0xERVInOiAiUGVzcXVpc2FyIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1BST01QVCc6ICJEZW51bmNpYXIgcHJldmlzw7VlcyBkZSBlbnF1ZXRlIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1RJVExFJzogIkRlbnVuY2lhciBwcmV2aXPDtWVzIGRlIGVucXVldGUiLCdTQk9YX0lOQVBQUk9QUklBVEVfU1VHR0VTVElPTlMnOiAiU2VsZWNpb25lIGFzIHByZXZpc8O1ZXMgcXVlIHZvY8OqIHF1ZXIgZGVudW5jaWFyOiIsJ1NCT1hfSU5BUFBST1BSSUFURV9DQVRFR09SWSc6ICJPIGNvbnRlw7pkbyBkYXMgcHJldmlzw7VlcyBzZWxlY2lvbmFkYXM6IiwnU0JPWF9JTkFQUFJPUFJJQVRFX0hBVEVGVUwnOiAiaW5jaXRhIGFvIMOzZGlvIiwnU0JPWF9JTkFQUFJPUFJJQVRFX0VYUExJQ0lUJzogIsOpIHNleHVhbG1lbnRlIGV4cGzDrWNpdG8iLCdTQk9YX0lOQVBQUk9QUklBVEVfVklPTEVOVCc6ICJjb250w6ltIHZpb2zDqm5jaWEiLCdTQk9YX0lOQVBQUk9QUklBVEVfREFOR0VST1VTJzogImNvbnTDqW0gYXRpdmlkYWRlcyBwZXJpZ29zYXMgb3Ugbm9jaXZhcyIsJ1NCT1hfSU5BUFBST1BSSUFURV9PVEhFUic6ICJvdXRybyIsJ1NCT1hfSU5BUFBST1BSSUFURV9SRUFTT04nOiAiTW90aXZvIChvYnJpZ2F0w7NyaW8pIiwnU0JPWF9JTkFQUFJPUFJJQVRFX0FERElUSU9OQUwnOiAiRm9ybmXDp2EgbWFpcyBkZXRhbGhlcyAob3BjaW9uYWwpIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1NVQk1JVCc6ICJFbnZpYXIiLCdTQk9YX0lOQVBQUk9QUklBVEVfUkVQT1JUJzogIkRlbnVuY2lhciIsJ1NCT1hfSU5BUFBST1BSSUFURV9DQU5DRUwnOiAiQ2FuY2VsYXIiLCdTQk9YX0lOQVBQUk9QUklBVEVfVE9BU1QnOiAiQWdyYWRlY2Vtb3Mgc2V1IGZlZWRiYWNrLiIsJ1NCT1hfVk9JQ0VfT1ZFUkxBWV9QTEFDRUhPTERFUic6ICJPdXZpbmRv4oCmIiwnQUREX1RPX0RST1BET1dOX0xBQkVMJzogIlNhbHZhciBlbS4uLiIsJ1JFUVVJUkVEX0xBQkVMJzogIk9icmlnYXTDs3JpbyIsJ05PX0FOR0xFX0JSQUNLRVRfTEFCRUwnOiAiTyBub21lIGRhIHBsYXlsaXN0IG7Do28gcG9kZSBjb250ZXIgXHUwMDNjIG91IFx1MDAzZVxuIiwnRURJVF9BVkFUQVJfTEFCRUwnOiAiRWRpdGFyIGZvdG8gZG8gcGVyZmlsIiwnQURfQkFER0VfVEVYVCc6ICJBbsO6bmNpbyIsJ0VEVV9HT1RfSVQnOiAiT2siLCdNSU5JUExBWUVSX0NPTExBUFNFX0xBQkVMJzogIlJlY29saGVyIiwnTUlOSVBMQVlFUl9FWFBBTkRfTEFCRUwnOiAiRXhwYW5kaXIiLCdRVUVVRSc6ICJGaWxhIiwnQURERURfVE9fUVVFVUUnOiAiQWRpY2lvbmFkbyDDoCBmaWxhIiwnUVVFVUVfQ0xFQVJFRCc6IHsib3RoZXIiOiAiIyB2XHUwMGVkZGVvcyByZW1vdmlkb3MgZGEgZmlsYSIsICJjYXNlMSI6ICIxIHZcdTAwZWRkZW8gcmVtb3ZpZG8gZGEgZmlsYSIsICJvbmUiOiAiIyB2XHUwMGVkZGVvIHJlbW92aWRvIGRhIGZpbGEifSwnUVVFVUVfQ0xFQVJFRF9VTlBMVVJBTElaRUQnOiJGaWxhIHZhemlhIiwnTUlOSVBMQVlFUl9DTE9TRSc6ICJGZWNoYXIgcGxheWVyIiwnUVVFVUVfQ0xPU0VfTUlOSVBMQVlFUl9DT05GSVJNX1RJVExFJzogIkEgZmlsYSBzZXLDoSBleGNsdcOtZGEiLCdRVUVVRV9DTE9TRV9NSU5JUExBWUVSX0NPTkZJUk1fQk9EWV9URVhUJzogIlZvY8OqIHF1ZXIgbWVzbW8gZmVjaGFyIG8gcGxheWVyPyIsJ1FVRVVFX1JFQ09WRVJfQlVUVE9OJzogIlJlYXRpdmFyIiwnUVVFVUVfUkVDT1ZFUl9NRVNTQUdFJzogIlJlY3VwZXJhciBhIGZpbGEiLCdDTEVBUic6ICJMaW1wYXIiLCdVTkRPJzogIkRlc2ZhemVyIiwnQ0FOQ0VMJzogIkNhbmNlbGFyIiwnU1VCU19GSUxURVJfRURVX1RFWFQnOiAiVmVqYSBub3ZvcyB2w61kZW9zIGRlIGNhZGEgY2FuYWwiLCdTVUJTX0dVSURFX0lURU1fRURVX1RFWFQnOiAiVmVqYSBub3ZvcyB2w61kZW9zIGRlIHRvZGFzIGFzIHN1YXMgaW5zY3Jpw6fDtWVzIiwnU1VCU19GSUxURVJfRURVX0NIQU5ORUxfVEVYVCc6ICJNb3N0cmFuZG8gbm92b3MgdsOtZGVvcyBkZXN0ZSBjYW5hbC4iLCdMSUJSQVJZX0dVSURFX0lURU1fRURVX1RJVExFJzogIlZlamEgc3VhIG5vdmEgYmlibGlvdGVjYSIsJ0xJQlJBUllfR1VJREVfSVRFTV9FRFVfVEVYVCc6ICJFbmNvbnRyZSBzZXUgaGlzdMOzcmljbywgcGxheWxpc3RzLCBjb21wcmFzIGUgbXVpdG8gbWFpcyIsJ01FTlRJT05TX0VEVV9USVRMRSc6ICJTYWliYSBtYWlzIiwnTUVOVElPTlNfRURVX1RFWFQnOiAiQWNlc3NlIGEgQ2VudHJhbCBkZSBBanVkYSBwYXJhIHZlciBjb21vIGFzIG1lbsOnw7VlcyBmdW5jaW9uYW0gbm8gWW91VHViZS4iLCdOT19JTlRFUk5FVF9DT05ORUNUSU9OJzogIlNlbSBjb25leMOjbyDDoCBJbnRlcm5ldCIsJ0NPTk5FQ1RfVE9fVEhFX0lOVEVSTkVUJzogIkNvbmVjdGUtc2Ugw6AgSW50ZXJuZXQiLCdPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04nOiAiVm9jw6ogZXN0w6Egb2ZmLWxpbmUuIFZlcmlmaXF1ZSBzdWEgY29uZXjDo28uIiwnUkVUUlknOiAiVGVudGFyIG5vdmFtZW50ZSIsJ0pPSU5fTUVNQkVSU0hJUF9FRFVfVElUTEUnOiAiQXNzaW5hdHVyYSIsJ0pPSU5fTUVNQkVSU0hJUF9FRFVfVEVYVCc6ICJHYW5oZSBiZW5lZsOtY2lvcyBleGNsdXNpdm9zIGFvIHNlIHRvcm5hciBtZW1icm8gZGVzdGUgY2FuYWwuIiwnU0hBUkVfUE9TVF9FRFVfVEVYVCc6ICJBZ29yYSwgdm9jw6ogcG9kZSBjb21wYXJ0aWxoYXIgcG9zdGFnZW5zIG5vIFlvdVR1YmUiLCdGUkVFQklFX0pPSU5fTUVNQkVSU0hJUF9FRFVfVEVYVCc6ICJFc3RlIGNhbmFsIG9mZXJlY2UgdW1hIGFzc2luYXR1cmEgcXVlIHZvY8OqIHBvZGUgYXByb3ZlaXRhciBncmF0dWl0YW1lbnRlIGNvbSBvIFlvdVR1YmUgUHJlbWl1bSIsJ01BTkFHRV9NRU1CRVJTSElQX0VEVV9URVhUJzogIkFjZXNzZSBzZXVzIGJlbmVmw61jaW9zIGUgZ2VyZW5jaWUgc3VhIGFzc2luYXR1cmEgYXF1aS4ifSk7fSkoKTt5dGNmZy5zZXQoJ01FTlRJT05TX0VEVV9IRUxQX0xJTksnLCAnaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20veW91dHViZS8/cD1jcmVhdG9yX2NvbW11bml0eScpO3l0Y2ZnLnNldCgnc2NoZWR1bGVyJywge3VzZVJhZjogdHJ1ZSwgdGltZW91dDogMjB9KTt5dGNmZy5zZXQoJ2luaXRpYWxJbm5lcldpZHRoJywgd2luZG93LmlubmVyV2lkdGgpO3l0Y2ZnLnNldCgnaW5pdGlhbElubmVySGVpZ2h0Jywgd2luZG93LmlubmVySGVpZ2h0KTt3aW5kb3cueXRjZmcuc2V0KCdJU19XQVRDSF9QQUdFX0NPTEQnLCB0cnVlKTt3aW5kb3cueXRjZmcuc2V0KCdMSU5LX0FQSV9LRVknLCAiQUl6YVN5RG9waEFRdXl5aUJyOGgwbnlwRXdYVUtvekgtQkVzd0QwIik7d2luZG93Lnl0Y2ZnLnNldCgnTElOS19HQUxfRE9NQUlOJywgImh0dHBzOlwvXC9hY2NvdW50bGlua2luZy1wYS1jbGllbnRzNi55b3V0dWJlLmNvbSIpO3dpbmRvdy55dGNmZy5zZXQoJ0xJTktfT0lTX0RPTUFJTicsICJvYXV0aGludGVncmF0aW9ucy5nb29nbGVhcGlzLmNvbSIpO2lmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygibHBjZiIsIG51bGwsICcnKTt9PC9zY3JpcHQ+ICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vc2NoZWR1bGVyLnZmbHNldC9zY2hlZHVsZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciIgPjwvc2NyaXB0PiAgCiAgPHNjcmlwdCA+CiAgICB5dGNmZy5zZXQoeyJJTk5FUlRVQkVfQ09OVEVYVCI6eyJjbGllbnQiOnsiaGwiOiJwdCIsImdsIjoiQlIiLCJ2aXNpdG9yRGF0YSI6IkNnczVOREo0U1ZWa2Qyc3RXU2o5ei1IOEJRJTNEJTNEIiwidXNlckFnZW50IjoiUnVieSxnemlwKGdmZSkiLCJjbGllbnROYW1lIjoiV0VCIiwiY2xpZW50VmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwicmVxdWVzdCI6eyJzZXNzaW9uSWQiOiI2ODg4MzY5OTY2ODQzNDQ4ODUyIn0sImFkU2lnbmFsc0luZm8iOnsiY29uc2VudEJ1bXBQYXJhbXMiOnsiY29uc2VudEhvc3RuYW1lT3ZlcnJpZGUiOiJodHRwczovL3d3dy55b3V0dWJlLmNvbSIsInVybE92ZXJyaWRlIjoiIn19fX0pOwogIDwvc2NyaXB0PgogIAo8c2NyaXB0ICBzcmM9Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9InBsYXllcl9pYXMvYmFzZSIgPjwvc2NyaXB0PiAgCjxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiY3NsIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICA8c3R5bGUgbmFtZT0id3d3LXJvYm90byIgPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIEl0YWxpYycpLGxvY2FsKCdSb2JvdG8tSXRhbGljJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1MXhJSXpjLnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSxsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTRteFAudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7c3JjOmxvY2FsKCdSb2JvdG8gTWVkaXVtJyksbG9jYWwoJ1JvYm90by1NZWRpdW0nKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbUVVOWZCQmM5LnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwO3NyYzpsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSxsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9qQ25xRXU5MkZyMU11NTFTN0FDYzZDc0UudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9PC9zdHlsZT48c2NyaXB0IG5hbWU9Ind3dy1yb2JvdG8iID5pZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMubG9hZCkge2RvY3VtZW50LmZvbnRzLmxvYWQoIjQwMCAxMHB0IFJvYm90byIsICJQIik7ZG9jdW1lbnQuZm9udHMubG9hZCgiNTAwIDEwcHQgUm9ib3RvIiwgIlAiKTt9PC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVlUJTIwU2FucyUzQTMwMCUyQzUwMCUyQzcwMCIgbmFtZT0id3d3LXdlYmZvbnQteXQtc2FucyI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiIG5hbWU9InBsYXllci93d3ctcGxheWVyIiBpZD0icGxheWVyLWNzcyI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvY3NzYmluL3d3dy1tYWluLWRlc2t0b3AtcGxheWVyLXNrZWxldG9uLmNzcyIgbmFtZT0id3d3LW1haW4tZGVza3RvcC1wbGF5ZXItc2tlbGV0b24iPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2Nzc2Jpbi93d3ctbWFpbi1kZXNrdG9wLXdhdGNoLXBhZ2Utc2tlbGV0b24uY3NzIiBuYW1lPSJ3d3ctbWFpbi1kZXNrdG9wLXdhdGNoLXBhZ2Utc2tlbGV0b24iPjxzdHlsZSBuYW1lPSJnbG9iYWxfc3R5bGVzIj5ib2R5e3BhZGRpbmc6MDttYXJnaW46MDtvdmVyZmxvdy15OnNjcm9sbH1ib2R5LmF1dG9zY3JvbGx7b3ZlcmZsb3cteTphdXRvfWJvZHkubm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbn1ib2R5Lm5vLXktc2Nyb2xse292ZXJmbG93LXk6aGlkZGVufS5oaWRkZW57ZGlzcGxheTpub25lfXRleHRhcmVhey0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0Xy1fd2hpdGUtc3BhY2U6cHJlLXdyYXB9LmdyZWNhcHRjaGEtYmFkZ2V7dmlzaWJpbGl0eTpoaWRkZW59PC9zdHlsZT48c3R5bGUgbmFtZT0ibWFzdGhlYWRfc2hlbGwiPnl0ZC1tYXN0aGVhZC5zaGVsbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45OCk7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtsZWZ0OjA7ZGlzcGxheTotbXMtZmxleDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjU2cHg7LW1zLWZsZXgtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn15dGQtbWFzdGhlYWQuc2hlbGwgI21lbnUtaWNvbnttYXJnaW4tbGVmdDoxNnB4fXl0ZC1hcHA+eXRkLW1hc3RoZWFkLmNodW5rZWR7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX15dGQtbWFzdGhlYWQuc2hlbGwuZGFyayx5dGQtbWFzdGhlYWQuc2hlbGwudGhlYXRlcntiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC45OCl9eXRkLW1hc3RoZWFkLnNoZWxsLmZ1bGwtd2luZG93LW1vZGV7YmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuOTgpO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKC0xMDAlIC0gNXB4KSl9eXRkLW1hc3RoZWFkLnNoZWxsPio6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjE2cHh9eXRkLW1hc3RoZWFkLnNoZWxsPio6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjE2cHh9eXRkLW1hc3RoZWFkICNtYXN0aGVhZC1sb2dve2Rpc3BsYXk6LW1zLWZsZXg7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fXl0ZC1tYXN0aGVhZCAjbWFzdGhlYWQtbG9nbyAjY291bnRyeS1jb2Rle21hcmdpbi1yaWdodDoycHh9eXRkLW1hc3RoZWFkLnNoZWxsICN5dC1sb2dvLXN2Zyx5dGQtbWFzdGhlYWQuc2hlbGwgI3l0LWxvZ28tcmVkLXN2Z3thbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tbGVmdDo4cHg7cGFkZGluZzowO2NvbG9yOmJsYWNrfXl0ZC1tYXN0aGVhZC5zaGVsbCAjYTExeS1za2lwLW5hdntkaXNwbGF5Om5vbmV9eXRkLW1hc3RoZWFkLnNoZWxsIHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O21hcmdpbi1yaWdodDo4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiM2MDYwNjA7ZmlsbDpjdXJyZW50Q29sb3J9eXRkLW1hc3RoZWFkIC5leHRlcm5hbC1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9eXRkLW1hc3RoZWFkIC55dC1pY29ucy1leHR7ZmlsbDpjdXJyZW50Q29sb3I7Y29sb3I6IzYwNjA2MH15dGQtbWFzdGhlYWQuc2hlbGwuZGFyayAueXQtaWNvbnMtZXh0IHl0ZC1tYXN0aGVhZC5zaGVsbC50aGVhdGVyIC55dC1pY29ucy1leHR7ZmlsbDojZmZmfXl0ZC1tYXN0aGVhZCBzdmcjeXQtbG9nby1zdmd7d2lkdGg6ODBweH15dGQtbWFzdGhlYWQgc3ZnI3l0LWxvZ28tcmVkLXN2Z3t3aWR0aDoxMDYuNHB4fUBtZWRpYSAobWF4LXdpZHRoOjY1NnB4KXt5dGQtbWFzdGhlYWQuc2hlbGw+KjpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6OHB4fXl0ZC1tYXN0aGVhZC5zaGVsbD4qOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo4cHh9eXRkLW1hc3RoZWFkLnNoZWxsIHN2Z3ttYXJnaW4tcmlnaHQ6MH15dGQtbWFzdGhlYWQgI21hc3RoZWFkLWxvZ297LW1zLWZsZXg6MSAxIC4wMDAwMDAwMDFweDstd2Via2l0LWZsZXg6MTtmbGV4OjE7LXdlYmtpdC1mbGV4LWJhc2lzOi4wMDAwMDAwMDFweDtmbGV4LWJhc2lzOi4wMDAwMDAwMDFweH15dGQtbWFzdGhlYWQuc2hlbGwgI3l0LWxvZ28tc3ZnLHl0ZC1tYXN0aGVhZC5zaGVsbCAjeXQtbG9nby1yZWQtc3Zne21hcmdpbi1sZWZ0OjRweH19QG1lZGlhIChtaW4td2lkdGg6ODc2cHgpe3l0ZC1tYXN0aGVhZCAjbWFzdGhlYWQtbG9nb3t3aWR0aDoxMjlweH19I21hc3RoZWFkLXNrZWxldG9uLWljb25ze2Rpc3BsYXk6ZmxleDtmbGV4OjE7ZmxleC1kaXJlY3Rpb246cm93O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH15dGQtbWFzdGhlYWQubWFzdGhlYWQtZmluaXNoICNtYXN0aGVhZC1za2VsZXRvbi1pY29uc3tkaXNwbGF5Om5vbmV9Lm1hc3RoZWFkLXNrZWxldG9uLWljb257Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweDttYXJnaW46MCA4cHg7YmFja2dyb3VuZC1jb2xvcjpoc2woMCwwJSw4OSUpfXl0ZC1tYXN0aGVhZC5kYXJrIC5tYXN0aGVhZC1za2VsZXRvbi1pY29ue2JhY2tncm91bmQtY29sb3I6aHNsKDAsMCUsMTYlKX08L3N0eWxlPjxzdHlsZSBuYW1lPSJtYXN0aGVhZF9jdXN0b21fc3R5bGVzIiBpcz0iY3VzdG9tLXN0eWxlIiAgaWQ9ImV4dC1zdHlsZXMiID55dGQtbWFzdGhlYWQgLnl0LWljb25zLWV4dHtjb2xvcjp2YXIoLS15dC1zcGVjLWljb24tYWN0aXZlLW90aGVyKX15dGQtbWFzdGhlYWQgc3ZnI3l0LWxvZ28tc3ZnICN5b3V0dWJlLXBhdGhzIHBhdGgseXRkLW1hc3RoZWFkIHN2ZyN5dC1sb2dvLXJlZC1zdmcgI3lvdXR1YmUtcmVkLXBhdGhzIHBhdGh7ZmlsbDojMjgyODI4fXl0ZC1tYXN0aGVhZC5kYXJrIHN2ZyN5dC1sb2dvLXN2ZyAjeW91dHViZS1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZC5kYXJrIHN2ZyN5dC1sb2dvLXJlZC1zdmcgI3lvdXR1YmUtcmVkLXBhdGhzIHBhdGgseXRkLW1hc3RoZWFkLnRoZWF0ZXIgc3ZnI3l0LWxvZ28tc3ZnICN5b3V0dWJlLXBhdGhzIHBhdGgseXRkLW1hc3RoZWFkLnRoZWF0ZXIgc3ZnI3l0LWxvZ28tcmVkLXN2ZyAjeW91dHViZS1yZWQtcGF0aHMgcGF0aHtmaWxsOiNmZmZ9PC9zdHlsZT48c3R5bGUgbmFtZT0ic2VhcmNoYm94Ij4jc2VhcmNoLWlucHV0Lnl0ZC1zZWFyY2hib3gtc3B0IGlucHV0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmU7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTonUm9ib3RvJywnTm90bycsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDo0cHg7bWF4LXdpZHRoOjEwMCU7b3V0bGluZTpub25lO3RleHQtYWxpZ246aW5oZXJpdDt3aWR0aDoxMDAlOy1tcy1mbGV4OjEgMSAuMDAwMDAwMDAxcHg7LXdlYmtpdC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtZmxleC1iYXNpczouMDAwMDAwMDAxcHg7ZmxleC1iYXNpczouMDAwMDAwMDAxcHh9I3NlYXJjaC1jb250YWluZXIueXRkLXNlYXJjaGJveC1zcHR7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0jc2VhcmNoLWlucHV0Lnl0ZC1zZWFyY2hib3gtc3B0ICNzZWFyY2g6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsI3NlYXJjaC1pbnB1dC55dGQtc2VhcmNoYm94LXNwdCAjc2VhcmNoOjotbW96LWlucHV0LXBsYWNlaG9sZGVyLCNzZWFyY2gtaW5wdXQueXRkLXNlYXJjaGJveC1zcHQgI3NlYXJjaDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6aHNsKDAsMCUsNTMuMyUpfTwvc3R5bGU+PHN0eWxlIG5hbWU9Imtldmxhcl9nbG9iYWxfc3R5bGVzIj5odG1se2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOSFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0Om5vbmV9aHRtbFtkYXJrXXtiYWNrZ3JvdW5kLWNvbG9yOiMxODE4MTghaW1wb3J0YW50fSNsb2dvLXJlZC1pY29uLWNvbnRhaW5lci55dGQtdG9wYmFyLWxvZ28tcmVuZGVyZXJ7d2lkdGg6ODZweH08L3N0eWxlPjxzdHlsZSBuYW1lPSJlbWVyZ2VuY3ljc3NleHAiPgogICAgICAKICAgICAgCiAgICA8L3N0eWxlPjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9vcGVuc2VhcmNoP2xvY2FsZT1wdF9CUiIgdGl0bGU9IllvdVR1YmUiPjxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Ii9zL25vdGlmaWNhdGlvbnMvbWFuaWZlc3QvbWFuaWZlc3QuanNvbiIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+PCEtLSBlbmQgb2YgY2h1bmsgLS0+ICAgICAgICA8c2NyaXB0ID4KICAgICAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImJjIiwgbnVsbCwgJycpO30gICAgICAgIHZhciB5dGltZyA9IHt9O3l0aW1nLmNvdW50ID0gMTt5dGltZy5wcmVsb2FkID0gZnVuY3Rpb24oc3JjKSB7dmFyIGltZyA9IG5ldyBJbWFnZSgpO3ZhciBjb3VudCA9ICsreXRpbWcuY291bnQ7eXRpbWdbY291bnRdID0gaW1nO2ltZy5vbmxvYWQgPSBpbWcub25lcnJvciA9IGZ1bmN0aW9uKCkge2RlbGV0ZSB5dGltZ1tjb3VudF07fTtpbWcuc3JjID0gc3JjO307CiAgICAgICAgICB5dGltZy5wcmVsb2FkKCJodHRwczpcL1wvcjUtLS1zbi1veHVueGc4cGp2bi0ydjVlLmdvb2dsZXZpZGVvLmNvbVwvZ2VuZXJhdGVfMjA0Iik7CiAgICAgICAgICB5dGltZy5wcmVsb2FkKCJodHRwczpcL1wvcjUtLS1zbi1veHVueGc4cGp2bi0ydjVlLmdvb2dsZXZpZGVvLmNvbVwvZ2VuZXJhdGVfMjA0P2Nvbm4yIik7CiAgICAgIDwvc2NyaXB0PgoKICAKICAgIAogIDxkaXYgaWQ9InBsYXllciIgY2xhc3M9InNrZWxldG9uIj4KICAgICAgPGRpdiBpZD0icGxheWVyLWFwaSIgY2xhc3M9InBsYXllci13aWR0aCBwbGF5ZXItaGVpZ2h0IG9mZi1zY3JlZW4tdGFyZ2V0IHBsYXllci1hcGkiPjwvZGl2PgogICAgICAgIAogIDwvZGl2PgoKICA8IS0tIGVuZCBvZiBjaHVuayAtLT4KICAgIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYWkiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgogIDx5dGQtYXBwIGRpc2FibGUtdXBncmFkZT0idHJ1ZSI+CiAgICA8eXRkLW1hc3RoZWFkIGlkPSJtYXN0aGVhZCIgc2xvdD0ibWFzdGhlYWQiIGNsYXNzPSJzaGVsbCAgY2h1bmtlZCJkaXNhYmxlLXVwZ3JhZGU9InRydWUiPjxkaXYgaWQ9InNlYXJjaC1jb250YWluZXIiIGNsYXNzPSJ5dGQtc2VhcmNoYm94LXNwdCIgc2xvdD0ic2VhcmNoLWNvbnRhaW5lciI+PC9kaXY+PGRpdiBpZD0ic2VhcmNoLWlucHV0IiBjbGFzcz0ieXRkLXNlYXJjaGJveC1zcHQiIHNsb3Q9InNlYXJjaC1pbnB1dCI+PGlucHV0IGlkPSJzZWFyY2giIGF1dG9jYXBpdGFsaXplPSJub25lIiBhdXRvY29tcGxldGU9Im9mZiJhdXRvY29ycmVjdD0ib2ZmIiAgaGlkZGVuIG5hbWU9InNlYXJjaF9xdWVyeSIgdGFiaW5kZXg9IjAidHlwZT0idGV4dCIgc3BlbGxjaGVjaz0iZmFsc2UiPjwvZGl2PjxzdmcgaWQ9Im1lbnUtaWNvbiIgY2xhc3M9ImV4dGVybmFsLWljb24iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxnIGlkPSJtZW51IiBjbGFzcz0ieXQtaWNvbnMtZXh0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0zIDE4aDE4di0ySDN2MnptMC01aDE4di0ySDN2MnptMC03djJoMThWNkgzeiIvPjwvZz48L3N2Zz48ZGl2IGlkPSJtYXN0aGVhZC1sb2dvIiBzbG90PSJtYXN0aGVhZC1sb2dvIj4gIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7Ij4KICAgIDxzdmcgaWQ9Inl0LWxvZ28tc3ZnIiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgdmlld0JveD0iMCAwIDIwMCA2MCI+CiAgICAgIDxnIGlkPSJ5dC1sb2dvIiB2aWV3Qm94PSIwIDAgMjAwIDYwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KICAgICAgICA8Zz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiNGRjAwMDAiIGQ9Ik02MywxNC44N2MtMC43Mi0yLjctMi44NS00LjgzLTUuNTYtNS41NkM1Mi41NCw4LDMyLjg4LDgsMzIuODgsOFMxMy4yMyw4LDguMzIsOS4zMQogICAgICAgICAgICBjLTIuNywwLjcyLTQuODMsMi44NS01LjU2LDUuNTZDMS40NSwxOS43NywxLjQ1LDMwLDEuNDUsMzBzMCwxMC4yMywxLjMxLDE1LjEzYzAuNzIsMi43LDIuODUsNC44Myw1LjU2LDUuNTYKICAgICAgICAgICAgQzEzLjIzLDUyLDMyLjg4LDUyLDMyLjg4LDUyczE5LjY2LDAsMjQuNTYtMS4zMWMyLjctMC43Miw0LjgzLTIuODUsNS41Ni01LjU2QzY0LjMxLDQwLjIzLDY0LjMxLDMwLDY0LjMxLDMwCiAgICAgICAgICAgIFM2NC4zMSwxOS43Nyw2MywxNC44N3oiLz4KICAgICAgICAgIDxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMjYuNiwzOS40MyA0Mi45MywzMCAyNi42LDIwLjU3Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgPGcgaWQ9InlvdXR1YmUtcGF0aHMiPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNOTIuNjksNDguMDNjLTEuMjQtMC44NC0yLjEzLTIuMTQtMi42NS0zLjkxYy0wLjUyLTEuNzctMC43OS00LjEyLTAuNzktNy4wNnYtNAogICAgICAgICAgICAgIGMwLTIuOTcsMC4zLTUuMzUsMC45LTcuMTVjMC42LTEuOCwxLjU0LTMuMTEsMi44MS0zLjkzYzEuMjctMC44MiwyLjk0LTEuMjQsNS4wMS0xLjI0YzIuMDQsMCwzLjY3LDAuNDIsNC45LDEuMjYKICAgICAgICAgICAgICBjMS4yMywwLjg0LDIuMTMsMi4xNSwyLjcsMy45M2MwLjU3LDEuNzgsMC44NSw0LjE2LDAuODUsNy4xMnY0YzAsMi45NC0wLjI4LDUuMy0wLjgzLDcuMDhjLTAuNTUsMS43OC0xLjQ1LDMuMDktMi43LDMuOTEKICAgICAgICAgICAgICBjLTEuMjQsMC44Mi0yLjkzLDEuMjQtNS4wNiwxLjI0Qzk1LjY1LDQ5LjI5LDkzLjkzLDQ4Ljg3LDkyLjY5LDQ4LjAzeiBNOTkuNjYsNDMuNzFjMC4zNC0wLjksMC41Mi0yLjM3LDAuNTItNC40di04LjU5CiAgICAgICAgICAgICAgYzAtMS45OC0wLjE3LTMuNDItMC41Mi00LjM0Yy0wLjM0LTAuOTEtMC45NS0xLjM3LTEuODItMS4zN2MtMC44NCwwLTEuNDMsMC40Ni0xLjc4LDEuMzdjLTAuMzQsMC45MS0wLjUyLDIuMzYtMC41Miw0LjM0djguNTkKICAgICAgICAgICAgICBjMCwyLjA0LDAuMTYsMy41MSwwLjQ5LDQuNGMwLjMzLDAuOSwwLjkzLDEuMzUsMS44LDEuMzVDOTguNzEsNDUuMDYsOTkuMzEsNDQuNjEsOTkuNjYsNDMuNzF6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xODguMTYsMzcuMTN2MS4zOWMwLDEuNzcsMC4wNSwzLjA5LDAuMTYsMy45OGMwLjEsMC44OCwwLjMyLDEuNTMsMC42NSwxLjkzCiAgICAgICAgICAgICAgYzAuMzMsMC40LDAuODQsMC42MSwxLjUzLDAuNjFjMC45MywwLDEuNTctMC4zNiwxLjkxLTEuMDhjMC4zNC0wLjcyLDAuNTMtMS45MiwwLjU2LTMuNmw1LjM1LDAuMzEKICAgICAgICAgICAgICBjMC4wMywwLjI0LDAuMDQsMC41NywwLjA0LDAuOTljMCwyLjU1LTAuNyw0LjQ1LTIuMDksNS43MWMtMS4zOSwxLjI2LTMuMzYsMS44OS01LjkxLDEuODljLTMuMDYsMC01LjItMC45Ni02LjQzLTIuODgKICAgICAgICAgICAgICBjLTEuMjMtMS45Mi0xLjg0LTQuODgtMS44NC04Ljl2LTQuODFjMC00LjE0LDAuNjQtNy4xNSwxLjkxLTkuMDZjMS4yNy0xLjksMy40NS0yLjg1LDYuNTQtMi44NWMyLjEzLDAsMy43NiwwLjM5LDQuOSwxLjE3CiAgICAgICAgICAgICAgYzEuMTQsMC43OCwxLjk0LDEuOTksMi40MSwzLjY0YzAuNDYsMS42NSwwLjcsMy45MywwLjcsNi44M3Y0LjcySDE4OC4xNnogTTE4OC45NSwyNS41M2MtMC4zMSwwLjM5LTAuNTIsMS4wMy0wLjYzLDEuOTEKICAgICAgICAgICAgICBjLTAuMTEsMC44OC0wLjE2LDIuMjMtMC4xNiw0LjAydjEuOThoNC41NHYtMS45OGMwLTEuNzctMC4wNi0zLjExLTAuMTgtNC4wMmMtMC4xMi0wLjkxLTAuMzQtMS41Ni0wLjY1LTEuOTMKICAgICAgICAgICAgICBjLTAuMzEtMC4zNy0wLjgtMC41Ni0xLjQ2LTAuNTZDMTg5Ljc1LDI0Ljk0LDE4OS4yNiwyNS4xNCwxODguOTUsMjUuNTN6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik03Ny41OSwzNi42MWwtNy4wNi0yNS40OWg2LjE2bDIuNDcsMTEuNTVjMC42MywyLjg1LDEuMDksNS4yNywxLjM5LDcuMjhoMC4xOAogICAgICAgICAgICAgIGMwLjIxLTEuNDQsMC42Ny0zLjg1LDEuMzktNy4yNGwyLjU2LTExLjZoNi4xNkw4My43LDM2LjYxdjEyLjIzaC02LjExVjM2LjYxeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTI2LjQ1LDIxLjI4djI3LjU1aC00Ljg1bC0wLjU0LTMuMzdoLTAuMTNjLTEuMzIsMi41NS0zLjMsMy44Mi01LjkzLDMuODJjLTEuODMsMC0zLjE4LTAuNi00LjA1LTEuOAogICAgICAgICAgICAgIGMtMC44Ny0xLjItMS4zLTMuMDctMS4zLTUuNjJWMjEuMjhoNi4ydjIwLjIzYzAsMS4yMywwLjEzLDIuMTEsMC40LDIuNjNjMC4yNywwLjUyLDAuNzIsMC43OSwxLjM1LDAuNzkKICAgICAgICAgICAgICBjMC41NCwwLDEuMDYtMC4xNiwxLjU1LTAuNDljMC40OS0wLjMzLDAuODYtMC43NSwxLjEtMS4yNlYyMS4yOEgxMjYuNDV6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xNTguMjcsMjEuMjh2MjcuNTVoLTQuODVsLTAuNTQtMy4zN2gtMC4xM2MtMS4zMiwyLjU1LTMuMywzLjgyLTUuOTMsMy44MmMtMS44MywwLTMuMTgtMC42LTQuMDUtMS44CiAgICAgICAgICAgICAgYy0wLjg3LTEuMi0xLjMtMy4wNy0xLjMtNS42MlYyMS4yOGg2LjJ2MjAuMjNjMCwxLjIzLDAuMTMsMi4xMSwwLjQsMi42M2MwLjI3LDAuNTIsMC43MiwwLjc5LDEuMzUsMC43OQogICAgICAgICAgICAgIGMwLjU0LDAsMS4wNi0wLjE2LDEuNTUtMC40OWMwLjQ5LTAuMzMsMC44Ni0wLjc1LDEuMS0xLjI2VjIxLjI4SDE1OC4yN3oiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTE0My4zMSwxNi4xMWgtNi4xNnYzMi43MmgtNi4wN1YxNi4xMWgtNi4xNnYtNC45OWgxOC4zOFYxNi4xMXoiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTE3OC44LDI1LjY5Yy0wLjM4LTEuNzQtMC45OC0zLTEuODItMy43OGMtMC44NC0wLjc4LTEuOTktMS4xNy0zLjQ2LTEuMTdjLTEuMTQsMC0yLjIsMC4zMi0zLjE5LDAuOTcKICAgICAgICAgICAgICBjLTAuOTksMC42NC0xLjc1LDEuNDktMi4yOSwyLjU0aC0wLjA1bDAtMTQuNTJoLTUuOTh2MzkuMTFoNS4xMmwwLjYzLTIuNjFoMC4xM2MwLjQ4LDAuOTMsMS4yLDEuNjYsMi4xNiwyLjIKICAgICAgICAgICAgICBjMC45NiwwLjU0LDIuMDIsMC44MSwzLjE5LDAuODFjMi4xLDAsMy42NC0wLjk3LDQuNjMtMi45YzAuOTktMS45MywxLjQ4LTQuOTUsMS40OC05LjA2di00LjM2CiAgICAgICAgICAgICAgQzE3OS4zNiwyOS44NCwxNzkuMTcsMjcuNDMsMTc4LjgsMjUuNjl6IE0xNzMuMTEsMzYuOTNjMCwyLjAxLTAuMDgsMy41OC0wLjI1LDQuNzJjLTAuMTYsMS4xNC0wLjQ0LDEuOTUtMC44MywyLjQzCiAgICAgICAgICAgICAgYy0wLjM5LDAuNDgtMC45MSwwLjcyLTEuNTcsMC43MmMtMC41MSwwLTAuOTgtMC4xMi0xLjQyLTAuMzZjLTAuNDMtMC4yNC0wLjc5LTAuNi0xLjA2LTEuMDhWMjcuNzEKICAgICAgICAgICAgICBjMC4yMS0wLjc1LDAuNTctMS4zNiwxLjA4LTEuODRjMC41MS0wLjQ4LDEuMDYtMC43MiwxLjY2LTAuNzJjMC42MywwLDEuMTIsMC4yNSwxLjQ2LDAuNzRjMC4zNCwwLjQ5LDAuNTgsMS4zMywwLjcyLDIuNDkKICAgICAgICAgICAgICBjMC4xMywxLjE3LDAuMiwyLjgzLDAuMiw0Ljk5VjM2LjkzeiIvPgogICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9zdmc+CiAgPC9kaXY+CiAgPGRpdiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgPHN2ZyBpZD0ieXQtbG9nby1yZWQtc3ZnIiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgdmlld0JveD0iMCAwIDk4IDI0IiBzdHlsZT0id2lkdGg6ODZweDsiPgogICAgICA8ZyBpZD0ieXQtbG9nby1yZWQiIHZpZXdCb3g9IjAgMCA5OCAyNCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+CiAgICAgICAgPGc+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjRkYwMDAwIiBkPSJNMjguNCw1LjEyYy0wLjM0LTEuMjQtMS4zMS0yLjItMi41NS0yLjUyQzIzLjYyLDIsMTQuNjgsMiwxNC42OCwyUzUuNzUsMiwzLjUyLDIuNgogICAgICAgICAgICBDMi4yOSwyLjkzLDEuMzMsMy44OSwxLDUuMTJDMC41OSw3LjM5LDAuMzksOS42OSwwLjQsMTJjLTAuMDEsMi4zMSwwLjE5LDQuNjEsMC42LDYuODhjMC4zMywxLjIzLDEuMjksMi4xOSwyLjUyLDIuNTIKICAgICAgICAgICAgQzUuNzUsMjIsMTQuNjgsMjIsMTQuNjgsMjJzOC45MywwLDExLjE2LTAuNmMxLjI0LTAuMzIsMi4yMi0xLjI4LDIuNTYtMi41MmMwLjQxLTIuMjcsMC42MS00LjU3LDAuNi02Ljg4CiAgICAgICAgICAgIEMyOS4wMSw5LjY5LDI4LjgxLDcuMzksMjguNCw1LjEyeiIvPgogICAgICAgICAgPHBvbHlnb24gZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIxMS44MywxNi4yOSAxOS4yNSwxMiAxMS44Myw3LjcxIi8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIGlkPSJ5b3V0dWJlLXJlZC1wYXRocyI+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNDEuNjcsOC4zNVY5YzAsMy40NS0xLjUzLDUuNDgtNC44OCw1LjQ4aC0wLjUxdjZoLTIuNzRWMy40MmgzLjQ5QzQwLjIyLDMuNDIsNDEuNjcsNC43Nyw0MS42Nyw4LjM1egogICAgICAgICAgICBNMzguNzksOC42YzAtMi40OS0wLjQ1LTMuMDktMi0zLjA5aC0wLjUxdjdoMC40N2MxLjQ3LDAsMi0xLjA2LDItMy4zN0wzOC43OSw4LjZ6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNDguMTQsNy44M0w0OCwxMS4wOGMtMS4xNy0wLjI0LTIuMTMtMC4wOC0yLjYsMC42OXY4Ljc4aC0yLjY3VjhoMi4xN2wwLjI0LDIuNzFoMC4xYzAuMjgtMiwxLjItMywyLjM5LTMKICAgICAgICAgICAgQzQ3LjgsNy43Myw0Ny45OCw3Ljc3LDQ4LjE0LDcuODN6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNTEuMjcsMTUuMjV2MC42M2MwLDIuMjEsMC4xMiwzLDEuMDYsM3MxLjEtMC42OSwxLjEyLTIuMTJsMi40MywwLjE0YzAuMTgsMi43LTEuMjMsMy45LTMuNjEsMy45CiAgICAgICAgICAgIGMtMi45LDAtMy43Ni0xLjktMy43Ni01LjM1di0yLjIzYzAtMy42NCwxLTUuNDEsMy44NC01LjQxczMuNjQsMS41MSwzLjY0LDUuMjl2Mi4xNUg1MS4yN3ogTTUxLjI3LDEyLjY3djAuOWgyLjA2di0wLjg5CiAgICAgICAgICAgIGMwLTIuMy0wLjE2LTMtMS0zcy0xLDAuNjctMSwzTDUxLjI3LDEyLjY3eiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTcwLjAyLDExLjF2OS40Nkg2Ny4ydi05LjI1YzAtMS0wLjI3LTEuNTMtMC44OC0xLjUzYy0wLjU0LDAuMDItMS4wMiwwLjM0LTEuMjUsMC44MgogICAgICAgICAgICBjMC4wMSwwLjE3LDAuMDEsMC4zNCwwLDAuNTF2OS40NmgtMi43OXYtOS4yNmMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41MywwLjAyLTEsMC4zMy0xLjIzLDAuOHYxMEg1Ny40VjhoMi4yM2wwLjI1LDEuNTlsMCwwCiAgICAgICAgICAgIGMwLjUxLTEuMTIsMS42My0xLjg1LDIuODYtMS44NmMxLjA1LTAuMDcsMS45OCwwLjY3LDIuMTYsMS43YzAuNTUtMS4wMSwxLjYxLTEuNjUsMi43Ni0xLjY2QzY5LjQsNy43OCw3MC4wMiw5LDcwLjAyLDExLjF6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNzEuNCw0LjgzYzAtMS4zNSwwLjQ5LTEuNzQsMS41My0xLjc0czEuNTMsMC40NSwxLjUzLDEuNzRzLTAuNDcsMS43NC0xLjUzLDEuNzRTNzEuNCw2LjIyLDcxLjQsNC44M3oKICAgICAgICAgICAgTTcxLjU5LDhoMi43djEyLjU2aC0yLjdWOHoiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik04My41LDh2MTIuNTZoLTIuMkw4MS4wNSwxOWgtMC4wNmMtMC40NiwxLjA4LTEuNTMsMS43Ny0yLjcsMS43NGMtMS42NywwLTIuNDMtMS4wNi0yLjQzLTMuMzdWOGgyLjgyCiAgICAgICAgICAgIHY5LjE5YzAsMS4xLDAuMjMsMS41NSwwLjgsMS41NWMwLjUyLTAuMDIsMC45OC0wLjMzLDEuMi0wLjhWOEg4My41eiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTk3LjgsMTEuMXY5LjQ2aC0yLjgydi05LjI1YzAtMS0wLjI3LTEuNTMtMC44OC0xLjUzYy0wLjU0LDAuMDItMS4wMiwwLjM0LTEuMjUsMC44MgogICAgICAgICAgICBjMC4wMSwwLjE3LDAuMDEsMC4zNCwwLDAuNTF2OS40NmgtMi43OXYtOS4yNmMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41MywwLjAyLTEsMC4zMy0xLjIzLDAuOHYxMGgtMi44MVY4aDIuMjZsMC4yNCwxLjU5bDAsMAogICAgICAgICAgICBjMC41MS0xLjEyLDEuNjMtMS44NSwyLjg2LTEuODZjMS4wNC0wLjA3LDEuOTcsMC42NCwyLjE3LDEuNjZjMC41NS0wLjk5LDEuNi0xLjYxLDIuNzMtMS42MkM5Ny4xNSw3Ljc4LDk3LjgsOSw5Ny44LDExLjF6Ii8+CiAgICAgICAgPC9nPgogICAgICA8L2c+CiAgICA8L3N2Zz4KICA8L2Rpdj4KPHNwYW4gaWQ9ImNvdW50cnktY29kZSI+PC9zcGFuPjwvZGl2PjxkaXYgaWQ9Im1hc3RoZWFkLXNrZWxldG9uLWljb25zIiBzbG90PSJtYXN0aGVhZC1za2VsZXRvbiI+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PC9kaXY+PC95dGQtbWFzdGhlYWQ+CiAgICAgIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fib3V0LyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Tb2JyZTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9hYm91dC9wcmVzcy8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+SW1wcmVuc2E8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWJvdXQvY29weXJpZ2h0LyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5EaXJlaXRvcyBhdXRvcmFpczwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSIvdC9jb250YWN0X3VzIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkVudHJlIGVtIGNvbnRhdG88L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY3JlYXRvcnMvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkNyaWFkb3JlcyBkZSBjb250ZcO6ZG88L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWRzLyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5QdWJsaWNpZGFkZTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS95b3V0dWJlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkRlc2Vudm9sdmVkb3JlczwvYT4KCiAgICAgIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iL3QvdGVybXMiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+VGVybW9zPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS5ici9pbnRsL3B0LUJSL3BvbGljaWVzL3ByaXZhY3kvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlByaXZhY2lkYWRlPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWJvdXQvcG9saWNpZXMvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlBvbMOtdGljYSBlIFNlZ3VyYW7Dp2E8L2E+CiAgICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2hvd3lvdXR1YmV3b3Jrcz91dG1fY2FtcGFpZ249eXRnZW4mYW1wO3V0bV9zb3VyY2U9eXRocCZhbXA7dXRtX21lZGl1bT1MZWZ0TmF2JmFtcDt1dG1fY29udGVudD10eHQmYW1wO3U9aHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZob3d5b3V0dWJld29ya3MlM0Z1dG1fc291cmNlJTNEeXRocCUyNnV0bV9tZWRpdW0lM0RMZWZ0TmF2JTI2dXRtX2NhbXBhaWduJTNEeXRnZW4iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+Q29tbyBmdW5jaW9uYSBvIFlvdVR1YmU8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3Mtc2Vjb25kYXJ5IiBocmVmPSIvbmV3IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlRlc3RhciBvcyBub3ZvcyByZWN1cnNvczwvYT4KCiAgICAgIDxkaXYgaWQ9InZhdC1ub3RpY2UiIHNsb3Q9InZhdC1ub3RpY2UiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgPC9kaXY+CgogICAgICA8ZGl2IGlkPSJjb3B5cmlnaHQiIHNsb3Q9ImNvcHlyaWdodCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgIDxkaXYgZGlyPSJsdHIiIHN0eWxlPSJkaXNwbGF5OmlubGluZSI+JmNvcHk7IDIwMjAgR29vZ2xlIExMQzwvZGl2PgogIDwvZGl2PgoKICA8L3l0ZC1hcHA+CgogIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygibmNfcGoiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgogICAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3NwZi52ZmxzZXQvc3BmLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9InNwZi9zcGYiID48L3NjcmlwdD4gIAo8c2NyaXB0ID5pZiAod2luZG93Wydfc3BmX3N0YXRlJ10pIHt3aW5kb3dbJ19zcGZfc3RhdGUnXS5jb25maWcgPSB7ImFzc3VtZS1hbGwtanNvbi1yZXF1ZXN0cy1jaHVua2VkIjp0cnVlfTt9PC9zY3JpcHQ+ICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vbmV0d29yay52ZmxzZXQvbmV0d29yay5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJuZXR3b3JrL25ldHdvcmsiID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi93ZWItYW5pbWF0aW9ucy1uZXh0LWxpdGUubWluLnZmbHNldC93ZWItYW5pbWF0aW9ucy1uZXh0LWxpdGUubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9IndlYi1hbmltYXRpb25zLW5leHQtbGl0ZS5taW4vd2ViLWFuaW1hdGlvbnMtbmV4dC1saXRlLm1pbiIgPjwvc2NyaXB0PiAgCiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3dlYmNvbXBvbmVudHMtbGl0ZS1ub1BhdGNoLnZmbHNldC93ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJ3ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaC93ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaCIgPjwvc2NyaXB0PiAgCiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL2ZldGNoLXBvbHlmaWxsLnZmbHNldC9mZXRjaC1wb2x5ZmlsbC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJmZXRjaC1wb2x5ZmlsbC9mZXRjaC1wb2x5ZmlsbCIgPjwvc2NyaXB0PiAgCiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3d3dy1pMThuLWNvbnN0YW50cy1wdF9CUi52ZmxzZXQvd3d3LWkxOG4tY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9Ind3dy1pMThuLWNvbnN0YW50cy93d3ctaTE4bi1jb25zdGFudHMiID48L3NjcmlwdD4gIAogICAgICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInJzYmVfZHBqIiwgbnVsbCwgJycpO308L3NjcmlwdD4KCgo8c2NyaXB0ID4oZnVuY3Rpb24oKSB7dmFyIGxvYWRKUyA9IGZ1bmN0aW9uKGUpIHtpZiAoZSkge3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdIVE1MSW1wb3J0c0xvYWRlZCcsIGxvYWRKUyk7fXZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtzY3JpcHQuc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vZGVza3RvcF9wb2x5bWVyX2lubGluZWRfaHRtbF9wb2x5bWVyX2ZsYWdzX2xlZ2FjeV9icm93c2Vycy52ZmxzZXQvZGVza3RvcF9wb2x5bWVyX2lubGluZWRfaHRtbF9wb2x5bWVyX2ZsYWdzX2xlZ2FjeV9icm93c2Vycy5qcyI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO3NjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbigpIHt2YXIgbG9hZEV2ZW50ID0gbmV3IEV2ZW50KCJzY3JpcHQtbG9hZC1kcGoiKTt3aW5kb3cuZGlzcGF0Y2hFdmVudChsb2FkRXZlbnQpO307fTtpZiAod2luZG93LkhUTUxJbXBvcnRzICYmIHdpbmRvdy5IVE1MSW1wb3J0cy5yZWFkeSkge2xvYWRKUygpO30gZWxzZSB7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0hUTUxJbXBvcnRzTG9hZGVkJywgbG9hZEpTKTt9fSkoKTs8L3NjcmlwdD4gICAgICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInJzYWVfZHBqIiwgbnVsbCwgJycpO308L3NjcmlwdD4KCiAgCjxzY3JpcHQgPnZhciBzY2hlZHVsZUFwcExvYWQ9ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2NyaXB0LWxvYWQtZHBqIixzY2hlZHVsZUFwcExvYWQpO2lmKHdpbmRvdy55dHNpZ25hbHMmJndpbmRvdy55dHNpZ25hbHMuZ2V0SW5zdGFuY2Upe3ZhciBhPXdpbmRvdy55dHNpZ25hbHMuZ2V0SW5zdGFuY2UoKSxiPWEub25BbnkoWyJlb2lyIiwiZW9yIl0pO2EucGFya09yU2NoZWR1bGVKb2IoYXBwTG9hZCwzLGIpfWVsc2UgaWYoYXBwTG9hZCgpLGE9d2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQsYT0tMT09PWEuaW5kZXhPZigibXNuYm90IikmJi0xPT09YS5pbmRleE9mKCJCaW5nUHJldmlldyIpJiYtMT09PWEuaW5kZXhPZigiYmluZ2JvdCIpKXdpbmRvdy5vbmVycm9yKCJ5dHNpZ25hbHMgbWlzc2luZyIsImFzeW5jX2F0dGFjaF9hcHBfbG9hZGVyLmpzIiwwLDAsRXJyb3IoInl0c2lnbmFscyBtaXNzaW5nIikpfSxhcHBMb2FkPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93Lnl0Y3NpOwphJiZhLnRpY2soImFwYV9iIik7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRkLWFwcCIpLGM9YiYmYi5xdWVyeVNlbGVjdG9yKCJ5dGQtbWFzdGhlYWQiKTtjJiZjLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZS11cGdyYWRlIik7YiYmYi5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGUtdXBncmFkZSIpO2EmJmEudGljaygiYXBhX2EiKX0seXRTaWduYWxzPXdpbmRvdy55dHNpZ25hbHM7eXRTaWduYWxzP3NjaGVkdWxlQXBwTG9hZCgpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JpcHQtbG9hZC1kcGoiLHNjaGVkdWxlQXBwTG9hZCk7Cjwvc2NyaXB0PiAgCgogIDxzY3JpcHQgPgogICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJhYyIsIG51bGwsICcnKTt9CiAgICB2YXIgb25Qb2x5bWVyUmVhZHkgPSBmdW5jdGlvbihlKSB7CiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JpcHQtbG9hZC1kcGonLCBvblBvbHltZXJSZWFkeSk7CiAgICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYXByIiwgbnVsbCwgJycpO30KICAgIH0KCiAgICBpZiAod2luZG93LlBvbHltZXIgJiYgUG9seW1lci5SZW5kZXJTdGF0dXMpIHsKICAgICAgb25Qb2x5bWVyUmVhZHkoKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JpcHQtbG9hZC1kcGonLCBvblBvbHltZXJSZWFkeSk7CiAgICB9CgogIDwvc2NyaXB0PgogIDwhLS0gZW5kIG9mIGNodW5rIC0tPgogICAgPGRpdiBpZD0id2F0Y2gtcGFnZS1za2VsZXRvbiIgY2xhc3M9IndhdGNoLXNrZWxldG9uICI+CiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8ZGl2IGlkPSJyZWxhdGVkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvcGxheSBza2VsZXRvbi1saWdodC1ib3JkZXItYm90dG9tIj4KICAgICAgICAgIDxkaXYgaWQ9InVwbmV4dCIgY2xhc3M9InNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgPC9kaXY+CiAgICAgIDxkaXYgaWQ9ImluZm8tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGlkPSJwcmltYXJ5LWluZm8iIGNsYXNzPSJza2VsZXRvbi1saWdodC1ib3JkZXItYm90dG9tIj4KICAgICAgICAgIDxkaXYgaWQ9InRpdGxlIiBjbGFzcz0idGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJpbmZvIj4KICAgICAgICAgICAgPGRpdiBpZD0iY291bnQiIGNsYXNzPSJ0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibWVudSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBpZD0ic2Vjb25kYXJ5LWluZm8iIGNsYXNzPSJza2VsZXRvbi1saWdodC1ib3JkZXItYm90dG9tIj4KICAgICAgICAgIDxkaXYgaWQ9InRvcC1yb3ciPgogICAgICAgICAgICA8ZGl2IGlkPSJ2aWRlby1vd25lciIgY2xhc3M9ImZsZXgtMSI+CiAgICAgICAgICAgICAgPGRpdiBpZD0iY2hhbm5lbC1pY29uIiBjbGFzcz0ic2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgaWQ9InVwbG9hZC1pbmZvIiBjbGFzcz0iZmxleC0xIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im93bmVyLW5hbWUiCiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0icHVibGlzaGVkLWRhdGUiCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJzdWJzY3JpYmUtYnV0dG9uIiBjbGFzcz0ic2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJnY2MiLCBudWxsLCAnJyk7fTwvc2NyaXB0PiAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJwZGMiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9U1VrWHZXbjFtN1EiPgoKICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBtZWRpYT0iaGFuZGhlbGQiIGhyZWY9Imh0dHBzOi8vbS55b3V0dWJlLmNvbS93YXRjaD92PVNVa1h2V24xbTdRIj4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBtZWRpYT0ib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSIgaHJlZj0iaHR0cHM6Ly9tLnlvdXR1YmUuY29tL3dhdGNoP3Y9U1VrWHZXbjFtN1EiPgogIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpIj4KCiAgICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJBcHJvdmVpdGUgdsOtZGVvcyBlIG3DunNpY2EgcXVlIHZvY8OqIGFtYSwgZW52aWUgY29udGXDumRvIG9yaWdpbmFsIGUgY29tcGFydGlsaGUtbyBjb20gYW1pZ29zLCBwYXJlbnRlcyBlIG8gbXVuZG8gbm8gWW91VHViZS4iPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9InbDrWRlbywgY29tcGFydGlsaGFtZW50bywgY2VsdWxhciBjb20gY8OibWVyYSwgdmlkZW9mb25lLCBncmF0dWl0bywgdXBsb2FkIj4KICAgIDxpZnJhbWUgc3JjPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP2NvbnRpbnVlPWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2YXBwJTNEZGVza3RvcCUyNmZlYXR1cmUlM0RwYXNzaXZlJTI2aGwlM0RwdCUyNm5leHQlM0QlMjUyRnNpZ25pbl9wYXNzaXZlJmFtcDtobD1wdC1CUiZhbXA7cGFzc2l2ZT10cnVlJmFtcDtzZXJ2aWNlPXlvdXR1YmUmYW1wO3VpbGVsPTMiIHN0eWxlPSJkaXNwbGF5OiBub25lIiA+PC9pZnJhbWU+CiAgPC9oZWFkPgogIDxib2R5IGRpcj0ibHRyIiBuby15LW92ZXJmbG93PgogIDxzY3JpcHQgPgogICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJicyIsIG51bGwsICcnKTt9ICAgIHl0Y2ZnLnNldCgnaW5pdGlhbEJvZHlDbGllbnRXaWR0aCcsIGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpOwoKICAgIHdpbmRvdy55dGNmZy5zZXQoJ1NFUlZJQ0VfV09SS0VSX0tJTExTV0lUQ0gnLCBmYWxzZSk7CiAgPC9zY3JpcHQ+CiAgPHNjcmlwdCA+CiAgICB3aW5kb3dbInl0SW5pdGlhbERhdGEiXSA9IHsicmVzcG9uc2VDb250ZXh0Ijp7IndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGEiOnsieXRDb25maWdEYXRhIjp7ImNzbiI6Il9XZVlYOXV3QTVQRXdnUzJfWnZvQXciLCJ2aXNpdG9yRGF0YSI6IkNnczVOREo0U1ZWa2Qyc3RXU2o5ei1IOEJRJTNEJTNEIiwicm9vdFZpc3VhbEVsZW1lbnRUeXBlIjozODMyfX19LCJ3ZWJXYXRjaE5leHRSZXNwb25zZUV4dGVuc2lvbkRhdGEiOnsicmVsYXRlZFZpZGVvQXJncyI6IiJ9fTsKICAgIHdpbmRvd1sieXRJbml0aWFsUGxheWVyUmVzcG9uc2UiXSA9IHsicmVzcG9uc2VDb250ZXh0Ijp7InNlcnZpY2VUcmFja2luZ1BhcmFtcyI6W3sic2VydmljZSI6IkdGRUVEQkFDSyIsInBhcmFtcyI6W3sia2V5IjoiaXNfdmlld2VkX2xpdmUiLCJ2YWx1ZSI6IkZhbHNlIn0seyJrZXkiOiJsb2dnZWRfaW4iLCJ2YWx1ZSI6IjAifSx7ImtleSI6ImUiLCJ2YWx1ZSI6IjIzNzIzMjA3LDIzOTQ2NDIwLDIzOTYyODgyLDI0NTkwMjg5LDIzOTUyOTUxLDIzOTQzMjkzLDIzOTUxMTM5LDIzODM5NTk3LDIzODg1NTcyLDIzOTQwMjQ3LDIzODU3OTQ5LDIzODgyNTAzLDIzOTQyNjMzLDIzOTU2NzU0LDIzOTQyMzM4LDIzOTQ3NjgxLDIzOTUxNjIwLDE3MTQyNTQsMjM4OTA5NTksMjM3NDQxNzYsMjM4ODAwNDMsMjM5NjI5NjIsMjM5Mjc3NjcsMjM4ODE0NDAsMjM5Mjg1MDgsMjM5MzAyMjAsMjM5NDQ3NzksMjM5NjI5MjAsMjM4MDQyODEsMjM5MzQ5NzAsMjM5NTA1OTcsMjQ1OTAyNzgsMjM5NDc2OTgsMjM5NDg4NDEsMjM5NTQwMDAsMjM5NTU4NjMsMjM5MTEwNTUsMjM5NjM2MTMsMjM5MTg1OTcsMjM5NjAzODYsMjM4ODQzODYsMjM3NDE1MjIsOTQ2NjU5MyJ9XX0seyJzZXJ2aWNlIjoiQ1NJIiwicGFyYW1zIjpbeyJrZXkiOiJjIiwidmFsdWUiOiJXRUIifSx7ImtleSI6ImN2ZXIiLCJ2YWx1ZSI6IjIuMjAyMDEwMjMuMDIuMDAifSx7ImtleSI6Inl0X2xpIiwidmFsdWUiOiIwIn0seyJrZXkiOiJHZXRQbGF5ZXJfcmlkIiwidmFsdWUiOiIweDllYzczMTRmZDA2NWUzYjcifV19LHsic2VydmljZSI6IkdVSURFRF9IRUxQIiwicGFyYW1zIjpbeyJrZXkiOiJsb2dnZWRfaW4iLCJ2YWx1ZSI6IjAifV19LHsic2VydmljZSI6IkVDQVRDSEVSIiwicGFyYW1zIjpbeyJrZXkiOiJjbGllbnQudmVyc2lvbiIsInZhbHVlIjoiMi4yMDIwMTAyMyJ9LHsia2V5IjoiY2xpZW50Lm5hbWUiLCJ2YWx1ZSI6IldFQiJ9XX1dLCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhIjp7Inl0Q29uZmlnRGF0YSI6eyJjc24iOiJfV2VZWDl1d0E1UEV3Z1MyX1p2b0F3IiwidmlzaXRvckRhdGEiOiJDZ3M1TkRKNFNWVmtkMnN0V1NqOXotSDhCUSUzRCUzRCIsInJvb3RWaXN1YWxFbGVtZW50VHlwZSI6MzgzMn0sImhhc0RlY29yYXRlZCI6dHJ1ZX19LCJwbGF5YWJpbGl0eVN0YXR1cyI6eyJzdGF0dXMiOiJFUlJPUiIsInJlYXNvbiI6IlbDrWRlbyBpbmRpc3BvbsOtdmVsIiwiZXJyb3JTY3JlZW4iOnsicGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiOnsicmVhc29uIjp7InNpbXBsZVRleHQiOiJWw61kZW8gaW5kaXNwb27DrXZlbCJ9LCJ0aHVtYm5haWwiOnsidGh1bWJuYWlscyI6W3sidXJsIjoiLy9zLnl0aW1nLmNvbS95dHMvaW1nL21laDctdmZsR2V2ZWo3LnBuZyIsIndpZHRoIjoxNDAsImhlaWdodCI6MTAwfV19LCJpY29uIjp7Imljb25UeXBlIjoiRVJST1JfT1VUTElORSJ9fX0sImNvbnRleHRQYXJhbXMiOiJRMEZCVTBGblowRT0ifSwidHJhY2tpbmdQYXJhbXMiOiJDQUFRdTJraUV3aWIwUHJGdE5Yc0FoVkxCaDRBSFFENUFkOD0ifTsKICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicGRyIiwgbnVsbCwgJycpO30KICA8L3NjcmlwdD4KICAgICAgPHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBjb25maWdzID0geyJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9QTEFZTElTVF9PVkVSVklFVyI6eyJyb290RWxlbWVudElkIjoiYzQtcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1BMQVlMSVNUX09WRVJWSUVXIiwiZXZlbnRMYWJlbCI6InBsYXlsaXN0b3ZlcnZpZXciLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiZGlzYWJsZVNoYXJpbmciOnRydWUsImhpZGVJbmZvIjp0cnVlLCJkaXNhYmxlV2F0Y2hMYXRlciI6dHJ1ZSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJwbGF5bGlzdF9vdmVydmlldyJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9XQVRDSCI6eyJ0cmFuc3BhcmVudEJhY2tncm91bmQiOnRydWUsInVzZUZhc3RTaXppbmdPbldhdGNoRGVmYXVsdCI6ZmFsc2UsInNob3dNaW5pcGxheWVyQnV0dG9uIjp0cnVlLCJleHRlcm5hbEZ1bGxzY3JlZW4iOnRydWUsInNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkIjp0cnVlLCJyb290RWxlbWVudElkIjoibW92aWVfcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1dBVENIIiwiZXZlbnRMYWJlbCI6ImRldGFpbHBhZ2UiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJ3YXRjaCJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9TUE9OU09SU0hJUFNfT0ZGRVIiOnsicm9vdEVsZW1lbnRJZCI6Inl0ZC1zcG9uc29yc2hpcHMtb2ZmZXItd2l0aC12aWRlby1yZW5kZXJlciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9TUE9OU09SU0hJUFNfT0ZGRVIiLCJldmVudExhYmVsIjoic3BvbnNvcnNoaXBzb2ZmZXIiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRpc2FibGVSZWxhdGVkVmlkZW9zIjp0cnVlLCJhbm5vdGF0aW9uc0xvYWRQb2xpY3kiOjMsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiZGlzYWJsZUZ1bGxzY3JlZW4iOnRydWUsImNhbmFyeVN0YXRlIjoibm9uZSJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9WRVJUSUNBTF9MQU5ESU5HX1BBR0VfUFJPTU8iOnsicm9vdEVsZW1lbnRJZCI6Inl0ZC1kZWZhdWx0LXByb21vLXBhbmVsLXJlbmRlcmVyLWlubGluZS1wbGF5YmFjay1yZW5kZXJlciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9WRVJUSUNBTF9MQU5ESU5HX1BBR0VfUFJPTU8iLCJldmVudExhYmVsIjoicHJvZmlsZXBhZ2UiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImNvbnRyb2xzVHlwZSI6MCwiZGlzYWJsZVJlbGF0ZWRWaWRlb3MiOnRydWUsImFubm90YXRpb25zTG9hZFBvbGljeSI6MywiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJoaWRlSW5mbyI6dHJ1ZSwic3RhcnRNdXRlZCI6dHJ1ZSwiZW5hYmxlTXV0ZWRBdXRvcGxheSI6dHJ1ZSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJjaGFubmVscyJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9DSEFOTkVMX1RSQUlMRVIiOnsicm9vdEVsZW1lbnRJZCI6ImM0LXBsYXllciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9DSEFOTkVMX1RSQUlMRVIiLCJldmVudExhYmVsIjoicHJvZmlsZXBhZ2UiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJjaGFubmVscyJ9fTtmb3IgKHZhciBjb250ZXh0SWQgaW4gY29uZmlncykge2NvbmZpZ3NbY29udGV4dElkXVsnc2VyaWFsaXplZEV4cGVyaW1lbnRJZHMnXSA9ICIyMzcyMzIwNywyMzc0MTUyMiwyMzc0NDE3NiwyMzgwNDI4MSwyMzgzOTU5NywyMzg1Njk1MCwyMzg1Nzk0OSwyMzg2ODMyNCwyMzg4MDA0MywyMzg4MTQ0MCwyMzg4MjUwMywyMzg4NDM4NiwyMzg4NTU3MiwyMzg5MDk1OSwyMzg5NTY3MSwyMzkxMTA1NSwyMzkxNTk5MywyMzkxODU5NywyMzkyNzc2NywyMzkyNzc2NywyMzkyODUwOCwyMzkzMDIyMCwyMzkzNDk3MCwyMzk0MDI0NywyMzk0MjMzOCwyMzk0MjYzMywyMzk0MzI5MywyMzk0NDc3OSwyMzk0NTQ3OSwyMzk0NjQyMCwyMzk0NzY4MSwyMzk0NzY5OCwyMzk0ODg0MSwyMzk1MDU5NywyMzk1MTEzOSwyMzk1MTYyMCwyMzk1Mjk1MSwyMzk1NDAwMCwyMzk1NTg2MywyMzk1Njc1NCwyMzk2MDM4NiwyMzk2Mjg4MiwyMzk2MjkyMCwyMzk2Mjk2MiwyMzk2MzYxMywyNDU5MDI3OCwyNDU5MDI4OSwyNDYzMTY0Nyw5NDQ5MjQzLDk0NjY1OTMiO2NvbmZpZ3NbY29udGV4dElkXVsnc2VyaWFsaXplZEV4cGVyaW1lbnRGbGFncyddID0gInZhcmlhYmxlX2xvYWRfdGltZW91dF9tcz0wXHUwMDI2d2ViX3BsYXllcl9pbmNsdWRlX2lubmVydHViZV9jb21tYW5kcz10cnVlXHUwMDI2aHRtbDVfcmVsb2FkX2VsZW1lbnRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tcz0yMDAwMFx1MDAyNnNlbGZfcG9kZGluZ19wb2RfY2hvaWNlX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfcG9kX2Nob2ljZVx1MDAyNmh0bWw1X2xvZ190aW1lc3RhbXBfb2Zmc2V0PXRydWVcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXM9MjAwMFx1MDAyNmh0bWw1X3ZwOV9taW1lX2Z1bGxfcmFuZ2VfZmxhZz10cnVlXHUwMDI2a2V2bGFyX3F1ZXVlX3VzZV9kZWRpY2F0ZWRfbGlzdF90eXBlPXRydWVcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zPTEyMDAwXHUwMDI2aHRtbDVfc2FmYXJpX2Rlc2t0b3BfZW1lX21pbl92ZXJzaW9uPTBcdTAwMjZodG1sNV9ub25fbmV0d29ya19yZWJ1ZmZlcl9kdXJhdGlvbl9tcz0wXHUwMDI2dmFyaWFibGVfYnVmZmVyX3RpbWVvdXRfbXM9MFx1MDAyNnBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGU9dHJ1ZVx1MDAyNnVucGx1Z2dlZF90dmh0bWw1X3ZpZGVvX3ByZWxvYWRfb25fZm9jdXNfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X2Vycm9yX2Nvb2xkb3duX2luX21zPTMwMDAwXHUwMDI2aHRtbDVfdnA5X25ld19taW1lPXRydWVcdTAwMjZodG1sNV9sb2dfZXhwZXJpbWVudF9pZF9mcm9tX3BsYXllcl9yZXNwb25zZV90b19jdG1wPVx1MDAyNmh0bWw1X2xpdmVfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvdz0wLjBcdTAwMjZodG1sNV9oZWFydGJlYXRfc2V0X2VuZGVkPXRydWVcdTAwMjZodG1sNV9hdjFfdGhyZXNoX2xjYz00ODBcdTAwMjZodG1sNV9ub19wbGFjZWhvbGRlcl9yb2xsYmFja3M9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2Vfb3ZlcmxheV9wYXJzaW5nPWZhbHNlXHUwMDI2aHRtbDVfcXVhbGl0eV9jYXBfbWluX2FnZV9zZWNzPTBcdTAwMjZodG1sNV9tZWRpYV9mdWxsc2NyZWVuPXRydWVcdTAwMjZzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlPXNlbGZfcG9kZGluZ19taWRyb2xsX2Nob2ljZVx1MDAyNnNlbGZfcG9kZGluZ19oaWdobGlnaHRfbm9uX2RlZmF1bHRfYnV0dG9uPXRydWVcdTAwMjZodG1sNV9yZXdyaXRlX21hbmlmZXN0bGVzc19mb3JfY29udGludWl0eT10cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9kZWZlcnJlZF9mdWxsX3NjcmVlbl9maWx0ZXJpbmdfZm9yX213ZWJfcGhvbmVzPXRydWVcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3c9MC4wXHUwMDI2aHRtbDVfZmx1ZGRfc3VzcGVuZD10cnVlXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfc2hhcmVfcGFuZWw9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2VfZmFpcnBsYXlfY29uZmlnX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmh0bWw1X21heGltdW1fcmVhZGFoZWFkX3NlY29uZHM9MC4wXHUwMDI2d2ViX21hY3JvX21hcmtlcnNfc25hcHBpbmdfdGhyZXNob2xkPTRcdTAwMjZrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmc9dHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ZpZGVvX2tleWZyYW1lX3dpdGhvdXRfYXVkaW89dHJ1ZVx1MDAyNmh0bWw1X2hmcl9xdWFsaXR5X2NhcD0wXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52X2tpbGxzd2l0Y2gyPXRydWVcdTAwMjZsaXZlX2ZyZXNjYV9zY2hlZHVsZWRfcGVyc2lzdGVudD10cnVlXHUwMDI2aHRtbDVfZXhwYW5kZWRfbWF4X3Zzc19waW5ncz10cnVlXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOT10cnVlXHUwMDI2aHRtbDVfanVtYm9fdWxsX25vbnN0cmVhbWluZ19tZmZhX21zPTQwMDBcdTAwMjZzdXBwcmVzc19zcGFya2xlc19mb3Jfd2hpdGVsaXN0ZWRfaW5zdHJlYW1fb25fZGVza3RvcD10cnVlXHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93PTAuMFx1MDAyNmh0bWw1X2RlYWR6b25lX211bHRpcGxpZXI9MS4wXHUwMDI2d2ViX3NjcmVlbl9hc3NvY2lhdGVkX2FsbF9sYXllcnM9dHJ1ZVx1MDAyNmtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlPXRydWVcdTAwMjZjdXN0b21fY3NpX3RpbWVsaW5lX3VzZV9nZWw9dHJ1ZVx1MDAyNmh0bWw1X3NvdXJjZV9idWZmZXJfYXR0YWNoX2RlbGF5X3RpbWU9MTUwMDBcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3I9MzYwXHUwMDI2aHRtbDVfc3RvcmVfeGhyX2hlYWRlcnNfcmVhZGFibGU9dHJ1ZVx1MDAyNnVucGx1Z2dlZF90dmh0bWw1X2JvdGd1YXJkX2F0dGVzdGF0aW9uPXRydWVcdTAwMjZwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZT10cnVlXHUwMDI2Zml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViPXRydWVcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aT10cnVlXHUwMDI2ZW5hYmxlX2FkX3BvZF9zcGVjaWZpY191aT10cnVlXHUwMDI2aHRtbDVfYnVmZmVyX2hlYWx0aF90b19kZWZlcl9zbGljZV9wcm9jZXNzaW5nPTAuMFx1MDAyNmh0bWw1X2lubGluZV92aWRlb19xdWFsaXR5X3N1cnZleT10cnVlXHUwMDI2aHRtbDVfcG9zdF9pbnRlcnJ1cHRfcmVhZGFoZWFkPTIwXHUwMDI2a2V2bGFyX2F1dG9uYXZfbWluaXBsYXllcl9maXg9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXA9MFx1MDAyNmh0bWw1X2F1dG9wbGF5X2RlZmF1bHRfcXVhbGl0eV9jYXA9MFx1MDAyNnNlbGZfcG9kZGluZ19oaWdobGlnaHRlZF9idXR0b25fYmx1ZT10cnVlXHUwMDI2ZW5hYmxlX2tldmxhcl9hY3Rpb25fY29tcGFuaW9uX2NsZWFudXA9dHJ1ZVx1MDAyNndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZT1cdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fbG9hZF9zcGVlZD0xLjVcdTAwMjZlbmFibGVfdG9wc29pbF93dGFfZm9yX2hhbGZ0aW1lPXRydWVcdTAwMjZodG1sNV9saWNlbnNlX3NlcnZlcl9lcnJvcl9yZXRyeV9saW1pdD0zXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2Npbmc9dHJ1ZVx1MDAyNmh0bWw1X3VucmV3cml0ZV90aW1lc3RhbXBzPXRydWVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fYnVmZmVyX2hlYWx0aF9zZWNzX29uX3RpbWVvdXQ9MC4xXHUwMDI2aHRtbDVfaW9zX2ZvcmNlX3NlZWtfdG9femVyb19vbl9zdG9wPXRydWVcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50PS0xXHUwMDI2aHRtbDVfZ2FwbGVzc19wcmVsb2FkaW5nPXRydWVcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjcz02MFx1MDAyNmh0bWw1X2luX2J1ZmZlcl9wdGxfdGltZW91dF9tcz0wXHUwMDI2aHRtbDVfaW9zNF9zZWVrX2Fib3ZlX3plcm89dHJ1ZVx1MDAyNmVuYWJsZV92ZV90cmFja2VyX2tleT10cnVlXHUwMDI2aHRtbDVfanVtYm9fbW9iaWxlX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldD0zLjBcdTAwMjZodG1sNV9obHNfbWluX3ZpZGVvX2hlaWdodD0wXHUwMDI2d2ViX2dlbF90aW1lb3V0X2NhcD10cnVlXHUwMDI2dXNlX3BsYXllcl9wYXJhbXNfZm9yX3Bhc3NpbmdfZGVza3RvcF9jb252ZXJzaW9uX3VybHM9dHJ1ZVx1MDAyNndlYl9sb2dfYXBwX2luc3RhbGxfZXhwZXJpbWVudHM9dHJ1ZVx1MDAyNmh0bWw1X3NlZWtfb3Zlcl9kaXNjb250aW51aXRpZXM9dHJ1ZVx1MDAyNmh0bWw1X3JlYWRhaGVhZF9yYXRlbGltaXQ9MzAwMFx1MDAyNmJvdGd1YXJkX2FzeW5jX3NuYXBzaG90X3RpbWVvdXRfbXM9MzAwMFx1MDAyNmVuc3VyZV9vbmx5X29uZV9yZXNvbHZlZF9taWRyb2xsX3Jlc3BvbnNlX29uX3dlYj10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbD0wLjVcdTAwMjZ3ZWJfbmV0d29ya19jb21iaW5lZF9jYXRjaD10cnVlXHUwMDI2ZW5hYmxlX2Nvb2tpZV9yZWlzc3VlX2lmcmFtZT10cnVlXHUwMDI2aHRtbDVfYmFja2dyb3VuZF9xdWFsaXR5X2NhcD0zNjBcdTAwMjZodG1sNV9zdG9wX3ZpZGVvX2luX2NhbmNlbF9wbGF5YmFjaz10cnVlXHUwMDI2bXdlYl9tdXRlZF9hdXRvcGxheV9hbmltYXRpb249c2hyaW5rXHUwMDI2aHRtbDVfbGl2ZV9hYnJfcmVwcmVkaWN0X2ZyYWN0aW9uPTAuMFx1MDAyNndlYl9wbGF5ZXJfdnNzX3BhZ2VpZF9oZWFkZXI9dHJ1ZVx1MDAyNmZhc3RfYXV0b25hdl9pbl9iYWNrZ3JvdW5kPXRydWVcdTAwMjZodG1sNV9jcnlwdG9fcGVyaW9kX3NlY3NfZnJvbV9lbXNnPXRydWVcdTAwMjZodG1sNV9wcm9iZV9zZWNvbmRhcnlfZHVyaW5nX3RpbWVvdXRfbWlzc19jb3VudD0yXHUwMDI2Ym90Z3VhcmRfZXZhbF93aXRoX3NjcmlwdF90YWc9dHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9wZXJfZm9ybWF0X2xvdWRuZXNzPXRydWVcdTAwMjZzdXBwcmVzc19nZW5fMjA0PXRydWVcdTAwMjZkaXNhYmxlX3NpbXBsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3M9dHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW09dHJ1ZVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmU9dHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfZXh0cmFfdXBkYXRlX3Jlc291cmNlPXRydWVcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eT10cnVlXHUwMDI2d2ViX3BsYXllcl9zc19tZWRpYV90aW1lX29mZnNldD10cnVlXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfc3Vic2NyaXB0aW9uX3VwZGF0ZT10cnVlXHUwMDI2aHRtbDVfaGRjcF9wcm9iaW5nX3N0cmVhbV91cmw9XHUwMDI2bG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uPTAuMVx1MDAyNmh0bWw1X2Rpc2FibGVfcmVzZXRfb25fYXBwZW5kX2Vycm9yPXRydWVcdTAwMjZodG1sNV9lbmFibGVfZWFjMz10cnVlXHUwMDI2aHRtbDVfcGxheWVyX21pbl9idWlsZF9jbD0tMVx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3A9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbm9fZW5kc2NyZWVuX2Nyb3A9dHJ1ZVx1MDAyNmhmcl9kcm9wcGVkX2ZyYW1lcmF0ZV9mYWxsYmFja190aHJlc2hvbGQ9MFx1MDAyNmh0bWw1X2RlY29kZXJfZnJlZXplX3RpbWVvdXRfZGVsYXlfbXM9MFx1MDAyNm5ldHdvcmtsZXNzX3Rocm90dGxlX3RpbWVvdXQ9MTAwXHUwMDI2d2ViX3BsYXllcl93YXRjaF9uZXh0X3Jlc3BvbnNlX3BhcnNpbmc9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfYXBpX2xvZ2dpbmdfZnJhY3Rpb249MC4wMVx1MDAyNmVtYmVkc19lbmFibGVfZW1iZWRfbW9kdWxlPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2ljb25zPXRydWVcdTAwMjZhbGlnbl9hZF90b192aWRlb19wbGF5ZXJfbGlmZWN5Y2xlX2Zvcl9idWxsZWl0PXRydWVcdTAwMjZidWxsZWl0X2dldF9taWRyb2xsX2luZm9fdGltZW91dF9tcz04MDAwXHUwMDI2cGxheWVyX2RvdWJsZXRhcF90b19zZWVrPXRydWVcdTAwMjZodG1sNV9zdGlja3lfcmVkdWNlc19kaXNjb3VudF9ieT0wLjBcdTAwMjZodG1sNV9pb3M3X2ZvcmNlX3BsYXlfb25fc3RhbGw9dHJ1ZVx1MDAyNmh0bWw1X2FzcGVjdF9mcm9tX2FkYXB0aXZlX2Zvcm1hdD10cnVlXHUwMDI2d2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zPTI4MDAwXHUwMDI2aHRtbDVfZW5hYmxlX2FjMz10cnVlXHUwMDI2a2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucz10cnVlXHUwMDI2ZGVsYXlfZ2VsX3VudGlsX2NvbmZpZ19yZWFkeT10cnVlXHUwMDI2aHRtbDVfcGxheWVyX2R5bmFtaWNfYm90dG9tX2dyYWRpZW50PXRydWVcdTAwMjZodG1sNV9sb2dfbGl2ZV9kaXNjb250aW51aXR5PXRydWVcdTAwMjZndmlfY2hhbm5lbF9jbGllbnRfc2NyZWVuPXRydWVcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfbWVkaWFfc291cmNlX2R1cmF0aW9uPTI1MjAwXHUwMDI2aHRtbDVfaGxzX2luaXRpYWxfYml0cmF0ZT0wXHUwMDI2aHRtbDVfc291cmNlX2J1ZmZlcl9hdHRhY2hfcmV0cnlfbGltaXQ9MFx1MDAyNmh0bWw1X2lnbm9yZV9zdGFydF9zZWNvbmRzX2Zvcl9hZHNfa2lsbHN3aXRjaD10cnVlXHUwMDI2cmVsZWFzZV9wbGF5ZXJfb25fYWJhbmRvbl9mb3JfYnVsbGVpdF9scl9hZHNfZnJvbnRlbmQ9dHJ1ZVx1MDAyNmhvZmZsZV9tYXhfdmlkZW9fZHVyYXRpb25fc2Vjcz0wXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zPTIwMDAwXHUwMDI2aHRtbDVfYXYxX3RocmVzaF9hcm09MjQwXHUwMDI2d2ViX3BsYXllcl9pbmxpbmVfYm90Z3VhcmQ9dHJ1ZVx1MDAyNmh0bWw1X21heF9yZWFkYmVoaW5kX3NlY3M9MFx1MDAyNnVzZV90eXBlc2NyaXB0X3RyYW5zcG9ydD10cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX3BhdXNlPWZhbHNlXHUwMDI2aHRtbDVfZGlzYWJsZV9zdWJzY3JpYmVfbmV3X3Zpcz10cnVlXHUwMDI2ZW5hYmxlX2V2aWN0aW9uX3Byb3RlY3Rpb25fZm9yX2J1bGxlaXQ9dHJ1ZVx1MDAyNmh0bWw1X3ByZWZlcl9zZXJ2ZXJfYndlMz10cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hlYWRlcl9zdHJpbmdfdGVtcGxhdGU9c2VsZl9wb2RkaW5nX2ludGVyc3RpdGlhbF9tZXNzYWdlXHUwMDI2aHRtbDVfc3RhdGljX2Ficl9yZXNvbHV0aW9uX3NoZWxmPTBcdTAwMjZkaXNhYmxlX25ld19wYXVzZV9zdGF0ZTM9dHJ1ZVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVfdWZwaD10cnVlXHUwMDI2ZGFzaF9tYW5pZmVzdF92ZXJzaW9uPTVcdTAwMjZodG1sNV9kaXNhYmxlX21vdmVfcHNzaF90b19tb292PXRydWVcdTAwMjZodG1sNV9yYW5kb21fcGxheWJhY2tfY2FwPTBcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3M9MFx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc19tYXhfc2VnbWVudF9oaXN0b3J5PTBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfcGFkZGluZ19zZWNzPTMuMFx1MDAyNnBsYXllcl9kZXN0cm95X29sZF92ZXJzaW9uPXRydWVcdTAwMjZwbGF5ZXJfYWxsb3dfYXV0b25hdl9hZnRlcl9wbGF5bGlzdD10cnVlXHUwMDI2aHRtbDVfbmV3X2VsZW1lbnRfb25faW52YWxpZF9zdGF0ZT10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfc2Vla19sYXRlbmN5X2Z1ZGdlPTAuNVx1MDAyNmh0bWw1X2Rpc2FibGVfYWFjX2FjMz10cnVlXHUwMDI2aHRtbDVfYWxsb3dhYmxlX2xpdmVuZXNzX2RyaWZ0X2NodW5rcz0yXHUwMDI2aHRtbDVfbmV3X2VsZW1fb25faGlkZGVuPXRydWVcdTAwMjZwbGF5ZXJfd2ViX2NhbmFyeV9zdGFnZT0wXHUwMDI2bmV0d29ya2xlc3NfeXRpZGJfdmVyc2lvbj0xXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXI9dHJ1ZVx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHM9NVx1MDAyNmVuYWJsZV9zdmdfbW9kZV9vbl9lbWJlZF9tb2JpbGU9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvbj0wLjBcdTAwMjZ3ZWJfbG9nX2Nvbm5lY3Rpb249dHJ1ZVx1MDAyNmRlbGF5X2Fkc19ndmlfY2FsbF9vbl9idWxsZWl0X2xpdmluZ19yb29tX21zPTBcdTAwMjZ3ZWJfY2xpZW50X2NvdW50ZXJfcmFuZG9tX3NlZWQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfd2F0Y2hfbmV4dF9yZXNwb25zZT10cnVlXHUwMDI2aHRtbDVfbG9nX3BsYXliYWNrX3JhdGVfY2hhbmdlX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmh0bWw1X2hhY2tfZ2FwbGVzc19pbml0PXRydWVcdTAwMjZ1c2VfdmlkZW9fYWRfYnJlYWtfb2Zmc2V0X21zX2ludDY0PXRydWVcdTAwMjZlbmFibGVfZGV2aWNlX2ZvcndhcmRpbmdfZnJvbV9wb2x5bWVyX25ldHdvcmtfbWFuYWdlcj10cnVlXHUwMDI2aHRtbDVfcHJvYmVfbGl2ZV91c2luZ19yYW5nZT10cnVlXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGY9dHJ1ZVx1MDAyNnVzZV9pdmFyX3RvX2V4dHJhY3RfYWRfdmlkZW9faWQ9dHJ1ZVx1MDAyNnVzZV90b3VjaF9ldmVudHNfZm9yX2J1bGxlaXRfbXdlYj10cnVlXHUwMDI2aHRtbDVfbWF4X2xpdmVfZHZyX3dpbmRvd19wbHVzX21hcmdpbl9zZWNzPTQ2ODAwLjBcdTAwMjZ3ZWJfeXRfY29uZmlnX2NvbnRleHQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2hvd19tdXNpY19pbl90aGlzX3ZpZGVvX2dyYXBoaWM9dmlkZW9fdGh1bWJuYWlsXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjcz0wLjVcdTAwMjZkZWJ1Z19kYXBwZXJfdHJhY2VfaWQ9XHUwMDI2c3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmc9dHJ1ZVx1MDAyNmh0bWw1X2F2MV90aHJlc2g9MTA4MFx1MDAyNmtldmxhcl9xdWV1ZV91c2VfdXBkYXRlX2FwaT10cnVlXHUwMDI2b3ZlcndyaXRlX3BvbHlmaWxsX29uX2xvZ2dpbmdfbGliX2xvYWRlZD10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19ub19yZXF1ZXN0c19hZnRlcl9sb2NrPXRydWVcdTAwMjZpZ25vcmVfZW1wdHlfeGhyPXRydWVcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50X2FmdGVyX2F1dG9wbGF5ZWRfdmlkZW89LTFcdTAwMjZuZXR3b3JrbGVzc19yZXF1ZXN0X2FnZV9saW1pdD0zMFx1MDAyNmh0bWw1X3Byb2JlX3ByaW1hcnlfZGVsYXlfYmFzZV9tcz0wXHUwMDI2cGxheWVyX2Jvb3RzdHJhcF9tZXRob2Q9dHJ1ZVx1MDAyNmRlc2t0b3BfcGxheWVyX2J1dHRvbl90b29sdGlwX3dpdGhfc2hvcnRjdXQ9dHJ1ZVx1MDAyNmtldmxhcl9hbGxvd19tdWx0aXN0ZXBfdmlkZW9faW5pdD10cnVlXHUwMDI2cGFpcl9zZXJ2bGV0X2RlcHJlY2F0aW9uX3dhcm5pbmdfZW5hYmxlZD10cnVlXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52PXRydWVcdTAwMjZtd2ViX2VuYWJsZV9jdXN0b21fY29udHJvbF9zaGFyZWQ9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXM9MjAwXHUwMDI2aHRtbDVfZW5hYmxlX2VtYmVkZGVkX3BsYXllcl92aXNpYmlsaXR5X3NpZ25hbHM9dHJ1ZVx1MDAyNmh0bWw1X2RlZmF1bHRfcXVhbGl0eV9jYXA9NzIwXHUwMDI2c2V0X2ludGVyc3RpdGlhbF9hZHZlcnRpc2Vyc19xdWVzdGlvbl90ZXh0PXRydWVcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX3RocmVzaG9sZF9tcz0zMDAwMFx1MDAyNnd3d19mb3JfdmlkZW9zdGF0cz10cnVlXHUwMDI2aHRtbDVfcGVha19zaGF2ZT10cnVlXHUwMDI2ZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncz10cnVlXHUwMDI2YnVsbGVpdF91c2VfdG91Y2hfZXZlbnRzX2Zvcl9za2lwPXRydWVcdTAwMjZodG1sNV9kZWxheV9pbml0aWFsX2xvYWRpbmc9dHJ1ZVx1MDAyNndlYl9hcGlfdXJsPXRydWVcdTAwMjZtd2ViX2NvdWdhcl9iaWdfY29udHJvbHM9dHJ1ZVx1MDAyNmNzaV9vbl9nZWw9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaXBwX2NhbmFyeV90eXBlX2Zvcl9sb2dnaW5nPVx1MDAyNmh0bWw1X2RlY29kZV90b190ZXh0dXJlX2NhcD10cnVlXHUwMDI2dHZodG1sNV9kaXNhYmxlX2xpdmVfcHJlZmV0Y2g9dHJ1ZVx1MDAyNnVzZV9pbmxpbmVkX3BsYXllcl9ycGM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdG91Y2hfbW9kZV9pbXByb3ZlbWVudHM9dHJ1ZVx1MDAyNmRpc2FibGVfdGh1bWJuYWlsX3ByZWxvYWRpbmc9dHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX3NraXBwYWJsZXNfb25famlvX3Bob25lPXRydWVcdTAwMjZodG1sNV9ub3RfdnA5X3N1cHBvcnRlZF9xdWFsaXR5X2NhcD0wXHUwMDI2aHRtbDVfdW5pZnlfc3FsZXNzX2Zsb3c9dHJ1ZVx1MDAyNmh0bWw1X2F1dG9uYXZfcXVhbGl0eV9jYXA9MFx1MDAyNnNraXBfYWRfYnV0dG9uX3dpdGhfdGh1bWJuYWlsPXRydWVcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9zZWNzPTBcdTAwMjZodG1sNV91bnJlcG9ydGVkX3NlZWtfcmVzZWVrX2RlbGF5X21zPTBcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX2ppZ2dsZV9jbXRfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X2hlYWx0aF90b19nZWw9dHJ1ZVx1MDAyNmh0bWw1X3Jlc3RvcmVfcGVyZl9jYXA9ZmFsc2VcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZD0zXHUwMDI2aHRtbDVfdmlkZW9fdGJkX21pbl9rYj0wXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW9zX213ZWJfcmVzaXppbmc9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbXVzaWNfdmlzdWFsaXplcl90cmVhdG1lbnQ9ZmFrZVx1MDAyNmxpdmVfZnJlc2NhX3YyPXRydWVcdTAwMjZodG1sNV9iYWNrZ3JvdW5kX2NhcF9pZGxlX3NlY3M9NjBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemluZ19tdWx0aXBsaWVyPTAuOFx1MDAyNndlYl9vcF9jb250aW51YXRpb25fdHlwZV9iYW5saXN0PSgpXHUwMDI2dXNlX3N1cnZleV9za2lwX2luXzBzPXRydWVcdTAwMjZodG1sNV91c2VfY3VycmVudF9tZWRpYV90aW1lX2Zvcl9nbHJlbV9nbGxhdD10cnVlXHUwMDI2aHRtbDVfbWluX3VwZ3JhZGVfaGVhbHRoPTBcdTAwMjZhbGxvd19wb2x0ZXJndXN0X2F1dG9wbGF5PXRydWVcdTAwMjZodG1sNV9xdWVyeV9zd19zZWN1cmVfY3J5cHRvX2Zvcl9hbmRyb2lkPXRydWVcdTAwMjZuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWw9MzAwMDBcdTAwMjZsb2dfanNfZXhjZXB0aW9uc19mcmFjdGlvbj0xLjBcdTAwMjZlbmFibGVfbGl2ZV9wcmVtaWVyZV93ZWJfcGxheWVyX2luZGljYXRvcj10cnVlXHUwMDI2d2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3Q9KClcdTAwMjZodG1sNV9hdjFfdHZfa2lsbHN3aXRjaD10cnVlXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaD0wLjJcdTAwMjZodG1sNV9kZWZhdWx0X2FkX2dhaW49MC41XHUwMDI2bmV0d29ya2xlc3NfcmV0cnlfYXR0ZW1wdHM9MVx1MDAyNm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZD10cnVlXHUwMDI2aGlkZV9wcmVza2lwPXRydWVcdTAwMjZ0dmh0bWw1X3VucGx1Z2dlZF9wcmVsb2FkX2NhY2hlX3NpemU9NVx1MDAyNmh0bWw1X3BsYXRmb3JtX21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHM9MC4wXHUwMDI2aHRtbDVfZ2FwbGVzc19tYXhfcGxheWVkX3Jhbmdlcz0xMlx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3M9MC4yNVx1MDAyNmh0bWw1X3dvcmthcm91bmRfZGVsYXlfdHJpZ2dlcj10cnVlXHUwMDI2ZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWU9dHJ1ZVx1MDAyNmh0bWw1X2F2MV90aHJlc2hfaGNjPTEwODBcdTAwMjZodG1sNV9xb2VfdXNlcl9pbnRlbnRfbWF0Y2hfaGVhbHRoPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9wbGF5bGlzdF91cGRhdGU9dHJ1ZVx1MDAyNndlYl93bl9tYWNyb19tYXJrZXJzPXRydWVcdTAwMjZtdXNpY19lbmFibGVfc2hhcmVkX2F1ZGlvX3RpZXJfbG9naWM9dHJ1ZVx1MDAyNnNob3VsZF9jbGVhcl92aWRlb19kYXRhX29uX3BsYXllcl9jdWVkX3Vuc3RhcnRlZD10cnVlXHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uPXRydWVcdTAwMjZodG1sNV9zZXRfZW5kZWRfaW5fcGZ4X2xpdmU9dHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfbm9uX2NvbnRpZ3VvdXM9dHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9hdXRvbmF2X2xvZ2dpbmc9dHJ1ZVx1MDAyNmh0bWw1X3FvZV9pbnRlcmNlcHQ9XHUwMDI2a2FidWtpX3BhbmdlYV9wcmVmZXJfYXVkaW9fb25seV9mb3JfYXR2X2FuZF91cGxvYWRzPXRydWVcdTAwMjZlcnJvcl9tZXNzYWdlX2Zvcl9nc3VpdGVfbmV0d29ya19yZXN0cmljdGlvbnM9dHJ1ZVx1MDAyNmRlc2t0b3BfYWN0aW9uX2NvbXBhbmlvbl93dGFfc3VwcG9ydD10cnVlXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52X2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNndlYl9vcF9lbmRwb2ludF9iYW5saXN0PSgpXHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHM9dHJ1ZVx1MDAyNnBvbHltZXJfYmFkX2J1aWxkX2xhYmVscz10cnVlXHUwMDI2aHRtbDVfanVtYm9fdWxsX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldD0xLjNcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3k9dHJ1ZVx1MDAyNmhvZmZsZV9jYWNoZV9zaXplX3NlY3M9MFx1MDAyNnJlbmRlcl9lbmhhbmNlZF9vdmVybGF5c19hc19jdGFzX2Zvcl9kZXNrdG9wX3N0eWxlPXVuc2V0XHUwMDI2aHRtbDVfbWF4X3JlYWRhaGVhZF9iYW5kd2lkdGhfY2FwPTBcdTAwMjZ3ZWJfZGVwcmVjYXRlX3NlcnZpY2VfYWpheF9tYXBfZGVwZW5kZW5jeT10cnVlXHUwMDI2ZW5hYmxlX2RybV9zc2RhaT10cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoPXRydWVcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBpcmF0aW9uPS0xXHUwMDI2aHRtbDVfdGltZV9iYXNlZF9jb25zb2xpZGF0aW9uX21zPTEwXHUwMDI2cGxheWVyX2Fkc19zZXRfYWRmb3JtYXRfb25fY2xpZW50PXRydWVcdTAwMjZleHRlcm5hbF9mdWxsc2NyZWVuX3dpdGhfZWR1PXRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5PXRydWVcdTAwMjZodG1sNV9nYXBsZXNzX3NlZWtfdG9sZXJhbmNlX3NlY3M9My4wXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kcz0wLjBcdTAwMjZodG1sNV9kZXNrdG9wX3ZyMTgwX2FsbG93X3Bhbm5pbmc9dHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9iYWRfYml0cmF0ZXM9dHJ1ZVx1MDAyNnNldF9pbnRlcnN0aXRpYWxfc3RhcnRfYnV0dG9uPXRydWVcdTAwMjZodG1sNV9zdXNwZW5kX2xvYWRlcj10cnVlXHUwMDI2aHRtbDVfYWRfdGltZW91dF9tcz0wXHUwMDI2ZW5hYmxlX2NsaWVudF9wYWdlX2lkX2hlYWRlcl9mb3JfZmlyc3RfcGFydHlfcGluZ3M9dHJ1ZVx1MDAyNnByZXNraXBfYnV0dG9uX3N0eWxlX2Fkc19iYWNrZW5kPWNvdW50ZG93bl9uZXh0X3RvX3RodW1ibmFpbFx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjcz0yLjBcdTAwMjZodG1sNV9nbF9mcHNfdGhyZXNob2xkPTBcdTAwMjZodG1sNV9tYXhfaGVhZG1fZm9yX3N0cmVhbWluZ194aHI9MFx1MDAyNmh0bWw1X2xpY2Vuc2VfY29uc3RyYWludF9kZWxheT01MDAwXHUwMDI2aHRtbDVfY2hlY2tfc2VnbnVtX2Rpc2NvbnRpbnVpdHk9dHJ1ZVx1MDAyNmh0bWw1X2JhbmR3aWR0aF93aW5kb3dfc2l6ZT0wXHUwMDI2ZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21feGhyX2NsaWVudD10cnVlXHUwMDI2bWF4X3Jlc29sdXRpb25fZm9yX3doaXRlX25vaXNlPTM2MFx1MDAyNndlYl9wbGF5ZXJfc2VudGluZWxfaXNfdW5pcGxheWVyPXRydWVcdTAwMjZ3ZWJfcG9zdF9zZWFyY2g9dHJ1ZVx1MDAyNmh0bWw1X2V4cGVyaW1lbnRfaWRfbGFiZWw9MFx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWU9XHUwMDI2aHRtbDVfZGlzYWJsZV9wcmVzZXJ2ZV9yZWZlcmVuY2U9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfYWRfYnl0ZXJhdGVfbXVsdGlwbGllcj0xLjZcdTAwMjZodG1sNV9yZWxlYXNlX29uX2Vycm9yPXRydWVcdTAwMjZlbmFibGVfeXBjX2NsaWNrd3JhcF9vbl9saXZpbmdfcm9vbT10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19lcnJvcl9jaGVja19raWxsc3dpdGNoPXRydWVcdTAwMjZodG1sNV9tYXhfZHJpZnRfcGVyX3RyYWNrX3NlY3M9MC4wXHUwMDI2YXV0b3BsYXlfdGltZT04MDAwXHUwMDI2bG9nX2pzX2Vycm9yX2NsdXN0ZXJzPTEuMFx1MDAyNndlYl9nZWxfZGVib3VuY2VfbXM9MTAwMDBcdTAwMjZodG1sNV9zeW5jX3NlZWtpbmdfc3RhdGU9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2VfcGxheWJhY2tfdHJhY2tpbmdfcGFyc2luZz10cnVlXHUwMDI2d2ViX2xvZ2dpbmdfbWF4X2JhdGNoPTE1MFx1MDAyNmh0bWw1X2Fkc19wcmVyb2xsX2xvY2tfdGltZW91dF9kZWxheV9tcz0wXHUwMDI2aHRtbDVfc2Vla19qaWdnbGVfY210X2RlbGF5X21zPTgwMDAiO315dGNmZy5zZXQoeydXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyc6IGNvbmZpZ3N9KTt9KSgpOzwvc2NyaXB0PgoKICA8c2NyaXB0ID4KICAgIChmdW5jdGlvbigpIHsKICAgICAgdmFyIHNldEZpbGxlciA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBmaWxsZXJEYXRhID0gewogICAgICAgICAgYnJvd3NlOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ2Jyb3dzZScKICAgICAgICAgIH0sCiAgICAgICAgICBob21lOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ2hvbWUnLAogICAgICAgICAgICBlbmRwb2ludDogewogICAgICAgICAgICAgIGNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgd2ViQ29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICAgIHVybDogIi8iLAogICAgICAgICAgICAgICAgICB3ZWJQYWdlVHlwZTogIldFQl9QQUdFX1RZUEVfQlJPV1NFIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgdXJsRW5kcG9pbnQ6IHsKICAgICAgICAgICAgICAgIHVybDogIi8iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5Ccm93c2VSZXN1bHRzUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgdGFiczogW3sKICAgICAgICAgICAgICAgICAgICB0YWJSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJpY2hHcmlkUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWF0aW9uczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRDb250aW51YXRpb25EYXRhOiB7Y29udGludWF0aW9uOiAnJ30KICAgICAgICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHNlYXJjaDogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICdzZWFyY2gnLAogICAgICAgICAgICBlbmRwb2ludDogewogICAgICAgICAgICAgIGNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgd2ViQ29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICAgIHVybDogIi9yZXN1bHRzIiwKICAgICAgICAgICAgICAgICAgd2ViUGFnZVR5cGU6ICJXRUJfUEFHRV9UWVBFX1NFQVJDSCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHVybEVuZHBvaW50OiB7CiAgICAgICAgICAgICAgICB1cmw6ICIvcmVzdWx0cyIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJlc3BvbnNlOiB7CiAgICAgICAgICAgICAgY29udGVudHM6IHsKICAgICAgICAgICAgICAgIHR3b0NvbHVtblNlYXJjaFJlc3VsdHNSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICBwcmltYXJ5Q29udGVudHM6IHsKICAgICAgICAgICAgICAgICAgICBzZWN0aW9uTGlzdFJlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10sCiAgICAgICAgICAgICAgICAgICAgICBzdWJNZW51OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFN1Yk1lbnVSZW5kZXJlcjoge30KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5U2VhcmNoQ29udGFpbmVyUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzOiBbXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHdhdGNoOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ3dhdGNoJywKICAgICAgICAgICAgZW5kcG9pbnQ6IHsKICAgICAgICAgICAgICBjb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgIHdlYkNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgICB1cmw6ICIvd2F0Y2giLAogICAgICAgICAgICAgICAgICB3ZWJQYWdlVHlwZTogIldFQl9QQUdFX1RZUEVfV0FUQ0giCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB1cmxFbmRwb2ludDogewogICAgICAgICAgICAgICAgdXJsOiAiL3dhdGNoIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcGxheWVyUmVzcG9uc2U6IHsKICAgICAgICAgICAgICBwbGF5YWJpbGl0eVN0YXR1czogewogICAgICAgICAgICAgICAgc3RhdHVzOiAnT0snCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgIHJlc3VsdHM6IHsKICAgICAgICAgICAgICAgICAgICByZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW3sKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyOiB7fSwKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9TZWNvbmRhcnlJbmZvUmVuZGVyZXI6IHt9CiAgICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5UmVzdWx0czogewogICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeVJlc3VsdHM6IHt9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB3aW5kb3cueXRjZmcuc2V0KCdGSUxMRVJfREFUQScsIGZpbGxlckRhdGEpOwogICAgICB9OwoKICAgICAgICB3aW5kb3cuZ2V0UGFnZURhdGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicHIiLCBudWxsLCAnJyk7fQogICAgICAgICAgdmFyIGVuZHBvaW50ID0gbnVsbDsKICAgICAgICAgICAgZW5kcG9pbnQgPSB7ImNvbW1hbmRNZXRhZGF0YSI6eyJ3ZWJDb21tYW5kTWV0YWRhdGEiOnsidXJsIjoiL3dhdGNoP3Y9U1VrWHZXbjFtN1EiLCJ3ZWJQYWdlVHlwZSI6IldFQl9QQUdFX1RZUEVfVU5LTk9XTiIsInJvb3RWZSI6ODM3Njl9fSwidXJsRW5kcG9pbnQiOnsidXJsIjoiL3dhdGNoP3Y9U1VrWHZXbjFtN1EifX07CiAgICAgICAgICB2YXIgZGF0YSA9IHsKICAgICAgICAgICAgICBwYWdlOiAid2F0Y2giLAogICAgICAgICAgICAgIHBsYXllcjogeXRwbGF5ZXIuY29uZmlnLAogICAgICAgICAgICAgIHBsYXllclJlc3BvbnNlOiB3aW5kb3cueXRJbml0aWFsUGxheWVyUmVzcG9uc2UsCiAgICAgICAgICAgICAgICB1cmw6ICJcL3dhdGNoP3Y9U1VrWHZXbjFtN1EiLAogICAgICAgICAgICAgIHJlc3BvbnNlOiB3aW5kb3cueXRJbml0aWFsRGF0YSwKICAgICAgICAgICAgICBlbmRwb2ludDogZW5kcG9pbnQKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBkYXRhOiBkYXRhLAogICAgICAgICAgICBlbmRwb2ludDogZW5kcG9pbnQKICAgICAgICAgIH07CiAgICAgICAgfTsKCiAgICAgICAgaWYgKHdpbmRvdy5sb2FkRGF0YUhvb2spIHsKICAgICAgICAgIHZhciBwYWdlRGF0YSA9IHdpbmRvdy5nZXRQYWdlRGF0YSgpOwogICAgICAgICAgd2luZG93LmxvYWREYXRhSG9vayhwYWdlRGF0YS5lbmRwb2ludCwgcGFnZURhdGEuZGF0YSk7CiAgICAgICAgICB3aW5kb3cubG9hZERhdGFIb29rID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgc2V0RmlsbGVyKCk7CgogICAgfSkoKTsKCiAgICAgIHZhciBtZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpOwogICAgICBtZXRhLm5hbWUgPSAncmVmZXJyZXInOwogICAgICBtZXRhLmNvbnRlbnQgPSAnb3JpZ2luJzsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChtZXRhKTsKICAgICAgdmFyIG5vaW5kZXhNZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpOwogICAgICBtZXRhLm5hbWUgPSAncm9ib3RzJzsKICAgICAgbWV0YS5jb250ZW50ID0gJ25vaW5kZXgnOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKG1ldGEpOwoKICA8L3NjcmlwdD4KICAKPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS5pbmZvKCJzdCIsIDEzOSwgJycpO308L3NjcmlwdD48L2JvZHk+PC9odG1sPg==
57
+ http_version:
58
+ recorded_at: Tue, 27 Oct 2020 18:33:33 GMT
481
59
  recorded_with: VCR 3.0.3