From aac8fe55964a2f8f89d0c47509c4dcbef9ac7d59 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 00:30:26 -0700 Subject: [PATCH 01/11] Wave 1, working on tests --- .gitignore | 2 +- lib/channel.rb | 21 ++++++++++++ lib/recipient.rb | 46 ++++++++++++++++++++++++++ lib/slack.rb | 74 +++++++++++++++++++++++++++++++++++++++--- lib/user.rb | 28 ++++++++++++++++ lib/workspace.rb | 26 +++++++++++++++ test/channel_spec.rb | 9 +++++ test/slack_spec.rb | 10 ++++++ test/test_helper.rb | 15 ++++++++- test/user_spec.rb | 29 +++++++++++++++++ test/workspace_spec.rb | 14 ++++++++ 11 files changed, 268 insertions(+), 6 deletions(-) create mode 100644 lib/channel.rb create mode 100644 lib/recipient.rb create mode 100644 lib/user.rb create mode 100644 lib/workspace.rb create mode 100644 test/channel_spec.rb create mode 100644 test/slack_spec.rb create mode 100644 test/user_spec.rb create mode 100644 test/workspace_spec.rb diff --git a/.gitignore b/.gitignore index 3ff4fada..637deacd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ .DS_Store # Ignore environemnt variables -.env +.env diff --git a/lib/channel.rb b/lib/channel.rb new file mode 100644 index 00000000..f04a4887 --- /dev/null +++ b/lib/channel.rb @@ -0,0 +1,21 @@ +require_relative 'recipient' +require 'httparty' +require 'dotenv' + +Dotenv.load + +class Channel < Recipient + attr_reader :topic, :member_count + + def initialize(topic:, member_count:, name:, slack_id:) + super(slack_id: slack_id, name: name) + @topic = topic + @member_count = member_count + end + + def details + end + + + +end \ No newline at end of file diff --git a/lib/recipient.rb b/lib/recipient.rb new file mode 100644 index 00000000..b2972548 --- /dev/null +++ b/lib/recipient.rb @@ -0,0 +1,46 @@ +require 'httparty' + +class Recipient + attr_reader :slack_id, :name + + def initialize(slack_id:, name:) + @slack_id = slack_id + @name = name + end + + #api endpoint https://api.slack.com/methods/chat.postMessage + def send_message(msg_text) + #send the message using HTTParty + data = HTTParty.get(url, query: {token: ENV['SLACK_TOKEN']}) + #deal with errors, if any + if data.code != 200 + raise SlackAPIError + end + + return data + end + + def details + raise NotImplementedError, "Define this method in a child class" + end + + # ------ Class Methods ------ + + #this looks like it should be fetcher, based on the API's docs + def self.get(url) + #send message using HTTParty + + #check for errors, if any + end + + + #this smells like a bigger factory method + def self.list_all + raise NotImplementedError, "Define this method in a child class" + end + +end + + +class SlackAPIError < Exception +end diff --git a/lib/slack.rb b/lib/slack.rb index 8a0b659b..528a1231 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,12 +1,78 @@ #!/usr/bin/env ruby +require 'httparty' +require 'dotenv' + +require_relative 'workspace' + +Dotenv.load + def main - puts "Welcome to the Ada Slack CLI!" - workspace = Workspace.new + workspace = Workspace.new + + puts "\n" + puts "Welcome to the Ada Slack CLI! This Slack workspace currently has #{workspace.users.count} users and #{workspace.channels.count} channels." + + user_input = input_prompt + + #really liked this way of formatting after seeing it on the Wave 1 Live Code vs using if-elsif statements + ##changed my formatting to match. + until user_input == "Quit" + + case user_input + when "List users" + tp workspace.users, "slack_id", "name", "real_name" + puts "\n" + + when "List channels" + tp workspace.channels, "name", "topic", "member_count", "slack_id" + puts "\n" + + when "Select user" + print "Please enter user name or ID: " + puts workspace.select_user + puts "\n" + + when "Select channel" + print "Please enter channel name or ID: " + puts workspace.select_channel + puts "\n" + + when "Details" + if workspace.selected == nil + puts "Please select a user or channel." + puts "\n" + else + workspace.show_details + user_input = nil + puts "\n" + end + when "send message" + if workspace.selected == nil + puts "Please select a user or channel." + puts "\n" + else + print "Please enter your message: " + workspace.send_message + puts "\n" + end + else + puts "Sorry, I didn't understand your request. Please try again." + end + + user_input = input_prompt + end + + puts "Thank you for using the ADA Slack CLI!" + puts "\n" + +end - # TODO project +def input_prompt + puts "What would you like to do? Your options are:" + puts "List users \nList channels \nSelect user \nSelect channel \nDetails \nSend message \nQuit \n" - puts "Thank you for using the Ada Slack CLI" + return gets.chomp.capitalize end main if __FILE__ == $PROGRAM_NAME \ No newline at end of file diff --git a/lib/user.rb b/lib/user.rb new file mode 100644 index 00000000..ed96bd87 --- /dev/null +++ b/lib/user.rb @@ -0,0 +1,28 @@ +require_relative 'recipient' + +class User < Recipient + attr_reader :real_name, :status_text, :status_emoji + + def initialize( real_name:, status_text:, status_emoji:, name:, slack_id:) + super(slack_id: slack_id, name: name) + + @real_name = real_name + @status_text = status_text + @status_emoji = status_emoji + end + + def details + end + + #------ Class Methods ------ + + #api endpoint documentation https://api.slack.com/methods/users.list + def self.list_all + #get the data + + #parse the data, instansiate an object + + #return the list of instansiated objects + #this format tells me that I can use this to instansiate a Workspace! + end +end \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb new file mode 100644 index 00000000..0ef4c0a3 --- /dev/null +++ b/lib/workspace.rb @@ -0,0 +1,26 @@ +require_relative 'user' +require_relative 'channel' + +class Workspace + attr_reader :users, :channels, :selected + + def initialize() + @users = [] + @channels = [] + @selected = nil + end + + def select_channel + end + + def select_user + end + + def show_details + end + + def send_message + end + +end + diff --git a/test/channel_spec.rb b/test/channel_spec.rb new file mode 100644 index 00000000..8ed5ba3a --- /dev/null +++ b/test/channel_spec.rb @@ -0,0 +1,9 @@ +require_relative "test_helper" +require_relative '../lib/channel' + +describe "Channel" do + + + + +end \ No newline at end of file diff --git a/test/slack_spec.rb b/test/slack_spec.rb new file mode 100644 index 00000000..3c11aee2 --- /dev/null +++ b/test/slack_spec.rb @@ -0,0 +1,10 @@ +require_relative 'test_helper' +require_relative '../lib/slack' + + +describe "Slack" do + + + + +end \ No newline at end of file diff --git a/test/test_helper.rb b/test/test_helper.rb index 1fcf2bab..e6be324b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -8,6 +8,10 @@ require 'minitest/reporters' require 'minitest/skip_dsl' require 'vcr' +require 'dotenv' + +Dotenv.load + Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new @@ -24,6 +28,15 @@ :match_requests_on => [:method, :uri, :body], # The http method, URI and body of a request all need to match } - # Don't leave our token lying around in a cassette file. + #posts as name of user who generated that token => YOU + config.filter_sensitive_data("") do + ENV['SLACK_TOKEN'] + + end + + #posts as name of app + # config.filter_sensitive_data("") do + # ENV['BOT_TOKEN'] + # end end diff --git a/test/user_spec.rb b/test/user_spec.rb new file mode 100644 index 00000000..1ffb82cb --- /dev/null +++ b/test/user_spec.rb @@ -0,0 +1,29 @@ +require_relative "test_helper" +require_relative '../lib/user' + +describe "User" do + describe "self.get" do + it "gets a list of users" do + result = {} + VCR.use_cassette("users-list") do + result = User.get("https://slack.com/api/users.list") + end + + expect(result).must_be_kind_of HTTParty::Response + expect(result["ok"]).must_equal true + end + + it "raises an error when a call fails" do + VCR.use_cassette("users-list") do + expect {User.get("https://slack.com/api/bogus.endpoint")}.must_raise SlackAPIError + end + end + end + + + + + + + +end \ No newline at end of file diff --git a/test/workspace_spec.rb b/test/workspace_spec.rb new file mode 100644 index 00000000..cb382c12 --- /dev/null +++ b/test/workspace_spec.rb @@ -0,0 +1,14 @@ +require_relative "test_helper" +require_relative '../lib/workspace' + +describe "Workspace" do + + + + + + + + + +end \ No newline at end of file From d498005e6d60b977cb0fe8c260ae58e7d661d95a Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 03:10:13 -0700 Subject: [PATCH 02/11] Added details code for users and channels --- .gitignore | 1 - lib/channel.rb | 22 ++++++++++++++++++++++ lib/recipient.rb | 29 +++++++++-------------------- lib/slack.rb | 9 ++++++--- lib/user.rb | 35 ++++++++++++++++++++++++----------- lib/workspace.rb | 16 ++++++++++------ test/channel_spec.rb | 34 ++++++++++++++++++++++++++++++++++ test/slack_spec.rb | 10 ---------- test/test_helper.rb | 13 ++++++------- test/user_spec.rb | 21 ++++++++++++++++----- test/workspace_spec.rb | 2 ++ 11 files changed, 129 insertions(+), 63 deletions(-) delete mode 100644 test/slack_spec.rb diff --git a/.gitignore b/.gitignore index 637deacd..e702a125 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,4 @@ .DS_Store -# Ignore environemnt variables .env diff --git a/lib/channel.rb b/lib/channel.rb index f04a4887..e0b6fb49 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -1,3 +1,5 @@ +#coded along with Devin for Wave 1 + require_relative 'recipient' require 'httparty' require 'dotenv' @@ -14,8 +16,28 @@ def initialize(topic:, member_count:, name:, slack_id:) end def details + return [{ + "name" => @name, + "slack_id" => @slack_id, + "topic" => @topic, + "member_count" => @member_count + }] end + def self.list_all + data = self.get("https://api.slack.com/api/conversations.list") + channels = [] + + data["channels"].each do |item| + channels << Channel.new( + name: item["name"], + slack_id: item["id"], + topic: item["topic"]["value"] + member_count: item["num_members"] + ) + end + return channels + end end \ No newline at end of file diff --git a/lib/recipient.rb b/lib/recipient.rb index b2972548..daa11c54 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -1,3 +1,5 @@ +#coded along with Devin for Wave 1 + require 'httparty' class Recipient @@ -8,33 +10,20 @@ def initialize(slack_id:, name:) @name = name end - #api endpoint https://api.slack.com/methods/chat.postMessage - def send_message(msg_text) - #send the message using HTTParty - data = HTTParty.get(url, query: {token: ENV['SLACK_TOKEN']}) - #deal with errors, if any - if data.code != 200 - raise SlackAPIError - end - - return data - end - def details raise NotImplementedError, "Define this method in a child class" end - - # ------ Class Methods ------ - - #this looks like it should be fetcher, based on the API's docs + def self.get(url) - #send message using HTTParty + response = HTTParty.get(url, query: {token: ENV['SLACK_TOKEN']}) - #check for errors, if any + if response.code != 200 || response["ok"] == false + raise SlackAPIError, "We encountered a problem: #{response["error"]}" + end + + return response end - - #this smells like a bigger factory method def self.list_all raise NotImplementedError, "Define this method in a child class" end diff --git a/lib/slack.rb b/lib/slack.rb index 528a1231..1b8690e1 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,7 +1,9 @@ +#coded along with Devin for Wave 1 #!/usr/bin/env ruby require 'httparty' require 'dotenv' +require 'table_print' require_relative 'workspace' @@ -21,11 +23,11 @@ def main case user_input when "List users" - tp workspace.users, "slack_id", "name", "real_name" + tp workspace.users, "slack_id", "name", "real_name", "status_emoji", "status_text" puts "\n" when "List channels" - tp workspace.channels, "name", "topic", "member_count", "slack_id" + tp workspace.channels, "name", "slack_id", "topic", "member_count" puts "\n" when "Select user" @@ -70,7 +72,8 @@ def main def input_prompt puts "What would you like to do? Your options are:" - puts "List users \nList channels \nSelect user \nSelect channel \nDetails \nSend message \nQuit \n" + puts "List users \nList channels \nSelect user \nSelect channel \nDetails \nSend message \nQuit" + puts "\n" return gets.chomp.capitalize end diff --git a/lib/user.rb b/lib/user.rb index ed96bd87..79ab64b1 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -1,28 +1,41 @@ +#coded along with Devin for Wave 1 + require_relative 'recipient' class User < Recipient attr_reader :real_name, :status_text, :status_emoji - def initialize( real_name:, status_text:, status_emoji:, name:, slack_id:) + def initialize(real_name:, status_text:, status_emoji:, name:, slack_id:) super(slack_id: slack_id, name: name) @real_name = real_name - @status_text = status_text @status_emoji = status_emoji + @status_text = status_text end def details + return [{ + "name" => @name, + "slack_id" => @slack_id, + "real_name" => @real_name, + "status_emoji" => @status_emoji, + "status_text" => @status_text + }] end - #------ Class Methods ------ - - #api endpoint documentation https://api.slack.com/methods/users.list def self.list_all - #get the data - - #parse the data, instansiate an object - - #return the list of instansiated objects - #this format tells me that I can use this to instansiate a Workspace! + data = self.get("https://api.slack.com/methods/users.list") + users = [] + + data["members"].each do |user| + users << User.new( + name: user["name"], + slack_id: user["id"], + real_name: user["profile"]["real_name"], + status_emoji: user["profile"]["status_emoji"], + status_text: user["profile"]["status_text"] + ) + + return users end end \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb index 0ef4c0a3..7b137671 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -1,19 +1,23 @@ +#coded along with Devin for Wave 1 + require_relative 'user' require_relative 'channel' class Workspace - attr_reader :users, :channels, :selected + attr_reader :users, :selected_user, :channels, :selected_channel def initialize() - @users = [] - @channels = [] - @selected = nil + @users = User.list_all + @selected_user = nil + @channels = Channel.list_all + @selected_channel = nil end - def select_channel + def select_user + end - def select_user + def select_channel end def show_details diff --git a/test/channel_spec.rb b/test/channel_spec.rb index 8ed5ba3a..d8b011fb 100644 --- a/test/channel_spec.rb +++ b/test/channel_spec.rb @@ -1,7 +1,41 @@ +#coded along with Devin for Wave 1 + require_relative "test_helper" require_relative '../lib/channel' describe "Channel" do + describe "self.get" do + it "gets a list of channels" do + result = {} + VCR.use_cassette("channel-list-endpoint") do + result = Channel.get("https://slack.com/api/conversations.list") + end + + expect(result).must_be_kind_of HTTParty::Response + expect(result["ok"]).must_equal true + end + + it "raises an error when a call fails" do + VCR.use_cassette("channel-list-endpoint") do + expect {User.get("https://slack.com/api/bogus.endpoint")}.must_raise SlackAPIError + end + end + end + + it "returns a valid list of channels" do + result = [] + + VCR.use_cassette("channel-list-endpoint") do + result = Channel.list_all + end + + expect(result).must_be_kind_of Array + expect(result.length).must_be :>, 0 + result.each do |channel| + expect(channel).must_be_kind_of Channel + end + end + diff --git a/test/slack_spec.rb b/test/slack_spec.rb deleted file mode 100644 index 3c11aee2..00000000 --- a/test/slack_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -require_relative 'test_helper' -require_relative '../lib/slack' - - -describe "Slack" do - - - - -end \ No newline at end of file diff --git a/test/test_helper.rb b/test/test_helper.rb index e6be324b..e632c77e 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,12 +1,17 @@ +#coded along with Devin for Wave 1 + require 'simplecov' SimpleCov.start do add_filter 'test/' + add_filter 'lib/slack.rb' end +require 'httparty' require 'minitest' require 'minitest/autorun' require 'minitest/reporters' require 'minitest/skip_dsl' +require 'webmock/minitest' require 'vcr' require 'dotenv' @@ -28,15 +33,9 @@ :match_requests_on => [:method, :uri, :body], # The http method, URI and body of a request all need to match } - #posts as name of user who generated that token => YOU - config.filter_sensitive_data("") do + config.filter_sensitive_data("") do ENV['SLACK_TOKEN'] end - #posts as name of app - # config.filter_sensitive_data("") do - # ENV['BOT_TOKEN'] - # end - end diff --git a/test/user_spec.rb b/test/user_spec.rb index 1ffb82cb..275aa48f 100644 --- a/test/user_spec.rb +++ b/test/user_spec.rb @@ -1,3 +1,5 @@ +#coded along with Devin for Wave 1 + require_relative "test_helper" require_relative '../lib/user' @@ -5,7 +7,7 @@ describe "self.get" do it "gets a list of users" do result = {} - VCR.use_cassette("users-list") do + VCR.use_cassette("users-list-endpoint") do result = User.get("https://slack.com/api/users.list") end @@ -14,16 +16,25 @@ end it "raises an error when a call fails" do - VCR.use_cassette("users-list") do + VCR.use_cassette("users-list-endpoint") do expect {User.get("https://slack.com/api/bogus.endpoint")}.must_raise SlackAPIError end end end + describe "self.list" do + it "returns a valid list of users" do + result = [] + VCR.use_cassette("users-list-endpoint") do + result = User.list_all + end - - - + expect(result).must_be_kind_of Array + expect(result.length).must_be :>, 0 + result.each do |user| + expect(user).must_be_kind_of User + end + end end \ No newline at end of file diff --git a/test/workspace_spec.rb b/test/workspace_spec.rb index cb382c12..7d2ab632 100644 --- a/test/workspace_spec.rb +++ b/test/workspace_spec.rb @@ -1,3 +1,5 @@ +#coded along with Devin for Wave 1 + require_relative "test_helper" require_relative '../lib/workspace' From 8e93a289bb9297d288cbdf81abd5247b8ef31ebe Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 03:11:42 -0700 Subject: [PATCH 03/11] Added send_message method, no tests associated --- lib/recipient.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/recipient.rb b/lib/recipient.rb index daa11c54..11288a53 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -10,6 +10,18 @@ def initialize(slack_id:, name:) @name = name end + def send_message(msg_text) + response = HTTParty.post( + https://api.slack.com/methods/chat.postMessage, + body: { + token: ENV['SLACK_TOKEN'], + text: message, + channel: @slack_id + }, + headers: { 'Content-Type' => 'application/x-www-form-urlencoded' } + ) + end + def details raise NotImplementedError, "Define this method in a child class" end From 765d398582f5eb149a51c0addcad1176a26b8fc0 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 03:16:45 -0700 Subject: [PATCH 04/11] changed workspace back to 3 var --- lib/workspace.rb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index 7b137671..a79ed517 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -4,13 +4,12 @@ require_relative 'channel' class Workspace - attr_reader :users, :selected_user, :channels, :selected_channel + attr_reader :users, :channels, :selected - def initialize() + def initialize @users = User.list_all - @selected_user = nil @channels = Channel.list_all - @selected_channel = nil + @selected = nil end def select_user @@ -23,8 +22,6 @@ def select_channel def show_details end - def send_message - end end From 0f8e64759e6010392e718153ef7100b970d5a760 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 04:18:18 -0700 Subject: [PATCH 05/11] Rake wasn't working, because spec not test. FIXED. --- lib/channel.rb | 6 +- lib/recipient.rb | 2 +- lib/slack.rb | 5 +- lib/user.rb | 4 +- lib/workspace.rb | 6 + test/cassettes/channel-list-endpoint.yml | 229 ++++++++++++++++++ test/cassettes/users-list-endpoint.yml | 212 ++++++++++++++++ test/{channel_spec.rb => channel_test.rb} | 16 ++ test/test_helper.rb | 9 +- test/{user_spec.rb => user_test.rb} | 3 +- test/{workspace_spec.rb => workspace_test.rb} | 0 11 files changed, 476 insertions(+), 16 deletions(-) create mode 100644 test/cassettes/channel-list-endpoint.yml create mode 100644 test/cassettes/users-list-endpoint.yml rename test/{channel_spec.rb => channel_test.rb} (69%) rename test/{user_spec.rb => user_test.rb} (99%) rename test/{workspace_spec.rb => workspace_test.rb} (100%) diff --git a/lib/channel.rb b/lib/channel.rb index e0b6fb49..3bc02d7e 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -1,10 +1,8 @@ #coded along with Devin for Wave 1 -require_relative 'recipient' require 'httparty' -require 'dotenv' +require_relative 'recipient' -Dotenv.load class Channel < Recipient attr_reader :topic, :member_count @@ -32,7 +30,7 @@ def self.list_all channels << Channel.new( name: item["name"], slack_id: item["id"], - topic: item["topic"]["value"] + topic: item["topic"]["value"], member_count: item["num_members"] ) end diff --git a/lib/recipient.rb b/lib/recipient.rb index 11288a53..6ad0d852 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -12,7 +12,7 @@ def initialize(slack_id:, name:) def send_message(msg_text) response = HTTParty.post( - https://api.slack.com/methods/chat.postMessage, + "https://api.slack.com/methods/chat.postMessage", body: { token: ENV['SLACK_TOKEN'], text: message, diff --git a/lib/slack.rb b/lib/slack.rb index 1b8690e1..b6977482 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -3,11 +3,10 @@ require 'httparty' require 'dotenv' +Dotenv.load require 'table_print' - require_relative 'workspace' -Dotenv.load def main workspace = Workspace.new @@ -49,7 +48,7 @@ def main user_input = nil puts "\n" end - when "send message" + when "Send message" if workspace.selected == nil puts "Please select a user or channel." puts "\n" diff --git a/lib/user.rb b/lib/user.rb index 79ab64b1..51218a98 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -1,5 +1,5 @@ #coded along with Devin for Wave 1 - +require 'httparty' require_relative 'recipient' class User < Recipient @@ -35,7 +35,7 @@ def self.list_all status_emoji: user["profile"]["status_emoji"], status_text: user["profile"]["status_text"] ) - + end return users end end \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb index a79ed517..ce9e880e 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -2,6 +2,8 @@ require_relative 'user' require_relative 'channel' +require 'dotenv' +Dotenv.load class Workspace attr_reader :users, :channels, :selected @@ -14,6 +16,7 @@ def initialize def select_user + end def select_channel @@ -22,6 +25,9 @@ def select_channel def show_details end + def send_message(message) + Recipient.send_message(message, @selected) + end end diff --git a/test/cassettes/channel-list-endpoint.yml b/test/cassettes/channel-list-endpoint.yml new file mode 100644 index 00000000..3f604a69 --- /dev/null +++ b/test/cassettes/channel-list-endpoint.yml @@ -0,0 +1,229 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/bogus.endpoint?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '80' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 11:17:13 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 8dda3ff8e50053f6c0f5a04da52a094d + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-lxhd + X-Cache: + - Miss from cloudfront + Via: + - 1.1 aa623e134417515bd2496cb01d5e5626.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - th9ySEUjkw6u5It1JhF0et6ySES52-LNzvtrmhITcMvaoQGTygygoA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.endpoint"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 11:17:14 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '762' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 11:17:14 GMT + Server: + - Apache + X-Slack-Req-Id: + - 238b9d00e4a810673362fb28ed4035f6 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-w90z + X-Cache: + - Miss from cloudfront + Via: + - 1.1 b4085435efbe95a420f374958bd145bf.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - TflaxTrpMF_u4bmvtAWzdetjbilcGVjMg-ZFW57yeW84UtG6VpsN5g== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CUT6XEYR0","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CUT6ZCFGS","name":"rand_channel2","is_channel":true,"is_group":false,"is_im":false,"created":1583865776,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"rand_channel2","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CUUGBK77D","name":"slack-api-project","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api-project","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV1D0TP50","name":"test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584165197,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test_channel","is_shared":false,"parent_conversation":null,"creator":"UUT7ESHPU","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"for + testing","creator":"UUT7ESHPU","last_set":1584165198},"previous_names":[],"num_members":1},{"id":"CV60NTK4G","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CV8KPL19U","name":"katiestestchannel","is_channel":true,"is_group":false,"is_im":false,"created":1583879041,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"katiestestchannel","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 11:17:14 GMT +- request: + method: get + uri: https://api.slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '762' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 11:17:14 GMT + Server: + - Apache + X-Slack-Req-Id: + - bc101409e6fd36d5eec148bae32fc90a + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-ty4a + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d8792dbd3191bbe722eba5b536b979c8.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - jN40SlqfumW4YVHsQ8RDVVcinXv1aBKV23ZOYZL4a-OUCPg6urJl6A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CUT6XEYR0","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CUT6ZCFGS","name":"rand_channel2","is_channel":true,"is_group":false,"is_im":false,"created":1583865776,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"rand_channel2","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CUUGBK77D","name":"slack-api-project","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api-project","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV1D0TP50","name":"test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584165197,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test_channel","is_shared":false,"parent_conversation":null,"creator":"UUT7ESHPU","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"for + testing","creator":"UUT7ESHPU","last_set":1584165198},"previous_names":[],"num_members":1},{"id":"CV60NTK4G","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CV8KPL19U","name":"katiestestchannel","is_channel":true,"is_group":false,"is_im":false,"created":1583879041,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"katiestestchannel","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 11:17:15 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/users-list-endpoint.yml b/test/cassettes/users-list-endpoint.yml new file mode 100644 index 00000000..5b35cb63 --- /dev/null +++ b/test/cassettes/users-list-endpoint.yml @@ -0,0 +1,212 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '1809' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 11:17:12 GMT + Server: + - Apache + X-Slack-Req-Id: + - a2514052048f92118d063b1d7e7c6b55 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-ij90 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 60b744e5b364d04abea9fa6686121242.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 6QasICM_YQveDepBqlGTS4rz0W95-FGha-W9ErjoR7ZANa-aaUyuyg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUT7ESHPU","team_id":"TV617KKKP","name":"pchelina.kate","deleted":false,"color":"e7392d","real_name":"Ekaterina","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"hello","phone":"","skype":"","real_name":"Ekaterina","real_name_normalized":"Ekaterina","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge00c4c4b571","first_name":"Ekaterina","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584084018},{"id":"UUUGBHPDH","team_id":"TV617KKKP","name":"katie.vandervoort","deleted":false,"color":"9f69e7","real_name":"katie.vandervoort","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katie.vandervoort","real_name_normalized":"katie.vandervoort","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g05c27faff1c","image_24":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584320106},{"id":"UUUL7E4HZ","team_id":"TV617KKKP","name":"katieslackapiproject","deleted":false,"color":"674b1b","real_name":"katieslackapiproject","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katieslackapiproject","real_name_normalized":"katieslackapiproject","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g5d44bcb8226","api_app_id":"AV8A54MK8","always_active":false,"bot_id":"BUW222YSD","image_24":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583869411},{"id":"UUWHGFP25","team_id":"TV617KKKP","name":"time_kate_api_project","deleted":false,"color":"e0a729","real_name":"time_kate_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_kate_api_project","real_name_normalized":"time_kate_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge2f423a0037","api_app_id":"AV665NBEY","always_active":true,"bot_id":"BV8S561GE","first_name":"time_kate_api_project","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584214923},{"id":"UV5GT0PBN","team_id":"TV617KKKP","name":"oliviamulholland94","deleted":false,"color":"4bbe2e","real_name":"Liv + Mulholland","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Liv + Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584357432,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 11:17:12 GMT +- request: + method: get + uri: https://slack.com/api/bogus.endpoint?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '80' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 11:17:12 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - d346525fc5e6f6c7e03558abe60f4d90 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-8ijn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d90109c5a0c30f43223e0db85921c5c2.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - i6erFtIX7TPROgvmO4Rg1-gx8_vu_UB1_ZanYbOKEJOmpPgRXy4Pnw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.endpoint"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 11:17:13 GMT +- request: + method: get + uri: https://api.slack.com/methods/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - text/html; charset=utf-8 + Content-Length: + - '21097' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 11:17:15 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Xss-Protection: + - '0' + X-Slack-Backend: + - h + Set-Cookie: + - b=b2wgesrl1q217kxbxscvp5w4l; expires=Sat, 16-Mar-2030 11:17:15 GMT; Max-Age=315532800; + path=/; domain=.slack.com; secure; SameSite=None + - x=b2wgesrl1q217kxbxscvp5w4l.1584357435; expires=Mon, 16-Mar-2020 11:32:15 + GMT; Max-Age=900; path=/; domain=.slack.com; secure; SameSite=None + X-Frame-Options: + - SAMEORIGIN + X-Via: + - haproxy-www-xfo1 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 f9d716a351f14a0ac1fac2449734849b.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - QZnFD1sYIIbfVETFD0cl73mVNfS0aAwT9JdxydYZD2DGfVRbQnv3-A== + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4tVVMiIGNsYXNzPSIiPjxoZWFkPjxzY3JpcHQ+d2luZG93LnRzX2VuZHBvaW50X3VybCA9ICJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL3RpbWluZyI7KGZ1bmN0aW9uKGUpIHsKCXZhciBuPURhdGUubm93P0RhdGUubm93KCk6K25ldyBEYXRlLHI9ZS5wZXJmb3JtYW5jZXx8e30sdD1bXSxhPXt9LGk9ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHI9MCxhPXQubGVuZ3RoLGk9W107YT5yO3IrKyl0W3JdW2VdPT1uJiZpLnB1c2godFtyXSk7cmV0dXJuIGl9LG89ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIsYT10Lmxlbmd0aDthLS07KXI9dFthXSxyLmVudHJ5VHlwZSE9ZXx8dm9pZCAwIT09biYmci5uYW1lIT1ufHx0LnNwbGljZShhLDEpfTtyLm5vd3x8KHIubm93PXIud2Via2l0Tm93fHxyLm1vek5vd3x8ci5tc05vd3x8ZnVuY3Rpb24oKXtyZXR1cm4oRGF0ZS5ub3c/RGF0ZS5ub3coKTorbmV3IERhdGUpLW59KSxyLm1hcmt8fChyLm1hcms9ci53ZWJraXRNYXJrfHxmdW5jdGlvbihlKXt2YXIgbj17bmFtZTplLGVudHJ5VHlwZToibWFyayIsc3RhcnRUaW1lOnIubm93KCksZHVyYXRpb246MH07dC5wdXNoKG4pLGFbZV09bn0pLHIubWVhc3VyZXx8KHIubWVhc3VyZT1yLndlYmtpdE1lYXN1cmV8fGZ1bmN0aW9uKGUsbixyKXtuPWFbbl0uc3RhcnRUaW1lLHI9YVtyXS5zdGFydFRpbWUsdC5wdXNoKHtuYW1lOmUsZW50cnlUeXBlOiJtZWFzdXJlIixzdGFydFRpbWU6bixkdXJhdGlvbjpyLW59KX0pLHIuZ2V0RW50cmllc0J5VHlwZXx8KHIuZ2V0RW50cmllc0J5VHlwZT1yLndlYmtpdEdldEVudHJpZXNCeVR5cGV8fGZ1bmN0aW9uKGUpe3JldHVybiBpKCJlbnRyeVR5cGUiLGUpfSksci5nZXRFbnRyaWVzQnlOYW1lfHwoci5nZXRFbnRyaWVzQnlOYW1lPXIud2Via2l0R2V0RW50cmllc0J5TmFtZXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGkoIm5hbWUiLGUpfSksci5jbGVhck1hcmtzfHwoci5jbGVhck1hcmtzPXIud2Via2l0Q2xlYXJNYXJrc3x8ZnVuY3Rpb24oZSl7bygibWFyayIsZSl9KSxyLmNsZWFyTWVhc3VyZXN8fChyLmNsZWFyTWVhc3VyZXM9ci53ZWJraXRDbGVhck1lYXN1cmVzfHxmdW5jdGlvbihlKXtvKCJtZWFzdXJlIixlKX0pLGUucGVyZm9ybWFuY2U9ciwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiYoZGVmaW5lLmFtZHx8ZGVmaW5lLmFqcykmJmRlZmluZSgicGVyZm9ybWFuY2UiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCn0pKHdpbmRvdyk7PC9zY3JpcHQ+PHNjcmlwdD4KCihmdW5jdGlvbigpIHsKCQoJd2luZG93LlRTTWFyayA9IGZ1bmN0aW9uKG1hcmtfbGFiZWwpIHsKCQlpZiAoIXdpbmRvdy5wZXJmb3JtYW5jZSB8fCAhd2luZG93LnBlcmZvcm1hbmNlLm1hcmspIHJldHVybjsKCQlwZXJmb3JtYW5jZS5tYXJrKG1hcmtfbGFiZWwpOwoJfTsKCXdpbmRvdy5UU01hcmsoJ3N0YXJ0X2xvYWQnKTsKCgkKCXdpbmRvdy5UU01lYXN1cmVBbmRCZWFjb24gPSBmdW5jdGlvbihtZWFzdXJlX2xhYmVsLCBzdGFydF9tYXJrX2xhYmVsKSB7CgkJaWYgKCF3aW5kb3cucGVyZm9ybWFuY2UgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZS5tYXJrIHx8ICF3aW5kb3cucGVyZm9ybWFuY2UubWVhc3VyZSkgewoJCQlyZXR1cm47CgkJfQoKCQlwZXJmb3JtYW5jZS5tYXJrKHN0YXJ0X21hcmtfbGFiZWwgKyAnX2VuZCcpOwoKCQl0cnkgewoJCQlwZXJmb3JtYW5jZS5tZWFzdXJlKG1lYXN1cmVfbGFiZWwsIHN0YXJ0X21hcmtfbGFiZWwsIHN0YXJ0X21hcmtfbGFiZWwgKyAnX2VuZCcpOwoJCQl3aW5kb3cuVFNCZWFjb24obWVhc3VyZV9sYWJlbCwgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShtZWFzdXJlX2xhYmVsKVswXS5kdXJhdGlvbik7CgkJfSBjYXRjaCAoZSkgewoJCQkKCQl9Cgl9OwoKCQoJaWYgKCdzZW5kQmVhY29uJyBpbiBuYXZpZ2F0b3IpIHsKCQl3aW5kb3cuVFNCZWFjb24gPSBmdW5jdGlvbihsYWJlbCwgdmFsdWUpIHsKCQkJdmFyIGVuZHBvaW50X3VybCA9IHdpbmRvdy50c19lbmRwb2ludF91cmwgfHwgJ2h0dHBzOi8vc2xhY2suY29tL2JlYWNvbi90aW1pbmcnOwoJCQluYXZpZ2F0b3Iuc2VuZEJlYWNvbigKCQkJCWVuZHBvaW50X3VybCArICc/ZGF0YT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGxhYmVsICsgJzonICsgdmFsdWUpLAoJCQkJJycKCQkJKTsKCQl9OwoJfSBlbHNlIHsKCQl3aW5kb3cuVFNCZWFjb24gPSBmdW5jdGlvbihsYWJlbCwgdmFsdWUpIHsKCQkJdmFyIGVuZHBvaW50X3VybCA9IHdpbmRvdy50c19lbmRwb2ludF91cmwgfHwgJ2h0dHBzOi8vc2xhY2suY29tL2JlYWNvbi90aW1pbmcnOwoJCQluZXcgSW1hZ2UoKS5zcmMgPSBlbmRwb2ludF91cmwgKyAnP2RhdGE9JyArIGVuY29kZVVSSUNvbXBvbmVudChsYWJlbCArICc6JyArIHZhbHVlKTsKCQl9OwoJfQp9KSgpOwo8L3NjcmlwdD48c2NyaXB0PndpbmRvdy5UU01hcmsoJ3N0ZXBfbG9hZCcpOzwvc2NyaXB0Pjxub3NjcmlwdD48bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIwOyBVUkw9L21ldGhvZHMvdXNlcnMubGlzdD90b2tlbj08U0xBQ0tfVE9LRU4+JmFtcDtub2pzbW9kZT0xIj48L25vc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgc2FmZV9ob3N0cyA9IFsnYXBwLm9wdGltaXplbHkuY29tJ107CgppZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7Cgl3aW5kb3cuZG9jdW1lbnQud3JpdGUoCgkJJ1x1MDAzQ3N0eWxlPmJvZHkgKiB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVx1MDAzQy9zdHlsZT5cdTAwM0NhIGhyZWY9IiMiIG9uY2xpY2s9JyArCgkJCScidG9wLmxvY2F0aW9uLmhyZWY9d2luZG93LmxvY2F0aW9uLmhyZWYiIHN0eWxlPSJkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7cGFkZGluZzoxMHB4Ij5HbyB0byBTbGFjay5jb21cdTAwM0MvYT4nCgkpOwp9CgooZnVuY3Rpb24oKSB7Cgl2YXIgdGltZXI7CglpZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7CgkJdGltZXIgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CgkJCWlmICh3aW5kb3cpIHsKCQkJCXRyeSB7CgkJCQkJdmFyIHBhZ2VFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlJyk7CgkJCQkJdmFyIGNsaWVudEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsaWVudC11aScpOwoJCQkJCXZhciBzZWN0aW9uRWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbmF2LCBoZWFkZXIsIHNlY3Rpb24nKTsKCgkJCQkJcGFnZUVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocGFnZUVsKTsKCQkJCQljbGllbnRFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsaWVudEVsKTsKCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNlY3Rpb25FbHMubGVuZ3RoOyBpKyspIHsKCQkJCQkJc2VjdGlvbkVsc1tpXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlY3Rpb25FbHNbaV0pOwoJCQkJCX0KCQkJCQl3aW5kb3cuVFMgPSBudWxsOwoJCQkJCXdpbmRvdy5URCA9IG51bGw7CgkJCQkJd2luZG93LmNsZWFySW50ZXJ2YWwodGltZXIpOwoJCQkJfSBjYXRjaCAoZSkge30JCgkJCX0KCQl9LCAyMDApOwoJfQp9KSgpOzwvc2NyaXB0Pjx0aXRsZT51c2Vycy5saXN0IG1ldGhvZCB8IFNsYWNrPC90aXRsZT48bWV0YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0cnVlIj48bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+PG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJTbGFjayI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzY2YTUyL3N0eWxlL3JvbGx1cC1zbGFja19raXRfbGVnYWN5X2FkYXB0ZXJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9hY2Q3Ny9zdHlsZS9yb2xsdXAtYXBpX3NpdGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvbW9kZXJuLnZlbmRvci41NjA4MTA2Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48bGluayBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vZjE5NWMzL3N0eWxlL3JvbGx1cC1zbGFja19raXRfaGVscGVycy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgaWQ9InNsYWNrX2tpdF9oZWxwZXJzX3N0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvd2VicGFjay5tYW5pZmVzdC4yZjFlM2VhNjcyY2Q3YmY3YWVmMC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48bGluayBpZD0iZmF2aWNvbiIgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvbWFya2V0aW5nL2ltZy9tZXRhL2Zhdmljb24tMzIucG5nIiBzaXplcz0iMTZ4MTYgMzJ4MzIgNDh4NDgiIHR5cGU9ImltYWdlL3BuZyI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKd2luZG93LmRhdGFMYXllci5wdXNoKHsKCSdndG0uc3RhcnQnOiBEYXRlLm5vdygpLAoJJ2V2ZW50JyA6ICdndG0uanMnLAoJJ3NlY3VyZV9wYWdlJyA6IGZhbHNlLAp9KTsKdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwp2YXIgdGhpc1NjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwp0aGlzU2NyaXB0LmFzeW5jID0gdHJ1ZTsKdGhpc1NjcmlwdC5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1LSDJMUEsnOwpmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzU2NyaXB0LCBmaXJzdFNjcmlwdCk7Cjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKGUpIHsKCXZhciBndG1EYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOwoJdmFyIGd0bVRhZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcqW2RhdGEtZ3RtLWNsaWNrXScpOwoJdmFyIGd0bUNsaWNrSGFuZGxlciA9IGZ1bmN0aW9uKGMpIHsKCQl2YXIgZ3RtX2V2ZW50cyA9IHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWd0bS1jbGljaycpOwoJCWlmICghZ3RtX2V2ZW50cykgcmV0dXJuOwoJCXZhciBndG1fZXZlbnRzX2FyciA9IGd0bV9ldmVudHMuc3BsaXQoIiwiKTsKCQlmb3IodmFyIGU9MDsgZSA8IGd0bV9ldmVudHNfYXJyLmxlbmd0aDsgZSsrKSB7CgkJCXZhciBldiA9IGd0bV9ldmVudHNfYXJyW2VdLnRyaW0oKTsKCQkJZ3RtRGF0YUxheWVyLnB1c2goeyAnZXZlbnQnOiBldiB9KTsKCQl9Cgl9OwoJZm9yKHZhciBnPTA7IGcgPCBndG1UYWdzLmxlbmd0aDsgZysrKXsKCQl2YXIgZWxlbSA9IGd0bVRhZ3NbZ107CgkJZWxlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGd0bUNsaWNrSGFuZGxlcik7Cgl9Cn0pOwo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CihmdW5jdGlvbihlLGMsYixmLGQsZyxhKXtlLlNsYWNrQmVhY29uT2JqZWN0PWQ7CmVbZF09ZVtkXXx8ZnVuY3Rpb24oKXsoZVtkXS5xPWVbZF0ucXx8W10pLnB1c2goWzEqbmV3IERhdGUoKSxhcmd1bWVudHNdKX07CmVbZF0ubD0xKm5ldyBEYXRlKCk7Zz1jLmNyZWF0ZUVsZW1lbnQoYik7YT1jLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpWzBdOwpnLmFzeW5jPTE7Zy5zcmM9ZjthLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsYSkKfSkod2luZG93LGRvY3VtZW50LCJzY3JpcHQiLCJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9zbGFja19iZWFjb24uNTI1NmMxZjI1MmY5YWU4ODUwNzEubWluLmpzIiwic2IiKTsKd2luZG93LnNiKCdzZXQnLCAndG9rZW4nLCAnMzMwN2Y0MzY5NjNlMDJkNGY5ZWI4NWNlNTE1OTc0NGMnKTsKd2luZG93LnNiKCd0cmFjaycsICdwYWdldmlldycpOwo8L3NjcmlwdD48bGluayByZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgdGl0bGU9IlJlY2VudCBjaGFuZ2VzIHRvIHRoZSBTbGFjayBwbGF0Zm9ybSBSU1MgRmVlZCIgaHJlZj0iL2NoYW5nZWxvZy5yc3MiPjwvaGVhZD48Ym9keSBjbGFzcz0iYXBpICBmZWF0dXJlX3JlbGF0ZWRfY29udGVudCI+PGhlYWRlcj48ZGl2IGNsYXNzPSJkaXNwbGF5X2ZsZXggZnVsbF93aWR0aCBmbGV4X2RpcmVjdGlvbl9yb3cgYWxpZ25faXRlbXNfY2VudGVyIGhlYWRlcl93cmFwcGVyIj48YSBpZD0ibWVudV90b2dnbGUiIGNsYXNzPSJub190cmFuc2l0aW9uIHNob3dfb25fbW9iaWxlIG5hdl9pY29uX2xpbmsiPjx0cy1pY29uIGNsYXNzPSJjLWljb24gbnVkZ2VfdG9wXzEgYy1pY29uLS1tZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC90cy1pY29uPjwvYT48ZGl2IGNsYXNzPSJmbGV4X29uZSI+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuc2xhY2suY29tLyIgaWQ9ImhlYWRlcl9sb2dvIiBjbGFzcz0iYXBpIj48aW1nIGFsdD0iU2xhY2sgQVBJIiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS84MDU4OC9pbWcvc2xhY2tfYXBpX2xvZ29fdm9ndWUucG5nIj48L2E+PC9kaXY+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuc2xhY2suY29tL3NlYXJjaCIgY2xhc3M9InNlYXJjaF9uYXZfbGluayBzaG93X29uX21vYmlsZSBmbGV4X25vbmUgbmF2X2ljb25fbGluayI+PHRzLWljb24gY2xhc3M9ImMtaWNvbiBjLWljb24tLXNlYXJjaC1tZWRpdW0iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3RzLWljb24+PC9hPjxkaXYgY2xhc3M9InNlYXJjaF9uYXZfaW5saW5lIGhpZGVfb25fbW9iaWxlIGZsZXhfb25lIj48Zm9ybSBjbGFzcz0ic2VhcmNoIiBhY2NlcHQtY2hhcnNldD0iVVRGLTgiIGFjdGlvbj0iL3NlYXJjaCIgbWV0aG9kPSJnZXQiIHJvbGU9InNlYXJjaCI+PGRpdiBjbGFzcz0iYy1maWx0ZXJfaW5wdXQgYXBpX3NlYXJjaCIgcm9sZT0icHJlc2VudGF0aW9uIj48dHMtaWNvbiBjbGFzcz0iYy1pY29uIG51ZGdlX3RvcF8xIGMtaWNvbi0tc2VhcmNoLW1lZGl1bSIgYXJpYS1oaWRkZW49InRydWUiPjwvdHMtaWNvbj48aW5wdXQgY2xhc3M9InNlYXJjaF9pbnB1dCIgaWQ9InF1ZXJ5IiBuYW1lPSJxdWVyeSIgdmFsdWU9IiIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCIgZGF0YS1zbWFsbHBsYWNlaG9sZGVyPSJTZWFyY2ggdGhlIGRvY3VtZW50YXRpb24iPjwvZGl2PjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJoaWRlX29uX21vYmlsZSBmbGV4X25vbmUiPjxkaXYgY2xhc3M9ImhlYWRlcl9uYXYiPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3NpZ25pbiIgY2xhc3M9ImJ0biBoZWFkZXJfYnRuIGZsb2F0X3JpZ2h0IiBkYXRhLXFhPSJzaWduX2luIj5HbyB0byBTbGFjazwvYT48ZGl2IGNsYXNzPSJoZWFkZXJfbGlua3MgZmxvYXRfcmlnaHQiPjxhIGhyZWY9Ii8jcmVhZF90aGVfZG9jcyIgY2xhc3M9ImFjdGl2ZSIgZGF0YS1xYT0iZG9jdW1lbnRhdGlvbiI+RG9jdW1lbnRhdGlvbjwvYT4gPGEgaHJlZj0iL3R1dG9yaWFscyIgZGF0YS1xYT0idHV0b3JpYWxzIj5UdXRvcmlhbHM8L2E+IDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vQHNsYWNrYXBpIiB0YXJnZXQ9Im5ldyIgZGF0YS1xYT0idHdpdHRlciI+VHdpdHRlcjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJhbGVydF9wYWdlX3N0YWNrZWQiPjxkaXYgY2xhc3M9ImFsZXJ0X3BhZ2UgYWxlcnRfc3VjY2VzcyBoaWRkZW4gZmFkZSBhcGlfYWxlcnRfcGFnZSIgZGF0YS1qcz0iYXBpX2FsZXJ0X3BhZ2UiPjxpIGNsYXNzPSJ0c19pY29uIHRzX2ljb25fY2hlY2tfY2lyY2xlX28iPjwvaT5TdWNjZXNzITwvZGl2PjwvZGl2PjwvaGVhZGVyPjxkaXYgaWQ9InBhZ2UiIGNsYXNzPSJsYXlvdXRfdGhyZWVfY29sIj48ZGl2IGlkPSJwYWdlX2NvbnRlbnRzIiBjbGFzcz0iY2xlYXJmaXggIj48bmF2IGlkPSJhcGlfbmF2IiBjbGFzcz0iY29sIGh1YiI+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51IHNob3dfb25fbW9iaWxlIj48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPk15IFNsYWNrIEFQSTwvaDQ+PHVsIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdCI+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iLyNyZWFkX3RoZV9kb2NzIj5Eb2N1bWVudGF0aW9uPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3R1dG9yaWFscyI+VHV0b3JpYWxzPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2FwcHMiPllvdXIgQXBwczwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51Ij48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPlN0YXJ0IGhlcmU8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9zdGFydC9vdmVydmlldyIgdGFyZ2V0PSIiPkFuIGludHJvZHVjdGlvbiB0b8KgYXBwcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3RhcnQvcGxhbm5pbmciIHRhcmdldD0iIj5QbGFubmluZyB5b3VyIGFwcCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3RhcnQvZGVzaWduaW5nIiB0YXJnZXQ9IiI+RGVzaWduaW5nIGV4cGVyaWVuY2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9zdGFydC9idWlsZGluZyIgdGFyZ2V0PSIiPkJ1aWxkaW5nIGFuIGFwcCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmVzdC1wcmFjdGljZXMvYmx1ZXByaW50cyIgdGFyZ2V0PSIiPkFwcCBibHVlcHJpbnRzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9jaGFuZ2Vsb2ciIHRhcmdldD0iIj5SZWNlbnQgY2hhbmdlcyA8L2E+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXJfbWVudSI+PGg0IGNsYXNzPSJzaWRlYmFyX21lbnVfaGVhZGVyIj5JbnN0YWxsYXRpb24gJmFtcDsgcGVybWlzc2lvbnM8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbiIgdGFyZ2V0PSIiPk92ZXJ2aWV3IDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbi9iYXNpY3MiIHRhcmdldD0iIj5CYXNpYyBhcHAgc2V0dXAgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2F1dGhlbnRpY2F0aW9uL29hdXRoLXYyIiB0YXJnZXQ9IiI+SW5zdGFsbGluZyB3aXRoIE9BdXRoIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbi9xdWlja3N0YXJ0IiB0YXJnZXQ9IiI+UXVpY2tzdGFydCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYXV0aGVudGljYXRpb24vbWlncmF0aW9uIiB0YXJnZXQ9IiI+TWlncmF0aW9uIGd1aWRlIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbi92ZXJpZnlpbmctcmVxdWVzdHMtZnJvbS1zbGFjayIgdGFyZ2V0PSIiPkFwcCBTZWN1cml0eSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYXV0aGVudGljYXRpb24vYmVzdC1wcmFjdGljZXMiIHRhcmdldD0iIj5SZWZlcmVuY2UgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+QXBwIHN1cmZhY2VzPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3VyZmFjZXMiIHRhcmdldD0iIj5PdmVydmlldyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3VyZmFjZXMvdGFicyIgdGFyZ2V0PSIiPkhvbWUgdGFicyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3VyZmFjZXMvbW9kYWxzIiB0YXJnZXQ9IiI+TW9kYWxzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9zdXJmYWNlcy9tZXNzYWdlcyIgdGFyZ2V0PSIiPk1lc3NhZ2VzIDwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51Ij48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPkJsb2NrIEtpdDogQnVpbGRpbmcgVUlzPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmxvY2sta2l0IiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2Jsb2NrLWtpdC9idWlsZGluZyIgdGFyZ2V0PSIiPkJ1aWxkaW5nIGJsb2NrcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmxvY2sta2l0L2ludGVyYWN0aXZpdHkiIHRhcmdldD0iIj5JbnRlcmFjdGl2aXR5IGluIGJsb2NrcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmxvY2sta2l0LWJ1aWxkZXIiIHRhcmdldD0iIj5CbG9jayBLaXQgQnVpbGRlciA8L2E+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXJfbWVudSI+PGg0IGNsYXNzPSJzaWRlYmFyX21lbnVfaGVhZGVyIj5JbnRlcmFjdGl2aXR5PC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvaW50ZXJhY3Rpdml0eSIgdGFyZ2V0PSIiPk92ZXJ2aWV3IDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9pbnRlcmFjdGl2aXR5L2hhbmRsaW5nIiB0YXJnZXQ9IiI+SGFuZGxpbmcgdXNlciBpbnRlcmFjdGlvbiA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvaW50ZXJhY3Rpdml0eS9lbnRyeS1wb2ludHMiIHRhcmdldD0iIj5FbnRyeSBwb2ludHMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2ludGVyYWN0aXZpdHkvYWN0aW9ucyIgdGFyZ2V0PSIiPkFwcCBBY3Rpb25zIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9pbnRlcmFjdGl2aXR5L3NsYXNoLWNvbW1hbmRzIiB0YXJnZXQ9IiI+U2xhc2ggQ29tbWFuZHMgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+TWVzc2FnaW5nPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvbWVzc2FnaW5nIiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL21lc3NhZ2luZy9tYW5hZ2luZyIgdGFyZ2V0PSIiPk1hbmFnaW5nIG1lc3NhZ2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9tZXNzYWdpbmcvY29tcG9zaW5nIiB0YXJnZXQ9IiI+Q29tcG9zaW5nIG1lc3NhZ2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9tZXNzYWdpbmcvaW50ZXJhY3Rpdml0eSIgdGFyZ2V0PSIiPkludGVyYWN0aXZlIG1lc3NhZ2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9tZXNzYWdpbmcvZmlsZXMiIHRhcmdldD0iIj5Xb3JraW5nIHdpdGggZmlsZXMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3JlZmVyZW5jZS9tZXNzYWdpbmcvcGF5bG9hZCIgdGFyZ2V0PSIiPlJlZmVyZW5jZSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvaW5jb21pbmctd2ViaG9va3MiIHRhcmdldD0iIj5JbmNvbWluZyB3ZWJob29rcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9vdXRtb2RlZC1tZXNzYWdpbmciIHRhcmdldD0iIj5PdXRtb2RlZCBtZXNzYWdpbmcgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+QXBwcyBmb3IgZW50ZXJwcmlzZXM8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9lbnRlcnByaXNlIiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2VudGVycHJpc2UvZ3JpZCIgdGFyZ2V0PSIiPkVudGVycHJpc2UgR3JpZCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZW50ZXJwcmlzZS9zaGFyZWQtY2hhbm5lbHMiIHRhcmdldD0iIj5TaGFyZWQgY2hhbm5lbHMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2VudGVycHJpc2UvbWFuYWdpbmciIHRhcmdldD0iIj5BcHBzIGZvciBTbGFjayBBZG1pbnMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3NjaW0iIHRhcmdldD0iIj5Qcm92aXNpb25pbmcgd2l0aCBTQ0lNIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9kb2NzL2F1ZGl0LWxvZ3MtYXBpIiB0YXJnZXQ9IiI+QXVkaXQgTG9ncyBBUEkgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2VudGVycHJpc2UvZ3JpZC90ZXN0aW5nIiB0YXJnZXQ9IiI+VGVzdGluZyBhcHBzIG9uIEdyaWQgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+UmVmZXJlbmNlPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvcmVmZXJlbmNlIiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3dlYiIgdGFyZ2V0PSIiPldlYiBBUEkgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL21ldGhvZHMiIHRhcmdldD0iIj5NZXRob2RzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii90eXBlcyIgdGFyZ2V0PSIiPk9iamVjdCBUeXBlcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZXZlbnRzLWFwaSIgdGFyZ2V0PSIiPkV2ZW50cyBBUEkgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2V2ZW50cyIgdGFyZ2V0PSIiPkV2ZW50IFR5cGVzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9ydG0iIHRhcmdldD0iIj5SZWFsIFRpbWUgTWVzc2FnaW5nIEFQSSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9wYWdpbmF0aW9uIiB0YXJnZXQ9IiI+UGFnaW5hdGlvbiA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9wcmVzZW5jZS1hbmQtc3RhdHVzIiB0YXJnZXQ9IiI+UHJlc2VuY2UgJmFtcDsgc3RhdHVzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9yZWZlcmVuY2UvZGVlcC1saW5raW5nIiB0YXJnZXQ9IiI+RGVlcCBsaW5raW5nIGludG8gY2xpZW50cyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9yYXRlLWxpbWl0cyIgdGFyZ2V0PSIiPlJhdGUgTGltaXRzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9kb2NzL3NpZ24taW4td2l0aC1zbGFjayIgdGFyZ2V0PSIiPlNpZ24gaW4gd2l0aCBTbGFjayA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvbGVnYWN5LXdvcmtzcGFjZS1hcHBzIiB0YXJnZXQ9IiI+TGVnYWN5OiBXb3Jrc3BhY2UgYXBwcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9vYXV0aCIgdGFyZ2V0PSIiPkxlZ2FjeTogT0F1dGggMi4wIGZvciBjbGFzc2ljIGFwcHMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2RvY3Mvc2xhY2stc3RhdHVzIiB0YXJnZXQ9IiI+U2xhY2sgU3RhdHVzIDwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51Ij48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPktlZXAgaW4gdG91Y2g8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9kb2NzL3N1cHBvcnQiIHRhcmdldD0iIj5TdXBwb3J0IGFuZCBEaXNjdXNzaW9uIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vc2xhY2thcGkiIHRhcmdldD0iIj5AU2xhY2tBUEkgb24gVHdpdHRlciA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSJodHRwczovL21lZGl1bS5jb20vc2xhY2stZGV2ZWxvcGVyLWJsb2ciIHRhcmdldD0iIj5QbGF0Zm9ybSBCbG9nIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Imh0dHBzOi8vc2xhY2suZW5naW5lZXJpbmciIHRhcmdldD0iIj5TbGFjayBFbmdpbmVlcmluZyBCbG9nIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9yb2FkbWFwIiB0YXJnZXQ9IiI+UGxhdGZvcm0gUm9hZG1hcCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSJodHRwczovL3NsYWNrLmNvbS9wYXJ0bmVycyIgdGFyZ2V0PSIiPlBhcnRuZXJpbmcgd2l0aCBTbGFjayA8L2E+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXJfbWVudSI+PGg0IGNsYXNzPSJzaWRlYmFyX21lbnVfaGVhZGVyIj5SZXNvdXJjZXM8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9mYXEiIHRhcmdldD0iIj5GQVEgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3Rvb2xzIiB0YXJnZXQ9IiI+U2xhY2sgZGV2ZWxvcGVyIHRvb2xzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9sYW5nL2phLWpwIiB0YXJnZXQ9IiI+SW4gSmFwYW5lc2UgKOaXpeacrOiqnikgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+Q29tbXVuaXR5PC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSJodHRwczovL3NsYWNrY29tbXVuaXR5LmNvbT91dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fc291cmNlPWFwaXNsYWNrJmFtcDt1dG1fY2FtcGFpZ249ZnkyMC1RMTAzLXNwY2xhdW5jaCIgdGFyZ2V0PSIiPlNsYWNrIFBsYXRmb3JtIENvbW11bml0eSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvY29tbXVuaXR5IiB0YXJnZXQ9IiI+QnVpbHQgYnkgb3VyIGNvbW11bml0eSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9ob3N0aW5nIiB0YXJnZXQ9IiI+SG9zdGluZyBQcm92aWRlcnMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2RvY3MvY29tbXVuaXR5LWNvZGUtb2YtY29uZHVjdCIgdGFyZ2V0PSIiPkNvZGUgb2YgQ29uZHVjdCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc2xhY2stZnVuZCIgdGFyZ2V0PSIiPlNsYWNrIEZ1bmQgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3Rlcm1zLW9mLXNlcnZpY2UvYXBpIiB0YXJnZXQ9IiI+QVBJIFRlcm1zIG9mIFNlcnZpY2UgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxwPjxhIGRhdGEtZ3RtLWNsaWNrPSJBUElHZXRIZWxwIiBkYXRhLWNsb2ctZXZlbnQ9IkFQUF9ESVJFQ1RPUllfV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWFwaV9uYXZfZ2V0X2hlbHBfYnRuIiBocmVmPSIvc3VwcG9ydD9yZWY9YXBpX25hdiIgY2xhc3M9ImJ0biI+R2V0IEhlbHA8L2E+PC9wPjwvZGl2PjwvbmF2PjxkaXYgaWQ9ImFwaV9tYWluX2NvbnRlbnQiIGNsYXNzPSJjb2wiPjxkaXYgY2xhc3M9ImZsb2F0X3JpZ2h0IHNtYWxsX3RvcF9tYXJnaW4iIHN0eWxlPSJ3aWR0aDogMzAwcHg7IG1heC13aWR0aDogMTAwJTsiPjxzZWxlY3QgaWQ9ImFwaV9tZXRob2QiIGRhdGEtbGF6eS1maWx0ZXItc2VsZWN0PSIxIj48b3B0aW9uIHNlbGVjdGVkIGRpc2FibGVkPlZpZXcgYW5vdGhlciBtZXRob2QuLi48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5hcHBzLmFwcHJvdmUiPmFkbWluLmFwcHMuYXBwcm92ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmFwcHMuYXBwcm92ZWQubGlzdCI+YWRtaW4uYXBwcy5hcHByb3ZlZC5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uYXBwcy5yZXF1ZXN0cy5saXN0Ij5hZG1pbi5hcHBzLnJlcXVlc3RzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5hcHBzLnJlc3RyaWN0Ij5hZG1pbi5hcHBzLnJlc3RyaWN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uYXBwcy5yZXN0cmljdGVkLmxpc3QiPmFkbWluLmFwcHMucmVzdHJpY3RlZC5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uY29udmVyc2F0aW9ucy5zZXRUZWFtcyI+YWRtaW4uY29udmVyc2F0aW9ucy5zZXRUZWFtczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmVtb2ppLmFkZCI+YWRtaW4uZW1vamkuYWRkPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uZW1vamkuYWRkQWxpYXMiPmFkbWluLmVtb2ppLmFkZEFsaWFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uZW1vamkubGlzdCI+YWRtaW4uZW1vamkubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmVtb2ppLnJlbW92ZSI+YWRtaW4uZW1vamkucmVtb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uZW1vamkucmVuYW1lIj5hZG1pbi5lbW9qaS5yZW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5pbnZpdGVSZXF1ZXN0cy5hcHByb3ZlIj5hZG1pbi5pbnZpdGVSZXF1ZXN0cy5hcHByb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uaW52aXRlUmVxdWVzdHMuYXBwcm92ZWQubGlzdCI+YWRtaW4uaW52aXRlUmVxdWVzdHMuYXBwcm92ZWQubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmludml0ZVJlcXVlc3RzLmRlbmllZC5saXN0Ij5hZG1pbi5pbnZpdGVSZXF1ZXN0cy5kZW5pZWQubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmludml0ZVJlcXVlc3RzLmRlbnkiPmFkbWluLmludml0ZVJlcXVlc3RzLmRlbnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5pbnZpdGVSZXF1ZXN0cy5saXN0Ij5hZG1pbi5pbnZpdGVSZXF1ZXN0cy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuYWRtaW5zLmxpc3QiPmFkbWluLnRlYW1zLmFkbWlucy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuY3JlYXRlIj5hZG1pbi50ZWFtcy5jcmVhdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi50ZWFtcy5saXN0Ij5hZG1pbi50ZWFtcy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMub3duZXJzLmxpc3QiPmFkbWluLnRlYW1zLm93bmVycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3MuaW5mbyI+YWRtaW4udGVhbXMuc2V0dGluZ3MuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnRlYW1zLnNldHRpbmdzLnNldERlZmF1bHRDaGFubmVscyI+YWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0RGVmYXVsdENoYW5uZWxzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0RGVzY3JpcHRpb24iPmFkbWluLnRlYW1zLnNldHRpbmdzLnNldERlc2NyaXB0aW9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0RGlzY292ZXJhYmlsaXR5Ij5hZG1pbi50ZWFtcy5zZXR0aW5ncy5zZXREaXNjb3ZlcmFiaWxpdHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi50ZWFtcy5zZXR0aW5ncy5zZXRJY29uIj5hZG1pbi50ZWFtcy5zZXR0aW5ncy5zZXRJY29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0TmFtZSI+YWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0TmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnVzZXJzLmFzc2lnbiI+YWRtaW4udXNlcnMuYXNzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMuaW52aXRlIj5hZG1pbi51c2Vycy5pbnZpdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi51c2Vycy5saXN0Ij5hZG1pbi51c2Vycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMucmVtb3ZlIj5hZG1pbi51c2Vycy5yZW1vdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi51c2Vycy5zZXNzaW9uLnJlc2V0Ij5hZG1pbi51c2Vycy5zZXNzaW9uLnJlc2V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMuc2V0QWRtaW4iPmFkbWluLnVzZXJzLnNldEFkbWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMuc2V0RXhwaXJhdGlvbiI+YWRtaW4udXNlcnMuc2V0RXhwaXJhdGlvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnVzZXJzLnNldE93bmVyIj5hZG1pbi51c2Vycy5zZXRPd25lcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnVzZXJzLnNldFJlZ3VsYXIiPmFkbWluLnVzZXJzLnNldFJlZ3VsYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhcGkudGVzdCI+YXBpLnRlc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhcHBzLnBlcm1pc3Npb25zLmluZm8iPmFwcHMucGVybWlzc2lvbnMuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFwcHMucGVybWlzc2lvbnMucmVxdWVzdCI+YXBwcy5wZXJtaXNzaW9ucy5yZXF1ZXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXBwcy5wZXJtaXNzaW9ucy5yZXNvdXJjZXMubGlzdCI+YXBwcy5wZXJtaXNzaW9ucy5yZXNvdXJjZXMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFwcHMucGVybWlzc2lvbnMuc2NvcGVzLmxpc3QiPmFwcHMucGVybWlzc2lvbnMuc2NvcGVzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhcHBzLnBlcm1pc3Npb25zLnVzZXJzLmxpc3QiPmFwcHMucGVybWlzc2lvbnMudXNlcnMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFwcHMucGVybWlzc2lvbnMudXNlcnMucmVxdWVzdCI+YXBwcy5wZXJtaXNzaW9ucy51c2Vycy5yZXF1ZXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXBwcy51bmluc3RhbGwiPmFwcHMudW5pbnN0YWxsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXV0aC5yZXZva2UiPmF1dGgucmV2b2tlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXV0aC50ZXN0Ij5hdXRoLnRlc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJib3RzLmluZm8iPmJvdHMuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmFyY2hpdmUiPmNoYW5uZWxzLmFyY2hpdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5jcmVhdGUiPmNoYW5uZWxzLmNyZWF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmhpc3RvcnkiPmNoYW5uZWxzLmhpc3Rvcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5pbmZvIj5jaGFubmVscy5pbmZvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMuaW52aXRlIj5jaGFubmVscy5pbnZpdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5qb2luIj5jaGFubmVscy5qb2luPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMua2ljayI+Y2hhbm5lbHMua2ljazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmxlYXZlIj5jaGFubmVscy5sZWF2ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmxpc3QiPmNoYW5uZWxzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5tYXJrIj5jaGFubmVscy5tYXJrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMucmVuYW1lIj5jaGFubmVscy5yZW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5yZXBsaWVzIj5jaGFubmVscy5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMuc2V0UHVycG9zZSI+Y2hhbm5lbHMuc2V0UHVycG9zZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLnNldFRvcGljIj5jaGFubmVscy5zZXRUb3BpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLnVuYXJjaGl2ZSI+Y2hhbm5lbHMudW5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhdC5kZWxldGUiPmNoYXQuZGVsZXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhdC5kZWxldGVTY2hlZHVsZWRNZXNzYWdlIj5jaGF0LmRlbGV0ZVNjaGVkdWxlZE1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LmdldFBlcm1hbGluayI+Y2hhdC5nZXRQZXJtYWxpbms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0Lm1lTWVzc2FnZSI+Y2hhdC5tZU1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LnBvc3RFcGhlbWVyYWwiPmNoYXQucG9zdEVwaGVtZXJhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYXQucG9zdE1lc3NhZ2UiPmNoYXQucG9zdE1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LnNjaGVkdWxlTWVzc2FnZSI+Y2hhdC5zY2hlZHVsZU1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LnNjaGVkdWxlZE1lc3NhZ2VzLmxpc3QiPmNoYXQuc2NoZWR1bGVkTWVzc2FnZXMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYXQudW5mdXJsIj5jaGF0LnVuZnVybDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYXQudXBkYXRlIj5jaGF0LnVwZGF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMuYXJjaGl2ZSI+Y29udmVyc2F0aW9ucy5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5jbG9zZSI+Y29udmVyc2F0aW9ucy5jbG9zZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMuY3JlYXRlIj5jb252ZXJzYXRpb25zLmNyZWF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMuaGlzdG9yeSI+Y29udmVyc2F0aW9ucy5oaXN0b3J5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5pbmZvIj5jb252ZXJzYXRpb25zLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLmludml0ZSI+Y29udmVyc2F0aW9ucy5pbnZpdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLmpvaW4iPmNvbnZlcnNhdGlvbnMuam9pbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMua2ljayI+Y29udmVyc2F0aW9ucy5raWNrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5sZWF2ZSI+Y29udmVyc2F0aW9ucy5sZWF2ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMubGlzdCI+Y29udmVyc2F0aW9ucy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5tZW1iZXJzIj5jb252ZXJzYXRpb25zLm1lbWJlcnM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLm9wZW4iPmNvbnZlcnNhdGlvbnMub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMucmVuYW1lIj5jb252ZXJzYXRpb25zLnJlbmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMucmVwbGllcyI+Y29udmVyc2F0aW9ucy5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5zZXRQdXJwb3NlIj5jb252ZXJzYXRpb25zLnNldFB1cnBvc2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLnNldFRvcGljIj5jb252ZXJzYXRpb25zLnNldFRvcGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy51bmFyY2hpdmUiPmNvbnZlcnNhdGlvbnMudW5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlhbG9nLm9wZW4iPmRpYWxvZy5vcGVuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG5kLmVuZERuZCI+ZG5kLmVuZERuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRuZC5lbmRTbm9vemUiPmRuZC5lbmRTbm9vemU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJkbmQuaW5mbyI+ZG5kLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJkbmQuc2V0U25vb3plIj5kbmQuc2V0U25vb3plPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG5kLnRlYW1JbmZvIj5kbmQudGVhbUluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJlbW9qaS5saXN0Ij5lbW9qaS5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmlsZXMuY29tbWVudHMuZGVsZXRlIj5maWxlcy5jb21tZW50cy5kZWxldGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5kZWxldGUiPmZpbGVzLmRlbGV0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLmluZm8iPmZpbGVzLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5saXN0Ij5maWxlcy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmlsZXMucmVtb3RlLmFkZCI+ZmlsZXMucmVtb3RlLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS5pbmZvIj5maWxlcy5yZW1vdGUuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS5saXN0Ij5maWxlcy5yZW1vdGUubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS5yZW1vdmUiPmZpbGVzLnJlbW90ZS5yZW1vdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5yZW1vdGUuc2hhcmUiPmZpbGVzLnJlbW90ZS5zaGFyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS51cGRhdGUiPmZpbGVzLnJlbW90ZS51cGRhdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5yZXZva2VQdWJsaWNVUkwiPmZpbGVzLnJldm9rZVB1YmxpY1VSTDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnNoYXJlZFB1YmxpY1VSTCI+ZmlsZXMuc2hhcmVkUHVibGljVVJMPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmlsZXMudXBsb2FkIj5maWxlcy51cGxvYWQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuYXJjaGl2ZSI+Z3JvdXBzLmFyY2hpdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuY3JlYXRlIj5ncm91cHMuY3JlYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLmNyZWF0ZUNoaWxkIj5ncm91cHMuY3JlYXRlQ2hpbGQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuaGlzdG9yeSI+Z3JvdXBzLmhpc3Rvcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuaW5mbyI+Z3JvdXBzLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuaW52aXRlIj5ncm91cHMuaW52aXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLmtpY2siPmdyb3Vwcy5raWNrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLmxlYXZlIj5ncm91cHMubGVhdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMubGlzdCI+Z3JvdXBzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMubWFyayI+Z3JvdXBzLm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMub3BlbiI+Z3JvdXBzLm9wZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMucmVuYW1lIj5ncm91cHMucmVuYW1lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLnJlcGxpZXMiPmdyb3Vwcy5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLnNldFB1cnBvc2UiPmdyb3Vwcy5zZXRQdXJwb3NlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLnNldFRvcGljIj5ncm91cHMuc2V0VG9waWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMudW5hcmNoaXZlIj5ncm91cHMudW5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaW0uY2xvc2UiPmltLmNsb3NlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaW0uaGlzdG9yeSI+aW0uaGlzdG9yeTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImltLmxpc3QiPmltLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJpbS5tYXJrIj5pbS5tYXJrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaW0ub3BlbiI+aW0ub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImltLnJlcGxpZXMiPmltLnJlcGxpZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtaWdyYXRpb24uZXhjaGFuZ2UiPm1pZ3JhdGlvbi5leGNoYW5nZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1waW0uY2xvc2UiPm1waW0uY2xvc2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtcGltLmhpc3RvcnkiPm1waW0uaGlzdG9yeTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1waW0ubGlzdCI+bXBpbS5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibXBpbS5tYXJrIj5tcGltLm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtcGltLm9wZW4iPm1waW0ub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1waW0ucmVwbGllcyI+bXBpbS5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ib2F1dGguYWNjZXNzIj5vYXV0aC5hY2Nlc3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJvYXV0aC50b2tlbiI+b2F1dGgudG9rZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJvYXV0aC52Mi5hY2Nlc3MiPm9hdXRoLnYyLmFjY2Vzczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InBpbnMuYWRkIj5waW5zLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InBpbnMubGlzdCI+cGlucy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icGlucy5yZW1vdmUiPnBpbnMucmVtb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVhY3Rpb25zLmFkZCI+cmVhY3Rpb25zLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlYWN0aW9ucy5nZXQiPnJlYWN0aW9ucy5nZXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJyZWFjdGlvbnMubGlzdCI+cmVhY3Rpb25zLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJyZWFjdGlvbnMucmVtb3ZlIj5yZWFjdGlvbnMucmVtb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVtaW5kZXJzLmFkZCI+cmVtaW5kZXJzLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlbWluZGVycy5jb21wbGV0ZSI+cmVtaW5kZXJzLmNvbXBsZXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVtaW5kZXJzLmRlbGV0ZSI+cmVtaW5kZXJzLmRlbGV0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlbWluZGVycy5pbmZvIj5yZW1pbmRlcnMuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlbWluZGVycy5saXN0Ij5yZW1pbmRlcnMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJ0bS5jb25uZWN0Ij5ydG0uY29ubmVjdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJ0bS5zdGFydCI+cnRtLnN0YXJ0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2VhcmNoLmFsbCI+c2VhcmNoLmFsbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNlYXJjaC5maWxlcyI+c2VhcmNoLmZpbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2VhcmNoLm1lc3NhZ2VzIj5zZWFyY2gubWVzc2FnZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzdGFycy5hZGQiPnN0YXJzLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InN0YXJzLmxpc3QiPnN0YXJzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzdGFycy5yZW1vdmUiPnN0YXJzLnJlbW92ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InRlYW0uYWNjZXNzTG9ncyI+dGVhbS5hY2Nlc3NMb2dzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGVhbS5iaWxsYWJsZUluZm8iPnRlYW0uYmlsbGFibGVJbmZvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGVhbS5pbmZvIj50ZWFtLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0ZWFtLmludGVncmF0aW9uTG9ncyI+dGVhbS5pbnRlZ3JhdGlvbkxvZ3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0ZWFtLnByb2ZpbGUuZ2V0Ij50ZWFtLnByb2ZpbGUuZ2V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcmdyb3Vwcy5jcmVhdGUiPnVzZXJncm91cHMuY3JlYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcmdyb3Vwcy5kaXNhYmxlIj51c2VyZ3JvdXBzLmRpc2FibGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1c2VyZ3JvdXBzLmVuYWJsZSI+dXNlcmdyb3Vwcy5lbmFibGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1c2VyZ3JvdXBzLmxpc3QiPnVzZXJncm91cHMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJncm91cHMudXBkYXRlIj51c2VyZ3JvdXBzLnVwZGF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJncm91cHMudXNlcnMubGlzdCI+dXNlcmdyb3Vwcy51c2Vycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcmdyb3Vwcy51c2Vycy51cGRhdGUiPnVzZXJncm91cHMudXNlcnMudXBkYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMuY29udmVyc2F0aW9ucyI+dXNlcnMuY29udmVyc2F0aW9uczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmRlbGV0ZVBob3RvIj51c2Vycy5kZWxldGVQaG90bzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmdldFByZXNlbmNlIj51c2Vycy5nZXRQcmVzZW5jZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmlkZW50aXR5Ij51c2Vycy5pZGVudGl0eTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmluZm8iPnVzZXJzLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1c2Vycy5saXN0Ij51c2Vycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMubG9va3VwQnlFbWFpbCI+dXNlcnMubG9va3VwQnlFbWFpbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLnByb2ZpbGUuZ2V0Ij51c2Vycy5wcm9maWxlLmdldDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLnByb2ZpbGUuc2V0Ij51c2Vycy5wcm9maWxlLnNldDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLnNldEFjdGl2ZSI+dXNlcnMuc2V0QWN0aXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMuc2V0UGhvdG8iPnVzZXJzLnNldFBob3RvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMuc2V0UHJlc2VuY2UiPnVzZXJzLnNldFByZXNlbmNlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idmlld3Mub3BlbiI+dmlld3Mub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InZpZXdzLnB1Ymxpc2giPnZpZXdzLnB1Ymxpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ2aWV3cy5wdXNoIj52aWV3cy5wdXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idmlld3MudXBkYXRlIj52aWV3cy51cGRhdGU8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48aDE+dXNlcnMubGlzdDwvaDE+PGRpdiBjbGFzcz0idGFiX3NldCBvbl9uZXV0cmFsX2dyZXkiPjxhIGhyZWY9Ii9tZXRob2RzL3VzZXJzLmxpc3QiIGNsYXNzPSJzZWxlY3RlZCI+RG9jdW1lbnRhdGlvbjwvYT48YSBocmVmPSIvbWV0aG9kcy91c2Vycy5saXN0L3Rlc3QiPlRlc3RlcjwvYT48YSBocmVmPSIvbWV0aG9kcy91c2Vycy5saXN0L2NvZGUiPkNvZGU8L2E+PC9kaXY+PHNlY3Rpb24gY2xhc3M9InRhYl9wYW5lIHNlbGVjdGVkIGNsZWFyZml4IGxhcmdlX2JvdHRvbV9wYWRkaW5nIiBkYXRhLXRhYj0iZG9jcyI+PHA+TGlzdHMgYWxsIHVzZXJzIGluIGEgU2xhY2sgdGVhbS48L3A+PHA+PC9wPjxoMiBpZD0iZmFjdHMiPkZhY3RzPC9oMj48dGFibGUgY2xhc3M9InNtYWxsIGZ1bGxfd2lkdGggbm9fYm90dG9tX21hcmdpbiBub19ib3R0b21fcGFkZGluZyI+PHRyPjx0aCBjbGFzcz0iYWxpZ25fcmlnaHQiPk1ldGhvZCBVUkw6PC90aD48dGQ+PGNvZGU+aHR0cHM6Ly9zbGFjay5jb20vYXBpL3VzZXJzLmxpc3Q8L2NvZGU+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImFsaWduX3JpZ2h0Ij5QcmVmZXJyZWQgSFRUUCBtZXRob2Q6PC90aD48dGQ+PGNvZGU+R0VUPC9jb2RlPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJhbGlnbl9yaWdodCI+QWNjZXB0ZWQgY29udGVudCB0eXBlczo8L3RoPjx0ZD48Y29kZT5hcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ8L2NvZGU+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImFsaWduX3JpZ2h0Ij5SYXRlIGxpbWl0aW5nOjwvdGg+PHRkPjxzcGFuIGNsYXNzPSJyYXRlX2xpbWl0IHRpZXJfdDIiPjxhIGhyZWY9Ii9kb2NzL3JhdGUtbGltaXRzI3RpZXJfdDIiPlRpZXIgMjwvYT48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImFsaWduX3JpZ2h0Ij5Xb3JrcyB3aXRoOjwvdGg+PHRkPjx0YWJsZSBjbGFzcz0ic21hbGwgZnVsbF93aWR0aCBub19tYXJnaW4gbm9fcGFkZGluZyI+PHRyIGNsYXNzPSJub19tYXJnaW4gbm9fcGFkZGluZyI+PHRoIGNsYXNzPSJub19tYXJnaW4gbm9fcGFkZGluZyI+VG9rZW4gdHlwZTwvdGg+PHRoIGNsYXNzPSJub19tYXJnaW4gbm9fcGFkZGluZyI+UmVxdWlyZWQgc2NvcGUocyk8L3RoPjwvdHI+PHRyPjx0ZD48YSBjbGFzcz0iYnRuX2Jhc2ljIHBpbGxfYnRuIGJ0bl9zbWFsbCB0b2tlbl9ncmFudWxhcl9ib3QgdG9rZW5fbGluayIgaHJlZj0iL2RvY3MvdG9rZW4tdHlwZXMjZ3JhbnVsYXJfYm90Ij5ib3Q8L2E+PC90ZD48dGQ+PGEgaHJlZj0iL3Njb3Blcy91c2VyczpyZWFkIiB0aXRsZT0iIiBjbGFzcz0idG9rZW5fdHlwZV9ncmFudWxhcl9ib3QiPjxjb2RlPnVzZXJzOnJlYWQ8L2NvZGU+PC9hPsKgIDwvdGQ+PC90cj48dHI+PHRkPjxhIGNsYXNzPSJidG5fYmFzaWMgcGlsbF9idG4gYnRuX3NtYWxsIHRva2VuX3VzZXIgdG9rZW5fbGluayIgaHJlZj0iL2RvY3MvdG9rZW4tdHlwZXMjdXNlciI+dXNlcjwvYT48L3RkPjx0ZD48YSBocmVmPSIvc2NvcGVzL3VzZXJzOnJlYWQiIHRpdGxlPSIiIGNsYXNzPSJ0b2tlbl90eXBlXyI+PGNvZGU+dXNlcnM6cmVhZDwvY29kZT48L2E+wqAgPC90ZD48L3RyPjx0cj48dGQ+PGEgY2xhc3M9ImJ0bl9iYXNpYyBwaWxsX2J0biBidG5fc21hbGwgdG9rZW5fYm90IHRva2VuX2xpbmsiIGhyZWY9Ii9kb2NzL3Rva2VuLXR5cGVzI2JvdCI+Y2xhc3NpY8KgYm90PC9hPjwvdGQ+PHRkPjxhIGhyZWY9Ii9zY29wZXMvYm90Ij48Y29kZT5ib3Q8L2NvZGU+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0ic21hbGxfdG9wX21hcmdpbiI+PHA+VGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSB3b3Jrc3BhY2UuIFRoaXMgaW5jbHVkZXMgZGVsZXRlZC9kZWFjdGl2YXRlZCB1c2Vycy48L3A+Cgo8YSBuYW1lPSJhcmd1bWVudHMiPjwvYT48aDIgPkFyZ3VtZW50czwvaDI+Cgo8ZGl2IGNsYXNzPSJtZXRob2RfYXJndW1lbnRzIGZ1bGxfd2lkdGgiPjxkaXYgY2xhc3M9Im1ldGhvZF9hcmd1bWVudCI+PHNwYW4gY2xhc3M9ImFyZ19jZWxsIGFyZ190aXRsZSI+PHNwYW4gY2xhc3M9ImFyZ19uYW1lIj48YSBocmVmPSIjYXJnX3Rva2VuIiBuYW1lPSJhcmdfdG9rZW4iPjxjb2RlPnRva2VuPC9jb2RlPjwvYT48L3NwYW4+PHNwYW4gY2xhc3M9ImFyZ19tZXRhZGF0YSI+PHNwYW4gY2xhc3M9ImFyZ19yZXF1aXJlbWVudCBhcmdfcmVxdWlyZWQiPlJlcXVpcmVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImFyZ19jZWxsIGFyZ19kZXNjIj48cD5BdXRoZW50aWNhdGlvbiB0b2tlbiBiZWFyaW5nIHJlcXVpcmVkIHNjb3Blcy48L3A+CjxzcGFuIGNsYXNzPSJhcmdfZXhhbXBsZSI+PHNwYW4gY2xhc3M9ImV4YW1wbGVfY2FwdGlvbiI+RXhhbXBsZTwvc3Bhbj48Y29kZT54eHh4LXh4eHh4eHh4eC14eHh4PC9jb2RlPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibWV0aG9kX2FyZ3VtZW50Ij48c3BhbiBjbGFzcz0iYXJnX2NlbGwgYXJnX3RpdGxlIj48c3BhbiBjbGFzcz0iYXJnX25hbWUiPjxhIGhyZWY9IiNhcmdfY3Vyc29yIiBuYW1lPSJhcmdfY3Vyc29yIj48Y29kZT5jdXJzb3I8L2NvZGU+PC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJnX21ldGFkYXRhIj48c3BhbiBjbGFzcz0iYXJnX3JlcXVpcmVtZW50Ij5PcHRpb25hbDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcmdfY2VsbCBhcmdfZGVzYyI+PHA+UGFnaW5hdGUgdGhyb3VnaCBjb2xsZWN0aW9ucyBvZiBkYXRhIGJ5IHNldHRpbmcgdGhlIDxjb2RlPmN1cnNvcjwvY29kZT4gcGFyYW1ldGVyIHRvIGEgPGNvZGU+bmV4dF9jdXJzb3I8L2NvZGU+IGF0dHJpYnV0ZSByZXR1cm5lZCBieSBhIHByZXZpb3VzIHJlcXVlc3QncyA8Y29kZT5yZXNwb25zZV9tZXRhZGF0YTwvY29kZT4uIERlZmF1bHQgdmFsdWUgZmV0Y2hlcyB0aGUgZmlyc3QgInBhZ2UiIG9mIHRoZSBjb2xsZWN0aW9uLiBTZWUgPGEgaHJlZj0iL2RvY3MvcGFnaW5hdGlvbiI+cGFnaW5hdGlvbjwvYT4gZm9yIG1vcmUgZGV0YWlsLjwvcD4KPHNwYW4gY2xhc3M9ImFyZ19leGFtcGxlIj48c3BhbiBjbGFzcz0iZXhhbXBsZV9jYXB0aW9uIj5FeGFtcGxlPC9zcGFuPjxjb2RlPmRYTmxjanBWTURZeFRrWlVWREk9PC9jb2RlPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibWV0aG9kX2FyZ3VtZW50Ij48c3BhbiBjbGFzcz0iYXJnX2NlbGwgYXJnX3RpdGxlIj48c3BhbiBjbGFzcz0iYXJnX25hbWUiPjxhIGhyZWY9IiNhcmdfaW5jbHVkZV9sb2NhbGUiIG5hbWU9ImFyZ19pbmNsdWRlX2xvY2FsZSI+PGNvZGU+aW5jbHVkZV9sb2NhbGU8L2NvZGU+PC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJnX21ldGFkYXRhIj48c3BhbiBjbGFzcz0iYXJnX3JlcXVpcmVtZW50Ij5PcHRpb25hbDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcmdfY2VsbCBhcmdfZGVzYyI+PHA+U2V0IHRoaXMgdG8gPGNvZGU+dHJ1ZTwvY29kZT4gdG8gcmVjZWl2ZSB0aGUgbG9jYWxlIGZvciB1c2Vycy4gRGVmYXVsdHMgdG8gPGNvZGU+ZmFsc2U8L2NvZGU+PC9wPgo8c3BhbiBjbGFzcz0iYXJnX2V4YW1wbGUiPjxzcGFuIGNsYXNzPSJleGFtcGxlX2NhcHRpb24iPkV4YW1wbGU8L3NwYW4+PGNvZGU+dHJ1ZTwvY29kZT48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9Im1ldGhvZF9hcmd1bWVudCI+PHNwYW4gY2xhc3M9ImFyZ19jZWxsIGFyZ190aXRsZSI+PHNwYW4gY2xhc3M9ImFyZ19uYW1lIj48YSBocmVmPSIjYXJnX2xpbWl0IiBuYW1lPSJhcmdfbGltaXQiPjxjb2RlPmxpbWl0PC9jb2RlPjwvYT48L3NwYW4+PHNwYW4gY2xhc3M9ImFyZ19tZXRhZGF0YSI+PHNwYW4gY2xhc3M9ImFyZ19yZXF1aXJlbWVudCI+T3B0aW9uYWw8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJnX2NlbGwgYXJnX2Rlc2MiPjxwPlRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byByZXR1cm4uIEZld2VyIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgaXRlbXMgbWF5IGJlIHJldHVybmVkLCBldmVuIGlmIHRoZSBlbmQgb2YgdGhlIHVzZXJzIGxpc3QgaGFzbid0IGJlZW4gcmVhY2hlZC48L3A+CjxwPkRlZmF1bHQ6IDxjb2RlPjA8L2NvZGU+PC9wPjxzcGFuIGNsYXNzPSJhcmdfZXhhbXBsZSI+PHNwYW4gY2xhc3M9ImV4YW1wbGVfY2FwdGlvbiI+RXhhbXBsZTwvc3Bhbj48Y29kZT4yMDwvY29kZT48L3NwYW4+PC9zcGFuPjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJhbGVydCBhbGVydF9pbmZvIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9jb2RlIj48L3RzLWljb24+UHJlc2VudCBhcmd1bWVudHMgYXMgcGFyYW1ldGVycyBpbiA8Y29kZT5hcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ8L2NvZGU+IHF1ZXJ5c3RyaW5nIG9yIFBPU1QgYm9keS4gVGhpcyBtZXRob2QgZG9lcyBub3QgY3VycmVudGx5IGFjY2VwdCA8Y29kZT5hcHBsaWNhdGlvbi9qc29uPC9jb2RlPi48L3A+Cgo8YSBuYW1lPSJyZXNwb25zZSI+PC9hPjxoMiA+UmVzcG9uc2U8L2gyPgoKPHA+UmV0dXJucyBhIGxpc3Qgb2YgPGEgaHJlZj0iL2RvY3MvcGFnaW5hdGlvbiI+cGFnaW5hdGVkPC9hPiA8YSBocmVmPSIvdHlwZXMvdXNlciI+dXNlciBvYmplY3RzPC9hPiwgaW4gbm8gcGFydGljdWxhciBvcmRlci48L3A+Cgo8ZGl2PjxwPjxwPlR5cGljYWwgc3VjY2VzcyByZXNwb25zZTwvcD4KPC9wPjxwcmU+PGNvZGUgY2xhc3M9Impzb24iPnsKICAgICZxdW90O29rJnF1b3Q7OiB0cnVlLAogICAgJnF1b3Q7bWVtYmVycyZxdW90OzogWwogICAgICAgIHsKICAgICAgICAgICAgJnF1b3Q7aWQmcXVvdDs6ICZxdW90O1cwMTJBM0NERSZxdW90OywKICAgICAgICAgICAgJnF1b3Q7dGVhbV9pZCZxdW90OzogJnF1b3Q7VDAxMkFCM0M0JnF1b3Q7LAogICAgICAgICAgICAmcXVvdDtuYW1lJnF1b3Q7OiAmcXVvdDtzcGVuZ2xlciZxdW90OywKICAgICAgICAgICAgJnF1b3Q7ZGVsZXRlZCZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2NvbG9yJnF1b3Q7OiAmcXVvdDs5ZjY5ZTcmcXVvdDssCiAgICAgICAgICAgICZxdW90O3JlYWxfbmFtZSZxdW90OzogJnF1b3Q7c3BlbmdsZXImcXVvdDssCiAgICAgICAgICAgICZxdW90O3R6JnF1b3Q7OiAmcXVvdDtBbWVyaWNhL0xvc19BbmdlbGVzJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9sYWJlbCZxdW90OzogJnF1b3Q7UGFjaWZpYyBEYXlsaWdodCBUaW1lJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9vZmZzZXQmcXVvdDs6IC0yNTIwMCwKICAgICAgICAgICAgJnF1b3Q7cHJvZmlsZSZxdW90OzogewogICAgICAgICAgICAgICAgJnF1b3Q7YXZhdGFyX2hhc2gmcXVvdDs6ICZxdW90O2dlM2I1MWNhNzJkZSZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O3N0YXR1c190ZXh0JnF1b3Q7OiAmcXVvdDtQcmludCBpcyBkZWFkJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7c3RhdHVzX2Vtb2ppJnF1b3Q7OiAmcXVvdDs6Ym9va3M6JnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7cmVhbF9uYW1lJnF1b3Q7OiAmcXVvdDtFZ29uIFNwZW5nbGVyJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7ZGlzcGxheV9uYW1lJnF1b3Q7OiAmcXVvdDtzcGVuZ2xlciZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O3JlYWxfbmFtZV9ub3JtYWxpemVkJnF1b3Q7OiAmcXVvdDtFZ29uIFNwZW5nbGVyJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7ZGlzcGxheV9uYW1lX25vcm1hbGl6ZWQmcXVvdDs6ICZxdW90O3NwZW5nbGVyJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7ZW1haWwmcXVvdDs6ICZxdW90O3NwZW5nbGVyQGdob3N0YnVzdGVycy5leGFtcGxlLmNvbSZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzI0JnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfMzImcXVvdDs6ICZxdW90O2h0dHBzOi8vLi4uL2F2YXRhci9lM2I1MWNhNzJkZWU0ZWY4NzkxNmFlMmI5MjQwZGY1MC5qcGcmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtpbWFnZV80OCZxdW90OzogJnF1b3Q7aHR0cHM6Ly8uLi4vYXZhdGFyL2UzYjUxY2E3MmRlZTRlZjg3OTE2YWUyYjkyNDBkZjUwLmpwZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzcyJnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfMTkyJnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfNTEyJnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7dGVhbSZxdW90OzogJnF1b3Q7VDAxMkFCM0M0JnF1b3Q7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICZxdW90O2lzX2FkbWluJnF1b3Q7OiB0cnVlLAogICAgICAgICAgICAmcXVvdDtpc19vd25lciZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2lzX3ByaW1hcnlfb3duZXImcXVvdDs6IGZhbHNlLAogICAgICAgICAgICAmcXVvdDtpc19yZXN0cmljdGVkJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aXNfdWx0cmFfcmVzdHJpY3RlZCZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2lzX2JvdCZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O3VwZGF0ZWQmcXVvdDs6IDE1MDIxMzg2ODYsCiAgICAgICAgICAgICZxdW90O2lzX2FwcF91c2VyJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aGFzXzJmYSZxdW90OzogZmFsc2UKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgJnF1b3Q7aWQmcXVvdDs6ICZxdW90O1cwN1FDUlBBNCZxdW90OywKICAgICAgICAgICAgJnF1b3Q7dGVhbV9pZCZxdW90OzogJnF1b3Q7VDBHOVBRQkJLJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDtuYW1lJnF1b3Q7OiAmcXVvdDtnbGluZGEmcXVvdDssCiAgICAgICAgICAgICZxdW90O2RlbGV0ZWQmcXVvdDs6IGZhbHNlLAogICAgICAgICAgICAmcXVvdDtjb2xvciZxdW90OzogJnF1b3Q7OWY2OWU3JnF1b3Q7LAogICAgICAgICAgICAmcXVvdDtyZWFsX25hbWUmcXVvdDs6ICZxdW90O0dsaW5kYSBTb3V0aGdvb2QmcXVvdDssCiAgICAgICAgICAgICZxdW90O3R6JnF1b3Q7OiAmcXVvdDtBbWVyaWNhL0xvc19BbmdlbGVzJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9sYWJlbCZxdW90OzogJnF1b3Q7UGFjaWZpYyBEYXlsaWdodCBUaW1lJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9vZmZzZXQmcXVvdDs6IC0yNTIwMCwKICAgICAgICAgICAgJnF1b3Q7cHJvZmlsZSZxdW90OzogewogICAgICAgICAgICAgICAgJnF1b3Q7YXZhdGFyX2hhc2gmcXVvdDs6ICZxdW90OzhmYmRkMTBiNDFjNiZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzI0JnF1b3Q7OiAmcXVvdDtodHRwczovL2Euc2xhY2stZWRnZS5jb20uLi5wbmcmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtpbWFnZV8zMiZxdW90OzogJnF1b3Q7aHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLi4ucG5nJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfNDgmcXVvdDs6ICZxdW90O2h0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS4uLnBuZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzcyJnF1b3Q7OiAmcXVvdDtodHRwczovL2Euc2xhY2stZWRnZS5jb20uLi5wbmcmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtpbWFnZV8xOTImcXVvdDs6ICZxdW90O2h0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS4uLnBuZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzUxMiZxdW90OzogJnF1b3Q7aHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLi4ucG5nJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfMTAyNCZxdW90OzogJnF1b3Q7aHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLi4ucG5nJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2Vfb3JpZ2luYWwmcXVvdDs6ICZxdW90O2h0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS4uLnBuZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ZpcnN0X25hbWUmcXVvdDs6ICZxdW90O0dsaW5kYSZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2xhc3RfbmFtZSZxdW90OzogJnF1b3Q7U291dGhnb29kJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7dGl0bGUmcXVvdDs6ICZxdW90O0dsaW5kYSB0aGUgR29vZCZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O3Bob25lJnF1b3Q7OiAmcXVvdDsmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtza3lwZSZxdW90OzogJnF1b3Q7JnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7cmVhbF9uYW1lJnF1b3Q7OiAmcXVvdDtHbGluZGEgU291dGhnb29kJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7cmVhbF9uYW1lX25vcm1hbGl6ZWQmcXVvdDs6ICZxdW90O0dsaW5kYSBTb3V0aGdvb2QmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtkaXNwbGF5X25hbWUmcXVvdDs6ICZxdW90O0dsaW5kYSB0aGUgRmFpcmx5IEdvb2QmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtkaXNwbGF5X25hbWVfbm9ybWFsaXplZCZxdW90OzogJnF1b3Q7R2xpbmRhIHRoZSBGYWlybHkgR29vZCZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2VtYWlsJnF1b3Q7OiAmcXVvdDtnbGVuZGFAc291dGgub3ouY292ZW4mcXVvdDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgJnF1b3Q7aXNfYWRtaW4mcXVvdDs6IHRydWUsCiAgICAgICAgICAgICZxdW90O2lzX293bmVyJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aXNfcHJpbWFyeV9vd25lciZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2lzX3Jlc3RyaWN0ZWQmcXVvdDs6IGZhbHNlLAogICAgICAgICAgICAmcXVvdDtpc191bHRyYV9yZXN0cmljdGVkJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aXNfYm90JnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7dXBkYXRlZCZxdW90OzogMTQ4MDUyNzA5OCwKICAgICAgICAgICAgJnF1b3Q7aGFzXzJmYSZxdW90OzogZmFsc2UKICAgICAgICB9CiAgICBdLAogICAgJnF1b3Q7Y2FjaGVfdHMmcXVvdDs6IDE0OTg3NzcyNzIsCiAgICAmcXVvdDtyZXNwb25zZV9tZXRhZGF0YSZxdW90OzogewogICAgICAgICZxdW90O25leHRfY3Vyc29yJnF1b3Q7OiAmcXVvdDtkWE5sY2pwVk1FYzVWMFpZVGxvPSZxdW90OwogICAgfQp9PC9jb2RlPjwvcHJlPjwvZGl2PjxkaXY+PHA+PHA+VHlwaWNhbCBlcnJvciByZXNwb25zZTwvcD4KPC9wPjxwcmU+PGNvZGUgY2xhc3M9Impzb24iPnsKICAgICZxdW90O29rJnF1b3Q7OiBmYWxzZSwKICAgICZxdW90O2Vycm9yJnF1b3Q7OiAmcXVvdDtpbnZhbGlkX2N1cnNvciZxdW90Owp9PC9jb2RlPjwvcHJlPjwvZGl2PgoKPGEgbmFtZT0icHJvZmlsZSI+PC9hPjxoMiA+UHJvZmlsZTwvaDI+Cgo8cD5UaGUgcHJvZmlsZSBoYXNoIGNvbnRhaW5zIGFzIG11Y2ggaW5mb3JtYXRpb24gYXMgdGhlIHVzZXIgaGFzIHN1cHBsaWVkCmluIHRoZSBkZWZhdWx0IHByb2ZpbGUgZmllbGRzOiA8Y29kZT5maXJzdF9uYW1lPC9jb2RlPiwgPGNvZGU+bGFzdF9uYW1lPC9jb2RlPiwgPGNvZGU+cmVhbF9uYW1lPC9jb2RlPiwKPGNvZGU+ZW1haWw8L2NvZGU+LCA8Y29kZT5za3lwZTwvY29kZT4sIGFuZCB0aGUgPGNvZGU+aW1hZ2VfKjwvY29kZT4gZmllbGRzLiAgRGF0YSB0aGF0IGhhcyBub3QgYmVlbiBzdXBwbGllZCBtYXkgbm90IGJlIHByZXNlbnQgYXQgYWxsLCBtYXkgYmUgbnVsbCBvciBtYXkgY29udGFpbiBhbiBlbXB0eSBzdHJpbmcgKDxjb2RlPiIiPC9jb2RlPikuPC9wPgoKPHA+QSB1c2VyJ3MgY3VzdG9tIHByb2ZpbGUgZmllbGRzIG1heSBiZSBkaXNjb3ZlcmVkIHVzaW5nIDxhIGhyZWY9Ii9tZXRob2RzL3VzZXJzLnByb2ZpbGUuZ2V0Ij48Y29kZT51c2Vycy5wcm9maWxlLmdldDwvY29kZT48L2E+LjwvcD4KCjxhIG5hbWU9ImVtYWlsX2FkZHJlc3NlcyI+PC9hPjxoMiA+RW1haWwgYWRkcmVzc2VzPC9oMj4KCjxwIGNsYXNzPSJhbGVydCBhbGVydF93YXJuaW5nIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9zcXVhcmVfd2FybmluZyI+PC90cy1pY29uPjxzdHJvbmc+QWNjZXNzaW5nIGVtYWlsIGFkZHJlc3Nlczwvc3Ryb25nPjxicj5UaGUgPGEgaHJlZj0iL3Njb3Blcy91c2VyczpyZWFkLmVtYWlsIj48Y29kZT51c2VyczpyZWFkLmVtYWlsPC9jb2RlPjwvYT4gT0F1dGggc2NvcGUgaXMgbm93IHJlcXVpcmVkIHRvIGFjY2VzcyB0aGUgPGNvZGU+ZW1haWw8L2NvZGU+IGZpZWxkIGluIDxhIGhyZWY9Ii90eXBlcy91c2VyIj51c2VyIG9iamVjdHM8L2E+IHJldHVybmVkIGJ5IHRoZSA8YSBocmVmPSIvbWV0aG9kcy91c2Vycy5saXN0Ij48Y29kZT51c2Vycy5saXN0PC9jb2RlPjwvYT4gYW5kIDxhIGhyZWY9Ii9tZXRob2RzL3VzZXJzLmluZm8iPjxjb2RlPnVzZXJzLmluZm88L2NvZGU+PC9hPiB3ZWIgQVBJIG1ldGhvZHMuIDxhIGhyZWY9Ii9zY29wZXMvdXNlcnM6cmVhZCI+PGNvZGU+dXNlcnM6cmVhZDwvY29kZT48L2E+IGlzIG5vIGxvbmdlciBhIHN1ZmZpY2llbnQgc2NvcGUgZm9yIHRoaXMgZGF0YSBmaWVsZC4gPGEgaHJlZj0iL2NoYW5nZWxvZy8yMDE3LTA0LW5hcnJvd2luZy1lbWFpbC1hY2Nlc3MiPkxlYXJuIG1vcmU8L2E+LjwvcD4KCjxwPkFwcHMgY3JlYXRlZCBhZnRlciBKYW51YXJ5IDR0aCwgMjAxNyBtdXN0IHJlcXVlc3QgPGVtPmJvdGg8L2VtPiB0aGUgPGNvZGU+dXNlcnM6cmVhZDwvY29kZT4gYW5kIDxjb2RlPnVzZXJzOnJlYWQuZW1haWw8L2NvZGU+IDxhIGhyZWY9Ii9kb2NzL29hdXRoLXNjb3BlcyI+T0F1dGggcGVybWlzc2lvbiBzY29wZXM8L2E+IHdoZW4gdXNpbmcgdGhlIDxhIGhyZWY9Ii9kb2NzL29hdXRoIj5PQXV0aCBhcHAgaW5zdGFsbGF0aW9uIGZsb3c8L2E+IHRvIGVuYWJsZSBhY2Nlc3MgdG8gdGhlIDxjb2RlPmVtYWlsPC9jb2RlPiBmaWVsZCBvZiB1c2VyIG9iamVjdHMgcmV0dXJuZWQgYnkgdGhpcyBtZXRob2QuPC9wPgoKPGEgbmFtZT0icGFnaW5hdGlvbiI+PC9hPjxoMiA+UGFnaW5hdGlvbjwvaDI+VGhpcyBtZXRob2QgdXNlcyBjdXJzb3ItYmFzZWQgcGFnaW5hdGlvbiB0byBtYWtlIGl0IGVhc2llciB0byBpbmNyZW1lbnRhbGx5IGNvbGxlY3QgaW5mb3JtYXRpb24uIFRvIGJlZ2luIHBhZ2luYXRpb24sIHNwZWNpZnkgYSA8Y29kZT5saW1pdDwvY29kZT4gdmFsdWUgdW5kZXIgPGNvZGU+MTAwMDwvY29kZT4uIFdlIHJlY29tbWVuZCBubyBtb3JlIHRoYW4gPGNvZGU+MjAwPC9jb2RlPiByZXN1bHRzIGF0IGEgdGltZS48YnI+PGJyPlJlc3BvbnNlcyB3aWxsIGluY2x1ZGUgYSB0b3AtbGV2ZWwgPGNvZGU+cmVzcG9uc2VfbWV0YWRhdGE8L2NvZGU+IGF0dHJpYnV0ZSBjb250YWluaW5nIGEgPGNvZGU+bmV4dF9jdXJzb3I8L2NvZGU+IHZhbHVlLiBCeSB1c2luZyB0aGlzIHZhbHVlIGFzIGEgPGNvZGU+Y3Vyc29yPC9jb2RlPiBwYXJhbWV0ZXIgaW4gYSBzdWJzZXF1ZW50IHJlcXVlc3QsIGFsb25nIHdpdGggPGNvZGU+bGltaXQ8L2NvZGU+LCB5b3UgbWF5IG5hdmlnYXRlIHRocm91Z2ggdGhlIGNvbGxlY3Rpb24gcGFnZSBieSB2aXJ0dWFsIHBhZ2UuPGJyPjxicj4gU2VlIDxhIGhyZWY9Ii9kb2NzL3BhZ2luYXRpb24iPnBhZ2luYXRpb248L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLjxicj48YnI+Cgo8YSBuYW1lPSJsZWdhY3lfYmVoYXZpb3IiPjwvYT48aDMgPkxlZ2FjeSBiZWhhdmlvcjwvaDM+Cgo8cD5BdCB0aGlzIHRpbWUsIHByb3ZpZGluZyBubyA8Y29kZT5saW1pdDwvY29kZT4gdmFsdWUgd2lsbCByZXN1bHQgaW4gU2xhY2sgYXR0ZW1wdGluZyB0byBkZWxpdmVyIHlvdSB0aGUgZW50aXJlIHJlc3VsdCBzZXQuIElmIHRoZSBjb2xsZWN0aW9uIGlzIHRvbyBsYXJnZSB5b3UgbWF5IGV4cGVyaWVuY2UgPGNvZGU+bGltaXRfcmVxdWlyZWQ8L2NvZGU+IG9yIEhUVFAgNTAwIGVycm9ycy4gUmVzb2x2ZSB0aGlzIHNjZW5hcmlvIGJ5IHVzaW5nIHBhZ2luYXRpb24uPC9wPgoKPHA+T25lIGRheSBwYWdpbmF0aW9uIHdpbGwgYmVjb21lIHJlcXVpcmVkIHRvIHVzZSB0aGlzIG1ldGhvZC48L3A+Cgo8YSBuYW1lPSJwcmVzZW5jZSI+PC9hPjxoMiA+UHJlc2VuY2U8L2gyPgoKPHA+UmV0cmlldmluZyBhIHdvcmtzcGFjZSdzIHByZXNlbmNlIHdpdGggdGhpcyBtZXRob2QgaXMgbm93IGRlcHJlY2F0ZWQuIFVzZSA8YSBocmVmPSIvbWV0aG9kcy91c2Vycy5nZXRQcmVzZW5jZSI+PGNvZGU+dXNlcnMuZ2V0UHJlc2VuY2U8L2NvZGU+PC9hPiBvciA8YSBocmVmPSIvZG9jcy9wcmVzZW5jZS1hbmQtc3RhdHVzI3N1YmNyaXB0aW9ucyI+cHJlc2VuY2Ugc3Vic2NyaXB0aW9uczwvYT4gaW5zdGVhZC48L3A+Cgo8YSBuYW1lPSJlcnJvcnMiPjwvYT48aDIgPkVycm9yczwvaDI+Cgo8cD4gVGhpcyB0YWJsZSBsaXN0cyB0aGUgZXhwZWN0ZWQgZXJyb3JzIHRoYXQgdGhpcyBtZXRob2QgY291bGQgcmV0dXJuLiBIb3dldmVyLCBvdGhlciBlcnJvcnMgY2FuIGJlIHJldHVybmVkIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBzZXJ2aWNlIGlzIGRvd24gb3Igb3RoZXIgdW5leHBlY3RlZCBmYWN0b3JzIGFmZmVjdCBwcm9jZXNzaW5nLiBDYWxsZXJzIHNob3VsZCBhbHdheXMgY2hlY2sgdGhlIHZhbHVlIG9mIHRoZSA8Y29kZT5vazwvY29kZT4gcGFyYW1zIGluIHRoZSByZXNwb25zZS4gPC9wPjx0YWJsZSBjbGFzcz0iYXJndW1lbnRzIGZ1bGxfd2lkdGgiPjx0cj48dGg+RXJyb3I8L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfY3Vyc29yPC9jb2RlPjwvdGQ+PHRkPjxwPlZhbHVlIHBhc3NlZCBmb3IgPGNvZGU+Y3Vyc29yPC9jb2RlPiB3YXMgbm90IHZhbGlkIG9yIGlzIG5vIGxvbmdlciB2YWxpZC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmxpbWl0X3JlcXVpcmVkPC9jb2RlPjwvdGQ+PHRkPjxwPkZvciBsYXJnZSB0ZWFtcyBhIGxpbWl0IGlzIHJlcXVpcmVkLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+bm90X2F1dGhlZDwvY29kZT48L3RkPjx0ZD48cD5ObyBhdXRoZW50aWNhdGlvbiB0b2tlbiBwcm92aWRlZC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfYXV0aDwvY29kZT48L3RkPjx0ZD48cD5Tb21lIGFzcGVjdCBvZiBhdXRoZW50aWNhdGlvbiBjYW5ub3QgYmUgdmFsaWRhdGVkLiBFaXRoZXIgdGhlIHByb3ZpZGVkIHRva2VuIGlzIGludmFsaWQgb3IgdGhlIHJlcXVlc3Qgb3JpZ2luYXRlcyBmcm9tIGFuIElQIGFkZHJlc3MgZGlzYWxsb3dlZCBmcm9tIG1ha2luZyB0aGUgcmVxdWVzdC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmFjY291bnRfaW5hY3RpdmU8L2NvZGU+PC90ZD48dGQ+PHA+QXV0aGVudGljYXRpb24gdG9rZW4gaXMgZm9yIGEgZGVsZXRlZCB1c2VyIG9yIHdvcmtzcGFjZS48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPnRva2VuX3Jldm9rZWQ8L2NvZGU+PC90ZD48dGQ+PHA+QXV0aGVudGljYXRpb24gdG9rZW4gaXMgZm9yIGEgZGVsZXRlZCB1c2VyIG9yIHdvcmtzcGFjZSBvciB0aGUgYXBwIGhhcyBiZWVuIHJlbW92ZWQuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5ub19wZXJtaXNzaW9uPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSB3b3Jrc3BhY2UgdG9rZW4gdXNlZCBpbiB0aGlzIHJlcXVlc3QgZG9lcyBub3QgaGF2ZSB0aGUgcGVybWlzc2lvbnMgbmVjZXNzYXJ5IHRvIGNvbXBsZXRlIHRoZSByZXF1ZXN0LiBNYWtlIHN1cmUgeW91ciBhcHAgaXMgYSBtZW1iZXIgb2YgdGhlIGNvbnZlcnNhdGlvbiBpdCdzIGF0dGVtcHRpbmcgdG8gcG9zdCBhIG1lc3NhZ2UgdG8uPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5vcmdfbG9naW5fcmVxdWlyZWQ8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIHdvcmtzcGFjZSBpcyB1bmRlcmdvaW5nIGFuIGVudGVycHJpc2UgbWlncmF0aW9uIGFuZCB3aWxsIG5vdCBiZSBhdmFpbGFibGUgdW50aWwgbWlncmF0aW9uIGlzIGNvbXBsZXRlLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+ZWttX2FjY2Vzc19kZW5pZWQ8L2NvZGU+PC90ZD48dGQ+PHA+QWRtaW5pc3RyYXRvcnMgaGF2ZSBzdXNwZW5kZWQgdGhlIGFiaWxpdHkgdG8gcG9zdCBhIG1lc3NhZ2UuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5taXNzaW5nX3Njb3BlPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSB0b2tlbiB1c2VkIGlzIG5vdCBncmFudGVkIHRoZSBzcGVjaWZpYyBzY29wZSBwZXJtaXNzaW9ucyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aGlzIHJlcXVlc3QuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5pbnZhbGlkX2FyZ3VtZW50czwvY29kZT48L3RkPjx0ZD48cD5UaGUgbWV0aG9kIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIGFyZ3VtZW50cy48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfYXJnX25hbWU8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIG1ldGhvZCB3YXMgcGFzc2VkIGFuIGFyZ3VtZW50IHdob3NlIG5hbWUgZmFsbHMgb3V0c2lkZSB0aGUgYm91bmRzIG9mIGFjY2VwdGVkIG9yIGV4cGVjdGVkIHZhbHVlcy4gVGhpcyBpbmNsdWRlcyB2ZXJ5IGxvbmcgbmFtZXMgYW5kIG5hbWVzIHdpdGggbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIG90aGVyIHRoYW4gPGNvZGU+XzwvY29kZT4uIElmIHlvdSBnZXQgdGhpcyBlcnJvciwgaXQgaXMgdHlwaWNhbGx5IGFuIGluZGljYXRpb24gdGhhdCB5b3UgaGF2ZSBtYWRlIGEgPGVtPnZlcnk8L2VtPiBtYWxmb3JtZWQgQVBJIGNhbGwuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5pbnZhbGlkX2NoYXJzZXQ8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIG1ldGhvZCB3YXMgY2FsbGVkIHZpYSBhIDxjb2RlPlBPU1Q8L2NvZGU+IHJlcXVlc3QsIGJ1dCB0aGUgPGNvZGU+Y2hhcnNldDwvY29kZT4gc3BlY2lmaWVkIGluIHRoZSA8Y29kZT5Db250ZW50LVR5cGU8L2NvZGU+IGhlYWRlciB3YXMgaW52YWxpZC4gVmFsaWQgY2hhcnNldCBuYW1lcyBhcmU6IDxjb2RlPnV0Zi04PC9jb2RlPiA8Y29kZT5pc28tODg1OS0xPC9jb2RlPi48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfZm9ybV9kYXRhPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0IHdpdGggPGNvZGU+Q29udGVudC1UeXBlPC9jb2RlPiA8Y29kZT5hcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ8L2NvZGU+IG9yIDxjb2RlPm11bHRpcGFydC9mb3JtLWRhdGE8L2NvZGU+LCBidXQgdGhlIGZvcm0gZGF0YSB3YXMgZWl0aGVyIG1pc3Npbmcgb3Igc3ludGFjdGljYWxseSBpbnZhbGlkLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+aW52YWxpZF9wb3N0X3R5cGU8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIG1ldGhvZCB3YXMgY2FsbGVkIHZpYSBhIDxjb2RlPlBPU1Q8L2NvZGU+IHJlcXVlc3QsIGJ1dCB0aGUgc3BlY2lmaWVkIDxjb2RlPkNvbnRlbnQtVHlwZTwvY29kZT4gd2FzIGludmFsaWQuIFZhbGlkIHR5cGVzIGFyZTogPGNvZGU+YXBwbGljYXRpb24vanNvbjwvY29kZT4gPGNvZGU+YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkPC9jb2RlPiA8Y29kZT5tdWx0aXBhcnQvZm9ybS1kYXRhPC9jb2RlPiA8Y29kZT50ZXh0L3BsYWluPC9jb2RlPi48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPm1pc3NpbmdfcG9zdF90eXBlPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0IGFuZCBpbmNsdWRlZCBhIGRhdGEgcGF5bG9hZCwgYnV0IHRoZSByZXF1ZXN0IGRpZCBub3QgaW5jbHVkZSBhIDxjb2RlPkNvbnRlbnQtVHlwZTwvY29kZT4gaGVhZGVyLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+dGVhbV9hZGRlZF90b19vcmc8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIHdvcmtzcGFjZSBhc3NvY2lhdGVkIHdpdGggeW91ciByZXF1ZXN0IGlzIGN1cnJlbnRseSB1bmRlcmdvaW5nIG1pZ3JhdGlvbiB0byBhbiBFbnRlcnByaXNlIE9yZ2FuaXphdGlvbi4gV2ViIEFQSSBhbmQgb3RoZXIgcGxhdGZvcm0gb3BlcmF0aW9ucyB3aWxsIGJlIGludGVybWl0dGVudGx5IHVuYXZhaWxhYmxlIHVudGlsIHRoZSB0cmFuc2l0aW9uIGlzIGNvbXBsZXRlLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+cmVxdWVzdF90aW1lb3V0PC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0LCBidXQgdGhlIDxjb2RlPlBPU1Q8L2NvZGU+IGRhdGEgd2FzIGVpdGhlciBtaXNzaW5nIG9yIHRydW5jYXRlZC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmZhdGFsX2Vycm9yPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBzZXJ2ZXIgY291bGQgbm90IGNvbXBsZXRlIHlvdXIgb3BlcmF0aW9uKHMpIHdpdGhvdXQgZW5jb3VudGVyaW5nIGEgY2F0YXN0cm9waGljIGVycm9yLiBJdCdzIHBvc3NpYmxlIHNvbWUgYXNwZWN0IG9mIHRoZSBvcGVyYXRpb24gc3VjY2VlZGVkIGJlZm9yZSB0aGUgZXJyb3Igd2FzIHJhaXNlZC48L3A+CjwvdGQ+PC90cj48L3RhYmxlPgoKPGEgbmFtZT0id2FybmluZ3MiPjwvYT48aDIgPldhcm5pbmdzPC9oMj4KCjxwPiBUaGlzIHRhYmxlIGxpc3RzIHRoZSBleHBlY3RlZCB3YXJuaW5ncyB0aGF0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuLiBIb3dldmVyLCBvdGhlciB3YXJuaW5ncyBjYW4gYmUgcmV0dXJuZWQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHNlcnZpY2UgaXMgZXhwZXJpZW5jaW5nIHVuZXhwZWN0ZWQgdHJvdWJsZS4gPC9wPjx0YWJsZSBjbGFzcz0iYXJndW1lbnRzIGZ1bGxfd2lkdGgiPjx0cj48dGg+V2FybmluZzwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPjx0cj48dGQ+PGNvZGU+bWlzc2luZ19jaGFyc2V0PC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0LCBhbmQgcmVjb21tZW5kZWQgcHJhY3RpY2UgZm9yIHRoZSBzcGVjaWZpZWQgPGNvZGU+Q29udGVudC1UeXBlPC9jb2RlPiBpcyB0byBpbmNsdWRlIGEgPGNvZGU+Y2hhcnNldDwvY29kZT4gcGFyYW1ldGVyLiBIb3dldmVyLCBubyA8Y29kZT5jaGFyc2V0PC9jb2RlPiB3YXMgcHJlc2VudC4gU3BlY2lmaWNhbGx5LCBub24tZm9ybS1kYXRhIGNvbnRlbnQgdHlwZXMgKGUuZy4gPGNvZGU+dGV4dC9wbGFpbjwvY29kZT4pIGFyZSB0aGUgb25lcyBmb3Igd2hpY2ggPGNvZGU+Y2hhcnNldDwvY29kZT4gaXMgcmVjb21tZW5kZWQuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5zdXBlcmZsdW91c19jaGFyc2V0PC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0LCBhbmQgdGhlIHNwZWNpZmllZCA8Y29kZT5Db250ZW50LVR5cGU8L2NvZGU+IGlzIG5vdCBkZWZpbmVkIHRvIHVuZGVyc3RhbmQgdGhlIDxjb2RlPmNoYXJzZXQ8L2NvZGU+IHBhcmFtZXRlci4gSG93ZXZlciwgPGNvZGU+Y2hhcnNldDwvY29kZT4gd2FzIGluIGZhY3QgcHJlc2VudC4gU3BlY2lmaWNhbGx5LCBmb3JtLWRhdGEgY29udGVudCB0eXBlcyAoZS5nLiA8Y29kZT5tdWx0aXBhcnQvZm9ybS1kYXRhPC9jb2RlPikgYXJlIHRoZSBvbmVzIGZvciB3aGljaCA8Y29kZT5jaGFyc2V0PC9jb2RlPiBpcyBzdXBlcmZsdW91cy48L3A+CjwvdGQ+PC90cj48L3RhYmxlPgo8L3NlY3Rpb24+PC9kaXY+PGRpdiBpZD0ib3ZlcmxheSI+PC9kaXY+PGRpdiBjbGFzcz0iY2xlYXJfYm90aCI+PC9kaXY+PC9kaXY+PC9kaXY+PGZvb3RlciBkYXRhLXFhPSJmb290ZXIiPjxzZWN0aW9uIGNsYXNzPSJsaW5rcyI+PGRpdiBjbGFzcz0iZ3JpZCI+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8xIj5Vc2luZyBTbGFjazwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2lzIiBkYXRhLXFhPSJwcm9kdWN0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZW50ZXJwcmlzZSIgZGF0YS1xYT0iZW50ZXJwcmlzZV9mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9lbnRlcnByaXNlIj5FbnRlcnByaXNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3ByaWNpbmc/dWlfc3RlcD0yOCZ1aV9lbGVtZW50PTUiIGRhdGEtcWE9InByaWNpbmdfZm9vdGVyIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2dldC5zbGFjay5oZWxwL2hjL2VuLXVzIiBkYXRhLXFhPSJzdXBwb3J0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZ3VpZGVzIiBkYXRhLXFhPSJnZXR0aW5nX3N0YXJ0ZWQiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9nZXR0aW5nX3N0YXJ0ZWQiPlNsYWNrIEd1aWRlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9hcHBzIiBkYXRhLXFhPSJhcHBfZGlyZWN0b3J5IiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfYXBwX2RpcmVjdG9yeSI+QXBwIERpcmVjdG9yeTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2FwaS5zbGFjay5jb20vIiBkYXRhLXFhPSJhcGkiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9hcGkiPkFQSTwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8yIj5TbGFjayA8dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9oZWFydCI+PC90cy1pY29uPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2pvYnMiIGRhdGEtcWE9ImpvYnMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9qb2JzIj5Kb2JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2N1c3RvbWVycyIgZGF0YS1xYT0iY3VzdG9tZXJzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY3VzdG9tZXJzIj5DdXN0b21lcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZGV2ZWxvcGVycyIgZGF0YS1xYT0iZGV2ZWxvcGVycyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2RldmVsb3BlcnMiPkRldmVsb3BlcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZXZlbnRzIiBkYXRhLXFhPSJldmVudHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ldmVudHMiPkV2ZW50czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNraHEuY29tLyIgZGF0YS1xYT0iYmxvZ19mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ibG9nIj5CbG9nPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzMiPkxlZ2FsPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpdmFjeS1wb2xpY3kiIGRhdGEtcWE9InByaXZhY3kiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9wcml2YWN5Ij5Qcml2YWN5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3NlY3VyaXR5IiBkYXRhLXFhPSJzZWN1cml0eSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NlY3VyaXR5Ij5TZWN1cml0eTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS90ZXJtcy1vZi1zZXJ2aWNlIiBkYXRhLXFhPSJ0b3MiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl90b3MiPlRlcm1zIG9mIFNlcnZpY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcG9saWNpZXMiIGRhdGEtcWE9InBvbGljaWVzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcG9saWNpZXMiPlBvbGljaWVzPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzQiPkhhbmR5IExpbmtzPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZG93bmxvYWRzIiBkYXRhLXFhPSJkb3dubG9hZHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9kb3dubG9hZHMiPkRvd25sb2FkIGRlc2t0b3AgYXBwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2Rvd25sb2FkcyIgZGF0YS1xYT0iZG93bmxvYWRzX21vYmlsZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2Rvd25sb2Fkc19tb2JpbGUiPkRvd25sb2FkIG1vYmlsZSBhcHA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vYnJhbmQtZ3VpZGVsaW5lcyIgZGF0YS1xYT0iYnJhbmRfZ3VpZGVsaW5lcyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2JyYW5kX2d1aWRlbGluZXMiPkJyYW5kIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFja2F0d29yay5jb20iIGRhdGEtcWE9InNsYWNrX2F0X3dvcmsiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja19hdF93b3JrIj5TbGFjayBhdCBXb3JrPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc3RhdHVzLnNsYWNrLmNvbS8iIGRhdGEtcWE9InN0YXR1cyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N0YXR1cyI+U3RhdHVzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGRpdiBjbGFzcz0iZm9vdG5vdGUiPjxzZWN0aW9uPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tIiBhcmlhLWxhYmVsPSJTbGFjayBob21lcGFnZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NsYWNrX2ljb24iPjx0cy1pY29uIGNsYXNzPSJjLWljb24tLXNsYWNrIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjx1bD48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vaGVscC9jb250YWN0IiBkYXRhLXFhPSJjb250YWN0X3VzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY29udGFjdF91cyI+Q29udGFjdCBVczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL1NsYWNrSFEiIGRhdGEtcWE9InNsYWNrX3R3aXR0ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja190d2l0dGVyIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBUd2l0dGVyIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl90d2l0dGVyIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PGxpIGNsYXNzPSJ5dCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ1kzWUVDZ2VCY0xDeklyRkxQNGdibHciIGRhdGEtcWE9InNsYWNrX3lvdXR1YmUiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja195b3V0dWJlIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBZb3VUdWJlIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl95b3V0dWJlIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PC91bD48L3NlY3Rpb24+PC9kaXY+PC9mb290ZXI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovKioKICogQSBwbGFjZWhvbGRlciBmdW5jdGlvbiB0aGF0IHRoZSBidWlsZCBzY3JpcHQgdXNlcyB0bwogKiByZXBsYWNlIGZpbGUgcGF0aHMgd2l0aCB0aGVpciBDRE4gdmVyc2lvbnMuCiAqCiAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlX3BhdGggLSBGaWxlIHBhdGgKICogQHJldHVybnMge1N0cmluZ30KICovCmZ1bmN0aW9uIHZ2dihmaWxlX3BhdGgpIHsKCQkgdmFyIHZ2dl93YXJuaW5nID0gJ1lvdSBjYW5ub3QgdXNlIHZ2diBvbiBkeW5hbWljIHZhbHVlcy4gUGxlYXNlIG1ha2Ugc3VyZSB5b3Ugb25seSBwYXNzIGluIHN0YXRpYyBmaWxlIHBhdGhzLic7IGlmICh3aW5kb3cuVFMgJiYgd2luZG93LlRTLndhcm4pIHsgd2luZG93LlRTLndhcm4odnZ2X3dhcm5pbmcpOyB9IGVsc2UgeyBjb25zb2xlLndhcm4odnZ2X3dhcm5pbmcpOyB9IAoJcmV0dXJuIGZpbGVfcGF0aDsKfQoKdmFyIGNkbl91cmwgPSAiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb20iOwp2YXIgdnZ2X2Fic191cmwgPSAiaHR0cHM6XC9cL3NsYWNrLmNvbVwvIjsKdmFyIGluY19qc19zZXR1cF9kYXRhID0gewoJZW1vamlfc2hlZXRzOiB7CgkJYXBwbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfYXBwbGVfNjRfaW5kZXhlZF8yNTYucG5nJywKCQlnb29nbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfZ29vZ2xlXzY0X2luZGV4ZWRfMjU2LnBuZycsCgl9LAp9Owo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CS8vIGNvbW1vbiBib290X2RhdGEKCXZhciBib290X2RhdGEgPSB7ImFwaV91cmwiOiJcL2FwaVwvIiwiYXBwIjoiZmFsc2UiLCJ1c2VyX2lkIjpudWxsLCJ0ZWFtX2lkIjoiVDAwMDAwMDAwIiwidmlzaXRvcl91aWQiOiJiMndnZXNybDFxMjE3a3hieHNjdnA1dzRsIiwibm9fbG9naW4iOnRydWUsInZlcnNpb25fdHMiOiIxNTg0MTQyMjE5IiwidmVyc2lvbl91aWQiOiJhYTViNGUxMTVhYWFjMDUxZWNhOTk5NjMzNTM4NWRmYmU5OWZjNjg0IiwiY2FjaGVfdmVyc2lvbiI6InYyMS1ub21hZCIsImNhY2hlX3RzX3ZlcnNpb24iOiJ2Mi1idW5ueSIsInJlZGlyX2RvbWFpbiI6InNsYWNrLXJlZGlyLm5ldCIsInNpZ25pbl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9zaWduaW4iLCJhYnNfcm9vdF91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC8iLCJ0ZWFtX3VybCI6IiIsImltYWdlX3Byb3h5X3VybCI6Imh0dHBzOlwvXC9zbGFjay1pbWdzLmNvbVwvIiwiYmVhY29uX3RpbWluZ191cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL3RpbWluZyIsImJlYWNvbl9lcnJvcl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL2Vycm9yIiwiY2xvZ191cmwiOiJjbG9nXC90cmFja1wvIiwiYXBpX3Rva2VuIjoiIiwidnZ2X3BhdGhzIjp7Imx6X3N0cmluZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC9idjEtOC04Y2FjZGEyXC9sei1zdHJpbmctMS40LjQud29ya2VyLjhkZTFiMDBkNjcwZmYzZGM3MDZhMC5qcyIsImNvZGVtaXJyb3IiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvci5taW4uNjhjNmEwNjEyYWJjY2M2Yjg4NTkubWluLmpzIiwiY29kZW1pcnJvcl9hZGRvbl9zaW1wbGUiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9zaW1wbGUuOTkzZmM1ZjhkZGQ0MDFmNjMyYWEubWluLmpzIiwiY29kZW1pcnJvcl9sb2FkIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cL2J2MS04LThjYWNkYTJcL2NvZGVtaXJyb3JfbG9hZC43NWEzNjEzY2E4MjkyMTZmMTAzMy5taW4uanMiLCJjb2RlbWlycm9yX2ZpbGVzIjp7ImphdmFzY3JpcHQiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9sYW5nX2phdmFzY3JpcHQuYWMxODMzZTllMjM5ZDUzMmI1YTkubWluLmpzIn19LCJub3RpZmljYXRpb25fc291bmRzIjpbeyJ2YWx1ZSI6ImIyLm1wMyIsImxhYmVsIjoiRGluZyIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL2IyLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYjIub2dnIn0seyJ2YWx1ZSI6ImFuaW1hbF9zdGljay5tcDMiLCJsYWJlbCI6IkJvaW5nIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm9nZyJ9LHsidmFsdWUiOiJiZWVuX3RyZWUubXAzIiwibGFiZWwiOiJEcm9wIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm9nZyJ9LHsidmFsdWUiOiJjb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5tcDMiLCJsYWJlbCI6IlRhLWRhIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29tcGxldGVfcXVlc3RfcmVxdWlyZW1lbnQubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9jb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5vZ2cifSx7InZhbHVlIjoiY29uZmlybV9kZWxpdmVyeS5tcDMiLCJsYWJlbCI6IlBsaW5rIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29uZmlybV9kZWxpdmVyeS5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2NvbmZpcm1fZGVsaXZlcnkub2dnIn0seyJ2YWx1ZSI6ImZsaXR0ZXJidWcubXAzIiwibGFiZWwiOiJXb3ciLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9mbGl0dGVyYnVnLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvZmxpdHRlcmJ1Zy5vZ2cifSx7InZhbHVlIjoiaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJsYWJlbCI6IkhlcmUgeW91IGdvIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hlcmVfeW91X2dvX2xpZ2h0ZXIub2dnIn0seyJ2YWx1ZSI6ImhpX2Zsb3dlcnNfaGl0Lm1wMyIsImxhYmVsIjoiSGkiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9oaV9mbG93ZXJzX2hpdC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hpX2Zsb3dlcnNfaGl0Lm9nZyJ9LHsidmFsdWUiOiJrbm9ja19icnVzaC5tcDMiLCJsYWJlbCI6Iktub2NrIEJydXNoIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwva25vY2tfYnJ1c2gubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9rbm9ja19icnVzaC5vZ2cifSx7InZhbHVlIjoic2F2ZV9hbmRfY2hlY2tvdXQubXAzIiwibGFiZWwiOiJXaG9hISIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL3NhdmVfYW5kX2NoZWNrb3V0Lm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvc2F2ZV9hbmRfY2hlY2tvdXQub2dnIn0seyJ2YWx1ZSI6Iml0ZW1fcGlja3VwLm1wMyIsImxhYmVsIjoiWW9pbmsiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9pdGVtX3BpY2t1cC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2l0ZW1fcGlja3VwLm9nZyJ9LHsidmFsdWUiOiJodW1tdXMubXAzIiwibGFiZWwiOiJIdW1tdXMiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2ZhOVwvc291bmRzXC9wdXNoXC9odW1tdXMubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9odW1tdXMub2dnIn0seyJ2YWx1ZSI6Im5vbmUiLCJsYWJlbCI6Ik5vbmUifV0sImFsZXJ0X3NvdW5kcyI6W3sidmFsdWUiOiJmcm9nLm1wMyIsImxhYmVsIjoiRnJvZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcL2EzNGFcL3NvdW5kc1wvZnJvZy5tcDMifV0sImNhbGxfc291bmRzIjpbeyJ2YWx1ZSI6ImNhbGxcL2FsZXJ0X3YyLm1wMyIsImxhYmVsIjoiQWxlcnQiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2FsZXJ0X3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9pbmNvbWluZ19yaW5nX3YyLm1wMyIsImxhYmVsIjoiSW5jb21pbmcgcmluZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwvaW5jb21pbmdfcmluZ192Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvb3V0Z29pbmdfcmluZ192Mi5tcDMiLCJsYWJlbCI6Ik91dGdvaW5nIHJpbmciLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL291dGdvaW5nX3JpbmdfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3BvcF92Mi5tcDMiLCJsYWJlbCI6IkluY29taW5nIHJlYWN0aW9uIiwidXJsIjoiaHR0cHM6XC9cL3NsYWNrLmdsb2JhbC5zc2wuZmFzdGx5Lm5ldFwvMDhmN1wvc291bmRzXC9jYWxsXC9wb3BfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiVGhleSBsZWZ0IGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC95b3VfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiWW91IGxlZnQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2xlZnRfY2FsbF92Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvdGhleV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IlRoZXkgam9pbmVkIGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfam9pbmVkX2NhbGxfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3lvdV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IllvdSBqb2luZWQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2pvaW5lZF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9jb25maXJtYXRpb25fdjIubXAzIiwibGFiZWwiOiJDb25maXJtYXRpb24iLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2NvbmZpcm1hdGlvbl92Mi5tcDMifV0sImNhbGxfc291bmRzX3ZlcnNpb24iOiJ2MiIsImltZyI6eyJhcHBfaWNvbiI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC84MDU4OFwvaW1nXC9zbGFja19ncm93bF9pY29uX3ZvZ3VlLnBuZyJ9LCJwYWdlX25lZWRzX2VudGVycHJpc2UiOmZhbHNlLCJwYWdlX25lZWRzX2N1c3RvbV9lbW9qaSI6ZmFsc2UsImlzX2RlcHJlY2F0ZWRfd2ViY2xpZW50X2Jyb3dzZXIiOmZhbHNlLCJpc191bnN1cHBvcnRlZF93ZWJjbGllbnRfYnJvd3NlciI6dHJ1ZSwiZGVmYXVsdF90eiI6IkFtZXJpY2FcL0xvc19BbmdlbGVzIiwiZmVhdHVyZV9uZXdfcHVycGxlX3NjaGVtZSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9nZXR0aW5nX3N0YXJ0ZWRfaTE4biI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9jcmVhdGlvbl9vcmdfcG9saWN5IjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX2V4dGVuc2lvbnMiOmZhbHNlLCJmZWF0dXJlX2tleWJvYXJkX2tleV90b29sdGlwIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3dlYmhvb2tfYWRtaW4iOnRydWUsImZlYXR1cmVfYnVpbGRlcl93ZWJob29rX3RyaWdnZXIiOnRydWUsImZlYXR1cmVfYWxseV9idWdiYXNoIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3NjaGVkdWxlZF90cmlnZ2VyIjp0cnVlLCJmZWF0dXJlX2Jsb2NrX2tpdF9tYXhfc2VsZWN0ZWRfaXRlbXMiOnRydWUsImZlYXR1cmVfYnVpbGRlcl9mZWVkYmFja19idXR0b24iOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfbWVzc2FnZV9zdGVwX3JpY2hfdGV4dCI6ZmFsc2UsImZlYXR1cmVfYXBwX3ZpZXdzX3YxIjp0cnVlLCJmZWF0dXJlX2F1ZGl0X2xvZ3NfdmlldyI6ZmFsc2UsImZlYXR1cmVfYXVkaXRfbG9nc192aWV3X3dvcmtzcGFjZSI6ZmFsc2UsImZlYXR1cmVfZGF0YV9sb2NhdGlvbl9uZXdfdHJhbnNsYXRpb25zIjpmYWxzZSwiZmVhdHVyZV9za19pMThuIjpmYWxzZSwiZmVhdHVyZV9zc29fY29tYmluZV9jb25maWdfcHJlZmVyZW5jZXMiOmZhbHNlLCJmZWF0dXJlX3Nzb19wcmVmZXJlbmNlc192aWV3X21vZGFscyI6dHJ1ZSwiZmVhdHVyZV9zY2hlZHVsZWRfZXhwb3J0c19jbGFyaWZ5X2NhbmNlbGxhdGlvbiI6dHJ1ZSwiZmVhdHVyZV9kZWZhdWx0X2Jyb3dzZXJfY29udHJvbF92MiI6ZmFsc2UsImZlYXR1cmVfYWNjb3VudF9jcmVhdGlvbl9zaG93X2N1c3RvbV90b3MiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX2NvdW50IjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX3NlbGVjdHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzYWJsZV9nbG9iYWxfdHJpZ2dlcnMiOnRydWUsImZlYXR1cmVfd29ya2Zsb3dfYnVpbGRlcl9lbmFibGVkX29yZ19zZXR0aW5nIjp0cnVlLCJmZWF0dXJlX2J1aWxkZXJfY2FuX2FjY2VzcyI6ZmFsc2UsImZlYXR1cmVfZXNjX3JldGVudGlvbl9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX2VzY19yZXRlbnRpb25fY2xpZW50X2NvcHkiOnRydWUsImZlYXR1cmVfYWx3YXlzX3Nob3dfYXJjaGl2ZV9jaGFubmVsX29wdGlvbiI6ZmFsc2UsImZlYXR1cmVfZ3JhbnVsYXJfZG5kIjpmYWxzZSwiZmVhdHVyZV9jb250ZXh0X2Jhcl9ndWVzdHMiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3R6X2lzc3VlcyI6ZmFsc2UsImZlYXR1cmVfbXVsdGlfZmlsZV9sYXlvdXQiOnRydWUsImZlYXR1cmVfbWlncmF0aW9uX29yZ19hcHByb3ZhbHMiOnRydWUsImZlYXR1cmVfbmV3eHBfMzI2NiI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8zMjc5Ijp0cnVlLCJmZWF0dXJlX25ld3hwXzQxNTMiOmZhbHNlLCJmZWF0dXJlX3RpbnlzcGVjayI6ZmFsc2UsImZlYXR1cmVfb3JnX2d1ZXN0X2NvbnZlcnNpb24iOnRydWUsImZlYXR1cmVfb3JnX2xldmVsX3VzZXJfZ3JvdXBzX3BoYXNlXzJfZnJvbnRlbmQiOmZhbHNlLCJmZWF0dXJlX3VzZV9uZXdfbGlzdF90ZWFtc19yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9kZXNrdG9wX2NvcHlfdGV4dCI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb24iOnRydWUsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fZGFyayI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fbW9kYWwiOmZhbHNlLCJmZWF0dXJlX3NzYl9xMzE5X2RlcHJlY2F0aW9uX21vZGFsX3N0b3JlX292ZXJyaWRlIjpmYWxzZSwiZmVhdHVyZV9zc2JfcTMxOV9kZXByZWNhdGlvbl9ibG9jayI6dHJ1ZSwiZmVhdHVyZV9kZXByZWNhdGVfZ2V0X21lbWJlcl9ieV9uYW1lIjpmYWxzZSwiZmVhdHVyZV91bmtub3duX2ZpbGVzIjp0cnVlLCJmZWF0dXJlX3Vua25vd25fbWVzc2FnZXMiOnRydWUsImZlYXR1cmVfYWRkX21lc3NhZ2VfcGVyZiI6ZmFsc2UsImZlYXR1cmVfZml4X2N1c3RvbV9lbW9qaV9lcnJvcnMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2RlbGV0ZV9maWxlIjp0cnVlLCJmZWF0dXJlX2NvcHlfY2hhbm5lbF9saW5rIjp0cnVlLCJmZWF0dXJlX2NvbGxhcHNlX3JlYWN0aW9ucyI6ZmFsc2UsImZlYXR1cmVfZW1haWxfd29ya2Zsb3ciOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2Vfa2l0X2luX21lc3NhZ2VfcGFuZSI6dHJ1ZSwiZmVhdHVyZV9pYV9lZHVjYXRpb24iOmZhbHNlLCJmZWF0dXJlX2NoYW5uZWxfZGV0YWlsc19tZW1iZXJzaGlwX2xpc3QiOmZhbHNlLCJmZWF0dXJlX2FsbF9kbV9tdXRlX2JvdHMiOmZhbHNlLCJmZWF0dXJlX2hlbHBfbWVudV9mZWVkYmFjayI6ZmFsc2UsImZlYXR1cmVfZmlsZV90aHJlYWRzIjp0cnVlLCJmZWF0dXJlX2Jyb2FkY2FzdF9pbmRpY2F0b3IiOnRydWUsImZlYXR1cmVfbmV3X3JlcGxpZXNfYWZ0ZXJfYmNhc3QiOnRydWUsImZlYXR1cmVfc29uaWNfZW1vamkiOmZhbHNlLCJmZWF0dXJlX2Vtb2ppX3NlYXJjaF9rZXl3b3Jkc19pbl9hdXRvY29tcGxldGUiOmZhbHNlLCJmZWF0dXJlX2VtYWlsX2luZ2VzdGlvbiI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9jb250ZXh0X21lbnUiOmZhbHNlLCJmZWF0dXJlX2F0dGFjaG1lbnRzX2lubGluZSI6ZmFsc2UsImZlYXR1cmVfZml4X2ZpbGVzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzX2V2ZW50c19kb2NzIjp0cnVlLCJmZWF0dXJlX2FwcF9sYXVuY2hlcl9iYW5uZXJzIjpmYWxzZSwiZmVhdHVyZV9hcHBfbGF1bmNoZXJfZmlsdGVycyI6ZmFsc2UsImZlYXR1cmVfaGVscF90ZXN0X3ByaW1lciI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfZ3Vlc3RfY2hlY2siOmZhbHNlLCJmZWF0dXJlX2N1c3RvbV9zdGF0dXNfZXhwaXJ5Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2lkZWJhcl9kcmFmdHNfc2VjdGlvbiI6dHJ1ZSwiZmVhdHVyZV9uYXZpZ2F0ZV9oaXN0b3J5Ijp0cnVlLCJmZWF0dXJlX21lc3NhZ2VfYWN0aW9uc19yZWZyZXNoIjp0cnVlLCJmZWF0dXJlX2NvbXBvc2VfZmxvdyI6ZmFsc2UsImZlYXR1cmVfY29tcG9zZV9mbG93X3h3cyI6ZmFsc2UsImZlYXR1cmVfdGVtcF9jaGFubmVsX3N1YnNjcmlwdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2Zhc3Rlcl9jb3VudF9hbGxfdW5yZWFkcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY191c2VyX2dyb3VwcyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9zZWxlY3Rvcl9mb3JfdGVhbV9ndWVzdHNfdXBkYXRlIjpmYWxzZSwiZmVhdHVyZV9kZXNrdG9wX3N5bXB0b21fZXZlbnRzIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9kZWJ1Z2dpbmciOmZhbHNlLCJmZWF0dXJlX2VudF9hZG1pbl9hcHByb3ZlZF9hcHBzX3YyIjp0cnVlLCJmZWF0dXJlX21vZGVybml6ZWRfeHdzX3Blcm1hbGlua19kaWFsb2dzIjp0cnVlLCJmZWF0dXJlX2Rhc2hib2FyZF9zb3J0YWJsZV9saXN0cyI6ZmFsc2UsImZlYXR1cmVfc2tfbG9hZGluZ19idXR0b25fbW90aW9ucyI6dHJ1ZSwiZmVhdHVyZV9za19iYXNlX2ljb24iOmZhbHNlLCJmZWF0dXJlX2hlbHBfbW9kYWxfaWFfcmVkZXNpZ24iOnRydWUsImZlYXR1cmVfaGVscF9tb2RhbF9pYV9yZWRlc2lnbl9wYXJ0X2RldXgiOmZhbHNlLCJmZWF0dXJlX2NlX2VuZ19jb250YWN0X2Zvcm1fY2F0ZWdvcmllcyI6ZmFsc2UsImZlYXR1cmVfY2VfZW5nX2NvbnRhY3RfZmVlZGJhY2siOmZhbHNlLCJmZWF0dXJlX2dkcHJfZXhwb3J0cyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2lzX3JlbW92ZV9jcmVhdGVfc2hhcmVkX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19tdWx0aV9vcmciOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9kb3VibGVfZGlhbW9uZHMiOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9wZW5kaW5nX2Nvbm5lY3Rpb25zIjpmYWxzZSwiZmVhdHVyZV9yZW1vdmVfZG91YmxlX3JpbmdzIjpmYWxzZSwiZmVhdHVyZV9leHRlcm5hbF9vcmdzX3NlY3Rpb25fY2hhbm5lbF9kZXRhaWxzIjpmYWxzZSwiZmVhdHVyZV9kaXNwbGF5X29yZ3NfbGlzdF9zaGFyZV9kaWFsb2ciOmZhbHNlLCJmZWF0dXJlX2VuYWJsZV9tdWx0aV9vcmdfaW52aXRlc19mZSI6ZmFsc2UsImZlYXR1cmVfZW5hYmxlX211bHRpX29yZ19kaXNjb25uZWN0X2ZlIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfbXVsdGlfb3JnX2ludml0ZXNfYmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3NjYWxhYmxlX21vcmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX21lc3NhZ2VfcGFuZV9jbGljayI6ZmFsc2UsImZlYXR1cmVfbWFuYWdlX3NjX2NoYW5uZWxfY2FyZCI6ZmFsc2UsImZlYXR1cmVfY3JlYXRlX3ByaXZhdGVfY19jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfZ2Rwcl91c2VyX2pvaW5fdG9zIjp0cnVlLCJmZWF0dXJlX3VzZXJfaW52aXRlX3Rvc19hcHJpbF8yMDE4Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfbWdtdF9waGFzZV90aHJlZSI6ZmFsc2UsImZlYXR1cmVfaW5jcmVtZW50YWxfdW5yZWFkX2NvdW50cyI6ZmFsc2UsImZlYXR1cmVfbmV1ZV90eXBlIjpmYWxzZSwiZmVhdHVyZV9jdXN0X2FjcV9pMThuX3R3ZWFrcyI6ZmFsc2UsImZlYXR1cmVfcmVmYWNfdGhlX3RheCI6ZmFsc2UsImZlYXR1cmVfY29udGFjdF9zYWxlc19leHBlcmltZW50Ijp0cnVlLCJmZWF0dXJlX2RhdGFfcmVzaWRlbmN5X2pwX2Jhbm5lciI6dHJ1ZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViIjpmYWxzZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViX3dhdmVfdHdvIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9hdXN0cmFsaWFfYmFubmVyIjpmYWxzZSwiZmVhdHVyZV9wcm9qX25hdl9jb21wb25lbnQiOmZhbHNlLCJmZWF0dXJlX3Byb2pfdXBkYXRlX3RyYW5zcGFyZW5jeV9yZXBvcnQiOmZhbHNlLCJmZWF0dXJlX3doaXRlbGlzdF96ZW5kZXNrX2NoYXRfd2lkZ2V0IjpmYWxzZSwiZmVhdHVyZV9hcHBfYWN0aW9uX3NsYXNoX2NvbW1hbmRzX3BhZDEwNDIiOnRydWUsImZlYXR1cmVfc2hvcnRjdXRzX21lbnVfYW5ub3VuY2Vfb25seSI6dHJ1ZSwiZmVhdHVyZV9saXZlX3N1cHBvcnRfZnJlZV9wbGFuIjpmYWxzZSwiZmVhdHVyZV9vZmZsaW5lX21vZGUiOmZhbHNlLCJmZWF0dXJlX2ZvcmNlX2xzX2NvbXByZXNzaW9uIjpmYWxzZSwiZmVhdHVyZV91c2VfaW1ncHJveHlfcmVzaXppbmciOnRydWUsImZlYXR1cmVfc2hhcmVfbWVudGlvbl9jb21tZW50X2NsZWFudXAiOmZhbHNlLCJmZWF0dXJlX2VsZWN0cm9uX21lbW9yeV9sb2dnaW5nIjpmYWxzZSwiZmVhdHVyZV9sb2NhbGl6YXRpb25fcGhhc2VfdHdvIjp0cnVlLCJmZWF0dXJlX2xvY2FsZV9lc19MQSI6dHJ1ZSwiZmVhdHVyZV9sb2NhbGVfZW5fR0IiOnRydWUsImZlYXR1cmVfbG9jYWxlX3B0X0JSIjp0cnVlLCJmZWF0dXJlX25ld19sb2NhbGVfdG9hc3QiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9leHBvcnRzIjpmYWxzZSwiZmVhdHVyZV9kb2NzX21lbnRpb25zX2FuZF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdmFjYXRpb25fZGVsaWdodCI6dHJ1ZSwiZmVhdHVyZV90aHJlYWRzX3VucmVhZF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2NhbGxzX2VzY191aSI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19zdXJ2ZXlfcmVxdWVzdF9yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9yZW1vdGVfZmlsZXNfYXBpIjp0cnVlLCJmZWF0dXJlX3Rva2VuX2lwX3doaXRlbGlzdCI6dHJ1ZSwiZmVhdHVyZV9zaWRlYmFyX3RoZW1lX3VuZG8iOmZhbHNlLCJmZWF0dXJlX2hpZGVfb25fc3RhcnR1cCI6dHJ1ZSwiZmVhdHVyZV9kb250X3NldF9jaGFubmVsX21lbWJlcnNoaXBfdHdpY2UiOmZhbHNlLCJmZWF0dXJlX2FsbG93X2ludHJhX3dvcmRfZm9ybWF0dGluZyI6dHJ1ZSwiZmVhdHVyZV9pMThuX2NoYW5uZWxzX3ZhbGlkYXRlX2Vtb2ppIjp0cnVlLCJmZWF0dXJlX2Z3X2VuZ19ub3JtYWxpemF0aW9uIjp0cnVlLCJmZWF0dXJlX3NsaW1fc2Nyb2xsYmFyIjpmYWxzZSwiZmVhdHVyZV9wcmltYXJ5X3NlYXJjaCI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3NvdW5kcyI6ZmFsc2UsImZlYXR1cmVfc2xpX2NoYW5uZWxfYXJjaGl2ZV9zdWdnZXN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaCI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaF9saW5rIjp0cnVlLCJmZWF0dXJlX3N0ZWVwbGVfY2h1cmNoX2V4dCI6dHJ1ZSwiZmVhdHVyZV9zdHJvbGxlcnNfdG9fcGVyY2giOnRydWUsImZlYXR1cmVfZmFudGFpbF9udXJ0dXJlIjp0cnVlLCJmZWF0dXJlX3BvdXJvdmVyIjpmYWxzZSwiZmVhdHVyZV9wZW9wbGVfc2VhcmNoIjpmYWxzZSwiZmVhdHVyZV9yZWFjdF9tZXNzYWdlcyI6dHJ1ZSwiZmVhdHVyZV9lZGdlX3VwbG9hZF9wcm94eV9jaGVjayI6ZmFsc2UsImZlYXR1cmVfbGVnYWN5X2ZpbGVfdXBsb2FkX2FuYWx5dGljcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY19maW5kX21vcmVfd2tzcHMiOmZhbHNlLCJmZWF0dXJlX3NvbmljX2lucHV0cyI6ZmFsc2UsImZlYXR1cmVfdGhyZWFkZWRfc2xhY2tfb3duZWRfcGx1Z2lucyI6dHJ1ZSwiZmVhdHVyZV9hcHBfcG9wb3V0c19pMThuIjpmYWxzZSwiZmVhdHVyZV9zbmlwcGV0X21vZGVzX2kxOG4iOmZhbHNlLCJmZWF0dXJlX2dkcml2ZV9kb19ub3RfaW5zdGFsbF9ieV9kZWZhdWx0Ijp0cnVlLCJmZWF0dXJlX2VrbV9iYWNrZmlsbF9hZGRfc2xlZXAiOmZhbHNlLCJmZWF0dXJlX2VrbV9tZXNzYWdlX3Jldm9jYXRpb25fcG9sbGluZ190ZXN0IjpmYWxzZSwiZmVhdHVyZV9sb25nZXJfY2hhbm5lbF9uYW1lcyI6dHJ1ZSwiZmVhdHVyZV90ZWFtX2FkbWluc19saXN0X2FwaSI6ZmFsc2UsImZlYXR1cmVfdGVhbV9hZG1pbnNfbGlzdF9hcGlfYWNjZXNzIjpmYWxzZSwiZmVhdHVyZV9tc19sYXRlc3QiOnRydWUsImZlYXR1cmVfZ3Vlc3RzX3VzZV9lbnRpdGxlbWVudHMiOnRydWUsImZlYXR1cmVfYXBwX2NhbnZhc2VzIjpmYWxzZSwiZmVhdHVyZV9jYWxsc19zaXBfaW50ZWdyYXRpb25fbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9hcHBfaG9tZV9hZG1pbl9wYWdlcyI6ZmFsc2UsImZlYXR1cmVfYXBwX2FjdGlvbnNfYWRtaW5fcGFnZXMiOmZhbHNlLCJmZWF0dXJlX2FwcF92aWV3c19yZW1pbmRlcnMiOmZhbHNlLCJmZWF0dXJlX3JlbWluZGVyc191c2VyIjpmYWxzZSwiZmVhdHVyZV9ibG9ja3NfcmVtaW5kZXJzX2xpc3QiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfYmxvY2tzIjpmYWxzZSwiZmVhdHVyZV9zaWxlbmNlX2FwcF9kbXMiOmZhbHNlLCJmZWF0dXJlX3NldF90el9hdXRvbWF0aWNhbGx5Ijp0cnVlLCJmZWF0dXJlX2NvbmZpcm1fY2xlYXJfYWxsX3VucmVhZHNfcHJlZiI6dHJ1ZSwiZmVhdHVyZV9ibG9ja19tb3VudHMiOnRydWUsImZlYXR1cmVfYXR0YWNobWVudHNfdjIiOnRydWUsImZlYXR1cmVfaTE4bl9hcHBfbWVzc2FnZV90YWIiOmZhbHNlLCJmZWF0dXJlX2JrX3NlbGVjdF9maWx0ZXJzIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfZXhwYW5kYWJsZV9ibG9jayI6ZmFsc2UsImZlYXR1cmVfZ3JvdXBfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9kZWVwX2xpbmtzIjp0cnVlLCJmZWF0dXJlX3Nob3dfYmxvY2tfa2l0X2luX3NoYXJlX2RpYWxvZ3MiOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9ldmVudF9ibG9jayI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3VzZXJfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9yYWRpb19idXR0b25zIjp0cnVlLCJmZWF0dXJlX21ya2R3bl9vbl9yYWRpb19idXR0b24iOnRydWUsImZlYXR1cmVfYmxvY2tfa2l0X3RhYmxlIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfcmFuZ2VfZGF0ZXBpY2tlciI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3RpbWVwaWNrZXIiOmZhbHNlLCJmZWF0dXJlX2FkZF9hcHBfaG9tZV90ZWFtX25hbWUiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19hZG1pbl9lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2RpYWxvZ3NfdjJfbW9iaWxlIjp0cnVlLCJmZWF0dXJlX3VzZXJfYXBwX2Rpc2FibGVfc3BlZWRfYnVtcCI6dHJ1ZSwiZmVhdHVyZV90cmFjdG9yX3NoYXJlZF9pbnZpdGVfbGluayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8yMTE5Ijp0cnVlLCJmZWF0dXJlX3RyYWN0b3JfYmFja3VwX2NoYW5uZWxuYW1lX2NvcHkiOnRydWUsImZlYXR1cmVfZGVncmFkZWRfcnRtX2Fsd2F5c19mYWlscyI6ZmFsc2UsImZlYXR1cmVfYXBwc19tYW5hZ2VfcGVybWlzc2lvbnNfc2NvcGVfY2hhbmdlcyI6dHJ1ZSwiZmVhdHVyZV9yZW1pbmRlcl9jcm9zc193b3Jrc3BhY2UiOnRydWUsImZlYXR1cmVfcDJwIjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2IjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2X3JvbGxiYWNrIjpmYWxzZSwiZmVhdHVyZV9jbGFzc2ljX25hdiI6ZmFsc2UsImZlYXR1cmVfbmV3X3JlYWN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9wYWdlc19leGFtcGxlIjpmYWxzZSwiZmVhdHVyZV9zb25pY19waW5zIjpmYWxzZSwiZmVhdHVyZV9zb25pY192aWRlb19wbGFjZWhvbGRlciI6dHJ1ZSwiZmVhdHVyZV9pYXAxIjpmYWxzZSwiZmVhdHVyZV9pYV9nYSI6ZmFsc2UsImZlYXR1cmVfaWFfaTE4biI6ZmFsc2UsImZlYXR1cmVfaWFfdGhlbWVzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19oYXJkX3JlbG9hZCI6dHJ1ZSwiZmVhdHVyZV9oaWRkZW5fd2tzcF91bmZ1cmxzIjp0cnVlLCJmZWF0dXJlX2d1ZXN0X3drc3BfdW5mdXJscyI6ZmFsc2UsImZlYXR1cmVfd29ya3NwYWNlX3NjaW1fbWFuYWdlbWVudCI6ZmFsc2UsImZlYXR1cmVfdW5pZmllZF9tZW1iZXIiOmZhbHNlLCJmZWF0dXJlX3R1cm5fbXBkbV9ub3RpZnNfb24iOnRydWUsImZlYXR1cmVfZG9sb3JlcyI6ZmFsc2UsImZlYXR1cmVfZGVza3RvcF9mb3JjZV9wcm9kdWN0aW9uX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX2Rlc2t0b3BfbG9nc191cGxvYWQiOmZhbHNlLCJmZWF0dXJlX21hY29zX2Rpc2FibGVfaHciOnRydWUsImZlYXR1cmVfcXVpbGxfY2prX2NvZGVfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2JvdHNfbm90X21lbWJlcnMiOnRydWUsImZlYXR1cmVfd3RhX3N0b3BfY3JlYXRpb24iOnRydWUsImZlYXR1cmVfbTExbl9jaGFubmVsX2RldGFpbHMiOmZhbHNlLCJmZWF0dXJlX2dyYW51bGFyX2JvdF9nYSI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2FjdGlvbnMiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9hY3Rpb25zX2NsaWVudCI6dHJ1ZSwiZmVhdHVyZV9zaG9ydGN1dHNfcHJvbXB0Ijp0cnVlLCJmZWF0dXJlX2FjY2Vzc2libGVfZGlhbG9ncyI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19jbGlwYm9hcmRfYnJvYWRjYXN0aW5nX29wdGluIjp0cnVlLCJmZWF0dXJlX3NjcmVlbl9zaGFyZV9uZWVkc19hZXJvIjpmYWxzZSwiZmVhdHVyZV9zbGlfdHJlbmRpbmdfZGFzaGJvYXJkIjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX2ZzX2RpYWxvZ3MiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9oZWFkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV90cmFwX2tiX3dpdGhpbl9mc19tb2RhbHMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2ltYWdlX3ZpZXdlciI6dHJ1ZSwiZmVhdHVyZV9lbW9qaV9ieV9pZCI6dHJ1ZSwiZmVhdHVyZV9tY19taWdyYXRpb25fYmFubmVyIjp0cnVlLCJmZWF0dXJlX2FyaWFfYXBwbGljYXRpb25fbW9kZSI6ZmFsc2UsImZlYXR1cmVfdXBkYXRlX211bHRpd29ya3NwYWNlX2NoYW5uZWxfbW9kYWwiOnRydWUsImZlYXR1cmVfbW9kZXJuX3JlcXVlc3Rfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfYXBwX3NldHRpbmdzX2dhbnRyeSI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3Byb2ZpbGVfZmxleHBhbmUiOmZhbHNlLCJmZWF0dXJlX3NjZ19jb252ZXJzaW9uX2NoYW5uZWxzIjp0cnVlLCJmZWF0dXJlX3JlZHVjZV91bmV4cGVjdGVkX3VuaW5zdGFsbHMiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX3dhcm5pbmciOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfcmV0ZW50aW9uX2FsbG93X292ZXJyaWRlX29uX29yZ19sZXZlbF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdHJhY2tfdGltZV9zcGVudCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZV9vbmx5Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfd2Vic29ja2V0Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfcHJvbW8iOmZhbHNlLCJmZWF0dXJlX2F0X21lbnRpb25faW52aXRlcyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2ludml0ZV90b2tlbml6YXRpb24iOnRydWUsImZlYXR1cmVfYmV0dGVyX3Rva2VuaXphdGlvbl93ZWJhcHBfZmFzdF9mb2xsb3ciOnRydWUsImZlYXR1cmVfaW1wb3J0c19jYW5jZWwiOnRydWUsImZlYXR1cmVfZW1haWxfd29ya29iamVjdF91aSI6ZmFsc2UsImZlYXR1cmVfZW1haWxfbm90aWZ5IjpmYWxzZSwiZmVhdHVyZV9lbWFpbF9wcml2YXRlIjp0cnVlLCJmZWF0dXJlX3NpbmdsZV91c2VyX2V4cG9ydCI6ZmFsc2UsImZlYXR1cmVfY2FsZW5kYXJfc2ltcGxlX2FnZW5kYV92aWV3IjpmYWxzZSwiZmVhdHVyZV9hbmFseXRpY3NfZW5hYmxlX2RpdmlzaW9uIjpmYWxzZSwiZmVhdHVyZV9lbnRlcnByaXNlX2FuYWx5dGljc19hcHBzX3RhYiI6ZmFsc2UsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xMV91cGRhdGUiOnRydWUsImZlYXR1cmVfaW5zaWdodHNfYWxsb3dfYWNjZXNzX3RvX2FwcCI6ZmFsc2UsImZlYXR1cmVfaW5zaWdodHNfY29tbXNfaW1wYWN0X21lc3NhZ2Vfc3RhdHMiOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfYWRtaW4iOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfdXBkYXRlcyI6ZmFsc2UsImZlYXR1cmVfdGVhbV90aGVtZXMiOmZhbHNlLCJmZWF0dXJlX3VuZnVybF9tZXRhZGF0YSI6ZmFsc2UsImZlYXR1cmVfcGx1c19tZW51X2FkZF9hcHBzX2xpbmsiOmZhbHNlLCJmZWF0dXJlX3JlY2VudF9maWxlc19vbW5pcGlja2VyIjpmYWxzZSwiZmVhdHVyZV9ncmFudWxhcl9ib3QiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfZm9yY2VfaW50b19sZWdhY3kiOmZhbHNlLCJmZWF0dXJlX2FkbWluX21vdmVfY2hhbm5lbHNfbWVzc2FnZSI6ZmFsc2UsImZlYXR1cmVfbmV3eHBfZmVfaW52aXRlX21vZGVybiI6dHJ1ZSwiZmVhdHVyZV9tb2Rlcm5pemVfY2hhbm5lbF9jcmVhdGVfbW9kYWwiOnRydWUsImZlYXR1cmVfc29uaWNfcGxhY2Vob2xkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19lc2NfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2Rhbmdlcm91c2x5X2d1YXJkX2lhX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfcGxhdGZvcm1fY2FsbHNfYXBpIjp0cnVlLCJmZWF0dXJlX3RocmVhZGVkX2NhbGxfYmxvY2siOmZhbHNlLCJmZWF0dXJlX3RyaWdnZXJfaWRfc2NvcGUiOmZhbHNlLCJmZWF0dXJlX2xpZmVjeWNsZV9sb2dnaW5nX3BsYW5zX3BhZ2UiOnRydWUsImZlYXR1cmVfc2xhY2tfbWVzc2FnZV9hdHRhY2htZW50X3Rvb2x0aXAiOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfbW9iaWxlX2RldmljZV9jaGVjayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cDM3ODkiOnRydWUsImZlYXR1cmVfbmV3eHBfMzc5MyI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF80MTAxIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfY3VzdG9tX2Vtb2ppc191cmwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19jdXN0b21fZW1vamlzX3VybF9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX25ld19jb3B5X2Zvcl9pZGVudGl0eV9iYXNpYyI6ZmFsc2UsImZlYXR1cmVfc29uaWNfbGVhdmVfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxzX25ld191c2VyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsX2JhYnlfdGVhbXMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19zaG9ydGN1dCI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2ludml0ZV9hY2NlcHRhbmNlX2VsaWdpYmlsaXR5X3YyX2FwaSI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxfaW52aXRlc192MiI6dHJ1ZSwiZmVhdHVyZV9iZXR0ZXJfaW52aXRlc19jYWxsX3YyX2FwaSI6dHJ1ZSwiZmVhdHVyZV9wYWlkX29uYm9hcmRpbmdfcGFnZXVwZGF0ZSI6dHJ1ZSwiZmVhdHVyZV90cmFjZV93ZWJhcHBfaW5pdCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZW1lbnRfb25seV9jaGFubmVsX2NvcHlfY2hhbmdlX3RyYW5zbGF0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdHJpcGVfY29tcGxldGVseV9kb3duX2Jhbm5lciI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9vbmJvYXJkaW5nX2ludml0ZV9wcm9tcHQiOnRydWUsImZlYXR1cmVfdGFyZ2V0ZWRfcHJvbW90aW9uYWxfZGlzY291bnRzIjp0cnVlLCJmZWF0dXJlX3BsYW5zX3BhZ2VfZnJlZV9jb2x1bW4iOnRydWUsImZlYXR1cmVfc2ZiX2R1bm5pbmdfc3RhdGVtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9jaGFuZ2VfY2hhcmdlX2Zvcl9hbGxfdGVhbXMiOnRydWUsImZlYXR1cmVfbWFsYXlzaWFfdGF4X2VtYWlsIjp0cnVlLCJmZWF0dXJlX21hbGF5c2lhX3RheF9hc3Nlc3NtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9iaWxsaW5nX3N0YXRlbWVudHMiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfZW1haWwiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfYXNzZXNzbWVudCI6ZmFsc2UsImZlYXR1cmVfY2hlY2tvdXRfdjJfcHJvZHVjdF9zd2l0Y2hfY2hlY2tvdXRfcmV2aWV3Ijp0cnVlLCJmZWF0dXJlX2NoZWNrb3V0X3YyX3Byb2R1Y3Rfc3dpdGNoX2NoZWNrb3V0X2Zvcm0iOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfYWNoX3N1cHBvcnQiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfbW9iaWxlIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9tb2JpbGVfcGhhc2VfdHdvIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9kaXNhbGxvd19pZV9hY2giOmZhbHNlLCJmZWF0dXJlX2NvbnRleHR1YWxfbWVzc2FnZV9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xM19lbmhhbmNlbWVudHMiOmZhbHNlLCJmZWF0dXJlX29yZ19sZXZlbF9hcHBzIjpmYWxzZSwiZmVhdHVyZV9jaGFubmVsX3NlY3Rpb25zIjp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2VjdGlvbnNfc2lkZWJhcl9iZWhhdmlvcl91aSI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfdjAiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfbmF2aWdhdGlvbl9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfc2VhcmNoX2xpbWl0X3RlYW1fZmlsdGVyIjp0cnVlLCJmZWF0dXJlX2FuYWx5dGljc19zY2ltX2ZpZWxkc19wYWlkIjpmYWxzZSwiZmVhdHVyZV9vcmdfYXBwc19kYXNoYm9hcmQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfaW52aXRlcyI6ZmFsc2UsImZlYXR1cmVfaGVscF9jZW50ZXJfaW5jaWRlbnRfYmFubmVyIjp0cnVlLCJmZWF0dXJlX3NjZ19lcnJvcl9tZXNzYWdlIjp0cnVlLCJmZWF0dXJlX3NlYXJjaF9yZXN1bHRzX3ZpcnR1YWxpemVkIjpmYWxzZSwiZmVhdHVyZV9zaG93X2VtYWlsX2ZvcndhcmRlZF9ieSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9lbWFpbF9hZGRyZXNzZXMiOmZhbHNlLCJmZWF0dXJlX25ld19lbm91Z2hfcGVyaW9kaWNfcmVsb2FkcyI6ZmFsc2UsImZlYXR1cmVfaWFwMV9kb3dubG9hZHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzcGxheV9leHBvcnRfZm9ybV9jc3YiOnRydWUsImZlYXR1cmVfYnVpbGRlcl93b3JrZmxvd19hY3Rpdml0eSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9leHBvcnRfZm9ybV9jc3ZfYWRtaW4iOnRydWUsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50Ijp0cnVlLCJmZWF0dXJlX25ld19iaWxsaW5nX2VtYWlsc190cmFuc2xhdGlvbnMiOnRydWUsImZlYXR1cmVfc2ZiX3BkZl9hZGRpdGlvbmFsX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX29uZSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX3R3byI6ZmFsc2UsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50X21hbnVhbGx5IjpmYWxzZSwiZmVhdHVyZV9jcmVhdG9yc19sb2dpbl93aXRoX2dvb2dsZSI6ZmFsc2UsImZlYXR1cmVfcmF0ZV9saW1pdF9hcHBfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2V4dGVybmFsX2FwcF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19ob21lX3JlbWluZGVycyI6ZmFsc2UsImZlYXR1cmVfZmVhdF9zYXlfbXlfbmFtZSI6dHJ1ZSwiZmVhdHVyZV9hcHBfZGlyZWN0b3J5X3NlY3VyaXR5X2NvbXBsaWFuY2UiOmZhbHNlLCJmZWF0dXJlX2ludml0ZV9saW5rX2NvcHkiOmZhbHNlLCJmZWF0dXJlX3B1dF9hX21lbnRpb25fb25faXQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfcGxhY2Vob2xkZXIiOmZhbHNlLCJjbGllbnRfbG9ncyI6eyIwIjp7Im51bWJlcnMiOlsiMCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyIjp7Im51bWJlcnMiOlsiMiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0Ijp7Im51bWJlcnMiOlsiNCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1Ijp7Im51bWJlcnMiOlsiNSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyMyI6eyJudW1iZXJzIjpbIjIzIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sInNvdW5kcyI6eyJuYW1lIjoic291bmRzIiwibnVtYmVycyI6WyIzNyJdfSwiMzciOnsibmFtZSI6InNvdW5kcyIsIm51bWJlcnMiOlsiMzciXSwidXNlcl9mYWNpbmciOnRydWV9LCI0NyI6eyJudW1iZXJzIjpbIjQ3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ4Ijp7Im51bWJlcnMiOlsiNDgiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiTWVzc2FnZSBIaXN0b3J5Ijp7Im5hbWUiOiJNZXNzYWdlIEhpc3RvcnkiLCJudW1iZXJzIjpbIjU4Il19LCI1OCI6eyJuYW1lIjoiTWVzc2FnZSBIaXN0b3J5IiwibnVtYmVycyI6WyI1OCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjY3Ijp7Im51bWJlcnMiOlsiNjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzIiOnsibnVtYmVycyI6WyI3MiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3MyI6eyJudW1iZXJzIjpbIjczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjgyIjp7Im51bWJlcnMiOlsiODIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiODgiOnsibnVtYmVycyI6WyI4OCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5MSI6eyJudW1iZXJzIjpbIjkxIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjkzIjp7Im51bWJlcnMiOlsiOTMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiOTYiOnsibnVtYmVycyI6WyI5NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5OSI6eyJudW1iZXJzIjpbIjk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIkNoYW5uZWwgTWFya2luZyAoTVMpIjp7Im5hbWUiOiJDaGFubmVsIE1hcmtpbmcgKE1TKSIsIm51bWJlcnMiOlsiMTQxIl19LCIxNDEiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoTVMpIiwibnVtYmVycyI6WyIxNDEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJDaGFubmVsIE1hcmtpbmcgKENsaWVudCkiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl19LCIxNDIiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSI6eyJuYW1lIjoiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMjIxIl19LCIyMjEiOnsibmFtZSI6IkNsb3NlIE9sZCBJTXMgKENsaWVudCkiLCJudW1iZXJzIjpbIjIyMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjM2NSI6eyJudW1iZXJzIjpbIjM2NSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIzODkiOnsibnVtYmVycyI6WyIzODkiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDM4Ijp7Im51bWJlcnMiOlsiNDM4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ0NCI6eyJudW1iZXJzIjpbIjQ0NCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0ODEiOnsibnVtYmVycyI6WyI0ODEiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDg4Ijp7Im51bWJlcnMiOlsiNDg4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjUyOSI6eyJudW1iZXJzIjpbIjUyOSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1NTIiOnsibnVtYmVycyI6WyI1NTIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiZGFzaGJvYXJkIjp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdfSwiNjY2Ijp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI2NjciOnsibnVtYmVycyI6WyI2NjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzczIjp7Im51bWJlcnMiOlsiNzczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjc3NyI6eyJudW1iZXJzIjpbIjc3NyJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3OTQiOnsibnVtYmVycyI6WyI3OTQiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiQ2xpZW50IFJlc3BvbnNpdmVuZXNzIjp7Im5hbWUiOiJDbGllbnQgUmVzcG9uc2l2ZW5lc3MiLCJ1c2VyX2ZhY2luZyI6ZmFsc2UsIm51bWJlcnMiOlsiODA4Il19LCI4MDgiOnsibmFtZSI6IkNsaWVudCBSZXNwb25zaXZlbmVzcyIsInVzZXJfZmFjaW5nIjpmYWxzZSwibnVtYmVycyI6WyI4MDgiXX0sIk1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciOnsibmFtZSI6Ik1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciLCJudW1iZXJzIjpbIjg4OCJdfSwiODg4Ijp7Im5hbWUiOiJNZXNzYWdlIFBhbmUgU2Nyb2xsaW5nIiwibnVtYmVycyI6WyI4ODgiXSwidXNlcl9mYWNpbmciOnRydWV9LCJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIjp7Im5hbWUiOiJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIiwibnVtYmVycyI6WyI5OTkiXX0sIjk5OSI6eyJuYW1lIjoiVW5yZWFkIGJhbm5lciBhbmQgZGl2aWRlciIsIm51bWJlcnMiOlsiOTk5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMTAwMCI6eyJudW1iZXJzIjpbIjEwMDAiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiRHVwbGljYXRlIGJhZGdlcyAoZGVza3RvcCBhcHAgaWNvbnMpIjp7Im5hbWUiOiJEdXBsaWNhdGUgYmFkZ2VzIChkZXNrdG9wIGFwcCBpY29ucykiLCJudW1iZXJzIjpbIjE3MDEiXX0sIjE3MDEiOnsibmFtZSI6IkR1cGxpY2F0ZSBiYWRnZXMgKGRlc2t0b3AgYXBwIGljb25zKSIsIm51bWJlcnMiOlsiMTcwMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIk1lbWJlcnMiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXX0sIjE5NzUiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXSwidXNlcl9mYWNpbmciOnRydWV9LCJsYXp5IGxvYWRpbmciOnsibmFtZSI6ImxhenkgbG9hZGluZyIsIm51bWJlcnMiOlsiMTk4OSJdfSwiMTk4OSI6eyJuYW1lIjoibGF6eSBsb2FkaW5nIiwibnVtYmVycyI6WyIxOTg5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwidGhpbl9jaGFubmVsX21lbWJlcnNoaXAiOnsibmFtZSI6InRoaW5fY2hhbm5lbF9tZW1iZXJzaGlwIiwibnVtYmVycyI6WyIxOTkwIl19LCIxOTkwIjp7Im5hbWUiOiJ0aGluX2NoYW5uZWxfbWVtYmVyc2hpcCIsIm51bWJlcnMiOlsiMTk5MCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sInN0YXRzIjp7Im5hbWUiOiJzdGF0cyIsIm51bWJlcnMiOlsiMTk5MSJdfSwiMTk5MSI6eyJuYW1lIjoic3RhdHMiLCJudW1iZXJzIjpbIjE5OTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJtcyI6eyJuYW1lIjoibXMiLCJudW1iZXJzIjpbIjE5OTYiXX0sIjE5OTYiOnsibmFtZSI6Im1zIiwibnVtYmVycyI6WyIxOTk2Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwic2hhcmVkX2NoYW5uZWxzX2Nvbm5lY3Rpb24iOnsibmFtZSI6InNoYXJlZF9jaGFubmVsc19jb25uZWN0aW9uIiwibnVtYmVycyI6WyIxOTk5Il19LCIxOTk5Ijp7Im5hbWUiOiJzaGFyZWRfY2hhbm5lbHNfY29ubmVjdGlvbiIsIm51bWJlcnMiOlsiMTk5OSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCJkbmQiOnsibmFtZSI6ImRuZCIsIm51bWJlcnMiOlsiMjAwMiJdfSwiMjAwMiI6eyJuYW1lIjoiZG5kIiwibnVtYmVycyI6WyIyMDAyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMjAwMyI6eyJudW1iZXJzIjpbIjIwMDMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiVGhyZWFkcyI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdfSwiMjAwNCI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjIwMDUiOnsibnVtYmVycyI6WyIyMDA1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlJlYWN0aW9ucyI6eyJuYW1lIjoiUmVhY3Rpb25zIiwibnVtYmVycyI6WyIyMDA2Il19LCIyMDA2Ijp7Im5hbWUiOiJSZWFjdGlvbnMiLCJudW1iZXJzIjpbIjIwMDYiXSwidXNlcl9mYWNpbmciOnRydWV9LCJUU1NTQi5mb2N1c1RhYkFuZFN3aXRjaFRvQ2hhbm5lbCI6eyJuYW1lIjoiVFNTU0IuZm9jdXNUYWJBbmRTd2l0Y2hUb0NoYW5uZWwiLCJudW1iZXJzIjpbIjIwMDciXX0sIjIwMDciOnsibmFtZSI6IlRTU1NCLmZvY3VzVGFiQW5kU3dpdGNoVG9DaGFubmVsIiwibnVtYmVycyI6WyIyMDA3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlByZXNlbmNlIERldGVjdGlvbiI6eyJuYW1lIjoiUHJlc2VuY2UgRGV0ZWN0aW9uIiwibnVtYmVycyI6WyIyMDE3Il19LCIyMDE3Ijp7Im5hbWUiOiJQcmVzZW5jZSBEZXRlY3Rpb24iLCJudW1iZXJzIjpbIjIwMTciXSwidXNlcl9mYWNpbmciOnRydWV9LCJtY19zaWJzIjp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il19LCI5OTk5Ijp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIk1lbWJlciBzZWFyY2hpbmciOnsibmFtZSI6Ik1lbWJlciBzZWFyY2hpbmciLCJudW1iZXJzIjpbIjkwMjExIl19LCI5MDIxMSI6eyJuYW1lIjoiTWVtYmVyIHNlYXJjaGluZyIsIm51bWJlcnMiOlsiOTAyMTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCI5ODc2NSI6eyJudW1iZXJzIjpbIjk4NzY1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjg2NzUzMDkiOnsibnVtYmVycyI6WyI4Njc1MzA5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX19fTsKCWJvb3RfZGF0YS5zdGFydF9tcyA9IERhdGUubm93KCk7Cjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgVFNfbGFzdF9sb2dfZGF0ZSA9IG51bGw7CnZhciBUU01ha2VMb2dEYXRlID0gZnVuY3Rpb24oKSB7Cgl2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CgoJdmFyIHkgPSBkYXRlLmdldEZ1bGxZZWFyKCk7Cgl2YXIgbW8gPSBkYXRlLmdldE1vbnRoKCkrMTsKCXZhciBkID0gZGF0ZS5nZXREYXRlKCk7CgoJdmFyIHRpbWUgPSB7CgkgIGg6IGRhdGUuZ2V0SG91cnMoKSwKCSAgbWk6IGRhdGUuZ2V0TWludXRlcygpLAoJICBzOiBkYXRlLmdldFNlY29uZHMoKSwKCSAgbXM6IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkKCX07CgoJT2JqZWN0LmtleXModGltZSkubWFwKGZ1bmN0aW9uKG1vbWVudCwgaW5kZXgpIHsKCQlpZiAobW9tZW50ID09ICdtcycpIHsKCQkJaWYgKHRpbWVbbW9tZW50XSA8IDEwKSB7CgkJCQl0aW1lW21vbWVudF0gPSB0aW1lW21vbWVudF0rJzAwJzsKCQkJfSBlbHNlIGlmICh0aW1lW21vbWVudF0gPCAxMDApIHsKCQkJCXRpbWVbbW9tZW50XSA9IHRpbWVbbW9tZW50XSsnMCc7CgkJCX0KCQl9IGVsc2UgaWYgKHRpbWVbbW9tZW50XSA8IDEwKSB7CgkJCXRpbWVbbW9tZW50XSA9ICcwJyArIHRpbWVbbW9tZW50XTsKCQl9Cgl9KTsKCgl2YXIgc3RyID0geSArICcvJyArIG1vICsgJy8nICsgZCArICcgJyArIHRpbWUuaCArICc6JyArIHRpbWUubWkgKyAnOicgKyB0aW1lLnMgKyAnLicgKyB0aW1lLm1zOwoJaWYgKFRTX2xhc3RfbG9nX2RhdGUpIHsKCQl2YXIgZGlmZiA9IGRhdGUtVFNfbGFzdF9sb2dfZGF0ZTsKCQkvL3N0cis9ICcgKCcrZGlmZisnbXMpJzsKCX0KCVRTX2xhc3RfbG9nX2RhdGUgPSBkYXRlOwoJcmV0dXJuIHN0cisnICc7Cn0KCnZhciBwYXJzZURlZXBMaW5rUmVxdWVzdCA9IGZ1bmN0aW9uKGNvZGUpIHsKCXZhciBtID0gY29kZS5tYXRjaCgvImlkIjoiKFtDREddW0EtWjAtOV17OCx9KSIvKTsKCXZhciBpZCA9IG0gPyBtWzFdIDogbnVsbDsKCgltID0gY29kZS5tYXRjaCgvInRlYW0iOiIoVFtBLVowLTldezgsfSkiLyk7Cgl2YXIgdGVhbSA9IG0gPyBtWzFdIDogbnVsbDsKCgltID0gY29kZS5tYXRjaCgvIm1lc3NhZ2UiOiIoWzAtOV0rXC5bMC05XSspIi8pOwoJdmFyIG1lc3NhZ2UgPSBtID8gbVsxXSA6IG51bGw7CgoJcmV0dXJuIHsgaWQ6IGlkLCB0ZWFtOiB0ZWFtLCBtZXNzYWdlOiBtZXNzYWdlIH07Cn0KCmlmICgncmVuZGVyZXJFdmFsQXN5bmMnIGluIHdpbmRvdykgewoJdmFyIG9yaWdSZW5kZXJlckV2YWxBc3luYyA9IHdpbmRvdy5yZW5kZXJlckV2YWxBc3luYzsKCXdpbmRvdy5yZW5kZXJlckV2YWxBc3luYyA9IGZ1bmN0aW9uKGJsb2IpIHsKCQl0cnkgewoJCQl2YXIgZGF0YSA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGF0b2IoYmxvYikpKTsKCQkJaWYgKGRhdGEuY29kZS5tYXRjaCgvaGFuZGxlRGVlcExpbmsvKSkgewoJCQkJdmFyIHJlcXVlc3QgPSBwYXJzZURlZXBMaW5rUmVxdWVzdChkYXRhLmNvZGUpOwoJCQkJaWYgKCFyZXF1ZXN0LmlkIHx8ICFyZXF1ZXN0LnRlYW0gfHwgIXJlcXVlc3QubWVzc2FnZSkgcmV0dXJuOwoKCQkJCXJlcXVlc3QuY21kID0gJ2NoYW5uZWwnOwoJCQkJVFNTU0IuaGFuZGxlRGVlcExpbmtXaXRoQXJncyhKU09OLnN0cmluZ2lmeShyZXF1ZXN0KSk7CgkJCQlyZXR1cm47CgkJCX0gZWxzZSB7CgkJCQlvcmlnUmVuZGVyZXJFdmFsQXN5bmMoYmxvYik7CgkJCX0KCQl9IGNhdGNoIChlKSB7CgkJfQoJfQp9PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBUU1NTQiA9IHsKCWNhbGw6IGZ1bmN0aW9uKCkgewoJCXJldHVybiBmYWxzZTsKCX0KfTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtY29yZV9yZXF1aXJlZF9saWJzLmYzOTE1N2Q0ZTkxMzkwZDRjY2RiLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL21vZGVybi52ZW5kb3IuYzIwYmY4ZTJhNTdiZDQ3MTgxZDQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvYXBwbGljYXRpb24uYWUzYzQxY2ZkMGQ3ZDhjOGNjMTQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLWNvcmVfcmVxdWlyZWRfdHMuNzA5NTgzYzAwMzY4MGEzMGIzMjUubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLWNvcmVfd2ViLjcwMGZjMzg1Nzc2ZTFhMTY4ZmU0Lm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3JvbGx1cC1hcGlfZG9jcy4zZWYzYjAxZWM5NGY5OTg5OWJhOS5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtc2Vjb25kYXJ5X2FfcmVxdWlyZWQuNTkzM2Y1YmFlMTUzZjRlNTdjZmYubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLXNlY29uZGFyeV9iX3JlcXVpcmVkLmU1OGRkNDlmMGJjMGMyOGE2MGNmLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL2Zvb3Rlci5hZDg0OGJlNDE1MjNlZGQ1ZjQ5Mi5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0PgkJCXdpbmRvdy5ib290X2RhdGEgPSB3aW5kb3cuYm9vdF9kYXRhIHx8IHt9OwoJCQlib290X2RhdGEubm9fbG9naW4gPSB0cnVlOwoJCQlib290X2RhdGEuYXBwID0gJ2FwaSc7CgkJCWJvb3RfZGF0YS5hcGlfdXJsID0gJy9hcGkvJzsKCQkJYm9vdF9kYXRhLmFwcF9pZCA9ICIiOwoJCQlib290X2RhdGEuYXBwX25hbWUgPSAiIjsKCQkJYm9vdF9kYXRhLm51bV90ZWFtcyA9IDA7CgkJCWJvb3RfZGF0YS5yZXNlcnZlZF9jb21tYW5kcyA9IFtdOwoJCQlib290X2RhdGEubnVtX2NvbW1hbmRzID0gMDsKCQkJYm9vdF9kYXRhLnN1ZG9fdXJsID0gIiI7CgkJCWJvb3RfZGF0YS5hcGlfdG9rZW4gPSAiIjsKCQkJVFMuYm9vdChib290X2RhdGEpOzwvc2NyaXB0PjxzY3JpcHQ+CnZhciBhcGlfdXJsID0gImh0dHBzOlwvXC9zbGFjay5jb21cL2FwaVwvdXNlcnMubGlzdCI7CnZhciBhcGlfdG9rZW5zID0ge307CnZhciBhcGlfYXJncyA9IHsidG9rZW4iOnsidHlwZSI6InRva2VuIiwib3B0aW9uYWwiOmZhbHNlLCJleGFtcGxlIjoieHh4eC14eHh4eHh4eHgteHh4eCIsImRlc2MiOiJcdTAwM0NwXHUwMDNFQXV0aGVudGljYXRpb24gdG9rZW4gYmVhcmluZyByZXF1aXJlZCBzY29wZXMuXHUwMDNDXC9wXHUwMDNFXG4iLCJ1aWQiOjF9LCJjdXJzb3IiOnsiZGVzYyI6Ilx1MDAzQ3BcdTAwM0VQYWdpbmF0ZSB0aHJvdWdoIGNvbGxlY3Rpb25zIG9mIGRhdGEgYnkgc2V0dGluZyB0aGUgXHUwMDNDY29kZVx1MDAzRWN1cnNvclx1MDAzQ1wvY29kZVx1MDAzRSBwYXJhbWV0ZXIgdG8gYSBcdTAwM0Njb2RlXHUwMDNFbmV4dF9jdXJzb3JcdTAwM0NcL2NvZGVcdTAwM0UgYXR0cmlidXRlIHJldHVybmVkIGJ5IGEgcHJldmlvdXMgcmVxdWVzdCdzIFx1MDAzQ2NvZGVcdTAwM0VyZXNwb25zZV9tZXRhZGF0YVx1MDAzQ1wvY29kZVx1MDAzRS4gRGVmYXVsdCB2YWx1ZSBmZXRjaGVzIHRoZSBmaXJzdCBcInBhZ2VcIiBvZiB0aGUgY29sbGVjdGlvbi4gU2VlIFx1MDAzQ2EgaHJlZj1cIlwvZG9jc1wvcGFnaW5hdGlvblwiXHUwMDNFcGFnaW5hdGlvblx1MDAzQ1wvYVx1MDAzRSBmb3IgbW9yZSBkZXRhaWwuXHUwMDNDXC9wXHUwMDNFXG4iLCJ0eXBlIjoic3RyaW5nIiwiZXhhbXBsZSI6ImRYTmxjanBWTURZeFRrWlVWREk9IiwiaGlkZGVuIjpmYWxzZSwibG9nZ2VkIjp0cnVlLCJvcHRpb25hbCI6dHJ1ZSwic3VidHlwZSI6InN0cmluZyIsInVpZCI6M30sImluY2x1ZGVfbG9jYWxlIjp7ImRlc2MiOiJcdTAwM0NwXHUwMDNFU2V0IHRoaXMgdG8gXHUwMDNDY29kZVx1MDAzRXRydWVcdTAwM0NcL2NvZGVcdTAwM0UgdG8gcmVjZWl2ZSB0aGUgbG9jYWxlIGZvciB1c2Vycy4gRGVmYXVsdHMgdG8gXHUwMDNDY29kZVx1MDAzRWZhbHNlXHUwMDNDXC9jb2RlXHUwMDNFXHUwMDNDXC9wXHUwMDNFXG4iLCJ0eXBlIjoiYm9vbGVhbiIsImxvZ2dlZCI6dHJ1ZSwib3B0aW9uYWwiOnRydWUsInN1YnR5cGUiOiJib29sZWFuIiwiZXhhbXBsZSI6InRydWUiLCJ1aWQiOjR9LCJsaW1pdCI6eyJkZWZhdWx0IjowLCJkZXNjIjoiXHUwMDNDcFx1MDAzRVRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byByZXR1cm4uIEZld2VyIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgaXRlbXMgbWF5IGJlIHJldHVybmVkLCBldmVuIGlmIHRoZSBlbmQgb2YgdGhlIHVzZXJzIGxpc3QgaGFzbid0IGJlZW4gcmVhY2hlZC5cdTAwM0NcL3BcdTAwM0VcbiIsInR5cGUiOiJpbnRlZ2VyIiwiZXhhbXBsZSI6IjIwIiwiaGlkZGVuIjpmYWxzZSwibG9nZ2VkIjp0cnVlLCJvcHRpb25hbCI6dHJ1ZSwic3VidHlwZSI6ImludGVnZXIiLCJ1aWQiOjJ9fTsKdmFyIGFwaV9tZXRob2RfbmFtZSA9ICJ1c2Vycy5saXN0IjsKCiB2YXIgZ2V0X2FwaV91cmwgPSBmdW5jdGlvbihiaXRzKSB7IHJldHVybiBhcGlfdXJsICsgJz8nICsgYml0cy5qb2luKCcmJyk7IH07IAoKdmFyIGlzX2ZsYW5uZWxfYXBpID0gZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfQoKdmFyIGhhbmRsZV9mbGFubmVsX2FwaV9jYWxsX3N1Ym1pdCA9IGZ1bmN0aW9uKCkge30KCnZhciBwcmVmb3JtYXR0ZWRfanNvbiA9IGZ1bmN0aW9uKGRhdGEpIHsKCS8vIExhc3QgdmFyIHRvIHN0cmluZ2lmeSBzaW11bGF0ZXMgcHJldHR5IHByaW50IGJ5IHRhYmJpbmcgb3ZlciA0IHNwYWNlcwoJcmV0dXJuICc8cHJlIHN0eWxlLSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdoaXRlLXNwYWNlOnByZS13cmFwIj4nICsKCQkJXy5lc2NhcGUoSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgNCkpICsKCQknPC9wcmU+JzsKfQoKdmFyIGdldF9hcGlfdG9rZW4gPSBmdW5jdGlvbigpIHsKCXZhciB0b2tlbiA9ICcnOwoKCXZhciB2ID0gJCgnI2FwaS10b2tlbicpLnZhbCgpOwoJdmFyIGJlYXJlcl90b2tlbiA9ICQoJyNhcGktYXJnLXRva2VuJykudmFsKCk7CgoJaWYgKGJlYXJlcl90b2tlbiAhPT0gJycpewoJCXRva2VuID0gYmVhcmVyX3Rva2VuOwoJfWVsc2V7CgkJZm9yICh2YXIgaj0wOyBqPGFwaV90b2tlbnMubGVuZ3RoOyBqKyspewoJCQlpZiAoYXBpX3Rva2Vuc1tqXS50ZWFtX2lkID09IHYpewoJCQkJdG9rZW4gPSBhcGlfdG9rZW5zW2pdLnRva2VuOwoJCQkJYnJlYWs7CgkJCX0KCQl9Cgl9CgoJaWYgKHYgPT0gJ2ludmFsaWQnKSB7CgkJdG9rZW4gPSAnaW52YWxpZCc7Cgl9CglyZXR1cm4gdG9rZW47Cn0KCiQoZnVuY3Rpb24oKXsKCSQoJyNhcGlfbWV0aG9kJykuY2hhbmdlKGZ1bmN0aW9uKCl7CgkJd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL21ldGhvZHMvJyskKHRoaXMpLnZhbCgpOwoJfSk7CgoJJCgnI2FwaS10b2tlbicpLmNoYW5nZShmdW5jdGlvbigpewoJCXZhciB0ZWFtX2lkID0gJCh0aGlzKS52YWwoKTsKCQl2YXIgdG9rZW4gPSBudWxsOwoKCQlmb3IgKHZhciBpPTA7IGk8YXBpX3Rva2Vucy5sZW5ndGg7IGkrKyl7CgkJCWlmIChhcGlfdG9rZW5zW2ldLnRlYW1faWQgPT0gdGVhbV9pZCl7CgkJCQl0b2tlbiA9IGFwaV90b2tlbnNbaV07CgkJCQlicmVhazsKCQkJfQoJCX0KCgkJZm9yICh2YXIgaSBpbiBhcGlfYXJncyl7CgkJCXZhciBhcmcgPSBhcGlfYXJnc1tpXSB8fCB7fTsKCQkJdmFyIGRlZl9sYWJlbCA9ICcnOwoJCQl2YXIgZGVmX3ZhbHVlID0gJyc7CgoJCQlpZiAodG9rZW4gJiYgdG9rZW4udG9rZW4pewoJCQkJaWYgKGFyZy5zdWJ0eXBlID09ICdjaGFubmVsJyl7CgkJCQkJZGVmX2xhYmVsID0gdG9rZW4uY2hhbm5lbF9uYW1lOwoJCQkJCWRlZl92YWx1ZSA9IHRva2VuLmNoYW5uZWxfaWQ7CgkJCQl9CgkJCQlpZiAoYXJnLnN1YnR5cGUgPT0gJ3VzZXInKXsKCQkJCQlkZWZfbGFiZWwgPSAnQCcrdG9rZW4udXNlcl9uYW1lOwoJCQkJCWRlZl92YWx1ZSA9IHRva2VuLnVzZXJfaWQ7CgkJCQl9CgkJCX0KCgkJCSQoJyNhcGktYXJnLWV4dHJhcy0nK2FyZy51aWQpLnRleHQoJycpOwoKCQkJaWYgKGRlZl9sYWJlbCl7CgkJCQkkKCcjYXBpLWFyZy1leHRyYXMtJythcmcudWlkKS5hcHBlbmQoJCgnPGE+JykudGV4dChkZWZfbGFiZWwpLmNsaWNrKChmdW5jdGlvbigpewoKCQkJCQl2YXIgdmFsID0gZGVmX3ZhbHVlOwoJCQkJCXZhciB1aWQgPSBhcmcudWlkOwoKCQkJCQlyZXR1cm4gZnVuY3Rpb24oKXsKCgkJCQkJCSQoJyNhcGktYXJnLScrdWlkKS52YWwodmFsKTsKCQkJCQl9OwoJCQkJfSkoKSkpOwoJCQl9CgkJfQoJfSkuY2hhbmdlKCk7CgoJJCgnI2FwaS10ZXN0LWZvcm0nKS5zdWJtaXQoZnVuY3Rpb24oKXsKCQlpZiAoaXNfZmxhbm5lbF9hcGkoKSkgewoJCQloYW5kbGVfZmxhbm5lbF9hcGlfY2FsbF9zdWJtaXQoKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJdmFyIGJpdHMgPSBbXTsKCQl2YXIgZmlsZSA9IG51bGw7CgkJdmFyIGNvbnRlbnQgPSBudWxsOwoKCQlmb3IgKHZhciBpIGluIGFwaV9hcmdzKXsKCQkJdmFyIGFyZyA9IGFwaV9hcmdzW2ldIHx8IHt9OwoJCQl2YXIgdmFsID0gJCgnI2FwaS1hcmctJythcmcudWlkKS52YWwoKTsKCgkJCWlmIChpID09ICd0b2tlbicpIHsKCQkJCXZhbCA9IGdldF9hcGlfdG9rZW4oKTsKCQkJfSBlbHNlIGlmIChhcmcuc3VidHlwZSA9PSAncG9zdF9maWxlJykgewoJCQkJZmlsZSA9ICQoJ2lucHV0OmZpbGUnKVswXS5maWxlc1swXTsKCQkJCXZhbCA9IG51bGw7CgkJCX0gZWxzZSBpZiAoaSA9PSAnY29udGVudCcpIHsKCQkJCWNvbnRlbnQgPSB2YWw7CgkJCX0KCgkJCWlmICh2YWwgJiYgdmFsLmxlbmd0aCl7CgkJCQliaXRzLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGkpKyc9JytlbmNvZGVVUklDb21wb25lbnQodmFsKSk7CgkJCX0KCQl9CgoJCXZhciBleHRyYSA9ICQoJyNhcGktYXJnLWV4dHJhJykudmFsKCk7CgkJaWYgKGV4dHJhICYmIGV4dHJhLmxlbmd0aCkgYml0cy5wdXNoKGV4dHJhKTsKCgkJYml0cy5wdXNoKCdwcmV0dHk9MScpOwoKCQl2YXIgdXJsID0gZ2V0X2FwaV91cmwoYml0cyk7CgoJCSQoJyNwcmV2aWV3LXVybCBjb2RlJykudGV4dCh1cmwpOwoJCSQoJyNwcmV2aWV3LXVybCBhJykuYXR0cignaHJlZicsIHVybCk7CgkJJCgnI3ByZXZpZXctdXJsJykuc2hvdygpOwoKCQlpZiAoJCh0aGlzKS5hdHRyKCdtZXRob2QnKSA9PT0gJ1BPU1QnKSB7CgkJCXZhciBmb3JtX2RhdGEgPSBuZXcgRm9ybURhdGEoKTsKCQkJaWYgKGZpbGUpIHsKCQkJCWlmIChhcGlfYXJnc1snaW1hZ2UnXSkgewoJCQkJCWZvcm1fZGF0YS5hcHBlbmQoJ2ltYWdlJywgZmlsZSk7CgkJCQl9IGVsc2UgewoJCQkJCWZvcm1fZGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWZvcm1fZGF0YS5hcHBlbmQoJ2NvbnRlbnQnLCBjb250ZW50KTsKCQkJfQoKCQkJJC5hamF4KHsKCQkJCXVybDogdXJsLAoJCQkJbWV0aG9kOiAnUE9TVCcsCgkJCQljb250ZW50VHlwZTogZmFsc2UsCgkJCQlwcm9jZXNzRGF0YTogZmFsc2UsCgkJCQljYWNoZTogZmFsc2UsCgkJCQlkYXRhOiBmb3JtX2RhdGEsCgkJCX0pLmRvbmUoZnVuY3Rpb24oZGF0YSkgewoJCQkJJCgnI2FwaS1wcmV2aWV3LWZyYW1lJykuYXR0cignc3JjZG9jJywgcHJlZm9ybWF0dGVkX2pzb24oZGF0YSkpLnNob3coKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJLy8gSWYgdGhlIG1ldGhvZCBpcyAnR0VUJyB0aGlzIHdpbGwgZGVmYXVsdCB0byByZWZyZXNoaW5nIGFuIGlmcmFtZSwgd2hpY2ggc2VuZHMKCQkJLy8gdGhlIHJlcXVlc3QgdG8gdGhlIGNvbnN0cnVjdGVkIHVybCBhbmQgZGlzcGxheXMgdGhlIHJlc3BvbnNlIGRhdGEKCQkJJCgnI2FwaS1wcmV2aWV3LWZyYW1lJykuYXR0cignc3JjJywgdXJsKS5zaG93KCk7CgkJfQoKCQlyZXR1cm4gZmFsc2U7Cgl9KTsKfSk7Cjwvc2NyaXB0PjxzY3JpcHQ+CQlobGpzLmNvbmZpZ3VyZSh7bGFuZ3VhZ2VzOiBbJ2pzb24nLCAnYmFzaCcsICdqYXZhc2NyaXB0JywgJ2h0dHAnXX0pOwoJCWhsanMuaW5pdEhpZ2hsaWdodGluZ09uTG9hZCgpOzwvc2NyaXB0PgoKPCEtLSBzbGFjay13d3ctaGh2bS1tYWluLWlhZC1raGZyLyAyMDIwLTAzLTE2IDA0OjE3OjE1LyB2YWE1YjRlMTE1YWFhYzA1MWVjYTk5OTYzMzUzODVkZmJlOTlmYzY4NC8gQjpIIC0tPgoKPC9ib2R5PjwvaHRtbD4= + http_version: null + recorded_at: Mon, 16 Mar 2020 11:17:16 GMT +recorded_with: VCR 5.1.0 diff --git a/test/channel_spec.rb b/test/channel_test.rb similarity index 69% rename from test/channel_spec.rb rename to test/channel_test.rb index d8b011fb..1b57ca35 100644 --- a/test/channel_spec.rb +++ b/test/channel_test.rb @@ -4,6 +4,22 @@ require_relative '../lib/channel' describe "Channel" do + + describe "Channel.new" do + it "creates a new channel" do + new_channel = Channel.new(1, "name", "topic", "member_count") + + expect(new_channel.name).must_equal "name" + expect(new_channel).must_be_kind_of Channel + end + + it "raises error when Channel params are invalid" do + new_channel = Channel.new("acd", "bfg", 65, "topic", "member_count") + expect{new_channel}.must_raise ArgumentError + end + + end + describe "self.get" do it "gets a list of channels" do result = {} diff --git a/test/test_helper.rb b/test/test_helper.rb index e632c77e..483af4ac 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -26,16 +26,15 @@ end VCR.configure do |config| - config.cassette_library_dir = "test/cassettes" # folder where casettes will be located - config.hook_into :webmock # tie into this other tool called webmock + config.cassette_library_dir = "test/cassettes" + config.hook_into :webmock config.default_cassette_options = { - :record => :new_episodes, # record new data when we don't have it yet - :match_requests_on => [:method, :uri, :body], # The http method, URI and body of a request all need to match + :record => :new_episodes, + :match_requests_on => [:method, :uri, :body] } config.filter_sensitive_data("") do ENV['SLACK_TOKEN'] - end end diff --git a/test/user_spec.rb b/test/user_test.rb similarity index 99% rename from test/user_spec.rb rename to test/user_test.rb index 275aa48f..58ec1c5d 100644 --- a/test/user_spec.rb +++ b/test/user_test.rb @@ -4,6 +4,7 @@ require_relative '../lib/user' describe "User" do + describe "self.get" do it "gets a list of users" do result = {} @@ -36,5 +37,5 @@ expect(user).must_be_kind_of User end end - + end end \ No newline at end of file diff --git a/test/workspace_spec.rb b/test/workspace_test.rb similarity index 100% rename from test/workspace_spec.rb rename to test/workspace_test.rb From 28f4cda3c5a2e0bec0fcfe2b942eeb2daa255f92 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 05:04:12 -0700 Subject: [PATCH 06/11] Wave 1 complete, all tests pass --- lib/channel.rb | 10 +- lib/user.rb | 5 +- test/cassettes/users-list-endpoint.yml | 264 +++++++++++++++++-------- test/channel_test.rb | 33 ++-- test/user_test.rb | 2 +- 5 files changed, 200 insertions(+), 114 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index 3bc02d7e..6da3fc37 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -26,12 +26,12 @@ def self.list_all data = self.get("https://api.slack.com/api/conversations.list") channels = [] - data["channels"].each do |item| + data["channels"].each do |channel| channels << Channel.new( - name: item["name"], - slack_id: item["id"], - topic: item["topic"]["value"], - member_count: item["num_members"] + name: channel["name"], + slack_id: channel["id"], + topic: channel["topic"]["value"], + member_count: channel["num_members"] ) end diff --git a/lib/user.rb b/lib/user.rb index 51218a98..d1ed8025 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -24,7 +24,7 @@ def details end def self.list_all - data = self.get("https://api.slack.com/methods/users.list") + data = self.get("https://api.slack.com/api/users.list") users = [] data["members"].each do |user| @@ -36,6 +36,7 @@ def self.list_all status_text: user["profile"]["status_text"] ) end - return users + + return users end end \ No newline at end of file diff --git a/test/cassettes/users-list-endpoint.yml b/test/cassettes/users-list-endpoint.yml index 5b35cb63..9b1c0a78 100644 --- a/test/cassettes/users-list-endpoint.yml +++ b/test/cassettes/users-list-endpoint.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://slack.com/api/users.list?token= + uri: https://slack.com/api/bogus.endpoint?token= body: encoding: US-ASCII string: '' @@ -21,72 +21,121 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '1809' + - '80' Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:17:12 GMT + - Mon, 16 Mar 2020 11:34:15 GMT Server: - Apache - X-Slack-Req-Id: - - a2514052048f92118d063b1d7e7c6b55 - X-Oauth-Scopes: - - identify,channels:read,users:read,chat:write - X-Accepted-Oauth-Scopes: - - users:read - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer X-Slack-Backend: - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding X-Content-Type-Options: - nosniff - Expires: - - Mon, 26 Jul 1997 05:00:00 GMT - Cache-Control: - - private, no-cache, no-store, must-revalidate + X-Slack-Req-Id: + - 427471206af909c36626ebf60812309e X-Xss-Protection: - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-h1l4 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 32c16f33c8f5601364fa8229b0d74dc3.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - MqE2G03o-4ZC_XWWofDX_-BrmoZSIcU-XZSDwhjVrxHHjfybyktkCA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.endpoint"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 11:34:15 GMT +- request: + method: get + uri: https://api.slack.com/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Content-Type: + - text/html; charset=utf-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 11:35:45 GMT + Server: + - Apache + X-Xss-Protection: + - '0' + Referrer-Policy: + - no-referrer + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Slack-Backend: + - h + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT Vary: - Accept-Encoding Pragma: - no-cache - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Referrer-Policy: - - no-referrer - Access-Control-Allow-Origin: - - "*" + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Robots-Tag: + - noindex,nofollow + Set-Cookie: + - b=5ji3bh50v46k6zthobmgn7l0; expires=Sat, 16-Mar-2030 11:35:45 GMT; Max-Age=315532800; + path=/; domain=.slack.com; secure; SameSite=None + - x=5ji3bh50v46k6zthobmgn7l0.1584358545; expires=Mon, 16-Mar-2020 11:50:45 GMT; + Max-Age=900; path=/; domain=.slack.com; secure; SameSite=None + X-Frame-Options: + - SAMEORIGIN X-Via: - - haproxy-www-ij90 + - haproxy-www-xfo1 X-Cache: - - Miss from cloudfront + - Error from cloudfront Via: - - 1.1 60b744e5b364d04abea9fa6686121242.cloudfront.net (CloudFront) + - 1.1 591683988172c7980c4ebb318cbf18a9.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C1 + - SEA19-C2 X-Amz-Cf-Id: - - 6QasICM_YQveDepBqlGTS4rz0W95-FGha-W9ErjoR7ZANa-aaUyuyg== + - x5ImGi3g5z0aBLjBllh_cQ-RGiTvt6ti0RmLtvoFYGta_yLZjZeMOg== body: encoding: ASCII-8BIT - string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUT7ESHPU","team_id":"TV617KKKP","name":"pchelina.kate","deleted":false,"color":"e7392d","real_name":"Ekaterina","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"hello","phone":"","skype":"","real_name":"Ekaterina","real_name_normalized":"Ekaterina","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge00c4c4b571","first_name":"Ekaterina","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584084018},{"id":"UUUGBHPDH","team_id":"TV617KKKP","name":"katie.vandervoort","deleted":false,"color":"9f69e7","real_name":"katie.vandervoort","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katie.vandervoort","real_name_normalized":"katie.vandervoort","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g05c27faff1c","image_24":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584320106},{"id":"UUUL7E4HZ","team_id":"TV617KKKP","name":"katieslackapiproject","deleted":false,"color":"674b1b","real_name":"katieslackapiproject","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katieslackapiproject","real_name_normalized":"katieslackapiproject","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g5d44bcb8226","api_app_id":"AV8A54MK8","always_active":false,"bot_id":"BUW222YSD","image_24":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583869411},{"id":"UUWHGFP25","team_id":"TV617KKKP","name":"time_kate_api_project","deleted":false,"color":"e0a729","real_name":"time_kate_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_kate_api_project","real_name_normalized":"time_kate_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge2f423a0037","api_app_id":"AV665NBEY","always_active":true,"bot_id":"BV8S561GE","first_name":"time_kate_api_project","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584214923},{"id":"UV5GT0PBN","team_id":"TV617KKKP","name":"oliviamulholland94","deleted":false,"color":"4bbe2e","real_name":"Liv - Mulholland","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Liv - Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584357432,"response_metadata":{"next_cursor":""}}' + string: !binary |- + PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4tVVMiIGNsYXNzPSIiPjxoZWFkPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3dlYnBhY2subWFuaWZlc3QuMmYxZTNlYTY3MmNkN2JmN2FlZjAubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdD53aW5kb3cudHNfZW5kcG9pbnRfdXJsID0gImh0dHBzOlwvXC9zbGFjay5jb21cL2JlYWNvblwvdGltaW5nIjsoZnVuY3Rpb24oZSkgewoJdmFyIG49RGF0ZS5ub3c/RGF0ZS5ub3coKTorbmV3IERhdGUscj1lLnBlcmZvcm1hbmNlfHx7fSx0PVtdLGE9e30saT1mdW5jdGlvbihlLG4pe2Zvcih2YXIgcj0wLGE9dC5sZW5ndGgsaT1bXTthPnI7cisrKXRbcl1bZV09PW4mJmkucHVzaCh0W3JdKTtyZXR1cm4gaX0sbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgcixhPXQubGVuZ3RoO2EtLTspcj10W2FdLHIuZW50cnlUeXBlIT1lfHx2b2lkIDAhPT1uJiZyLm5hbWUhPW58fHQuc3BsaWNlKGEsMSl9O3Iubm93fHwoci5ub3c9ci53ZWJraXROb3d8fHIubW96Tm93fHxyLm1zTm93fHxmdW5jdGlvbigpe3JldHVybihEYXRlLm5vdz9EYXRlLm5vdygpOituZXcgRGF0ZSktbn0pLHIubWFya3x8KHIubWFyaz1yLndlYmtpdE1hcmt8fGZ1bmN0aW9uKGUpe3ZhciBuPXtuYW1lOmUsZW50cnlUeXBlOiJtYXJrIixzdGFydFRpbWU6ci5ub3coKSxkdXJhdGlvbjowfTt0LnB1c2gobiksYVtlXT1ufSksci5tZWFzdXJlfHwoci5tZWFzdXJlPXIud2Via2l0TWVhc3VyZXx8ZnVuY3Rpb24oZSxuLHIpe249YVtuXS5zdGFydFRpbWUscj1hW3JdLnN0YXJ0VGltZSx0LnB1c2goe25hbWU6ZSxlbnRyeVR5cGU6Im1lYXN1cmUiLHN0YXJ0VGltZTpuLGR1cmF0aW9uOnItbn0pfSksci5nZXRFbnRyaWVzQnlUeXBlfHwoci5nZXRFbnRyaWVzQnlUeXBlPXIud2Via2l0R2V0RW50cmllc0J5VHlwZXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGkoImVudHJ5VHlwZSIsZSl9KSxyLmdldEVudHJpZXNCeU5hbWV8fChyLmdldEVudHJpZXNCeU5hbWU9ci53ZWJraXRHZXRFbnRyaWVzQnlOYW1lfHxmdW5jdGlvbihlKXtyZXR1cm4gaSgibmFtZSIsZSl9KSxyLmNsZWFyTWFya3N8fChyLmNsZWFyTWFya3M9ci53ZWJraXRDbGVhck1hcmtzfHxmdW5jdGlvbihlKXtvKCJtYXJrIixlKX0pLHIuY2xlYXJNZWFzdXJlc3x8KHIuY2xlYXJNZWFzdXJlcz1yLndlYmtpdENsZWFyTWVhc3VyZXN8fGZ1bmN0aW9uKGUpe28oIm1lYXN1cmUiLGUpfSksZS5wZXJmb3JtYW5jZT1yLCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJihkZWZpbmUuYW1kfHxkZWZpbmUuYWpzKSYmZGVmaW5lKCJwZXJmb3JtYW5jZSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gcn0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUKfSkod2luZG93KTs8L3NjcmlwdD48c2NyaXB0PgoKKGZ1bmN0aW9uKCkgewoJCgl3aW5kb3cuVFNNYXJrID0gZnVuY3Rpb24obWFya19sYWJlbCkgewoJCWlmICghd2luZG93LnBlcmZvcm1hbmNlIHx8ICF3aW5kb3cucGVyZm9ybWFuY2UubWFyaykgcmV0dXJuOwoJCXBlcmZvcm1hbmNlLm1hcmsobWFya19sYWJlbCk7Cgl9OwoJd2luZG93LlRTTWFyaygnc3RhcnRfbG9hZCcpOwoKCQoJd2luZG93LlRTTWVhc3VyZUFuZEJlYWNvbiA9IGZ1bmN0aW9uKG1lYXN1cmVfbGFiZWwsIHN0YXJ0X21hcmtfbGFiZWwpIHsKCQlpZiAoIXdpbmRvdy5wZXJmb3JtYW5jZSB8fCAhd2luZG93LnBlcmZvcm1hbmNlLm1hcmsgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZS5tZWFzdXJlKSB7CgkJCXJldHVybjsKCQl9CgoJCXBlcmZvcm1hbmNlLm1hcmsoc3RhcnRfbWFya19sYWJlbCArICdfZW5kJyk7CgoJCXRyeSB7CgkJCXBlcmZvcm1hbmNlLm1lYXN1cmUobWVhc3VyZV9sYWJlbCwgc3RhcnRfbWFya19sYWJlbCwgc3RhcnRfbWFya19sYWJlbCArICdfZW5kJyk7CgkJCXdpbmRvdy5UU0JlYWNvbihtZWFzdXJlX2xhYmVsLCBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKG1lYXN1cmVfbGFiZWwpWzBdLmR1cmF0aW9uKTsKCQl9IGNhdGNoIChlKSB7CgkJCQoJCX0KCX07CgoJCglpZiAoJ3NlbmRCZWFjb24nIGluIG5hdmlnYXRvcikgewoJCXdpbmRvdy5UU0JlYWNvbiA9IGZ1bmN0aW9uKGxhYmVsLCB2YWx1ZSkgewoJCQl2YXIgZW5kcG9pbnRfdXJsID0gd2luZG93LnRzX2VuZHBvaW50X3VybCB8fCAnaHR0cHM6Ly9zbGFjay5jb20vYmVhY29uL3RpbWluZyc7CgkJCW5hdmlnYXRvci5zZW5kQmVhY29uKAoJCQkJZW5kcG9pbnRfdXJsICsgJz9kYXRhPScgKyBlbmNvZGVVUklDb21wb25lbnQobGFiZWwgKyAnOicgKyB2YWx1ZSksCgkJCQknJwoJCQkpOwoJCX07Cgl9IGVsc2UgewoJCXdpbmRvdy5UU0JlYWNvbiA9IGZ1bmN0aW9uKGxhYmVsLCB2YWx1ZSkgewoJCQl2YXIgZW5kcG9pbnRfdXJsID0gd2luZG93LnRzX2VuZHBvaW50X3VybCB8fCAnaHR0cHM6Ly9zbGFjay5jb20vYmVhY29uL3RpbWluZyc7CgkJCW5ldyBJbWFnZSgpLnNyYyA9IGVuZHBvaW50X3VybCArICc/ZGF0YT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGxhYmVsICsgJzonICsgdmFsdWUpOwoJCX07Cgl9Cn0pKCk7Cjwvc2NyaXB0PjxzY3JpcHQ+d2luZG93LlRTTWFyaygnc3RlcF9sb2FkJyk7PC9zY3JpcHQ+PG5vc2NyaXB0PjxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7IFVSTD0vdXNlcnMubGlzdD90b2tlbj08U0xBQ0tfVE9LRU4+JmFtcDtub2pzbW9kZT0xIj48L25vc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgc2FmZV9ob3N0cyA9IFsnYXBwLm9wdGltaXplbHkuY29tJ107CgppZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7Cgl3aW5kb3cuZG9jdW1lbnQud3JpdGUoCgkJJ1x1MDAzQ3N0eWxlPmJvZHkgKiB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVx1MDAzQy9zdHlsZT5cdTAwM0NhIGhyZWY9IiMiIG9uY2xpY2s9JyArCgkJCScidG9wLmxvY2F0aW9uLmhyZWY9d2luZG93LmxvY2F0aW9uLmhyZWYiIHN0eWxlPSJkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7cGFkZGluZzoxMHB4Ij5HbyB0byBTbGFjay5jb21cdTAwM0MvYT4nCgkpOwp9CgooZnVuY3Rpb24oKSB7Cgl2YXIgdGltZXI7CglpZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7CgkJdGltZXIgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CgkJCWlmICh3aW5kb3cpIHsKCQkJCXRyeSB7CgkJCQkJdmFyIHBhZ2VFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlJyk7CgkJCQkJdmFyIGNsaWVudEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsaWVudC11aScpOwoJCQkJCXZhciBzZWN0aW9uRWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbmF2LCBoZWFkZXIsIHNlY3Rpb24nKTsKCgkJCQkJcGFnZUVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocGFnZUVsKTsKCQkJCQljbGllbnRFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsaWVudEVsKTsKCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNlY3Rpb25FbHMubGVuZ3RoOyBpKyspIHsKCQkJCQkJc2VjdGlvbkVsc1tpXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlY3Rpb25FbHNbaV0pOwoJCQkJCX0KCQkJCQl3aW5kb3cuVFMgPSBudWxsOwoJCQkJCXdpbmRvdy5URCA9IG51bGw7CgkJCQkJd2luZG93LmNsZWFySW50ZXJ2YWwodGltZXIpOwoJCQkJfSBjYXRjaCAoZSkge30JCgkJCX0KCQl9LCAyMDApOwoJfQp9KSgpOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4Kd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107CndpbmRvdy5kYXRhTGF5ZXIucHVzaCh7CgknZ3RtLnN0YXJ0JzogRGF0ZS5ub3coKSwKCSdldmVudCcgOiAnZ3RtLmpzJywKCSdzZWN1cmVfcGFnZScgOiBmYWxzZSwKfSk7CnZhciBmaXJzdFNjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsKdmFyIHRoaXNTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKdGhpc1NjcmlwdC5hc3luYyA9IHRydWU7CnRoaXNTY3JpcHQuc3JjID0gJy8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD1HVE0tS0gyTFBLJzsKZmlyc3RTY3JpcHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpc1NjcmlwdCwgZmlyc3RTY3JpcHQpOwo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbihlKSB7Cgl2YXIgZ3RtRGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKCXZhciBndG1UYWdzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnKltkYXRhLWd0bS1jbGlja10nKTsKCXZhciBndG1DbGlja0hhbmRsZXIgPSBmdW5jdGlvbihjKSB7CgkJdmFyIGd0bV9ldmVudHMgPSB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1ndG0tY2xpY2snKTsKCQlpZiAoIWd0bV9ldmVudHMpIHJldHVybjsKCQl2YXIgZ3RtX2V2ZW50c19hcnIgPSBndG1fZXZlbnRzLnNwbGl0KCIsIik7CgkJZm9yKHZhciBlPTA7IGUgPCBndG1fZXZlbnRzX2Fyci5sZW5ndGg7IGUrKykgewoJCQl2YXIgZXYgPSBndG1fZXZlbnRzX2FycltlXS50cmltKCk7CgkJCWd0bURhdGFMYXllci5wdXNoKHsgJ2V2ZW50JzogZXYgfSk7CgkJfQoJfTsKCWZvcih2YXIgZz0wOyBnIDwgZ3RtVGFncy5sZW5ndGg7IGcrKyl7CgkJdmFyIGVsZW0gPSBndG1UYWdzW2ddOwoJCWVsZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBndG1DbGlja0hhbmRsZXIpOwoJfQp9KTsKPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgooZnVuY3Rpb24oZSxjLGIsZixkLGcsYSl7ZS5TbGFja0JlYWNvbk9iamVjdD1kOwplW2RdPWVbZF18fGZ1bmN0aW9uKCl7KGVbZF0ucT1lW2RdLnF8fFtdKS5wdXNoKFsxKm5ldyBEYXRlKCksYXJndW1lbnRzXSl9OwplW2RdLmw9MSpuZXcgRGF0ZSgpO2c9Yy5jcmVhdGVFbGVtZW50KGIpO2E9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZShiKVswXTsKZy5hc3luYz0xO2cuc3JjPWY7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnLGEpCn0pKHdpbmRvdyxkb2N1bWVudCwic2NyaXB0IiwiaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvc2xhY2tfYmVhY29uLjUyNTZjMWYyNTJmOWFlODg1MDcxLm1pbi5qcyIsInNiIik7CndpbmRvdy5zYignc2V0JywgJ3Rva2VuJywgJzMzMDdmNDM2OTYzZTAyZDRmOWViODVjZTUxNTk3NDRjJyk7CndpbmRvdy5zYigndHJhY2snLCAncGFnZXZpZXcnKTsKPC9zY3JpcHQ+PG1ldGEgbmFtZT0icmVmZXJyZXIiIGNvbnRlbnQ9Im5vLXJlZmVycmVyIj48bWV0YSBuYW1lPSJzdXBlcmZpc2giIGNvbnRlbnQ9Im5vZmlzaCI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBUU19sYXN0X2xvZ19kYXRlID0gbnVsbDsKdmFyIFRTTWFrZUxvZ0RhdGUgPSBmdW5jdGlvbigpIHsKCXZhciBkYXRlID0gbmV3IERhdGUoKTsKCgl2YXIgeSA9IGRhdGUuZ2V0RnVsbFllYXIoKTsKCXZhciBtbyA9IGRhdGUuZ2V0TW9udGgoKSsxOwoJdmFyIGQgPSBkYXRlLmdldERhdGUoKTsKCgl2YXIgdGltZSA9IHsKCSAgaDogZGF0ZS5nZXRIb3VycygpLAoJICBtaTogZGF0ZS5nZXRNaW51dGVzKCksCgkgIHM6IGRhdGUuZ2V0U2Vjb25kcygpLAoJICBtczogZGF0ZS5nZXRNaWxsaXNlY29uZHMoKQoJfTsKCglPYmplY3Qua2V5cyh0aW1lKS5tYXAoZnVuY3Rpb24obW9tZW50LCBpbmRleCkgewoJCWlmIChtb21lbnQgPT0gJ21zJykgewoJCQlpZiAodGltZVttb21lbnRdIDwgMTApIHsKCQkJCXRpbWVbbW9tZW50XSA9IHRpbWVbbW9tZW50XSsnMDAnOwoJCQl9IGVsc2UgaWYgKHRpbWVbbW9tZW50XSA8IDEwMCkgewoJCQkJdGltZVttb21lbnRdID0gdGltZVttb21lbnRdKycwJzsKCQkJfQoJCX0gZWxzZSBpZiAodGltZVttb21lbnRdIDwgMTApIHsKCQkJdGltZVttb21lbnRdID0gJzAnICsgdGltZVttb21lbnRdOwoJCX0KCX0pOwoKCXZhciBzdHIgPSB5ICsgJy8nICsgbW8gKyAnLycgKyBkICsgJyAnICsgdGltZS5oICsgJzonICsgdGltZS5taSArICc6JyArIHRpbWUucyArICcuJyArIHRpbWUubXM7CglpZiAoVFNfbGFzdF9sb2dfZGF0ZSkgewoJCXZhciBkaWZmID0gZGF0ZS1UU19sYXN0X2xvZ19kYXRlOwoJCS8vc3RyKz0gJyAoJytkaWZmKydtcyknOwoJfQoJVFNfbGFzdF9sb2dfZGF0ZSA9IGRhdGU7CglyZXR1cm4gc3RyKycgJzsKfQoKdmFyIHBhcnNlRGVlcExpbmtSZXF1ZXN0ID0gZnVuY3Rpb24oY29kZSkgewoJdmFyIG0gPSBjb2RlLm1hdGNoKC8iaWQiOiIoW0NER11bQS1aMC05XXs4LH0pIi8pOwoJdmFyIGlkID0gbSA/IG1bMV0gOiBudWxsOwoKCW0gPSBjb2RlLm1hdGNoKC8idGVhbSI6IihUW0EtWjAtOV17OCx9KSIvKTsKCXZhciB0ZWFtID0gbSA/IG1bMV0gOiBudWxsOwoKCW0gPSBjb2RlLm1hdGNoKC8ibWVzc2FnZSI6IihbMC05XStcLlswLTldKykiLyk7Cgl2YXIgbWVzc2FnZSA9IG0gPyBtWzFdIDogbnVsbDsKCglyZXR1cm4geyBpZDogaWQsIHRlYW06IHRlYW0sIG1lc3NhZ2U6IG1lc3NhZ2UgfTsKfQoKaWYgKCdyZW5kZXJlckV2YWxBc3luYycgaW4gd2luZG93KSB7Cgl2YXIgb3JpZ1JlbmRlcmVyRXZhbEFzeW5jID0gd2luZG93LnJlbmRlcmVyRXZhbEFzeW5jOwoJd2luZG93LnJlbmRlcmVyRXZhbEFzeW5jID0gZnVuY3Rpb24oYmxvYikgewoJCXRyeSB7CgkJCXZhciBkYXRhID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoYXRvYihibG9iKSkpOwoJCQlpZiAoZGF0YS5jb2RlLm1hdGNoKC9oYW5kbGVEZWVwTGluay8pKSB7CgkJCQl2YXIgcmVxdWVzdCA9IHBhcnNlRGVlcExpbmtSZXF1ZXN0KGRhdGEuY29kZSk7CgkJCQlpZiAoIXJlcXVlc3QuaWQgfHwgIXJlcXVlc3QudGVhbSB8fCAhcmVxdWVzdC5tZXNzYWdlKSByZXR1cm47CgoJCQkJcmVxdWVzdC5jbWQgPSAnY2hhbm5lbCc7CgkJCQlUU1NTQi5oYW5kbGVEZWVwTGlua1dpdGhBcmdzKEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpKTsKCQkJCXJldHVybjsKCQkJfSBlbHNlIHsKCQkJCW9yaWdSZW5kZXJlckV2YWxBc3luYyhibG9iKTsKCQkJfQoJCX0gY2F0Y2ggKGUpIHsKCQl9Cgl9Cn08L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+dmFyIFRTU1NCID0gewoJY2FsbDogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQp9Ozwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgewoJdmFyIHdhc19UUyA9IHdpbmRvdy5UUzsKCWRlbGV0ZSB3aW5kb3cuVFM7CglpZiAod2FzX1RTKSB3aW5kb3cuVFMgPSB3YXNfVFM7Cn0pOzwvc2NyaXB0Pjx0aXRsZT5UaGVyZSdzIGJlZW4gYSBnbGl0Y2jigKYgfCBTbGFjazwvdGl0bGU+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzY2YTUyL3N0eWxlL3JvbGx1cC1zbGFja19raXRfbGVnYWN5X2FkYXB0ZXJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS82NjhlYjQvc3R5bGUvcm9sbHVwLXBsYXN0aWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvbW9kZXJuLnZlbmRvci41NjA4MTA2Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48bGluayBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9hcHBsaWNhdGlvbi4wMDM3ZjAzLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48bGluayBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vZjE5NWMzL3N0eWxlL3JvbGx1cC1zbGFja19raXRfaGVscGVycy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgaWQ9InNsYWNrX2tpdF9oZWxwZXJzX3N0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2YwMjBhOC9zdHlsZS80MDQuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2U1M2JmOC9zdHlsZS9zdGlja3lfbmF2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS85NWFiYTAvc3R5bGUvZm9vdGVyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS8wNDE1Yy9zdHlsZS9saWJzL2xhdG8tMi1jb21wcmVzc2VkLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIj48bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJTbGFjayI+PG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJUaGVyZSdzIGJlZW4gYSBnbGl0Y2jigKYiPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzgwNTg4L2ltZy80MDQvNDA0LW1ldGEtdGh1bWIuanBnIj48bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IldlJ3JlIG5vdCBxdWl0ZSBzdXJlIHdoYXQgd2VudCB3cm9uZy4gWW91IGNhbiBnbyBiYWNrLCBvciB0cnkgbG9va2luZyBvbiBvdXIgJmx0O2EgaHJlZj0mcXVvdDtodHRwOi8vZ2V0LnNsYWNrLmhlbHAmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyZndDtIZWxwIENlbnRlciZsdDsvYSZndDsgaWYgeW91IG5lZWQgYSBoYW5kLiI+PG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9zbGFjay5jb20vdXNlcnMubGlzdCI+PGxpbmsgaWQ9ImZhdmljb24iIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzgwNTg4L21hcmtldGluZy9pbWcvbWV0YS9mYXZpY29uLTMyLnBuZyIgc2l6ZXM9IjE2eDE2IDMyeDMyIDQ4eDQ4IiB0eXBlPSJpbWFnZS9wbmciPjwvaGVhZD48Ym9keSBjbGFzcz0iIGRlcHJlY2F0ZWQiPjxzY3JpcHQ+dmFyIHcgPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApOwppZiAodyA+IDE0NDApIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5jbGFzc0xpc3QuYWRkKCd3aWRlc2NyZWVuJyk7PC9zY3JpcHQ+PG5hdiBjbGFzcz0idG9wIHBlcnNpc3RlbnQiPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tLyIgY2xhc3M9ImxvZ28iIGRhdGEtcWE9ImxvZ28iIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWxvZ28iIGFyaWEtbGFiZWw9IlNsYWNrIGhvbWVwYWdlIj48L2E+PHVsPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9pcyIgZGF0YS1xYT0icHJvZHVjdCIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpY2luZz91aV9zdGVwPTU1JnVpX2VsZW1lbnQ9NSIgZGF0YS1xYT0icHJpY2luZyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3ByaWNpbmciPlByaWNpbmc8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9nZXQuc2xhY2suaGVscC9oYy9lbi11cyIgZGF0YS1xYT0ic3VwcG9ydCIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGkgY2xhc3M9Im1vYmlsZV9idG4gZG93bmxvYWRfc2xhY2siPjxhIGhyZWY9Ii9nZXQiIGRhdGEtcWE9ImRvd25sb2FkX3NsYWNrIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1uYXZfZG93bmxvYWQiPkRvd25sb2FkIFNsYWNrPC9hPjwvbGk+PGxpPjxhIGRhdGEtZ3RtLWNsaWNrPSJTaWduVXAsb3B0b3V0X25hdl9jcmVhdGVfdGVhbSIgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vY3JlYXRlIiBjbGFzcz0iIiBkYXRhLXFhPSJjcmVhdGVfdGVhbSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2NyZWF0ZV90ZWFtIj5DcmVhdGUgYSBuZXcgd29ya3NwYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2dldC1zdGFydGVkIiBkYXRhLWd0bS1jbGljaz0ib3B0b3V0X25hdl9maW5kX3RlYW0iIGRhdGEtcWE9ImZpbmRfdGVhbSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2ZpbmRfdGVhbSI+RmluZCB5b3VyIHdvcmtzcGFjZTwvYT48L2xpPjxsaSBjbGFzcz0ic2lnbl9pbiBoaWRlX29uX21vYmlsZSI+PGEgZGF0YS1ndG0tY2xpY2s9Im9wdG91dF9uYXZfc2lnbmluIiBocmVmPSJodHRwczovL3NsYWNrLmNvbS9zaWduaW4iIGNsYXNzPSJidG5fc3RpY2t5IGJ0bl9maWxsZWQiIGRhdGEtcWE9InNpZ25faW4iIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PW5hdl9zaWduX2luIj5TaWduIGluPC9hPjwvbGk+PGxpIGNsYXNzPSJtb2JpbGVfYnRuIG1vYmlsZV9tZW51X2J0biI+PGEgaHJlZj0iIyIgY2xhc3M9ImJ0bl9zdGlja3kiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PW5hdl9tb2JpbGVfbWVudV9idG4iPk1lbnU8L2E+PC9saT48L3VsPjwvbmF2PjxuYXYgY2xhc3M9Im1vYmlsZV9tZW51IGxvYWRpbmcgbWVudV9zY3JvbGwiIGFyaWEtaGlkZGVuPSJ0cnVlIj48ZGl2IGNsYXNzPSJtb2JpbGVfbWVudV93cmFwcGVyIj48ZGl2IGNsYXNzPSJtb2JpbGVfbWVudV9oZWFkZXIiPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tLyIgY2xhc3M9ImxvZ28iIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PW5hdl9sb2dvIj48L2E+PGEgaHJlZj0iIyIgY2xhc3M9ImNsb3NlIiBhcmlhLWxhYmVsPSJjbG9zZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X21lbnVfY2xvc2UiPjx0cy1pY29uIGNsYXNzPSJ0c19pY29uIHRzX2ljb25fdGltZXMiPjwvdHMtaWNvbj48L2E+PC9kaXY+PHVsPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9pcyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpY2luZz91aV9zdGVwPTU1JnVpX2VsZW1lbnQ9NSIgY2xhc3M9Im1vYmlsZV9uYXZfcHJpY2luZyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3ByaWNpbmciPlByaWNpbmc8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9nZXQuc2xhY2suaGVscC9oYy9lbi11cyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iL2dldCIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2Rvd25sb2FkIj5Eb3dubG9hZCA8c3BhbiBjbGFzcz0ib3B0aW9uYWxfZGVza3RvcF9uYXZfbWVzc2FnZSI+dGhlIFNsYWNrIGFwcDwvc3Bhbj48L2E+PC9saT48L3VsPjx1bCBjbGFzcz0ibW9iaWxlX21lbnVfZm9vdGVyIj48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vc2lnbmluIiBkYXRhLWd0bS1jbGljaz0ib3B0b3V0X25hdl9zaWduaW4iIHRhcmdldD0iX2JsYW5rIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1uYXZfc2lnbl9pbiI+PHRzLWljb24gY2xhc3M9InRzX2ljb24gc21hbGwgZmxvYXRfbm9uZSB0ZWFtX2ljb24gdHNfaWNvbl9wbHVzIGRlZmF1bHQgc2lnbnVwX2ljb24iPjwvdHMtaWNvbj48c3BhbiBjbGFzcz0ic3dpdGNoZXJfbGFiZWwiPlNpZ24gaW48L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGRhdGEtZ3RtLWNsaWNrPSJTaWduVXAsb3B0b3V0X25hdl9jcmVhdGVfdGVhbSIgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vY3JlYXRlIiBjbGFzcz0iIiB0YXJnZXQ9Il9ibGFuayIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2NyZWF0ZV90ZWFtIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbiBzbWFsbCBmbG9hdF9ub25lIHRlYW1faWNvbiBjLWljb24tLXNsYWNrIGRlZmF1bHQgc2lnbnVwX2ljb24iPjwvdHMtaWNvbj48c3BhbiBjbGFzcz0ic3dpdGNoZXJfbGFiZWwiPkNyZWF0ZSBhIG5ldyB3b3Jrc3BhY2U8L3NwYW4+PC9hPjwvbGk+PC91bD48L2Rpdj48L25hdj48ZGl2IGlkPSJwYWdlIiBjbGFzcz0iIj48ZGl2IGlkPSJwYWdlX2NvbnRlbnRzIiBkYXRhLXFhPSJwYWdlX2NvbnRlbnRzIiBjbGFzcz0iIj48ZGl2IGlkPSJwcmVsb2FkIj48L2Rpdj48ZGl2IGlkPSJjb250ZW50IiBkYXRhLWJhY2tncm91bmQ9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS84MDU4OC9pbWcvNDA0L21hcnJha2VzaC1tZWFkb3ctODAuanBnIj48aW1nIGlkPSJiYWNrZ3JvdW5kIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyI+PGRpdiBpZD0ic3ByaXRlLXdyYXBwZXIiPjxkaXYgY2xhc3M9InNwcml0ZSBwaWdneSBwaWdneV9jaGV3aW5nIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgY2hpY2tlbiBjaGlja2VuX3dhbGtfbHIiPjxkaXYgY2xhc3M9InN1Yl9zcHJpdGUiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBjaGlja2VuIGNoaWNrZW5fcGVja18yeCBmbGlwcGVkIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgcGlnZ3kgcGlnZ3lfd2FsayBwaWdneV93YWxrX2xyIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgY2hpY2tlbiBjaGlja2VuX3dhbGtfcmwgZmxpcHBlZCI+PGRpdiBjbGFzcz0ic3ViX3Nwcml0ZSI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic3ByaXRlIHBpZ2d5IHBpZ2d5X3dhbGsgZmxpcHBlZCBwaWdneV93YWxrX3JsIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9hbmdsZSBidXR0ZXJmbHlfYW5nbGVfbHIiPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X2FuZ2xlXzEgYnV0dGVyZmx5X2FuZ2xlXzFfbHIiPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X3Jvb2tlZCBidXR0ZXJmbHlfcm9va2VkX2xyIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9zaWRlIGJ1dHRlcmZseV9zaWRlX2xyIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9hbmdsZSBmbGlwcGVkIGJ1dHRlcmZseV9hbmdsZV9ybCBib3R0b20iPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X2FuZ2xlXzEgZmxpcHBlZCBidXR0ZXJmbHlfYW5nbGVfMV9ybCBib3R0b20iPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X3Jvb2tlZCBmbGlwcGVkIGJ1dHRlcmZseV9yb29rZWRfcmwgYm90dG9tIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9zaWRlIGZsaXBwZWQgYnV0dGVyZmx5X3NpZGVfcmwgYm90dG9tIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJsb2FkZXIiPjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+PHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9InVpbC1oZWFydCI+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9MTAwIGhlaWdodD0xMDAgZmlsbD0ibm9uZSIgY2xhc3M9ImJrIj48L3JlY3Q+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAgNTApIj48Zz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTAgLTUwKSI+PHBhdGggZD0iTTkwLDMwLjJjMC0xMS05LTIwLjEtMjAtMjAuMXMtMjAsOS4xLTIwLDIwLjJjMCwwLjIsMC0wLjMsMCwwLjdINTBjMC0xLDAtMC42LDAtMC44YzAtMTEtOS0yMC4xLTIwLTIwLjFzLTIwLDkuMS0yMCwyMC4yIGMwLDAuMiwwLTAuMywwLDAuN2gwYzAuMywyMCwzMCwzOS41LDQwLDU1YzEwLTE1LjUsMzkuNy0zNSw0MC01NWgwQzkwLDMwLDkwLDMwLjQsOTAsMzAuMnoiIGZpbGw9IiNmMDIiPjwvcGF0aD48L2c+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgZnJvbT0iMS4zIiB0bz0iMC45IiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgY2FsY01vZGU9InNwbGluZSIgdmFsdWVzPSIxLjM7MC45OzEuMTswLjkiIGtleVRpbWVzPSIwOzAuMzswLjMwMTsxIiBrZXlTcGxpbmVzPSIwIDAuNzUgMC4yNSAxOzAgMSAwIDE7MCAuNzUgLjI1IDEiPjwvYW5pbWF0ZVRyYW5zZm9ybT48L2c+PC9nPjwvc3ZnPjwvZGl2PjxkaXYgY2xhc3M9ImNhcmQiPjxoMT48aSBjbGFzcz0idHNfaWNvbiB0c19pY29uX3dhcm5pbmcgbXVzdGFyZF95ZWxsb3ciPjwvaT5UaGVyZeKAmXMgYmVlbiBhIGdsaXRjaOKApjwvaDE+PHA+V2XigJlyZSBub3QgcXVpdGUgc3VyZSB3aGF0IHdlbnQgd3JvbmcuIFlvdSBjYW4gZ28gYmFjaywgb3IgdHJ5IGxvb2tpbmcgb24gb3VyIDxhIGhyZWY9Imh0dHA6Ly9nZXQuc2xhY2suaGVscC9oYy9lbi11cyIgdGFyZ2V0PSJfYmxhbmsiPkhlbHAgQ2VudGVyPC9hPiBpZiB5b3UgbmVlZCBhIGhhbmQuPC9wPjwvZGl2Pjxub3NjcmlwdD48c3R5bGU+I2xvYWRlciB7CgkJCQkJCWRpc3BsYXk6IG5vbmU7CgkJCQkJfTwvc3R5bGU+PC9ub3NjcmlwdD48c2NyaXB0PgovLyBmaXJlIDQwNAp3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKd2luZG93LmRhdGFMYXllci5wdXNoKHsKCSdldmVudCcgOiAnRXJyb3I0MDQnLAp9KTsKCihmdW5jdGlvbigpIHsKCS8vIHF1aWNrIGhhY2s6IDgtYml0IGFscGhhLWZyaWVuZGx5IGxvZ28KCXZhciBsb2dvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hlYWRlcl9sb2dvJyk7Cgl2YXIgYWx0X3NyYyA9ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVBBQUFBQklDQU1BQUFEL0VvaTRBQUFDK2xCTVZFVUFBQUFvRlNjcUlqRW9KVE1yTERRck1qZzFNRGs3TXpncU9EMDlOVG8vT0QxQ09qOUVQRUZGUFVOSVBVaE5QRW05SHlsSlFVYlBGMXhNUkVsaVBWRmRQMUN3SjFxOEtTcFBSMHpNSVZmTElWdVJNMVNySzFrd1VrNkxObGlHT0Zjc1ZWSEJMU2RUU2svUEpsNVZUVkl6V0UvTkswNi9OQ2pSSzJaWlVWYkNOeXJOTTBVeVlGVmNWRm5QTmt4ZlZsd3VabHJRTldoaFdGN0pQalprVzJIVU9uSEpSVGZGU0NwblgyUnFZbWRzWkduVlJIWElVU2h1Wld0eGFHN01WVExKV0N4MWJIRkxlVzRhakhSNGNIWGFVb04wY25aZ2dEVmVnRHM3aDJ0OGMza3ppMjRoa0hob2dqZUFkbnpiV29aN2VYMTBoallqbUhoN2hqalNjQ3lIZm9RMG1IbC9pVFF1bW9DRmlEVjRpMEdEZ1lXR2lUYlFkQzFIbFh6Z1pvNThqMFdIaFlsQW5YaUpoNHZnYlpMVWVUOHRwWDdVZkNwK2trNDZvMzNnYjVtTWlvNCtwbzJqa1RYZmRadVFqcExXaEN1U2tKU25sREE0cm9hdWxESTVyNGVWazVjOHNZbERyWitIb0dmamY2T1pscHFEb201QnRZMmNtWjdqaHFlQ3FYK2ZuYUdBcW9iY21TN09uaXRTdVpHaW9LVFZuaTVRdlp2bWo2MmxvNmZnb1N1cHBxcGZ3SjludmFyZXBqYm9sN05zdmJHdHFxOTJ2Yk55dnJtd3JiTGlxa0p0dzZScHdjaHZ3Y0t5cjdSd3hxYnJvYnB0eGN6aHNVNjJ0TGh2eDg1Nng4OSt5cXpsdFZtNnVMenNxY0IreTlUbnVHSyt1OERrdW1LSXo3anVzY2Jsdld2QnY4T1B6dExFd2NiSnc4S1YxTDdxdzNmdnVzekl4c3JNeDhXWDFkbk15Yzd0eDRIdXlZbWoyc1hSek1yeHd0UFB6ZEdqMmQvVXpzM1QwTlhqMFovczBKU28zdVRZMHRHeDM4enp5OXJYMU5udjFKNnkzK2JjMTlYbzJLeTQ0ZUs4NHREYjJOengyS2ZmMmRqejA5Kzg1dHJsM2J6ZjNPSHozTEhqM3R6RjV1bm00Ti9JNnVESTZlemw0dWYzNHIzcTVPUDU0T3JwNXV2NTVzZlU3ZkxWNytiNTZNL3Q2dS93NnVuYjhPLzY2UEQ3N2RyaDgrenc3dkwzOE52bTgvVDI4Ty93OHUvNTcvWDI4L2owOXZQdStQUDY5dWYrOXU3eitQdjg5dlg2K2UvNCt2ZjgrZjcyKy83Lyt2bjYvUG44L3Z2ZWd2MXVBQUFBQVhSU1RsTUFRT2JZWmdBQUNnZEpSRUZVZUFIbDJnVjRFMmtleC9ILzZudHBzYWJydnFVclNBNkh0bHg3Rzl6ZFlkMFh5WGFsMlNPNDB4VDNMbWx3RDFxNVd5UzR1eC9kWG5IYlNvcVVhVW1lNTZhWnladi9aTjdKTkpBVDZPZnhmYkR2emk5dk01TkFLYm1nTExtMGZKSjUwdnJyVUVhNDFwdmRKcDJDc21HNzJlTjNLQXYrTUZNcFRpZ0Q5cHE5L2hPanR2ZHRwNCtKaVcyWENjR1ExU29tT2lvNkptNElQTENsS0hnVkJGOFVFU1JETUF3bm9xS2dCRSs2QjBGWGx3aW1RakNZaUNnWEh0VGZ6Zi9aVGRjZ2dpUUlodmhBZ2wzSDF5MVlkOXdGVXIrYjVadStlMjdmam9NNUVCUTZJaGdEd1dBZ29pdWc2dUlFWTRrSkYwSENPY2xuMDNmUHBGdmMwdTlDRUZRaGd1RVFESDFMSDN4anNGRXcyS2Q0dlJrNXdOZFNTNEpSSEVrRVE0SWJuQTBxbk9PTUhoT1VOajMycCs2ZldMQWQ4UEFpZ2hyOE9SRmxnb3AvR3IyT3N6Yk4xelp2MGFMdGRBdDJOM2pCcHVBR253VVY2MUR3QXQ5Tjg3VTkrZG9TZ3l6WUJYaG9MLzFuZ2srRGlnVW9lREFIMkltZitvaTF2RjRXN0Z6d2doT0NHM3dTVkt3d3NqZGRmQzU5VHRzV1hzMm40ZUFjZUdqaFJCQWYzT0Nqb09JNERsN2dyWjNIWjMyQ2dpV2JYZzNCQ3piOGw0TTVJOFo1YTNuRFVDL2U5UHdjZUhoaFFRM3VTMFQ3UWYxRmpCd1Nhd1VLbTU1L0ZZSVkzRGU0d1hzZ2dFMy8vRzAvdmhiNXBnWHlONHZidkIxM0lRQk8rNWhXZFNQS2gxV0pialo4WTZGNjhPV04xaGxKeWJhZHVhRHM4aDdiMU1RWmkvWTdHTUU3QWN1MkhYWEtOajFZclAycVUrUEdqZWZnWHZtbTU2V2ZLNFlBT01aRUVFU2p0eFg1Q1hiWkRkNWZydnZVenY0ZmFJZ2tIclhqOS9nTnRvWVFFaG8zM001Sk4wMXJlYitnWE5tbVpiVnFVbDhpdnNLbk9zR3RQQkY4RGlJdTBmZFhSNldCTDFzVklsVmprVk1TdkJXOFpoQlIrZUdTVGROYVhnK0wwcWE3LzdRTkFwUklXR3BjbGdSL0NvSmxrVVRPNUFUc1pEU1JxM3NVM3kyaFdVd2xWRmVnaWkra3QybU16TFpnSThUYXpqK01NcHVYUW1Dc2hDMkJFY3gxSlV3ZEFFa3JSMWhDMHdEaTVjRkphQ29GOU9mdGx2a1dTdzhjek5oMDUvNThiWWw3RUlqTG9ZVE5LZzkyMUNZS3hnQ1ZyQ0Zzc1FBSlJMU1pNYSs2NHVtV3c5ZVcrQVgxeWpiZGthLzFPQUtCNkUzWXdqbDVjQ3BSZEJoRXlyOW1oandZOTliSWd4S3VIZlF5b2w3cE9iM2s0QWt6RXRDbXVWQmFPUHhvUVZIZXpxbHhranQrenp4N0E0L1RFUlk4Nml0aFJJR09ROCswTm9MYkdOUjdFOXhvcjJ6VHREWUh3RGtURjk4R2RiSUxVdVVLSGJrcGpKQ3dBa1l3YlBXOEhwc2xwcTVkbGlBZVR2aUdELytuaUUrVEZpVVBhVkxlYzFGUmNJWlM3d1dheTl6MGtoMDU2Rmxld0p2R20wb0ZyNEl4c2N0QUd0d1ZQWlFLSDVNTGd2MHh4R080NzZDcjJFRGd0TVdKcndrY3pPNkZMU2g0dG5UVGZPMVZGNGpPNCtDRkQvSllyUUNZeXFOZ1lkU2hReHhBY2JGRUZPZHpnZlg0RDl5b3ErSUEzaEFpU2xQb2hTVW9XTHJwaWQ1YWVJaE45NVdPVEMwWXpwcXVBSlpGUktHY01IbFJWQkZnbkpBL0hBVXplMkdlaGJucFRsLzkvS3VmNTlON0grQ3pnUEpXOVdBNWRFMVBBenFGTlpuKy83WlUzRnM3RjRCNWhXZlRXaVB2Rm1DWG1KdSsvNjk4OEc4Um9TSVROaGNFSHR3YlQ2UXV3V2VjSEsxY2kzcnI1b0hYUVF2V2c5YnlkZ0hta20vNjJ0eW1sYlhhV3VQOU5qdENDRmFsUTZLOVNEMll5OTV2MzMrV2s3d21yQUM1eEdPenloRVpRYWdvQnlERjgxSHZ2Q25mL21pa2ZEYjlEK21tOCtlMjE0b2FYZ3ZzalVlb2ZoSG5MM2huM3hvYWNSTWRySGw5MFp1dG5VUVV3Z0ZURXBFSmRZREVWVnJNM3dRNUJ4c1I1VTJQL0xMOUsxcXZodmRCV1c0NGtRdEw0cFNDMDJvVE5oUEFHdnFxQkpWZ1pCRkk1V3h4MytDZXVZdWU1Zm5kOU1ndURWNnM5SzRXV3d4KzdBa2pERFd5bWNFY0hvVHNaaU1adlcxbW1rcmtRbytDaitLY25HTDBQTjd2cGtkK3lOZnk2bWl4OXVCUFpqUmhlQ2xMZkFDQWc3a1lvaHlNTG1BVDFXQWtJaGNVK2QwMHJlVlYxV0wxMUk1cTFreGpYU2hZUEhhN0VtWHhBRmExS3p5RHNNUTVnY24vcGd0WC9wV3ZwU1NiYmdocTlwaWlOY1NIVFJhY0labEFWTFBldldNMCtBcW5FWkVPMkpJVnh5SGpmOU9GRzc2b3JLMlBlcVdiL2c1S29URERGQk1xdXdFS3c3ZUhVY1NqOXBpVDRwblhBZjJyOXhPUkpsZjlZY05VdEc5YlFKc3VLcW5sVlVPOTBrMXZnbExpN0orVzl4N1Z2c0hadEdlcUN6eVdvVk82a0Y3dk5hcHZjNUlBOU1TamZHYXBOODNYdmk5bXZZd25qVGY5QlFRZ3R4M3g0TkFuRDUvaVYrQlVWb01KdjgvVXF3VVBCNERMWWNTakxsZXFUYy9hTklDdnBlb3dOMTE1OG4wSVNETWl5a2JCbjZOdmFMemtaQjI4US9EdEg3RURKcHRETTkrRng0TUMxMmo2UEw3bDYwKytRR05sbTM1UFBLL0dYd1AvMXZTMm9nQjhENWVIUGozc2k4NW9QU0FHZk0zMmVJKzBLNERzVHl5QUVqYWZZNm9Kb1RiNjMvVFByZDk2OG9rbm5uaE9LL0cyejZickRUMEdhdlpyK0VGdEJDU09DRUxBSjloelBsVUJMMGNFZW11Sjc0Y2pUNE9ITTBsRFlqamdyY1g3bDQ0NndxRzRhYjcySGI2MnhMTzBWYjdwK3FoV21VdTR3WWxaVXlTN2hZdkczd0F3NEp1L2JQQW9pQ01laWU2NUVDckVJUHd5YnBIT1BXSW5maUJpa2gvYlhZSE45ZEU3VHoxQnZhYkYva3hyMy83Zyt4UlFoVWNXMWpVcDlmUlIyL0FxK0J6RndlaW5hQTBIQ0RJaWlmU1h1NklJb210bitGUmZEcDBDR2VnRkx4dDFLakFjRzFxdkFxMlZiL285ZCsyTEgzeHY1djBSeUZjTDVjcmZ4TUVKQUhCVFEwUmhKdnZwekxWRHFoQUJPcnF6eWhNbFZvRE4rQVV2RzNVdW81YVBlaE1IeXpmOTRsKytOZ3UyZ3pxT0tFcVVmNm1sSGZFakdmM2tZV29Ic0ZVV2pILzlweUN4cWFFUTlZcjQrbVZ1bXErbFNyVnBQVkdnNStUZjA4b3VSNVJaV1RjSVNFUW1Pc1hIQU5XQnNCOGJES0JWa2swL3I2VXFmN3l5TU1XTWxHYlRuSUV3UlRsWTM4U3phZVFkc3Z0YVd3aXpOeHNBanVMNWlISmZJaDVWT0tBbWE2azNXSnQrcGYzS2ZQejllSlZOSXh1amlKeUJBNEZPK2krMCtWNWpVNmIwL1RCK1dvMzF2Z204MCtpRW8xTHhwekVlK2VnSmhtelRmTzNpZkhDN2pvTlRvSFRzVFRRK2M3YURSdzJmZDVOWFdrbDJrQXFYaVdndGZqT2pJeExSVzhFdEV3ZkxIaFdIeDZXQngyS2FLOTkwMDduNVFLVTgwUFBwd2xSRDNYRHhBTllQendTdjVObzFkRHBkamFqVDRIRTJvYTVHdUdNeWJBWmUzeWJOOVBwbVRicGVBZXgwWW15b2VOcEhKMldEeU5rN0xpYWFGM2NZRUs1SjNRNG02OVk4MWl0WXR1ay9OYm9HbUdUVGx5QVF6c3Y3ajJZN1hLQ095OXAvOURJSGFoeFpPemVlZFVEZ3BNRm8wOC9VL014b3ZBSFlkV253STJ1eUZxdjRCTy9wbXQyTUpYNERERzk2a2hNZVdkY3E0K0JYbjNpNmVqZUZyeE9mTWxQcjRSRTJIaitURy9xUkVaRnUycm5RTEpwNUJ4NWxBOFhhV2dOM3UvQzNpV1didnJkUTdMMEVqN1pqM3pXczFYVGdwdnZBdTRpREo0Q1U4OGpDU2VhVTdVNTRuSXhtYlJweHdtTkdzdW5qOFBpVGJQb1FsQUY0MHhlaERQak5TSTJHc29BYmpSL0hsd1VYQjR1OUs2Q011UEdyZTgrN1hGQm0zTHB4NDVZVEhpdi9Cb3VZU0s5WVRUVG5BQUFBQUVsRlRrU3VRbUNDJzsKCWlmIChsb2dvKSB7CgkJbG9nbyA9IGxvZ28uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpWzBdOwoJCWlmICghbG9nbykgcmV0dXJuOwoJCWxvZ28uc3JjID0gYWx0X3NyYzsKCX0KfSgpKTsKPC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0ib3ZlcmxheSI+PC9kaXY+PC9kaXY+PGZvb3RlciBkYXRhLXFhPSJmb290ZXIiPjxzZWN0aW9uIGNsYXNzPSJsaW5rcyI+PGRpdiBjbGFzcz0iZ3JpZCI+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8xIj5Vc2luZyBTbGFjazwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2lzIiBkYXRhLXFhPSJwcm9kdWN0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZW50ZXJwcmlzZSIgZGF0YS1xYT0iZW50ZXJwcmlzZV9mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9lbnRlcnByaXNlIj5FbnRlcnByaXNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3ByaWNpbmc/dWlfc3RlcD0yOCZ1aV9lbGVtZW50PTUiIGRhdGEtcWE9InByaWNpbmdfZm9vdGVyIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2dldC5zbGFjay5oZWxwL2hjL2VuLXVzIiBkYXRhLXFhPSJzdXBwb3J0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZ3VpZGVzIiBkYXRhLXFhPSJnZXR0aW5nX3N0YXJ0ZWQiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9nZXR0aW5nX3N0YXJ0ZWQiPlNsYWNrIEd1aWRlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9hcHBzIiBkYXRhLXFhPSJhcHBfZGlyZWN0b3J5IiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfYXBwX2RpcmVjdG9yeSI+QXBwIERpcmVjdG9yeTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2FwaS5zbGFjay5jb20vIiBkYXRhLXFhPSJhcGkiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9hcGkiPkFQSTwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8yIj5TbGFjayA8dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9oZWFydCI+PC90cy1pY29uPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2pvYnMiIGRhdGEtcWE9ImpvYnMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9qb2JzIj5Kb2JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2N1c3RvbWVycyIgZGF0YS1xYT0iY3VzdG9tZXJzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY3VzdG9tZXJzIj5DdXN0b21lcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZGV2ZWxvcGVycyIgZGF0YS1xYT0iZGV2ZWxvcGVycyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2RldmVsb3BlcnMiPkRldmVsb3BlcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZXZlbnRzIiBkYXRhLXFhPSJldmVudHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ldmVudHMiPkV2ZW50czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNraHEuY29tLyIgZGF0YS1xYT0iYmxvZ19mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ibG9nIj5CbG9nPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzMiPkxlZ2FsPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpdmFjeS1wb2xpY3kiIGRhdGEtcWE9InByaXZhY3kiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9wcml2YWN5Ij5Qcml2YWN5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3NlY3VyaXR5IiBkYXRhLXFhPSJzZWN1cml0eSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NlY3VyaXR5Ij5TZWN1cml0eTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS90ZXJtcy1vZi1zZXJ2aWNlIiBkYXRhLXFhPSJ0b3MiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl90b3MiPlRlcm1zIG9mIFNlcnZpY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcG9saWNpZXMiIGRhdGEtcWE9InBvbGljaWVzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcG9saWNpZXMiPlBvbGljaWVzPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzQiPkhhbmR5IExpbmtzPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZG93bmxvYWRzIiBkYXRhLXFhPSJkb3dubG9hZHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9kb3dubG9hZHMiPkRvd25sb2FkIGRlc2t0b3AgYXBwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2Rvd25sb2FkcyIgZGF0YS1xYT0iZG93bmxvYWRzX21vYmlsZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2Rvd25sb2Fkc19tb2JpbGUiPkRvd25sb2FkIG1vYmlsZSBhcHA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vYnJhbmQtZ3VpZGVsaW5lcyIgZGF0YS1xYT0iYnJhbmRfZ3VpZGVsaW5lcyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2JyYW5kX2d1aWRlbGluZXMiPkJyYW5kIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFja2F0d29yay5jb20iIGRhdGEtcWE9InNsYWNrX2F0X3dvcmsiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja19hdF93b3JrIj5TbGFjayBhdCBXb3JrPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc3RhdHVzLnNsYWNrLmNvbS8iIGRhdGEtcWE9InN0YXR1cyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N0YXR1cyI+U3RhdHVzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGRpdiBjbGFzcz0iZm9vdG5vdGUiPjxzZWN0aW9uPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tIiBhcmlhLWxhYmVsPSJTbGFjayBob21lcGFnZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NsYWNrX2ljb24iPjx0cy1pY29uIGNsYXNzPSJjLWljb24tLXNsYWNrIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjx1bD48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vaGVscC9jb250YWN0IiBkYXRhLXFhPSJjb250YWN0X3VzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY29udGFjdF91cyI+Q29udGFjdCBVczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL1NsYWNrSFEiIGRhdGEtcWE9InNsYWNrX3R3aXR0ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja190d2l0dGVyIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBUd2l0dGVyIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl90d2l0dGVyIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PGxpIGNsYXNzPSJ5dCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ1kzWUVDZ2VCY0xDeklyRkxQNGdibHciIGRhdGEtcWE9InNsYWNrX3lvdXR1YmUiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja195b3V0dWJlIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBZb3VUdWJlIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl95b3V0dWJlIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PC91bD48L3NlY3Rpb24+PC9kaXY+PC9mb290ZXI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovKioKICogQSBwbGFjZWhvbGRlciBmdW5jdGlvbiB0aGF0IHRoZSBidWlsZCBzY3JpcHQgdXNlcyB0bwogKiByZXBsYWNlIGZpbGUgcGF0aHMgd2l0aCB0aGVpciBDRE4gdmVyc2lvbnMuCiAqCiAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlX3BhdGggLSBGaWxlIHBhdGgKICogQHJldHVybnMge1N0cmluZ30KICovCmZ1bmN0aW9uIHZ2dihmaWxlX3BhdGgpIHsKCQkgdmFyIHZ2dl93YXJuaW5nID0gJ1lvdSBjYW5ub3QgdXNlIHZ2diBvbiBkeW5hbWljIHZhbHVlcy4gUGxlYXNlIG1ha2Ugc3VyZSB5b3Ugb25seSBwYXNzIGluIHN0YXRpYyBmaWxlIHBhdGhzLic7IGlmICh3aW5kb3cuVFMgJiYgd2luZG93LlRTLndhcm4pIHsgd2luZG93LlRTLndhcm4odnZ2X3dhcm5pbmcpOyB9IGVsc2UgeyBjb25zb2xlLndhcm4odnZ2X3dhcm5pbmcpOyB9IAoJcmV0dXJuIGZpbGVfcGF0aDsKfQoKdmFyIGNkbl91cmwgPSAiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb20iOwp2YXIgdnZ2X2Fic191cmwgPSAiaHR0cHM6XC9cL3NsYWNrLmNvbVwvIjsKdmFyIGluY19qc19zZXR1cF9kYXRhID0gewoJZW1vamlfc2hlZXRzOiB7CgkJYXBwbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfYXBwbGVfNjRfaW5kZXhlZF8yNTYucG5nJywKCQlnb29nbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfZ29vZ2xlXzY0X2luZGV4ZWRfMjU2LnBuZycsCgl9LAp9Owo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CS8vIGNvbW1vbiBib290X2RhdGEKCXZhciBib290X2RhdGEgPSB7ImFwaV91cmwiOiJcL2FwaVwvIiwiYXBwIjoid2ViIiwidXNlcl9pZCI6bnVsbCwidGVhbV9pZCI6IlQwMDAwMDAwMCIsInZpc2l0b3JfdWlkIjoiNWppM2JoNTB2NDZrNnp0aG9ibWduN2wwIiwibm9fbG9naW4iOnRydWUsInZlcnNpb25fdHMiOiIxNTg0MTQyMjE5IiwidmVyc2lvbl91aWQiOiJhYTViNGUxMTVhYWFjMDUxZWNhOTk5NjMzNTM4NWRmYmU5OWZjNjg0IiwiY2FjaGVfdmVyc2lvbiI6InYyMS1ub21hZCIsImNhY2hlX3RzX3ZlcnNpb24iOiJ2Mi1idW5ueSIsInJlZGlyX2RvbWFpbiI6InNsYWNrLXJlZGlyLm5ldCIsInNpZ25pbl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9zaWduaW4iLCJhYnNfcm9vdF91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC8iLCJ0ZWFtX3VybCI6IiIsImltYWdlX3Byb3h5X3VybCI6Imh0dHBzOlwvXC9zbGFjay1pbWdzLmNvbVwvIiwiYmVhY29uX3RpbWluZ191cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL3RpbWluZyIsImJlYWNvbl9lcnJvcl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL2Vycm9yIiwiY2xvZ191cmwiOiJjbG9nXC90cmFja1wvIiwiYXBpX3Rva2VuIjoiIiwidnZ2X3BhdGhzIjp7Imx6X3N0cmluZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC9idjEtOC04Y2FjZGEyXC9sei1zdHJpbmctMS40LjQud29ya2VyLjhkZTFiMDBkNjcwZmYzZGM3MDZhMC5qcyIsImNvZGVtaXJyb3IiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvci5taW4uNjhjNmEwNjEyYWJjY2M2Yjg4NTkubWluLmpzIiwiY29kZW1pcnJvcl9hZGRvbl9zaW1wbGUiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9zaW1wbGUuOTkzZmM1ZjhkZGQ0MDFmNjMyYWEubWluLmpzIiwiY29kZW1pcnJvcl9sb2FkIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cL2J2MS04LThjYWNkYTJcL2NvZGVtaXJyb3JfbG9hZC43NWEzNjEzY2E4MjkyMTZmMTAzMy5taW4uanMiLCJjb2RlbWlycm9yX2ZpbGVzIjp7ImphdmFzY3JpcHQiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9sYW5nX2phdmFzY3JpcHQuYWMxODMzZTllMjM5ZDUzMmI1YTkubWluLmpzIn19LCJub3RpZmljYXRpb25fc291bmRzIjpbeyJ2YWx1ZSI6ImIyLm1wMyIsImxhYmVsIjoiRGluZyIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL2IyLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYjIub2dnIn0seyJ2YWx1ZSI6ImFuaW1hbF9zdGljay5tcDMiLCJsYWJlbCI6IkJvaW5nIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm9nZyJ9LHsidmFsdWUiOiJiZWVuX3RyZWUubXAzIiwibGFiZWwiOiJEcm9wIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm9nZyJ9LHsidmFsdWUiOiJjb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5tcDMiLCJsYWJlbCI6IlRhLWRhIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29tcGxldGVfcXVlc3RfcmVxdWlyZW1lbnQubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9jb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5vZ2cifSx7InZhbHVlIjoiY29uZmlybV9kZWxpdmVyeS5tcDMiLCJsYWJlbCI6IlBsaW5rIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29uZmlybV9kZWxpdmVyeS5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2NvbmZpcm1fZGVsaXZlcnkub2dnIn0seyJ2YWx1ZSI6ImZsaXR0ZXJidWcubXAzIiwibGFiZWwiOiJXb3ciLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9mbGl0dGVyYnVnLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvZmxpdHRlcmJ1Zy5vZ2cifSx7InZhbHVlIjoiaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJsYWJlbCI6IkhlcmUgeW91IGdvIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hlcmVfeW91X2dvX2xpZ2h0ZXIub2dnIn0seyJ2YWx1ZSI6ImhpX2Zsb3dlcnNfaGl0Lm1wMyIsImxhYmVsIjoiSGkiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9oaV9mbG93ZXJzX2hpdC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hpX2Zsb3dlcnNfaGl0Lm9nZyJ9LHsidmFsdWUiOiJrbm9ja19icnVzaC5tcDMiLCJsYWJlbCI6Iktub2NrIEJydXNoIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwva25vY2tfYnJ1c2gubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9rbm9ja19icnVzaC5vZ2cifSx7InZhbHVlIjoic2F2ZV9hbmRfY2hlY2tvdXQubXAzIiwibGFiZWwiOiJXaG9hISIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL3NhdmVfYW5kX2NoZWNrb3V0Lm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvc2F2ZV9hbmRfY2hlY2tvdXQub2dnIn0seyJ2YWx1ZSI6Iml0ZW1fcGlja3VwLm1wMyIsImxhYmVsIjoiWW9pbmsiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9pdGVtX3BpY2t1cC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2l0ZW1fcGlja3VwLm9nZyJ9LHsidmFsdWUiOiJodW1tdXMubXAzIiwibGFiZWwiOiJIdW1tdXMiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2ZhOVwvc291bmRzXC9wdXNoXC9odW1tdXMubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9odW1tdXMub2dnIn0seyJ2YWx1ZSI6Im5vbmUiLCJsYWJlbCI6Ik5vbmUifV0sImFsZXJ0X3NvdW5kcyI6W3sidmFsdWUiOiJmcm9nLm1wMyIsImxhYmVsIjoiRnJvZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcL2EzNGFcL3NvdW5kc1wvZnJvZy5tcDMifV0sImNhbGxfc291bmRzIjpbeyJ2YWx1ZSI6ImNhbGxcL2FsZXJ0X3YyLm1wMyIsImxhYmVsIjoiQWxlcnQiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2FsZXJ0X3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9pbmNvbWluZ19yaW5nX3YyLm1wMyIsImxhYmVsIjoiSW5jb21pbmcgcmluZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwvaW5jb21pbmdfcmluZ192Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvb3V0Z29pbmdfcmluZ192Mi5tcDMiLCJsYWJlbCI6Ik91dGdvaW5nIHJpbmciLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL291dGdvaW5nX3JpbmdfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3BvcF92Mi5tcDMiLCJsYWJlbCI6IkluY29taW5nIHJlYWN0aW9uIiwidXJsIjoiaHR0cHM6XC9cL3NsYWNrLmdsb2JhbC5zc2wuZmFzdGx5Lm5ldFwvMDhmN1wvc291bmRzXC9jYWxsXC9wb3BfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiVGhleSBsZWZ0IGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC95b3VfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiWW91IGxlZnQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2xlZnRfY2FsbF92Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvdGhleV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IlRoZXkgam9pbmVkIGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfam9pbmVkX2NhbGxfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3lvdV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IllvdSBqb2luZWQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2pvaW5lZF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9jb25maXJtYXRpb25fdjIubXAzIiwibGFiZWwiOiJDb25maXJtYXRpb24iLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2NvbmZpcm1hdGlvbl92Mi5tcDMifV0sImNhbGxfc291bmRzX3ZlcnNpb24iOiJ2MiIsImltZyI6eyJhcHBfaWNvbiI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC84MDU4OFwvaW1nXC9zbGFja19ncm93bF9pY29uX3ZvZ3VlLnBuZyJ9LCJwYWdlX25lZWRzX2VudGVycHJpc2UiOmZhbHNlLCJwYWdlX25lZWRzX2N1c3RvbV9lbW9qaSI6ZmFsc2UsImlzX2RlcHJlY2F0ZWRfd2ViY2xpZW50X2Jyb3dzZXIiOmZhbHNlLCJpc191bnN1cHBvcnRlZF93ZWJjbGllbnRfYnJvd3NlciI6dHJ1ZSwiZGVmYXVsdF90eiI6IkFtZXJpY2FcL0xvc19BbmdlbGVzIiwiZmVhdHVyZV9uZXdfcHVycGxlX3NjaGVtZSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9nZXR0aW5nX3N0YXJ0ZWRfaTE4biI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9jcmVhdGlvbl9vcmdfcG9saWN5IjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX2V4dGVuc2lvbnMiOmZhbHNlLCJmZWF0dXJlX2tleWJvYXJkX2tleV90b29sdGlwIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3dlYmhvb2tfYWRtaW4iOnRydWUsImZlYXR1cmVfYnVpbGRlcl93ZWJob29rX3RyaWdnZXIiOnRydWUsImZlYXR1cmVfYWxseV9idWdiYXNoIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3NjaGVkdWxlZF90cmlnZ2VyIjp0cnVlLCJmZWF0dXJlX2Jsb2NrX2tpdF9tYXhfc2VsZWN0ZWRfaXRlbXMiOnRydWUsImZlYXR1cmVfYnVpbGRlcl9mZWVkYmFja19idXR0b24iOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfbWVzc2FnZV9zdGVwX3JpY2hfdGV4dCI6ZmFsc2UsImZlYXR1cmVfYXBwX3ZpZXdzX3YxIjp0cnVlLCJmZWF0dXJlX2F1ZGl0X2xvZ3NfdmlldyI6ZmFsc2UsImZlYXR1cmVfYXVkaXRfbG9nc192aWV3X3dvcmtzcGFjZSI6ZmFsc2UsImZlYXR1cmVfZGF0YV9sb2NhdGlvbl9uZXdfdHJhbnNsYXRpb25zIjpmYWxzZSwiZmVhdHVyZV9za19pMThuIjpmYWxzZSwiZmVhdHVyZV9zc29fY29tYmluZV9jb25maWdfcHJlZmVyZW5jZXMiOmZhbHNlLCJmZWF0dXJlX3Nzb19wcmVmZXJlbmNlc192aWV3X21vZGFscyI6dHJ1ZSwiZmVhdHVyZV9zY2hlZHVsZWRfZXhwb3J0c19jbGFyaWZ5X2NhbmNlbGxhdGlvbiI6dHJ1ZSwiZmVhdHVyZV9kZWZhdWx0X2Jyb3dzZXJfY29udHJvbF92MiI6ZmFsc2UsImZlYXR1cmVfYWNjb3VudF9jcmVhdGlvbl9zaG93X2N1c3RvbV90b3MiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX2NvdW50IjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX3NlbGVjdHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzYWJsZV9nbG9iYWxfdHJpZ2dlcnMiOnRydWUsImZlYXR1cmVfd29ya2Zsb3dfYnVpbGRlcl9lbmFibGVkX29yZ19zZXR0aW5nIjp0cnVlLCJmZWF0dXJlX2J1aWxkZXJfY2FuX2FjY2VzcyI6ZmFsc2UsImZlYXR1cmVfZXNjX3JldGVudGlvbl9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX2VzY19yZXRlbnRpb25fY2xpZW50X2NvcHkiOnRydWUsImZlYXR1cmVfYWx3YXlzX3Nob3dfYXJjaGl2ZV9jaGFubmVsX29wdGlvbiI6ZmFsc2UsImZlYXR1cmVfZ3JhbnVsYXJfZG5kIjpmYWxzZSwiZmVhdHVyZV9jb250ZXh0X2Jhcl9ndWVzdHMiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3R6X2lzc3VlcyI6ZmFsc2UsImZlYXR1cmVfbXVsdGlfZmlsZV9sYXlvdXQiOnRydWUsImZlYXR1cmVfbWlncmF0aW9uX29yZ19hcHByb3ZhbHMiOnRydWUsImZlYXR1cmVfbmV3eHBfMzI2NiI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8zMjc5Ijp0cnVlLCJmZWF0dXJlX25ld3hwXzQxNTMiOmZhbHNlLCJmZWF0dXJlX3RpbnlzcGVjayI6ZmFsc2UsImZlYXR1cmVfb3JnX2d1ZXN0X2NvbnZlcnNpb24iOnRydWUsImZlYXR1cmVfb3JnX2xldmVsX3VzZXJfZ3JvdXBzX3BoYXNlXzJfZnJvbnRlbmQiOmZhbHNlLCJmZWF0dXJlX3VzZV9uZXdfbGlzdF90ZWFtc19yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9kZXNrdG9wX2NvcHlfdGV4dCI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb24iOnRydWUsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fZGFyayI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fbW9kYWwiOmZhbHNlLCJmZWF0dXJlX3NzYl9xMzE5X2RlcHJlY2F0aW9uX21vZGFsX3N0b3JlX292ZXJyaWRlIjpmYWxzZSwiZmVhdHVyZV9zc2JfcTMxOV9kZXByZWNhdGlvbl9ibG9jayI6dHJ1ZSwiZmVhdHVyZV9kZXByZWNhdGVfZ2V0X21lbWJlcl9ieV9uYW1lIjpmYWxzZSwiZmVhdHVyZV91bmtub3duX2ZpbGVzIjp0cnVlLCJmZWF0dXJlX3Vua25vd25fbWVzc2FnZXMiOnRydWUsImZlYXR1cmVfYWRkX21lc3NhZ2VfcGVyZiI6ZmFsc2UsImZlYXR1cmVfZml4X2N1c3RvbV9lbW9qaV9lcnJvcnMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2RlbGV0ZV9maWxlIjp0cnVlLCJmZWF0dXJlX2NvcHlfY2hhbm5lbF9saW5rIjp0cnVlLCJmZWF0dXJlX2NvbGxhcHNlX3JlYWN0aW9ucyI6ZmFsc2UsImZlYXR1cmVfZW1haWxfd29ya2Zsb3ciOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2Vfa2l0X2luX21lc3NhZ2VfcGFuZSI6dHJ1ZSwiZmVhdHVyZV9pYV9lZHVjYXRpb24iOmZhbHNlLCJmZWF0dXJlX2NoYW5uZWxfZGV0YWlsc19tZW1iZXJzaGlwX2xpc3QiOmZhbHNlLCJmZWF0dXJlX2FsbF9kbV9tdXRlX2JvdHMiOmZhbHNlLCJmZWF0dXJlX2hlbHBfbWVudV9mZWVkYmFjayI6ZmFsc2UsImZlYXR1cmVfZmlsZV90aHJlYWRzIjp0cnVlLCJmZWF0dXJlX2Jyb2FkY2FzdF9pbmRpY2F0b3IiOnRydWUsImZlYXR1cmVfbmV3X3JlcGxpZXNfYWZ0ZXJfYmNhc3QiOnRydWUsImZlYXR1cmVfc29uaWNfZW1vamkiOmZhbHNlLCJmZWF0dXJlX2Vtb2ppX3NlYXJjaF9rZXl3b3Jkc19pbl9hdXRvY29tcGxldGUiOmZhbHNlLCJmZWF0dXJlX2VtYWlsX2luZ2VzdGlvbiI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9jb250ZXh0X21lbnUiOmZhbHNlLCJmZWF0dXJlX2F0dGFjaG1lbnRzX2lubGluZSI6ZmFsc2UsImZlYXR1cmVfZml4X2ZpbGVzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzX2V2ZW50c19kb2NzIjp0cnVlLCJmZWF0dXJlX2FwcF9sYXVuY2hlcl9iYW5uZXJzIjpmYWxzZSwiZmVhdHVyZV9hcHBfbGF1bmNoZXJfZmlsdGVycyI6ZmFsc2UsImZlYXR1cmVfaGVscF90ZXN0X3ByaW1lciI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfZ3Vlc3RfY2hlY2siOmZhbHNlLCJmZWF0dXJlX2N1c3RvbV9zdGF0dXNfZXhwaXJ5Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2lkZWJhcl9kcmFmdHNfc2VjdGlvbiI6dHJ1ZSwiZmVhdHVyZV9uYXZpZ2F0ZV9oaXN0b3J5Ijp0cnVlLCJmZWF0dXJlX21lc3NhZ2VfYWN0aW9uc19yZWZyZXNoIjp0cnVlLCJmZWF0dXJlX2NvbXBvc2VfZmxvdyI6ZmFsc2UsImZlYXR1cmVfY29tcG9zZV9mbG93X3h3cyI6ZmFsc2UsImZlYXR1cmVfdGVtcF9jaGFubmVsX3N1YnNjcmlwdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2Zhc3Rlcl9jb3VudF9hbGxfdW5yZWFkcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY191c2VyX2dyb3VwcyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9zZWxlY3Rvcl9mb3JfdGVhbV9ndWVzdHNfdXBkYXRlIjpmYWxzZSwiZmVhdHVyZV9kZXNrdG9wX3N5bXB0b21fZXZlbnRzIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9kZWJ1Z2dpbmciOmZhbHNlLCJmZWF0dXJlX2VudF9hZG1pbl9hcHByb3ZlZF9hcHBzX3YyIjp0cnVlLCJmZWF0dXJlX21vZGVybml6ZWRfeHdzX3Blcm1hbGlua19kaWFsb2dzIjp0cnVlLCJmZWF0dXJlX2Rhc2hib2FyZF9zb3J0YWJsZV9saXN0cyI6ZmFsc2UsImZlYXR1cmVfc2tfbG9hZGluZ19idXR0b25fbW90aW9ucyI6dHJ1ZSwiZmVhdHVyZV9za19iYXNlX2ljb24iOmZhbHNlLCJmZWF0dXJlX2hlbHBfbW9kYWxfaWFfcmVkZXNpZ24iOnRydWUsImZlYXR1cmVfaGVscF9tb2RhbF9pYV9yZWRlc2lnbl9wYXJ0X2RldXgiOmZhbHNlLCJmZWF0dXJlX2NlX2VuZ19jb250YWN0X2Zvcm1fY2F0ZWdvcmllcyI6ZmFsc2UsImZlYXR1cmVfY2VfZW5nX2NvbnRhY3RfZmVlZGJhY2siOmZhbHNlLCJmZWF0dXJlX2dkcHJfZXhwb3J0cyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2lzX3JlbW92ZV9jcmVhdGVfc2hhcmVkX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19tdWx0aV9vcmciOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9kb3VibGVfZGlhbW9uZHMiOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9wZW5kaW5nX2Nvbm5lY3Rpb25zIjpmYWxzZSwiZmVhdHVyZV9yZW1vdmVfZG91YmxlX3JpbmdzIjpmYWxzZSwiZmVhdHVyZV9leHRlcm5hbF9vcmdzX3NlY3Rpb25fY2hhbm5lbF9kZXRhaWxzIjpmYWxzZSwiZmVhdHVyZV9kaXNwbGF5X29yZ3NfbGlzdF9zaGFyZV9kaWFsb2ciOmZhbHNlLCJmZWF0dXJlX2VuYWJsZV9tdWx0aV9vcmdfaW52aXRlc19mZSI6ZmFsc2UsImZlYXR1cmVfZW5hYmxlX211bHRpX29yZ19kaXNjb25uZWN0X2ZlIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfbXVsdGlfb3JnX2ludml0ZXNfYmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3NjYWxhYmxlX21vcmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX21lc3NhZ2VfcGFuZV9jbGljayI6ZmFsc2UsImZlYXR1cmVfbWFuYWdlX3NjX2NoYW5uZWxfY2FyZCI6ZmFsc2UsImZlYXR1cmVfY3JlYXRlX3ByaXZhdGVfY19jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfZ2Rwcl91c2VyX2pvaW5fdG9zIjp0cnVlLCJmZWF0dXJlX3VzZXJfaW52aXRlX3Rvc19hcHJpbF8yMDE4Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfbWdtdF9waGFzZV90aHJlZSI6ZmFsc2UsImZlYXR1cmVfaW5jcmVtZW50YWxfdW5yZWFkX2NvdW50cyI6ZmFsc2UsImZlYXR1cmVfbmV1ZV90eXBlIjpmYWxzZSwiZmVhdHVyZV9jdXN0X2FjcV9pMThuX3R3ZWFrcyI6ZmFsc2UsImZlYXR1cmVfcmVmYWNfdGhlX3RheCI6ZmFsc2UsImZlYXR1cmVfY29udGFjdF9zYWxlc19leHBlcmltZW50Ijp0cnVlLCJmZWF0dXJlX2RhdGFfcmVzaWRlbmN5X2pwX2Jhbm5lciI6dHJ1ZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViIjpmYWxzZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViX3dhdmVfdHdvIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9hdXN0cmFsaWFfYmFubmVyIjpmYWxzZSwiZmVhdHVyZV9wcm9qX25hdl9jb21wb25lbnQiOmZhbHNlLCJmZWF0dXJlX3Byb2pfdXBkYXRlX3RyYW5zcGFyZW5jeV9yZXBvcnQiOmZhbHNlLCJmZWF0dXJlX3doaXRlbGlzdF96ZW5kZXNrX2NoYXRfd2lkZ2V0IjpmYWxzZSwiZmVhdHVyZV9hcHBfYWN0aW9uX3NsYXNoX2NvbW1hbmRzX3BhZDEwNDIiOnRydWUsImZlYXR1cmVfc2hvcnRjdXRzX21lbnVfYW5ub3VuY2Vfb25seSI6dHJ1ZSwiZmVhdHVyZV9saXZlX3N1cHBvcnRfZnJlZV9wbGFuIjpmYWxzZSwiZmVhdHVyZV9vZmZsaW5lX21vZGUiOmZhbHNlLCJmZWF0dXJlX2ZvcmNlX2xzX2NvbXByZXNzaW9uIjpmYWxzZSwiZmVhdHVyZV91c2VfaW1ncHJveHlfcmVzaXppbmciOnRydWUsImZlYXR1cmVfc2hhcmVfbWVudGlvbl9jb21tZW50X2NsZWFudXAiOmZhbHNlLCJmZWF0dXJlX2VsZWN0cm9uX21lbW9yeV9sb2dnaW5nIjpmYWxzZSwiZmVhdHVyZV9sb2NhbGl6YXRpb25fcGhhc2VfdHdvIjp0cnVlLCJmZWF0dXJlX2xvY2FsZV9lc19MQSI6dHJ1ZSwiZmVhdHVyZV9sb2NhbGVfZW5fR0IiOnRydWUsImZlYXR1cmVfbG9jYWxlX3B0X0JSIjp0cnVlLCJmZWF0dXJlX25ld19sb2NhbGVfdG9hc3QiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9leHBvcnRzIjpmYWxzZSwiZmVhdHVyZV9kb2NzX21lbnRpb25zX2FuZF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdmFjYXRpb25fZGVsaWdodCI6dHJ1ZSwiZmVhdHVyZV90aHJlYWRzX3VucmVhZF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2NhbGxzX2VzY191aSI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19zdXJ2ZXlfcmVxdWVzdF9yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9yZW1vdGVfZmlsZXNfYXBpIjp0cnVlLCJmZWF0dXJlX3Rva2VuX2lwX3doaXRlbGlzdCI6dHJ1ZSwiZmVhdHVyZV9zaWRlYmFyX3RoZW1lX3VuZG8iOmZhbHNlLCJmZWF0dXJlX2hpZGVfb25fc3RhcnR1cCI6dHJ1ZSwiZmVhdHVyZV9kb250X3NldF9jaGFubmVsX21lbWJlcnNoaXBfdHdpY2UiOmZhbHNlLCJmZWF0dXJlX2FsbG93X2ludHJhX3dvcmRfZm9ybWF0dGluZyI6dHJ1ZSwiZmVhdHVyZV9pMThuX2NoYW5uZWxzX3ZhbGlkYXRlX2Vtb2ppIjp0cnVlLCJmZWF0dXJlX2Z3X2VuZ19ub3JtYWxpemF0aW9uIjp0cnVlLCJmZWF0dXJlX3NsaW1fc2Nyb2xsYmFyIjpmYWxzZSwiZmVhdHVyZV9wcmltYXJ5X3NlYXJjaCI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3NvdW5kcyI6ZmFsc2UsImZlYXR1cmVfc2xpX2NoYW5uZWxfYXJjaGl2ZV9zdWdnZXN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaCI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaF9saW5rIjp0cnVlLCJmZWF0dXJlX3N0ZWVwbGVfY2h1cmNoX2V4dCI6dHJ1ZSwiZmVhdHVyZV9zdHJvbGxlcnNfdG9fcGVyY2giOnRydWUsImZlYXR1cmVfZmFudGFpbF9udXJ0dXJlIjp0cnVlLCJmZWF0dXJlX3BvdXJvdmVyIjpmYWxzZSwiZmVhdHVyZV9wZW9wbGVfc2VhcmNoIjpmYWxzZSwiZmVhdHVyZV9yZWFjdF9tZXNzYWdlcyI6dHJ1ZSwiZmVhdHVyZV9lZGdlX3VwbG9hZF9wcm94eV9jaGVjayI6ZmFsc2UsImZlYXR1cmVfbGVnYWN5X2ZpbGVfdXBsb2FkX2FuYWx5dGljcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY19maW5kX21vcmVfd2tzcHMiOmZhbHNlLCJmZWF0dXJlX3NvbmljX2lucHV0cyI6ZmFsc2UsImZlYXR1cmVfdGhyZWFkZWRfc2xhY2tfb3duZWRfcGx1Z2lucyI6dHJ1ZSwiZmVhdHVyZV9hcHBfcG9wb3V0c19pMThuIjpmYWxzZSwiZmVhdHVyZV9zbmlwcGV0X21vZGVzX2kxOG4iOmZhbHNlLCJmZWF0dXJlX2dkcml2ZV9kb19ub3RfaW5zdGFsbF9ieV9kZWZhdWx0Ijp0cnVlLCJmZWF0dXJlX2VrbV9iYWNrZmlsbF9hZGRfc2xlZXAiOmZhbHNlLCJmZWF0dXJlX2VrbV9tZXNzYWdlX3Jldm9jYXRpb25fcG9sbGluZ190ZXN0IjpmYWxzZSwiZmVhdHVyZV9sb25nZXJfY2hhbm5lbF9uYW1lcyI6dHJ1ZSwiZmVhdHVyZV90ZWFtX2FkbWluc19saXN0X2FwaSI6ZmFsc2UsImZlYXR1cmVfdGVhbV9hZG1pbnNfbGlzdF9hcGlfYWNjZXNzIjpmYWxzZSwiZmVhdHVyZV9tc19sYXRlc3QiOnRydWUsImZlYXR1cmVfZ3Vlc3RzX3VzZV9lbnRpdGxlbWVudHMiOnRydWUsImZlYXR1cmVfYXBwX2NhbnZhc2VzIjpmYWxzZSwiZmVhdHVyZV9jYWxsc19zaXBfaW50ZWdyYXRpb25fbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9hcHBfaG9tZV9hZG1pbl9wYWdlcyI6ZmFsc2UsImZlYXR1cmVfYXBwX2FjdGlvbnNfYWRtaW5fcGFnZXMiOmZhbHNlLCJmZWF0dXJlX2FwcF92aWV3c19yZW1pbmRlcnMiOmZhbHNlLCJmZWF0dXJlX3JlbWluZGVyc191c2VyIjpmYWxzZSwiZmVhdHVyZV9ibG9ja3NfcmVtaW5kZXJzX2xpc3QiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfYmxvY2tzIjpmYWxzZSwiZmVhdHVyZV9zaWxlbmNlX2FwcF9kbXMiOmZhbHNlLCJmZWF0dXJlX3NldF90el9hdXRvbWF0aWNhbGx5Ijp0cnVlLCJmZWF0dXJlX2NvbmZpcm1fY2xlYXJfYWxsX3VucmVhZHNfcHJlZiI6dHJ1ZSwiZmVhdHVyZV9ibG9ja19tb3VudHMiOnRydWUsImZlYXR1cmVfYXR0YWNobWVudHNfdjIiOnRydWUsImZlYXR1cmVfaTE4bl9hcHBfbWVzc2FnZV90YWIiOmZhbHNlLCJmZWF0dXJlX2JrX3NlbGVjdF9maWx0ZXJzIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfZXhwYW5kYWJsZV9ibG9jayI6ZmFsc2UsImZlYXR1cmVfZ3JvdXBfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9kZWVwX2xpbmtzIjp0cnVlLCJmZWF0dXJlX3Nob3dfYmxvY2tfa2l0X2luX3NoYXJlX2RpYWxvZ3MiOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9ldmVudF9ibG9jayI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3VzZXJfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9yYWRpb19idXR0b25zIjp0cnVlLCJmZWF0dXJlX21ya2R3bl9vbl9yYWRpb19idXR0b24iOnRydWUsImZlYXR1cmVfYmxvY2tfa2l0X3RhYmxlIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfcmFuZ2VfZGF0ZXBpY2tlciI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3RpbWVwaWNrZXIiOmZhbHNlLCJmZWF0dXJlX2FkZF9hcHBfaG9tZV90ZWFtX25hbWUiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19hZG1pbl9lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2RpYWxvZ3NfdjJfbW9iaWxlIjp0cnVlLCJmZWF0dXJlX3VzZXJfYXBwX2Rpc2FibGVfc3BlZWRfYnVtcCI6dHJ1ZSwiZmVhdHVyZV90cmFjdG9yX3NoYXJlZF9pbnZpdGVfbGluayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8yMTE5Ijp0cnVlLCJmZWF0dXJlX3RyYWN0b3JfYmFja3VwX2NoYW5uZWxuYW1lX2NvcHkiOnRydWUsImZlYXR1cmVfZGVncmFkZWRfcnRtX2Fsd2F5c19mYWlscyI6ZmFsc2UsImZlYXR1cmVfYXBwc19tYW5hZ2VfcGVybWlzc2lvbnNfc2NvcGVfY2hhbmdlcyI6dHJ1ZSwiZmVhdHVyZV9yZW1pbmRlcl9jcm9zc193b3Jrc3BhY2UiOnRydWUsImZlYXR1cmVfcDJwIjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2IjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2X3JvbGxiYWNrIjpmYWxzZSwiZmVhdHVyZV9jbGFzc2ljX25hdiI6ZmFsc2UsImZlYXR1cmVfbmV3X3JlYWN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9wYWdlc19leGFtcGxlIjpmYWxzZSwiZmVhdHVyZV9zb25pY19waW5zIjpmYWxzZSwiZmVhdHVyZV9zb25pY192aWRlb19wbGFjZWhvbGRlciI6dHJ1ZSwiZmVhdHVyZV9pYXAxIjpmYWxzZSwiZmVhdHVyZV9pYV9nYSI6ZmFsc2UsImZlYXR1cmVfaWFfaTE4biI6ZmFsc2UsImZlYXR1cmVfaWFfdGhlbWVzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19oYXJkX3JlbG9hZCI6dHJ1ZSwiZmVhdHVyZV9oaWRkZW5fd2tzcF91bmZ1cmxzIjp0cnVlLCJmZWF0dXJlX2d1ZXN0X3drc3BfdW5mdXJscyI6ZmFsc2UsImZlYXR1cmVfd29ya3NwYWNlX3NjaW1fbWFuYWdlbWVudCI6ZmFsc2UsImZlYXR1cmVfdW5pZmllZF9tZW1iZXIiOmZhbHNlLCJmZWF0dXJlX3R1cm5fbXBkbV9ub3RpZnNfb24iOnRydWUsImZlYXR1cmVfZG9sb3JlcyI6ZmFsc2UsImZlYXR1cmVfZGVza3RvcF9mb3JjZV9wcm9kdWN0aW9uX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX2Rlc2t0b3BfbG9nc191cGxvYWQiOmZhbHNlLCJmZWF0dXJlX21hY29zX2Rpc2FibGVfaHciOnRydWUsImZlYXR1cmVfcXVpbGxfY2prX2NvZGVfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2JvdHNfbm90X21lbWJlcnMiOnRydWUsImZlYXR1cmVfd3RhX3N0b3BfY3JlYXRpb24iOnRydWUsImZlYXR1cmVfbTExbl9jaGFubmVsX2RldGFpbHMiOmZhbHNlLCJmZWF0dXJlX2dyYW51bGFyX2JvdF9nYSI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2FjdGlvbnMiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9hY3Rpb25zX2NsaWVudCI6dHJ1ZSwiZmVhdHVyZV9zaG9ydGN1dHNfcHJvbXB0Ijp0cnVlLCJmZWF0dXJlX2FjY2Vzc2libGVfZGlhbG9ncyI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19jbGlwYm9hcmRfYnJvYWRjYXN0aW5nX29wdGluIjp0cnVlLCJmZWF0dXJlX3NjcmVlbl9zaGFyZV9uZWVkc19hZXJvIjpmYWxzZSwiZmVhdHVyZV9zbGlfdHJlbmRpbmdfZGFzaGJvYXJkIjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX2ZzX2RpYWxvZ3MiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9oZWFkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV90cmFwX2tiX3dpdGhpbl9mc19tb2RhbHMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2ltYWdlX3ZpZXdlciI6dHJ1ZSwiZmVhdHVyZV9lbW9qaV9ieV9pZCI6dHJ1ZSwiZmVhdHVyZV9tY19taWdyYXRpb25fYmFubmVyIjp0cnVlLCJmZWF0dXJlX2FyaWFfYXBwbGljYXRpb25fbW9kZSI6ZmFsc2UsImZlYXR1cmVfdXBkYXRlX211bHRpd29ya3NwYWNlX2NoYW5uZWxfbW9kYWwiOnRydWUsImZlYXR1cmVfbW9kZXJuX3JlcXVlc3Rfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfYXBwX3NldHRpbmdzX2dhbnRyeSI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3Byb2ZpbGVfZmxleHBhbmUiOmZhbHNlLCJmZWF0dXJlX3NjZ19jb252ZXJzaW9uX2NoYW5uZWxzIjp0cnVlLCJmZWF0dXJlX3JlZHVjZV91bmV4cGVjdGVkX3VuaW5zdGFsbHMiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX3dhcm5pbmciOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfcmV0ZW50aW9uX2FsbG93X292ZXJyaWRlX29uX29yZ19sZXZlbF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdHJhY2tfdGltZV9zcGVudCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZV9vbmx5Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfd2Vic29ja2V0Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfcHJvbW8iOmZhbHNlLCJmZWF0dXJlX2F0X21lbnRpb25faW52aXRlcyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2ludml0ZV90b2tlbml6YXRpb24iOnRydWUsImZlYXR1cmVfYmV0dGVyX3Rva2VuaXphdGlvbl93ZWJhcHBfZmFzdF9mb2xsb3ciOnRydWUsImZlYXR1cmVfaW1wb3J0c19jYW5jZWwiOnRydWUsImZlYXR1cmVfZW1haWxfd29ya29iamVjdF91aSI6ZmFsc2UsImZlYXR1cmVfZW1haWxfbm90aWZ5IjpmYWxzZSwiZmVhdHVyZV9lbWFpbF9wcml2YXRlIjp0cnVlLCJmZWF0dXJlX3NpbmdsZV91c2VyX2V4cG9ydCI6ZmFsc2UsImZlYXR1cmVfY2FsZW5kYXJfc2ltcGxlX2FnZW5kYV92aWV3IjpmYWxzZSwiZmVhdHVyZV9hbmFseXRpY3NfZW5hYmxlX2RpdmlzaW9uIjpmYWxzZSwiZmVhdHVyZV9lbnRlcnByaXNlX2FuYWx5dGljc19hcHBzX3RhYiI6ZmFsc2UsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xMV91cGRhdGUiOnRydWUsImZlYXR1cmVfaW5zaWdodHNfYWxsb3dfYWNjZXNzX3RvX2FwcCI6ZmFsc2UsImZlYXR1cmVfaW5zaWdodHNfY29tbXNfaW1wYWN0X21lc3NhZ2Vfc3RhdHMiOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfYWRtaW4iOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfdXBkYXRlcyI6ZmFsc2UsImZlYXR1cmVfdGVhbV90aGVtZXMiOmZhbHNlLCJmZWF0dXJlX3VuZnVybF9tZXRhZGF0YSI6ZmFsc2UsImZlYXR1cmVfcGx1c19tZW51X2FkZF9hcHBzX2xpbmsiOmZhbHNlLCJmZWF0dXJlX3JlY2VudF9maWxlc19vbW5pcGlja2VyIjpmYWxzZSwiZmVhdHVyZV9ncmFudWxhcl9ib3QiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfZm9yY2VfaW50b19sZWdhY3kiOmZhbHNlLCJmZWF0dXJlX2FkbWluX21vdmVfY2hhbm5lbHNfbWVzc2FnZSI6ZmFsc2UsImZlYXR1cmVfbmV3eHBfZmVfaW52aXRlX21vZGVybiI6dHJ1ZSwiZmVhdHVyZV9tb2Rlcm5pemVfY2hhbm5lbF9jcmVhdGVfbW9kYWwiOnRydWUsImZlYXR1cmVfc29uaWNfcGxhY2Vob2xkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19lc2NfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2Rhbmdlcm91c2x5X2d1YXJkX2lhX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfcGxhdGZvcm1fY2FsbHNfYXBpIjp0cnVlLCJmZWF0dXJlX3RocmVhZGVkX2NhbGxfYmxvY2siOmZhbHNlLCJmZWF0dXJlX3RyaWdnZXJfaWRfc2NvcGUiOmZhbHNlLCJmZWF0dXJlX2xpZmVjeWNsZV9sb2dnaW5nX3BsYW5zX3BhZ2UiOnRydWUsImZlYXR1cmVfc2xhY2tfbWVzc2FnZV9hdHRhY2htZW50X3Rvb2x0aXAiOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfbW9iaWxlX2RldmljZV9jaGVjayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cDM3ODkiOnRydWUsImZlYXR1cmVfbmV3eHBfMzc5MyI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF80MTAxIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfY3VzdG9tX2Vtb2ppc191cmwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19jdXN0b21fZW1vamlzX3VybF9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX25ld19jb3B5X2Zvcl9pZGVudGl0eV9iYXNpYyI6ZmFsc2UsImZlYXR1cmVfc29uaWNfbGVhdmVfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxzX25ld191c2VyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsX2JhYnlfdGVhbXMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19zaG9ydGN1dCI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2ludml0ZV9hY2NlcHRhbmNlX2VsaWdpYmlsaXR5X3YyX2FwaSI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxfaW52aXRlc192MiI6dHJ1ZSwiZmVhdHVyZV9iZXR0ZXJfaW52aXRlc19jYWxsX3YyX2FwaSI6dHJ1ZSwiZmVhdHVyZV9wYWlkX29uYm9hcmRpbmdfcGFnZXVwZGF0ZSI6dHJ1ZSwiZmVhdHVyZV90cmFjZV93ZWJhcHBfaW5pdCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZW1lbnRfb25seV9jaGFubmVsX2NvcHlfY2hhbmdlX3RyYW5zbGF0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdHJpcGVfY29tcGxldGVseV9kb3duX2Jhbm5lciI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9vbmJvYXJkaW5nX2ludml0ZV9wcm9tcHQiOnRydWUsImZlYXR1cmVfdGFyZ2V0ZWRfcHJvbW90aW9uYWxfZGlzY291bnRzIjp0cnVlLCJmZWF0dXJlX3BsYW5zX3BhZ2VfZnJlZV9jb2x1bW4iOnRydWUsImZlYXR1cmVfc2ZiX2R1bm5pbmdfc3RhdGVtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9jaGFuZ2VfY2hhcmdlX2Zvcl9hbGxfdGVhbXMiOnRydWUsImZlYXR1cmVfbWFsYXlzaWFfdGF4X2VtYWlsIjp0cnVlLCJmZWF0dXJlX21hbGF5c2lhX3RheF9hc3Nlc3NtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9iaWxsaW5nX3N0YXRlbWVudHMiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfZW1haWwiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfYXNzZXNzbWVudCI6ZmFsc2UsImZlYXR1cmVfY2hlY2tvdXRfdjJfcHJvZHVjdF9zd2l0Y2hfY2hlY2tvdXRfcmV2aWV3Ijp0cnVlLCJmZWF0dXJlX2NoZWNrb3V0X3YyX3Byb2R1Y3Rfc3dpdGNoX2NoZWNrb3V0X2Zvcm0iOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfYWNoX3N1cHBvcnQiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfbW9iaWxlIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9tb2JpbGVfcGhhc2VfdHdvIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9kaXNhbGxvd19pZV9hY2giOmZhbHNlLCJmZWF0dXJlX2NvbnRleHR1YWxfbWVzc2FnZV9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xM19lbmhhbmNlbWVudHMiOmZhbHNlLCJmZWF0dXJlX29yZ19sZXZlbF9hcHBzIjpmYWxzZSwiZmVhdHVyZV9jaGFubmVsX3NlY3Rpb25zIjp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2VjdGlvbnNfc2lkZWJhcl9iZWhhdmlvcl91aSI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfdjAiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfbmF2aWdhdGlvbl9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfc2VhcmNoX2xpbWl0X3RlYW1fZmlsdGVyIjp0cnVlLCJmZWF0dXJlX2FuYWx5dGljc19zY2ltX2ZpZWxkc19wYWlkIjpmYWxzZSwiZmVhdHVyZV9vcmdfYXBwc19kYXNoYm9hcmQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfaW52aXRlcyI6ZmFsc2UsImZlYXR1cmVfaGVscF9jZW50ZXJfaW5jaWRlbnRfYmFubmVyIjp0cnVlLCJmZWF0dXJlX3NjZ19lcnJvcl9tZXNzYWdlIjp0cnVlLCJmZWF0dXJlX3NlYXJjaF9yZXN1bHRzX3ZpcnR1YWxpemVkIjpmYWxzZSwiZmVhdHVyZV9zaG93X2VtYWlsX2ZvcndhcmRlZF9ieSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9lbWFpbF9hZGRyZXNzZXMiOmZhbHNlLCJmZWF0dXJlX25ld19lbm91Z2hfcGVyaW9kaWNfcmVsb2FkcyI6ZmFsc2UsImZlYXR1cmVfaWFwMV9kb3dubG9hZHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzcGxheV9leHBvcnRfZm9ybV9jc3YiOnRydWUsImZlYXR1cmVfYnVpbGRlcl93b3JrZmxvd19hY3Rpdml0eSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9leHBvcnRfZm9ybV9jc3ZfYWRtaW4iOnRydWUsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50Ijp0cnVlLCJmZWF0dXJlX25ld19iaWxsaW5nX2VtYWlsc190cmFuc2xhdGlvbnMiOnRydWUsImZlYXR1cmVfc2ZiX3BkZl9hZGRpdGlvbmFsX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX29uZSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX3R3byI6ZmFsc2UsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50X21hbnVhbGx5IjpmYWxzZSwiZmVhdHVyZV9jcmVhdG9yc19sb2dpbl93aXRoX2dvb2dsZSI6ZmFsc2UsImZlYXR1cmVfcmF0ZV9saW1pdF9hcHBfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2V4dGVybmFsX2FwcF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19ob21lX3JlbWluZGVycyI6ZmFsc2UsImZlYXR1cmVfZmVhdF9zYXlfbXlfbmFtZSI6dHJ1ZSwiZmVhdHVyZV9hcHBfZGlyZWN0b3J5X3NlY3VyaXR5X2NvbXBsaWFuY2UiOmZhbHNlLCJmZWF0dXJlX2ludml0ZV9saW5rX2NvcHkiOmZhbHNlLCJmZWF0dXJlX3B1dF9hX21lbnRpb25fb25faXQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfcGxhY2Vob2xkZXIiOmZhbHNlLCJjbGllbnRfbG9ncyI6eyIwIjp7Im51bWJlcnMiOlsiMCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyIjp7Im51bWJlcnMiOlsiMiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0Ijp7Im51bWJlcnMiOlsiNCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1Ijp7Im51bWJlcnMiOlsiNSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyMyI6eyJudW1iZXJzIjpbIjIzIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sInNvdW5kcyI6eyJuYW1lIjoic291bmRzIiwibnVtYmVycyI6WyIzNyJdfSwiMzciOnsibmFtZSI6InNvdW5kcyIsIm51bWJlcnMiOlsiMzciXSwidXNlcl9mYWNpbmciOnRydWV9LCI0NyI6eyJudW1iZXJzIjpbIjQ3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ4Ijp7Im51bWJlcnMiOlsiNDgiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiTWVzc2FnZSBIaXN0b3J5Ijp7Im5hbWUiOiJNZXNzYWdlIEhpc3RvcnkiLCJudW1iZXJzIjpbIjU4Il19LCI1OCI6eyJuYW1lIjoiTWVzc2FnZSBIaXN0b3J5IiwibnVtYmVycyI6WyI1OCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjY3Ijp7Im51bWJlcnMiOlsiNjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzIiOnsibnVtYmVycyI6WyI3MiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3MyI6eyJudW1iZXJzIjpbIjczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjgyIjp7Im51bWJlcnMiOlsiODIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiODgiOnsibnVtYmVycyI6WyI4OCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5MSI6eyJudW1iZXJzIjpbIjkxIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjkzIjp7Im51bWJlcnMiOlsiOTMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiOTYiOnsibnVtYmVycyI6WyI5NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5OSI6eyJudW1iZXJzIjpbIjk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIkNoYW5uZWwgTWFya2luZyAoTVMpIjp7Im5hbWUiOiJDaGFubmVsIE1hcmtpbmcgKE1TKSIsIm51bWJlcnMiOlsiMTQxIl19LCIxNDEiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoTVMpIiwibnVtYmVycyI6WyIxNDEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJDaGFubmVsIE1hcmtpbmcgKENsaWVudCkiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl19LCIxNDIiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSI6eyJuYW1lIjoiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMjIxIl19LCIyMjEiOnsibmFtZSI6IkNsb3NlIE9sZCBJTXMgKENsaWVudCkiLCJudW1iZXJzIjpbIjIyMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjM2NSI6eyJudW1iZXJzIjpbIjM2NSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIzODkiOnsibnVtYmVycyI6WyIzODkiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDM4Ijp7Im51bWJlcnMiOlsiNDM4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ0NCI6eyJudW1iZXJzIjpbIjQ0NCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0ODEiOnsibnVtYmVycyI6WyI0ODEiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDg4Ijp7Im51bWJlcnMiOlsiNDg4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjUyOSI6eyJudW1iZXJzIjpbIjUyOSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1NTIiOnsibnVtYmVycyI6WyI1NTIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiZGFzaGJvYXJkIjp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdfSwiNjY2Ijp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI2NjciOnsibnVtYmVycyI6WyI2NjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzczIjp7Im51bWJlcnMiOlsiNzczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjc3NyI6eyJudW1iZXJzIjpbIjc3NyJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3OTQiOnsibnVtYmVycyI6WyI3OTQiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiQ2xpZW50IFJlc3BvbnNpdmVuZXNzIjp7Im5hbWUiOiJDbGllbnQgUmVzcG9uc2l2ZW5lc3MiLCJ1c2VyX2ZhY2luZyI6ZmFsc2UsIm51bWJlcnMiOlsiODA4Il19LCI4MDgiOnsibmFtZSI6IkNsaWVudCBSZXNwb25zaXZlbmVzcyIsInVzZXJfZmFjaW5nIjpmYWxzZSwibnVtYmVycyI6WyI4MDgiXX0sIk1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciOnsibmFtZSI6Ik1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciLCJudW1iZXJzIjpbIjg4OCJdfSwiODg4Ijp7Im5hbWUiOiJNZXNzYWdlIFBhbmUgU2Nyb2xsaW5nIiwibnVtYmVycyI6WyI4ODgiXSwidXNlcl9mYWNpbmciOnRydWV9LCJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIjp7Im5hbWUiOiJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIiwibnVtYmVycyI6WyI5OTkiXX0sIjk5OSI6eyJuYW1lIjoiVW5yZWFkIGJhbm5lciBhbmQgZGl2aWRlciIsIm51bWJlcnMiOlsiOTk5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMTAwMCI6eyJudW1iZXJzIjpbIjEwMDAiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiRHVwbGljYXRlIGJhZGdlcyAoZGVza3RvcCBhcHAgaWNvbnMpIjp7Im5hbWUiOiJEdXBsaWNhdGUgYmFkZ2VzIChkZXNrdG9wIGFwcCBpY29ucykiLCJudW1iZXJzIjpbIjE3MDEiXX0sIjE3MDEiOnsibmFtZSI6IkR1cGxpY2F0ZSBiYWRnZXMgKGRlc2t0b3AgYXBwIGljb25zKSIsIm51bWJlcnMiOlsiMTcwMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIk1lbWJlcnMiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXX0sIjE5NzUiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXSwidXNlcl9mYWNpbmciOnRydWV9LCJsYXp5IGxvYWRpbmciOnsibmFtZSI6ImxhenkgbG9hZGluZyIsIm51bWJlcnMiOlsiMTk4OSJdfSwiMTk4OSI6eyJuYW1lIjoibGF6eSBsb2FkaW5nIiwibnVtYmVycyI6WyIxOTg5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwidGhpbl9jaGFubmVsX21lbWJlcnNoaXAiOnsibmFtZSI6InRoaW5fY2hhbm5lbF9tZW1iZXJzaGlwIiwibnVtYmVycyI6WyIxOTkwIl19LCIxOTkwIjp7Im5hbWUiOiJ0aGluX2NoYW5uZWxfbWVtYmVyc2hpcCIsIm51bWJlcnMiOlsiMTk5MCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sInN0YXRzIjp7Im5hbWUiOiJzdGF0cyIsIm51bWJlcnMiOlsiMTk5MSJdfSwiMTk5MSI6eyJuYW1lIjoic3RhdHMiLCJudW1iZXJzIjpbIjE5OTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJtcyI6eyJuYW1lIjoibXMiLCJudW1iZXJzIjpbIjE5OTYiXX0sIjE5OTYiOnsibmFtZSI6Im1zIiwibnVtYmVycyI6WyIxOTk2Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwic2hhcmVkX2NoYW5uZWxzX2Nvbm5lY3Rpb24iOnsibmFtZSI6InNoYXJlZF9jaGFubmVsc19jb25uZWN0aW9uIiwibnVtYmVycyI6WyIxOTk5Il19LCIxOTk5Ijp7Im5hbWUiOiJzaGFyZWRfY2hhbm5lbHNfY29ubmVjdGlvbiIsIm51bWJlcnMiOlsiMTk5OSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCJkbmQiOnsibmFtZSI6ImRuZCIsIm51bWJlcnMiOlsiMjAwMiJdfSwiMjAwMiI6eyJuYW1lIjoiZG5kIiwibnVtYmVycyI6WyIyMDAyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMjAwMyI6eyJudW1iZXJzIjpbIjIwMDMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiVGhyZWFkcyI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdfSwiMjAwNCI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjIwMDUiOnsibnVtYmVycyI6WyIyMDA1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlJlYWN0aW9ucyI6eyJuYW1lIjoiUmVhY3Rpb25zIiwibnVtYmVycyI6WyIyMDA2Il19LCIyMDA2Ijp7Im5hbWUiOiJSZWFjdGlvbnMiLCJudW1iZXJzIjpbIjIwMDYiXSwidXNlcl9mYWNpbmciOnRydWV9LCJUU1NTQi5mb2N1c1RhYkFuZFN3aXRjaFRvQ2hhbm5lbCI6eyJuYW1lIjoiVFNTU0IuZm9jdXNUYWJBbmRTd2l0Y2hUb0NoYW5uZWwiLCJudW1iZXJzIjpbIjIwMDciXX0sIjIwMDciOnsibmFtZSI6IlRTU1NCLmZvY3VzVGFiQW5kU3dpdGNoVG9DaGFubmVsIiwibnVtYmVycyI6WyIyMDA3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlByZXNlbmNlIERldGVjdGlvbiI6eyJuYW1lIjoiUHJlc2VuY2UgRGV0ZWN0aW9uIiwibnVtYmVycyI6WyIyMDE3Il19LCIyMDE3Ijp7Im5hbWUiOiJQcmVzZW5jZSBEZXRlY3Rpb24iLCJudW1iZXJzIjpbIjIwMTciXSwidXNlcl9mYWNpbmciOnRydWV9LCJtY19zaWJzIjp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il19LCI5OTk5Ijp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIk1lbWJlciBzZWFyY2hpbmciOnsibmFtZSI6Ik1lbWJlciBzZWFyY2hpbmciLCJudW1iZXJzIjpbIjkwMjExIl19LCI5MDIxMSI6eyJuYW1lIjoiTWVtYmVyIHNlYXJjaGluZyIsIm51bWJlcnMiOlsiOTAyMTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCI5ODc2NSI6eyJudW1iZXJzIjpbIjk4NzY1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjg2NzUzMDkiOnsibnVtYmVycyI6WyI4Njc1MzA5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX19fTsKCWJvb3RfZGF0YS5zdGFydF9tcyA9IERhdGUubm93KCk7Cjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3JvbGx1cC1jb3JlX3JlcXVpcmVkX2xpYnMuZjM5MTU3ZDRlOTEzOTBkNGNjZGIubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvbW9kZXJuLnZlbmRvci5jMjBiZjhlMmE1N2JkNDcxODFkNC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9hcHBsaWNhdGlvbi5hZTNjNDFjZmQwZDdkOGM4Y2MxNC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtY29yZV9yZXF1aXJlZF90cy43MDk1ODNjMDAzNjgwYTMwYjMyNS5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9UUy53ZWIuMzQ3M2UxOTE5N2M2NDI2MjQxZTQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvc2lnbmFscy5iNGE4MjJiMTljZWE3ZTllYTg2NC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtY29yZV93ZWIuNzAwZmMzODU3NzZlMWExNjhmZTQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLXNlY29uZGFyeV9hX3JlcXVpcmVkLjU5MzNmNWJhZTE1M2Y0ZTU3Y2ZmLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3JvbGx1cC1zZWNvbmRhcnlfYl9yZXF1aXJlZC5lNThkZDQ5ZjBiYzBjMjhhNjBjZi5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+VFMuYm9vdChib290X2RhdGEpOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL1RTLndlYi5fNDA0LmFkMmYwNThjNTcxNGNkNGFmOGNhLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3N0aWNreV9uYXYuNWI5MmMwODM4YWUwZTFhYzBhMTIubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvZm9vdGVyLmFkODQ4YmU0MTUyM2VkZDVmNDkyLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5ib290X2RhdGEubm9fbG9naW4gPSB0cnVlOzwvc2NyaXB0PjxzdHlsZT4uY29sb3JfOWY2OWU3Om5vdCgubnVjKSB7Y29sb3I6IzlGNjlFNzt9LmNvbG9yXzRiYmUyZTpub3QoLm51Yykge2NvbG9yOiM0QkJFMkU7fS5jb2xvcl9lNzM5MmQ6bm90KC5udWMpIHtjb2xvcjojRTczOTJEO30uY29sb3JfM2M5ODlmOm5vdCgubnVjKSB7Y29sb3I6IzNDOTg5Rjt9LmNvbG9yXzY3NGIxYjpub3QoLm51Yykge2NvbG9yOiM2NzRCMUI7fS5jb2xvcl9lOTY2OTk6bm90KC5udWMpIHtjb2xvcjojRTk2Njk5O30uY29sb3JfZTBhNzI5Om5vdCgubnVjKSB7Y29sb3I6I0UwQTcyOTt9LmNvbG9yXzY4NGI2Yzpub3QoLm51Yykge2NvbG9yOiM2ODRCNkM7fS5jb2xvcl81Yjg5ZDU6bm90KC5udWMpIHtjb2xvcjojNUI4OUQ1O30uY29sb3JfMmI2ODM2Om5vdCgubnVjKSB7Y29sb3I6IzJCNjgzNjt9LmNvbG9yXzk5YTk0OTpub3QoLm51Yykge2NvbG9yOiM5OUE5NDk7fS5jb2xvcl9kZjNkYzA6bm90KC5udWMpIHtjb2xvcjojREYzREMwO30uY29sb3JfNGNjMDkxOm5vdCgubnVjKSB7Y29sb3I6IzRDQzA5MTt9LmNvbG9yXzliM2I0NTpub3QoLm51Yykge2NvbG9yOiM5QjNCNDU7fS5jb2xvcl9kNTgyNDc6bm90KC5udWMpIHtjb2xvcjojRDU4MjQ3O30uY29sb3JfYmI4NmI3Om5vdCgubnVjKSB7Y29sb3I6I0JCODZCNzt9LmNvbG9yXzVhNDU5Mjpub3QoLm51Yykge2NvbG9yOiM1QTQ1OTI7fS5jb2xvcl9kYjMxNTA6bm90KC5udWMpIHtjb2xvcjojREIzMTUwO30uY29sb3JfMjM1ZTViOm5vdCgubnVjKSB7Y29sb3I6IzIzNUU1Qjt9LmNvbG9yXzllMzk5Nzpub3QoLm51Yykge2NvbG9yOiM5RTM5OTc7fS5jb2xvcl81M2I3NTk6bm90KC5udWMpIHtjb2xvcjojNTNCNzU5O30uY29sb3JfYzM4NmRmOm5vdCgubnVjKSB7Y29sb3I6I0MzODZERjt9LmNvbG9yXzM4NWE4Njpub3QoLm51Yykge2NvbG9yOiMzODVBODY7fS5jb2xvcl9hNjMwMjQ6bm90KC5udWMpIHtjb2xvcjojQTYzMDI0O30uY29sb3JfNTg3MGRkOm5vdCgubnVjKSB7Y29sb3I6IzU4NzBERDt9LmNvbG9yX2VhMjk3Nzpub3QoLm51Yykge2NvbG9yOiNFQTI5Nzc7fS5jb2xvcl81MGEwY2Y6bm90KC5udWMpIHtjb2xvcjojNTBBMENGO30uY29sb3JfZDU1YWVmOm5vdCgubnVjKSB7Y29sb3I6I0Q1NUFFRjt9LmNvbG9yX2QxNzA3ZDpub3QoLm51Yykge2NvbG9yOiNEMTcwN0Q7fS5jb2xvcl80Mzc2MWI6bm90KC5udWMpIHtjb2xvcjojNDM3NjFCO30uY29sb3JfZTA2YjU2Om5vdCgubnVjKSB7Y29sb3I6I0UwNkI1Njt9LmNvbG9yXzhmNGEyYjpub3QoLm51Yykge2NvbG9yOiM4RjRBMkI7fS5jb2xvcl85MDJkNTk6bm90KC5udWMpIHtjb2xvcjojOTAyRDU5O30uY29sb3JfZGU1ZjI0Om5vdCgubnVjKSB7Y29sb3I6I0RFNUYyNDt9LmNvbG9yX2EyYTVkYzpub3QoLm51Yykge2NvbG9yOiNBMkE1REM7fS5jb2xvcl84MjczMjc6bm90KC5udWMpIHtjb2xvcjojODI3MzI3O30uY29sb3JfM2M4YzY5Om5vdCgubnVjKSB7Y29sb3I6IzNDOEM2OTt9LmNvbG9yXzhkNGI4NDpub3QoLm51Yykge2NvbG9yOiM4RDRCODQ7fS5jb2xvcl84NGIyMmY6bm90KC5udWMpIHtjb2xvcjojODRCMjJGO30uY29sb3JfNGVjMGQ2Om5vdCgubnVjKSB7Y29sb3I6IzRFQzBENjt9LmNvbG9yX2UyM2Y5OTpub3QoLm51Yykge2NvbG9yOiNFMjNGOTk7fS5jb2xvcl9lNDc1ZGY6bm90KC5udWMpIHtjb2xvcjojRTQ3NURGO30uY29sb3JfNjE5YTRmOm5vdCgubnVjKSB7Y29sb3I6IzYxOUE0Rjt9LmNvbG9yX2E3MmY3OTpub3QoLm51Yykge2NvbG9yOiNBNzJGNzk7fS5jb2xvcl83ZDQxNGM6bm90KC5udWMpIHtjb2xvcjojN0Q0MTRDO30uY29sb3JfYWJhNzI3Om5vdCgubnVjKSB7Y29sb3I6I0FCQTcyNzt9LmNvbG9yXzk2NWQxYjpub3QoLm51Yykge2NvbG9yOiM5NjVEMUI7fS5jb2xvcl80ZDVlMjY6bm90KC5udWMpIHtjb2xvcjojNEQ1RTI2O30uY29sb3JfZGQ4NTI3Om5vdCgubnVjKSB7Y29sb3I6I0REODUyNzt9LmNvbG9yX2JkOTMzNjpub3QoLm51Yykge2NvbG9yOiNCRDkzMzY7fS5jb2xvcl9lODVkNzI6bm90KC5udWMpIHtjb2xvcjojRTg1RDcyO30uY29sb3JfZGM3ZGJiOm5vdCgubnVjKSB7Y29sb3I6I0RDN0RCQjt9LmNvbG9yX2JjMzY2Mzpub3QoLm51Yykge2NvbG9yOiNCQzM2NjM7fS5jb2xvcl85ZDhlZWU6bm90KC5udWMpIHtjb2xvcjojOUQ4RUVFO30uY29sb3JfODQ2OWJjOm5vdCgubnVjKSB7Y29sb3I6Izg0NjlCQzt9LmNvbG9yXzczNzY5ZDpub3QoLm51Yykge2NvbG9yOiM3Mzc2OUQ7fS5jb2xvcl9iMTRjYmM6bm90KC5udWMpIHtjb2xvcjojQjE0Q0JDO308L3N0eWxlPgoKPCEtLSBzbGFjay13d3ctaGh2bS1tYWluLWlhZC1yODhsLyAyMDIwLTAzLTE2IDA0OjM1OjQ1LyB2YWE1YjRlMTE1YWFhYzA1MWVjYTk5OTYzMzUzODVkZmJlOTlmYzY4NC8gQjpIIC0tPgoKPC9ib2R5PjwvaHRtbD4= http_version: null - recorded_at: Mon, 16 Mar 2020 11:17:12 GMT + recorded_at: Mon, 16 Mar 2020 11:35:46 GMT - request: method: get - uri: https://slack.com/api/bogus.endpoint?token= + uri: https://slack.com/api/users.list?token= body: encoding: US-ASCII string: '' @@ -105,52 +154,72 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '80' + - '1809' Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:17:12 GMT + - Mon, 16 Mar 2020 11:35:46 GMT Server: - Apache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Referrer-Policy: - - no-referrer - X-Slack-Backend: - - h + X-Slack-Req-Id: + - b3443f1012b4a3e1b3000b39eb75c803 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read Access-Control-Expose-Headers: - x-slack-req-id, retry-after - Vary: - - Accept-Encoding + X-Slack-Backend: + - h X-Content-Type-Options: - nosniff - X-Slack-Req-Id: - - d346525fc5e6f6c7e03558abe60f4d90 + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate X-Xss-Protection: - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-8ijn + - haproxy-www-y4g4 X-Cache: - Miss from cloudfront Via: - - 1.1 d90109c5a0c30f43223e0db85921c5c2.cloudfront.net (CloudFront) + - 1.1 0732be5515ffeda639cfe5f22fb04df6.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C1 + - SEA19-C2 X-Amz-Cf-Id: - - i6erFtIX7TPROgvmO4Rg1-gx8_vu_UB1_ZanYbOKEJOmpPgRXy4Pnw== + - WzMvXP9B7A1Yi3cvAslku915QUusn8MsKqlBIYSOOKnVpiduZPEsqg== body: encoding: ASCII-8BIT - string: '{"ok":false,"error":"unknown_method","req_method":"bogus.endpoint"}' + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUT7ESHPU","team_id":"TV617KKKP","name":"pchelina.kate","deleted":false,"color":"e7392d","real_name":"Ekaterina","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"hello","phone":"","skype":"","real_name":"Ekaterina","real_name_normalized":"Ekaterina","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge00c4c4b571","first_name":"Ekaterina","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584084018},{"id":"UUUGBHPDH","team_id":"TV617KKKP","name":"katie.vandervoort","deleted":false,"color":"9f69e7","real_name":"katie.vandervoort","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katie.vandervoort","real_name_normalized":"katie.vandervoort","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g05c27faff1c","image_24":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584320106},{"id":"UUUL7E4HZ","team_id":"TV617KKKP","name":"katieslackapiproject","deleted":false,"color":"674b1b","real_name":"katieslackapiproject","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katieslackapiproject","real_name_normalized":"katieslackapiproject","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g5d44bcb8226","api_app_id":"AV8A54MK8","always_active":false,"bot_id":"BUW222YSD","image_24":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583869411},{"id":"UUWHGFP25","team_id":"TV617KKKP","name":"time_kate_api_project","deleted":false,"color":"e0a729","real_name":"time_kate_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_kate_api_project","real_name_normalized":"time_kate_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge2f423a0037","api_app_id":"AV665NBEY","always_active":true,"bot_id":"BV8S561GE","first_name":"time_kate_api_project","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584214923},{"id":"UV5GT0PBN","team_id":"TV617KKKP","name":"oliviamulholland94","deleted":false,"color":"4bbe2e","real_name":"Liv + Mulholland","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Liv + Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584358546,"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Mon, 16 Mar 2020 11:17:13 GMT + recorded_at: Mon, 16 Mar 2020 11:35:46 GMT - request: method: get - uri: https://api.slack.com/methods/users.list?token= + uri: https://api.slack.com/api/users.list?token= body: encoding: US-ASCII string: '' @@ -167,46 +236,69 @@ http_interactions: message: OK headers: Content-Type: - - text/html; charset=utf-8 + - application/json; charset=utf-8 Content-Length: - - '21097' + - '1809' Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:17:15 GMT + - Mon, 16 Mar 2020 12:02:58 GMT Server: - Apache + X-Slack-Req-Id: + - 97411e7ad3216607b7449f23190d0bd2 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Referrer-Policy: - no-referrer - Vary: - - Accept-Encoding - X-Xss-Protection: - - '0' - X-Slack-Backend: - - h - Set-Cookie: - - b=b2wgesrl1q217kxbxscvp5w4l; expires=Sat, 16-Mar-2030 11:17:15 GMT; Max-Age=315532800; - path=/; domain=.slack.com; secure; SameSite=None - - x=b2wgesrl1q217kxbxscvp5w4l.1584357435; expires=Mon, 16-Mar-2020 11:32:15 - GMT; Max-Age=900; path=/; domain=.slack.com; secure; SameSite=None - X-Frame-Options: - - SAMEORIGIN + Access-Control-Allow-Origin: + - "*" X-Via: - - haproxy-www-xfo1 + - haproxy-www-chlv X-Cache: - Miss from cloudfront Via: - - 1.1 f9d716a351f14a0ac1fac2449734849b.cloudfront.net (CloudFront) + - 1.1 814362d7589b223cc8927cc821d97136.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - SEA19-C2 X-Amz-Cf-Id: - - QZnFD1sYIIbfVETFD0cl73mVNfS0aAwT9JdxydYZD2DGfVRbQnv3-A== + - blJmtiuRTrQqJjUGt283mt8iHKZf9OF4vxpkAf-ShHgqW2jcv9OnCw== body: encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4tVVMiIGNsYXNzPSIiPjxoZWFkPjxzY3JpcHQ+d2luZG93LnRzX2VuZHBvaW50X3VybCA9ICJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL3RpbWluZyI7KGZ1bmN0aW9uKGUpIHsKCXZhciBuPURhdGUubm93P0RhdGUubm93KCk6K25ldyBEYXRlLHI9ZS5wZXJmb3JtYW5jZXx8e30sdD1bXSxhPXt9LGk9ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHI9MCxhPXQubGVuZ3RoLGk9W107YT5yO3IrKyl0W3JdW2VdPT1uJiZpLnB1c2godFtyXSk7cmV0dXJuIGl9LG89ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIsYT10Lmxlbmd0aDthLS07KXI9dFthXSxyLmVudHJ5VHlwZSE9ZXx8dm9pZCAwIT09biYmci5uYW1lIT1ufHx0LnNwbGljZShhLDEpfTtyLm5vd3x8KHIubm93PXIud2Via2l0Tm93fHxyLm1vek5vd3x8ci5tc05vd3x8ZnVuY3Rpb24oKXtyZXR1cm4oRGF0ZS5ub3c/RGF0ZS5ub3coKTorbmV3IERhdGUpLW59KSxyLm1hcmt8fChyLm1hcms9ci53ZWJraXRNYXJrfHxmdW5jdGlvbihlKXt2YXIgbj17bmFtZTplLGVudHJ5VHlwZToibWFyayIsc3RhcnRUaW1lOnIubm93KCksZHVyYXRpb246MH07dC5wdXNoKG4pLGFbZV09bn0pLHIubWVhc3VyZXx8KHIubWVhc3VyZT1yLndlYmtpdE1lYXN1cmV8fGZ1bmN0aW9uKGUsbixyKXtuPWFbbl0uc3RhcnRUaW1lLHI9YVtyXS5zdGFydFRpbWUsdC5wdXNoKHtuYW1lOmUsZW50cnlUeXBlOiJtZWFzdXJlIixzdGFydFRpbWU6bixkdXJhdGlvbjpyLW59KX0pLHIuZ2V0RW50cmllc0J5VHlwZXx8KHIuZ2V0RW50cmllc0J5VHlwZT1yLndlYmtpdEdldEVudHJpZXNCeVR5cGV8fGZ1bmN0aW9uKGUpe3JldHVybiBpKCJlbnRyeVR5cGUiLGUpfSksci5nZXRFbnRyaWVzQnlOYW1lfHwoci5nZXRFbnRyaWVzQnlOYW1lPXIud2Via2l0R2V0RW50cmllc0J5TmFtZXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGkoIm5hbWUiLGUpfSksci5jbGVhck1hcmtzfHwoci5jbGVhck1hcmtzPXIud2Via2l0Q2xlYXJNYXJrc3x8ZnVuY3Rpb24oZSl7bygibWFyayIsZSl9KSxyLmNsZWFyTWVhc3VyZXN8fChyLmNsZWFyTWVhc3VyZXM9ci53ZWJraXRDbGVhck1lYXN1cmVzfHxmdW5jdGlvbihlKXtvKCJtZWFzdXJlIixlKX0pLGUucGVyZm9ybWFuY2U9ciwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiYoZGVmaW5lLmFtZHx8ZGVmaW5lLmFqcykmJmRlZmluZSgicGVyZm9ybWFuY2UiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCn0pKHdpbmRvdyk7PC9zY3JpcHQ+PHNjcmlwdD4KCihmdW5jdGlvbigpIHsKCQoJd2luZG93LlRTTWFyayA9IGZ1bmN0aW9uKG1hcmtfbGFiZWwpIHsKCQlpZiAoIXdpbmRvdy5wZXJmb3JtYW5jZSB8fCAhd2luZG93LnBlcmZvcm1hbmNlLm1hcmspIHJldHVybjsKCQlwZXJmb3JtYW5jZS5tYXJrKG1hcmtfbGFiZWwpOwoJfTsKCXdpbmRvdy5UU01hcmsoJ3N0YXJ0X2xvYWQnKTsKCgkKCXdpbmRvdy5UU01lYXN1cmVBbmRCZWFjb24gPSBmdW5jdGlvbihtZWFzdXJlX2xhYmVsLCBzdGFydF9tYXJrX2xhYmVsKSB7CgkJaWYgKCF3aW5kb3cucGVyZm9ybWFuY2UgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZS5tYXJrIHx8ICF3aW5kb3cucGVyZm9ybWFuY2UubWVhc3VyZSkgewoJCQlyZXR1cm47CgkJfQoKCQlwZXJmb3JtYW5jZS5tYXJrKHN0YXJ0X21hcmtfbGFiZWwgKyAnX2VuZCcpOwoKCQl0cnkgewoJCQlwZXJmb3JtYW5jZS5tZWFzdXJlKG1lYXN1cmVfbGFiZWwsIHN0YXJ0X21hcmtfbGFiZWwsIHN0YXJ0X21hcmtfbGFiZWwgKyAnX2VuZCcpOwoJCQl3aW5kb3cuVFNCZWFjb24obWVhc3VyZV9sYWJlbCwgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShtZWFzdXJlX2xhYmVsKVswXS5kdXJhdGlvbik7CgkJfSBjYXRjaCAoZSkgewoJCQkKCQl9Cgl9OwoKCQoJaWYgKCdzZW5kQmVhY29uJyBpbiBuYXZpZ2F0b3IpIHsKCQl3aW5kb3cuVFNCZWFjb24gPSBmdW5jdGlvbihsYWJlbCwgdmFsdWUpIHsKCQkJdmFyIGVuZHBvaW50X3VybCA9IHdpbmRvdy50c19lbmRwb2ludF91cmwgfHwgJ2h0dHBzOi8vc2xhY2suY29tL2JlYWNvbi90aW1pbmcnOwoJCQluYXZpZ2F0b3Iuc2VuZEJlYWNvbigKCQkJCWVuZHBvaW50X3VybCArICc/ZGF0YT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGxhYmVsICsgJzonICsgdmFsdWUpLAoJCQkJJycKCQkJKTsKCQl9OwoJfSBlbHNlIHsKCQl3aW5kb3cuVFNCZWFjb24gPSBmdW5jdGlvbihsYWJlbCwgdmFsdWUpIHsKCQkJdmFyIGVuZHBvaW50X3VybCA9IHdpbmRvdy50c19lbmRwb2ludF91cmwgfHwgJ2h0dHBzOi8vc2xhY2suY29tL2JlYWNvbi90aW1pbmcnOwoJCQluZXcgSW1hZ2UoKS5zcmMgPSBlbmRwb2ludF91cmwgKyAnP2RhdGE9JyArIGVuY29kZVVSSUNvbXBvbmVudChsYWJlbCArICc6JyArIHZhbHVlKTsKCQl9OwoJfQp9KSgpOwo8L3NjcmlwdD48c2NyaXB0PndpbmRvdy5UU01hcmsoJ3N0ZXBfbG9hZCcpOzwvc2NyaXB0Pjxub3NjcmlwdD48bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIwOyBVUkw9L21ldGhvZHMvdXNlcnMubGlzdD90b2tlbj08U0xBQ0tfVE9LRU4+JmFtcDtub2pzbW9kZT0xIj48L25vc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgc2FmZV9ob3N0cyA9IFsnYXBwLm9wdGltaXplbHkuY29tJ107CgppZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7Cgl3aW5kb3cuZG9jdW1lbnQud3JpdGUoCgkJJ1x1MDAzQ3N0eWxlPmJvZHkgKiB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVx1MDAzQy9zdHlsZT5cdTAwM0NhIGhyZWY9IiMiIG9uY2xpY2s9JyArCgkJCScidG9wLmxvY2F0aW9uLmhyZWY9d2luZG93LmxvY2F0aW9uLmhyZWYiIHN0eWxlPSJkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7cGFkZGluZzoxMHB4Ij5HbyB0byBTbGFjay5jb21cdTAwM0MvYT4nCgkpOwp9CgooZnVuY3Rpb24oKSB7Cgl2YXIgdGltZXI7CglpZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7CgkJdGltZXIgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CgkJCWlmICh3aW5kb3cpIHsKCQkJCXRyeSB7CgkJCQkJdmFyIHBhZ2VFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlJyk7CgkJCQkJdmFyIGNsaWVudEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsaWVudC11aScpOwoJCQkJCXZhciBzZWN0aW9uRWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbmF2LCBoZWFkZXIsIHNlY3Rpb24nKTsKCgkJCQkJcGFnZUVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocGFnZUVsKTsKCQkJCQljbGllbnRFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsaWVudEVsKTsKCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNlY3Rpb25FbHMubGVuZ3RoOyBpKyspIHsKCQkJCQkJc2VjdGlvbkVsc1tpXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlY3Rpb25FbHNbaV0pOwoJCQkJCX0KCQkJCQl3aW5kb3cuVFMgPSBudWxsOwoJCQkJCXdpbmRvdy5URCA9IG51bGw7CgkJCQkJd2luZG93LmNsZWFySW50ZXJ2YWwodGltZXIpOwoJCQkJfSBjYXRjaCAoZSkge30JCgkJCX0KCQl9LCAyMDApOwoJfQp9KSgpOzwvc2NyaXB0Pjx0aXRsZT51c2Vycy5saXN0IG1ldGhvZCB8IFNsYWNrPC90aXRsZT48bWV0YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0cnVlIj48bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+PG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJTbGFjayI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzY2YTUyL3N0eWxlL3JvbGx1cC1zbGFja19raXRfbGVnYWN5X2FkYXB0ZXJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9hY2Q3Ny9zdHlsZS9yb2xsdXAtYXBpX3NpdGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvbW9kZXJuLnZlbmRvci41NjA4MTA2Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48bGluayBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vZjE5NWMzL3N0eWxlL3JvbGx1cC1zbGFja19raXRfaGVscGVycy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgaWQ9InNsYWNrX2tpdF9oZWxwZXJzX3N0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvd2VicGFjay5tYW5pZmVzdC4yZjFlM2VhNjcyY2Q3YmY3YWVmMC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48bGluayBpZD0iZmF2aWNvbiIgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvbWFya2V0aW5nL2ltZy9tZXRhL2Zhdmljb24tMzIucG5nIiBzaXplcz0iMTZ4MTYgMzJ4MzIgNDh4NDgiIHR5cGU9ImltYWdlL3BuZyI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKd2luZG93LmRhdGFMYXllci5wdXNoKHsKCSdndG0uc3RhcnQnOiBEYXRlLm5vdygpLAoJJ2V2ZW50JyA6ICdndG0uanMnLAoJJ3NlY3VyZV9wYWdlJyA6IGZhbHNlLAp9KTsKdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwp2YXIgdGhpc1NjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwp0aGlzU2NyaXB0LmFzeW5jID0gdHJ1ZTsKdGhpc1NjcmlwdC5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1LSDJMUEsnOwpmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzU2NyaXB0LCBmaXJzdFNjcmlwdCk7Cjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKGUpIHsKCXZhciBndG1EYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOwoJdmFyIGd0bVRhZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcqW2RhdGEtZ3RtLWNsaWNrXScpOwoJdmFyIGd0bUNsaWNrSGFuZGxlciA9IGZ1bmN0aW9uKGMpIHsKCQl2YXIgZ3RtX2V2ZW50cyA9IHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWd0bS1jbGljaycpOwoJCWlmICghZ3RtX2V2ZW50cykgcmV0dXJuOwoJCXZhciBndG1fZXZlbnRzX2FyciA9IGd0bV9ldmVudHMuc3BsaXQoIiwiKTsKCQlmb3IodmFyIGU9MDsgZSA8IGd0bV9ldmVudHNfYXJyLmxlbmd0aDsgZSsrKSB7CgkJCXZhciBldiA9IGd0bV9ldmVudHNfYXJyW2VdLnRyaW0oKTsKCQkJZ3RtRGF0YUxheWVyLnB1c2goeyAnZXZlbnQnOiBldiB9KTsKCQl9Cgl9OwoJZm9yKHZhciBnPTA7IGcgPCBndG1UYWdzLmxlbmd0aDsgZysrKXsKCQl2YXIgZWxlbSA9IGd0bVRhZ3NbZ107CgkJZWxlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGd0bUNsaWNrSGFuZGxlcik7Cgl9Cn0pOwo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CihmdW5jdGlvbihlLGMsYixmLGQsZyxhKXtlLlNsYWNrQmVhY29uT2JqZWN0PWQ7CmVbZF09ZVtkXXx8ZnVuY3Rpb24oKXsoZVtkXS5xPWVbZF0ucXx8W10pLnB1c2goWzEqbmV3IERhdGUoKSxhcmd1bWVudHNdKX07CmVbZF0ubD0xKm5ldyBEYXRlKCk7Zz1jLmNyZWF0ZUVsZW1lbnQoYik7YT1jLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpWzBdOwpnLmFzeW5jPTE7Zy5zcmM9ZjthLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsYSkKfSkod2luZG93LGRvY3VtZW50LCJzY3JpcHQiLCJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9zbGFja19iZWFjb24uNTI1NmMxZjI1MmY5YWU4ODUwNzEubWluLmpzIiwic2IiKTsKd2luZG93LnNiKCdzZXQnLCAndG9rZW4nLCAnMzMwN2Y0MzY5NjNlMDJkNGY5ZWI4NWNlNTE1OTc0NGMnKTsKd2luZG93LnNiKCd0cmFjaycsICdwYWdldmlldycpOwo8L3NjcmlwdD48bGluayByZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgdGl0bGU9IlJlY2VudCBjaGFuZ2VzIHRvIHRoZSBTbGFjayBwbGF0Zm9ybSBSU1MgRmVlZCIgaHJlZj0iL2NoYW5nZWxvZy5yc3MiPjwvaGVhZD48Ym9keSBjbGFzcz0iYXBpICBmZWF0dXJlX3JlbGF0ZWRfY29udGVudCI+PGhlYWRlcj48ZGl2IGNsYXNzPSJkaXNwbGF5X2ZsZXggZnVsbF93aWR0aCBmbGV4X2RpcmVjdGlvbl9yb3cgYWxpZ25faXRlbXNfY2VudGVyIGhlYWRlcl93cmFwcGVyIj48YSBpZD0ibWVudV90b2dnbGUiIGNsYXNzPSJub190cmFuc2l0aW9uIHNob3dfb25fbW9iaWxlIG5hdl9pY29uX2xpbmsiPjx0cy1pY29uIGNsYXNzPSJjLWljb24gbnVkZ2VfdG9wXzEgYy1pY29uLS1tZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC90cy1pY29uPjwvYT48ZGl2IGNsYXNzPSJmbGV4X29uZSI+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuc2xhY2suY29tLyIgaWQ9ImhlYWRlcl9sb2dvIiBjbGFzcz0iYXBpIj48aW1nIGFsdD0iU2xhY2sgQVBJIiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS84MDU4OC9pbWcvc2xhY2tfYXBpX2xvZ29fdm9ndWUucG5nIj48L2E+PC9kaXY+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuc2xhY2suY29tL3NlYXJjaCIgY2xhc3M9InNlYXJjaF9uYXZfbGluayBzaG93X29uX21vYmlsZSBmbGV4X25vbmUgbmF2X2ljb25fbGluayI+PHRzLWljb24gY2xhc3M9ImMtaWNvbiBjLWljb24tLXNlYXJjaC1tZWRpdW0iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3RzLWljb24+PC9hPjxkaXYgY2xhc3M9InNlYXJjaF9uYXZfaW5saW5lIGhpZGVfb25fbW9iaWxlIGZsZXhfb25lIj48Zm9ybSBjbGFzcz0ic2VhcmNoIiBhY2NlcHQtY2hhcnNldD0iVVRGLTgiIGFjdGlvbj0iL3NlYXJjaCIgbWV0aG9kPSJnZXQiIHJvbGU9InNlYXJjaCI+PGRpdiBjbGFzcz0iYy1maWx0ZXJfaW5wdXQgYXBpX3NlYXJjaCIgcm9sZT0icHJlc2VudGF0aW9uIj48dHMtaWNvbiBjbGFzcz0iYy1pY29uIG51ZGdlX3RvcF8xIGMtaWNvbi0tc2VhcmNoLW1lZGl1bSIgYXJpYS1oaWRkZW49InRydWUiPjwvdHMtaWNvbj48aW5wdXQgY2xhc3M9InNlYXJjaF9pbnB1dCIgaWQ9InF1ZXJ5IiBuYW1lPSJxdWVyeSIgdmFsdWU9IiIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCIgZGF0YS1zbWFsbHBsYWNlaG9sZGVyPSJTZWFyY2ggdGhlIGRvY3VtZW50YXRpb24iPjwvZGl2PjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJoaWRlX29uX21vYmlsZSBmbGV4X25vbmUiPjxkaXYgY2xhc3M9ImhlYWRlcl9uYXYiPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3NpZ25pbiIgY2xhc3M9ImJ0biBoZWFkZXJfYnRuIGZsb2F0X3JpZ2h0IiBkYXRhLXFhPSJzaWduX2luIj5HbyB0byBTbGFjazwvYT48ZGl2IGNsYXNzPSJoZWFkZXJfbGlua3MgZmxvYXRfcmlnaHQiPjxhIGhyZWY9Ii8jcmVhZF90aGVfZG9jcyIgY2xhc3M9ImFjdGl2ZSIgZGF0YS1xYT0iZG9jdW1lbnRhdGlvbiI+RG9jdW1lbnRhdGlvbjwvYT4gPGEgaHJlZj0iL3R1dG9yaWFscyIgZGF0YS1xYT0idHV0b3JpYWxzIj5UdXRvcmlhbHM8L2E+IDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vQHNsYWNrYXBpIiB0YXJnZXQ9Im5ldyIgZGF0YS1xYT0idHdpdHRlciI+VHdpdHRlcjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJhbGVydF9wYWdlX3N0YWNrZWQiPjxkaXYgY2xhc3M9ImFsZXJ0X3BhZ2UgYWxlcnRfc3VjY2VzcyBoaWRkZW4gZmFkZSBhcGlfYWxlcnRfcGFnZSIgZGF0YS1qcz0iYXBpX2FsZXJ0X3BhZ2UiPjxpIGNsYXNzPSJ0c19pY29uIHRzX2ljb25fY2hlY2tfY2lyY2xlX28iPjwvaT5TdWNjZXNzITwvZGl2PjwvZGl2PjwvaGVhZGVyPjxkaXYgaWQ9InBhZ2UiIGNsYXNzPSJsYXlvdXRfdGhyZWVfY29sIj48ZGl2IGlkPSJwYWdlX2NvbnRlbnRzIiBjbGFzcz0iY2xlYXJmaXggIj48bmF2IGlkPSJhcGlfbmF2IiBjbGFzcz0iY29sIGh1YiI+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51IHNob3dfb25fbW9iaWxlIj48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPk15IFNsYWNrIEFQSTwvaDQ+PHVsIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdCI+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iLyNyZWFkX3RoZV9kb2NzIj5Eb2N1bWVudGF0aW9uPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3R1dG9yaWFscyI+VHV0b3JpYWxzPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2FwcHMiPllvdXIgQXBwczwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51Ij48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPlN0YXJ0IGhlcmU8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9zdGFydC9vdmVydmlldyIgdGFyZ2V0PSIiPkFuIGludHJvZHVjdGlvbiB0b8KgYXBwcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3RhcnQvcGxhbm5pbmciIHRhcmdldD0iIj5QbGFubmluZyB5b3VyIGFwcCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3RhcnQvZGVzaWduaW5nIiB0YXJnZXQ9IiI+RGVzaWduaW5nIGV4cGVyaWVuY2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9zdGFydC9idWlsZGluZyIgdGFyZ2V0PSIiPkJ1aWxkaW5nIGFuIGFwcCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmVzdC1wcmFjdGljZXMvYmx1ZXByaW50cyIgdGFyZ2V0PSIiPkFwcCBibHVlcHJpbnRzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9jaGFuZ2Vsb2ciIHRhcmdldD0iIj5SZWNlbnQgY2hhbmdlcyA8L2E+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXJfbWVudSI+PGg0IGNsYXNzPSJzaWRlYmFyX21lbnVfaGVhZGVyIj5JbnN0YWxsYXRpb24gJmFtcDsgcGVybWlzc2lvbnM8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbiIgdGFyZ2V0PSIiPk92ZXJ2aWV3IDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbi9iYXNpY3MiIHRhcmdldD0iIj5CYXNpYyBhcHAgc2V0dXAgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2F1dGhlbnRpY2F0aW9uL29hdXRoLXYyIiB0YXJnZXQ9IiI+SW5zdGFsbGluZyB3aXRoIE9BdXRoIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbi9xdWlja3N0YXJ0IiB0YXJnZXQ9IiI+UXVpY2tzdGFydCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYXV0aGVudGljYXRpb24vbWlncmF0aW9uIiB0YXJnZXQ9IiI+TWlncmF0aW9uIGd1aWRlIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9hdXRoZW50aWNhdGlvbi92ZXJpZnlpbmctcmVxdWVzdHMtZnJvbS1zbGFjayIgdGFyZ2V0PSIiPkFwcCBTZWN1cml0eSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYXV0aGVudGljYXRpb24vYmVzdC1wcmFjdGljZXMiIHRhcmdldD0iIj5SZWZlcmVuY2UgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+QXBwIHN1cmZhY2VzPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3VyZmFjZXMiIHRhcmdldD0iIj5PdmVydmlldyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3VyZmFjZXMvdGFicyIgdGFyZ2V0PSIiPkhvbWUgdGFicyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc3VyZmFjZXMvbW9kYWxzIiB0YXJnZXQ9IiI+TW9kYWxzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9zdXJmYWNlcy9tZXNzYWdlcyIgdGFyZ2V0PSIiPk1lc3NhZ2VzIDwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51Ij48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPkJsb2NrIEtpdDogQnVpbGRpbmcgVUlzPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmxvY2sta2l0IiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2Jsb2NrLWtpdC9idWlsZGluZyIgdGFyZ2V0PSIiPkJ1aWxkaW5nIGJsb2NrcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmxvY2sta2l0L2ludGVyYWN0aXZpdHkiIHRhcmdldD0iIj5JbnRlcmFjdGl2aXR5IGluIGJsb2NrcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvYmxvY2sta2l0LWJ1aWxkZXIiIHRhcmdldD0iIj5CbG9jayBLaXQgQnVpbGRlciA8L2E+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXJfbWVudSI+PGg0IGNsYXNzPSJzaWRlYmFyX21lbnVfaGVhZGVyIj5JbnRlcmFjdGl2aXR5PC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvaW50ZXJhY3Rpdml0eSIgdGFyZ2V0PSIiPk92ZXJ2aWV3IDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9pbnRlcmFjdGl2aXR5L2hhbmRsaW5nIiB0YXJnZXQ9IiI+SGFuZGxpbmcgdXNlciBpbnRlcmFjdGlvbiA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvaW50ZXJhY3Rpdml0eS9lbnRyeS1wb2ludHMiIHRhcmdldD0iIj5FbnRyeSBwb2ludHMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2ludGVyYWN0aXZpdHkvYWN0aW9ucyIgdGFyZ2V0PSIiPkFwcCBBY3Rpb25zIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9pbnRlcmFjdGl2aXR5L3NsYXNoLWNvbW1hbmRzIiB0YXJnZXQ9IiI+U2xhc2ggQ29tbWFuZHMgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+TWVzc2FnaW5nPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvbWVzc2FnaW5nIiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL21lc3NhZ2luZy9tYW5hZ2luZyIgdGFyZ2V0PSIiPk1hbmFnaW5nIG1lc3NhZ2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9tZXNzYWdpbmcvY29tcG9zaW5nIiB0YXJnZXQ9IiI+Q29tcG9zaW5nIG1lc3NhZ2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9tZXNzYWdpbmcvaW50ZXJhY3Rpdml0eSIgdGFyZ2V0PSIiPkludGVyYWN0aXZlIG1lc3NhZ2VzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9tZXNzYWdpbmcvZmlsZXMiIHRhcmdldD0iIj5Xb3JraW5nIHdpdGggZmlsZXMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3JlZmVyZW5jZS9tZXNzYWdpbmcvcGF5bG9hZCIgdGFyZ2V0PSIiPlJlZmVyZW5jZSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvaW5jb21pbmctd2ViaG9va3MiIHRhcmdldD0iIj5JbmNvbWluZyB3ZWJob29rcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9vdXRtb2RlZC1tZXNzYWdpbmciIHRhcmdldD0iIj5PdXRtb2RlZCBtZXNzYWdpbmcgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+QXBwcyBmb3IgZW50ZXJwcmlzZXM8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9lbnRlcnByaXNlIiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2VudGVycHJpc2UvZ3JpZCIgdGFyZ2V0PSIiPkVudGVycHJpc2UgR3JpZCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZW50ZXJwcmlzZS9zaGFyZWQtY2hhbm5lbHMiIHRhcmdldD0iIj5TaGFyZWQgY2hhbm5lbHMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2VudGVycHJpc2UvbWFuYWdpbmciIHRhcmdldD0iIj5BcHBzIGZvciBTbGFjayBBZG1pbnMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3NjaW0iIHRhcmdldD0iIj5Qcm92aXNpb25pbmcgd2l0aCBTQ0lNIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9kb2NzL2F1ZGl0LWxvZ3MtYXBpIiB0YXJnZXQ9IiI+QXVkaXQgTG9ncyBBUEkgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2VudGVycHJpc2UvZ3JpZC90ZXN0aW5nIiB0YXJnZXQ9IiI+VGVzdGluZyBhcHBzIG9uIEdyaWQgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+UmVmZXJlbmNlPC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvcmVmZXJlbmNlIiB0YXJnZXQ9IiI+T3ZlcnZpZXcgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3dlYiIgdGFyZ2V0PSIiPldlYiBBUEkgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL21ldGhvZHMiIHRhcmdldD0iIj5NZXRob2RzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii90eXBlcyIgdGFyZ2V0PSIiPk9iamVjdCBUeXBlcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZXZlbnRzLWFwaSIgdGFyZ2V0PSIiPkV2ZW50cyBBUEkgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2V2ZW50cyIgdGFyZ2V0PSIiPkV2ZW50IFR5cGVzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9ydG0iIHRhcmdldD0iIj5SZWFsIFRpbWUgTWVzc2FnaW5nIEFQSSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9wYWdpbmF0aW9uIiB0YXJnZXQ9IiI+UGFnaW5hdGlvbiA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9wcmVzZW5jZS1hbmQtc3RhdHVzIiB0YXJnZXQ9IiI+UHJlc2VuY2UgJmFtcDsgc3RhdHVzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9yZWZlcmVuY2UvZGVlcC1saW5raW5nIiB0YXJnZXQ9IiI+RGVlcCBsaW5raW5nIGludG8gY2xpZW50cyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9yYXRlLWxpbWl0cyIgdGFyZ2V0PSIiPlJhdGUgTGltaXRzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9kb2NzL3NpZ24taW4td2l0aC1zbGFjayIgdGFyZ2V0PSIiPlNpZ24gaW4gd2l0aCBTbGFjayA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvbGVnYWN5LXdvcmtzcGFjZS1hcHBzIiB0YXJnZXQ9IiI+TGVnYWN5OiBXb3Jrc3BhY2UgYXBwcyA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9vYXV0aCIgdGFyZ2V0PSIiPkxlZ2FjeTogT0F1dGggMi4wIGZvciBjbGFzc2ljIGFwcHMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2RvY3Mvc2xhY2stc3RhdHVzIiB0YXJnZXQ9IiI+U2xhY2sgU3RhdHVzIDwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhcl9tZW51Ij48aDQgY2xhc3M9InNpZGViYXJfbWVudV9oZWFkZXIiPktlZXAgaW4gdG91Y2g8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9kb2NzL3N1cHBvcnQiIHRhcmdldD0iIj5TdXBwb3J0IGFuZCBEaXNjdXNzaW9uIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vc2xhY2thcGkiIHRhcmdldD0iIj5AU2xhY2tBUEkgb24gVHdpdHRlciA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSJodHRwczovL21lZGl1bS5jb20vc2xhY2stZGV2ZWxvcGVyLWJsb2ciIHRhcmdldD0iIj5QbGF0Zm9ybSBCbG9nIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Imh0dHBzOi8vc2xhY2suZW5naW5lZXJpbmciIHRhcmdldD0iIj5TbGFjayBFbmdpbmVlcmluZyBCbG9nIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9yb2FkbWFwIiB0YXJnZXQ9IiI+UGxhdGZvcm0gUm9hZG1hcCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSJodHRwczovL3NsYWNrLmNvbS9wYXJ0bmVycyIgdGFyZ2V0PSIiPlBhcnRuZXJpbmcgd2l0aCBTbGFjayA8L2E+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXJfbWVudSI+PGg0IGNsYXNzPSJzaWRlYmFyX21lbnVfaGVhZGVyIj5SZXNvdXJjZXM8L2g0Pjx1bCBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3QiPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9mYXEiIHRhcmdldD0iIj5GQVEgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3Rvb2xzIiB0YXJnZXQ9IiI+U2xhY2sgZGV2ZWxvcGVyIHRvb2xzIDwvYT48L2xpPjxsaT48YSBjbGFzcz0ic2lkZWJhcl9tZW51X2xpc3RfaXRlbSAiIGhyZWY9Ii9sYW5nL2phLWpwIiB0YXJnZXQ9IiI+SW4gSmFwYW5lc2UgKOaXpeacrOiqnikgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxoNCBjbGFzcz0ic2lkZWJhcl9tZW51X2hlYWRlciI+Q29tbXVuaXR5PC9oND48dWwgY2xhc3M9InNpZGViYXJfbWVudV9saXN0Ij48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSJodHRwczovL3NsYWNrY29tbXVuaXR5LmNvbT91dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fc291cmNlPWFwaXNsYWNrJmFtcDt1dG1fY2FtcGFpZ249ZnkyMC1RMTAzLXNwY2xhdW5jaCIgdGFyZ2V0PSIiPlNsYWNrIFBsYXRmb3JtIENvbW11bml0eSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvY29tbXVuaXR5IiB0YXJnZXQ9IiI+QnVpbHQgYnkgb3VyIGNvbW11bml0eSA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvZG9jcy9ob3N0aW5nIiB0YXJnZXQ9IiI+SG9zdGluZyBQcm92aWRlcnMgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL2RvY3MvY29tbXVuaXR5LWNvZGUtb2YtY29uZHVjdCIgdGFyZ2V0PSIiPkNvZGUgb2YgQ29uZHVjdCA8L2E+PC9saT48bGk+PGEgY2xhc3M9InNpZGViYXJfbWVudV9saXN0X2l0ZW0gIiBocmVmPSIvc2xhY2stZnVuZCIgdGFyZ2V0PSIiPlNsYWNrIEZ1bmQgPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJzaWRlYmFyX21lbnVfbGlzdF9pdGVtICIgaHJlZj0iL3Rlcm1zLW9mLXNlcnZpY2UvYXBpIiB0YXJnZXQ9IiI+QVBJIFRlcm1zIG9mIFNlcnZpY2UgPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyX21lbnUiPjxwPjxhIGRhdGEtZ3RtLWNsaWNrPSJBUElHZXRIZWxwIiBkYXRhLWNsb2ctZXZlbnQ9IkFQUF9ESVJFQ1RPUllfV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWFwaV9uYXZfZ2V0X2hlbHBfYnRuIiBocmVmPSIvc3VwcG9ydD9yZWY9YXBpX25hdiIgY2xhc3M9ImJ0biI+R2V0IEhlbHA8L2E+PC9wPjwvZGl2PjwvbmF2PjxkaXYgaWQ9ImFwaV9tYWluX2NvbnRlbnQiIGNsYXNzPSJjb2wiPjxkaXYgY2xhc3M9ImZsb2F0X3JpZ2h0IHNtYWxsX3RvcF9tYXJnaW4iIHN0eWxlPSJ3aWR0aDogMzAwcHg7IG1heC13aWR0aDogMTAwJTsiPjxzZWxlY3QgaWQ9ImFwaV9tZXRob2QiIGRhdGEtbGF6eS1maWx0ZXItc2VsZWN0PSIxIj48b3B0aW9uIHNlbGVjdGVkIGRpc2FibGVkPlZpZXcgYW5vdGhlciBtZXRob2QuLi48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5hcHBzLmFwcHJvdmUiPmFkbWluLmFwcHMuYXBwcm92ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmFwcHMuYXBwcm92ZWQubGlzdCI+YWRtaW4uYXBwcy5hcHByb3ZlZC5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uYXBwcy5yZXF1ZXN0cy5saXN0Ij5hZG1pbi5hcHBzLnJlcXVlc3RzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5hcHBzLnJlc3RyaWN0Ij5hZG1pbi5hcHBzLnJlc3RyaWN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uYXBwcy5yZXN0cmljdGVkLmxpc3QiPmFkbWluLmFwcHMucmVzdHJpY3RlZC5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uY29udmVyc2F0aW9ucy5zZXRUZWFtcyI+YWRtaW4uY29udmVyc2F0aW9ucy5zZXRUZWFtczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmVtb2ppLmFkZCI+YWRtaW4uZW1vamkuYWRkPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uZW1vamkuYWRkQWxpYXMiPmFkbWluLmVtb2ppLmFkZEFsaWFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uZW1vamkubGlzdCI+YWRtaW4uZW1vamkubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmVtb2ppLnJlbW92ZSI+YWRtaW4uZW1vamkucmVtb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uZW1vamkucmVuYW1lIj5hZG1pbi5lbW9qaS5yZW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5pbnZpdGVSZXF1ZXN0cy5hcHByb3ZlIj5hZG1pbi5pbnZpdGVSZXF1ZXN0cy5hcHByb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4uaW52aXRlUmVxdWVzdHMuYXBwcm92ZWQubGlzdCI+YWRtaW4uaW52aXRlUmVxdWVzdHMuYXBwcm92ZWQubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmludml0ZVJlcXVlc3RzLmRlbmllZC5saXN0Ij5hZG1pbi5pbnZpdGVSZXF1ZXN0cy5kZW5pZWQubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLmludml0ZVJlcXVlc3RzLmRlbnkiPmFkbWluLmludml0ZVJlcXVlc3RzLmRlbnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi5pbnZpdGVSZXF1ZXN0cy5saXN0Ij5hZG1pbi5pbnZpdGVSZXF1ZXN0cy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuYWRtaW5zLmxpc3QiPmFkbWluLnRlYW1zLmFkbWlucy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuY3JlYXRlIj5hZG1pbi50ZWFtcy5jcmVhdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi50ZWFtcy5saXN0Ij5hZG1pbi50ZWFtcy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMub3duZXJzLmxpc3QiPmFkbWluLnRlYW1zLm93bmVycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3MuaW5mbyI+YWRtaW4udGVhbXMuc2V0dGluZ3MuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnRlYW1zLnNldHRpbmdzLnNldERlZmF1bHRDaGFubmVscyI+YWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0RGVmYXVsdENoYW5uZWxzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0RGVzY3JpcHRpb24iPmFkbWluLnRlYW1zLnNldHRpbmdzLnNldERlc2NyaXB0aW9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0RGlzY292ZXJhYmlsaXR5Ij5hZG1pbi50ZWFtcy5zZXR0aW5ncy5zZXREaXNjb3ZlcmFiaWxpdHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi50ZWFtcy5zZXR0aW5ncy5zZXRJY29uIj5hZG1pbi50ZWFtcy5zZXR0aW5ncy5zZXRJY29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0TmFtZSI+YWRtaW4udGVhbXMuc2V0dGluZ3Muc2V0TmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnVzZXJzLmFzc2lnbiI+YWRtaW4udXNlcnMuYXNzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMuaW52aXRlIj5hZG1pbi51c2Vycy5pbnZpdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi51c2Vycy5saXN0Ij5hZG1pbi51c2Vycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMucmVtb3ZlIj5hZG1pbi51c2Vycy5yZW1vdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZG1pbi51c2Vycy5zZXNzaW9uLnJlc2V0Ij5hZG1pbi51c2Vycy5zZXNzaW9uLnJlc2V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMuc2V0QWRtaW4iPmFkbWluLnVzZXJzLnNldEFkbWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYWRtaW4udXNlcnMuc2V0RXhwaXJhdGlvbiI+YWRtaW4udXNlcnMuc2V0RXhwaXJhdGlvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnVzZXJzLnNldE93bmVyIj5hZG1pbi51c2Vycy5zZXRPd25lcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFkbWluLnVzZXJzLnNldFJlZ3VsYXIiPmFkbWluLnVzZXJzLnNldFJlZ3VsYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhcGkudGVzdCI+YXBpLnRlc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhcHBzLnBlcm1pc3Npb25zLmluZm8iPmFwcHMucGVybWlzc2lvbnMuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFwcHMucGVybWlzc2lvbnMucmVxdWVzdCI+YXBwcy5wZXJtaXNzaW9ucy5yZXF1ZXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXBwcy5wZXJtaXNzaW9ucy5yZXNvdXJjZXMubGlzdCI+YXBwcy5wZXJtaXNzaW9ucy5yZXNvdXJjZXMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFwcHMucGVybWlzc2lvbnMuc2NvcGVzLmxpc3QiPmFwcHMucGVybWlzc2lvbnMuc2NvcGVzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhcHBzLnBlcm1pc3Npb25zLnVzZXJzLmxpc3QiPmFwcHMucGVybWlzc2lvbnMudXNlcnMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFwcHMucGVybWlzc2lvbnMudXNlcnMucmVxdWVzdCI+YXBwcy5wZXJtaXNzaW9ucy51c2Vycy5yZXF1ZXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXBwcy51bmluc3RhbGwiPmFwcHMudW5pbnN0YWxsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXV0aC5yZXZva2UiPmF1dGgucmV2b2tlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXV0aC50ZXN0Ij5hdXRoLnRlc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJib3RzLmluZm8iPmJvdHMuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmFyY2hpdmUiPmNoYW5uZWxzLmFyY2hpdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5jcmVhdGUiPmNoYW5uZWxzLmNyZWF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmhpc3RvcnkiPmNoYW5uZWxzLmhpc3Rvcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5pbmZvIj5jaGFubmVscy5pbmZvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMuaW52aXRlIj5jaGFubmVscy5pbnZpdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5qb2luIj5jaGFubmVscy5qb2luPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMua2ljayI+Y2hhbm5lbHMua2ljazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmxlYXZlIj5jaGFubmVscy5sZWF2ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLmxpc3QiPmNoYW5uZWxzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5tYXJrIj5jaGFubmVscy5tYXJrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMucmVuYW1lIj5jaGFubmVscy5yZW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFubmVscy5yZXBsaWVzIj5jaGFubmVscy5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhbm5lbHMuc2V0UHVycG9zZSI+Y2hhbm5lbHMuc2V0UHVycG9zZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLnNldFRvcGljIj5jaGFubmVscy5zZXRUb3BpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYW5uZWxzLnVuYXJjaGl2ZSI+Y2hhbm5lbHMudW5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhdC5kZWxldGUiPmNoYXQuZGVsZXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2hhdC5kZWxldGVTY2hlZHVsZWRNZXNzYWdlIj5jaGF0LmRlbGV0ZVNjaGVkdWxlZE1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LmdldFBlcm1hbGluayI+Y2hhdC5nZXRQZXJtYWxpbms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0Lm1lTWVzc2FnZSI+Y2hhdC5tZU1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LnBvc3RFcGhlbWVyYWwiPmNoYXQucG9zdEVwaGVtZXJhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYXQucG9zdE1lc3NhZ2UiPmNoYXQucG9zdE1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LnNjaGVkdWxlTWVzc2FnZSI+Y2hhdC5zY2hlZHVsZU1lc3NhZ2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGF0LnNjaGVkdWxlZE1lc3NhZ2VzLmxpc3QiPmNoYXQuc2NoZWR1bGVkTWVzc2FnZXMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYXQudW5mdXJsIj5jaGF0LnVuZnVybDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNoYXQudXBkYXRlIj5jaGF0LnVwZGF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMuYXJjaGl2ZSI+Y29udmVyc2F0aW9ucy5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5jbG9zZSI+Y29udmVyc2F0aW9ucy5jbG9zZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMuY3JlYXRlIj5jb252ZXJzYXRpb25zLmNyZWF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMuaGlzdG9yeSI+Y29udmVyc2F0aW9ucy5oaXN0b3J5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5pbmZvIj5jb252ZXJzYXRpb25zLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLmludml0ZSI+Y29udmVyc2F0aW9ucy5pbnZpdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLmpvaW4iPmNvbnZlcnNhdGlvbnMuam9pbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMua2ljayI+Y29udmVyc2F0aW9ucy5raWNrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5sZWF2ZSI+Y29udmVyc2F0aW9ucy5sZWF2ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMubGlzdCI+Y29udmVyc2F0aW9ucy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5tZW1iZXJzIj5jb252ZXJzYXRpb25zLm1lbWJlcnM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLm9wZW4iPmNvbnZlcnNhdGlvbnMub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMucmVuYW1lIj5jb252ZXJzYXRpb25zLnJlbmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbnZlcnNhdGlvbnMucmVwbGllcyI+Y29udmVyc2F0aW9ucy5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy5zZXRQdXJwb3NlIj5jb252ZXJzYXRpb25zLnNldFB1cnBvc2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb252ZXJzYXRpb25zLnNldFRvcGljIj5jb252ZXJzYXRpb25zLnNldFRvcGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29udmVyc2F0aW9ucy51bmFyY2hpdmUiPmNvbnZlcnNhdGlvbnMudW5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlhbG9nLm9wZW4iPmRpYWxvZy5vcGVuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG5kLmVuZERuZCI+ZG5kLmVuZERuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRuZC5lbmRTbm9vemUiPmRuZC5lbmRTbm9vemU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJkbmQuaW5mbyI+ZG5kLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJkbmQuc2V0U25vb3plIj5kbmQuc2V0U25vb3plPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG5kLnRlYW1JbmZvIj5kbmQudGVhbUluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJlbW9qaS5saXN0Ij5lbW9qaS5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmlsZXMuY29tbWVudHMuZGVsZXRlIj5maWxlcy5jb21tZW50cy5kZWxldGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5kZWxldGUiPmZpbGVzLmRlbGV0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLmluZm8iPmZpbGVzLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5saXN0Ij5maWxlcy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmlsZXMucmVtb3RlLmFkZCI+ZmlsZXMucmVtb3RlLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS5pbmZvIj5maWxlcy5yZW1vdGUuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS5saXN0Ij5maWxlcy5yZW1vdGUubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS5yZW1vdmUiPmZpbGVzLnJlbW90ZS5yZW1vdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5yZW1vdGUuc2hhcmUiPmZpbGVzLnJlbW90ZS5zaGFyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnJlbW90ZS51cGRhdGUiPmZpbGVzLnJlbW90ZS51cGRhdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmaWxlcy5yZXZva2VQdWJsaWNVUkwiPmZpbGVzLnJldm9rZVB1YmxpY1VSTDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImZpbGVzLnNoYXJlZFB1YmxpY1VSTCI+ZmlsZXMuc2hhcmVkUHVibGljVVJMPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZmlsZXMudXBsb2FkIj5maWxlcy51cGxvYWQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuYXJjaGl2ZSI+Z3JvdXBzLmFyY2hpdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuY3JlYXRlIj5ncm91cHMuY3JlYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLmNyZWF0ZUNoaWxkIj5ncm91cHMuY3JlYXRlQ2hpbGQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuaGlzdG9yeSI+Z3JvdXBzLmhpc3Rvcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuaW5mbyI+Z3JvdXBzLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMuaW52aXRlIj5ncm91cHMuaW52aXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLmtpY2siPmdyb3Vwcy5raWNrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLmxlYXZlIj5ncm91cHMubGVhdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMubGlzdCI+Z3JvdXBzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMubWFyayI+Z3JvdXBzLm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMub3BlbiI+Z3JvdXBzLm9wZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMucmVuYW1lIj5ncm91cHMucmVuYW1lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLnJlcGxpZXMiPmdyb3Vwcy5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLnNldFB1cnBvc2UiPmdyb3Vwcy5zZXRQdXJwb3NlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ3JvdXBzLnNldFRvcGljIj5ncm91cHMuc2V0VG9waWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncm91cHMudW5hcmNoaXZlIj5ncm91cHMudW5hcmNoaXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaW0uY2xvc2UiPmltLmNsb3NlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaW0uaGlzdG9yeSI+aW0uaGlzdG9yeTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImltLmxpc3QiPmltLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJpbS5tYXJrIj5pbS5tYXJrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaW0ub3BlbiI+aW0ub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImltLnJlcGxpZXMiPmltLnJlcGxpZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtaWdyYXRpb24uZXhjaGFuZ2UiPm1pZ3JhdGlvbi5leGNoYW5nZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1waW0uY2xvc2UiPm1waW0uY2xvc2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtcGltLmhpc3RvcnkiPm1waW0uaGlzdG9yeTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1waW0ubGlzdCI+bXBpbS5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibXBpbS5tYXJrIj5tcGltLm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtcGltLm9wZW4iPm1waW0ub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1waW0ucmVwbGllcyI+bXBpbS5yZXBsaWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ib2F1dGguYWNjZXNzIj5vYXV0aC5hY2Nlc3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJvYXV0aC50b2tlbiI+b2F1dGgudG9rZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJvYXV0aC52Mi5hY2Nlc3MiPm9hdXRoLnYyLmFjY2Vzczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InBpbnMuYWRkIj5waW5zLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InBpbnMubGlzdCI+cGlucy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icGlucy5yZW1vdmUiPnBpbnMucmVtb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVhY3Rpb25zLmFkZCI+cmVhY3Rpb25zLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlYWN0aW9ucy5nZXQiPnJlYWN0aW9ucy5nZXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJyZWFjdGlvbnMubGlzdCI+cmVhY3Rpb25zLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJyZWFjdGlvbnMucmVtb3ZlIj5yZWFjdGlvbnMucmVtb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVtaW5kZXJzLmFkZCI+cmVtaW5kZXJzLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlbWluZGVycy5jb21wbGV0ZSI+cmVtaW5kZXJzLmNvbXBsZXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVtaW5kZXJzLmRlbGV0ZSI+cmVtaW5kZXJzLmRlbGV0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlbWluZGVycy5pbmZvIj5yZW1pbmRlcnMuaW5mbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlbWluZGVycy5saXN0Ij5yZW1pbmRlcnMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJ0bS5jb25uZWN0Ij5ydG0uY29ubmVjdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJ0bS5zdGFydCI+cnRtLnN0YXJ0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2VhcmNoLmFsbCI+c2VhcmNoLmFsbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNlYXJjaC5maWxlcyI+c2VhcmNoLmZpbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2VhcmNoLm1lc3NhZ2VzIj5zZWFyY2gubWVzc2FnZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzdGFycy5hZGQiPnN0YXJzLmFkZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InN0YXJzLmxpc3QiPnN0YXJzLmxpc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzdGFycy5yZW1vdmUiPnN0YXJzLnJlbW92ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InRlYW0uYWNjZXNzTG9ncyI+dGVhbS5hY2Nlc3NMb2dzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGVhbS5iaWxsYWJsZUluZm8iPnRlYW0uYmlsbGFibGVJbmZvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGVhbS5pbmZvIj50ZWFtLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0ZWFtLmludGVncmF0aW9uTG9ncyI+dGVhbS5pbnRlZ3JhdGlvbkxvZ3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0ZWFtLnByb2ZpbGUuZ2V0Ij50ZWFtLnByb2ZpbGUuZ2V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcmdyb3Vwcy5jcmVhdGUiPnVzZXJncm91cHMuY3JlYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcmdyb3Vwcy5kaXNhYmxlIj51c2VyZ3JvdXBzLmRpc2FibGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1c2VyZ3JvdXBzLmVuYWJsZSI+dXNlcmdyb3Vwcy5lbmFibGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1c2VyZ3JvdXBzLmxpc3QiPnVzZXJncm91cHMubGlzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJncm91cHMudXBkYXRlIj51c2VyZ3JvdXBzLnVwZGF0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJncm91cHMudXNlcnMubGlzdCI+dXNlcmdyb3Vwcy51c2Vycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcmdyb3Vwcy51c2Vycy51cGRhdGUiPnVzZXJncm91cHMudXNlcnMudXBkYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMuY29udmVyc2F0aW9ucyI+dXNlcnMuY29udmVyc2F0aW9uczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmRlbGV0ZVBob3RvIj51c2Vycy5kZWxldGVQaG90bzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmdldFByZXNlbmNlIj51c2Vycy5nZXRQcmVzZW5jZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmlkZW50aXR5Ij51c2Vycy5pZGVudGl0eTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLmluZm8iPnVzZXJzLmluZm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1c2Vycy5saXN0Ij51c2Vycy5saXN0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMubG9va3VwQnlFbWFpbCI+dXNlcnMubG9va3VwQnlFbWFpbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLnByb2ZpbGUuZ2V0Ij51c2Vycy5wcm9maWxlLmdldDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLnByb2ZpbGUuc2V0Ij51c2Vycy5wcm9maWxlLnNldDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVzZXJzLnNldEFjdGl2ZSI+dXNlcnMuc2V0QWN0aXZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMuc2V0UGhvdG8iPnVzZXJzLnNldFBob3RvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXNlcnMuc2V0UHJlc2VuY2UiPnVzZXJzLnNldFByZXNlbmNlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idmlld3Mub3BlbiI+dmlld3Mub3Blbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InZpZXdzLnB1Ymxpc2giPnZpZXdzLnB1Ymxpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ2aWV3cy5wdXNoIj52aWV3cy5wdXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idmlld3MudXBkYXRlIj52aWV3cy51cGRhdGU8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48aDE+dXNlcnMubGlzdDwvaDE+PGRpdiBjbGFzcz0idGFiX3NldCBvbl9uZXV0cmFsX2dyZXkiPjxhIGhyZWY9Ii9tZXRob2RzL3VzZXJzLmxpc3QiIGNsYXNzPSJzZWxlY3RlZCI+RG9jdW1lbnRhdGlvbjwvYT48YSBocmVmPSIvbWV0aG9kcy91c2Vycy5saXN0L3Rlc3QiPlRlc3RlcjwvYT48YSBocmVmPSIvbWV0aG9kcy91c2Vycy5saXN0L2NvZGUiPkNvZGU8L2E+PC9kaXY+PHNlY3Rpb24gY2xhc3M9InRhYl9wYW5lIHNlbGVjdGVkIGNsZWFyZml4IGxhcmdlX2JvdHRvbV9wYWRkaW5nIiBkYXRhLXRhYj0iZG9jcyI+PHA+TGlzdHMgYWxsIHVzZXJzIGluIGEgU2xhY2sgdGVhbS48L3A+PHA+PC9wPjxoMiBpZD0iZmFjdHMiPkZhY3RzPC9oMj48dGFibGUgY2xhc3M9InNtYWxsIGZ1bGxfd2lkdGggbm9fYm90dG9tX21hcmdpbiBub19ib3R0b21fcGFkZGluZyI+PHRyPjx0aCBjbGFzcz0iYWxpZ25fcmlnaHQiPk1ldGhvZCBVUkw6PC90aD48dGQ+PGNvZGU+aHR0cHM6Ly9zbGFjay5jb20vYXBpL3VzZXJzLmxpc3Q8L2NvZGU+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImFsaWduX3JpZ2h0Ij5QcmVmZXJyZWQgSFRUUCBtZXRob2Q6PC90aD48dGQ+PGNvZGU+R0VUPC9jb2RlPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJhbGlnbl9yaWdodCI+QWNjZXB0ZWQgY29udGVudCB0eXBlczo8L3RoPjx0ZD48Y29kZT5hcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ8L2NvZGU+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImFsaWduX3JpZ2h0Ij5SYXRlIGxpbWl0aW5nOjwvdGg+PHRkPjxzcGFuIGNsYXNzPSJyYXRlX2xpbWl0IHRpZXJfdDIiPjxhIGhyZWY9Ii9kb2NzL3JhdGUtbGltaXRzI3RpZXJfdDIiPlRpZXIgMjwvYT48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImFsaWduX3JpZ2h0Ij5Xb3JrcyB3aXRoOjwvdGg+PHRkPjx0YWJsZSBjbGFzcz0ic21hbGwgZnVsbF93aWR0aCBub19tYXJnaW4gbm9fcGFkZGluZyI+PHRyIGNsYXNzPSJub19tYXJnaW4gbm9fcGFkZGluZyI+PHRoIGNsYXNzPSJub19tYXJnaW4gbm9fcGFkZGluZyI+VG9rZW4gdHlwZTwvdGg+PHRoIGNsYXNzPSJub19tYXJnaW4gbm9fcGFkZGluZyI+UmVxdWlyZWQgc2NvcGUocyk8L3RoPjwvdHI+PHRyPjx0ZD48YSBjbGFzcz0iYnRuX2Jhc2ljIHBpbGxfYnRuIGJ0bl9zbWFsbCB0b2tlbl9ncmFudWxhcl9ib3QgdG9rZW5fbGluayIgaHJlZj0iL2RvY3MvdG9rZW4tdHlwZXMjZ3JhbnVsYXJfYm90Ij5ib3Q8L2E+PC90ZD48dGQ+PGEgaHJlZj0iL3Njb3Blcy91c2VyczpyZWFkIiB0aXRsZT0iIiBjbGFzcz0idG9rZW5fdHlwZV9ncmFudWxhcl9ib3QiPjxjb2RlPnVzZXJzOnJlYWQ8L2NvZGU+PC9hPsKgIDwvdGQ+PC90cj48dHI+PHRkPjxhIGNsYXNzPSJidG5fYmFzaWMgcGlsbF9idG4gYnRuX3NtYWxsIHRva2VuX3VzZXIgdG9rZW5fbGluayIgaHJlZj0iL2RvY3MvdG9rZW4tdHlwZXMjdXNlciI+dXNlcjwvYT48L3RkPjx0ZD48YSBocmVmPSIvc2NvcGVzL3VzZXJzOnJlYWQiIHRpdGxlPSIiIGNsYXNzPSJ0b2tlbl90eXBlXyI+PGNvZGU+dXNlcnM6cmVhZDwvY29kZT48L2E+wqAgPC90ZD48L3RyPjx0cj48dGQ+PGEgY2xhc3M9ImJ0bl9iYXNpYyBwaWxsX2J0biBidG5fc21hbGwgdG9rZW5fYm90IHRva2VuX2xpbmsiIGhyZWY9Ii9kb2NzL3Rva2VuLXR5cGVzI2JvdCI+Y2xhc3NpY8KgYm90PC9hPjwvdGQ+PHRkPjxhIGhyZWY9Ii9zY29wZXMvYm90Ij48Y29kZT5ib3Q8L2NvZGU+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0ic21hbGxfdG9wX21hcmdpbiI+PHA+VGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSB3b3Jrc3BhY2UuIFRoaXMgaW5jbHVkZXMgZGVsZXRlZC9kZWFjdGl2YXRlZCB1c2Vycy48L3A+Cgo8YSBuYW1lPSJhcmd1bWVudHMiPjwvYT48aDIgPkFyZ3VtZW50czwvaDI+Cgo8ZGl2IGNsYXNzPSJtZXRob2RfYXJndW1lbnRzIGZ1bGxfd2lkdGgiPjxkaXYgY2xhc3M9Im1ldGhvZF9hcmd1bWVudCI+PHNwYW4gY2xhc3M9ImFyZ19jZWxsIGFyZ190aXRsZSI+PHNwYW4gY2xhc3M9ImFyZ19uYW1lIj48YSBocmVmPSIjYXJnX3Rva2VuIiBuYW1lPSJhcmdfdG9rZW4iPjxjb2RlPnRva2VuPC9jb2RlPjwvYT48L3NwYW4+PHNwYW4gY2xhc3M9ImFyZ19tZXRhZGF0YSI+PHNwYW4gY2xhc3M9ImFyZ19yZXF1aXJlbWVudCBhcmdfcmVxdWlyZWQiPlJlcXVpcmVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImFyZ19jZWxsIGFyZ19kZXNjIj48cD5BdXRoZW50aWNhdGlvbiB0b2tlbiBiZWFyaW5nIHJlcXVpcmVkIHNjb3Blcy48L3A+CjxzcGFuIGNsYXNzPSJhcmdfZXhhbXBsZSI+PHNwYW4gY2xhc3M9ImV4YW1wbGVfY2FwdGlvbiI+RXhhbXBsZTwvc3Bhbj48Y29kZT54eHh4LXh4eHh4eHh4eC14eHh4PC9jb2RlPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibWV0aG9kX2FyZ3VtZW50Ij48c3BhbiBjbGFzcz0iYXJnX2NlbGwgYXJnX3RpdGxlIj48c3BhbiBjbGFzcz0iYXJnX25hbWUiPjxhIGhyZWY9IiNhcmdfY3Vyc29yIiBuYW1lPSJhcmdfY3Vyc29yIj48Y29kZT5jdXJzb3I8L2NvZGU+PC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJnX21ldGFkYXRhIj48c3BhbiBjbGFzcz0iYXJnX3JlcXVpcmVtZW50Ij5PcHRpb25hbDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcmdfY2VsbCBhcmdfZGVzYyI+PHA+UGFnaW5hdGUgdGhyb3VnaCBjb2xsZWN0aW9ucyBvZiBkYXRhIGJ5IHNldHRpbmcgdGhlIDxjb2RlPmN1cnNvcjwvY29kZT4gcGFyYW1ldGVyIHRvIGEgPGNvZGU+bmV4dF9jdXJzb3I8L2NvZGU+IGF0dHJpYnV0ZSByZXR1cm5lZCBieSBhIHByZXZpb3VzIHJlcXVlc3QncyA8Y29kZT5yZXNwb25zZV9tZXRhZGF0YTwvY29kZT4uIERlZmF1bHQgdmFsdWUgZmV0Y2hlcyB0aGUgZmlyc3QgInBhZ2UiIG9mIHRoZSBjb2xsZWN0aW9uLiBTZWUgPGEgaHJlZj0iL2RvY3MvcGFnaW5hdGlvbiI+cGFnaW5hdGlvbjwvYT4gZm9yIG1vcmUgZGV0YWlsLjwvcD4KPHNwYW4gY2xhc3M9ImFyZ19leGFtcGxlIj48c3BhbiBjbGFzcz0iZXhhbXBsZV9jYXB0aW9uIj5FeGFtcGxlPC9zcGFuPjxjb2RlPmRYTmxjanBWTURZeFRrWlVWREk9PC9jb2RlPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibWV0aG9kX2FyZ3VtZW50Ij48c3BhbiBjbGFzcz0iYXJnX2NlbGwgYXJnX3RpdGxlIj48c3BhbiBjbGFzcz0iYXJnX25hbWUiPjxhIGhyZWY9IiNhcmdfaW5jbHVkZV9sb2NhbGUiIG5hbWU9ImFyZ19pbmNsdWRlX2xvY2FsZSI+PGNvZGU+aW5jbHVkZV9sb2NhbGU8L2NvZGU+PC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJnX21ldGFkYXRhIj48c3BhbiBjbGFzcz0iYXJnX3JlcXVpcmVtZW50Ij5PcHRpb25hbDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcmdfY2VsbCBhcmdfZGVzYyI+PHA+U2V0IHRoaXMgdG8gPGNvZGU+dHJ1ZTwvY29kZT4gdG8gcmVjZWl2ZSB0aGUgbG9jYWxlIGZvciB1c2Vycy4gRGVmYXVsdHMgdG8gPGNvZGU+ZmFsc2U8L2NvZGU+PC9wPgo8c3BhbiBjbGFzcz0iYXJnX2V4YW1wbGUiPjxzcGFuIGNsYXNzPSJleGFtcGxlX2NhcHRpb24iPkV4YW1wbGU8L3NwYW4+PGNvZGU+dHJ1ZTwvY29kZT48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9Im1ldGhvZF9hcmd1bWVudCI+PHNwYW4gY2xhc3M9ImFyZ19jZWxsIGFyZ190aXRsZSI+PHNwYW4gY2xhc3M9ImFyZ19uYW1lIj48YSBocmVmPSIjYXJnX2xpbWl0IiBuYW1lPSJhcmdfbGltaXQiPjxjb2RlPmxpbWl0PC9jb2RlPjwvYT48L3NwYW4+PHNwYW4gY2xhc3M9ImFyZ19tZXRhZGF0YSI+PHNwYW4gY2xhc3M9ImFyZ19yZXF1aXJlbWVudCI+T3B0aW9uYWw8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJnX2NlbGwgYXJnX2Rlc2MiPjxwPlRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byByZXR1cm4uIEZld2VyIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgaXRlbXMgbWF5IGJlIHJldHVybmVkLCBldmVuIGlmIHRoZSBlbmQgb2YgdGhlIHVzZXJzIGxpc3QgaGFzbid0IGJlZW4gcmVhY2hlZC48L3A+CjxwPkRlZmF1bHQ6IDxjb2RlPjA8L2NvZGU+PC9wPjxzcGFuIGNsYXNzPSJhcmdfZXhhbXBsZSI+PHNwYW4gY2xhc3M9ImV4YW1wbGVfY2FwdGlvbiI+RXhhbXBsZTwvc3Bhbj48Y29kZT4yMDwvY29kZT48L3NwYW4+PC9zcGFuPjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJhbGVydCBhbGVydF9pbmZvIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9jb2RlIj48L3RzLWljb24+UHJlc2VudCBhcmd1bWVudHMgYXMgcGFyYW1ldGVycyBpbiA8Y29kZT5hcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ8L2NvZGU+IHF1ZXJ5c3RyaW5nIG9yIFBPU1QgYm9keS4gVGhpcyBtZXRob2QgZG9lcyBub3QgY3VycmVudGx5IGFjY2VwdCA8Y29kZT5hcHBsaWNhdGlvbi9qc29uPC9jb2RlPi48L3A+Cgo8YSBuYW1lPSJyZXNwb25zZSI+PC9hPjxoMiA+UmVzcG9uc2U8L2gyPgoKPHA+UmV0dXJucyBhIGxpc3Qgb2YgPGEgaHJlZj0iL2RvY3MvcGFnaW5hdGlvbiI+cGFnaW5hdGVkPC9hPiA8YSBocmVmPSIvdHlwZXMvdXNlciI+dXNlciBvYmplY3RzPC9hPiwgaW4gbm8gcGFydGljdWxhciBvcmRlci48L3A+Cgo8ZGl2PjxwPjxwPlR5cGljYWwgc3VjY2VzcyByZXNwb25zZTwvcD4KPC9wPjxwcmU+PGNvZGUgY2xhc3M9Impzb24iPnsKICAgICZxdW90O29rJnF1b3Q7OiB0cnVlLAogICAgJnF1b3Q7bWVtYmVycyZxdW90OzogWwogICAgICAgIHsKICAgICAgICAgICAgJnF1b3Q7aWQmcXVvdDs6ICZxdW90O1cwMTJBM0NERSZxdW90OywKICAgICAgICAgICAgJnF1b3Q7dGVhbV9pZCZxdW90OzogJnF1b3Q7VDAxMkFCM0M0JnF1b3Q7LAogICAgICAgICAgICAmcXVvdDtuYW1lJnF1b3Q7OiAmcXVvdDtzcGVuZ2xlciZxdW90OywKICAgICAgICAgICAgJnF1b3Q7ZGVsZXRlZCZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2NvbG9yJnF1b3Q7OiAmcXVvdDs5ZjY5ZTcmcXVvdDssCiAgICAgICAgICAgICZxdW90O3JlYWxfbmFtZSZxdW90OzogJnF1b3Q7c3BlbmdsZXImcXVvdDssCiAgICAgICAgICAgICZxdW90O3R6JnF1b3Q7OiAmcXVvdDtBbWVyaWNhL0xvc19BbmdlbGVzJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9sYWJlbCZxdW90OzogJnF1b3Q7UGFjaWZpYyBEYXlsaWdodCBUaW1lJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9vZmZzZXQmcXVvdDs6IC0yNTIwMCwKICAgICAgICAgICAgJnF1b3Q7cHJvZmlsZSZxdW90OzogewogICAgICAgICAgICAgICAgJnF1b3Q7YXZhdGFyX2hhc2gmcXVvdDs6ICZxdW90O2dlM2I1MWNhNzJkZSZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O3N0YXR1c190ZXh0JnF1b3Q7OiAmcXVvdDtQcmludCBpcyBkZWFkJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7c3RhdHVzX2Vtb2ppJnF1b3Q7OiAmcXVvdDs6Ym9va3M6JnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7cmVhbF9uYW1lJnF1b3Q7OiAmcXVvdDtFZ29uIFNwZW5nbGVyJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7ZGlzcGxheV9uYW1lJnF1b3Q7OiAmcXVvdDtzcGVuZ2xlciZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O3JlYWxfbmFtZV9ub3JtYWxpemVkJnF1b3Q7OiAmcXVvdDtFZ29uIFNwZW5nbGVyJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7ZGlzcGxheV9uYW1lX25vcm1hbGl6ZWQmcXVvdDs6ICZxdW90O3NwZW5nbGVyJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7ZW1haWwmcXVvdDs6ICZxdW90O3NwZW5nbGVyQGdob3N0YnVzdGVycy5leGFtcGxlLmNvbSZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzI0JnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfMzImcXVvdDs6ICZxdW90O2h0dHBzOi8vLi4uL2F2YXRhci9lM2I1MWNhNzJkZWU0ZWY4NzkxNmFlMmI5MjQwZGY1MC5qcGcmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtpbWFnZV80OCZxdW90OzogJnF1b3Q7aHR0cHM6Ly8uLi4vYXZhdGFyL2UzYjUxY2E3MmRlZTRlZjg3OTE2YWUyYjkyNDBkZjUwLmpwZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzcyJnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfMTkyJnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfNTEyJnF1b3Q7OiAmcXVvdDtodHRwczovLy4uLi9hdmF0YXIvZTNiNTFjYTcyZGVlNGVmODc5MTZhZTJiOTI0MGRmNTAuanBnJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7dGVhbSZxdW90OzogJnF1b3Q7VDAxMkFCM0M0JnF1b3Q7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICZxdW90O2lzX2FkbWluJnF1b3Q7OiB0cnVlLAogICAgICAgICAgICAmcXVvdDtpc19vd25lciZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2lzX3ByaW1hcnlfb3duZXImcXVvdDs6IGZhbHNlLAogICAgICAgICAgICAmcXVvdDtpc19yZXN0cmljdGVkJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aXNfdWx0cmFfcmVzdHJpY3RlZCZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2lzX2JvdCZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O3VwZGF0ZWQmcXVvdDs6IDE1MDIxMzg2ODYsCiAgICAgICAgICAgICZxdW90O2lzX2FwcF91c2VyJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aGFzXzJmYSZxdW90OzogZmFsc2UKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgJnF1b3Q7aWQmcXVvdDs6ICZxdW90O1cwN1FDUlBBNCZxdW90OywKICAgICAgICAgICAgJnF1b3Q7dGVhbV9pZCZxdW90OzogJnF1b3Q7VDBHOVBRQkJLJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDtuYW1lJnF1b3Q7OiAmcXVvdDtnbGluZGEmcXVvdDssCiAgICAgICAgICAgICZxdW90O2RlbGV0ZWQmcXVvdDs6IGZhbHNlLAogICAgICAgICAgICAmcXVvdDtjb2xvciZxdW90OzogJnF1b3Q7OWY2OWU3JnF1b3Q7LAogICAgICAgICAgICAmcXVvdDtyZWFsX25hbWUmcXVvdDs6ICZxdW90O0dsaW5kYSBTb3V0aGdvb2QmcXVvdDssCiAgICAgICAgICAgICZxdW90O3R6JnF1b3Q7OiAmcXVvdDtBbWVyaWNhL0xvc19BbmdlbGVzJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9sYWJlbCZxdW90OzogJnF1b3Q7UGFjaWZpYyBEYXlsaWdodCBUaW1lJnF1b3Q7LAogICAgICAgICAgICAmcXVvdDt0el9vZmZzZXQmcXVvdDs6IC0yNTIwMCwKICAgICAgICAgICAgJnF1b3Q7cHJvZmlsZSZxdW90OzogewogICAgICAgICAgICAgICAgJnF1b3Q7YXZhdGFyX2hhc2gmcXVvdDs6ICZxdW90OzhmYmRkMTBiNDFjNiZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzI0JnF1b3Q7OiAmcXVvdDtodHRwczovL2Euc2xhY2stZWRnZS5jb20uLi5wbmcmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtpbWFnZV8zMiZxdW90OzogJnF1b3Q7aHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLi4ucG5nJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfNDgmcXVvdDs6ICZxdW90O2h0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS4uLnBuZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzcyJnF1b3Q7OiAmcXVvdDtodHRwczovL2Euc2xhY2stZWRnZS5jb20uLi5wbmcmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtpbWFnZV8xOTImcXVvdDs6ICZxdW90O2h0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS4uLnBuZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ltYWdlXzUxMiZxdW90OzogJnF1b3Q7aHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLi4ucG5nJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2VfMTAyNCZxdW90OzogJnF1b3Q7aHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLi4ucG5nJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7aW1hZ2Vfb3JpZ2luYWwmcXVvdDs6ICZxdW90O2h0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS4uLnBuZyZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2ZpcnN0X25hbWUmcXVvdDs6ICZxdW90O0dsaW5kYSZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2xhc3RfbmFtZSZxdW90OzogJnF1b3Q7U291dGhnb29kJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7dGl0bGUmcXVvdDs6ICZxdW90O0dsaW5kYSB0aGUgR29vZCZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O3Bob25lJnF1b3Q7OiAmcXVvdDsmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtza3lwZSZxdW90OzogJnF1b3Q7JnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7cmVhbF9uYW1lJnF1b3Q7OiAmcXVvdDtHbGluZGEgU291dGhnb29kJnF1b3Q7LAogICAgICAgICAgICAgICAgJnF1b3Q7cmVhbF9uYW1lX25vcm1hbGl6ZWQmcXVvdDs6ICZxdW90O0dsaW5kYSBTb3V0aGdvb2QmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtkaXNwbGF5X25hbWUmcXVvdDs6ICZxdW90O0dsaW5kYSB0aGUgRmFpcmx5IEdvb2QmcXVvdDssCiAgICAgICAgICAgICAgICAmcXVvdDtkaXNwbGF5X25hbWVfbm9ybWFsaXplZCZxdW90OzogJnF1b3Q7R2xpbmRhIHRoZSBGYWlybHkgR29vZCZxdW90OywKICAgICAgICAgICAgICAgICZxdW90O2VtYWlsJnF1b3Q7OiAmcXVvdDtnbGVuZGFAc291dGgub3ouY292ZW4mcXVvdDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgJnF1b3Q7aXNfYWRtaW4mcXVvdDs6IHRydWUsCiAgICAgICAgICAgICZxdW90O2lzX293bmVyJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aXNfcHJpbWFyeV9vd25lciZxdW90OzogZmFsc2UsCiAgICAgICAgICAgICZxdW90O2lzX3Jlc3RyaWN0ZWQmcXVvdDs6IGZhbHNlLAogICAgICAgICAgICAmcXVvdDtpc191bHRyYV9yZXN0cmljdGVkJnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7aXNfYm90JnF1b3Q7OiBmYWxzZSwKICAgICAgICAgICAgJnF1b3Q7dXBkYXRlZCZxdW90OzogMTQ4MDUyNzA5OCwKICAgICAgICAgICAgJnF1b3Q7aGFzXzJmYSZxdW90OzogZmFsc2UKICAgICAgICB9CiAgICBdLAogICAgJnF1b3Q7Y2FjaGVfdHMmcXVvdDs6IDE0OTg3NzcyNzIsCiAgICAmcXVvdDtyZXNwb25zZV9tZXRhZGF0YSZxdW90OzogewogICAgICAgICZxdW90O25leHRfY3Vyc29yJnF1b3Q7OiAmcXVvdDtkWE5sY2pwVk1FYzVWMFpZVGxvPSZxdW90OwogICAgfQp9PC9jb2RlPjwvcHJlPjwvZGl2PjxkaXY+PHA+PHA+VHlwaWNhbCBlcnJvciByZXNwb25zZTwvcD4KPC9wPjxwcmU+PGNvZGUgY2xhc3M9Impzb24iPnsKICAgICZxdW90O29rJnF1b3Q7OiBmYWxzZSwKICAgICZxdW90O2Vycm9yJnF1b3Q7OiAmcXVvdDtpbnZhbGlkX2N1cnNvciZxdW90Owp9PC9jb2RlPjwvcHJlPjwvZGl2PgoKPGEgbmFtZT0icHJvZmlsZSI+PC9hPjxoMiA+UHJvZmlsZTwvaDI+Cgo8cD5UaGUgcHJvZmlsZSBoYXNoIGNvbnRhaW5zIGFzIG11Y2ggaW5mb3JtYXRpb24gYXMgdGhlIHVzZXIgaGFzIHN1cHBsaWVkCmluIHRoZSBkZWZhdWx0IHByb2ZpbGUgZmllbGRzOiA8Y29kZT5maXJzdF9uYW1lPC9jb2RlPiwgPGNvZGU+bGFzdF9uYW1lPC9jb2RlPiwgPGNvZGU+cmVhbF9uYW1lPC9jb2RlPiwKPGNvZGU+ZW1haWw8L2NvZGU+LCA8Y29kZT5za3lwZTwvY29kZT4sIGFuZCB0aGUgPGNvZGU+aW1hZ2VfKjwvY29kZT4gZmllbGRzLiAgRGF0YSB0aGF0IGhhcyBub3QgYmVlbiBzdXBwbGllZCBtYXkgbm90IGJlIHByZXNlbnQgYXQgYWxsLCBtYXkgYmUgbnVsbCBvciBtYXkgY29udGFpbiBhbiBlbXB0eSBzdHJpbmcgKDxjb2RlPiIiPC9jb2RlPikuPC9wPgoKPHA+QSB1c2VyJ3MgY3VzdG9tIHByb2ZpbGUgZmllbGRzIG1heSBiZSBkaXNjb3ZlcmVkIHVzaW5nIDxhIGhyZWY9Ii9tZXRob2RzL3VzZXJzLnByb2ZpbGUuZ2V0Ij48Y29kZT51c2Vycy5wcm9maWxlLmdldDwvY29kZT48L2E+LjwvcD4KCjxhIG5hbWU9ImVtYWlsX2FkZHJlc3NlcyI+PC9hPjxoMiA+RW1haWwgYWRkcmVzc2VzPC9oMj4KCjxwIGNsYXNzPSJhbGVydCBhbGVydF93YXJuaW5nIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9zcXVhcmVfd2FybmluZyI+PC90cy1pY29uPjxzdHJvbmc+QWNjZXNzaW5nIGVtYWlsIGFkZHJlc3Nlczwvc3Ryb25nPjxicj5UaGUgPGEgaHJlZj0iL3Njb3Blcy91c2VyczpyZWFkLmVtYWlsIj48Y29kZT51c2VyczpyZWFkLmVtYWlsPC9jb2RlPjwvYT4gT0F1dGggc2NvcGUgaXMgbm93IHJlcXVpcmVkIHRvIGFjY2VzcyB0aGUgPGNvZGU+ZW1haWw8L2NvZGU+IGZpZWxkIGluIDxhIGhyZWY9Ii90eXBlcy91c2VyIj51c2VyIG9iamVjdHM8L2E+IHJldHVybmVkIGJ5IHRoZSA8YSBocmVmPSIvbWV0aG9kcy91c2Vycy5saXN0Ij48Y29kZT51c2Vycy5saXN0PC9jb2RlPjwvYT4gYW5kIDxhIGhyZWY9Ii9tZXRob2RzL3VzZXJzLmluZm8iPjxjb2RlPnVzZXJzLmluZm88L2NvZGU+PC9hPiB3ZWIgQVBJIG1ldGhvZHMuIDxhIGhyZWY9Ii9zY29wZXMvdXNlcnM6cmVhZCI+PGNvZGU+dXNlcnM6cmVhZDwvY29kZT48L2E+IGlzIG5vIGxvbmdlciBhIHN1ZmZpY2llbnQgc2NvcGUgZm9yIHRoaXMgZGF0YSBmaWVsZC4gPGEgaHJlZj0iL2NoYW5nZWxvZy8yMDE3LTA0LW5hcnJvd2luZy1lbWFpbC1hY2Nlc3MiPkxlYXJuIG1vcmU8L2E+LjwvcD4KCjxwPkFwcHMgY3JlYXRlZCBhZnRlciBKYW51YXJ5IDR0aCwgMjAxNyBtdXN0IHJlcXVlc3QgPGVtPmJvdGg8L2VtPiB0aGUgPGNvZGU+dXNlcnM6cmVhZDwvY29kZT4gYW5kIDxjb2RlPnVzZXJzOnJlYWQuZW1haWw8L2NvZGU+IDxhIGhyZWY9Ii9kb2NzL29hdXRoLXNjb3BlcyI+T0F1dGggcGVybWlzc2lvbiBzY29wZXM8L2E+IHdoZW4gdXNpbmcgdGhlIDxhIGhyZWY9Ii9kb2NzL29hdXRoIj5PQXV0aCBhcHAgaW5zdGFsbGF0aW9uIGZsb3c8L2E+IHRvIGVuYWJsZSBhY2Nlc3MgdG8gdGhlIDxjb2RlPmVtYWlsPC9jb2RlPiBmaWVsZCBvZiB1c2VyIG9iamVjdHMgcmV0dXJuZWQgYnkgdGhpcyBtZXRob2QuPC9wPgoKPGEgbmFtZT0icGFnaW5hdGlvbiI+PC9hPjxoMiA+UGFnaW5hdGlvbjwvaDI+VGhpcyBtZXRob2QgdXNlcyBjdXJzb3ItYmFzZWQgcGFnaW5hdGlvbiB0byBtYWtlIGl0IGVhc2llciB0byBpbmNyZW1lbnRhbGx5IGNvbGxlY3QgaW5mb3JtYXRpb24uIFRvIGJlZ2luIHBhZ2luYXRpb24sIHNwZWNpZnkgYSA8Y29kZT5saW1pdDwvY29kZT4gdmFsdWUgdW5kZXIgPGNvZGU+MTAwMDwvY29kZT4uIFdlIHJlY29tbWVuZCBubyBtb3JlIHRoYW4gPGNvZGU+MjAwPC9jb2RlPiByZXN1bHRzIGF0IGEgdGltZS48YnI+PGJyPlJlc3BvbnNlcyB3aWxsIGluY2x1ZGUgYSB0b3AtbGV2ZWwgPGNvZGU+cmVzcG9uc2VfbWV0YWRhdGE8L2NvZGU+IGF0dHJpYnV0ZSBjb250YWluaW5nIGEgPGNvZGU+bmV4dF9jdXJzb3I8L2NvZGU+IHZhbHVlLiBCeSB1c2luZyB0aGlzIHZhbHVlIGFzIGEgPGNvZGU+Y3Vyc29yPC9jb2RlPiBwYXJhbWV0ZXIgaW4gYSBzdWJzZXF1ZW50IHJlcXVlc3QsIGFsb25nIHdpdGggPGNvZGU+bGltaXQ8L2NvZGU+LCB5b3UgbWF5IG5hdmlnYXRlIHRocm91Z2ggdGhlIGNvbGxlY3Rpb24gcGFnZSBieSB2aXJ0dWFsIHBhZ2UuPGJyPjxicj4gU2VlIDxhIGhyZWY9Ii9kb2NzL3BhZ2luYXRpb24iPnBhZ2luYXRpb248L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLjxicj48YnI+Cgo8YSBuYW1lPSJsZWdhY3lfYmVoYXZpb3IiPjwvYT48aDMgPkxlZ2FjeSBiZWhhdmlvcjwvaDM+Cgo8cD5BdCB0aGlzIHRpbWUsIHByb3ZpZGluZyBubyA8Y29kZT5saW1pdDwvY29kZT4gdmFsdWUgd2lsbCByZXN1bHQgaW4gU2xhY2sgYXR0ZW1wdGluZyB0byBkZWxpdmVyIHlvdSB0aGUgZW50aXJlIHJlc3VsdCBzZXQuIElmIHRoZSBjb2xsZWN0aW9uIGlzIHRvbyBsYXJnZSB5b3UgbWF5IGV4cGVyaWVuY2UgPGNvZGU+bGltaXRfcmVxdWlyZWQ8L2NvZGU+IG9yIEhUVFAgNTAwIGVycm9ycy4gUmVzb2x2ZSB0aGlzIHNjZW5hcmlvIGJ5IHVzaW5nIHBhZ2luYXRpb24uPC9wPgoKPHA+T25lIGRheSBwYWdpbmF0aW9uIHdpbGwgYmVjb21lIHJlcXVpcmVkIHRvIHVzZSB0aGlzIG1ldGhvZC48L3A+Cgo8YSBuYW1lPSJwcmVzZW5jZSI+PC9hPjxoMiA+UHJlc2VuY2U8L2gyPgoKPHA+UmV0cmlldmluZyBhIHdvcmtzcGFjZSdzIHByZXNlbmNlIHdpdGggdGhpcyBtZXRob2QgaXMgbm93IGRlcHJlY2F0ZWQuIFVzZSA8YSBocmVmPSIvbWV0aG9kcy91c2Vycy5nZXRQcmVzZW5jZSI+PGNvZGU+dXNlcnMuZ2V0UHJlc2VuY2U8L2NvZGU+PC9hPiBvciA8YSBocmVmPSIvZG9jcy9wcmVzZW5jZS1hbmQtc3RhdHVzI3N1YmNyaXB0aW9ucyI+cHJlc2VuY2Ugc3Vic2NyaXB0aW9uczwvYT4gaW5zdGVhZC48L3A+Cgo8YSBuYW1lPSJlcnJvcnMiPjwvYT48aDIgPkVycm9yczwvaDI+Cgo8cD4gVGhpcyB0YWJsZSBsaXN0cyB0aGUgZXhwZWN0ZWQgZXJyb3JzIHRoYXQgdGhpcyBtZXRob2QgY291bGQgcmV0dXJuLiBIb3dldmVyLCBvdGhlciBlcnJvcnMgY2FuIGJlIHJldHVybmVkIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBzZXJ2aWNlIGlzIGRvd24gb3Igb3RoZXIgdW5leHBlY3RlZCBmYWN0b3JzIGFmZmVjdCBwcm9jZXNzaW5nLiBDYWxsZXJzIHNob3VsZCBhbHdheXMgY2hlY2sgdGhlIHZhbHVlIG9mIHRoZSA8Y29kZT5vazwvY29kZT4gcGFyYW1zIGluIHRoZSByZXNwb25zZS4gPC9wPjx0YWJsZSBjbGFzcz0iYXJndW1lbnRzIGZ1bGxfd2lkdGgiPjx0cj48dGg+RXJyb3I8L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfY3Vyc29yPC9jb2RlPjwvdGQ+PHRkPjxwPlZhbHVlIHBhc3NlZCBmb3IgPGNvZGU+Y3Vyc29yPC9jb2RlPiB3YXMgbm90IHZhbGlkIG9yIGlzIG5vIGxvbmdlciB2YWxpZC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmxpbWl0X3JlcXVpcmVkPC9jb2RlPjwvdGQ+PHRkPjxwPkZvciBsYXJnZSB0ZWFtcyBhIGxpbWl0IGlzIHJlcXVpcmVkLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+bm90X2F1dGhlZDwvY29kZT48L3RkPjx0ZD48cD5ObyBhdXRoZW50aWNhdGlvbiB0b2tlbiBwcm92aWRlZC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfYXV0aDwvY29kZT48L3RkPjx0ZD48cD5Tb21lIGFzcGVjdCBvZiBhdXRoZW50aWNhdGlvbiBjYW5ub3QgYmUgdmFsaWRhdGVkLiBFaXRoZXIgdGhlIHByb3ZpZGVkIHRva2VuIGlzIGludmFsaWQgb3IgdGhlIHJlcXVlc3Qgb3JpZ2luYXRlcyBmcm9tIGFuIElQIGFkZHJlc3MgZGlzYWxsb3dlZCBmcm9tIG1ha2luZyB0aGUgcmVxdWVzdC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmFjY291bnRfaW5hY3RpdmU8L2NvZGU+PC90ZD48dGQ+PHA+QXV0aGVudGljYXRpb24gdG9rZW4gaXMgZm9yIGEgZGVsZXRlZCB1c2VyIG9yIHdvcmtzcGFjZS48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPnRva2VuX3Jldm9rZWQ8L2NvZGU+PC90ZD48dGQ+PHA+QXV0aGVudGljYXRpb24gdG9rZW4gaXMgZm9yIGEgZGVsZXRlZCB1c2VyIG9yIHdvcmtzcGFjZSBvciB0aGUgYXBwIGhhcyBiZWVuIHJlbW92ZWQuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5ub19wZXJtaXNzaW9uPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSB3b3Jrc3BhY2UgdG9rZW4gdXNlZCBpbiB0aGlzIHJlcXVlc3QgZG9lcyBub3QgaGF2ZSB0aGUgcGVybWlzc2lvbnMgbmVjZXNzYXJ5IHRvIGNvbXBsZXRlIHRoZSByZXF1ZXN0LiBNYWtlIHN1cmUgeW91ciBhcHAgaXMgYSBtZW1iZXIgb2YgdGhlIGNvbnZlcnNhdGlvbiBpdCdzIGF0dGVtcHRpbmcgdG8gcG9zdCBhIG1lc3NhZ2UgdG8uPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5vcmdfbG9naW5fcmVxdWlyZWQ8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIHdvcmtzcGFjZSBpcyB1bmRlcmdvaW5nIGFuIGVudGVycHJpc2UgbWlncmF0aW9uIGFuZCB3aWxsIG5vdCBiZSBhdmFpbGFibGUgdW50aWwgbWlncmF0aW9uIGlzIGNvbXBsZXRlLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+ZWttX2FjY2Vzc19kZW5pZWQ8L2NvZGU+PC90ZD48dGQ+PHA+QWRtaW5pc3RyYXRvcnMgaGF2ZSBzdXNwZW5kZWQgdGhlIGFiaWxpdHkgdG8gcG9zdCBhIG1lc3NhZ2UuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5taXNzaW5nX3Njb3BlPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSB0b2tlbiB1c2VkIGlzIG5vdCBncmFudGVkIHRoZSBzcGVjaWZpYyBzY29wZSBwZXJtaXNzaW9ucyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aGlzIHJlcXVlc3QuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5pbnZhbGlkX2FyZ3VtZW50czwvY29kZT48L3RkPjx0ZD48cD5UaGUgbWV0aG9kIHdhcyBjYWxsZWQgd2l0aCBpbnZhbGlkIGFyZ3VtZW50cy48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfYXJnX25hbWU8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIG1ldGhvZCB3YXMgcGFzc2VkIGFuIGFyZ3VtZW50IHdob3NlIG5hbWUgZmFsbHMgb3V0c2lkZSB0aGUgYm91bmRzIG9mIGFjY2VwdGVkIG9yIGV4cGVjdGVkIHZhbHVlcy4gVGhpcyBpbmNsdWRlcyB2ZXJ5IGxvbmcgbmFtZXMgYW5kIG5hbWVzIHdpdGggbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIG90aGVyIHRoYW4gPGNvZGU+XzwvY29kZT4uIElmIHlvdSBnZXQgdGhpcyBlcnJvciwgaXQgaXMgdHlwaWNhbGx5IGFuIGluZGljYXRpb24gdGhhdCB5b3UgaGF2ZSBtYWRlIGEgPGVtPnZlcnk8L2VtPiBtYWxmb3JtZWQgQVBJIGNhbGwuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5pbnZhbGlkX2NoYXJzZXQ8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIG1ldGhvZCB3YXMgY2FsbGVkIHZpYSBhIDxjb2RlPlBPU1Q8L2NvZGU+IHJlcXVlc3QsIGJ1dCB0aGUgPGNvZGU+Y2hhcnNldDwvY29kZT4gc3BlY2lmaWVkIGluIHRoZSA8Y29kZT5Db250ZW50LVR5cGU8L2NvZGU+IGhlYWRlciB3YXMgaW52YWxpZC4gVmFsaWQgY2hhcnNldCBuYW1lcyBhcmU6IDxjb2RlPnV0Zi04PC9jb2RlPiA8Y29kZT5pc28tODg1OS0xPC9jb2RlPi48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmludmFsaWRfZm9ybV9kYXRhPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0IHdpdGggPGNvZGU+Q29udGVudC1UeXBlPC9jb2RlPiA8Y29kZT5hcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ8L2NvZGU+IG9yIDxjb2RlPm11bHRpcGFydC9mb3JtLWRhdGE8L2NvZGU+LCBidXQgdGhlIGZvcm0gZGF0YSB3YXMgZWl0aGVyIG1pc3Npbmcgb3Igc3ludGFjdGljYWxseSBpbnZhbGlkLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+aW52YWxpZF9wb3N0X3R5cGU8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIG1ldGhvZCB3YXMgY2FsbGVkIHZpYSBhIDxjb2RlPlBPU1Q8L2NvZGU+IHJlcXVlc3QsIGJ1dCB0aGUgc3BlY2lmaWVkIDxjb2RlPkNvbnRlbnQtVHlwZTwvY29kZT4gd2FzIGludmFsaWQuIFZhbGlkIHR5cGVzIGFyZTogPGNvZGU+YXBwbGljYXRpb24vanNvbjwvY29kZT4gPGNvZGU+YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkPC9jb2RlPiA8Y29kZT5tdWx0aXBhcnQvZm9ybS1kYXRhPC9jb2RlPiA8Y29kZT50ZXh0L3BsYWluPC9jb2RlPi48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPm1pc3NpbmdfcG9zdF90eXBlPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0IGFuZCBpbmNsdWRlZCBhIGRhdGEgcGF5bG9hZCwgYnV0IHRoZSByZXF1ZXN0IGRpZCBub3QgaW5jbHVkZSBhIDxjb2RlPkNvbnRlbnQtVHlwZTwvY29kZT4gaGVhZGVyLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+dGVhbV9hZGRlZF90b19vcmc8L2NvZGU+PC90ZD48dGQ+PHA+VGhlIHdvcmtzcGFjZSBhc3NvY2lhdGVkIHdpdGggeW91ciByZXF1ZXN0IGlzIGN1cnJlbnRseSB1bmRlcmdvaW5nIG1pZ3JhdGlvbiB0byBhbiBFbnRlcnByaXNlIE9yZ2FuaXphdGlvbi4gV2ViIEFQSSBhbmQgb3RoZXIgcGxhdGZvcm0gb3BlcmF0aW9ucyB3aWxsIGJlIGludGVybWl0dGVudGx5IHVuYXZhaWxhYmxlIHVudGlsIHRoZSB0cmFuc2l0aW9uIGlzIGNvbXBsZXRlLjwvcD4KPC90ZD48L3RyPjx0cj48dGQ+PGNvZGU+cmVxdWVzdF90aW1lb3V0PC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0LCBidXQgdGhlIDxjb2RlPlBPU1Q8L2NvZGU+IGRhdGEgd2FzIGVpdGhlciBtaXNzaW5nIG9yIHRydW5jYXRlZC48L3A+CjwvdGQ+PC90cj48dHI+PHRkPjxjb2RlPmZhdGFsX2Vycm9yPC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBzZXJ2ZXIgY291bGQgbm90IGNvbXBsZXRlIHlvdXIgb3BlcmF0aW9uKHMpIHdpdGhvdXQgZW5jb3VudGVyaW5nIGEgY2F0YXN0cm9waGljIGVycm9yLiBJdCdzIHBvc3NpYmxlIHNvbWUgYXNwZWN0IG9mIHRoZSBvcGVyYXRpb24gc3VjY2VlZGVkIGJlZm9yZSB0aGUgZXJyb3Igd2FzIHJhaXNlZC48L3A+CjwvdGQ+PC90cj48L3RhYmxlPgoKPGEgbmFtZT0id2FybmluZ3MiPjwvYT48aDIgPldhcm5pbmdzPC9oMj4KCjxwPiBUaGlzIHRhYmxlIGxpc3RzIHRoZSBleHBlY3RlZCB3YXJuaW5ncyB0aGF0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuLiBIb3dldmVyLCBvdGhlciB3YXJuaW5ncyBjYW4gYmUgcmV0dXJuZWQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHNlcnZpY2UgaXMgZXhwZXJpZW5jaW5nIHVuZXhwZWN0ZWQgdHJvdWJsZS4gPC9wPjx0YWJsZSBjbGFzcz0iYXJndW1lbnRzIGZ1bGxfd2lkdGgiPjx0cj48dGg+V2FybmluZzwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPjx0cj48dGQ+PGNvZGU+bWlzc2luZ19jaGFyc2V0PC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0LCBhbmQgcmVjb21tZW5kZWQgcHJhY3RpY2UgZm9yIHRoZSBzcGVjaWZpZWQgPGNvZGU+Q29udGVudC1UeXBlPC9jb2RlPiBpcyB0byBpbmNsdWRlIGEgPGNvZGU+Y2hhcnNldDwvY29kZT4gcGFyYW1ldGVyLiBIb3dldmVyLCBubyA8Y29kZT5jaGFyc2V0PC9jb2RlPiB3YXMgcHJlc2VudC4gU3BlY2lmaWNhbGx5LCBub24tZm9ybS1kYXRhIGNvbnRlbnQgdHlwZXMgKGUuZy4gPGNvZGU+dGV4dC9wbGFpbjwvY29kZT4pIGFyZSB0aGUgb25lcyBmb3Igd2hpY2ggPGNvZGU+Y2hhcnNldDwvY29kZT4gaXMgcmVjb21tZW5kZWQuPC9wPgo8L3RkPjwvdHI+PHRyPjx0ZD48Y29kZT5zdXBlcmZsdW91c19jaGFyc2V0PC9jb2RlPjwvdGQ+PHRkPjxwPlRoZSBtZXRob2Qgd2FzIGNhbGxlZCB2aWEgYSA8Y29kZT5QT1NUPC9jb2RlPiByZXF1ZXN0LCBhbmQgdGhlIHNwZWNpZmllZCA8Y29kZT5Db250ZW50LVR5cGU8L2NvZGU+IGlzIG5vdCBkZWZpbmVkIHRvIHVuZGVyc3RhbmQgdGhlIDxjb2RlPmNoYXJzZXQ8L2NvZGU+IHBhcmFtZXRlci4gSG93ZXZlciwgPGNvZGU+Y2hhcnNldDwvY29kZT4gd2FzIGluIGZhY3QgcHJlc2VudC4gU3BlY2lmaWNhbGx5LCBmb3JtLWRhdGEgY29udGVudCB0eXBlcyAoZS5nLiA8Y29kZT5tdWx0aXBhcnQvZm9ybS1kYXRhPC9jb2RlPikgYXJlIHRoZSBvbmVzIGZvciB3aGljaCA8Y29kZT5jaGFyc2V0PC9jb2RlPiBpcyBzdXBlcmZsdW91cy48L3A+CjwvdGQ+PC90cj48L3RhYmxlPgo8L3NlY3Rpb24+PC9kaXY+PGRpdiBpZD0ib3ZlcmxheSI+PC9kaXY+PGRpdiBjbGFzcz0iY2xlYXJfYm90aCI+PC9kaXY+PC9kaXY+PC9kaXY+PGZvb3RlciBkYXRhLXFhPSJmb290ZXIiPjxzZWN0aW9uIGNsYXNzPSJsaW5rcyI+PGRpdiBjbGFzcz0iZ3JpZCI+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8xIj5Vc2luZyBTbGFjazwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2lzIiBkYXRhLXFhPSJwcm9kdWN0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZW50ZXJwcmlzZSIgZGF0YS1xYT0iZW50ZXJwcmlzZV9mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9lbnRlcnByaXNlIj5FbnRlcnByaXNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3ByaWNpbmc/dWlfc3RlcD0yOCZ1aV9lbGVtZW50PTUiIGRhdGEtcWE9InByaWNpbmdfZm9vdGVyIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2dldC5zbGFjay5oZWxwL2hjL2VuLXVzIiBkYXRhLXFhPSJzdXBwb3J0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZ3VpZGVzIiBkYXRhLXFhPSJnZXR0aW5nX3N0YXJ0ZWQiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9nZXR0aW5nX3N0YXJ0ZWQiPlNsYWNrIEd1aWRlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9hcHBzIiBkYXRhLXFhPSJhcHBfZGlyZWN0b3J5IiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfYXBwX2RpcmVjdG9yeSI+QXBwIERpcmVjdG9yeTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2FwaS5zbGFjay5jb20vIiBkYXRhLXFhPSJhcGkiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9hcGkiPkFQSTwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8yIj5TbGFjayA8dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9oZWFydCI+PC90cy1pY29uPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2pvYnMiIGRhdGEtcWE9ImpvYnMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9qb2JzIj5Kb2JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2N1c3RvbWVycyIgZGF0YS1xYT0iY3VzdG9tZXJzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY3VzdG9tZXJzIj5DdXN0b21lcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZGV2ZWxvcGVycyIgZGF0YS1xYT0iZGV2ZWxvcGVycyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2RldmVsb3BlcnMiPkRldmVsb3BlcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZXZlbnRzIiBkYXRhLXFhPSJldmVudHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ldmVudHMiPkV2ZW50czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNraHEuY29tLyIgZGF0YS1xYT0iYmxvZ19mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ibG9nIj5CbG9nPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzMiPkxlZ2FsPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpdmFjeS1wb2xpY3kiIGRhdGEtcWE9InByaXZhY3kiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9wcml2YWN5Ij5Qcml2YWN5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3NlY3VyaXR5IiBkYXRhLXFhPSJzZWN1cml0eSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NlY3VyaXR5Ij5TZWN1cml0eTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS90ZXJtcy1vZi1zZXJ2aWNlIiBkYXRhLXFhPSJ0b3MiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl90b3MiPlRlcm1zIG9mIFNlcnZpY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcG9saWNpZXMiIGRhdGEtcWE9InBvbGljaWVzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcG9saWNpZXMiPlBvbGljaWVzPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzQiPkhhbmR5IExpbmtzPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZG93bmxvYWRzIiBkYXRhLXFhPSJkb3dubG9hZHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9kb3dubG9hZHMiPkRvd25sb2FkIGRlc2t0b3AgYXBwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2Rvd25sb2FkcyIgZGF0YS1xYT0iZG93bmxvYWRzX21vYmlsZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2Rvd25sb2Fkc19tb2JpbGUiPkRvd25sb2FkIG1vYmlsZSBhcHA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vYnJhbmQtZ3VpZGVsaW5lcyIgZGF0YS1xYT0iYnJhbmRfZ3VpZGVsaW5lcyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2JyYW5kX2d1aWRlbGluZXMiPkJyYW5kIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFja2F0d29yay5jb20iIGRhdGEtcWE9InNsYWNrX2F0X3dvcmsiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja19hdF93b3JrIj5TbGFjayBhdCBXb3JrPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc3RhdHVzLnNsYWNrLmNvbS8iIGRhdGEtcWE9InN0YXR1cyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N0YXR1cyI+U3RhdHVzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGRpdiBjbGFzcz0iZm9vdG5vdGUiPjxzZWN0aW9uPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tIiBhcmlhLWxhYmVsPSJTbGFjayBob21lcGFnZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NsYWNrX2ljb24iPjx0cy1pY29uIGNsYXNzPSJjLWljb24tLXNsYWNrIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjx1bD48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vaGVscC9jb250YWN0IiBkYXRhLXFhPSJjb250YWN0X3VzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY29udGFjdF91cyI+Q29udGFjdCBVczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL1NsYWNrSFEiIGRhdGEtcWE9InNsYWNrX3R3aXR0ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja190d2l0dGVyIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBUd2l0dGVyIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl90d2l0dGVyIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PGxpIGNsYXNzPSJ5dCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ1kzWUVDZ2VCY0xDeklyRkxQNGdibHciIGRhdGEtcWE9InNsYWNrX3lvdXR1YmUiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja195b3V0dWJlIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBZb3VUdWJlIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl95b3V0dWJlIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PC91bD48L3NlY3Rpb24+PC9kaXY+PC9mb290ZXI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovKioKICogQSBwbGFjZWhvbGRlciBmdW5jdGlvbiB0aGF0IHRoZSBidWlsZCBzY3JpcHQgdXNlcyB0bwogKiByZXBsYWNlIGZpbGUgcGF0aHMgd2l0aCB0aGVpciBDRE4gdmVyc2lvbnMuCiAqCiAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlX3BhdGggLSBGaWxlIHBhdGgKICogQHJldHVybnMge1N0cmluZ30KICovCmZ1bmN0aW9uIHZ2dihmaWxlX3BhdGgpIHsKCQkgdmFyIHZ2dl93YXJuaW5nID0gJ1lvdSBjYW5ub3QgdXNlIHZ2diBvbiBkeW5hbWljIHZhbHVlcy4gUGxlYXNlIG1ha2Ugc3VyZSB5b3Ugb25seSBwYXNzIGluIHN0YXRpYyBmaWxlIHBhdGhzLic7IGlmICh3aW5kb3cuVFMgJiYgd2luZG93LlRTLndhcm4pIHsgd2luZG93LlRTLndhcm4odnZ2X3dhcm5pbmcpOyB9IGVsc2UgeyBjb25zb2xlLndhcm4odnZ2X3dhcm5pbmcpOyB9IAoJcmV0dXJuIGZpbGVfcGF0aDsKfQoKdmFyIGNkbl91cmwgPSAiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb20iOwp2YXIgdnZ2X2Fic191cmwgPSAiaHR0cHM6XC9cL3NsYWNrLmNvbVwvIjsKdmFyIGluY19qc19zZXR1cF9kYXRhID0gewoJZW1vamlfc2hlZXRzOiB7CgkJYXBwbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfYXBwbGVfNjRfaW5kZXhlZF8yNTYucG5nJywKCQlnb29nbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfZ29vZ2xlXzY0X2luZGV4ZWRfMjU2LnBuZycsCgl9LAp9Owo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CS8vIGNvbW1vbiBib290X2RhdGEKCXZhciBib290X2RhdGEgPSB7ImFwaV91cmwiOiJcL2FwaVwvIiwiYXBwIjoiZmFsc2UiLCJ1c2VyX2lkIjpudWxsLCJ0ZWFtX2lkIjoiVDAwMDAwMDAwIiwidmlzaXRvcl91aWQiOiJiMndnZXNybDFxMjE3a3hieHNjdnA1dzRsIiwibm9fbG9naW4iOnRydWUsInZlcnNpb25fdHMiOiIxNTg0MTQyMjE5IiwidmVyc2lvbl91aWQiOiJhYTViNGUxMTVhYWFjMDUxZWNhOTk5NjMzNTM4NWRmYmU5OWZjNjg0IiwiY2FjaGVfdmVyc2lvbiI6InYyMS1ub21hZCIsImNhY2hlX3RzX3ZlcnNpb24iOiJ2Mi1idW5ueSIsInJlZGlyX2RvbWFpbiI6InNsYWNrLXJlZGlyLm5ldCIsInNpZ25pbl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9zaWduaW4iLCJhYnNfcm9vdF91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC8iLCJ0ZWFtX3VybCI6IiIsImltYWdlX3Byb3h5X3VybCI6Imh0dHBzOlwvXC9zbGFjay1pbWdzLmNvbVwvIiwiYmVhY29uX3RpbWluZ191cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL3RpbWluZyIsImJlYWNvbl9lcnJvcl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL2Vycm9yIiwiY2xvZ191cmwiOiJjbG9nXC90cmFja1wvIiwiYXBpX3Rva2VuIjoiIiwidnZ2X3BhdGhzIjp7Imx6X3N0cmluZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC9idjEtOC04Y2FjZGEyXC9sei1zdHJpbmctMS40LjQud29ya2VyLjhkZTFiMDBkNjcwZmYzZGM3MDZhMC5qcyIsImNvZGVtaXJyb3IiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvci5taW4uNjhjNmEwNjEyYWJjY2M2Yjg4NTkubWluLmpzIiwiY29kZW1pcnJvcl9hZGRvbl9zaW1wbGUiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9zaW1wbGUuOTkzZmM1ZjhkZGQ0MDFmNjMyYWEubWluLmpzIiwiY29kZW1pcnJvcl9sb2FkIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cL2J2MS04LThjYWNkYTJcL2NvZGVtaXJyb3JfbG9hZC43NWEzNjEzY2E4MjkyMTZmMTAzMy5taW4uanMiLCJjb2RlbWlycm9yX2ZpbGVzIjp7ImphdmFzY3JpcHQiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9sYW5nX2phdmFzY3JpcHQuYWMxODMzZTllMjM5ZDUzMmI1YTkubWluLmpzIn19LCJub3RpZmljYXRpb25fc291bmRzIjpbeyJ2YWx1ZSI6ImIyLm1wMyIsImxhYmVsIjoiRGluZyIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL2IyLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYjIub2dnIn0seyJ2YWx1ZSI6ImFuaW1hbF9zdGljay5tcDMiLCJsYWJlbCI6IkJvaW5nIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm9nZyJ9LHsidmFsdWUiOiJiZWVuX3RyZWUubXAzIiwibGFiZWwiOiJEcm9wIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm9nZyJ9LHsidmFsdWUiOiJjb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5tcDMiLCJsYWJlbCI6IlRhLWRhIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29tcGxldGVfcXVlc3RfcmVxdWlyZW1lbnQubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9jb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5vZ2cifSx7InZhbHVlIjoiY29uZmlybV9kZWxpdmVyeS5tcDMiLCJsYWJlbCI6IlBsaW5rIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29uZmlybV9kZWxpdmVyeS5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2NvbmZpcm1fZGVsaXZlcnkub2dnIn0seyJ2YWx1ZSI6ImZsaXR0ZXJidWcubXAzIiwibGFiZWwiOiJXb3ciLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9mbGl0dGVyYnVnLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvZmxpdHRlcmJ1Zy5vZ2cifSx7InZhbHVlIjoiaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJsYWJlbCI6IkhlcmUgeW91IGdvIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hlcmVfeW91X2dvX2xpZ2h0ZXIub2dnIn0seyJ2YWx1ZSI6ImhpX2Zsb3dlcnNfaGl0Lm1wMyIsImxhYmVsIjoiSGkiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9oaV9mbG93ZXJzX2hpdC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hpX2Zsb3dlcnNfaGl0Lm9nZyJ9LHsidmFsdWUiOiJrbm9ja19icnVzaC5tcDMiLCJsYWJlbCI6Iktub2NrIEJydXNoIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwva25vY2tfYnJ1c2gubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9rbm9ja19icnVzaC5vZ2cifSx7InZhbHVlIjoic2F2ZV9hbmRfY2hlY2tvdXQubXAzIiwibGFiZWwiOiJXaG9hISIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL3NhdmVfYW5kX2NoZWNrb3V0Lm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvc2F2ZV9hbmRfY2hlY2tvdXQub2dnIn0seyJ2YWx1ZSI6Iml0ZW1fcGlja3VwLm1wMyIsImxhYmVsIjoiWW9pbmsiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9pdGVtX3BpY2t1cC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2l0ZW1fcGlja3VwLm9nZyJ9LHsidmFsdWUiOiJodW1tdXMubXAzIiwibGFiZWwiOiJIdW1tdXMiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2ZhOVwvc291bmRzXC9wdXNoXC9odW1tdXMubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9odW1tdXMub2dnIn0seyJ2YWx1ZSI6Im5vbmUiLCJsYWJlbCI6Ik5vbmUifV0sImFsZXJ0X3NvdW5kcyI6W3sidmFsdWUiOiJmcm9nLm1wMyIsImxhYmVsIjoiRnJvZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcL2EzNGFcL3NvdW5kc1wvZnJvZy5tcDMifV0sImNhbGxfc291bmRzIjpbeyJ2YWx1ZSI6ImNhbGxcL2FsZXJ0X3YyLm1wMyIsImxhYmVsIjoiQWxlcnQiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2FsZXJ0X3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9pbmNvbWluZ19yaW5nX3YyLm1wMyIsImxhYmVsIjoiSW5jb21pbmcgcmluZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwvaW5jb21pbmdfcmluZ192Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvb3V0Z29pbmdfcmluZ192Mi5tcDMiLCJsYWJlbCI6Ik91dGdvaW5nIHJpbmciLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL291dGdvaW5nX3JpbmdfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3BvcF92Mi5tcDMiLCJsYWJlbCI6IkluY29taW5nIHJlYWN0aW9uIiwidXJsIjoiaHR0cHM6XC9cL3NsYWNrLmdsb2JhbC5zc2wuZmFzdGx5Lm5ldFwvMDhmN1wvc291bmRzXC9jYWxsXC9wb3BfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiVGhleSBsZWZ0IGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC95b3VfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiWW91IGxlZnQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2xlZnRfY2FsbF92Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvdGhleV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IlRoZXkgam9pbmVkIGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfam9pbmVkX2NhbGxfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3lvdV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IllvdSBqb2luZWQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2pvaW5lZF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9jb25maXJtYXRpb25fdjIubXAzIiwibGFiZWwiOiJDb25maXJtYXRpb24iLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2NvbmZpcm1hdGlvbl92Mi5tcDMifV0sImNhbGxfc291bmRzX3ZlcnNpb24iOiJ2MiIsImltZyI6eyJhcHBfaWNvbiI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC84MDU4OFwvaW1nXC9zbGFja19ncm93bF9pY29uX3ZvZ3VlLnBuZyJ9LCJwYWdlX25lZWRzX2VudGVycHJpc2UiOmZhbHNlLCJwYWdlX25lZWRzX2N1c3RvbV9lbW9qaSI6ZmFsc2UsImlzX2RlcHJlY2F0ZWRfd2ViY2xpZW50X2Jyb3dzZXIiOmZhbHNlLCJpc191bnN1cHBvcnRlZF93ZWJjbGllbnRfYnJvd3NlciI6dHJ1ZSwiZGVmYXVsdF90eiI6IkFtZXJpY2FcL0xvc19BbmdlbGVzIiwiZmVhdHVyZV9uZXdfcHVycGxlX3NjaGVtZSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9nZXR0aW5nX3N0YXJ0ZWRfaTE4biI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9jcmVhdGlvbl9vcmdfcG9saWN5IjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX2V4dGVuc2lvbnMiOmZhbHNlLCJmZWF0dXJlX2tleWJvYXJkX2tleV90b29sdGlwIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3dlYmhvb2tfYWRtaW4iOnRydWUsImZlYXR1cmVfYnVpbGRlcl93ZWJob29rX3RyaWdnZXIiOnRydWUsImZlYXR1cmVfYWxseV9idWdiYXNoIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3NjaGVkdWxlZF90cmlnZ2VyIjp0cnVlLCJmZWF0dXJlX2Jsb2NrX2tpdF9tYXhfc2VsZWN0ZWRfaXRlbXMiOnRydWUsImZlYXR1cmVfYnVpbGRlcl9mZWVkYmFja19idXR0b24iOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfbWVzc2FnZV9zdGVwX3JpY2hfdGV4dCI6ZmFsc2UsImZlYXR1cmVfYXBwX3ZpZXdzX3YxIjp0cnVlLCJmZWF0dXJlX2F1ZGl0X2xvZ3NfdmlldyI6ZmFsc2UsImZlYXR1cmVfYXVkaXRfbG9nc192aWV3X3dvcmtzcGFjZSI6ZmFsc2UsImZlYXR1cmVfZGF0YV9sb2NhdGlvbl9uZXdfdHJhbnNsYXRpb25zIjpmYWxzZSwiZmVhdHVyZV9za19pMThuIjpmYWxzZSwiZmVhdHVyZV9zc29fY29tYmluZV9jb25maWdfcHJlZmVyZW5jZXMiOmZhbHNlLCJmZWF0dXJlX3Nzb19wcmVmZXJlbmNlc192aWV3X21vZGFscyI6dHJ1ZSwiZmVhdHVyZV9zY2hlZHVsZWRfZXhwb3J0c19jbGFyaWZ5X2NhbmNlbGxhdGlvbiI6dHJ1ZSwiZmVhdHVyZV9kZWZhdWx0X2Jyb3dzZXJfY29udHJvbF92MiI6ZmFsc2UsImZlYXR1cmVfYWNjb3VudF9jcmVhdGlvbl9zaG93X2N1c3RvbV90b3MiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX2NvdW50IjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX3NlbGVjdHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzYWJsZV9nbG9iYWxfdHJpZ2dlcnMiOnRydWUsImZlYXR1cmVfd29ya2Zsb3dfYnVpbGRlcl9lbmFibGVkX29yZ19zZXR0aW5nIjp0cnVlLCJmZWF0dXJlX2J1aWxkZXJfY2FuX2FjY2VzcyI6ZmFsc2UsImZlYXR1cmVfZXNjX3JldGVudGlvbl9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX2VzY19yZXRlbnRpb25fY2xpZW50X2NvcHkiOnRydWUsImZlYXR1cmVfYWx3YXlzX3Nob3dfYXJjaGl2ZV9jaGFubmVsX29wdGlvbiI6ZmFsc2UsImZlYXR1cmVfZ3JhbnVsYXJfZG5kIjpmYWxzZSwiZmVhdHVyZV9jb250ZXh0X2Jhcl9ndWVzdHMiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3R6X2lzc3VlcyI6ZmFsc2UsImZlYXR1cmVfbXVsdGlfZmlsZV9sYXlvdXQiOnRydWUsImZlYXR1cmVfbWlncmF0aW9uX29yZ19hcHByb3ZhbHMiOnRydWUsImZlYXR1cmVfbmV3eHBfMzI2NiI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8zMjc5Ijp0cnVlLCJmZWF0dXJlX25ld3hwXzQxNTMiOmZhbHNlLCJmZWF0dXJlX3RpbnlzcGVjayI6ZmFsc2UsImZlYXR1cmVfb3JnX2d1ZXN0X2NvbnZlcnNpb24iOnRydWUsImZlYXR1cmVfb3JnX2xldmVsX3VzZXJfZ3JvdXBzX3BoYXNlXzJfZnJvbnRlbmQiOmZhbHNlLCJmZWF0dXJlX3VzZV9uZXdfbGlzdF90ZWFtc19yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9kZXNrdG9wX2NvcHlfdGV4dCI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb24iOnRydWUsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fZGFyayI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fbW9kYWwiOmZhbHNlLCJmZWF0dXJlX3NzYl9xMzE5X2RlcHJlY2F0aW9uX21vZGFsX3N0b3JlX292ZXJyaWRlIjpmYWxzZSwiZmVhdHVyZV9zc2JfcTMxOV9kZXByZWNhdGlvbl9ibG9jayI6dHJ1ZSwiZmVhdHVyZV9kZXByZWNhdGVfZ2V0X21lbWJlcl9ieV9uYW1lIjpmYWxzZSwiZmVhdHVyZV91bmtub3duX2ZpbGVzIjp0cnVlLCJmZWF0dXJlX3Vua25vd25fbWVzc2FnZXMiOnRydWUsImZlYXR1cmVfYWRkX21lc3NhZ2VfcGVyZiI6ZmFsc2UsImZlYXR1cmVfZml4X2N1c3RvbV9lbW9qaV9lcnJvcnMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2RlbGV0ZV9maWxlIjp0cnVlLCJmZWF0dXJlX2NvcHlfY2hhbm5lbF9saW5rIjp0cnVlLCJmZWF0dXJlX2NvbGxhcHNlX3JlYWN0aW9ucyI6ZmFsc2UsImZlYXR1cmVfZW1haWxfd29ya2Zsb3ciOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2Vfa2l0X2luX21lc3NhZ2VfcGFuZSI6dHJ1ZSwiZmVhdHVyZV9pYV9lZHVjYXRpb24iOmZhbHNlLCJmZWF0dXJlX2NoYW5uZWxfZGV0YWlsc19tZW1iZXJzaGlwX2xpc3QiOmZhbHNlLCJmZWF0dXJlX2FsbF9kbV9tdXRlX2JvdHMiOmZhbHNlLCJmZWF0dXJlX2hlbHBfbWVudV9mZWVkYmFjayI6ZmFsc2UsImZlYXR1cmVfZmlsZV90aHJlYWRzIjp0cnVlLCJmZWF0dXJlX2Jyb2FkY2FzdF9pbmRpY2F0b3IiOnRydWUsImZlYXR1cmVfbmV3X3JlcGxpZXNfYWZ0ZXJfYmNhc3QiOnRydWUsImZlYXR1cmVfc29uaWNfZW1vamkiOmZhbHNlLCJmZWF0dXJlX2Vtb2ppX3NlYXJjaF9rZXl3b3Jkc19pbl9hdXRvY29tcGxldGUiOmZhbHNlLCJmZWF0dXJlX2VtYWlsX2luZ2VzdGlvbiI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9jb250ZXh0X21lbnUiOmZhbHNlLCJmZWF0dXJlX2F0dGFjaG1lbnRzX2lubGluZSI6ZmFsc2UsImZlYXR1cmVfZml4X2ZpbGVzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzX2V2ZW50c19kb2NzIjp0cnVlLCJmZWF0dXJlX2FwcF9sYXVuY2hlcl9iYW5uZXJzIjpmYWxzZSwiZmVhdHVyZV9hcHBfbGF1bmNoZXJfZmlsdGVycyI6ZmFsc2UsImZlYXR1cmVfaGVscF90ZXN0X3ByaW1lciI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfZ3Vlc3RfY2hlY2siOmZhbHNlLCJmZWF0dXJlX2N1c3RvbV9zdGF0dXNfZXhwaXJ5Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2lkZWJhcl9kcmFmdHNfc2VjdGlvbiI6dHJ1ZSwiZmVhdHVyZV9uYXZpZ2F0ZV9oaXN0b3J5Ijp0cnVlLCJmZWF0dXJlX21lc3NhZ2VfYWN0aW9uc19yZWZyZXNoIjp0cnVlLCJmZWF0dXJlX2NvbXBvc2VfZmxvdyI6ZmFsc2UsImZlYXR1cmVfY29tcG9zZV9mbG93X3h3cyI6ZmFsc2UsImZlYXR1cmVfdGVtcF9jaGFubmVsX3N1YnNjcmlwdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2Zhc3Rlcl9jb3VudF9hbGxfdW5yZWFkcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY191c2VyX2dyb3VwcyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9zZWxlY3Rvcl9mb3JfdGVhbV9ndWVzdHNfdXBkYXRlIjpmYWxzZSwiZmVhdHVyZV9kZXNrdG9wX3N5bXB0b21fZXZlbnRzIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9kZWJ1Z2dpbmciOmZhbHNlLCJmZWF0dXJlX2VudF9hZG1pbl9hcHByb3ZlZF9hcHBzX3YyIjp0cnVlLCJmZWF0dXJlX21vZGVybml6ZWRfeHdzX3Blcm1hbGlua19kaWFsb2dzIjp0cnVlLCJmZWF0dXJlX2Rhc2hib2FyZF9zb3J0YWJsZV9saXN0cyI6ZmFsc2UsImZlYXR1cmVfc2tfbG9hZGluZ19idXR0b25fbW90aW9ucyI6dHJ1ZSwiZmVhdHVyZV9za19iYXNlX2ljb24iOmZhbHNlLCJmZWF0dXJlX2hlbHBfbW9kYWxfaWFfcmVkZXNpZ24iOnRydWUsImZlYXR1cmVfaGVscF9tb2RhbF9pYV9yZWRlc2lnbl9wYXJ0X2RldXgiOmZhbHNlLCJmZWF0dXJlX2NlX2VuZ19jb250YWN0X2Zvcm1fY2F0ZWdvcmllcyI6ZmFsc2UsImZlYXR1cmVfY2VfZW5nX2NvbnRhY3RfZmVlZGJhY2siOmZhbHNlLCJmZWF0dXJlX2dkcHJfZXhwb3J0cyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2lzX3JlbW92ZV9jcmVhdGVfc2hhcmVkX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19tdWx0aV9vcmciOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9kb3VibGVfZGlhbW9uZHMiOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9wZW5kaW5nX2Nvbm5lY3Rpb25zIjpmYWxzZSwiZmVhdHVyZV9yZW1vdmVfZG91YmxlX3JpbmdzIjpmYWxzZSwiZmVhdHVyZV9leHRlcm5hbF9vcmdzX3NlY3Rpb25fY2hhbm5lbF9kZXRhaWxzIjpmYWxzZSwiZmVhdHVyZV9kaXNwbGF5X29yZ3NfbGlzdF9zaGFyZV9kaWFsb2ciOmZhbHNlLCJmZWF0dXJlX2VuYWJsZV9tdWx0aV9vcmdfaW52aXRlc19mZSI6ZmFsc2UsImZlYXR1cmVfZW5hYmxlX211bHRpX29yZ19kaXNjb25uZWN0X2ZlIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfbXVsdGlfb3JnX2ludml0ZXNfYmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3NjYWxhYmxlX21vcmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX21lc3NhZ2VfcGFuZV9jbGljayI6ZmFsc2UsImZlYXR1cmVfbWFuYWdlX3NjX2NoYW5uZWxfY2FyZCI6ZmFsc2UsImZlYXR1cmVfY3JlYXRlX3ByaXZhdGVfY19jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfZ2Rwcl91c2VyX2pvaW5fdG9zIjp0cnVlLCJmZWF0dXJlX3VzZXJfaW52aXRlX3Rvc19hcHJpbF8yMDE4Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfbWdtdF9waGFzZV90aHJlZSI6ZmFsc2UsImZlYXR1cmVfaW5jcmVtZW50YWxfdW5yZWFkX2NvdW50cyI6ZmFsc2UsImZlYXR1cmVfbmV1ZV90eXBlIjpmYWxzZSwiZmVhdHVyZV9jdXN0X2FjcV9pMThuX3R3ZWFrcyI6ZmFsc2UsImZlYXR1cmVfcmVmYWNfdGhlX3RheCI6ZmFsc2UsImZlYXR1cmVfY29udGFjdF9zYWxlc19leHBlcmltZW50Ijp0cnVlLCJmZWF0dXJlX2RhdGFfcmVzaWRlbmN5X2pwX2Jhbm5lciI6dHJ1ZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViIjpmYWxzZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViX3dhdmVfdHdvIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9hdXN0cmFsaWFfYmFubmVyIjpmYWxzZSwiZmVhdHVyZV9wcm9qX25hdl9jb21wb25lbnQiOmZhbHNlLCJmZWF0dXJlX3Byb2pfdXBkYXRlX3RyYW5zcGFyZW5jeV9yZXBvcnQiOmZhbHNlLCJmZWF0dXJlX3doaXRlbGlzdF96ZW5kZXNrX2NoYXRfd2lkZ2V0IjpmYWxzZSwiZmVhdHVyZV9hcHBfYWN0aW9uX3NsYXNoX2NvbW1hbmRzX3BhZDEwNDIiOnRydWUsImZlYXR1cmVfc2hvcnRjdXRzX21lbnVfYW5ub3VuY2Vfb25seSI6dHJ1ZSwiZmVhdHVyZV9saXZlX3N1cHBvcnRfZnJlZV9wbGFuIjpmYWxzZSwiZmVhdHVyZV9vZmZsaW5lX21vZGUiOmZhbHNlLCJmZWF0dXJlX2ZvcmNlX2xzX2NvbXByZXNzaW9uIjpmYWxzZSwiZmVhdHVyZV91c2VfaW1ncHJveHlfcmVzaXppbmciOnRydWUsImZlYXR1cmVfc2hhcmVfbWVudGlvbl9jb21tZW50X2NsZWFudXAiOmZhbHNlLCJmZWF0dXJlX2VsZWN0cm9uX21lbW9yeV9sb2dnaW5nIjpmYWxzZSwiZmVhdHVyZV9sb2NhbGl6YXRpb25fcGhhc2VfdHdvIjp0cnVlLCJmZWF0dXJlX2xvY2FsZV9lc19MQSI6dHJ1ZSwiZmVhdHVyZV9sb2NhbGVfZW5fR0IiOnRydWUsImZlYXR1cmVfbG9jYWxlX3B0X0JSIjp0cnVlLCJmZWF0dXJlX25ld19sb2NhbGVfdG9hc3QiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9leHBvcnRzIjpmYWxzZSwiZmVhdHVyZV9kb2NzX21lbnRpb25zX2FuZF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdmFjYXRpb25fZGVsaWdodCI6dHJ1ZSwiZmVhdHVyZV90aHJlYWRzX3VucmVhZF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2NhbGxzX2VzY191aSI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19zdXJ2ZXlfcmVxdWVzdF9yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9yZW1vdGVfZmlsZXNfYXBpIjp0cnVlLCJmZWF0dXJlX3Rva2VuX2lwX3doaXRlbGlzdCI6dHJ1ZSwiZmVhdHVyZV9zaWRlYmFyX3RoZW1lX3VuZG8iOmZhbHNlLCJmZWF0dXJlX2hpZGVfb25fc3RhcnR1cCI6dHJ1ZSwiZmVhdHVyZV9kb250X3NldF9jaGFubmVsX21lbWJlcnNoaXBfdHdpY2UiOmZhbHNlLCJmZWF0dXJlX2FsbG93X2ludHJhX3dvcmRfZm9ybWF0dGluZyI6dHJ1ZSwiZmVhdHVyZV9pMThuX2NoYW5uZWxzX3ZhbGlkYXRlX2Vtb2ppIjp0cnVlLCJmZWF0dXJlX2Z3X2VuZ19ub3JtYWxpemF0aW9uIjp0cnVlLCJmZWF0dXJlX3NsaW1fc2Nyb2xsYmFyIjpmYWxzZSwiZmVhdHVyZV9wcmltYXJ5X3NlYXJjaCI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3NvdW5kcyI6ZmFsc2UsImZlYXR1cmVfc2xpX2NoYW5uZWxfYXJjaGl2ZV9zdWdnZXN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaCI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaF9saW5rIjp0cnVlLCJmZWF0dXJlX3N0ZWVwbGVfY2h1cmNoX2V4dCI6dHJ1ZSwiZmVhdHVyZV9zdHJvbGxlcnNfdG9fcGVyY2giOnRydWUsImZlYXR1cmVfZmFudGFpbF9udXJ0dXJlIjp0cnVlLCJmZWF0dXJlX3BvdXJvdmVyIjpmYWxzZSwiZmVhdHVyZV9wZW9wbGVfc2VhcmNoIjpmYWxzZSwiZmVhdHVyZV9yZWFjdF9tZXNzYWdlcyI6dHJ1ZSwiZmVhdHVyZV9lZGdlX3VwbG9hZF9wcm94eV9jaGVjayI6ZmFsc2UsImZlYXR1cmVfbGVnYWN5X2ZpbGVfdXBsb2FkX2FuYWx5dGljcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY19maW5kX21vcmVfd2tzcHMiOmZhbHNlLCJmZWF0dXJlX3NvbmljX2lucHV0cyI6ZmFsc2UsImZlYXR1cmVfdGhyZWFkZWRfc2xhY2tfb3duZWRfcGx1Z2lucyI6dHJ1ZSwiZmVhdHVyZV9hcHBfcG9wb3V0c19pMThuIjpmYWxzZSwiZmVhdHVyZV9zbmlwcGV0X21vZGVzX2kxOG4iOmZhbHNlLCJmZWF0dXJlX2dkcml2ZV9kb19ub3RfaW5zdGFsbF9ieV9kZWZhdWx0Ijp0cnVlLCJmZWF0dXJlX2VrbV9iYWNrZmlsbF9hZGRfc2xlZXAiOmZhbHNlLCJmZWF0dXJlX2VrbV9tZXNzYWdlX3Jldm9jYXRpb25fcG9sbGluZ190ZXN0IjpmYWxzZSwiZmVhdHVyZV9sb25nZXJfY2hhbm5lbF9uYW1lcyI6dHJ1ZSwiZmVhdHVyZV90ZWFtX2FkbWluc19saXN0X2FwaSI6ZmFsc2UsImZlYXR1cmVfdGVhbV9hZG1pbnNfbGlzdF9hcGlfYWNjZXNzIjpmYWxzZSwiZmVhdHVyZV9tc19sYXRlc3QiOnRydWUsImZlYXR1cmVfZ3Vlc3RzX3VzZV9lbnRpdGxlbWVudHMiOnRydWUsImZlYXR1cmVfYXBwX2NhbnZhc2VzIjpmYWxzZSwiZmVhdHVyZV9jYWxsc19zaXBfaW50ZWdyYXRpb25fbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9hcHBfaG9tZV9hZG1pbl9wYWdlcyI6ZmFsc2UsImZlYXR1cmVfYXBwX2FjdGlvbnNfYWRtaW5fcGFnZXMiOmZhbHNlLCJmZWF0dXJlX2FwcF92aWV3c19yZW1pbmRlcnMiOmZhbHNlLCJmZWF0dXJlX3JlbWluZGVyc191c2VyIjpmYWxzZSwiZmVhdHVyZV9ibG9ja3NfcmVtaW5kZXJzX2xpc3QiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfYmxvY2tzIjpmYWxzZSwiZmVhdHVyZV9zaWxlbmNlX2FwcF9kbXMiOmZhbHNlLCJmZWF0dXJlX3NldF90el9hdXRvbWF0aWNhbGx5Ijp0cnVlLCJmZWF0dXJlX2NvbmZpcm1fY2xlYXJfYWxsX3VucmVhZHNfcHJlZiI6dHJ1ZSwiZmVhdHVyZV9ibG9ja19tb3VudHMiOnRydWUsImZlYXR1cmVfYXR0YWNobWVudHNfdjIiOnRydWUsImZlYXR1cmVfaTE4bl9hcHBfbWVzc2FnZV90YWIiOmZhbHNlLCJmZWF0dXJlX2JrX3NlbGVjdF9maWx0ZXJzIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfZXhwYW5kYWJsZV9ibG9jayI6ZmFsc2UsImZlYXR1cmVfZ3JvdXBfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9kZWVwX2xpbmtzIjp0cnVlLCJmZWF0dXJlX3Nob3dfYmxvY2tfa2l0X2luX3NoYXJlX2RpYWxvZ3MiOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9ldmVudF9ibG9jayI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3VzZXJfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9yYWRpb19idXR0b25zIjp0cnVlLCJmZWF0dXJlX21ya2R3bl9vbl9yYWRpb19idXR0b24iOnRydWUsImZlYXR1cmVfYmxvY2tfa2l0X3RhYmxlIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfcmFuZ2VfZGF0ZXBpY2tlciI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3RpbWVwaWNrZXIiOmZhbHNlLCJmZWF0dXJlX2FkZF9hcHBfaG9tZV90ZWFtX25hbWUiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19hZG1pbl9lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2RpYWxvZ3NfdjJfbW9iaWxlIjp0cnVlLCJmZWF0dXJlX3VzZXJfYXBwX2Rpc2FibGVfc3BlZWRfYnVtcCI6dHJ1ZSwiZmVhdHVyZV90cmFjdG9yX3NoYXJlZF9pbnZpdGVfbGluayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8yMTE5Ijp0cnVlLCJmZWF0dXJlX3RyYWN0b3JfYmFja3VwX2NoYW5uZWxuYW1lX2NvcHkiOnRydWUsImZlYXR1cmVfZGVncmFkZWRfcnRtX2Fsd2F5c19mYWlscyI6ZmFsc2UsImZlYXR1cmVfYXBwc19tYW5hZ2VfcGVybWlzc2lvbnNfc2NvcGVfY2hhbmdlcyI6dHJ1ZSwiZmVhdHVyZV9yZW1pbmRlcl9jcm9zc193b3Jrc3BhY2UiOnRydWUsImZlYXR1cmVfcDJwIjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2IjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2X3JvbGxiYWNrIjpmYWxzZSwiZmVhdHVyZV9jbGFzc2ljX25hdiI6ZmFsc2UsImZlYXR1cmVfbmV3X3JlYWN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9wYWdlc19leGFtcGxlIjpmYWxzZSwiZmVhdHVyZV9zb25pY19waW5zIjpmYWxzZSwiZmVhdHVyZV9zb25pY192aWRlb19wbGFjZWhvbGRlciI6dHJ1ZSwiZmVhdHVyZV9pYXAxIjpmYWxzZSwiZmVhdHVyZV9pYV9nYSI6ZmFsc2UsImZlYXR1cmVfaWFfaTE4biI6ZmFsc2UsImZlYXR1cmVfaWFfdGhlbWVzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19oYXJkX3JlbG9hZCI6dHJ1ZSwiZmVhdHVyZV9oaWRkZW5fd2tzcF91bmZ1cmxzIjp0cnVlLCJmZWF0dXJlX2d1ZXN0X3drc3BfdW5mdXJscyI6ZmFsc2UsImZlYXR1cmVfd29ya3NwYWNlX3NjaW1fbWFuYWdlbWVudCI6ZmFsc2UsImZlYXR1cmVfdW5pZmllZF9tZW1iZXIiOmZhbHNlLCJmZWF0dXJlX3R1cm5fbXBkbV9ub3RpZnNfb24iOnRydWUsImZlYXR1cmVfZG9sb3JlcyI6ZmFsc2UsImZlYXR1cmVfZGVza3RvcF9mb3JjZV9wcm9kdWN0aW9uX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX2Rlc2t0b3BfbG9nc191cGxvYWQiOmZhbHNlLCJmZWF0dXJlX21hY29zX2Rpc2FibGVfaHciOnRydWUsImZlYXR1cmVfcXVpbGxfY2prX2NvZGVfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2JvdHNfbm90X21lbWJlcnMiOnRydWUsImZlYXR1cmVfd3RhX3N0b3BfY3JlYXRpb24iOnRydWUsImZlYXR1cmVfbTExbl9jaGFubmVsX2RldGFpbHMiOmZhbHNlLCJmZWF0dXJlX2dyYW51bGFyX2JvdF9nYSI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2FjdGlvbnMiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9hY3Rpb25zX2NsaWVudCI6dHJ1ZSwiZmVhdHVyZV9zaG9ydGN1dHNfcHJvbXB0Ijp0cnVlLCJmZWF0dXJlX2FjY2Vzc2libGVfZGlhbG9ncyI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19jbGlwYm9hcmRfYnJvYWRjYXN0aW5nX29wdGluIjp0cnVlLCJmZWF0dXJlX3NjcmVlbl9zaGFyZV9uZWVkc19hZXJvIjpmYWxzZSwiZmVhdHVyZV9zbGlfdHJlbmRpbmdfZGFzaGJvYXJkIjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX2ZzX2RpYWxvZ3MiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9oZWFkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV90cmFwX2tiX3dpdGhpbl9mc19tb2RhbHMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2ltYWdlX3ZpZXdlciI6dHJ1ZSwiZmVhdHVyZV9lbW9qaV9ieV9pZCI6dHJ1ZSwiZmVhdHVyZV9tY19taWdyYXRpb25fYmFubmVyIjp0cnVlLCJmZWF0dXJlX2FyaWFfYXBwbGljYXRpb25fbW9kZSI6ZmFsc2UsImZlYXR1cmVfdXBkYXRlX211bHRpd29ya3NwYWNlX2NoYW5uZWxfbW9kYWwiOnRydWUsImZlYXR1cmVfbW9kZXJuX3JlcXVlc3Rfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfYXBwX3NldHRpbmdzX2dhbnRyeSI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3Byb2ZpbGVfZmxleHBhbmUiOmZhbHNlLCJmZWF0dXJlX3NjZ19jb252ZXJzaW9uX2NoYW5uZWxzIjp0cnVlLCJmZWF0dXJlX3JlZHVjZV91bmV4cGVjdGVkX3VuaW5zdGFsbHMiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX3dhcm5pbmciOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfcmV0ZW50aW9uX2FsbG93X292ZXJyaWRlX29uX29yZ19sZXZlbF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdHJhY2tfdGltZV9zcGVudCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZV9vbmx5Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfd2Vic29ja2V0Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfcHJvbW8iOmZhbHNlLCJmZWF0dXJlX2F0X21lbnRpb25faW52aXRlcyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2ludml0ZV90b2tlbml6YXRpb24iOnRydWUsImZlYXR1cmVfYmV0dGVyX3Rva2VuaXphdGlvbl93ZWJhcHBfZmFzdF9mb2xsb3ciOnRydWUsImZlYXR1cmVfaW1wb3J0c19jYW5jZWwiOnRydWUsImZlYXR1cmVfZW1haWxfd29ya29iamVjdF91aSI6ZmFsc2UsImZlYXR1cmVfZW1haWxfbm90aWZ5IjpmYWxzZSwiZmVhdHVyZV9lbWFpbF9wcml2YXRlIjp0cnVlLCJmZWF0dXJlX3NpbmdsZV91c2VyX2V4cG9ydCI6ZmFsc2UsImZlYXR1cmVfY2FsZW5kYXJfc2ltcGxlX2FnZW5kYV92aWV3IjpmYWxzZSwiZmVhdHVyZV9hbmFseXRpY3NfZW5hYmxlX2RpdmlzaW9uIjpmYWxzZSwiZmVhdHVyZV9lbnRlcnByaXNlX2FuYWx5dGljc19hcHBzX3RhYiI6ZmFsc2UsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xMV91cGRhdGUiOnRydWUsImZlYXR1cmVfaW5zaWdodHNfYWxsb3dfYWNjZXNzX3RvX2FwcCI6ZmFsc2UsImZlYXR1cmVfaW5zaWdodHNfY29tbXNfaW1wYWN0X21lc3NhZ2Vfc3RhdHMiOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfYWRtaW4iOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfdXBkYXRlcyI6ZmFsc2UsImZlYXR1cmVfdGVhbV90aGVtZXMiOmZhbHNlLCJmZWF0dXJlX3VuZnVybF9tZXRhZGF0YSI6ZmFsc2UsImZlYXR1cmVfcGx1c19tZW51X2FkZF9hcHBzX2xpbmsiOmZhbHNlLCJmZWF0dXJlX3JlY2VudF9maWxlc19vbW5pcGlja2VyIjpmYWxzZSwiZmVhdHVyZV9ncmFudWxhcl9ib3QiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfZm9yY2VfaW50b19sZWdhY3kiOmZhbHNlLCJmZWF0dXJlX2FkbWluX21vdmVfY2hhbm5lbHNfbWVzc2FnZSI6ZmFsc2UsImZlYXR1cmVfbmV3eHBfZmVfaW52aXRlX21vZGVybiI6dHJ1ZSwiZmVhdHVyZV9tb2Rlcm5pemVfY2hhbm5lbF9jcmVhdGVfbW9kYWwiOnRydWUsImZlYXR1cmVfc29uaWNfcGxhY2Vob2xkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19lc2NfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2Rhbmdlcm91c2x5X2d1YXJkX2lhX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfcGxhdGZvcm1fY2FsbHNfYXBpIjp0cnVlLCJmZWF0dXJlX3RocmVhZGVkX2NhbGxfYmxvY2siOmZhbHNlLCJmZWF0dXJlX3RyaWdnZXJfaWRfc2NvcGUiOmZhbHNlLCJmZWF0dXJlX2xpZmVjeWNsZV9sb2dnaW5nX3BsYW5zX3BhZ2UiOnRydWUsImZlYXR1cmVfc2xhY2tfbWVzc2FnZV9hdHRhY2htZW50X3Rvb2x0aXAiOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfbW9iaWxlX2RldmljZV9jaGVjayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cDM3ODkiOnRydWUsImZlYXR1cmVfbmV3eHBfMzc5MyI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF80MTAxIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfY3VzdG9tX2Vtb2ppc191cmwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19jdXN0b21fZW1vamlzX3VybF9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX25ld19jb3B5X2Zvcl9pZGVudGl0eV9iYXNpYyI6ZmFsc2UsImZlYXR1cmVfc29uaWNfbGVhdmVfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxzX25ld191c2VyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsX2JhYnlfdGVhbXMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19zaG9ydGN1dCI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2ludml0ZV9hY2NlcHRhbmNlX2VsaWdpYmlsaXR5X3YyX2FwaSI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxfaW52aXRlc192MiI6dHJ1ZSwiZmVhdHVyZV9iZXR0ZXJfaW52aXRlc19jYWxsX3YyX2FwaSI6dHJ1ZSwiZmVhdHVyZV9wYWlkX29uYm9hcmRpbmdfcGFnZXVwZGF0ZSI6dHJ1ZSwiZmVhdHVyZV90cmFjZV93ZWJhcHBfaW5pdCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZW1lbnRfb25seV9jaGFubmVsX2NvcHlfY2hhbmdlX3RyYW5zbGF0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdHJpcGVfY29tcGxldGVseV9kb3duX2Jhbm5lciI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9vbmJvYXJkaW5nX2ludml0ZV9wcm9tcHQiOnRydWUsImZlYXR1cmVfdGFyZ2V0ZWRfcHJvbW90aW9uYWxfZGlzY291bnRzIjp0cnVlLCJmZWF0dXJlX3BsYW5zX3BhZ2VfZnJlZV9jb2x1bW4iOnRydWUsImZlYXR1cmVfc2ZiX2R1bm5pbmdfc3RhdGVtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9jaGFuZ2VfY2hhcmdlX2Zvcl9hbGxfdGVhbXMiOnRydWUsImZlYXR1cmVfbWFsYXlzaWFfdGF4X2VtYWlsIjp0cnVlLCJmZWF0dXJlX21hbGF5c2lhX3RheF9hc3Nlc3NtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9iaWxsaW5nX3N0YXRlbWVudHMiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfZW1haWwiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfYXNzZXNzbWVudCI6ZmFsc2UsImZlYXR1cmVfY2hlY2tvdXRfdjJfcHJvZHVjdF9zd2l0Y2hfY2hlY2tvdXRfcmV2aWV3Ijp0cnVlLCJmZWF0dXJlX2NoZWNrb3V0X3YyX3Byb2R1Y3Rfc3dpdGNoX2NoZWNrb3V0X2Zvcm0iOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfYWNoX3N1cHBvcnQiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfbW9iaWxlIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9tb2JpbGVfcGhhc2VfdHdvIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9kaXNhbGxvd19pZV9hY2giOmZhbHNlLCJmZWF0dXJlX2NvbnRleHR1YWxfbWVzc2FnZV9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xM19lbmhhbmNlbWVudHMiOmZhbHNlLCJmZWF0dXJlX29yZ19sZXZlbF9hcHBzIjpmYWxzZSwiZmVhdHVyZV9jaGFubmVsX3NlY3Rpb25zIjp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2VjdGlvbnNfc2lkZWJhcl9iZWhhdmlvcl91aSI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfdjAiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfbmF2aWdhdGlvbl9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfc2VhcmNoX2xpbWl0X3RlYW1fZmlsdGVyIjp0cnVlLCJmZWF0dXJlX2FuYWx5dGljc19zY2ltX2ZpZWxkc19wYWlkIjpmYWxzZSwiZmVhdHVyZV9vcmdfYXBwc19kYXNoYm9hcmQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfaW52aXRlcyI6ZmFsc2UsImZlYXR1cmVfaGVscF9jZW50ZXJfaW5jaWRlbnRfYmFubmVyIjp0cnVlLCJmZWF0dXJlX3NjZ19lcnJvcl9tZXNzYWdlIjp0cnVlLCJmZWF0dXJlX3NlYXJjaF9yZXN1bHRzX3ZpcnR1YWxpemVkIjpmYWxzZSwiZmVhdHVyZV9zaG93X2VtYWlsX2ZvcndhcmRlZF9ieSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9lbWFpbF9hZGRyZXNzZXMiOmZhbHNlLCJmZWF0dXJlX25ld19lbm91Z2hfcGVyaW9kaWNfcmVsb2FkcyI6ZmFsc2UsImZlYXR1cmVfaWFwMV9kb3dubG9hZHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzcGxheV9leHBvcnRfZm9ybV9jc3YiOnRydWUsImZlYXR1cmVfYnVpbGRlcl93b3JrZmxvd19hY3Rpdml0eSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9leHBvcnRfZm9ybV9jc3ZfYWRtaW4iOnRydWUsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50Ijp0cnVlLCJmZWF0dXJlX25ld19iaWxsaW5nX2VtYWlsc190cmFuc2xhdGlvbnMiOnRydWUsImZlYXR1cmVfc2ZiX3BkZl9hZGRpdGlvbmFsX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX29uZSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX3R3byI6ZmFsc2UsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50X21hbnVhbGx5IjpmYWxzZSwiZmVhdHVyZV9jcmVhdG9yc19sb2dpbl93aXRoX2dvb2dsZSI6ZmFsc2UsImZlYXR1cmVfcmF0ZV9saW1pdF9hcHBfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2V4dGVybmFsX2FwcF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19ob21lX3JlbWluZGVycyI6ZmFsc2UsImZlYXR1cmVfZmVhdF9zYXlfbXlfbmFtZSI6dHJ1ZSwiZmVhdHVyZV9hcHBfZGlyZWN0b3J5X3NlY3VyaXR5X2NvbXBsaWFuY2UiOmZhbHNlLCJmZWF0dXJlX2ludml0ZV9saW5rX2NvcHkiOmZhbHNlLCJmZWF0dXJlX3B1dF9hX21lbnRpb25fb25faXQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfcGxhY2Vob2xkZXIiOmZhbHNlLCJjbGllbnRfbG9ncyI6eyIwIjp7Im51bWJlcnMiOlsiMCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyIjp7Im51bWJlcnMiOlsiMiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0Ijp7Im51bWJlcnMiOlsiNCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1Ijp7Im51bWJlcnMiOlsiNSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyMyI6eyJudW1iZXJzIjpbIjIzIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sInNvdW5kcyI6eyJuYW1lIjoic291bmRzIiwibnVtYmVycyI6WyIzNyJdfSwiMzciOnsibmFtZSI6InNvdW5kcyIsIm51bWJlcnMiOlsiMzciXSwidXNlcl9mYWNpbmciOnRydWV9LCI0NyI6eyJudW1iZXJzIjpbIjQ3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ4Ijp7Im51bWJlcnMiOlsiNDgiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiTWVzc2FnZSBIaXN0b3J5Ijp7Im5hbWUiOiJNZXNzYWdlIEhpc3RvcnkiLCJudW1iZXJzIjpbIjU4Il19LCI1OCI6eyJuYW1lIjoiTWVzc2FnZSBIaXN0b3J5IiwibnVtYmVycyI6WyI1OCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjY3Ijp7Im51bWJlcnMiOlsiNjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzIiOnsibnVtYmVycyI6WyI3MiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3MyI6eyJudW1iZXJzIjpbIjczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjgyIjp7Im51bWJlcnMiOlsiODIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiODgiOnsibnVtYmVycyI6WyI4OCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5MSI6eyJudW1iZXJzIjpbIjkxIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjkzIjp7Im51bWJlcnMiOlsiOTMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiOTYiOnsibnVtYmVycyI6WyI5NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5OSI6eyJudW1iZXJzIjpbIjk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIkNoYW5uZWwgTWFya2luZyAoTVMpIjp7Im5hbWUiOiJDaGFubmVsIE1hcmtpbmcgKE1TKSIsIm51bWJlcnMiOlsiMTQxIl19LCIxNDEiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoTVMpIiwibnVtYmVycyI6WyIxNDEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJDaGFubmVsIE1hcmtpbmcgKENsaWVudCkiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl19LCIxNDIiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSI6eyJuYW1lIjoiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMjIxIl19LCIyMjEiOnsibmFtZSI6IkNsb3NlIE9sZCBJTXMgKENsaWVudCkiLCJudW1iZXJzIjpbIjIyMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjM2NSI6eyJudW1iZXJzIjpbIjM2NSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIzODkiOnsibnVtYmVycyI6WyIzODkiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDM4Ijp7Im51bWJlcnMiOlsiNDM4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ0NCI6eyJudW1iZXJzIjpbIjQ0NCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0ODEiOnsibnVtYmVycyI6WyI0ODEiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDg4Ijp7Im51bWJlcnMiOlsiNDg4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjUyOSI6eyJudW1iZXJzIjpbIjUyOSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1NTIiOnsibnVtYmVycyI6WyI1NTIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiZGFzaGJvYXJkIjp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdfSwiNjY2Ijp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI2NjciOnsibnVtYmVycyI6WyI2NjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzczIjp7Im51bWJlcnMiOlsiNzczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjc3NyI6eyJudW1iZXJzIjpbIjc3NyJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3OTQiOnsibnVtYmVycyI6WyI3OTQiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiQ2xpZW50IFJlc3BvbnNpdmVuZXNzIjp7Im5hbWUiOiJDbGllbnQgUmVzcG9uc2l2ZW5lc3MiLCJ1c2VyX2ZhY2luZyI6ZmFsc2UsIm51bWJlcnMiOlsiODA4Il19LCI4MDgiOnsibmFtZSI6IkNsaWVudCBSZXNwb25zaXZlbmVzcyIsInVzZXJfZmFjaW5nIjpmYWxzZSwibnVtYmVycyI6WyI4MDgiXX0sIk1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciOnsibmFtZSI6Ik1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciLCJudW1iZXJzIjpbIjg4OCJdfSwiODg4Ijp7Im5hbWUiOiJNZXNzYWdlIFBhbmUgU2Nyb2xsaW5nIiwibnVtYmVycyI6WyI4ODgiXSwidXNlcl9mYWNpbmciOnRydWV9LCJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIjp7Im5hbWUiOiJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIiwibnVtYmVycyI6WyI5OTkiXX0sIjk5OSI6eyJuYW1lIjoiVW5yZWFkIGJhbm5lciBhbmQgZGl2aWRlciIsIm51bWJlcnMiOlsiOTk5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMTAwMCI6eyJudW1iZXJzIjpbIjEwMDAiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiRHVwbGljYXRlIGJhZGdlcyAoZGVza3RvcCBhcHAgaWNvbnMpIjp7Im5hbWUiOiJEdXBsaWNhdGUgYmFkZ2VzIChkZXNrdG9wIGFwcCBpY29ucykiLCJudW1iZXJzIjpbIjE3MDEiXX0sIjE3MDEiOnsibmFtZSI6IkR1cGxpY2F0ZSBiYWRnZXMgKGRlc2t0b3AgYXBwIGljb25zKSIsIm51bWJlcnMiOlsiMTcwMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIk1lbWJlcnMiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXX0sIjE5NzUiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXSwidXNlcl9mYWNpbmciOnRydWV9LCJsYXp5IGxvYWRpbmciOnsibmFtZSI6ImxhenkgbG9hZGluZyIsIm51bWJlcnMiOlsiMTk4OSJdfSwiMTk4OSI6eyJuYW1lIjoibGF6eSBsb2FkaW5nIiwibnVtYmVycyI6WyIxOTg5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwidGhpbl9jaGFubmVsX21lbWJlcnNoaXAiOnsibmFtZSI6InRoaW5fY2hhbm5lbF9tZW1iZXJzaGlwIiwibnVtYmVycyI6WyIxOTkwIl19LCIxOTkwIjp7Im5hbWUiOiJ0aGluX2NoYW5uZWxfbWVtYmVyc2hpcCIsIm51bWJlcnMiOlsiMTk5MCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sInN0YXRzIjp7Im5hbWUiOiJzdGF0cyIsIm51bWJlcnMiOlsiMTk5MSJdfSwiMTk5MSI6eyJuYW1lIjoic3RhdHMiLCJudW1iZXJzIjpbIjE5OTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJtcyI6eyJuYW1lIjoibXMiLCJudW1iZXJzIjpbIjE5OTYiXX0sIjE5OTYiOnsibmFtZSI6Im1zIiwibnVtYmVycyI6WyIxOTk2Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwic2hhcmVkX2NoYW5uZWxzX2Nvbm5lY3Rpb24iOnsibmFtZSI6InNoYXJlZF9jaGFubmVsc19jb25uZWN0aW9uIiwibnVtYmVycyI6WyIxOTk5Il19LCIxOTk5Ijp7Im5hbWUiOiJzaGFyZWRfY2hhbm5lbHNfY29ubmVjdGlvbiIsIm51bWJlcnMiOlsiMTk5OSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCJkbmQiOnsibmFtZSI6ImRuZCIsIm51bWJlcnMiOlsiMjAwMiJdfSwiMjAwMiI6eyJuYW1lIjoiZG5kIiwibnVtYmVycyI6WyIyMDAyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMjAwMyI6eyJudW1iZXJzIjpbIjIwMDMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiVGhyZWFkcyI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdfSwiMjAwNCI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjIwMDUiOnsibnVtYmVycyI6WyIyMDA1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlJlYWN0aW9ucyI6eyJuYW1lIjoiUmVhY3Rpb25zIiwibnVtYmVycyI6WyIyMDA2Il19LCIyMDA2Ijp7Im5hbWUiOiJSZWFjdGlvbnMiLCJudW1iZXJzIjpbIjIwMDYiXSwidXNlcl9mYWNpbmciOnRydWV9LCJUU1NTQi5mb2N1c1RhYkFuZFN3aXRjaFRvQ2hhbm5lbCI6eyJuYW1lIjoiVFNTU0IuZm9jdXNUYWJBbmRTd2l0Y2hUb0NoYW5uZWwiLCJudW1iZXJzIjpbIjIwMDciXX0sIjIwMDciOnsibmFtZSI6IlRTU1NCLmZvY3VzVGFiQW5kU3dpdGNoVG9DaGFubmVsIiwibnVtYmVycyI6WyIyMDA3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlByZXNlbmNlIERldGVjdGlvbiI6eyJuYW1lIjoiUHJlc2VuY2UgRGV0ZWN0aW9uIiwibnVtYmVycyI6WyIyMDE3Il19LCIyMDE3Ijp7Im5hbWUiOiJQcmVzZW5jZSBEZXRlY3Rpb24iLCJudW1iZXJzIjpbIjIwMTciXSwidXNlcl9mYWNpbmciOnRydWV9LCJtY19zaWJzIjp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il19LCI5OTk5Ijp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIk1lbWJlciBzZWFyY2hpbmciOnsibmFtZSI6Ik1lbWJlciBzZWFyY2hpbmciLCJudW1iZXJzIjpbIjkwMjExIl19LCI5MDIxMSI6eyJuYW1lIjoiTWVtYmVyIHNlYXJjaGluZyIsIm51bWJlcnMiOlsiOTAyMTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCI5ODc2NSI6eyJudW1iZXJzIjpbIjk4NzY1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjg2NzUzMDkiOnsibnVtYmVycyI6WyI4Njc1MzA5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX19fTsKCWJvb3RfZGF0YS5zdGFydF9tcyA9IERhdGUubm93KCk7Cjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgVFNfbGFzdF9sb2dfZGF0ZSA9IG51bGw7CnZhciBUU01ha2VMb2dEYXRlID0gZnVuY3Rpb24oKSB7Cgl2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CgoJdmFyIHkgPSBkYXRlLmdldEZ1bGxZZWFyKCk7Cgl2YXIgbW8gPSBkYXRlLmdldE1vbnRoKCkrMTsKCXZhciBkID0gZGF0ZS5nZXREYXRlKCk7CgoJdmFyIHRpbWUgPSB7CgkgIGg6IGRhdGUuZ2V0SG91cnMoKSwKCSAgbWk6IGRhdGUuZ2V0TWludXRlcygpLAoJICBzOiBkYXRlLmdldFNlY29uZHMoKSwKCSAgbXM6IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkKCX07CgoJT2JqZWN0LmtleXModGltZSkubWFwKGZ1bmN0aW9uKG1vbWVudCwgaW5kZXgpIHsKCQlpZiAobW9tZW50ID09ICdtcycpIHsKCQkJaWYgKHRpbWVbbW9tZW50XSA8IDEwKSB7CgkJCQl0aW1lW21vbWVudF0gPSB0aW1lW21vbWVudF0rJzAwJzsKCQkJfSBlbHNlIGlmICh0aW1lW21vbWVudF0gPCAxMDApIHsKCQkJCXRpbWVbbW9tZW50XSA9IHRpbWVbbW9tZW50XSsnMCc7CgkJCX0KCQl9IGVsc2UgaWYgKHRpbWVbbW9tZW50XSA8IDEwKSB7CgkJCXRpbWVbbW9tZW50XSA9ICcwJyArIHRpbWVbbW9tZW50XTsKCQl9Cgl9KTsKCgl2YXIgc3RyID0geSArICcvJyArIG1vICsgJy8nICsgZCArICcgJyArIHRpbWUuaCArICc6JyArIHRpbWUubWkgKyAnOicgKyB0aW1lLnMgKyAnLicgKyB0aW1lLm1zOwoJaWYgKFRTX2xhc3RfbG9nX2RhdGUpIHsKCQl2YXIgZGlmZiA9IGRhdGUtVFNfbGFzdF9sb2dfZGF0ZTsKCQkvL3N0cis9ICcgKCcrZGlmZisnbXMpJzsKCX0KCVRTX2xhc3RfbG9nX2RhdGUgPSBkYXRlOwoJcmV0dXJuIHN0cisnICc7Cn0KCnZhciBwYXJzZURlZXBMaW5rUmVxdWVzdCA9IGZ1bmN0aW9uKGNvZGUpIHsKCXZhciBtID0gY29kZS5tYXRjaCgvImlkIjoiKFtDREddW0EtWjAtOV17OCx9KSIvKTsKCXZhciBpZCA9IG0gPyBtWzFdIDogbnVsbDsKCgltID0gY29kZS5tYXRjaCgvInRlYW0iOiIoVFtBLVowLTldezgsfSkiLyk7Cgl2YXIgdGVhbSA9IG0gPyBtWzFdIDogbnVsbDsKCgltID0gY29kZS5tYXRjaCgvIm1lc3NhZ2UiOiIoWzAtOV0rXC5bMC05XSspIi8pOwoJdmFyIG1lc3NhZ2UgPSBtID8gbVsxXSA6IG51bGw7CgoJcmV0dXJuIHsgaWQ6IGlkLCB0ZWFtOiB0ZWFtLCBtZXNzYWdlOiBtZXNzYWdlIH07Cn0KCmlmICgncmVuZGVyZXJFdmFsQXN5bmMnIGluIHdpbmRvdykgewoJdmFyIG9yaWdSZW5kZXJlckV2YWxBc3luYyA9IHdpbmRvdy5yZW5kZXJlckV2YWxBc3luYzsKCXdpbmRvdy5yZW5kZXJlckV2YWxBc3luYyA9IGZ1bmN0aW9uKGJsb2IpIHsKCQl0cnkgewoJCQl2YXIgZGF0YSA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGF0b2IoYmxvYikpKTsKCQkJaWYgKGRhdGEuY29kZS5tYXRjaCgvaGFuZGxlRGVlcExpbmsvKSkgewoJCQkJdmFyIHJlcXVlc3QgPSBwYXJzZURlZXBMaW5rUmVxdWVzdChkYXRhLmNvZGUpOwoJCQkJaWYgKCFyZXF1ZXN0LmlkIHx8ICFyZXF1ZXN0LnRlYW0gfHwgIXJlcXVlc3QubWVzc2FnZSkgcmV0dXJuOwoKCQkJCXJlcXVlc3QuY21kID0gJ2NoYW5uZWwnOwoJCQkJVFNTU0IuaGFuZGxlRGVlcExpbmtXaXRoQXJncyhKU09OLnN0cmluZ2lmeShyZXF1ZXN0KSk7CgkJCQlyZXR1cm47CgkJCX0gZWxzZSB7CgkJCQlvcmlnUmVuZGVyZXJFdmFsQXN5bmMoYmxvYik7CgkJCX0KCQl9IGNhdGNoIChlKSB7CgkJfQoJfQp9PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBUU1NTQiA9IHsKCWNhbGw6IGZ1bmN0aW9uKCkgewoJCXJldHVybiBmYWxzZTsKCX0KfTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtY29yZV9yZXF1aXJlZF9saWJzLmYzOTE1N2Q0ZTkxMzkwZDRjY2RiLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL21vZGVybi52ZW5kb3IuYzIwYmY4ZTJhNTdiZDQ3MTgxZDQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvYXBwbGljYXRpb24uYWUzYzQxY2ZkMGQ3ZDhjOGNjMTQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLWNvcmVfcmVxdWlyZWRfdHMuNzA5NTgzYzAwMzY4MGEzMGIzMjUubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLWNvcmVfd2ViLjcwMGZjMzg1Nzc2ZTFhMTY4ZmU0Lm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3JvbGx1cC1hcGlfZG9jcy4zZWYzYjAxZWM5NGY5OTg5OWJhOS5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtc2Vjb25kYXJ5X2FfcmVxdWlyZWQuNTkzM2Y1YmFlMTUzZjRlNTdjZmYubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLXNlY29uZGFyeV9iX3JlcXVpcmVkLmU1OGRkNDlmMGJjMGMyOGE2MGNmLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL2Zvb3Rlci5hZDg0OGJlNDE1MjNlZGQ1ZjQ5Mi5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0PgkJCXdpbmRvdy5ib290X2RhdGEgPSB3aW5kb3cuYm9vdF9kYXRhIHx8IHt9OwoJCQlib290X2RhdGEubm9fbG9naW4gPSB0cnVlOwoJCQlib290X2RhdGEuYXBwID0gJ2FwaSc7CgkJCWJvb3RfZGF0YS5hcGlfdXJsID0gJy9hcGkvJzsKCQkJYm9vdF9kYXRhLmFwcF9pZCA9ICIiOwoJCQlib290X2RhdGEuYXBwX25hbWUgPSAiIjsKCQkJYm9vdF9kYXRhLm51bV90ZWFtcyA9IDA7CgkJCWJvb3RfZGF0YS5yZXNlcnZlZF9jb21tYW5kcyA9IFtdOwoJCQlib290X2RhdGEubnVtX2NvbW1hbmRzID0gMDsKCQkJYm9vdF9kYXRhLnN1ZG9fdXJsID0gIiI7CgkJCWJvb3RfZGF0YS5hcGlfdG9rZW4gPSAiIjsKCQkJVFMuYm9vdChib290X2RhdGEpOzwvc2NyaXB0PjxzY3JpcHQ+CnZhciBhcGlfdXJsID0gImh0dHBzOlwvXC9zbGFjay5jb21cL2FwaVwvdXNlcnMubGlzdCI7CnZhciBhcGlfdG9rZW5zID0ge307CnZhciBhcGlfYXJncyA9IHsidG9rZW4iOnsidHlwZSI6InRva2VuIiwib3B0aW9uYWwiOmZhbHNlLCJleGFtcGxlIjoieHh4eC14eHh4eHh4eHgteHh4eCIsImRlc2MiOiJcdTAwM0NwXHUwMDNFQXV0aGVudGljYXRpb24gdG9rZW4gYmVhcmluZyByZXF1aXJlZCBzY29wZXMuXHUwMDNDXC9wXHUwMDNFXG4iLCJ1aWQiOjF9LCJjdXJzb3IiOnsiZGVzYyI6Ilx1MDAzQ3BcdTAwM0VQYWdpbmF0ZSB0aHJvdWdoIGNvbGxlY3Rpb25zIG9mIGRhdGEgYnkgc2V0dGluZyB0aGUgXHUwMDNDY29kZVx1MDAzRWN1cnNvclx1MDAzQ1wvY29kZVx1MDAzRSBwYXJhbWV0ZXIgdG8gYSBcdTAwM0Njb2RlXHUwMDNFbmV4dF9jdXJzb3JcdTAwM0NcL2NvZGVcdTAwM0UgYXR0cmlidXRlIHJldHVybmVkIGJ5IGEgcHJldmlvdXMgcmVxdWVzdCdzIFx1MDAzQ2NvZGVcdTAwM0VyZXNwb25zZV9tZXRhZGF0YVx1MDAzQ1wvY29kZVx1MDAzRS4gRGVmYXVsdCB2YWx1ZSBmZXRjaGVzIHRoZSBmaXJzdCBcInBhZ2VcIiBvZiB0aGUgY29sbGVjdGlvbi4gU2VlIFx1MDAzQ2EgaHJlZj1cIlwvZG9jc1wvcGFnaW5hdGlvblwiXHUwMDNFcGFnaW5hdGlvblx1MDAzQ1wvYVx1MDAzRSBmb3IgbW9yZSBkZXRhaWwuXHUwMDNDXC9wXHUwMDNFXG4iLCJ0eXBlIjoic3RyaW5nIiwiZXhhbXBsZSI6ImRYTmxjanBWTURZeFRrWlVWREk9IiwiaGlkZGVuIjpmYWxzZSwibG9nZ2VkIjp0cnVlLCJvcHRpb25hbCI6dHJ1ZSwic3VidHlwZSI6InN0cmluZyIsInVpZCI6M30sImluY2x1ZGVfbG9jYWxlIjp7ImRlc2MiOiJcdTAwM0NwXHUwMDNFU2V0IHRoaXMgdG8gXHUwMDNDY29kZVx1MDAzRXRydWVcdTAwM0NcL2NvZGVcdTAwM0UgdG8gcmVjZWl2ZSB0aGUgbG9jYWxlIGZvciB1c2Vycy4gRGVmYXVsdHMgdG8gXHUwMDNDY29kZVx1MDAzRWZhbHNlXHUwMDNDXC9jb2RlXHUwMDNFXHUwMDNDXC9wXHUwMDNFXG4iLCJ0eXBlIjoiYm9vbGVhbiIsImxvZ2dlZCI6dHJ1ZSwib3B0aW9uYWwiOnRydWUsInN1YnR5cGUiOiJib29sZWFuIiwiZXhhbXBsZSI6InRydWUiLCJ1aWQiOjR9LCJsaW1pdCI6eyJkZWZhdWx0IjowLCJkZXNjIjoiXHUwMDNDcFx1MDAzRVRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byByZXR1cm4uIEZld2VyIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgaXRlbXMgbWF5IGJlIHJldHVybmVkLCBldmVuIGlmIHRoZSBlbmQgb2YgdGhlIHVzZXJzIGxpc3QgaGFzbid0IGJlZW4gcmVhY2hlZC5cdTAwM0NcL3BcdTAwM0VcbiIsInR5cGUiOiJpbnRlZ2VyIiwiZXhhbXBsZSI6IjIwIiwiaGlkZGVuIjpmYWxzZSwibG9nZ2VkIjp0cnVlLCJvcHRpb25hbCI6dHJ1ZSwic3VidHlwZSI6ImludGVnZXIiLCJ1aWQiOjJ9fTsKdmFyIGFwaV9tZXRob2RfbmFtZSA9ICJ1c2Vycy5saXN0IjsKCiB2YXIgZ2V0X2FwaV91cmwgPSBmdW5jdGlvbihiaXRzKSB7IHJldHVybiBhcGlfdXJsICsgJz8nICsgYml0cy5qb2luKCcmJyk7IH07IAoKdmFyIGlzX2ZsYW5uZWxfYXBpID0gZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfQoKdmFyIGhhbmRsZV9mbGFubmVsX2FwaV9jYWxsX3N1Ym1pdCA9IGZ1bmN0aW9uKCkge30KCnZhciBwcmVmb3JtYXR0ZWRfanNvbiA9IGZ1bmN0aW9uKGRhdGEpIHsKCS8vIExhc3QgdmFyIHRvIHN0cmluZ2lmeSBzaW11bGF0ZXMgcHJldHR5IHByaW50IGJ5IHRhYmJpbmcgb3ZlciA0IHNwYWNlcwoJcmV0dXJuICc8cHJlIHN0eWxlLSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdoaXRlLXNwYWNlOnByZS13cmFwIj4nICsKCQkJXy5lc2NhcGUoSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgNCkpICsKCQknPC9wcmU+JzsKfQoKdmFyIGdldF9hcGlfdG9rZW4gPSBmdW5jdGlvbigpIHsKCXZhciB0b2tlbiA9ICcnOwoKCXZhciB2ID0gJCgnI2FwaS10b2tlbicpLnZhbCgpOwoJdmFyIGJlYXJlcl90b2tlbiA9ICQoJyNhcGktYXJnLXRva2VuJykudmFsKCk7CgoJaWYgKGJlYXJlcl90b2tlbiAhPT0gJycpewoJCXRva2VuID0gYmVhcmVyX3Rva2VuOwoJfWVsc2V7CgkJZm9yICh2YXIgaj0wOyBqPGFwaV90b2tlbnMubGVuZ3RoOyBqKyspewoJCQlpZiAoYXBpX3Rva2Vuc1tqXS50ZWFtX2lkID09IHYpewoJCQkJdG9rZW4gPSBhcGlfdG9rZW5zW2pdLnRva2VuOwoJCQkJYnJlYWs7CgkJCX0KCQl9Cgl9CgoJaWYgKHYgPT0gJ2ludmFsaWQnKSB7CgkJdG9rZW4gPSAnaW52YWxpZCc7Cgl9CglyZXR1cm4gdG9rZW47Cn0KCiQoZnVuY3Rpb24oKXsKCSQoJyNhcGlfbWV0aG9kJykuY2hhbmdlKGZ1bmN0aW9uKCl7CgkJd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL21ldGhvZHMvJyskKHRoaXMpLnZhbCgpOwoJfSk7CgoJJCgnI2FwaS10b2tlbicpLmNoYW5nZShmdW5jdGlvbigpewoJCXZhciB0ZWFtX2lkID0gJCh0aGlzKS52YWwoKTsKCQl2YXIgdG9rZW4gPSBudWxsOwoKCQlmb3IgKHZhciBpPTA7IGk8YXBpX3Rva2Vucy5sZW5ndGg7IGkrKyl7CgkJCWlmIChhcGlfdG9rZW5zW2ldLnRlYW1faWQgPT0gdGVhbV9pZCl7CgkJCQl0b2tlbiA9IGFwaV90b2tlbnNbaV07CgkJCQlicmVhazsKCQkJfQoJCX0KCgkJZm9yICh2YXIgaSBpbiBhcGlfYXJncyl7CgkJCXZhciBhcmcgPSBhcGlfYXJnc1tpXSB8fCB7fTsKCQkJdmFyIGRlZl9sYWJlbCA9ICcnOwoJCQl2YXIgZGVmX3ZhbHVlID0gJyc7CgoJCQlpZiAodG9rZW4gJiYgdG9rZW4udG9rZW4pewoJCQkJaWYgKGFyZy5zdWJ0eXBlID09ICdjaGFubmVsJyl7CgkJCQkJZGVmX2xhYmVsID0gdG9rZW4uY2hhbm5lbF9uYW1lOwoJCQkJCWRlZl92YWx1ZSA9IHRva2VuLmNoYW5uZWxfaWQ7CgkJCQl9CgkJCQlpZiAoYXJnLnN1YnR5cGUgPT0gJ3VzZXInKXsKCQkJCQlkZWZfbGFiZWwgPSAnQCcrdG9rZW4udXNlcl9uYW1lOwoJCQkJCWRlZl92YWx1ZSA9IHRva2VuLnVzZXJfaWQ7CgkJCQl9CgkJCX0KCgkJCSQoJyNhcGktYXJnLWV4dHJhcy0nK2FyZy51aWQpLnRleHQoJycpOwoKCQkJaWYgKGRlZl9sYWJlbCl7CgkJCQkkKCcjYXBpLWFyZy1leHRyYXMtJythcmcudWlkKS5hcHBlbmQoJCgnPGE+JykudGV4dChkZWZfbGFiZWwpLmNsaWNrKChmdW5jdGlvbigpewoKCQkJCQl2YXIgdmFsID0gZGVmX3ZhbHVlOwoJCQkJCXZhciB1aWQgPSBhcmcudWlkOwoKCQkJCQlyZXR1cm4gZnVuY3Rpb24oKXsKCgkJCQkJCSQoJyNhcGktYXJnLScrdWlkKS52YWwodmFsKTsKCQkJCQl9OwoJCQkJfSkoKSkpOwoJCQl9CgkJfQoJfSkuY2hhbmdlKCk7CgoJJCgnI2FwaS10ZXN0LWZvcm0nKS5zdWJtaXQoZnVuY3Rpb24oKXsKCQlpZiAoaXNfZmxhbm5lbF9hcGkoKSkgewoJCQloYW5kbGVfZmxhbm5lbF9hcGlfY2FsbF9zdWJtaXQoKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJdmFyIGJpdHMgPSBbXTsKCQl2YXIgZmlsZSA9IG51bGw7CgkJdmFyIGNvbnRlbnQgPSBudWxsOwoKCQlmb3IgKHZhciBpIGluIGFwaV9hcmdzKXsKCQkJdmFyIGFyZyA9IGFwaV9hcmdzW2ldIHx8IHt9OwoJCQl2YXIgdmFsID0gJCgnI2FwaS1hcmctJythcmcudWlkKS52YWwoKTsKCgkJCWlmIChpID09ICd0b2tlbicpIHsKCQkJCXZhbCA9IGdldF9hcGlfdG9rZW4oKTsKCQkJfSBlbHNlIGlmIChhcmcuc3VidHlwZSA9PSAncG9zdF9maWxlJykgewoJCQkJZmlsZSA9ICQoJ2lucHV0OmZpbGUnKVswXS5maWxlc1swXTsKCQkJCXZhbCA9IG51bGw7CgkJCX0gZWxzZSBpZiAoaSA9PSAnY29udGVudCcpIHsKCQkJCWNvbnRlbnQgPSB2YWw7CgkJCX0KCgkJCWlmICh2YWwgJiYgdmFsLmxlbmd0aCl7CgkJCQliaXRzLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGkpKyc9JytlbmNvZGVVUklDb21wb25lbnQodmFsKSk7CgkJCX0KCQl9CgoJCXZhciBleHRyYSA9ICQoJyNhcGktYXJnLWV4dHJhJykudmFsKCk7CgkJaWYgKGV4dHJhICYmIGV4dHJhLmxlbmd0aCkgYml0cy5wdXNoKGV4dHJhKTsKCgkJYml0cy5wdXNoKCdwcmV0dHk9MScpOwoKCQl2YXIgdXJsID0gZ2V0X2FwaV91cmwoYml0cyk7CgoJCSQoJyNwcmV2aWV3LXVybCBjb2RlJykudGV4dCh1cmwpOwoJCSQoJyNwcmV2aWV3LXVybCBhJykuYXR0cignaHJlZicsIHVybCk7CgkJJCgnI3ByZXZpZXctdXJsJykuc2hvdygpOwoKCQlpZiAoJCh0aGlzKS5hdHRyKCdtZXRob2QnKSA9PT0gJ1BPU1QnKSB7CgkJCXZhciBmb3JtX2RhdGEgPSBuZXcgRm9ybURhdGEoKTsKCQkJaWYgKGZpbGUpIHsKCQkJCWlmIChhcGlfYXJnc1snaW1hZ2UnXSkgewoJCQkJCWZvcm1fZGF0YS5hcHBlbmQoJ2ltYWdlJywgZmlsZSk7CgkJCQl9IGVsc2UgewoJCQkJCWZvcm1fZGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWZvcm1fZGF0YS5hcHBlbmQoJ2NvbnRlbnQnLCBjb250ZW50KTsKCQkJfQoKCQkJJC5hamF4KHsKCQkJCXVybDogdXJsLAoJCQkJbWV0aG9kOiAnUE9TVCcsCgkJCQljb250ZW50VHlwZTogZmFsc2UsCgkJCQlwcm9jZXNzRGF0YTogZmFsc2UsCgkJCQljYWNoZTogZmFsc2UsCgkJCQlkYXRhOiBmb3JtX2RhdGEsCgkJCX0pLmRvbmUoZnVuY3Rpb24oZGF0YSkgewoJCQkJJCgnI2FwaS1wcmV2aWV3LWZyYW1lJykuYXR0cignc3JjZG9jJywgcHJlZm9ybWF0dGVkX2pzb24oZGF0YSkpLnNob3coKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJLy8gSWYgdGhlIG1ldGhvZCBpcyAnR0VUJyB0aGlzIHdpbGwgZGVmYXVsdCB0byByZWZyZXNoaW5nIGFuIGlmcmFtZSwgd2hpY2ggc2VuZHMKCQkJLy8gdGhlIHJlcXVlc3QgdG8gdGhlIGNvbnN0cnVjdGVkIHVybCBhbmQgZGlzcGxheXMgdGhlIHJlc3BvbnNlIGRhdGEKCQkJJCgnI2FwaS1wcmV2aWV3LWZyYW1lJykuYXR0cignc3JjJywgdXJsKS5zaG93KCk7CgkJfQoKCQlyZXR1cm4gZmFsc2U7Cgl9KTsKfSk7Cjwvc2NyaXB0PjxzY3JpcHQ+CQlobGpzLmNvbmZpZ3VyZSh7bGFuZ3VhZ2VzOiBbJ2pzb24nLCAnYmFzaCcsICdqYXZhc2NyaXB0JywgJ2h0dHAnXX0pOwoJCWhsanMuaW5pdEhpZ2hsaWdodGluZ09uTG9hZCgpOzwvc2NyaXB0PgoKPCEtLSBzbGFjay13d3ctaGh2bS1tYWluLWlhZC1raGZyLyAyMDIwLTAzLTE2IDA0OjE3OjE1LyB2YWE1YjRlMTE1YWFhYzA1MWVjYTk5OTYzMzUzODVkZmJlOTlmYzY4NC8gQjpIIC0tPgoKPC9ib2R5PjwvaHRtbD4= + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUT7ESHPU","team_id":"TV617KKKP","name":"pchelina.kate","deleted":false,"color":"e7392d","real_name":"Ekaterina","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"hello","phone":"","skype":"","real_name":"Ekaterina","real_name_normalized":"Ekaterina","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge00c4c4b571","first_name":"Ekaterina","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584084018},{"id":"UUUGBHPDH","team_id":"TV617KKKP","name":"katie.vandervoort","deleted":false,"color":"9f69e7","real_name":"katie.vandervoort","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katie.vandervoort","real_name_normalized":"katie.vandervoort","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g05c27faff1c","image_24":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584320106},{"id":"UUUL7E4HZ","team_id":"TV617KKKP","name":"katieslackapiproject","deleted":false,"color":"674b1b","real_name":"katieslackapiproject","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katieslackapiproject","real_name_normalized":"katieslackapiproject","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g5d44bcb8226","api_app_id":"AV8A54MK8","always_active":false,"bot_id":"BUW222YSD","image_24":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583869411},{"id":"UUWHGFP25","team_id":"TV617KKKP","name":"time_kate_api_project","deleted":false,"color":"e0a729","real_name":"time_kate_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_kate_api_project","real_name_normalized":"time_kate_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge2f423a0037","api_app_id":"AV665NBEY","always_active":true,"bot_id":"BV8S561GE","first_name":"time_kate_api_project","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584214923},{"id":"UV5GT0PBN","team_id":"TV617KKKP","name":"oliviamulholland94","deleted":false,"color":"4bbe2e","real_name":"Liv + Mulholland","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Liv + Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584360178,"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Mon, 16 Mar 2020 11:17:16 GMT + recorded_at: Mon, 16 Mar 2020 12:02:59 GMT recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb index 1b57ca35..0524d364 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -7,17 +7,12 @@ describe "Channel.new" do it "creates a new channel" do - new_channel = Channel.new(1, "name", "topic", "member_count") + new_channel = Channel.new(slack_id: 1, name: "name", topic: "topic", member_count: "member_count") expect(new_channel.name).must_equal "name" + expect(new_channel.slack_id).must_equal 1 expect(new_channel).must_be_kind_of Channel end - - it "raises error when Channel params are invalid" do - new_channel = Channel.new("acd", "bfg", 65, "topic", "member_count") - expect{new_channel}.must_raise ArgumentError - end - end describe "self.get" do @@ -38,22 +33,20 @@ end end - it "returns a valid list of channels" do - result = [] + describe "self.list" do + it "returns a valid list of channels" do + result = [] - VCR.use_cassette("channel-list-endpoint") do - result = Channel.list_all - end + VCR.use_cassette("channel-list-endpoint") do + result = Channel.list_all + end - expect(result).must_be_kind_of Array - expect(result.length).must_be :>, 0 - result.each do |channel| - expect(channel).must_be_kind_of Channel + expect(result).must_be_kind_of Array + expect(result.length).must_be :>, 0 + result.each do |channel| + expect(channel).must_be_kind_of Channel + end end end - - - - end \ No newline at end of file diff --git a/test/user_test.rb b/test/user_test.rb index 58ec1c5d..bc53c5b3 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -4,7 +4,7 @@ require_relative '../lib/user' describe "User" do - + describe "self.get" do it "gets a list of users" do result = {} From 7cba6ac516d5b567be6c3b98fa998578b73d7548 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 06:06:40 -0700 Subject: [PATCH 07/11] Works, sends messages. Needs tests. --- lib/recipient.rb | 4 ++-- lib/slack.rb | 22 +++++----------------- lib/workspace.rb | 39 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 44 insertions(+), 21 deletions(-) diff --git a/lib/recipient.rb b/lib/recipient.rb index 6ad0d852..04d35941 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -10,9 +10,9 @@ def initialize(slack_id:, name:) @name = name end - def send_message(msg_text) + def send(message) response = HTTParty.post( - "https://api.slack.com/methods/chat.postMessage", + "https://api.slack.com/api/chat.postMessage", body: { token: ENV['SLACK_TOKEN'], text: message, diff --git a/lib/slack.rb b/lib/slack.rb index b6977482..577dafba 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -12,7 +12,7 @@ def main workspace = Workspace.new puts "\n" - puts "Welcome to the Ada Slack CLI! This Slack workspace currently has #{workspace.users.count} users and #{workspace.channels.count} channels." + puts "Welcome to the Ada Slack CLI! This Slack workspace currently has #{workspace.users.length} users and #{workspace.channels.length} channels." user_input = input_prompt @@ -40,23 +40,11 @@ def main puts "\n" when "Details" - if workspace.selected == nil - puts "Please select a user or channel." - puts "\n" - else - workspace.show_details - user_input = nil - puts "\n" - end + workspace.show_details + when "Send message" - if workspace.selected == nil - puts "Please select a user or channel." - puts "\n" - else - print "Please enter your message: " - workspace.send_message - puts "\n" - end + workspace.send_message + else puts "Sorry, I didn't understand your request. Please try again." end diff --git a/lib/workspace.rb b/lib/workspace.rb index ce9e880e..00aff2f0 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -15,18 +15,53 @@ def initialize end def select_user + user_input = gets.chomp.upcase + @users.each do |user| + if (user.name.upcase || user.slack_id.upcase) == user_input + @selected = user + return @selected + end + end + if @selected == nil + raise SelectionError.new "The username or user id you entered is incorrect." + end end def select_channel + user_input = gets.chomp.upcase + @channels.each do |channel| + if (channel.name.upcase || channel.slack_id.upcase) == user_input + @selected = channel + return @selected + end + end + + if @selected == nil + raise SelectionError.new "The channel name or user id you entered is incorrect." + end end def show_details + if @selected == nil + puts "Unable to show details, as no recipient is selected." + puts "\n\n" + else + puts "The current recipient is: #{@selected.name}, #{@selected.slack_id}." + puts "\n\n" + end end - def send_message(message) - Recipient.send_message(message, @selected) + def send_message + if @selected == nil + puts "Please select a recipient before attempting to send a messsage." + puts "\n\n" + else + puts "Please enter your message: " + message = gets.chomp + @selected.send(message) + end end end From 89d5e2b25285c5b7de130447f4d99f18cc452025 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 07:01:13 -0700 Subject: [PATCH 08/11] List user/channel now not printing correctly, tests for recipient --- lib/recipient.rb | 1 - lib/user.rb | 7 +- test/cassettes/send.yml | 233 ++++++++++++++++++++++++++++++++++++++++ test/recipient_test.rb | 30 ++++++ test/user_test.rb | 9 ++ test/workspace_test.rb | 3 +- 6 files changed, 275 insertions(+), 8 deletions(-) create mode 100644 test/cassettes/send.yml create mode 100644 test/recipient_test.rb diff --git a/lib/recipient.rb b/lib/recipient.rb index 04d35941..8ad6d4f6 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -39,7 +39,6 @@ def self.get(url) def self.list_all raise NotImplementedError, "Define this method in a child class" end - end diff --git a/lib/user.rb b/lib/user.rb index d1ed8025..dfbef9b4 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -3,13 +3,12 @@ require_relative 'recipient' class User < Recipient - attr_reader :real_name, :status_text, :status_emoji + attr_reader :real_name, :status_text - def initialize(real_name:, status_text:, status_emoji:, name:, slack_id:) + def initialize(real_name:, status_text:, name:, slack_id:) super(slack_id: slack_id, name: name) @real_name = real_name - @status_emoji = status_emoji @status_text = status_text end @@ -18,7 +17,6 @@ def details "name" => @name, "slack_id" => @slack_id, "real_name" => @real_name, - "status_emoji" => @status_emoji, "status_text" => @status_text }] end @@ -32,7 +30,6 @@ def self.list_all name: user["name"], slack_id: user["id"], real_name: user["profile"]["real_name"], - status_emoji: user["profile"]["status_emoji"], status_text: user["profile"]["status_text"] ) end diff --git a/test/cassettes/send.yml b/test/cassettes/send.yml new file mode 100644 index 00000000..12c40649 --- /dev/null +++ b/test/cassettes/send.yml @@ -0,0 +1,233 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.slack.com/api/chat.postMessage + body: + encoding: UTF-8 + string: token=&text=hello%20world&channel=7 + headers: + Content-Type: + - application/x-www-form-urlencoded + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '60' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 13:23:35 GMT + Server: + - Apache + X-Slack-Req-Id: + - d7c355bab4d5808afa436b5237cdba50 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-w90z + X-Cache: + - Miss from cloudfront + Via: + - 1.1 599f04a365a179d553682d476509c389.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 2ACML9sHvZGWDmz1EQhv1kVpcVMUK9WPGMgUrrfTlSADVG65jOT5Yw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"channel_not_found"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 13:23:35 GMT +- request: + method: post + uri: https://api.slack.com/api/chat.postMessage + body: + encoding: UTF-8 + string: token=&text=hello&channel=CV60NTK4G + headers: + Content-Type: + - application/x-www-form-urlencoded + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '332' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 13:33:03 GMT + Server: + - Apache + X-Slack-Req-Id: + - 01a535622e551f2c75a228dfd3a1f579 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - r + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-4kab + X-Cache: + - Miss from cloudfront + Via: + - 1.1 995664ee945c06fc706b5cb8e0e650dc.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 6C2JSQdnyke1lu6L7DpTcJy2XODbrFOHFOfPLyr9svXemZTIWXgjVQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"CV60NTK4G","ts":"1584365583.001200","message":{"bot_id":"BV2JBMGJX","type":"message","text":"hello","user":"UV5GT0PBN","ts":"1584365583.001200","team":"TV617KKKP","bot_profile":{"id":"BV2JBMGJX","deleted":false,"name":"Space + - Olivia - API Project","updated":1584147630,"app_id":"A01028HT4FQ","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV617KKKP"}}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 13:33:03 GMT +- request: + method: post + uri: https://api.slack.com/api/chat.postMessage + body: + encoding: UTF-8 + string: token=&text=hello&channel=C01050CDZC6 + headers: + Content-Type: + - application/x-www-form-urlencoded + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '334' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 13:41:31 GMT + Server: + - Apache + X-Slack-Req-Id: + - 00d6b3856a567dccb1cd0269a767676b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-lxmb + X-Cache: + - Miss from cloudfront + Via: + - 1.1 331202b5b8aab67acbf389883133f257.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 9Nhh5MKWjskRN4deuI00MJawqun0SIEYmR8fHUwLeac6I8hVEYP5kg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"C01050CDZC6","ts":"1584366091.000700","message":{"bot_id":"BV2JBMGJX","type":"message","text":"hello","user":"UV5GT0PBN","ts":"1584366091.000700","team":"TV617KKKP","bot_profile":{"id":"BV2JBMGJX","deleted":false,"name":"Space + - Olivia - API Project","updated":1584147630,"app_id":"A01028HT4FQ","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV617KKKP"}}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 13:41:31 GMT +recorded_with: VCR 5.1.0 diff --git a/test/recipient_test.rb b/test/recipient_test.rb new file mode 100644 index 00000000..03b9026c --- /dev/null +++ b/test/recipient_test.rb @@ -0,0 +1,30 @@ +require_relative "test_helper" +require_relative '../lib/recipient' + +describe "Recipient" do + before do + @new_recipient = Recipient.new(slack_id: "C01050CDZC6", name: "name") + end + + it "initializes recipient with name and slack_id" do + expect(@new_recipient).must_be_kind_of Recipient + expect(@new_recipient.name).must_equal "name" + expect(@new_recipient.slack_id).must_equal "C01050CDZC6" + end + + describe "send method" do + it "sends a slack message" do + response = nil + message = "hello" + + VCR.use_cassette("send") do + response = @new_recipient.send(message) + end + + expect(response).must_be_kind_of HTTParty::Response + expect(response["ok"]).must_equal true + expect(response["channel"]).must_equal "C01050CDZC6" + expect(response["message"]["text"]).must_equal message + end + end +end \ No newline at end of file diff --git a/test/user_test.rb b/test/user_test.rb index bc53c5b3..0a8ed036 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -4,6 +4,15 @@ require_relative '../lib/user' describe "User" do + describe "User.new" do + it "creates a new user" do + new_user = User.new(slack_id: 8, name: "Liv", real_name: "Olivia", status_text: "tired, per usual") + + expect(new_user.name).must_equal "Liv" + expect(new_user.slack_id).must_equal 8 + expect(new_user).must_be_kind_of User + end + end describe "self.get" do it "gets a list of users" do diff --git a/test/workspace_test.rb b/test/workspace_test.rb index 7d2ab632..246292d2 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -4,8 +4,7 @@ require_relative '../lib/workspace' describe "Workspace" do - - + From 387b026556917a9ae15aba45cee1a6300e354d26 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 07:50:47 -0700 Subject: [PATCH 09/11] More tests, unexpected nilClass return for two --- lib/slack.rb | 6 +- lib/workspace.rb | 14 +- test/cassettes/channel-list-endpoint.yml | 54 +++--- test/cassettes/send.yml | 169 +----------------- test/cassettes/users-list-endpoint.yml | 209 ++++++++--------------- test/cassettes/workspace-data.yml | 168 ++++++++++++++++++ test/recipient_test.rb | 2 +- test/workspace_test.rb | 37 +++- 8 files changed, 315 insertions(+), 344 deletions(-) create mode 100644 test/cassettes/workspace-data.yml diff --git a/lib/slack.rb b/lib/slack.rb index 577dafba..dd7a3a17 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -31,12 +31,14 @@ def main when "Select user" print "Please enter user name or ID: " - puts workspace.select_user + user_input = gets.chomp.upcase + workspace.select_user(user_input) puts "\n" when "Select channel" print "Please enter channel name or ID: " - puts workspace.select_channel + user_input = gets.chomp.upcase + workspace.select_channel(user_input) puts "\n" when "Details" diff --git a/lib/workspace.rb b/lib/workspace.rb index 00aff2f0..c4c939fe 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -14,8 +14,7 @@ def initialize @selected = nil end - def select_user - user_input = gets.chomp.upcase + def select_user(user_input) @users.each do |user| if (user.name.upcase || user.slack_id.upcase) == user_input @selected = user @@ -23,24 +22,15 @@ def select_user end end - if @selected == nil - raise SelectionError.new "The username or user id you entered is incorrect." - end - end - def select_channel - user_input = gets.chomp.upcase + def select_channel(user_input) @channels.each do |channel| if (channel.name.upcase || channel.slack_id.upcase) == user_input @selected = channel return @selected end end - - if @selected == nil - raise SelectionError.new "The channel name or user id you entered is incorrect." - end end def show_details diff --git a/test/cassettes/channel-list-endpoint.yml b/test/cassettes/channel-list-endpoint.yml index 3f604a69..8e7be7b1 100644 --- a/test/cassettes/channel-list-endpoint.yml +++ b/test/cassettes/channel-list-endpoint.yml @@ -25,7 +25,7 @@ http_interactions: Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:17:13 GMT + - Mon, 16 Mar 2020 14:49:37 GMT Server: - Apache Strict-Transport-Security: @@ -44,26 +44,26 @@ http_interactions: X-Content-Type-Options: - nosniff X-Slack-Req-Id: - - 8dda3ff8e50053f6c0f5a04da52a094d + - 1ecbe6f45819fb27086d9d56cc109dd1 X-Xss-Protection: - '0' Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-lxhd + - haproxy-www-dph4 X-Cache: - Miss from cloudfront Via: - - 1.1 aa623e134417515bd2496cb01d5e5626.cloudfront.net (CloudFront) + - 1.1 174acb08636ac7d9e9a778bbf1bcbc53.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - SEA19-C1 X-Amz-Cf-Id: - - th9ySEUjkw6u5It1JhF0et6ySES52-LNzvtrmhITcMvaoQGTygygoA== + - l4njQlBeRrwND0yiBL_PVFqwYr4ttmxo-a7CXWxw-nevkh8Fx_AaAw== body: encoding: ASCII-8BIT string: '{"ok":false,"error":"unknown_method","req_method":"bogus.endpoint"}' http_version: null - recorded_at: Mon, 16 Mar 2020 11:17:14 GMT + recorded_at: Mon, 16 Mar 2020 14:49:38 GMT - request: method: get uri: https://slack.com/api/conversations.list?token= @@ -85,15 +85,15 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '762' + - '811' Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:17:14 GMT + - Mon, 16 Mar 2020 14:49:38 GMT Server: - Apache X-Slack-Req-Id: - - 238b9d00e4a810673362fb28ed4035f6 + - 8aad180573f7adabaf2d3385689b1701 X-Oauth-Scopes: - identify,channels:read,users:read,chat:write X-Accepted-Oauth-Scopes: @@ -101,7 +101,7 @@ http_interactions: Access-Control-Expose-Headers: - x-slack-req-id, retry-after X-Slack-Backend: - - h + - r X-Content-Type-Options: - nosniff Expires: @@ -124,27 +124,27 @@ http_interactions: Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-w90z + - haproxy-www-bylg X-Cache: - Miss from cloudfront Via: - - 1.1 b4085435efbe95a420f374958bd145bf.cloudfront.net (CloudFront) + - 1.1 10b37ec1ede3e33f11dd42b87558cd1f.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - SEA19-C1 X-Amz-Cf-Id: - - TflaxTrpMF_u4bmvtAWzdetjbilcGVjMg-ZFW57yeW84UtG6VpsN5g== + - jNjDwvxfnfKuKZblDwKrIfv_-z65srdMWy-6lZ9WhcnVjMSBAok-zg== body: encoding: ASCII-8BIT string: '{"ok":true,"channels":[{"id":"CUT6XEYR0","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide announcements and work-based matters","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"This channel is for workspace-wide communication and announcements. All members - are in this channel.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CUT6ZCFGS","name":"rand_channel2","is_channel":true,"is_group":false,"is_im":false,"created":1583865776,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"rand_channel2","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CUUGBK77D","name":"slack-api-project","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api-project","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV1D0TP50","name":"test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584165197,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test_channel","is_shared":false,"parent_conversation":null,"creator":"UUT7ESHPU","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"for - testing","creator":"UUT7ESHPU","last_set":1584165198},"previous_names":[],"num_members":1},{"id":"CV60NTK4G","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + are in this channel.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CUT6ZCFGS","name":"rand_channel2","is_channel":true,"is_group":false,"is_im":false,"created":1583865776,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"rand_channel2","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CUUGBK77D","name":"slack-api-project","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api-project","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":3},{"id":"CV1D0TP50","name":"test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584165197,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test_channel","is_shared":false,"parent_conversation":null,"creator":"UUT7ESHPU","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"for + testing","creator":"UUT7ESHPU","last_set":1584165198},"previous_names":[],"num_members":1},{"id":"CV60NTK4G","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work banter and water cooler conversation","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber - you''d prefer to keep out of more focused work-related channels.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CV8KPL19U","name":"katiestestchannel","is_channel":true,"is_group":false,"is_im":false,"created":1583879041,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"katiestestchannel","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + you''d prefer to keep out of more focused work-related channels.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":4},{"id":"CV8KPL19U","name":"katiestestchannel","is_channel":true,"is_group":false,"is_im":false,"created":1583879041,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"katiestestchannel","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"C01050CDZC6","name":"olivias_spam","is_channel":true,"is_group":false,"is_im":false,"created":1584365923,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"olivias_spam","is_shared":false,"parent_conversation":null,"creator":"UV5GT0PBN","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Mon, 16 Mar 2020 11:17:14 GMT + recorded_at: Mon, 16 Mar 2020 14:49:38 GMT - request: method: get uri: https://api.slack.com/api/conversations.list?token= @@ -166,15 +166,15 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '762' + - '811' Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:17:14 GMT + - Mon, 16 Mar 2020 14:49:38 GMT Server: - Apache X-Slack-Req-Id: - - bc101409e6fd36d5eec148bae32fc90a + - d538eed86461a02978663b6eca14ce93 X-Oauth-Scopes: - identify,channels:read,users:read,chat:write X-Accepted-Oauth-Scopes: @@ -205,25 +205,25 @@ http_interactions: Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-ty4a + - haproxy-www-ghzf X-Cache: - Miss from cloudfront Via: - - 1.1 d8792dbd3191bbe722eba5b536b979c8.cloudfront.net (CloudFront) + - 1.1 61bc723adb3b1884ed759711e84e13a9.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - SEA19-C2 X-Amz-Cf-Id: - - jN40SlqfumW4YVHsQ8RDVVcinXv1aBKV23ZOYZL4a-OUCPg6urJl6A== + - l9c0ToTMCdnrwKcB5DCJULRyyYXKLXlbiLEXxJZfiCi4uGPQToEpwg== body: encoding: ASCII-8BIT string: '{"ok":true,"channels":[{"id":"CUT6XEYR0","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide announcements and work-based matters","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"This channel is for workspace-wide communication and announcements. All members - are in this channel.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CUT6ZCFGS","name":"rand_channel2","is_channel":true,"is_group":false,"is_im":false,"created":1583865776,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"rand_channel2","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CUUGBK77D","name":"slack-api-project","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api-project","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV1D0TP50","name":"test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584165197,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test_channel","is_shared":false,"parent_conversation":null,"creator":"UUT7ESHPU","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"for - testing","creator":"UUT7ESHPU","last_set":1584165198},"previous_names":[],"num_members":1},{"id":"CV60NTK4G","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + are in this channel.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CUT6ZCFGS","name":"rand_channel2","is_channel":true,"is_group":false,"is_im":false,"created":1583865776,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"rand_channel2","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CUUGBK77D","name":"slack-api-project","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api-project","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":3},{"id":"CV1D0TP50","name":"test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584165197,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test_channel","is_shared":false,"parent_conversation":null,"creator":"UUT7ESHPU","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"for + testing","creator":"UUT7ESHPU","last_set":1584165198},"previous_names":[],"num_members":1},{"id":"CV60NTK4G","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work banter and water cooler conversation","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber - you''d prefer to keep out of more focused work-related channels.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CV8KPL19U","name":"katiestestchannel","is_channel":true,"is_group":false,"is_im":false,"created":1583879041,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"katiestestchannel","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + you''d prefer to keep out of more focused work-related channels.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":4},{"id":"CV8KPL19U","name":"katiestestchannel","is_channel":true,"is_group":false,"is_im":false,"created":1583879041,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"katiestestchannel","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"C01050CDZC6","name":"olivias_spam","is_channel":true,"is_group":false,"is_im":false,"created":1584365923,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"olivias_spam","is_shared":false,"parent_conversation":null,"creator":"UV5GT0PBN","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Mon, 16 Mar 2020 11:17:15 GMT + recorded_at: Mon, 16 Mar 2020 14:49:38 GMT recorded_with: VCR 5.1.0 diff --git a/test/cassettes/send.yml b/test/cassettes/send.yml index 12c40649..fd32f030 100644 --- a/test/cassettes/send.yml +++ b/test/cassettes/send.yml @@ -1,158 +1,5 @@ --- http_interactions: -- request: - method: post - uri: https://api.slack.com/api/chat.postMessage - body: - encoding: UTF-8 - string: token=&text=hello%20world&channel=7 - headers: - Content-Type: - - application/x-www-form-urlencoded - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 200 - message: OK - headers: - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '60' - Connection: - - keep-alive - Date: - - Mon, 16 Mar 2020 13:23:35 GMT - Server: - - Apache - X-Slack-Req-Id: - - d7c355bab4d5808afa436b5237cdba50 - X-Oauth-Scopes: - - identify,channels:read,users:read,chat:write - X-Accepted-Oauth-Scopes: - - chat:write - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - X-Slack-Backend: - - h - X-Content-Type-Options: - - nosniff - Expires: - - Mon, 26 Jul 1997 05:00:00 GMT - Cache-Control: - - private, no-cache, no-store, must-revalidate - X-Xss-Protection: - - '0' - Vary: - - Accept-Encoding - Pragma: - - no-cache - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Referrer-Policy: - - no-referrer - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-w90z - X-Cache: - - Miss from cloudfront - Via: - - 1.1 599f04a365a179d553682d476509c389.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - 2ACML9sHvZGWDmz1EQhv1kVpcVMUK9WPGMgUrrfTlSADVG65jOT5Yw== - body: - encoding: ASCII-8BIT - string: '{"ok":false,"error":"channel_not_found"}' - http_version: null - recorded_at: Mon, 16 Mar 2020 13:23:35 GMT -- request: - method: post - uri: https://api.slack.com/api/chat.postMessage - body: - encoding: UTF-8 - string: token=&text=hello&channel=CV60NTK4G - headers: - Content-Type: - - application/x-www-form-urlencoded - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 200 - message: OK - headers: - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '332' - Connection: - - keep-alive - Date: - - Mon, 16 Mar 2020 13:33:03 GMT - Server: - - Apache - X-Slack-Req-Id: - - 01a535622e551f2c75a228dfd3a1f579 - X-Oauth-Scopes: - - identify,channels:read,users:read,chat:write - X-Accepted-Oauth-Scopes: - - chat:write - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - X-Slack-Backend: - - r - X-Content-Type-Options: - - nosniff - Expires: - - Mon, 26 Jul 1997 05:00:00 GMT - Cache-Control: - - private, no-cache, no-store, must-revalidate - X-Xss-Protection: - - '0' - Vary: - - Accept-Encoding - Pragma: - - no-cache - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Referrer-Policy: - - no-referrer - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-4kab - X-Cache: - - Miss from cloudfront - Via: - - 1.1 995664ee945c06fc706b5cb8e0e650dc.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - 6C2JSQdnyke1lu6L7DpTcJy2XODbrFOHFOfPLyr9svXemZTIWXgjVQ== - body: - encoding: ASCII-8BIT - string: '{"ok":true,"channel":"CV60NTK4G","ts":"1584365583.001200","message":{"bot_id":"BV2JBMGJX","type":"message","text":"hello","user":"UV5GT0PBN","ts":"1584365583.001200","team":"TV617KKKP","bot_profile":{"id":"BV2JBMGJX","deleted":false,"name":"Space - - Olivia - API Project","updated":1584147630,"app_id":"A01028HT4FQ","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV617KKKP"}}}' - http_version: null - recorded_at: Mon, 16 Mar 2020 13:33:03 GMT - request: method: post uri: https://api.slack.com/api/chat.postMessage @@ -180,11 +27,11 @@ http_interactions: Connection: - keep-alive Date: - - Mon, 16 Mar 2020 13:41:31 GMT + - Mon, 16 Mar 2020 14:49:37 GMT Server: - Apache X-Slack-Req-Id: - - 00d6b3856a567dccb1cd0269a767676b + - 119c20734a0feaebf21f6dea8790ad21 X-Oauth-Scopes: - identify,channels:read,users:read,chat:write X-Accepted-Oauth-Scopes: @@ -215,19 +62,19 @@ http_interactions: Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-lxmb + - haproxy-www-5fln X-Cache: - Miss from cloudfront Via: - - 1.1 331202b5b8aab67acbf389883133f257.cloudfront.net (CloudFront) + - 1.1 98aedae6661e3904540676966998ed89.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C1 + - SEA19-C2 X-Amz-Cf-Id: - - 9Nhh5MKWjskRN4deuI00MJawqun0SIEYmR8fHUwLeac6I8hVEYP5kg== + - YyDZaZpw2GAVwFOfTajdv_VZt0WqiqoLpahFpNpLYzzudkUwa0MLWg== body: encoding: ASCII-8BIT - string: '{"ok":true,"channel":"C01050CDZC6","ts":"1584366091.000700","message":{"bot_id":"BV2JBMGJX","type":"message","text":"hello","user":"UV5GT0PBN","ts":"1584366091.000700","team":"TV617KKKP","bot_profile":{"id":"BV2JBMGJX","deleted":false,"name":"Space + string: '{"ok":true,"channel":"C01050CDZC6","ts":"1584370177.000800","message":{"bot_id":"BV2JBMGJX","type":"message","text":"hello","user":"UV5GT0PBN","ts":"1584370177.000800","team":"TV617KKKP","bot_profile":{"id":"BV2JBMGJX","deleted":false,"name":"Space - Olivia - API Project","updated":1584147630,"app_id":"A01028HT4FQ","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV617KKKP"}}}' http_version: null - recorded_at: Mon, 16 Mar 2020 13:41:31 GMT + recorded_at: Mon, 16 Mar 2020 14:49:37 GMT recorded_with: VCR 5.1.0 diff --git a/test/cassettes/users-list-endpoint.yml b/test/cassettes/users-list-endpoint.yml index 9b1c0a78..12254b2d 100644 --- a/test/cassettes/users-list-endpoint.yml +++ b/test/cassettes/users-list-endpoint.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://slack.com/api/bogus.endpoint?token= + uri: https://api.slack.com/api/users.list?token= body: encoding: US-ASCII string: '' @@ -21,118 +21,69 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '80' + - '1809' Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:34:15 GMT + - Mon, 16 Mar 2020 14:49:36 GMT Server: - Apache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Referrer-Policy: - - no-referrer - X-Slack-Backend: - - h + X-Slack-Req-Id: + - c1c56e6527a0aea6a782746674ce5511 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read Access-Control-Expose-Headers: - x-slack-req-id, retry-after - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Slack-Req-Id: - - 427471206af909c36626ebf60812309e - X-Xss-Protection: - - '0' - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-h1l4 - X-Cache: - - Miss from cloudfront - Via: - - 1.1 32c16f33c8f5601364fa8229b0d74dc3.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C2 - X-Amz-Cf-Id: - - MqE2G03o-4ZC_XWWofDX_-BrmoZSIcU-XZSDwhjVrxHHjfybyktkCA== - body: - encoding: ASCII-8BIT - string: '{"ok":false,"error":"unknown_method","req_method":"bogus.endpoint"}' - http_version: null - recorded_at: Mon, 16 Mar 2020 11:34:15 GMT -- request: - method: get - uri: https://api.slack.com/users.list?token= - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Content-Type: - - text/html; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Date: - - Mon, 16 Mar 2020 11:35:45 GMT - Server: - - Apache - X-Xss-Protection: - - '0' - Referrer-Policy: - - no-referrer - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload X-Slack-Backend: - h + X-Content-Type-Options: + - nosniff Expires: - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' Vary: - Accept-Encoding Pragma: - no-cache - Cache-Control: - - private, no-cache, no-store, must-revalidate - X-Robots-Tag: - - noindex,nofollow - Set-Cookie: - - b=5ji3bh50v46k6zthobmgn7l0; expires=Sat, 16-Mar-2030 11:35:45 GMT; Max-Age=315532800; - path=/; domain=.slack.com; secure; SameSite=None - - x=5ji3bh50v46k6zthobmgn7l0.1584358545; expires=Mon, 16-Mar-2020 11:50:45 GMT; - Max-Age=900; path=/; domain=.slack.com; secure; SameSite=None - X-Frame-Options: - - SAMEORIGIN + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" X-Via: - - haproxy-www-xfo1 + - haproxy-www-gnio X-Cache: - - Error from cloudfront + - Miss from cloudfront Via: - - 1.1 591683988172c7980c4ebb318cbf18a9.cloudfront.net (CloudFront) + - 1.1 d6a002c70d55f415107618b0750d493d.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - SEA19-C2 X-Amz-Cf-Id: - - x5ImGi3g5z0aBLjBllh_cQ-RGiTvt6ti0RmLtvoFYGta_yLZjZeMOg== + - O2W7yZ0_G056dUyI4Pd386duAH9gnWAFOplDS7NdrGjnlCB0UBFvDg== body: encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4tVVMiIGNsYXNzPSIiPjxoZWFkPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3dlYnBhY2subWFuaWZlc3QuMmYxZTNlYTY3MmNkN2JmN2FlZjAubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdD53aW5kb3cudHNfZW5kcG9pbnRfdXJsID0gImh0dHBzOlwvXC9zbGFjay5jb21cL2JlYWNvblwvdGltaW5nIjsoZnVuY3Rpb24oZSkgewoJdmFyIG49RGF0ZS5ub3c/RGF0ZS5ub3coKTorbmV3IERhdGUscj1lLnBlcmZvcm1hbmNlfHx7fSx0PVtdLGE9e30saT1mdW5jdGlvbihlLG4pe2Zvcih2YXIgcj0wLGE9dC5sZW5ndGgsaT1bXTthPnI7cisrKXRbcl1bZV09PW4mJmkucHVzaCh0W3JdKTtyZXR1cm4gaX0sbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgcixhPXQubGVuZ3RoO2EtLTspcj10W2FdLHIuZW50cnlUeXBlIT1lfHx2b2lkIDAhPT1uJiZyLm5hbWUhPW58fHQuc3BsaWNlKGEsMSl9O3Iubm93fHwoci5ub3c9ci53ZWJraXROb3d8fHIubW96Tm93fHxyLm1zTm93fHxmdW5jdGlvbigpe3JldHVybihEYXRlLm5vdz9EYXRlLm5vdygpOituZXcgRGF0ZSktbn0pLHIubWFya3x8KHIubWFyaz1yLndlYmtpdE1hcmt8fGZ1bmN0aW9uKGUpe3ZhciBuPXtuYW1lOmUsZW50cnlUeXBlOiJtYXJrIixzdGFydFRpbWU6ci5ub3coKSxkdXJhdGlvbjowfTt0LnB1c2gobiksYVtlXT1ufSksci5tZWFzdXJlfHwoci5tZWFzdXJlPXIud2Via2l0TWVhc3VyZXx8ZnVuY3Rpb24oZSxuLHIpe249YVtuXS5zdGFydFRpbWUscj1hW3JdLnN0YXJ0VGltZSx0LnB1c2goe25hbWU6ZSxlbnRyeVR5cGU6Im1lYXN1cmUiLHN0YXJ0VGltZTpuLGR1cmF0aW9uOnItbn0pfSksci5nZXRFbnRyaWVzQnlUeXBlfHwoci5nZXRFbnRyaWVzQnlUeXBlPXIud2Via2l0R2V0RW50cmllc0J5VHlwZXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGkoImVudHJ5VHlwZSIsZSl9KSxyLmdldEVudHJpZXNCeU5hbWV8fChyLmdldEVudHJpZXNCeU5hbWU9ci53ZWJraXRHZXRFbnRyaWVzQnlOYW1lfHxmdW5jdGlvbihlKXtyZXR1cm4gaSgibmFtZSIsZSl9KSxyLmNsZWFyTWFya3N8fChyLmNsZWFyTWFya3M9ci53ZWJraXRDbGVhck1hcmtzfHxmdW5jdGlvbihlKXtvKCJtYXJrIixlKX0pLHIuY2xlYXJNZWFzdXJlc3x8KHIuY2xlYXJNZWFzdXJlcz1yLndlYmtpdENsZWFyTWVhc3VyZXN8fGZ1bmN0aW9uKGUpe28oIm1lYXN1cmUiLGUpfSksZS5wZXJmb3JtYW5jZT1yLCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJihkZWZpbmUuYW1kfHxkZWZpbmUuYWpzKSYmZGVmaW5lKCJwZXJmb3JtYW5jZSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gcn0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUKfSkod2luZG93KTs8L3NjcmlwdD48c2NyaXB0PgoKKGZ1bmN0aW9uKCkgewoJCgl3aW5kb3cuVFNNYXJrID0gZnVuY3Rpb24obWFya19sYWJlbCkgewoJCWlmICghd2luZG93LnBlcmZvcm1hbmNlIHx8ICF3aW5kb3cucGVyZm9ybWFuY2UubWFyaykgcmV0dXJuOwoJCXBlcmZvcm1hbmNlLm1hcmsobWFya19sYWJlbCk7Cgl9OwoJd2luZG93LlRTTWFyaygnc3RhcnRfbG9hZCcpOwoKCQoJd2luZG93LlRTTWVhc3VyZUFuZEJlYWNvbiA9IGZ1bmN0aW9uKG1lYXN1cmVfbGFiZWwsIHN0YXJ0X21hcmtfbGFiZWwpIHsKCQlpZiAoIXdpbmRvdy5wZXJmb3JtYW5jZSB8fCAhd2luZG93LnBlcmZvcm1hbmNlLm1hcmsgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZS5tZWFzdXJlKSB7CgkJCXJldHVybjsKCQl9CgoJCXBlcmZvcm1hbmNlLm1hcmsoc3RhcnRfbWFya19sYWJlbCArICdfZW5kJyk7CgoJCXRyeSB7CgkJCXBlcmZvcm1hbmNlLm1lYXN1cmUobWVhc3VyZV9sYWJlbCwgc3RhcnRfbWFya19sYWJlbCwgc3RhcnRfbWFya19sYWJlbCArICdfZW5kJyk7CgkJCXdpbmRvdy5UU0JlYWNvbihtZWFzdXJlX2xhYmVsLCBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKG1lYXN1cmVfbGFiZWwpWzBdLmR1cmF0aW9uKTsKCQl9IGNhdGNoIChlKSB7CgkJCQoJCX0KCX07CgoJCglpZiAoJ3NlbmRCZWFjb24nIGluIG5hdmlnYXRvcikgewoJCXdpbmRvdy5UU0JlYWNvbiA9IGZ1bmN0aW9uKGxhYmVsLCB2YWx1ZSkgewoJCQl2YXIgZW5kcG9pbnRfdXJsID0gd2luZG93LnRzX2VuZHBvaW50X3VybCB8fCAnaHR0cHM6Ly9zbGFjay5jb20vYmVhY29uL3RpbWluZyc7CgkJCW5hdmlnYXRvci5zZW5kQmVhY29uKAoJCQkJZW5kcG9pbnRfdXJsICsgJz9kYXRhPScgKyBlbmNvZGVVUklDb21wb25lbnQobGFiZWwgKyAnOicgKyB2YWx1ZSksCgkJCQknJwoJCQkpOwoJCX07Cgl9IGVsc2UgewoJCXdpbmRvdy5UU0JlYWNvbiA9IGZ1bmN0aW9uKGxhYmVsLCB2YWx1ZSkgewoJCQl2YXIgZW5kcG9pbnRfdXJsID0gd2luZG93LnRzX2VuZHBvaW50X3VybCB8fCAnaHR0cHM6Ly9zbGFjay5jb20vYmVhY29uL3RpbWluZyc7CgkJCW5ldyBJbWFnZSgpLnNyYyA9IGVuZHBvaW50X3VybCArICc/ZGF0YT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGxhYmVsICsgJzonICsgdmFsdWUpOwoJCX07Cgl9Cn0pKCk7Cjwvc2NyaXB0PjxzY3JpcHQ+d2luZG93LlRTTWFyaygnc3RlcF9sb2FkJyk7PC9zY3JpcHQ+PG5vc2NyaXB0PjxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7IFVSTD0vdXNlcnMubGlzdD90b2tlbj08U0xBQ0tfVE9LRU4+JmFtcDtub2pzbW9kZT0xIj48L25vc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgc2FmZV9ob3N0cyA9IFsnYXBwLm9wdGltaXplbHkuY29tJ107CgppZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7Cgl3aW5kb3cuZG9jdW1lbnQud3JpdGUoCgkJJ1x1MDAzQ3N0eWxlPmJvZHkgKiB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVx1MDAzQy9zdHlsZT5cdTAwM0NhIGhyZWY9IiMiIG9uY2xpY2s9JyArCgkJCScidG9wLmxvY2F0aW9uLmhyZWY9d2luZG93LmxvY2F0aW9uLmhyZWYiIHN0eWxlPSJkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7cGFkZGluZzoxMHB4Ij5HbyB0byBTbGFjay5jb21cdTAwM0MvYT4nCgkpOwp9CgooZnVuY3Rpb24oKSB7Cgl2YXIgdGltZXI7CglpZiAoc2VsZiAhPT0gdG9wICYmIHNhZmVfaG9zdHMuaW5kZXhPZih0b3AubG9jYXRpb24uaG9zdCkgPT09IC0xKSB7CgkJdGltZXIgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CgkJCWlmICh3aW5kb3cpIHsKCQkJCXRyeSB7CgkJCQkJdmFyIHBhZ2VFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlJyk7CgkJCQkJdmFyIGNsaWVudEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsaWVudC11aScpOwoJCQkJCXZhciBzZWN0aW9uRWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbmF2LCBoZWFkZXIsIHNlY3Rpb24nKTsKCgkJCQkJcGFnZUVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocGFnZUVsKTsKCQkJCQljbGllbnRFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNsaWVudEVsKTsKCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNlY3Rpb25FbHMubGVuZ3RoOyBpKyspIHsKCQkJCQkJc2VjdGlvbkVsc1tpXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlY3Rpb25FbHNbaV0pOwoJCQkJCX0KCQkJCQl3aW5kb3cuVFMgPSBudWxsOwoJCQkJCXdpbmRvdy5URCA9IG51bGw7CgkJCQkJd2luZG93LmNsZWFySW50ZXJ2YWwodGltZXIpOwoJCQkJfSBjYXRjaCAoZSkge30JCgkJCX0KCQl9LCAyMDApOwoJfQp9KSgpOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4Kd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107CndpbmRvdy5kYXRhTGF5ZXIucHVzaCh7CgknZ3RtLnN0YXJ0JzogRGF0ZS5ub3coKSwKCSdldmVudCcgOiAnZ3RtLmpzJywKCSdzZWN1cmVfcGFnZScgOiBmYWxzZSwKfSk7CnZhciBmaXJzdFNjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsKdmFyIHRoaXNTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKdGhpc1NjcmlwdC5hc3luYyA9IHRydWU7CnRoaXNTY3JpcHQuc3JjID0gJy8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD1HVE0tS0gyTFBLJzsKZmlyc3RTY3JpcHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpc1NjcmlwdCwgZmlyc3RTY3JpcHQpOwo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbihlKSB7Cgl2YXIgZ3RtRGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKCXZhciBndG1UYWdzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnKltkYXRhLWd0bS1jbGlja10nKTsKCXZhciBndG1DbGlja0hhbmRsZXIgPSBmdW5jdGlvbihjKSB7CgkJdmFyIGd0bV9ldmVudHMgPSB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1ndG0tY2xpY2snKTsKCQlpZiAoIWd0bV9ldmVudHMpIHJldHVybjsKCQl2YXIgZ3RtX2V2ZW50c19hcnIgPSBndG1fZXZlbnRzLnNwbGl0KCIsIik7CgkJZm9yKHZhciBlPTA7IGUgPCBndG1fZXZlbnRzX2Fyci5sZW5ndGg7IGUrKykgewoJCQl2YXIgZXYgPSBndG1fZXZlbnRzX2FycltlXS50cmltKCk7CgkJCWd0bURhdGFMYXllci5wdXNoKHsgJ2V2ZW50JzogZXYgfSk7CgkJfQoJfTsKCWZvcih2YXIgZz0wOyBnIDwgZ3RtVGFncy5sZW5ndGg7IGcrKyl7CgkJdmFyIGVsZW0gPSBndG1UYWdzW2ddOwoJCWVsZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBndG1DbGlja0hhbmRsZXIpOwoJfQp9KTsKPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgooZnVuY3Rpb24oZSxjLGIsZixkLGcsYSl7ZS5TbGFja0JlYWNvbk9iamVjdD1kOwplW2RdPWVbZF18fGZ1bmN0aW9uKCl7KGVbZF0ucT1lW2RdLnF8fFtdKS5wdXNoKFsxKm5ldyBEYXRlKCksYXJndW1lbnRzXSl9OwplW2RdLmw9MSpuZXcgRGF0ZSgpO2c9Yy5jcmVhdGVFbGVtZW50KGIpO2E9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZShiKVswXTsKZy5hc3luYz0xO2cuc3JjPWY7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnLGEpCn0pKHdpbmRvdyxkb2N1bWVudCwic2NyaXB0IiwiaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvc2xhY2tfYmVhY29uLjUyNTZjMWYyNTJmOWFlODg1MDcxLm1pbi5qcyIsInNiIik7CndpbmRvdy5zYignc2V0JywgJ3Rva2VuJywgJzMzMDdmNDM2OTYzZTAyZDRmOWViODVjZTUxNTk3NDRjJyk7CndpbmRvdy5zYigndHJhY2snLCAncGFnZXZpZXcnKTsKPC9zY3JpcHQ+PG1ldGEgbmFtZT0icmVmZXJyZXIiIGNvbnRlbnQ9Im5vLXJlZmVycmVyIj48bWV0YSBuYW1lPSJzdXBlcmZpc2giIGNvbnRlbnQ9Im5vZmlzaCI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBUU19sYXN0X2xvZ19kYXRlID0gbnVsbDsKdmFyIFRTTWFrZUxvZ0RhdGUgPSBmdW5jdGlvbigpIHsKCXZhciBkYXRlID0gbmV3IERhdGUoKTsKCgl2YXIgeSA9IGRhdGUuZ2V0RnVsbFllYXIoKTsKCXZhciBtbyA9IGRhdGUuZ2V0TW9udGgoKSsxOwoJdmFyIGQgPSBkYXRlLmdldERhdGUoKTsKCgl2YXIgdGltZSA9IHsKCSAgaDogZGF0ZS5nZXRIb3VycygpLAoJICBtaTogZGF0ZS5nZXRNaW51dGVzKCksCgkgIHM6IGRhdGUuZ2V0U2Vjb25kcygpLAoJICBtczogZGF0ZS5nZXRNaWxsaXNlY29uZHMoKQoJfTsKCglPYmplY3Qua2V5cyh0aW1lKS5tYXAoZnVuY3Rpb24obW9tZW50LCBpbmRleCkgewoJCWlmIChtb21lbnQgPT0gJ21zJykgewoJCQlpZiAodGltZVttb21lbnRdIDwgMTApIHsKCQkJCXRpbWVbbW9tZW50XSA9IHRpbWVbbW9tZW50XSsnMDAnOwoJCQl9IGVsc2UgaWYgKHRpbWVbbW9tZW50XSA8IDEwMCkgewoJCQkJdGltZVttb21lbnRdID0gdGltZVttb21lbnRdKycwJzsKCQkJfQoJCX0gZWxzZSBpZiAodGltZVttb21lbnRdIDwgMTApIHsKCQkJdGltZVttb21lbnRdID0gJzAnICsgdGltZVttb21lbnRdOwoJCX0KCX0pOwoKCXZhciBzdHIgPSB5ICsgJy8nICsgbW8gKyAnLycgKyBkICsgJyAnICsgdGltZS5oICsgJzonICsgdGltZS5taSArICc6JyArIHRpbWUucyArICcuJyArIHRpbWUubXM7CglpZiAoVFNfbGFzdF9sb2dfZGF0ZSkgewoJCXZhciBkaWZmID0gZGF0ZS1UU19sYXN0X2xvZ19kYXRlOwoJCS8vc3RyKz0gJyAoJytkaWZmKydtcyknOwoJfQoJVFNfbGFzdF9sb2dfZGF0ZSA9IGRhdGU7CglyZXR1cm4gc3RyKycgJzsKfQoKdmFyIHBhcnNlRGVlcExpbmtSZXF1ZXN0ID0gZnVuY3Rpb24oY29kZSkgewoJdmFyIG0gPSBjb2RlLm1hdGNoKC8iaWQiOiIoW0NER11bQS1aMC05XXs4LH0pIi8pOwoJdmFyIGlkID0gbSA/IG1bMV0gOiBudWxsOwoKCW0gPSBjb2RlLm1hdGNoKC8idGVhbSI6IihUW0EtWjAtOV17OCx9KSIvKTsKCXZhciB0ZWFtID0gbSA/IG1bMV0gOiBudWxsOwoKCW0gPSBjb2RlLm1hdGNoKC8ibWVzc2FnZSI6IihbMC05XStcLlswLTldKykiLyk7Cgl2YXIgbWVzc2FnZSA9IG0gPyBtWzFdIDogbnVsbDsKCglyZXR1cm4geyBpZDogaWQsIHRlYW06IHRlYW0sIG1lc3NhZ2U6IG1lc3NhZ2UgfTsKfQoKaWYgKCdyZW5kZXJlckV2YWxBc3luYycgaW4gd2luZG93KSB7Cgl2YXIgb3JpZ1JlbmRlcmVyRXZhbEFzeW5jID0gd2luZG93LnJlbmRlcmVyRXZhbEFzeW5jOwoJd2luZG93LnJlbmRlcmVyRXZhbEFzeW5jID0gZnVuY3Rpb24oYmxvYikgewoJCXRyeSB7CgkJCXZhciBkYXRhID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoYXRvYihibG9iKSkpOwoJCQlpZiAoZGF0YS5jb2RlLm1hdGNoKC9oYW5kbGVEZWVwTGluay8pKSB7CgkJCQl2YXIgcmVxdWVzdCA9IHBhcnNlRGVlcExpbmtSZXF1ZXN0KGRhdGEuY29kZSk7CgkJCQlpZiAoIXJlcXVlc3QuaWQgfHwgIXJlcXVlc3QudGVhbSB8fCAhcmVxdWVzdC5tZXNzYWdlKSByZXR1cm47CgoJCQkJcmVxdWVzdC5jbWQgPSAnY2hhbm5lbCc7CgkJCQlUU1NTQi5oYW5kbGVEZWVwTGlua1dpdGhBcmdzKEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpKTsKCQkJCXJldHVybjsKCQkJfSBlbHNlIHsKCQkJCW9yaWdSZW5kZXJlckV2YWxBc3luYyhibG9iKTsKCQkJfQoJCX0gY2F0Y2ggKGUpIHsKCQl9Cgl9Cn08L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+dmFyIFRTU1NCID0gewoJY2FsbDogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQp9Ozwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgewoJdmFyIHdhc19UUyA9IHdpbmRvdy5UUzsKCWRlbGV0ZSB3aW5kb3cuVFM7CglpZiAod2FzX1RTKSB3aW5kb3cuVFMgPSB3YXNfVFM7Cn0pOzwvc2NyaXB0Pjx0aXRsZT5UaGVyZSdzIGJlZW4gYSBnbGl0Y2jigKYgfCBTbGFjazwvdGl0bGU+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzY2YTUyL3N0eWxlL3JvbGx1cC1zbGFja19raXRfbGVnYWN5X2FkYXB0ZXJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS82NjhlYjQvc3R5bGUvcm9sbHVwLXBsYXN0aWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvbW9kZXJuLnZlbmRvci41NjA4MTA2Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48bGluayBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9hcHBsaWNhdGlvbi4wMDM3ZjAzLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48bGluayBocmVmPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vZjE5NWMzL3N0eWxlL3JvbGx1cC1zbGFja19raXRfaGVscGVycy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgaWQ9InNsYWNrX2tpdF9oZWxwZXJzX3N0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2YwMjBhOC9zdHlsZS80MDQuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2U1M2JmOC9zdHlsZS9zdGlja3lfbmF2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS85NWFiYTAvc3R5bGUvZm9vdGVyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxsaW5rIGhyZWY9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS8wNDE1Yy9zdHlsZS9saWJzL2xhdG8tMi1jb21wcmVzc2VkLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIj48bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJTbGFjayI+PG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJUaGVyZSdzIGJlZW4gYSBnbGl0Y2jigKYiPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzgwNTg4L2ltZy80MDQvNDA0LW1ldGEtdGh1bWIuanBnIj48bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IldlJ3JlIG5vdCBxdWl0ZSBzdXJlIHdoYXQgd2VudCB3cm9uZy4gWW91IGNhbiBnbyBiYWNrLCBvciB0cnkgbG9va2luZyBvbiBvdXIgJmx0O2EgaHJlZj0mcXVvdDtodHRwOi8vZ2V0LnNsYWNrLmhlbHAmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyZndDtIZWxwIENlbnRlciZsdDsvYSZndDsgaWYgeW91IG5lZWQgYSBoYW5kLiI+PG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9zbGFjay5jb20vdXNlcnMubGlzdCI+PGxpbmsgaWQ9ImZhdmljb24iIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tLzgwNTg4L21hcmtldGluZy9pbWcvbWV0YS9mYXZpY29uLTMyLnBuZyIgc2l6ZXM9IjE2eDE2IDMyeDMyIDQ4eDQ4IiB0eXBlPSJpbWFnZS9wbmciPjwvaGVhZD48Ym9keSBjbGFzcz0iIGRlcHJlY2F0ZWQiPjxzY3JpcHQ+dmFyIHcgPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApOwppZiAodyA+IDE0NDApIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5jbGFzc0xpc3QuYWRkKCd3aWRlc2NyZWVuJyk7PC9zY3JpcHQ+PG5hdiBjbGFzcz0idG9wIHBlcnNpc3RlbnQiPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tLyIgY2xhc3M9ImxvZ28iIGRhdGEtcWE9ImxvZ28iIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWxvZ28iIGFyaWEtbGFiZWw9IlNsYWNrIGhvbWVwYWdlIj48L2E+PHVsPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9pcyIgZGF0YS1xYT0icHJvZHVjdCIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpY2luZz91aV9zdGVwPTU1JnVpX2VsZW1lbnQ9NSIgZGF0YS1xYT0icHJpY2luZyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3ByaWNpbmciPlByaWNpbmc8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9nZXQuc2xhY2suaGVscC9oYy9lbi11cyIgZGF0YS1xYT0ic3VwcG9ydCIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGkgY2xhc3M9Im1vYmlsZV9idG4gZG93bmxvYWRfc2xhY2siPjxhIGhyZWY9Ii9nZXQiIGRhdGEtcWE9ImRvd25sb2FkX3NsYWNrIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1uYXZfZG93bmxvYWQiPkRvd25sb2FkIFNsYWNrPC9hPjwvbGk+PGxpPjxhIGRhdGEtZ3RtLWNsaWNrPSJTaWduVXAsb3B0b3V0X25hdl9jcmVhdGVfdGVhbSIgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vY3JlYXRlIiBjbGFzcz0iIiBkYXRhLXFhPSJjcmVhdGVfdGVhbSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2NyZWF0ZV90ZWFtIj5DcmVhdGUgYSBuZXcgd29ya3NwYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2dldC1zdGFydGVkIiBkYXRhLWd0bS1jbGljaz0ib3B0b3V0X25hdl9maW5kX3RlYW0iIGRhdGEtcWE9ImZpbmRfdGVhbSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2ZpbmRfdGVhbSI+RmluZCB5b3VyIHdvcmtzcGFjZTwvYT48L2xpPjxsaSBjbGFzcz0ic2lnbl9pbiBoaWRlX29uX21vYmlsZSI+PGEgZGF0YS1ndG0tY2xpY2s9Im9wdG91dF9uYXZfc2lnbmluIiBocmVmPSJodHRwczovL3NsYWNrLmNvbS9zaWduaW4iIGNsYXNzPSJidG5fc3RpY2t5IGJ0bl9maWxsZWQiIGRhdGEtcWE9InNpZ25faW4iIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PW5hdl9zaWduX2luIj5TaWduIGluPC9hPjwvbGk+PGxpIGNsYXNzPSJtb2JpbGVfYnRuIG1vYmlsZV9tZW51X2J0biI+PGEgaHJlZj0iIyIgY2xhc3M9ImJ0bl9zdGlja3kiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PW5hdl9tb2JpbGVfbWVudV9idG4iPk1lbnU8L2E+PC9saT48L3VsPjwvbmF2PjxuYXYgY2xhc3M9Im1vYmlsZV9tZW51IGxvYWRpbmcgbWVudV9zY3JvbGwiIGFyaWEtaGlkZGVuPSJ0cnVlIj48ZGl2IGNsYXNzPSJtb2JpbGVfbWVudV93cmFwcGVyIj48ZGl2IGNsYXNzPSJtb2JpbGVfbWVudV9oZWFkZXIiPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tLyIgY2xhc3M9ImxvZ28iIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PW5hdl9sb2dvIj48L2E+PGEgaHJlZj0iIyIgY2xhc3M9ImNsb3NlIiBhcmlhLWxhYmVsPSJjbG9zZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X21lbnVfY2xvc2UiPjx0cy1pY29uIGNsYXNzPSJ0c19pY29uIHRzX2ljb25fdGltZXMiPjwvdHMtaWNvbj48L2E+PC9kaXY+PHVsPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9pcyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpY2luZz91aV9zdGVwPTU1JnVpX2VsZW1lbnQ9NSIgY2xhc3M9Im1vYmlsZV9uYXZfcHJpY2luZyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3ByaWNpbmciPlByaWNpbmc8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9nZXQuc2xhY2suaGVscC9oYy9lbi11cyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iL2dldCIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2Rvd25sb2FkIj5Eb3dubG9hZCA8c3BhbiBjbGFzcz0ib3B0aW9uYWxfZGVza3RvcF9uYXZfbWVzc2FnZSI+dGhlIFNsYWNrIGFwcDwvc3Bhbj48L2E+PC9saT48L3VsPjx1bCBjbGFzcz0ibW9iaWxlX21lbnVfZm9vdGVyIj48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vc2lnbmluIiBkYXRhLWd0bS1jbGljaz0ib3B0b3V0X25hdl9zaWduaW4iIHRhcmdldD0iX2JsYW5rIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1uYXZfc2lnbl9pbiI+PHRzLWljb24gY2xhc3M9InRzX2ljb24gc21hbGwgZmxvYXRfbm9uZSB0ZWFtX2ljb24gdHNfaWNvbl9wbHVzIGRlZmF1bHQgc2lnbnVwX2ljb24iPjwvdHMtaWNvbj48c3BhbiBjbGFzcz0ic3dpdGNoZXJfbGFiZWwiPlNpZ24gaW48L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGRhdGEtZ3RtLWNsaWNrPSJTaWduVXAsb3B0b3V0X25hdl9jcmVhdGVfdGVhbSIgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vY3JlYXRlIiBjbGFzcz0iIiB0YXJnZXQ9Il9ibGFuayIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9bmF2X2NyZWF0ZV90ZWFtIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbiBzbWFsbCBmbG9hdF9ub25lIHRlYW1faWNvbiBjLWljb24tLXNsYWNrIGRlZmF1bHQgc2lnbnVwX2ljb24iPjwvdHMtaWNvbj48c3BhbiBjbGFzcz0ic3dpdGNoZXJfbGFiZWwiPkNyZWF0ZSBhIG5ldyB3b3Jrc3BhY2U8L3NwYW4+PC9hPjwvbGk+PC91bD48L2Rpdj48L25hdj48ZGl2IGlkPSJwYWdlIiBjbGFzcz0iIj48ZGl2IGlkPSJwYWdlX2NvbnRlbnRzIiBkYXRhLXFhPSJwYWdlX2NvbnRlbnRzIiBjbGFzcz0iIj48ZGl2IGlkPSJwcmVsb2FkIj48L2Rpdj48ZGl2IGlkPSJjb250ZW50IiBkYXRhLWJhY2tncm91bmQ9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS84MDU4OC9pbWcvNDA0L21hcnJha2VzaC1tZWFkb3ctODAuanBnIj48aW1nIGlkPSJiYWNrZ3JvdW5kIiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyI+PGRpdiBpZD0ic3ByaXRlLXdyYXBwZXIiPjxkaXYgY2xhc3M9InNwcml0ZSBwaWdneSBwaWdneV9jaGV3aW5nIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgY2hpY2tlbiBjaGlja2VuX3dhbGtfbHIiPjxkaXYgY2xhc3M9InN1Yl9zcHJpdGUiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBjaGlja2VuIGNoaWNrZW5fcGVja18yeCBmbGlwcGVkIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgcGlnZ3kgcGlnZ3lfd2FsayBwaWdneV93YWxrX2xyIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgY2hpY2tlbiBjaGlja2VuX3dhbGtfcmwgZmxpcHBlZCI+PGRpdiBjbGFzcz0ic3ViX3Nwcml0ZSI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic3ByaXRlIHBpZ2d5IHBpZ2d5X3dhbGsgZmxpcHBlZCBwaWdneV93YWxrX3JsIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9hbmdsZSBidXR0ZXJmbHlfYW5nbGVfbHIiPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X2FuZ2xlXzEgYnV0dGVyZmx5X2FuZ2xlXzFfbHIiPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X3Jvb2tlZCBidXR0ZXJmbHlfcm9va2VkX2xyIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9zaWRlIGJ1dHRlcmZseV9zaWRlX2xyIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9hbmdsZSBmbGlwcGVkIGJ1dHRlcmZseV9hbmdsZV9ybCBib3R0b20iPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X2FuZ2xlXzEgZmxpcHBlZCBidXR0ZXJmbHlfYW5nbGVfMV9ybCBib3R0b20iPjwvZGl2PjxkaXYgY2xhc3M9InNwcml0ZSBidXR0ZXJmbHkgYnV0dGVyZmx5X3Jvb2tlZCBmbGlwcGVkIGJ1dHRlcmZseV9yb29rZWRfcmwgYm90dG9tIj48L2Rpdj48ZGl2IGNsYXNzPSJzcHJpdGUgYnV0dGVyZmx5IGJ1dHRlcmZseV9zaWRlIGZsaXBwZWQgYnV0dGVyZmx5X3NpZGVfcmwgYm90dG9tIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJsb2FkZXIiPjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+PHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9InVpbC1oZWFydCI+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9MTAwIGhlaWdodD0xMDAgZmlsbD0ibm9uZSIgY2xhc3M9ImJrIj48L3JlY3Q+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAgNTApIj48Zz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTAgLTUwKSI+PHBhdGggZD0iTTkwLDMwLjJjMC0xMS05LTIwLjEtMjAtMjAuMXMtMjAsOS4xLTIwLDIwLjJjMCwwLjIsMC0wLjMsMCwwLjdINTBjMC0xLDAtMC42LDAtMC44YzAtMTEtOS0yMC4xLTIwLTIwLjFzLTIwLDkuMS0yMCwyMC4yIGMwLDAuMiwwLTAuMywwLDAuN2gwYzAuMywyMCwzMCwzOS41LDQwLDU1YzEwLTE1LjUsMzkuNy0zNSw0MC01NWgwQzkwLDMwLDkwLDMwLjQsOTAsMzAuMnoiIGZpbGw9IiNmMDIiPjwvcGF0aD48L2c+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgZnJvbT0iMS4zIiB0bz0iMC45IiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgY2FsY01vZGU9InNwbGluZSIgdmFsdWVzPSIxLjM7MC45OzEuMTswLjkiIGtleVRpbWVzPSIwOzAuMzswLjMwMTsxIiBrZXlTcGxpbmVzPSIwIDAuNzUgMC4yNSAxOzAgMSAwIDE7MCAuNzUgLjI1IDEiPjwvYW5pbWF0ZVRyYW5zZm9ybT48L2c+PC9nPjwvc3ZnPjwvZGl2PjxkaXYgY2xhc3M9ImNhcmQiPjxoMT48aSBjbGFzcz0idHNfaWNvbiB0c19pY29uX3dhcm5pbmcgbXVzdGFyZF95ZWxsb3ciPjwvaT5UaGVyZeKAmXMgYmVlbiBhIGdsaXRjaOKApjwvaDE+PHA+V2XigJlyZSBub3QgcXVpdGUgc3VyZSB3aGF0IHdlbnQgd3JvbmcuIFlvdSBjYW4gZ28gYmFjaywgb3IgdHJ5IGxvb2tpbmcgb24gb3VyIDxhIGhyZWY9Imh0dHA6Ly9nZXQuc2xhY2suaGVscC9oYy9lbi11cyIgdGFyZ2V0PSJfYmxhbmsiPkhlbHAgQ2VudGVyPC9hPiBpZiB5b3UgbmVlZCBhIGhhbmQuPC9wPjwvZGl2Pjxub3NjcmlwdD48c3R5bGU+I2xvYWRlciB7CgkJCQkJCWRpc3BsYXk6IG5vbmU7CgkJCQkJfTwvc3R5bGU+PC9ub3NjcmlwdD48c2NyaXB0PgovLyBmaXJlIDQwNAp3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKd2luZG93LmRhdGFMYXllci5wdXNoKHsKCSdldmVudCcgOiAnRXJyb3I0MDQnLAp9KTsKCihmdW5jdGlvbigpIHsKCS8vIHF1aWNrIGhhY2s6IDgtYml0IGFscGhhLWZyaWVuZGx5IGxvZ28KCXZhciBsb2dvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hlYWRlcl9sb2dvJyk7Cgl2YXIgYWx0X3NyYyA9ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVBBQUFBQklDQU1BQUFEL0VvaTRBQUFDK2xCTVZFVUFBQUFvRlNjcUlqRW9KVE1yTERRck1qZzFNRGs3TXpncU9EMDlOVG8vT0QxQ09qOUVQRUZGUFVOSVBVaE5QRW05SHlsSlFVYlBGMXhNUkVsaVBWRmRQMUN3SjFxOEtTcFBSMHpNSVZmTElWdVJNMVNySzFrd1VrNkxObGlHT0Zjc1ZWSEJMU2RUU2svUEpsNVZUVkl6V0UvTkswNi9OQ2pSSzJaWlVWYkNOeXJOTTBVeVlGVmNWRm5QTmt4ZlZsd3VabHJRTldoaFdGN0pQalprVzJIVU9uSEpSVGZGU0NwblgyUnFZbWRzWkduVlJIWElVU2h1Wld0eGFHN01WVExKV0N4MWJIRkxlVzRhakhSNGNIWGFVb04wY25aZ2dEVmVnRHM3aDJ0OGMza3ppMjRoa0hob2dqZUFkbnpiV29aN2VYMTBoallqbUhoN2hqalNjQ3lIZm9RMG1IbC9pVFF1bW9DRmlEVjRpMEdEZ1lXR2lUYlFkQzFIbFh6Z1pvNThqMFdIaFlsQW5YaUpoNHZnYlpMVWVUOHRwWDdVZkNwK2trNDZvMzNnYjVtTWlvNCtwbzJqa1RYZmRadVFqcExXaEN1U2tKU25sREE0cm9hdWxESTVyNGVWazVjOHNZbERyWitIb0dmamY2T1pscHFEb201QnRZMmNtWjdqaHFlQ3FYK2ZuYUdBcW9iY21TN09uaXRTdVpHaW9LVFZuaTVRdlp2bWo2MmxvNmZnb1N1cHBxcGZ3SjludmFyZXBqYm9sN05zdmJHdHFxOTJ2Yk55dnJtd3JiTGlxa0p0dzZScHdjaHZ3Y0t5cjdSd3hxYnJvYnB0eGN6aHNVNjJ0TGh2eDg1Nng4OSt5cXpsdFZtNnVMenNxY0IreTlUbnVHSyt1OERrdW1LSXo3anVzY2Jsdld2QnY4T1B6dExFd2NiSnc4S1YxTDdxdzNmdnVzekl4c3JNeDhXWDFkbk15Yzd0eDRIdXlZbWoyc1hSek1yeHd0UFB6ZEdqMmQvVXpzM1QwTlhqMFovczBKU28zdVRZMHRHeDM4enp5OXJYMU5udjFKNnkzK2JjMTlYbzJLeTQ0ZUs4NHREYjJOengyS2ZmMmRqejA5Kzg1dHJsM2J6ZjNPSHozTEhqM3R6RjV1bm00Ti9JNnVESTZlemw0dWYzNHIzcTVPUDU0T3JwNXV2NTVzZlU3ZkxWNytiNTZNL3Q2dS93NnVuYjhPLzY2UEQ3N2RyaDgrenc3dkwzOE52bTgvVDI4Ty93OHUvNTcvWDI4L2owOXZQdStQUDY5dWYrOXU3eitQdjg5dlg2K2UvNCt2ZjgrZjcyKy83Lyt2bjYvUG44L3Z2ZWd2MXVBQUFBQVhSU1RsTUFRT2JZWmdBQUNnZEpSRUZVZUFIbDJnVjRFMmtleC9ILzZudHBzYWJydnFVclNBNkh0bHg3Rzl6ZFlkMFh5WGFsMlNPNDB4VDNMbWx3RDFxNVd5UzR1eC9kWG5IYlNvcVVhVW1lNTZhWnladi9aTjdKTkpBVDZPZnhmYkR2emk5dk01TkFLYm1nTExtMGZKSjUwdnJyVUVhNDFwdmRKcDJDc21HNzJlTjNLQXYrTUZNcFRpZ0Q5cHE5L2hPanR2ZHRwNCtKaVcyWENjR1ExU29tT2lvNkptNElQTENsS0hnVkJGOFVFU1JETUF3bm9xS2dCRSs2QjBGWGx3aW1RakNZaUNnWEh0VGZ6Zi9aVGRjZ2dpUUlodmhBZ2wzSDF5MVlkOXdGVXIrYjVadStlMjdmam9NNUVCUTZJaGdEd1dBZ29pdWc2dUlFWTRrSkYwSENPY2xuMDNmUHBGdmMwdTlDRUZRaGd1RVFESDFMSDN4anNGRXcyS2Q0dlJrNXdOZFNTNEpSSEVrRVE0SWJuQTBxbk9PTUhoT1VOajMycCs2ZldMQWQ4UEFpZ2hyOE9SRmxnb3AvR3IyT3N6Yk4xelp2MGFMdGRBdDJOM2pCcHVBR253VVY2MUR3QXQ5Tjg3VTkrZG9TZ3l6WUJYaG9MLzFuZ2srRGlnVW9lREFIMkltZitvaTF2RjRXN0Z6d2doT0NHM3dTVkt3d3NqZGRmQzU5VHRzV1hzMm40ZUFjZUdqaFJCQWYzT0Nqb09JNERsN2dyWjNIWjMyQ2dpV2JYZzNCQ3piOGw0TTVJOFo1YTNuRFVDL2U5UHdjZUhoaFFRM3VTMFQ3UWYxRmpCd1Nhd1VLbTU1L0ZZSVkzRGU0d1hzZ2dFMy8vRzAvdmhiNXBnWHlONHZidkIxM0lRQk8rNWhXZFNQS2gxV0pialo4WTZGNjhPV04xaGxKeWJhZHVhRHM4aDdiMU1RWmkvWTdHTUU3QWN1MkhYWEtOajFZclAycVUrUEdqZWZnWHZtbTU2V2ZLNFlBT01aRUVFU2p0eFg1Q1hiWkRkNWZydnZVenY0ZmFJZ2tIclhqOS9nTnRvWVFFaG8zM001Sk4wMXJlYitnWE5tbVpiVnFVbDhpdnNLbk9zR3RQQkY4RGlJdTBmZFhSNldCTDFzVklsVmprVk1TdkJXOFpoQlIrZUdTVGROYVhnK0wwcWE3LzdRTkFwUklXR3BjbGdSL0NvSmxrVVRPNUFUc1pEU1JxM3NVM3kyaFdVd2xWRmVnaWkra3QybU16TFpnSThUYXpqK01NcHVYUW1Dc2hDMkJFY3gxSlV3ZEFFa3JSMWhDMHdEaTVjRkphQ29GOU9mdGx2a1dTdzhjek5oMDUvNThiWWw3RUlqTG9ZVE5LZzkyMUNZS3hnQ1ZyQ0Zzc1FBSlJMU1pNYSs2NHVtV3c5ZVcrQVgxeWpiZGthLzFPQUtCNkUzWXdqbDVjQ3BSZEJoRXlyOW1oandZOTliSWd4S3VIZlF5b2w3cE9iM2s0QWt6RXRDbXVWQmFPUHhvUVZIZXpxbHhranQrenp4N0E0L1RFUlk4Nml0aFJJR09ROCswTm9MYkdOUjdFOXhvcjJ6VHREWUh3RGtURjk4R2RiSUxVdVVLSGJrcGpKQ3dBa1l3YlBXOEhwc2xwcTVkbGlBZVR2aUdELytuaUUrVEZpVVBhVkxlYzFGUmNJWlM3d1dheTl6MGtoMDU2Rmxld0p2R20wb0ZyNEl4c2N0QUd0d1ZQWlFLSDVNTGd2MHh4R080NzZDcjJFRGd0TVdKcndrY3pPNkZMU2g0dG5UVGZPMVZGNGpPNCtDRkQvSllyUUNZeXFOZ1lkU2hReHhBY2JGRUZPZHpnZlg0RDl5b3ErSUEzaEFpU2xQb2hTVW9XTHJwaWQ1YWVJaE45NVdPVEMwWXpwcXVBSlpGUktHY01IbFJWQkZnbkpBL0hBVXplMkdlaGJucFRsLzkvS3VmNTlON0grQ3pnUEpXOVdBNWRFMVBBenFGTlpuKy83WlUzRnM3RjRCNWhXZlRXaVB2Rm1DWG1KdSsvNjk4OEc4Um9TSVROaGNFSHR3YlQ2UXV3V2VjSEsxY2kzcnI1b0hYUVF2V2c5YnlkZ0hta20vNjJ0eW1sYlhhV3VQOU5qdENDRmFsUTZLOVNEMll5OTV2MzMrV2s3d21yQUM1eEdPenloRVpRYWdvQnlERjgxSHZ2Q25mL21pa2ZEYjlEK21tOCtlMjE0b2FYZ3ZzalVlb2ZoSG5MM2huM3hvYWNSTWRySGw5MFp1dG5VUVV3Z0ZURXBFSmRZREVWVnJNM3dRNUJ4c1I1VTJQL0xMOUsxcXZodmRCV1c0NGtRdEw0cFNDMDJvVE5oUEFHdnFxQkpWZ1pCRkk1V3h4MytDZXVZdWU1Zm5kOU1ndURWNnM5SzRXV3d4KzdBa2pERFd5bWNFY0hvVHNaaU1adlcxbW1rcmtRbytDaitLY25HTDBQTjd2cGtkK3lOZnk2bWl4OXVCUFpqUmhlQ2xMZkFDQWc3a1lvaHlNTG1BVDFXQWtJaGNVK2QwMHJlVlYxV0wxMUk1cTFreGpYU2hZUEhhN0VtWHhBRmExS3p5RHNNUTVnY24vcGd0WC9wV3ZwU1NiYmdocTlwaWlOY1NIVFJhY0labEFWTFBldldNMCtBcW5FWkVPMkpJVnh5SGpmOU9GRzc2b3JLMlBlcVdiL2c1S29URERGQk1xdXdFS3c3ZUhVY1NqOXBpVDRwblhBZjJyOXhPUkpsZjlZY05VdEc5YlFKc3VLcW5sVlVPOTBrMXZnbExpN0orVzl4N1Z2c0hadEdlcUN6eVdvVk82a0Y3dk5hcHZjNUlBOU1TamZHYXBOODNYdmk5bXZZd25qVGY5QlFRZ3R4M3g0TkFuRDUvaVYrQlVWb01KdjgvVXF3VVBCNERMWWNTakxsZXFUYy9hTklDdnBlb3dOMTE1OG4wSVNETWl5a2JCbjZOdmFMemtaQjI4US9EdEg3RURKcHRETTkrRng0TUMxMmo2UEw3bDYwKytRR05sbTM1UFBLL0dYd1AvMXZTMm9nQjhENWVIUGozc2k4NW9QU0FHZk0zMmVJKzBLNERzVHl5QUVqYWZZNm9Kb1RiNjMvVFByZDk2OG9rbm5uaE9LL0cyejZickRUMEdhdlpyK0VGdEJDU09DRUxBSjloelBsVUJMMGNFZW11Sjc0Y2pUNE9ITTBsRFlqamdyY1g3bDQ0NndxRzRhYjcySGI2MnhMTzBWYjdwK3FoV21VdTR3WWxaVXlTN2hZdkczd0F3NEp1L2JQQW9pQ01laWU2NUVDckVJUHd5YnBIT1BXSW5maUJpa2gvYlhZSE45ZEU3VHoxQnZhYkYva3hyMy83Zyt4UlFoVWNXMWpVcDlmUlIyL0FxK0J6RndlaW5hQTBIQ0RJaWlmU1h1NklJb210bitGUmZEcDBDR2VnRkx4dDFLakFjRzFxdkFxMlZiL285ZCsyTEgzeHY1djBSeUZjTDVjcmZ4TUVKQUhCVFEwUmhKdnZwekxWRHFoQUJPcnF6eWhNbFZvRE4rQVV2RzNVdW81YVBlaE1IeXpmOTRsKytOZ3UyZ3pxT0tFcVVmNm1sSGZFakdmM2tZV29Ic0ZVV2pILzlweUN4cWFFUTlZcjQrbVZ1bXErbFNyVnBQVkdnNStUZjA4b3VSNVJaV1RjSVNFUW1Pc1hIQU5XQnNCOGJES0JWa2swL3I2VXFmN3l5TU1XTWxHYlRuSUV3UlRsWTM4U3phZVFkc3Z0YVd3aXpOeHNBanVMNWlISmZJaDVWT0tBbWE2azNXSnQrcGYzS2ZQejllSlZOSXh1amlKeUJBNEZPK2krMCtWNWpVNmIwL1RCK1dvMzF2Z204MCtpRW8xTHhwekVlK2VnSmhtelRmTzNpZkhDN2pvTlRvSFRzVFRRK2M3YURSdzJmZDVOWFdrbDJrQXFYaVdndGZqT2pJeExSVzhFdEV3ZkxIaFdIeDZXQngyS2FLOTkwMDduNVFLVTgwUFBwd2xSRDNYRHhBTllQendTdjVObzFkRHBkamFqVDRIRTJvYTVHdUdNeWJBWmUzeWJOOVBwbVRicGVBZXgwWW15b2VOcEhKMldEeU5rN0xpYWFGM2NZRUs1SjNRNG02OVk4MWl0WXR1ay9OYm9HbUdUVGx5QVF6c3Y3ajJZN1hLQ095OXAvOURJSGFoeFpPemVlZFVEZ3BNRm8wOC9VL014b3ZBSFlkV253STJ1eUZxdjRCTy9wbXQyTUpYNERERzk2a2hNZVdkY3E0K0JYbjNpNmVqZUZyeE9mTWxQcjRSRTJIaitURy9xUkVaRnUycm5RTEpwNUJ4NWxBOFhhV2dOM3UvQzNpV1didnJkUTdMMEVqN1pqM3pXczFYVGdwdnZBdTRpREo0Q1U4OGpDU2VhVTdVNTRuSXhtYlJweHdtTkdzdW5qOFBpVGJQb1FsQUY0MHhlaERQak5TSTJHc29BYmpSL0hsd1VYQjR1OUs2Q011UEdyZTgrN1hGQm0zTHB4NDVZVEhpdi9Cb3VZU0s5WVRUVG5BQUFBQUVsRlRrU3VRbUNDJzsKCWlmIChsb2dvKSB7CgkJbG9nbyA9IGxvZ28uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpWzBdOwoJCWlmICghbG9nbykgcmV0dXJuOwoJCWxvZ28uc3JjID0gYWx0X3NyYzsKCX0KfSgpKTsKPC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0ib3ZlcmxheSI+PC9kaXY+PC9kaXY+PGZvb3RlciBkYXRhLXFhPSJmb290ZXIiPjxzZWN0aW9uIGNsYXNzPSJsaW5rcyI+PGRpdiBjbGFzcz0iZ3JpZCI+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8xIj5Vc2luZyBTbGFjazwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2lzIiBkYXRhLXFhPSJwcm9kdWN0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3Byb2R1Y3QiPlByb2R1Y3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZW50ZXJwcmlzZSIgZGF0YS1xYT0iZW50ZXJwcmlzZV9mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9lbnRlcnByaXNlIj5FbnRlcnByaXNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3ByaWNpbmc/dWlfc3RlcD0yOCZ1aV9lbGVtZW50PTUiIGRhdGEtcWE9InByaWNpbmdfZm9vdGVyIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2dldC5zbGFjay5oZWxwL2hjL2VuLXVzIiBkYXRhLXFhPSJzdXBwb3J0X2Zvb3RlciIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N1cHBvcnQiPlN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZ3VpZGVzIiBkYXRhLXFhPSJnZXR0aW5nX3N0YXJ0ZWQiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9nZXR0aW5nX3N0YXJ0ZWQiPlNsYWNrIEd1aWRlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS9hcHBzIiBkYXRhLXFhPSJhcHBfZGlyZWN0b3J5IiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfYXBwX2RpcmVjdG9yeSI+QXBwIERpcmVjdG9yeTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2FwaS5zbGFjay5jb20vIiBkYXRhLXFhPSJhcGkiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9hcGkiPkFQSTwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0iY29sIHNwYW5fMV9vZl80IG5hdl9jb2wiPjx1bD48bGkgY2xhc3M9ImNhdF8yIj5TbGFjayA8dHMtaWNvbiBjbGFzcz0idHNfaWNvbl9oZWFydCI+PC90cy1pY29uPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2pvYnMiIGRhdGEtcWE9ImpvYnMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9qb2JzIj5Kb2JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2N1c3RvbWVycyIgZGF0YS1xYT0iY3VzdG9tZXJzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY3VzdG9tZXJzIj5DdXN0b21lcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZGV2ZWxvcGVycyIgZGF0YS1xYT0iZGV2ZWxvcGVycyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2RldmVsb3BlcnMiPkRldmVsb3BlcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZXZlbnRzIiBkYXRhLXFhPSJldmVudHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ldmVudHMiPkV2ZW50czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNraHEuY29tLyIgZGF0YS1xYT0iYmxvZ19mb290ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9ibG9nIj5CbG9nPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzMiPkxlZ2FsPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcHJpdmFjeS1wb2xpY3kiIGRhdGEtcWE9InByaXZhY3kiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9wcml2YWN5Ij5Qcml2YWN5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL3NlY3VyaXR5IiBkYXRhLXFhPSJzZWN1cml0eSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NlY3VyaXR5Ij5TZWN1cml0eTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3NsYWNrLmNvbS90ZXJtcy1vZi1zZXJ2aWNlIiBkYXRhLXFhPSJ0b3MiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl90b3MiPlRlcm1zIG9mIFNlcnZpY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vcG9saWNpZXMiIGRhdGEtcWE9InBvbGljaWVzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfcG9saWNpZXMiPlBvbGljaWVzPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wgc3Bhbl8xX29mXzQgbmF2X2NvbCI+PHVsPjxsaSBjbGFzcz0iY2F0XzQiPkhhbmR5IExpbmtzPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vZG93bmxvYWRzIiBkYXRhLXFhPSJkb3dubG9hZHMiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9kb3dubG9hZHMiPkRvd25sb2FkIGRlc2t0b3AgYXBwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tL2Rvd25sb2FkcyIgZGF0YS1xYT0iZG93bmxvYWRzX21vYmlsZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2Rvd25sb2Fkc19tb2JpbGUiPkRvd25sb2FkIG1vYmlsZSBhcHA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vYnJhbmQtZ3VpZGVsaW5lcyIgZGF0YS1xYT0iYnJhbmRfZ3VpZGVsaW5lcyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX2JyYW5kX2d1aWRlbGluZXMiPkJyYW5kIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFja2F0d29yay5jb20iIGRhdGEtcWE9InNsYWNrX2F0X3dvcmsiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja19hdF93b3JrIj5TbGFjayBhdCBXb3JrPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc3RhdHVzLnNsYWNrLmNvbS8iIGRhdGEtcWE9InN0YXR1cyIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3N0YXR1cyI+U3RhdHVzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGRpdiBjbGFzcz0iZm9vdG5vdGUiPjxzZWN0aW9uPjxhIGhyZWY9Imh0dHBzOi8vc2xhY2suY29tIiBhcmlhLWxhYmVsPSJTbGFjayBob21lcGFnZSIgZGF0YS1jbG9nLWV2ZW50PSJXRUJTSVRFX0NMSUNLIiBkYXRhLWNsb2ctcGFyYW1zPSJjbGlja190YXJnZXQ9Zm9vdGVyX3NsYWNrX2ljb24iPjx0cy1pY29uIGNsYXNzPSJjLWljb24tLXNsYWNrIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjx1bD48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zbGFjay5jb20vaGVscC9jb250YWN0IiBkYXRhLXFhPSJjb250YWN0X3VzIiBkYXRhLWNsb2ctZXZlbnQ9IldFQlNJVEVfQ0xJQ0siIGRhdGEtY2xvZy1wYXJhbXM9ImNsaWNrX3RhcmdldD1mb290ZXJfY29udGFjdF91cyI+Q29udGFjdCBVczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL1NsYWNrSFEiIGRhdGEtcWE9InNsYWNrX3R3aXR0ZXIiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja190d2l0dGVyIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBUd2l0dGVyIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl90d2l0dGVyIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PGxpIGNsYXNzPSJ5dCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ1kzWUVDZ2VCY0xDeklyRkxQNGdibHciIGRhdGEtcWE9InNsYWNrX3lvdXR1YmUiIGRhdGEtY2xvZy1ldmVudD0iV0VCU0lURV9DTElDSyIgZGF0YS1jbG9nLXBhcmFtcz0iY2xpY2tfdGFyZ2V0PWZvb3Rlcl9zbGFja195b3V0dWJlIiBhcmlhLWxhYmVsPSJTbGFjayBvbiBZb3VUdWJlIj48dHMtaWNvbiBjbGFzcz0idHNfaWNvbl95b3V0dWJlIiBhcmlhLWhpZGRlbj48L3RzLWljb24+PC9hPjwvbGk+PC91bD48L3NlY3Rpb24+PC9kaXY+PC9mb290ZXI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovKioKICogQSBwbGFjZWhvbGRlciBmdW5jdGlvbiB0aGF0IHRoZSBidWlsZCBzY3JpcHQgdXNlcyB0bwogKiByZXBsYWNlIGZpbGUgcGF0aHMgd2l0aCB0aGVpciBDRE4gdmVyc2lvbnMuCiAqCiAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlX3BhdGggLSBGaWxlIHBhdGgKICogQHJldHVybnMge1N0cmluZ30KICovCmZ1bmN0aW9uIHZ2dihmaWxlX3BhdGgpIHsKCQkgdmFyIHZ2dl93YXJuaW5nID0gJ1lvdSBjYW5ub3QgdXNlIHZ2diBvbiBkeW5hbWljIHZhbHVlcy4gUGxlYXNlIG1ha2Ugc3VyZSB5b3Ugb25seSBwYXNzIGluIHN0YXRpYyBmaWxlIHBhdGhzLic7IGlmICh3aW5kb3cuVFMgJiYgd2luZG93LlRTLndhcm4pIHsgd2luZG93LlRTLndhcm4odnZ2X3dhcm5pbmcpOyB9IGVsc2UgeyBjb25zb2xlLndhcm4odnZ2X3dhcm5pbmcpOyB9IAoJcmV0dXJuIGZpbGVfcGF0aDsKfQoKdmFyIGNkbl91cmwgPSAiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb20iOwp2YXIgdnZ2X2Fic191cmwgPSAiaHR0cHM6XC9cL3NsYWNrLmNvbVwvIjsKdmFyIGluY19qc19zZXR1cF9kYXRhID0gewoJZW1vamlfc2hlZXRzOiB7CgkJYXBwbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfYXBwbGVfNjRfaW5kZXhlZF8yNTYucG5nJywKCQlnb29nbGU6ICdodHRwczovL2Euc2xhY2stZWRnZS5jb20vODA1ODgvaW1nL2Vtb2ppXzIwMTdfMTJfMDYvc2hlZXRfZ29vZ2xlXzY0X2luZGV4ZWRfMjU2LnBuZycsCgl9LAp9Owo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CS8vIGNvbW1vbiBib290X2RhdGEKCXZhciBib290X2RhdGEgPSB7ImFwaV91cmwiOiJcL2FwaVwvIiwiYXBwIjoid2ViIiwidXNlcl9pZCI6bnVsbCwidGVhbV9pZCI6IlQwMDAwMDAwMCIsInZpc2l0b3JfdWlkIjoiNWppM2JoNTB2NDZrNnp0aG9ibWduN2wwIiwibm9fbG9naW4iOnRydWUsInZlcnNpb25fdHMiOiIxNTg0MTQyMjE5IiwidmVyc2lvbl91aWQiOiJhYTViNGUxMTVhYWFjMDUxZWNhOTk5NjMzNTM4NWRmYmU5OWZjNjg0IiwiY2FjaGVfdmVyc2lvbiI6InYyMS1ub21hZCIsImNhY2hlX3RzX3ZlcnNpb24iOiJ2Mi1idW5ueSIsInJlZGlyX2RvbWFpbiI6InNsYWNrLXJlZGlyLm5ldCIsInNpZ25pbl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9zaWduaW4iLCJhYnNfcm9vdF91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC8iLCJ0ZWFtX3VybCI6IiIsImltYWdlX3Byb3h5X3VybCI6Imh0dHBzOlwvXC9zbGFjay1pbWdzLmNvbVwvIiwiYmVhY29uX3RpbWluZ191cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL3RpbWluZyIsImJlYWNvbl9lcnJvcl91cmwiOiJodHRwczpcL1wvc2xhY2suY29tXC9iZWFjb25cL2Vycm9yIiwiY2xvZ191cmwiOiJjbG9nXC90cmFja1wvIiwiYXBpX3Rva2VuIjoiIiwidnZ2X3BhdGhzIjp7Imx6X3N0cmluZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC9idjEtOC04Y2FjZGEyXC9sei1zdHJpbmctMS40LjQud29ya2VyLjhkZTFiMDBkNjcwZmYzZGM3MDZhMC5qcyIsImNvZGVtaXJyb3IiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvci5taW4uNjhjNmEwNjEyYWJjY2M2Yjg4NTkubWluLmpzIiwiY29kZW1pcnJvcl9hZGRvbl9zaW1wbGUiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9zaW1wbGUuOTkzZmM1ZjhkZGQ0MDFmNjMyYWEubWluLmpzIiwiY29kZW1pcnJvcl9sb2FkIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cL2J2MS04LThjYWNkYTJcL2NvZGVtaXJyb3JfbG9hZC43NWEzNjEzY2E4MjkyMTZmMTAzMy5taW4uanMiLCJjb2RlbWlycm9yX2ZpbGVzIjp7ImphdmFzY3JpcHQiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvYnYxLTgtOGNhY2RhMlwvY29kZW1pcnJvcl9sYW5nX2phdmFzY3JpcHQuYWMxODMzZTllMjM5ZDUzMmI1YTkubWluLmpzIn19LCJub3RpZmljYXRpb25fc291bmRzIjpbeyJ2YWx1ZSI6ImIyLm1wMyIsImxhYmVsIjoiRGluZyIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL2IyLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYjIub2dnIn0seyJ2YWx1ZSI6ImFuaW1hbF9zdGljay5tcDMiLCJsYWJlbCI6IkJvaW5nIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYW5pbWFsX3N0aWNrLm9nZyJ9LHsidmFsdWUiOiJiZWVuX3RyZWUubXAzIiwibGFiZWwiOiJEcm9wIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvYmVlbl90cmVlLm9nZyJ9LHsidmFsdWUiOiJjb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5tcDMiLCJsYWJlbCI6IlRhLWRhIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29tcGxldGVfcXVlc3RfcmVxdWlyZW1lbnQubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9jb21wbGV0ZV9xdWVzdF9yZXF1aXJlbWVudC5vZ2cifSx7InZhbHVlIjoiY29uZmlybV9kZWxpdmVyeS5tcDMiLCJsYWJlbCI6IlBsaW5rIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvY29uZmlybV9kZWxpdmVyeS5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2NvbmZpcm1fZGVsaXZlcnkub2dnIn0seyJ2YWx1ZSI6ImZsaXR0ZXJidWcubXAzIiwibGFiZWwiOiJXb3ciLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9mbGl0dGVyYnVnLm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvZmxpdHRlcmJ1Zy5vZ2cifSx7InZhbHVlIjoiaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJsYWJlbCI6IkhlcmUgeW91IGdvIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwvaGVyZV95b3VfZ29fbGlnaHRlci5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hlcmVfeW91X2dvX2xpZ2h0ZXIub2dnIn0seyJ2YWx1ZSI6ImhpX2Zsb3dlcnNfaGl0Lm1wMyIsImxhYmVsIjoiSGkiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9oaV9mbG93ZXJzX2hpdC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2hpX2Zsb3dlcnNfaGl0Lm9nZyJ9LHsidmFsdWUiOiJrbm9ja19icnVzaC5tcDMiLCJsYWJlbCI6Iktub2NrIEJydXNoIiwidXJsIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzdlOTFcL3NvdW5kc1wvcHVzaFwva25vY2tfYnJ1c2gubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9rbm9ja19icnVzaC5vZ2cifSx7InZhbHVlIjoic2F2ZV9hbmRfY2hlY2tvdXQubXAzIiwibGFiZWwiOiJXaG9hISIsInVybCI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC83ZTkxXC9zb3VuZHNcL3B1c2hcL3NhdmVfYW5kX2NoZWNrb3V0Lm1wMyIsInVybF9vZ2ciOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvNDZlYmJcL3NvdW5kc1wvcHVzaFwvc2F2ZV9hbmRfY2hlY2tvdXQub2dnIn0seyJ2YWx1ZSI6Iml0ZW1fcGlja3VwLm1wMyIsImxhYmVsIjoiWW9pbmsiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2U5MVwvc291bmRzXC9wdXNoXC9pdGVtX3BpY2t1cC5tcDMiLCJ1cmxfb2dnIjoiaHR0cHM6XC9cL2Euc2xhY2stZWRnZS5jb21cLzQ2ZWJiXC9zb3VuZHNcL3B1c2hcL2l0ZW1fcGlja3VwLm9nZyJ9LHsidmFsdWUiOiJodW1tdXMubXAzIiwibGFiZWwiOiJIdW1tdXMiLCJ1cmwiOiJodHRwczpcL1wvYS5zbGFjay1lZGdlLmNvbVwvN2ZhOVwvc291bmRzXC9wdXNoXC9odW1tdXMubXAzIiwidXJsX29nZyI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC80NmViYlwvc291bmRzXC9wdXNoXC9odW1tdXMub2dnIn0seyJ2YWx1ZSI6Im5vbmUiLCJsYWJlbCI6Ik5vbmUifV0sImFsZXJ0X3NvdW5kcyI6W3sidmFsdWUiOiJmcm9nLm1wMyIsImxhYmVsIjoiRnJvZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcL2EzNGFcL3NvdW5kc1wvZnJvZy5tcDMifV0sImNhbGxfc291bmRzIjpbeyJ2YWx1ZSI6ImNhbGxcL2FsZXJ0X3YyLm1wMyIsImxhYmVsIjoiQWxlcnQiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2FsZXJ0X3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9pbmNvbWluZ19yaW5nX3YyLm1wMyIsImxhYmVsIjoiSW5jb21pbmcgcmluZyIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwvaW5jb21pbmdfcmluZ192Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvb3V0Z29pbmdfcmluZ192Mi5tcDMiLCJsYWJlbCI6Ik91dGdvaW5nIHJpbmciLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL291dGdvaW5nX3JpbmdfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3BvcF92Mi5tcDMiLCJsYWJlbCI6IkluY29taW5nIHJlYWN0aW9uIiwidXJsIjoiaHR0cHM6XC9cL3NsYWNrLmdsb2JhbC5zc2wuZmFzdGx5Lm5ldFwvMDhmN1wvc291bmRzXC9jYWxsXC9wb3BfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiVGhleSBsZWZ0IGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfbGVmdF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC95b3VfbGVmdF9jYWxsX3YyLm1wMyIsImxhYmVsIjoiWW91IGxlZnQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2xlZnRfY2FsbF92Mi5tcDMifSx7InZhbHVlIjoiY2FsbFwvdGhleV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IlRoZXkgam9pbmVkIGNhbGwiLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL3RoZXlfam9pbmVkX2NhbGxfdjIubXAzIn0seyJ2YWx1ZSI6ImNhbGxcL3lvdV9qb2luZWRfY2FsbF92Mi5tcDMiLCJsYWJlbCI6IllvdSBqb2luZWQgY2FsbCIsInVybCI6Imh0dHBzOlwvXC9zbGFjay5nbG9iYWwuc3NsLmZhc3RseS5uZXRcLzA4ZjdcL3NvdW5kc1wvY2FsbFwveW91X2pvaW5lZF9jYWxsX3YyLm1wMyJ9LHsidmFsdWUiOiJjYWxsXC9jb25maXJtYXRpb25fdjIubXAzIiwibGFiZWwiOiJDb25maXJtYXRpb24iLCJ1cmwiOiJodHRwczpcL1wvc2xhY2suZ2xvYmFsLnNzbC5mYXN0bHkubmV0XC8wOGY3XC9zb3VuZHNcL2NhbGxcL2NvbmZpcm1hdGlvbl92Mi5tcDMifV0sImNhbGxfc291bmRzX3ZlcnNpb24iOiJ2MiIsImltZyI6eyJhcHBfaWNvbiI6Imh0dHBzOlwvXC9hLnNsYWNrLWVkZ2UuY29tXC84MDU4OFwvaW1nXC9zbGFja19ncm93bF9pY29uX3ZvZ3VlLnBuZyJ9LCJwYWdlX25lZWRzX2VudGVycHJpc2UiOmZhbHNlLCJwYWdlX25lZWRzX2N1c3RvbV9lbW9qaSI6ZmFsc2UsImlzX2RlcHJlY2F0ZWRfd2ViY2xpZW50X2Jyb3dzZXIiOmZhbHNlLCJpc191bnN1cHBvcnRlZF93ZWJjbGllbnRfYnJvd3NlciI6dHJ1ZSwiZGVmYXVsdF90eiI6IkFtZXJpY2FcL0xvc19BbmdlbGVzIiwiZmVhdHVyZV9uZXdfcHVycGxlX3NjaGVtZSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9nZXR0aW5nX3N0YXJ0ZWRfaTE4biI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9jcmVhdGlvbl9vcmdfcG9saWN5IjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX2V4dGVuc2lvbnMiOmZhbHNlLCJmZWF0dXJlX2tleWJvYXJkX2tleV90b29sdGlwIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3dlYmhvb2tfYWRtaW4iOnRydWUsImZlYXR1cmVfYnVpbGRlcl93ZWJob29rX3RyaWdnZXIiOnRydWUsImZlYXR1cmVfYWxseV9idWdiYXNoIjpmYWxzZSwiZmVhdHVyZV9idWlsZGVyX3NjaGVkdWxlZF90cmlnZ2VyIjp0cnVlLCJmZWF0dXJlX2Jsb2NrX2tpdF9tYXhfc2VsZWN0ZWRfaXRlbXMiOnRydWUsImZlYXR1cmVfYnVpbGRlcl9mZWVkYmFja19idXR0b24iOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfbWVzc2FnZV9zdGVwX3JpY2hfdGV4dCI6ZmFsc2UsImZlYXR1cmVfYXBwX3ZpZXdzX3YxIjp0cnVlLCJmZWF0dXJlX2F1ZGl0X2xvZ3NfdmlldyI6ZmFsc2UsImZlYXR1cmVfYXVkaXRfbG9nc192aWV3X3dvcmtzcGFjZSI6ZmFsc2UsImZlYXR1cmVfZGF0YV9sb2NhdGlvbl9uZXdfdHJhbnNsYXRpb25zIjpmYWxzZSwiZmVhdHVyZV9za19pMThuIjpmYWxzZSwiZmVhdHVyZV9zc29fY29tYmluZV9jb25maWdfcHJlZmVyZW5jZXMiOmZhbHNlLCJmZWF0dXJlX3Nzb19wcmVmZXJlbmNlc192aWV3X21vZGFscyI6dHJ1ZSwiZmVhdHVyZV9zY2hlZHVsZWRfZXhwb3J0c19jbGFyaWZ5X2NhbmNlbGxhdGlvbiI6dHJ1ZSwiZmVhdHVyZV9kZWZhdWx0X2Jyb3dzZXJfY29udHJvbF92MiI6ZmFsc2UsImZlYXR1cmVfYWNjb3VudF9jcmVhdGlvbl9zaG93X2N1c3RvbV90b3MiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX2NvdW50IjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX3NlbGVjdHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzYWJsZV9nbG9iYWxfdHJpZ2dlcnMiOnRydWUsImZlYXR1cmVfd29ya2Zsb3dfYnVpbGRlcl9lbmFibGVkX29yZ19zZXR0aW5nIjp0cnVlLCJmZWF0dXJlX2J1aWxkZXJfY2FuX2FjY2VzcyI6ZmFsc2UsImZlYXR1cmVfZXNjX3JldGVudGlvbl9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX2VzY19yZXRlbnRpb25fY2xpZW50X2NvcHkiOnRydWUsImZlYXR1cmVfYWx3YXlzX3Nob3dfYXJjaGl2ZV9jaGFubmVsX29wdGlvbiI6ZmFsc2UsImZlYXR1cmVfZ3JhbnVsYXJfZG5kIjpmYWxzZSwiZmVhdHVyZV9jb250ZXh0X2Jhcl9ndWVzdHMiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3R6X2lzc3VlcyI6ZmFsc2UsImZlYXR1cmVfbXVsdGlfZmlsZV9sYXlvdXQiOnRydWUsImZlYXR1cmVfbWlncmF0aW9uX29yZ19hcHByb3ZhbHMiOnRydWUsImZlYXR1cmVfbmV3eHBfMzI2NiI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8zMjc5Ijp0cnVlLCJmZWF0dXJlX25ld3hwXzQxNTMiOmZhbHNlLCJmZWF0dXJlX3RpbnlzcGVjayI6ZmFsc2UsImZlYXR1cmVfb3JnX2d1ZXN0X2NvbnZlcnNpb24iOnRydWUsImZlYXR1cmVfb3JnX2xldmVsX3VzZXJfZ3JvdXBzX3BoYXNlXzJfZnJvbnRlbmQiOmZhbHNlLCJmZWF0dXJlX3VzZV9uZXdfbGlzdF90ZWFtc19yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9kZXNrdG9wX2NvcHlfdGV4dCI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb24iOnRydWUsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fZGFyayI6ZmFsc2UsImZlYXR1cmVfc3NiX3EzMTlfZGVwcmVjYXRpb25fbW9kYWwiOmZhbHNlLCJmZWF0dXJlX3NzYl9xMzE5X2RlcHJlY2F0aW9uX21vZGFsX3N0b3JlX292ZXJyaWRlIjpmYWxzZSwiZmVhdHVyZV9zc2JfcTMxOV9kZXByZWNhdGlvbl9ibG9jayI6dHJ1ZSwiZmVhdHVyZV9kZXByZWNhdGVfZ2V0X21lbWJlcl9ieV9uYW1lIjpmYWxzZSwiZmVhdHVyZV91bmtub3duX2ZpbGVzIjp0cnVlLCJmZWF0dXJlX3Vua25vd25fbWVzc2FnZXMiOnRydWUsImZlYXR1cmVfYWRkX21lc3NhZ2VfcGVyZiI6ZmFsc2UsImZlYXR1cmVfZml4X2N1c3RvbV9lbW9qaV9lcnJvcnMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2RlbGV0ZV9maWxlIjp0cnVlLCJmZWF0dXJlX2NvcHlfY2hhbm5lbF9saW5rIjp0cnVlLCJmZWF0dXJlX2NvbGxhcHNlX3JlYWN0aW9ucyI6ZmFsc2UsImZlYXR1cmVfZW1haWxfd29ya2Zsb3ciOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2Vfa2l0X2luX21lc3NhZ2VfcGFuZSI6dHJ1ZSwiZmVhdHVyZV9pYV9lZHVjYXRpb24iOmZhbHNlLCJmZWF0dXJlX2NoYW5uZWxfZGV0YWlsc19tZW1iZXJzaGlwX2xpc3QiOmZhbHNlLCJmZWF0dXJlX2FsbF9kbV9tdXRlX2JvdHMiOmZhbHNlLCJmZWF0dXJlX2hlbHBfbWVudV9mZWVkYmFjayI6ZmFsc2UsImZlYXR1cmVfZmlsZV90aHJlYWRzIjp0cnVlLCJmZWF0dXJlX2Jyb2FkY2FzdF9pbmRpY2F0b3IiOnRydWUsImZlYXR1cmVfbmV3X3JlcGxpZXNfYWZ0ZXJfYmNhc3QiOnRydWUsImZlYXR1cmVfc29uaWNfZW1vamkiOmZhbHNlLCJmZWF0dXJlX2Vtb2ppX3NlYXJjaF9rZXl3b3Jkc19pbl9hdXRvY29tcGxldGUiOmZhbHNlLCJmZWF0dXJlX2VtYWlsX2luZ2VzdGlvbiI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9jb250ZXh0X21lbnUiOmZhbHNlLCJmZWF0dXJlX2F0dGFjaG1lbnRzX2lubGluZSI6ZmFsc2UsImZlYXR1cmVfZml4X2ZpbGVzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzIjp0cnVlLCJmZWF0dXJlX2FhYV9hZG1pbl9hcGlzX2V2ZW50c19kb2NzIjp0cnVlLCJmZWF0dXJlX2FwcF9sYXVuY2hlcl9iYW5uZXJzIjpmYWxzZSwiZmVhdHVyZV9hcHBfbGF1bmNoZXJfZmlsdGVycyI6ZmFsc2UsImZlYXR1cmVfaGVscF90ZXN0X3ByaW1lciI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfZ3Vlc3RfY2hlY2siOmZhbHNlLCJmZWF0dXJlX2N1c3RvbV9zdGF0dXNfZXhwaXJ5Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2lkZWJhcl9kcmFmdHNfc2VjdGlvbiI6dHJ1ZSwiZmVhdHVyZV9uYXZpZ2F0ZV9oaXN0b3J5Ijp0cnVlLCJmZWF0dXJlX21lc3NhZ2VfYWN0aW9uc19yZWZyZXNoIjp0cnVlLCJmZWF0dXJlX2NvbXBvc2VfZmxvdyI6ZmFsc2UsImZlYXR1cmVfY29tcG9zZV9mbG93X3h3cyI6ZmFsc2UsImZlYXR1cmVfdGVtcF9jaGFubmVsX3N1YnNjcmlwdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2Zhc3Rlcl9jb3VudF9hbGxfdW5yZWFkcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY191c2VyX2dyb3VwcyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9zZWxlY3Rvcl9mb3JfdGVhbV9ndWVzdHNfdXBkYXRlIjpmYWxzZSwiZmVhdHVyZV9kZXNrdG9wX3N5bXB0b21fZXZlbnRzIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9kZWJ1Z2dpbmciOmZhbHNlLCJmZWF0dXJlX2VudF9hZG1pbl9hcHByb3ZlZF9hcHBzX3YyIjp0cnVlLCJmZWF0dXJlX21vZGVybml6ZWRfeHdzX3Blcm1hbGlua19kaWFsb2dzIjp0cnVlLCJmZWF0dXJlX2Rhc2hib2FyZF9zb3J0YWJsZV9saXN0cyI6ZmFsc2UsImZlYXR1cmVfc2tfbG9hZGluZ19idXR0b25fbW90aW9ucyI6dHJ1ZSwiZmVhdHVyZV9za19iYXNlX2ljb24iOmZhbHNlLCJmZWF0dXJlX2hlbHBfbW9kYWxfaWFfcmVkZXNpZ24iOnRydWUsImZlYXR1cmVfaGVscF9tb2RhbF9pYV9yZWRlc2lnbl9wYXJ0X2RldXgiOmZhbHNlLCJmZWF0dXJlX2NlX2VuZ19jb250YWN0X2Zvcm1fY2F0ZWdvcmllcyI6ZmFsc2UsImZlYXR1cmVfY2VfZW5nX2NvbnRhY3RfZmVlZGJhY2siOmZhbHNlLCJmZWF0dXJlX2dkcHJfZXhwb3J0cyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2lzX3JlbW92ZV9jcmVhdGVfc2hhcmVkX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19tdWx0aV9vcmciOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9kb3VibGVfZGlhbW9uZHMiOmZhbHNlLCJmZWF0dXJlX3JlbW92ZV9wZW5kaW5nX2Nvbm5lY3Rpb25zIjpmYWxzZSwiZmVhdHVyZV9yZW1vdmVfZG91YmxlX3JpbmdzIjpmYWxzZSwiZmVhdHVyZV9leHRlcm5hbF9vcmdzX3NlY3Rpb25fY2hhbm5lbF9kZXRhaWxzIjpmYWxzZSwiZmVhdHVyZV9kaXNwbGF5X29yZ3NfbGlzdF9zaGFyZV9kaWFsb2ciOmZhbHNlLCJmZWF0dXJlX2VuYWJsZV9tdWx0aV9vcmdfaW52aXRlc19mZSI6ZmFsc2UsImZlYXR1cmVfZW5hYmxlX211bHRpX29yZ19kaXNjb25uZWN0X2ZlIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfbXVsdGlfb3JnX2ludml0ZXNfYmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX3NjYWxhYmxlX21vcmUiOmZhbHNlLCJmZWF0dXJlX2NvbnRleHRfYmFyX21lc3NhZ2VfcGFuZV9jbGljayI6ZmFsc2UsImZlYXR1cmVfbWFuYWdlX3NjX2NoYW5uZWxfY2FyZCI6ZmFsc2UsImZlYXR1cmVfY3JlYXRlX3ByaXZhdGVfY19jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfZ2Rwcl91c2VyX2pvaW5fdG9zIjp0cnVlLCJmZWF0dXJlX3VzZXJfaW52aXRlX3Rvc19hcHJpbF8yMDE4Ijp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfbWdtdF9waGFzZV90aHJlZSI6ZmFsc2UsImZlYXR1cmVfaW5jcmVtZW50YWxfdW5yZWFkX2NvdW50cyI6ZmFsc2UsImZlYXR1cmVfbmV1ZV90eXBlIjpmYWxzZSwiZmVhdHVyZV9jdXN0X2FjcV9pMThuX3R3ZWFrcyI6ZmFsc2UsImZlYXR1cmVfcmVmYWNfdGhlX3RheCI6ZmFsc2UsImZlYXR1cmVfY29udGFjdF9zYWxlc19leHBlcmltZW50Ijp0cnVlLCJmZWF0dXJlX2RhdGFfcmVzaWRlbmN5X2pwX2Jhbm5lciI6dHJ1ZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViIjpmYWxzZSwiZmVhdHVyZV9pYV9yZXZhbXBfd2ViX3dhdmVfdHdvIjpmYWxzZSwiZmVhdHVyZV9kYXRhX3Jlc2lkZW5jeV9hdXN0cmFsaWFfYmFubmVyIjpmYWxzZSwiZmVhdHVyZV9wcm9qX25hdl9jb21wb25lbnQiOmZhbHNlLCJmZWF0dXJlX3Byb2pfdXBkYXRlX3RyYW5zcGFyZW5jeV9yZXBvcnQiOmZhbHNlLCJmZWF0dXJlX3doaXRlbGlzdF96ZW5kZXNrX2NoYXRfd2lkZ2V0IjpmYWxzZSwiZmVhdHVyZV9hcHBfYWN0aW9uX3NsYXNoX2NvbW1hbmRzX3BhZDEwNDIiOnRydWUsImZlYXR1cmVfc2hvcnRjdXRzX21lbnVfYW5ub3VuY2Vfb25seSI6dHJ1ZSwiZmVhdHVyZV9saXZlX3N1cHBvcnRfZnJlZV9wbGFuIjpmYWxzZSwiZmVhdHVyZV9vZmZsaW5lX21vZGUiOmZhbHNlLCJmZWF0dXJlX2ZvcmNlX2xzX2NvbXByZXNzaW9uIjpmYWxzZSwiZmVhdHVyZV91c2VfaW1ncHJveHlfcmVzaXppbmciOnRydWUsImZlYXR1cmVfc2hhcmVfbWVudGlvbl9jb21tZW50X2NsZWFudXAiOmZhbHNlLCJmZWF0dXJlX2VsZWN0cm9uX21lbW9yeV9sb2dnaW5nIjpmYWxzZSwiZmVhdHVyZV9sb2NhbGl6YXRpb25fcGhhc2VfdHdvIjp0cnVlLCJmZWF0dXJlX2xvY2FsZV9lc19MQSI6dHJ1ZSwiZmVhdHVyZV9sb2NhbGVfZW5fR0IiOnRydWUsImZlYXR1cmVfbG9jYWxlX3B0X0JSIjp0cnVlLCJmZWF0dXJlX25ld19sb2NhbGVfdG9hc3QiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9leHBvcnRzIjpmYWxzZSwiZmVhdHVyZV9kb2NzX21lbnRpb25zX2FuZF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdmFjYXRpb25fZGVsaWdodCI6dHJ1ZSwiZmVhdHVyZV90aHJlYWRzX3VucmVhZF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX2NhbGxzX2VzY191aSI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19zdXJ2ZXlfcmVxdWVzdF9yZXNwb25zZSI6dHJ1ZSwiZmVhdHVyZV9yZW1vdGVfZmlsZXNfYXBpIjp0cnVlLCJmZWF0dXJlX3Rva2VuX2lwX3doaXRlbGlzdCI6dHJ1ZSwiZmVhdHVyZV9zaWRlYmFyX3RoZW1lX3VuZG8iOmZhbHNlLCJmZWF0dXJlX2hpZGVfb25fc3RhcnR1cCI6dHJ1ZSwiZmVhdHVyZV9kb250X3NldF9jaGFubmVsX21lbWJlcnNoaXBfdHdpY2UiOmZhbHNlLCJmZWF0dXJlX2FsbG93X2ludHJhX3dvcmRfZm9ybWF0dGluZyI6dHJ1ZSwiZmVhdHVyZV9pMThuX2NoYW5uZWxzX3ZhbGlkYXRlX2Vtb2ppIjp0cnVlLCJmZWF0dXJlX2Z3X2VuZ19ub3JtYWxpemF0aW9uIjp0cnVlLCJmZWF0dXJlX3NsaW1fc2Nyb2xsYmFyIjpmYWxzZSwiZmVhdHVyZV9wcmltYXJ5X3NlYXJjaCI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3NvdW5kcyI6ZmFsc2UsImZlYXR1cmVfc2xpX2NoYW5uZWxfYXJjaGl2ZV9zdWdnZXN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaCI6dHJ1ZSwiZmVhdHVyZV9zdGVlcGxlX2NodXJjaF9saW5rIjp0cnVlLCJmZWF0dXJlX3N0ZWVwbGVfY2h1cmNoX2V4dCI6dHJ1ZSwiZmVhdHVyZV9zdHJvbGxlcnNfdG9fcGVyY2giOnRydWUsImZlYXR1cmVfZmFudGFpbF9udXJ0dXJlIjp0cnVlLCJmZWF0dXJlX3BvdXJvdmVyIjpmYWxzZSwiZmVhdHVyZV9wZW9wbGVfc2VhcmNoIjpmYWxzZSwiZmVhdHVyZV9yZWFjdF9tZXNzYWdlcyI6dHJ1ZSwiZmVhdHVyZV9lZGdlX3VwbG9hZF9wcm94eV9jaGVjayI6ZmFsc2UsImZlYXR1cmVfbGVnYWN5X2ZpbGVfdXBsb2FkX2FuYWx5dGljcyI6dHJ1ZSwiZmVhdHVyZV9zb25pY19maW5kX21vcmVfd2tzcHMiOmZhbHNlLCJmZWF0dXJlX3NvbmljX2lucHV0cyI6ZmFsc2UsImZlYXR1cmVfdGhyZWFkZWRfc2xhY2tfb3duZWRfcGx1Z2lucyI6dHJ1ZSwiZmVhdHVyZV9hcHBfcG9wb3V0c19pMThuIjpmYWxzZSwiZmVhdHVyZV9zbmlwcGV0X21vZGVzX2kxOG4iOmZhbHNlLCJmZWF0dXJlX2dkcml2ZV9kb19ub3RfaW5zdGFsbF9ieV9kZWZhdWx0Ijp0cnVlLCJmZWF0dXJlX2VrbV9iYWNrZmlsbF9hZGRfc2xlZXAiOmZhbHNlLCJmZWF0dXJlX2VrbV9tZXNzYWdlX3Jldm9jYXRpb25fcG9sbGluZ190ZXN0IjpmYWxzZSwiZmVhdHVyZV9sb25nZXJfY2hhbm5lbF9uYW1lcyI6dHJ1ZSwiZmVhdHVyZV90ZWFtX2FkbWluc19saXN0X2FwaSI6ZmFsc2UsImZlYXR1cmVfdGVhbV9hZG1pbnNfbGlzdF9hcGlfYWNjZXNzIjpmYWxzZSwiZmVhdHVyZV9tc19sYXRlc3QiOnRydWUsImZlYXR1cmVfZ3Vlc3RzX3VzZV9lbnRpdGxlbWVudHMiOnRydWUsImZlYXR1cmVfYXBwX2NhbnZhc2VzIjpmYWxzZSwiZmVhdHVyZV9jYWxsc19zaXBfaW50ZWdyYXRpb25fbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9hcHBfaG9tZV9hZG1pbl9wYWdlcyI6ZmFsc2UsImZlYXR1cmVfYXBwX2FjdGlvbnNfYWRtaW5fcGFnZXMiOmZhbHNlLCJmZWF0dXJlX2FwcF92aWV3c19yZW1pbmRlcnMiOmZhbHNlLCJmZWF0dXJlX3JlbWluZGVyc191c2VyIjpmYWxzZSwiZmVhdHVyZV9ibG9ja3NfcmVtaW5kZXJzX2xpc3QiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfYmxvY2tzIjpmYWxzZSwiZmVhdHVyZV9zaWxlbmNlX2FwcF9kbXMiOmZhbHNlLCJmZWF0dXJlX3NldF90el9hdXRvbWF0aWNhbGx5Ijp0cnVlLCJmZWF0dXJlX2NvbmZpcm1fY2xlYXJfYWxsX3VucmVhZHNfcHJlZiI6dHJ1ZSwiZmVhdHVyZV9ibG9ja19tb3VudHMiOnRydWUsImZlYXR1cmVfYXR0YWNobWVudHNfdjIiOnRydWUsImZlYXR1cmVfaTE4bl9hcHBfbWVzc2FnZV90YWIiOmZhbHNlLCJmZWF0dXJlX2JrX3NlbGVjdF9maWx0ZXJzIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfZXhwYW5kYWJsZV9ibG9jayI6ZmFsc2UsImZlYXR1cmVfZ3JvdXBfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9kZWVwX2xpbmtzIjp0cnVlLCJmZWF0dXJlX3Nob3dfYmxvY2tfa2l0X2luX3NoYXJlX2RpYWxvZ3MiOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9ldmVudF9ibG9jayI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3VzZXJfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2Jsb2NrX2tpdF9yYWRpb19idXR0b25zIjp0cnVlLCJmZWF0dXJlX21ya2R3bl9vbl9yYWRpb19idXR0b24iOnRydWUsImZlYXR1cmVfYmxvY2tfa2l0X3RhYmxlIjpmYWxzZSwiZmVhdHVyZV9ibG9ja19raXRfcmFuZ2VfZGF0ZXBpY2tlciI6ZmFsc2UsImZlYXR1cmVfYmxvY2tfa2l0X3RpbWVwaWNrZXIiOmZhbHNlLCJmZWF0dXJlX2FkZF9hcHBfaG9tZV90ZWFtX25hbWUiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2JlYWNvbl9qc19hZG1pbl9lcnJvcnMiOmZhbHNlLCJmZWF0dXJlX2RpYWxvZ3NfdjJfbW9iaWxlIjp0cnVlLCJmZWF0dXJlX3VzZXJfYXBwX2Rpc2FibGVfc3BlZWRfYnVtcCI6dHJ1ZSwiZmVhdHVyZV90cmFjdG9yX3NoYXJlZF9pbnZpdGVfbGluayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF8yMTE5Ijp0cnVlLCJmZWF0dXJlX3RyYWN0b3JfYmFja3VwX2NoYW5uZWxuYW1lX2NvcHkiOnRydWUsImZlYXR1cmVfZGVncmFkZWRfcnRtX2Fsd2F5c19mYWlscyI6ZmFsc2UsImZlYXR1cmVfYXBwc19tYW5hZ2VfcGVybWlzc2lvbnNfc2NvcGVfY2hhbmdlcyI6dHJ1ZSwiZmVhdHVyZV9yZW1pbmRlcl9jcm9zc193b3Jrc3BhY2UiOnRydWUsImZlYXR1cmVfcDJwIjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2IjpmYWxzZSwiZmVhdHVyZV9nbG9iYWxfbmF2X3JvbGxiYWNrIjpmYWxzZSwiZmVhdHVyZV9jbGFzc2ljX25hdiI6ZmFsc2UsImZlYXR1cmVfbmV3X3JlYWN0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9wYWdlc19leGFtcGxlIjpmYWxzZSwiZmVhdHVyZV9zb25pY19waW5zIjpmYWxzZSwiZmVhdHVyZV9zb25pY192aWRlb19wbGFjZWhvbGRlciI6dHJ1ZSwiZmVhdHVyZV9pYXAxIjpmYWxzZSwiZmVhdHVyZV9pYV9nYSI6ZmFsc2UsImZlYXR1cmVfaWFfaTE4biI6ZmFsc2UsImZlYXR1cmVfaWFfdGhlbWVzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19oYXJkX3JlbG9hZCI6dHJ1ZSwiZmVhdHVyZV9oaWRkZW5fd2tzcF91bmZ1cmxzIjp0cnVlLCJmZWF0dXJlX2d1ZXN0X3drc3BfdW5mdXJscyI6ZmFsc2UsImZlYXR1cmVfd29ya3NwYWNlX3NjaW1fbWFuYWdlbWVudCI6ZmFsc2UsImZlYXR1cmVfdW5pZmllZF9tZW1iZXIiOmZhbHNlLCJmZWF0dXJlX3R1cm5fbXBkbV9ub3RpZnNfb24iOnRydWUsImZlYXR1cmVfZG9sb3JlcyI6ZmFsc2UsImZlYXR1cmVfZGVza3RvcF9mb3JjZV9wcm9kdWN0aW9uX2NoYW5uZWwiOmZhbHNlLCJmZWF0dXJlX2Rlc2t0b3BfbG9nc191cGxvYWQiOmZhbHNlLCJmZWF0dXJlX21hY29zX2Rpc2FibGVfaHciOnRydWUsImZlYXR1cmVfcXVpbGxfY2prX2NvZGVfYmxvY2siOmZhbHNlLCJmZWF0dXJlX2JvdHNfbm90X21lbWJlcnMiOnRydWUsImZlYXR1cmVfd3RhX3N0b3BfY3JlYXRpb24iOnRydWUsImZlYXR1cmVfbTExbl9jaGFubmVsX2RldGFpbHMiOmZhbHNlLCJmZWF0dXJlX2dyYW51bGFyX2JvdF9nYSI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2FjdGlvbnMiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9hY3Rpb25zX2NsaWVudCI6dHJ1ZSwiZmVhdHVyZV9zaG9ydGN1dHNfcHJvbXB0Ijp0cnVlLCJmZWF0dXJlX2FjY2Vzc2libGVfZGlhbG9ncyI6dHJ1ZSwiZmVhdHVyZV9jYWxsc19jbGlwYm9hcmRfYnJvYWRjYXN0aW5nX29wdGluIjp0cnVlLCJmZWF0dXJlX3NjcmVlbl9zaGFyZV9uZWVkc19hZXJvIjpmYWxzZSwiZmVhdHVyZV9zbGlfdHJlbmRpbmdfZGFzaGJvYXJkIjpmYWxzZSwiZmVhdHVyZV9hY2Nlc3NpYmxlX2ZzX2RpYWxvZ3MiOnRydWUsImZlYXR1cmVfY2hhbm5lbF9oZWFkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV90cmFwX2tiX3dpdGhpbl9mc19tb2RhbHMiOnRydWUsImZlYXR1cmVfbW9kZXJuX2ltYWdlX3ZpZXdlciI6dHJ1ZSwiZmVhdHVyZV9lbW9qaV9ieV9pZCI6dHJ1ZSwiZmVhdHVyZV9tY19taWdyYXRpb25fYmFubmVyIjp0cnVlLCJmZWF0dXJlX2FyaWFfYXBwbGljYXRpb25fbW9kZSI6ZmFsc2UsImZlYXR1cmVfdXBkYXRlX211bHRpd29ya3NwYWNlX2NoYW5uZWxfbW9kYWwiOnRydWUsImZlYXR1cmVfbW9kZXJuX3JlcXVlc3Rfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfYXBwX3NldHRpbmdzX2dhbnRyeSI6ZmFsc2UsImZlYXR1cmVfbW9kZXJuX3Byb2ZpbGVfZmxleHBhbmUiOmZhbHNlLCJmZWF0dXJlX3NjZ19jb252ZXJzaW9uX2NoYW5uZWxzIjp0cnVlLCJmZWF0dXJlX3JlZHVjZV91bmV4cGVjdGVkX3VuaW5zdGFsbHMiOnRydWUsImZlYXR1cmVfaWRwX2dyb3VwX3dhcm5pbmciOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfcmV0ZW50aW9uX2FsbG93X292ZXJyaWRlX29uX29yZ19sZXZlbF9jaGFubmVscyI6ZmFsc2UsImZlYXR1cmVfdHJhY2tfdGltZV9zcGVudCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZV9vbmx5Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfd2Vic29ja2V0Ijp0cnVlLCJmZWF0dXJlX2Fubm91bmNlX29ubHlfcHJvbW8iOmZhbHNlLCJmZWF0dXJlX2F0X21lbnRpb25faW52aXRlcyI6dHJ1ZSwiZmVhdHVyZV9jaGFubmVsX2ludml0ZV90b2tlbml6YXRpb24iOnRydWUsImZlYXR1cmVfYmV0dGVyX3Rva2VuaXphdGlvbl93ZWJhcHBfZmFzdF9mb2xsb3ciOnRydWUsImZlYXR1cmVfaW1wb3J0c19jYW5jZWwiOnRydWUsImZlYXR1cmVfZW1haWxfd29ya29iamVjdF91aSI6ZmFsc2UsImZlYXR1cmVfZW1haWxfbm90aWZ5IjpmYWxzZSwiZmVhdHVyZV9lbWFpbF9wcml2YXRlIjp0cnVlLCJmZWF0dXJlX3NpbmdsZV91c2VyX2V4cG9ydCI6ZmFsc2UsImZlYXR1cmVfY2FsZW5kYXJfc2ltcGxlX2FnZW5kYV92aWV3IjpmYWxzZSwiZmVhdHVyZV9hbmFseXRpY3NfZW5hYmxlX2RpdmlzaW9uIjpmYWxzZSwiZmVhdHVyZV9lbnRlcnByaXNlX2FuYWx5dGljc19hcHBzX3RhYiI6ZmFsc2UsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xMV91cGRhdGUiOnRydWUsImZlYXR1cmVfaW5zaWdodHNfYWxsb3dfYWNjZXNzX3RvX2FwcCI6ZmFsc2UsImZlYXR1cmVfaW5zaWdodHNfY29tbXNfaW1wYWN0X21lc3NhZ2Vfc3RhdHMiOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfYWRtaW4iOmZhbHNlLCJmZWF0dXJlX2luc2lnaHRzX21lc3NhZ2VfYWN0aXZpdHlfdXBkYXRlcyI6ZmFsc2UsImZlYXR1cmVfdGVhbV90aGVtZXMiOmZhbHNlLCJmZWF0dXJlX3VuZnVybF9tZXRhZGF0YSI6ZmFsc2UsImZlYXR1cmVfcGx1c19tZW51X2FkZF9hcHBzX2xpbmsiOmZhbHNlLCJmZWF0dXJlX3JlY2VudF9maWxlc19vbW5pcGlja2VyIjpmYWxzZSwiZmVhdHVyZV9ncmFudWxhcl9ib3QiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfZm9yY2VfaW50b19sZWdhY3kiOmZhbHNlLCJmZWF0dXJlX2FkbWluX21vdmVfY2hhbm5lbHNfbWVzc2FnZSI6ZmFsc2UsImZlYXR1cmVfbmV3eHBfZmVfaW52aXRlX21vZGVybiI6dHJ1ZSwiZmVhdHVyZV9tb2Rlcm5pemVfY2hhbm5lbF9jcmVhdGVfbW9kYWwiOnRydWUsImZlYXR1cmVfc29uaWNfcGxhY2Vob2xkZXJfbGFiZWxzIjpmYWxzZSwiZmVhdHVyZV9zb25pY19lc2NfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2Rhbmdlcm91c2x5X2d1YXJkX2lhX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfcGxhdGZvcm1fY2FsbHNfYXBpIjp0cnVlLCJmZWF0dXJlX3RocmVhZGVkX2NhbGxfYmxvY2siOmZhbHNlLCJmZWF0dXJlX3RyaWdnZXJfaWRfc2NvcGUiOmZhbHNlLCJmZWF0dXJlX2xpZmVjeWNsZV9sb2dnaW5nX3BsYW5zX3BhZ2UiOnRydWUsImZlYXR1cmVfc2xhY2tfbWVzc2FnZV9hdHRhY2htZW50X3Rvb2x0aXAiOmZhbHNlLCJmZWF0dXJlX2VudGVycHJpc2VfbW9iaWxlX2RldmljZV9jaGVjayI6dHJ1ZSwiZmVhdHVyZV9uZXd4cDM3ODkiOnRydWUsImZlYXR1cmVfbmV3eHBfMzc5MyI6dHJ1ZSwiZmVhdHVyZV9uZXd4cF80MTAxIjpmYWxzZSwiZmVhdHVyZV9zaGFyZWRfY2hhbm5lbHNfY3VzdG9tX2Vtb2ppc191cmwiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19jdXN0b21fZW1vamlzX3VybF9jbGllbnQiOmZhbHNlLCJmZWF0dXJlX25ld19jb3B5X2Zvcl9pZGVudGl0eV9iYXNpYyI6ZmFsc2UsImZlYXR1cmVfc29uaWNfbGVhdmVfd29ya3NwYWNlX2RpYWxvZyI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxzX25ld191c2VyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsIjp0cnVlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19pbnZpdGVyX3RyaWFsX2JhYnlfdGVhbXMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19zaG9ydGN1dCI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2ludml0ZV9hY2NlcHRhbmNlX2VsaWdpYmlsaXR5X3YyX2FwaSI6ZmFsc2UsImZlYXR1cmVfc2hhcmVkX2NoYW5uZWxfaW52aXRlc192MiI6dHJ1ZSwiZmVhdHVyZV9iZXR0ZXJfaW52aXRlc19jYWxsX3YyX2FwaSI6dHJ1ZSwiZmVhdHVyZV9wYWlkX29uYm9hcmRpbmdfcGFnZXVwZGF0ZSI6dHJ1ZSwiZmVhdHVyZV90cmFjZV93ZWJhcHBfaW5pdCI6dHJ1ZSwiZmVhdHVyZV9hbm5vdW5jZW1lbnRfb25seV9jaGFubmVsX2NvcHlfY2hhbmdlX3RyYW5zbGF0aW9ucyI6dHJ1ZSwiZmVhdHVyZV9zdHJpcGVfY29tcGxldGVseV9kb3duX2Jhbm5lciI6ZmFsc2UsImZlYXR1cmVfc2lkZWJhcl9vbmJvYXJkaW5nX2ludml0ZV9wcm9tcHQiOnRydWUsImZlYXR1cmVfdGFyZ2V0ZWRfcHJvbW90aW9uYWxfZGlzY291bnRzIjp0cnVlLCJmZWF0dXJlX3BsYW5zX3BhZ2VfZnJlZV9jb2x1bW4iOnRydWUsImZlYXR1cmVfc2ZiX2R1bm5pbmdfc3RhdGVtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9jaGFuZ2VfY2hhcmdlX2Zvcl9hbGxfdGVhbXMiOnRydWUsImZlYXR1cmVfbWFsYXlzaWFfdGF4X2VtYWlsIjp0cnVlLCJmZWF0dXJlX21hbGF5c2lhX3RheF9hc3Nlc3NtZW50Ijp0cnVlLCJmZWF0dXJlX2phcGFuX3RheF9iaWxsaW5nX3N0YXRlbWVudHMiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfZW1haWwiOmZhbHNlLCJmZWF0dXJlX3NpbmdhcG9yZV90YXhfYXNzZXNzbWVudCI6ZmFsc2UsImZlYXR1cmVfY2hlY2tvdXRfdjJfcHJvZHVjdF9zd2l0Y2hfY2hlY2tvdXRfcmV2aWV3Ijp0cnVlLCJmZWF0dXJlX2NoZWNrb3V0X3YyX3Byb2R1Y3Rfc3dpdGNoX2NoZWNrb3V0X2Zvcm0iOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfYWNoX3N1cHBvcnQiOnRydWUsImZlYXR1cmVfY2hlY2tvdXRfdjJfbW9iaWxlIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9tb2JpbGVfcGhhc2VfdHdvIjpmYWxzZSwiZmVhdHVyZV9jaGVja291dF92Ml9kaXNhbGxvd19pZV9hY2giOmZhbHNlLCJmZWF0dXJlX2NvbnRleHR1YWxfbWVzc2FnZV9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfZW50ZXJwcmlzZV9hbmFseXRpY3NfMjAxOV9xM19lbmhhbmNlbWVudHMiOmZhbHNlLCJmZWF0dXJlX29yZ19sZXZlbF9hcHBzIjpmYWxzZSwiZmVhdHVyZV9jaGFubmVsX3NlY3Rpb25zIjp0cnVlLCJmZWF0dXJlX2NoYW5uZWxfc2VjdGlvbnNfc2lkZWJhcl9iZWhhdmlvcl91aSI6ZmFsc2UsImZlYXR1cmVfZ2xvYmFsX2FjdGlvbnNfdjAiOmZhbHNlLCJmZWF0dXJlX21lc3NhZ2VfbmF2aWdhdGlvbl9zaG9ydGN1dHMiOnRydWUsImZlYXR1cmVfc2VhcmNoX2xpbWl0X3RlYW1fZmlsdGVyIjp0cnVlLCJmZWF0dXJlX2FuYWx5dGljc19zY2ltX2ZpZWxkc19wYWlkIjpmYWxzZSwiZmVhdHVyZV9vcmdfYXBwc19kYXNoYm9hcmQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfaW52aXRlcyI6ZmFsc2UsImZlYXR1cmVfaGVscF9jZW50ZXJfaW5jaWRlbnRfYmFubmVyIjp0cnVlLCJmZWF0dXJlX3NjZ19lcnJvcl9tZXNzYWdlIjp0cnVlLCJmZWF0dXJlX3NlYXJjaF9yZXN1bHRzX3ZpcnR1YWxpemVkIjpmYWxzZSwiZmVhdHVyZV9zaG93X2VtYWlsX2ZvcndhcmRlZF9ieSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9lbWFpbF9hZGRyZXNzZXMiOmZhbHNlLCJmZWF0dXJlX25ld19lbm91Z2hfcGVyaW9kaWNfcmVsb2FkcyI6ZmFsc2UsImZlYXR1cmVfaWFwMV9kb3dubG9hZHMiOmZhbHNlLCJmZWF0dXJlX2J1aWxkZXJfZGlzcGxheV9leHBvcnRfZm9ybV9jc3YiOnRydWUsImZlYXR1cmVfYnVpbGRlcl93b3JrZmxvd19hY3Rpdml0eSI6ZmFsc2UsImZlYXR1cmVfYnVpbGRlcl9leHBvcnRfZm9ybV9jc3ZfYWRtaW4iOnRydWUsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50Ijp0cnVlLCJmZWF0dXJlX25ld19iaWxsaW5nX2VtYWlsc190cmFuc2xhdGlvbnMiOnRydWUsImZlYXR1cmVfc2ZiX3BkZl9hZGRpdGlvbmFsX3RyYW5zbGF0aW9ucyI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX29uZSI6ZmFsc2UsImZlYXR1cmVfY2hhbm5lbF9tZ210X3BoYXNlX3R3byI6ZmFsc2UsImZlYXR1cmVfaWFfaGNfc2hvd19jb250ZW50X21hbnVhbGx5IjpmYWxzZSwiZmVhdHVyZV9jcmVhdG9yc19sb2dpbl93aXRoX2dvb2dsZSI6ZmFsc2UsImZlYXR1cmVfcmF0ZV9saW1pdF9hcHBfY3JlYXRpb24iOmZhbHNlLCJmZWF0dXJlX2V4dGVybmFsX2FwcF90cmFuc2xhdGlvbnMiOmZhbHNlLCJmZWF0dXJlX3NoYXJlZF9jaGFubmVsc19ob21lX3JlbWluZGVycyI6ZmFsc2UsImZlYXR1cmVfZmVhdF9zYXlfbXlfbmFtZSI6dHJ1ZSwiZmVhdHVyZV9hcHBfZGlyZWN0b3J5X3NlY3VyaXR5X2NvbXBsaWFuY2UiOmZhbHNlLCJmZWF0dXJlX2ludml0ZV9saW5rX2NvcHkiOmZhbHNlLCJmZWF0dXJlX3B1dF9hX21lbnRpb25fb25faXQiOmZhbHNlLCJmZWF0dXJlX2dvb2dsZV9kaXJlY3RvcnlfcGxhY2Vob2xkZXIiOmZhbHNlLCJjbGllbnRfbG9ncyI6eyIwIjp7Im51bWJlcnMiOlsiMCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyIjp7Im51bWJlcnMiOlsiMiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0Ijp7Im51bWJlcnMiOlsiNCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1Ijp7Im51bWJlcnMiOlsiNSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIyMyI6eyJudW1iZXJzIjpbIjIzIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sInNvdW5kcyI6eyJuYW1lIjoic291bmRzIiwibnVtYmVycyI6WyIzNyJdfSwiMzciOnsibmFtZSI6InNvdW5kcyIsIm51bWJlcnMiOlsiMzciXSwidXNlcl9mYWNpbmciOnRydWV9LCI0NyI6eyJudW1iZXJzIjpbIjQ3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ4Ijp7Im51bWJlcnMiOlsiNDgiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiTWVzc2FnZSBIaXN0b3J5Ijp7Im5hbWUiOiJNZXNzYWdlIEhpc3RvcnkiLCJudW1iZXJzIjpbIjU4Il19LCI1OCI6eyJuYW1lIjoiTWVzc2FnZSBIaXN0b3J5IiwibnVtYmVycyI6WyI1OCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjY3Ijp7Im51bWJlcnMiOlsiNjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzIiOnsibnVtYmVycyI6WyI3MiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3MyI6eyJudW1iZXJzIjpbIjczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjgyIjp7Im51bWJlcnMiOlsiODIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiODgiOnsibnVtYmVycyI6WyI4OCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5MSI6eyJudW1iZXJzIjpbIjkxIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjkzIjp7Im51bWJlcnMiOlsiOTMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiOTYiOnsibnVtYmVycyI6WyI5NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI5OSI6eyJudW1iZXJzIjpbIjk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIkNoYW5uZWwgTWFya2luZyAoTVMpIjp7Im5hbWUiOiJDaGFubmVsIE1hcmtpbmcgKE1TKSIsIm51bWJlcnMiOlsiMTQxIl19LCIxNDEiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoTVMpIiwibnVtYmVycyI6WyIxNDEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJDaGFubmVsIE1hcmtpbmcgKENsaWVudCkiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl19LCIxNDIiOnsibmFtZSI6IkNoYW5uZWwgTWFya2luZyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMTQyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSI6eyJuYW1lIjoiQ2xvc2UgT2xkIElNcyAoQ2xpZW50KSIsIm51bWJlcnMiOlsiMjIxIl19LCIyMjEiOnsibmFtZSI6IkNsb3NlIE9sZCBJTXMgKENsaWVudCkiLCJudW1iZXJzIjpbIjIyMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjM2NSI6eyJudW1iZXJzIjpbIjM2NSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCIzODkiOnsibnVtYmVycyI6WyIzODkiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDM4Ijp7Im51bWJlcnMiOlsiNDM4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjQ0NCI6eyJudW1iZXJzIjpbIjQ0NCJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI0ODEiOnsibnVtYmVycyI6WyI0ODEiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNDg4Ijp7Im51bWJlcnMiOlsiNDg4Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjUyOSI6eyJudW1iZXJzIjpbIjUyOSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI1NTIiOnsibnVtYmVycyI6WyI1NTIiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiZGFzaGJvYXJkIjp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdfSwiNjY2Ijp7Im5hbWUiOiJkYXNoYm9hcmQiLCJudW1iZXJzIjpbIjY2NiJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI2NjciOnsibnVtYmVycyI6WyI2NjciXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiNzczIjp7Im51bWJlcnMiOlsiNzczIl0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjc3NyI6eyJudW1iZXJzIjpbIjc3NyJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCI3OTQiOnsibnVtYmVycyI6WyI3OTQiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiQ2xpZW50IFJlc3BvbnNpdmVuZXNzIjp7Im5hbWUiOiJDbGllbnQgUmVzcG9uc2l2ZW5lc3MiLCJ1c2VyX2ZhY2luZyI6ZmFsc2UsIm51bWJlcnMiOlsiODA4Il19LCI4MDgiOnsibmFtZSI6IkNsaWVudCBSZXNwb25zaXZlbmVzcyIsInVzZXJfZmFjaW5nIjpmYWxzZSwibnVtYmVycyI6WyI4MDgiXX0sIk1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciOnsibmFtZSI6Ik1lc3NhZ2UgUGFuZSBTY3JvbGxpbmciLCJudW1iZXJzIjpbIjg4OCJdfSwiODg4Ijp7Im5hbWUiOiJNZXNzYWdlIFBhbmUgU2Nyb2xsaW5nIiwibnVtYmVycyI6WyI4ODgiXSwidXNlcl9mYWNpbmciOnRydWV9LCJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIjp7Im5hbWUiOiJVbnJlYWQgYmFubmVyIGFuZCBkaXZpZGVyIiwibnVtYmVycyI6WyI5OTkiXX0sIjk5OSI6eyJuYW1lIjoiVW5yZWFkIGJhbm5lciBhbmQgZGl2aWRlciIsIm51bWJlcnMiOlsiOTk5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMTAwMCI6eyJudW1iZXJzIjpbIjEwMDAiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiRHVwbGljYXRlIGJhZGdlcyAoZGVza3RvcCBhcHAgaWNvbnMpIjp7Im5hbWUiOiJEdXBsaWNhdGUgYmFkZ2VzIChkZXNrdG9wIGFwcCBpY29ucykiLCJudW1iZXJzIjpbIjE3MDEiXX0sIjE3MDEiOnsibmFtZSI6IkR1cGxpY2F0ZSBiYWRnZXMgKGRlc2t0b3AgYXBwIGljb25zKSIsIm51bWJlcnMiOlsiMTcwMSJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIk1lbWJlcnMiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXX0sIjE5NzUiOnsibmFtZSI6Ik1lbWJlcnMiLCJudW1iZXJzIjpbIjE5NzUiXSwidXNlcl9mYWNpbmciOnRydWV9LCJsYXp5IGxvYWRpbmciOnsibmFtZSI6ImxhenkgbG9hZGluZyIsIm51bWJlcnMiOlsiMTk4OSJdfSwiMTk4OSI6eyJuYW1lIjoibGF6eSBsb2FkaW5nIiwibnVtYmVycyI6WyIxOTg5Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwidGhpbl9jaGFubmVsX21lbWJlcnNoaXAiOnsibmFtZSI6InRoaW5fY2hhbm5lbF9tZW1iZXJzaGlwIiwibnVtYmVycyI6WyIxOTkwIl19LCIxOTkwIjp7Im5hbWUiOiJ0aGluX2NoYW5uZWxfbWVtYmVyc2hpcCIsIm51bWJlcnMiOlsiMTk5MCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sInN0YXRzIjp7Im5hbWUiOiJzdGF0cyIsIm51bWJlcnMiOlsiMTk5MSJdfSwiMTk5MSI6eyJuYW1lIjoic3RhdHMiLCJudW1iZXJzIjpbIjE5OTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCJtcyI6eyJuYW1lIjoibXMiLCJudW1iZXJzIjpbIjE5OTYiXX0sIjE5OTYiOnsibmFtZSI6Im1zIiwibnVtYmVycyI6WyIxOTk2Il0sInVzZXJfZmFjaW5nIjp0cnVlfSwic2hhcmVkX2NoYW5uZWxzX2Nvbm5lY3Rpb24iOnsibmFtZSI6InNoYXJlZF9jaGFubmVsc19jb25uZWN0aW9uIiwibnVtYmVycyI6WyIxOTk5Il19LCIxOTk5Ijp7Im5hbWUiOiJzaGFyZWRfY2hhbm5lbHNfY29ubmVjdGlvbiIsIm51bWJlcnMiOlsiMTk5OSJdLCJ1c2VyX2ZhY2luZyI6ZmFsc2V9LCJkbmQiOnsibmFtZSI6ImRuZCIsIm51bWJlcnMiOlsiMjAwMiJdfSwiMjAwMiI6eyJuYW1lIjoiZG5kIiwibnVtYmVycyI6WyIyMDAyIl0sInVzZXJfZmFjaW5nIjp0cnVlfSwiMjAwMyI6eyJudW1iZXJzIjpbIjIwMDMiXSwidXNlcl9mYWNpbmciOmZhbHNlfSwiVGhyZWFkcyI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdfSwiMjAwNCI6eyJuYW1lIjoiVGhyZWFkcyIsIm51bWJlcnMiOlsiMjAwNCJdLCJ1c2VyX2ZhY2luZyI6dHJ1ZX0sIjIwMDUiOnsibnVtYmVycyI6WyIyMDA1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlJlYWN0aW9ucyI6eyJuYW1lIjoiUmVhY3Rpb25zIiwibnVtYmVycyI6WyIyMDA2Il19LCIyMDA2Ijp7Im5hbWUiOiJSZWFjdGlvbnMiLCJudW1iZXJzIjpbIjIwMDYiXSwidXNlcl9mYWNpbmciOnRydWV9LCJUU1NTQi5mb2N1c1RhYkFuZFN3aXRjaFRvQ2hhbm5lbCI6eyJuYW1lIjoiVFNTU0IuZm9jdXNUYWJBbmRTd2l0Y2hUb0NoYW5uZWwiLCJudW1iZXJzIjpbIjIwMDciXX0sIjIwMDciOnsibmFtZSI6IlRTU1NCLmZvY3VzVGFiQW5kU3dpdGNoVG9DaGFubmVsIiwibnVtYmVycyI6WyIyMDA3Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIlByZXNlbmNlIERldGVjdGlvbiI6eyJuYW1lIjoiUHJlc2VuY2UgRGV0ZWN0aW9uIiwibnVtYmVycyI6WyIyMDE3Il19LCIyMDE3Ijp7Im5hbWUiOiJQcmVzZW5jZSBEZXRlY3Rpb24iLCJudW1iZXJzIjpbIjIwMTciXSwidXNlcl9mYWNpbmciOnRydWV9LCJtY19zaWJzIjp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il19LCI5OTk5Ijp7Im5hbWUiOiJtY19zaWJzIiwibnVtYmVycyI6WyI5OTk5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIk1lbWJlciBzZWFyY2hpbmciOnsibmFtZSI6Ik1lbWJlciBzZWFyY2hpbmciLCJudW1iZXJzIjpbIjkwMjExIl19LCI5MDIxMSI6eyJuYW1lIjoiTWVtYmVyIHNlYXJjaGluZyIsIm51bWJlcnMiOlsiOTAyMTEiXSwidXNlcl9mYWNpbmciOnRydWV9LCI5ODc2NSI6eyJudW1iZXJzIjpbIjk4NzY1Il0sInVzZXJfZmFjaW5nIjpmYWxzZX0sIjg2NzUzMDkiOnsibnVtYmVycyI6WyI4Njc1MzA5Il0sInVzZXJfZmFjaW5nIjpmYWxzZX19fTsKCWJvb3RfZGF0YS5zdGFydF9tcyA9IERhdGUubm93KCk7Cjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3JvbGx1cC1jb3JlX3JlcXVpcmVkX2xpYnMuZjM5MTU3ZDRlOTEzOTBkNGNjZGIubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvbW9kZXJuLnZlbmRvci5jMjBiZjhlMmE1N2JkNDcxODFkNC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9hcHBsaWNhdGlvbi5hZTNjNDFjZmQwZDdkOGM4Y2MxNC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtY29yZV9yZXF1aXJlZF90cy43MDk1ODNjMDAzNjgwYTMwYjMyNS5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9UUy53ZWIuMzQ3M2UxOTE5N2M2NDI2MjQxZTQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvc2lnbmFscy5iNGE4MjJiMTljZWE3ZTllYTg2NC5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2Euc2xhY2stZWRnZS5jb20vYnYxLTgtOGNhY2RhMi9yb2xsdXAtY29yZV93ZWIuNzAwZmMzODU3NzZlMWExNjhmZTQubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvcm9sbHVwLXNlY29uZGFyeV9hX3JlcXVpcmVkLjU5MzNmNWJhZTE1M2Y0ZTU3Y2ZmLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3JvbGx1cC1zZWNvbmRhcnlfYl9yZXF1aXJlZC5lNThkZDQ5ZjBiYzBjMjhhNjBjZi5taW4uanMiIG9ubG9hZD0id2luZG93Ll9jZG4gPyBfY2RuLm9rKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBvbmVycm9yPSJ3aW5kb3cuX2NkbiA/IF9jZG4uZmFpbGVkKHRoaXMsIGFyZ3VtZW50cykgOiBudWxsIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+VFMuYm9vdChib290X2RhdGEpOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL1RTLndlYi5fNDA0LmFkMmYwNThjNTcxNGNkNGFmOGNhLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vYS5zbGFjay1lZGdlLmNvbS9idjEtOC04Y2FjZGEyL3N0aWNreV9uYXYuNWI5MmMwODM4YWUwZTFhYzBhMTIubWluLmpzIiBvbmxvYWQ9IndpbmRvdy5fY2RuID8gX2Nkbi5vayh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgb25lcnJvcj0id2luZG93Ll9jZG4gPyBfY2RuLmZhaWxlZCh0aGlzLCBhcmd1bWVudHMpIDogbnVsbCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9hLnNsYWNrLWVkZ2UuY29tL2J2MS04LThjYWNkYTIvZm9vdGVyLmFkODQ4YmU0MTUyM2VkZDVmNDkyLm1pbi5qcyIgb25sb2FkPSJ3aW5kb3cuX2NkbiA/IF9jZG4ub2sodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIG9uZXJyb3I9IndpbmRvdy5fY2RuID8gX2Nkbi5mYWlsZWQodGhpcywgYXJndW1lbnRzKSA6IG51bGwiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5ib290X2RhdGEubm9fbG9naW4gPSB0cnVlOzwvc2NyaXB0PjxzdHlsZT4uY29sb3JfOWY2OWU3Om5vdCgubnVjKSB7Y29sb3I6IzlGNjlFNzt9LmNvbG9yXzRiYmUyZTpub3QoLm51Yykge2NvbG9yOiM0QkJFMkU7fS5jb2xvcl9lNzM5MmQ6bm90KC5udWMpIHtjb2xvcjojRTczOTJEO30uY29sb3JfM2M5ODlmOm5vdCgubnVjKSB7Y29sb3I6IzNDOTg5Rjt9LmNvbG9yXzY3NGIxYjpub3QoLm51Yykge2NvbG9yOiM2NzRCMUI7fS5jb2xvcl9lOTY2OTk6bm90KC5udWMpIHtjb2xvcjojRTk2Njk5O30uY29sb3JfZTBhNzI5Om5vdCgubnVjKSB7Y29sb3I6I0UwQTcyOTt9LmNvbG9yXzY4NGI2Yzpub3QoLm51Yykge2NvbG9yOiM2ODRCNkM7fS5jb2xvcl81Yjg5ZDU6bm90KC5udWMpIHtjb2xvcjojNUI4OUQ1O30uY29sb3JfMmI2ODM2Om5vdCgubnVjKSB7Y29sb3I6IzJCNjgzNjt9LmNvbG9yXzk5YTk0OTpub3QoLm51Yykge2NvbG9yOiM5OUE5NDk7fS5jb2xvcl9kZjNkYzA6bm90KC5udWMpIHtjb2xvcjojREYzREMwO30uY29sb3JfNGNjMDkxOm5vdCgubnVjKSB7Y29sb3I6IzRDQzA5MTt9LmNvbG9yXzliM2I0NTpub3QoLm51Yykge2NvbG9yOiM5QjNCNDU7fS5jb2xvcl9kNTgyNDc6bm90KC5udWMpIHtjb2xvcjojRDU4MjQ3O30uY29sb3JfYmI4NmI3Om5vdCgubnVjKSB7Y29sb3I6I0JCODZCNzt9LmNvbG9yXzVhNDU5Mjpub3QoLm51Yykge2NvbG9yOiM1QTQ1OTI7fS5jb2xvcl9kYjMxNTA6bm90KC5udWMpIHtjb2xvcjojREIzMTUwO30uY29sb3JfMjM1ZTViOm5vdCgubnVjKSB7Y29sb3I6IzIzNUU1Qjt9LmNvbG9yXzllMzk5Nzpub3QoLm51Yykge2NvbG9yOiM5RTM5OTc7fS5jb2xvcl81M2I3NTk6bm90KC5udWMpIHtjb2xvcjojNTNCNzU5O30uY29sb3JfYzM4NmRmOm5vdCgubnVjKSB7Y29sb3I6I0MzODZERjt9LmNvbG9yXzM4NWE4Njpub3QoLm51Yykge2NvbG9yOiMzODVBODY7fS5jb2xvcl9hNjMwMjQ6bm90KC5udWMpIHtjb2xvcjojQTYzMDI0O30uY29sb3JfNTg3MGRkOm5vdCgubnVjKSB7Y29sb3I6IzU4NzBERDt9LmNvbG9yX2VhMjk3Nzpub3QoLm51Yykge2NvbG9yOiNFQTI5Nzc7fS5jb2xvcl81MGEwY2Y6bm90KC5udWMpIHtjb2xvcjojNTBBMENGO30uY29sb3JfZDU1YWVmOm5vdCgubnVjKSB7Y29sb3I6I0Q1NUFFRjt9LmNvbG9yX2QxNzA3ZDpub3QoLm51Yykge2NvbG9yOiNEMTcwN0Q7fS5jb2xvcl80Mzc2MWI6bm90KC5udWMpIHtjb2xvcjojNDM3NjFCO30uY29sb3JfZTA2YjU2Om5vdCgubnVjKSB7Y29sb3I6I0UwNkI1Njt9LmNvbG9yXzhmNGEyYjpub3QoLm51Yykge2NvbG9yOiM4RjRBMkI7fS5jb2xvcl85MDJkNTk6bm90KC5udWMpIHtjb2xvcjojOTAyRDU5O30uY29sb3JfZGU1ZjI0Om5vdCgubnVjKSB7Y29sb3I6I0RFNUYyNDt9LmNvbG9yX2EyYTVkYzpub3QoLm51Yykge2NvbG9yOiNBMkE1REM7fS5jb2xvcl84MjczMjc6bm90KC5udWMpIHtjb2xvcjojODI3MzI3O30uY29sb3JfM2M4YzY5Om5vdCgubnVjKSB7Y29sb3I6IzNDOEM2OTt9LmNvbG9yXzhkNGI4NDpub3QoLm51Yykge2NvbG9yOiM4RDRCODQ7fS5jb2xvcl84NGIyMmY6bm90KC5udWMpIHtjb2xvcjojODRCMjJGO30uY29sb3JfNGVjMGQ2Om5vdCgubnVjKSB7Y29sb3I6IzRFQzBENjt9LmNvbG9yX2UyM2Y5OTpub3QoLm51Yykge2NvbG9yOiNFMjNGOTk7fS5jb2xvcl9lNDc1ZGY6bm90KC5udWMpIHtjb2xvcjojRTQ3NURGO30uY29sb3JfNjE5YTRmOm5vdCgubnVjKSB7Y29sb3I6IzYxOUE0Rjt9LmNvbG9yX2E3MmY3OTpub3QoLm51Yykge2NvbG9yOiNBNzJGNzk7fS5jb2xvcl83ZDQxNGM6bm90KC5udWMpIHtjb2xvcjojN0Q0MTRDO30uY29sb3JfYWJhNzI3Om5vdCgubnVjKSB7Y29sb3I6I0FCQTcyNzt9LmNvbG9yXzk2NWQxYjpub3QoLm51Yykge2NvbG9yOiM5NjVEMUI7fS5jb2xvcl80ZDVlMjY6bm90KC5udWMpIHtjb2xvcjojNEQ1RTI2O30uY29sb3JfZGQ4NTI3Om5vdCgubnVjKSB7Y29sb3I6I0REODUyNzt9LmNvbG9yX2JkOTMzNjpub3QoLm51Yykge2NvbG9yOiNCRDkzMzY7fS5jb2xvcl9lODVkNzI6bm90KC5udWMpIHtjb2xvcjojRTg1RDcyO30uY29sb3JfZGM3ZGJiOm5vdCgubnVjKSB7Y29sb3I6I0RDN0RCQjt9LmNvbG9yX2JjMzY2Mzpub3QoLm51Yykge2NvbG9yOiNCQzM2NjM7fS5jb2xvcl85ZDhlZWU6bm90KC5udWMpIHtjb2xvcjojOUQ4RUVFO30uY29sb3JfODQ2OWJjOm5vdCgubnVjKSB7Y29sb3I6Izg0NjlCQzt9LmNvbG9yXzczNzY5ZDpub3QoLm51Yykge2NvbG9yOiM3Mzc2OUQ7fS5jb2xvcl9iMTRjYmM6bm90KC5udWMpIHtjb2xvcjojQjE0Q0JDO308L3N0eWxlPgoKPCEtLSBzbGFjay13d3ctaGh2bS1tYWluLWlhZC1yODhsLyAyMDIwLTAzLTE2IDA0OjM1OjQ1LyB2YWE1YjRlMTE1YWFhYzA1MWVjYTk5OTYzMzUzODVkZmJlOTlmYzY4NC8gQjpIIC0tPgoKPC9ib2R5PjwvaHRtbD4= + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUT7ESHPU","team_id":"TV617KKKP","name":"pchelina.kate","deleted":false,"color":"e7392d","real_name":"Ekaterina","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"hello","phone":"","skype":"","real_name":"Ekaterina","real_name_normalized":"Ekaterina","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge00c4c4b571","first_name":"Ekaterina","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584084018},{"id":"UUUGBHPDH","team_id":"TV617KKKP","name":"katie.vandervoort","deleted":false,"color":"9f69e7","real_name":"katie.vandervoort","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katie.vandervoort","real_name_normalized":"katie.vandervoort","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g05c27faff1c","image_24":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584320106},{"id":"UUUL7E4HZ","team_id":"TV617KKKP","name":"katieslackapiproject","deleted":false,"color":"674b1b","real_name":"katieslackapiproject","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katieslackapiproject","real_name_normalized":"katieslackapiproject","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g5d44bcb8226","api_app_id":"AV8A54MK8","always_active":false,"bot_id":"BUW222YSD","image_24":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583869411},{"id":"UUWHGFP25","team_id":"TV617KKKP","name":"time_kate_api_project","deleted":false,"color":"e0a729","real_name":"time_kate_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_kate_api_project","real_name_normalized":"time_kate_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge2f423a0037","api_app_id":"AV665NBEY","always_active":true,"bot_id":"BV8S561GE","first_name":"time_kate_api_project","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584214923},{"id":"UV5GT0PBN","team_id":"TV617KKKP","name":"oliviamulholland94","deleted":false,"color":"4bbe2e","real_name":"Liv + Mulholland","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Liv + Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584370176,"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Mon, 16 Mar 2020 11:35:46 GMT + recorded_at: Mon, 16 Mar 2020 14:49:36 GMT - request: method: get uri: https://slack.com/api/users.list?token= @@ -158,11 +109,11 @@ http_interactions: Connection: - keep-alive Date: - - Mon, 16 Mar 2020 11:35:46 GMT + - Mon, 16 Mar 2020 14:49:38 GMT Server: - Apache X-Slack-Req-Id: - - b3443f1012b4a3e1b3000b39eb75c803 + - b12c00eb232069c10a2401b271aba047 X-Oauth-Scopes: - identify,channels:read,users:read,chat:write X-Accepted-Oauth-Scopes: @@ -193,15 +144,15 @@ http_interactions: Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-y4g4 + - haproxy-www-4usq X-Cache: - Miss from cloudfront Via: - - 1.1 0732be5515ffeda639cfe5f22fb04df6.cloudfront.net (CloudFront) + - 1.1 b48dedcc55e63f14261aa92cf2d61522.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C2 + - SEA19-C1 X-Amz-Cf-Id: - - WzMvXP9B7A1Yi3cvAslku915QUusn8MsKqlBIYSOOKnVpiduZPEsqg== + - 7Ug-aAkiGlRfILbLaFNw-ON-VPIHa8YZEt1_wdpXc3c2GMscqWzxqA== body: encoding: ASCII-8BIT string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific @@ -214,12 +165,12 @@ http_interactions: Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584358546,"response_metadata":{"next_cursor":""}}' + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584370178,"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Mon, 16 Mar 2020 11:35:46 GMT + recorded_at: Mon, 16 Mar 2020 14:49:38 GMT - request: method: get - uri: https://api.slack.com/api/users.list?token= + uri: https://slack.com/api/bogus.endpoint?token= body: encoding: US-ASCII string: '' @@ -238,67 +189,47 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '1809' + - '80' Connection: - keep-alive Date: - - Mon, 16 Mar 2020 12:02:58 GMT + - Mon, 16 Mar 2020 14:49:38 GMT Server: - Apache - X-Slack-Req-Id: - - 97411e7ad3216607b7449f23190d0bd2 - X-Oauth-Scopes: - - identify,channels:read,users:read,chat:write - X-Accepted-Oauth-Scopes: - - users:read - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer X-Slack-Backend: - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding X-Content-Type-Options: - nosniff - Expires: - - Mon, 26 Jul 1997 05:00:00 GMT - Cache-Control: - - private, no-cache, no-store, must-revalidate + X-Slack-Req-Id: + - c4ed8587335a03e023fb529bef785401 X-Xss-Protection: - '0' - Vary: - - Accept-Encoding - Pragma: - - no-cache - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Referrer-Policy: - - no-referrer Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-chlv + - haproxy-www-14kb X-Cache: - Miss from cloudfront Via: - - 1.1 814362d7589b223cc8927cc821d97136.cloudfront.net (CloudFront) + - 1.1 8275ae3e861a04a309ec8b466cdc4a26.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C2 + - SEA19-C1 X-Amz-Cf-Id: - - blJmtiuRTrQqJjUGt283mt8iHKZf9OF4vxpkAf-ShHgqW2jcv9OnCw== + - Udnt4FzrFvmrcQSuqOhG88yQRAXPYuw6hIQBolN0iXildVLUV770DA== body: encoding: ASCII-8BIT - string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUT7ESHPU","team_id":"TV617KKKP","name":"pchelina.kate","deleted":false,"color":"e7392d","real_name":"Ekaterina","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"hello","phone":"","skype":"","real_name":"Ekaterina","real_name_normalized":"Ekaterina","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge00c4c4b571","first_name":"Ekaterina","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584084018},{"id":"UUUGBHPDH","team_id":"TV617KKKP","name":"katie.vandervoort","deleted":false,"color":"9f69e7","real_name":"katie.vandervoort","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katie.vandervoort","real_name_normalized":"katie.vandervoort","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g05c27faff1c","image_24":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584320106},{"id":"UUUL7E4HZ","team_id":"TV617KKKP","name":"katieslackapiproject","deleted":false,"color":"674b1b","real_name":"katieslackapiproject","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katieslackapiproject","real_name_normalized":"katieslackapiproject","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g5d44bcb8226","api_app_id":"AV8A54MK8","always_active":false,"bot_id":"BUW222YSD","image_24":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583869411},{"id":"UUWHGFP25","team_id":"TV617KKKP","name":"time_kate_api_project","deleted":false,"color":"e0a729","real_name":"time_kate_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_kate_api_project","real_name_normalized":"time_kate_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge2f423a0037","api_app_id":"AV665NBEY","always_active":true,"bot_id":"BV8S561GE","first_name":"time_kate_api_project","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584214923},{"id":"UV5GT0PBN","team_id":"TV617KKKP","name":"oliviamulholland94","deleted":false,"color":"4bbe2e","real_name":"Liv - Mulholland","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Liv - Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584360178,"response_metadata":{"next_cursor":""}}' + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.endpoint"}' http_version: null - recorded_at: Mon, 16 Mar 2020 12:02:59 GMT + recorded_at: Mon, 16 Mar 2020 14:49:38 GMT recorded_with: VCR 5.1.0 diff --git a/test/cassettes/workspace-data.yml b/test/cassettes/workspace-data.yml new file mode 100644 index 00000000..379528b7 --- /dev/null +++ b/test/cassettes/workspace-data.yml @@ -0,0 +1,168 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '1809' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 14:49:36 GMT + Server: + - Apache + X-Slack-Req-Id: + - 7bd99eb5d3c8193db7b7fa10511caa89 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - r + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-xfo9 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 112d82578d402a38d8d02e8b857617e1.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - otsr0I5m06R4MNFVEUeiumVttzoajDcweaw3UeCCGr22_GNmN8UrXA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV617KKKP","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUT7ESHPU","team_id":"TV617KKKP","name":"pchelina.kate","deleted":false,"color":"e7392d","real_name":"Ekaterina","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"hello","phone":"","skype":"","real_name":"Ekaterina","real_name_normalized":"Ekaterina","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge00c4c4b571","first_name":"Ekaterina","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e00c4c4b5711b9dde7578be443cbbac4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584084018},{"id":"UUUGBHPDH","team_id":"TV617KKKP","name":"katie.vandervoort","deleted":false,"color":"9f69e7","real_name":"katie.vandervoort","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katie.vandervoort","real_name_normalized":"katie.vandervoort","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g05c27faff1c","image_24":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/05c27faff1ced480969f574b1c34940d.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0007-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1584320106},{"id":"UUUL7E4HZ","team_id":"TV617KKKP","name":"katieslackapiproject","deleted":false,"color":"674b1b","real_name":"katieslackapiproject","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"katieslackapiproject","real_name_normalized":"katieslackapiproject","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g5d44bcb8226","api_app_id":"AV8A54MK8","always_active":false,"bot_id":"BUW222YSD","image_24":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/5d44bcb8226b5cb96467fa6f3178cefd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583869411},{"id":"UUWHGFP25","team_id":"TV617KKKP","name":"time_kate_api_project","deleted":false,"color":"e0a729","real_name":"time_kate_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_kate_api_project","real_name_normalized":"time_kate_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge2f423a0037","api_app_id":"AV665NBEY","always_active":true,"bot_id":"BV8S561GE","first_name":"time_kate_api_project","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e2f423a0037f2046c42a0b9e2f2bd8fc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584214923},{"id":"UV5GT0PBN","team_id":"TV617KKKP","name":"oliviamulholland94","deleted":false,"color":"4bbe2e","real_name":"Liv + Mulholland","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Liv + Mulholland","real_name_normalized":"Liv Mulholland","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g887cc50d61b","image_24":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/887cc50d61be79a5ceb6e587d9fccbc4.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0014-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583871017,"has_2fa":false},{"id":"UV5KULM28","team_id":"TV617KKKP","name":"lucky.seattle.monkey","deleted":false,"color":"3c989f","real_name":"Charlotte","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Charlotte","real_name_normalized":"Charlotte","display_name":"Charlotte","display_name_normalized":"Charlotte","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g7847ff4c074","image_24":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/7847ff4c07422eed7349937685f7a643.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583869293},{"id":"UV8K51L30","team_id":"TV617KKKP","name":"space_charlotte_api_p","deleted":false,"color":"e96699","real_name":"space_charlotte_api_p","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_charlotte_api_p","real_name_normalized":"space_charlotte_api_p","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03c8e8249fa","api_app_id":"AV8K0D2AJ","always_active":false,"bot_id":"BUUUM6U59","image_24":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03c8e8249fada9835861ce96e126d4f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0021-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583878260},{"id":"UVDJNMTC4","team_id":"TV617KKKP","name":"space_olivia_api_proj","deleted":false,"color":"684b6c","real_name":"space_olivia_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_olivia_api_proj","real_name_normalized":"space_olivia_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g68b3c5d6959","api_app_id":"A01028HT4FQ","always_active":false,"bot_id":"B0101U26D1V","image_24":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/68b3c5d695971b6cef412319bbd04385.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TV617KKKP"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584147555}],"cache_ts":1584370176,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 14:49:36 GMT +- request: + method: get + uri: https://api.slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '811' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 14:49:36 GMT + Server: + - Apache + X-Slack-Req-Id: + - 85aac9562b02994482bec4848b7218cf + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-hitr + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d6b180eb367f7de26d67a9f3901b96a6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 5aBOvbapQMjHruAVgTvUxjJsIBKTAAlJn5auR8ey_J49BCy49CsTZw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CUT6XEYR0","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":5},{"id":"CUT6ZCFGS","name":"rand_channel2","is_channel":true,"is_group":false,"is_im":false,"created":1583865776,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"rand_channel2","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CUUGBK77D","name":"slack-api-project","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api-project","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":3},{"id":"CV1D0TP50","name":"test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584165197,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test_channel","is_shared":false,"parent_conversation":null,"creator":"UUT7ESHPU","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"for + testing","creator":"UUT7ESHPU","last_set":1584165198},"previous_names":[],"num_members":1},{"id":"CV60NTK4G","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865723,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUUGBHPDH","last_set":1583865723},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UUUGBHPDH","last_set":1583865723},"previous_names":[],"num_members":4},{"id":"CV8KPL19U","name":"katiestestchannel","is_channel":true,"is_group":false,"is_im":false,"created":1583879041,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"katiestestchannel","is_shared":false,"parent_conversation":null,"creator":"UUUGBHPDH","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"C01050CDZC6","name":"olivias_spam","is_channel":true,"is_group":false,"is_im":false,"created":1584365923,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"olivias_spam","is_shared":false,"parent_conversation":null,"creator":"UV5GT0PBN","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV617KKKP"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 14:49:36 GMT +recorded_with: VCR 5.1.0 diff --git a/test/recipient_test.rb b/test/recipient_test.rb index 03b9026c..ad321d2b 100644 --- a/test/recipient_test.rb +++ b/test/recipient_test.rb @@ -6,7 +6,7 @@ @new_recipient = Recipient.new(slack_id: "C01050CDZC6", name: "name") end - it "initializes recipient with name and slack_id" do + it "initializes recipient" do expect(@new_recipient).must_be_kind_of Recipient expect(@new_recipient.name).must_equal "name" expect(@new_recipient.slack_id).must_equal "C01050CDZC6" diff --git a/test/workspace_test.rb b/test/workspace_test.rb index 246292d2..e010354d 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -4,8 +4,41 @@ require_relative '../lib/workspace' describe "Workspace" do - - + before do + VCR.use_cassette("workspace-data") do + @new_workspace = Workspace.new + end + end + + describe "initializes workspace" do + it "creates instance of workspace" do + expect(@new_workspace).must_be_kind_of Workspace + end + + it "has array of users and channels" do + expect(@new_workspace.channels).must_be_kind_of Array + expect(@new_workspace.users).must_be_kind_of Array + expect(@new_workspace.selected).must_equal nil + end + end + + describe "select_user and select_channel methods" do + it "selects user based off user input" do + @new_workspace.select_user("OLIVIAMULHOLLAND94") + + expect(@selected).must_be_kind_of User + expect(@selected.name).must_equal "oliviamulholland94" + expect(@selected.slack_id).must_equal "UV5GT0PBN" + end + + it "selects channel based off user input" do + @new_workspace.select_channel("RANDOM") + + expect(@selected).must_be_kind_of Channel + expect(@selected.name).must_equal "random" + expect(@selected.slack_id).must_equal "CV60NTK4G" + end + end From c9168800a5612846f09928db79bacfad9fc6ec10 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 08:00:02 -0700 Subject: [PATCH 10/11] Tests now pass --- lib/workspace.rb | 3 +++ test/workspace_test.rb | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index c4c939fe..51ae07d3 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -22,6 +22,9 @@ def select_user(user_input) end end + if @selected == nil + raise ArgumentError.new "The channel name or user id you entered is incorrect." + end end def select_channel(user_input) diff --git a/test/workspace_test.rb b/test/workspace_test.rb index e010354d..d2c5f413 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -26,17 +26,17 @@ it "selects user based off user input" do @new_workspace.select_user("OLIVIAMULHOLLAND94") - expect(@selected).must_be_kind_of User - expect(@selected.name).must_equal "oliviamulholland94" - expect(@selected.slack_id).must_equal "UV5GT0PBN" + expect(@new_workspace.selected).must_be_kind_of User + expect(@new_workspace.selected.name).must_equal "oliviamulholland94" + expect(@new_workspace.selected.slack_id).must_equal "UV5GT0PBN" end it "selects channel based off user input" do @new_workspace.select_channel("RANDOM") - expect(@selected).must_be_kind_of Channel - expect(@selected.name).must_equal "random" - expect(@selected.slack_id).must_equal "CV60NTK4G" + expect(@new_workspace.selected).must_be_kind_of Channel + expect(@new_workspace.selected.name).must_equal "random" + expect(@new_workspace.selected.slack_id).must_equal "CV60NTK4G" end end From a0cd698b2a772902d6fe900b02bec1b401705cc5 Mon Sep 17 00:00:00 2001 From: mulhoo Date: Mon, 16 Mar 2020 08:42:45 -0700 Subject: [PATCH 11/11] All put one passes, still unsure why tables dont print --- lib/workspace.rb | 5 +---- test/workspace_test.rb | 13 ++++++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index 51ae07d3..6399f348 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -21,10 +21,6 @@ def select_user(user_input) return @selected end end - - if @selected == nil - raise ArgumentError.new "The channel name or user id you entered is incorrect." - end end def select_channel(user_input) @@ -59,3 +55,4 @@ def send_message end + diff --git a/test/workspace_test.rb b/test/workspace_test.rb index d2c5f413..7b5fa5e9 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -40,9 +40,12 @@ end end - - - - - + describe "show_details" do + it "returns selected user details" do + deets = @new_workspace.select_user("OLIVIAMULHOLLAND94").show_details + + expect(deets).must_be_kind_of String + expect(deets).must_equal "The current recipient is: oliviamulholland94, UV5GT0PBN." + end + end end \ No newline at end of file